Handy_Cao 1 vuosi sitten
vanhempi
commit
2a50f2118f

+ 4 - 3
oem/tss/locales/extras/en-US.json

@@ -35,7 +35,7 @@
     "quote": {
         "bid": "BuyPrice",
         "ask": "SellPrice",
-        "selllprice": "Price",
+        "selllprice": "SellPrice",
         "holdvolume": "HoldVolume",
         "deposit": "Deposit",
         "orderbuy": "Reservation",
@@ -58,7 +58,8 @@
             "buyorsell": "Choice",
             "title": "Order",
             "deposit": "Deposit",
-            "title1": "Pricing & Listing"
+            "title1": "Pricing & Listing",
+            "title2": "Full-Purchase"
         },
         "spot": {
             "buyprice": "BuyPrice",
@@ -102,7 +103,7 @@
         }
     },
     "position": {
-        "goodscode": "GoodsCode",
+        "goodscode": "GoodsCode",
         "transfer": {
             "transferqty":"ReservationQty"
         },

+ 3 - 2
oem/tss/locales/extras/th-TH.json

@@ -58,7 +58,8 @@
             "buyorsell": "เลือก",
             "title": "สั่งซื้อ",
             "deposit": "เงินทุน",
-            "title1": "การจองสินค้าสปอต"
+            "title1": "การจองสินค้าสปอต",
+            "title2": "ซื้อทั้งหมด"
         },
         "spot": {
             "buyprice": "ราคาจอง",
@@ -102,7 +103,7 @@
         }
     },
     "position": {
-        "goodscode": "รหัสสินค้า",
+        "goodscode": "รหัสสินค้า",
         "transfer": {
             "transferqty":"ปริมาณการยกเลิก"
         },

+ 3 - 2
oem/tss/locales/extras/zh-CN.json

@@ -58,7 +58,8 @@
             "buyorsell": "选择",
             "title": "下单",
             "deposit": "履约准备金",
-            "title1": "现货预订"
+            "title1": "现货预订",
+            "title2": "全款购买"
         },
         "spot": {
             "buyprice": "预订价",
@@ -102,7 +103,7 @@
         }
     },
     "position": {
-        "goodscode": "商品代码",
+        "goodscode": "商品代码",
         "transfer": {
             "transferqty":"退订量"
         },

+ 3 - 2
oem/tss/locales/extras/zh-TW.json

@@ -58,7 +58,8 @@
             "buyorsell": "選擇",
             "title": "下單",
             "deposit": "履約準備金",
-            "title1": "現貨預訂"
+            "title1": "現貨預訂",
+            "title2": "全款購買"
         },
         "spot": {
             "buyprice": "預訂價",
@@ -102,7 +103,7 @@
         }
     },
     "position": {
-        "goodscode": "商品代碼",
+        "goodscode": "商品代碼",
         "transfer": {
             "transferqty":"退訂量"
         },

+ 2 - 0
public/locales/en-US.json

@@ -219,6 +219,7 @@
         "sellusername": "SellUserName",
         "bid": "BidPrice",
         "ask": "SellPrice",
+        "selllprice": "SellPrice",
         "time": "Time",
         "vol": "VOL",
         "holdvolume": "Hold Volume",
@@ -368,6 +369,7 @@
         "pricing": {
             "title": "Trade",
             "title1": "Listing & Pricing",
+            "title2": "Full-Purchase",
             "ordercancel": "OrderCancel",
             "position": "Position",
             "holdlb": "HoldLB",

+ 2 - 0
public/locales/th-TH.json

@@ -220,6 +220,7 @@
         "sellusername": "ผู้ขาย",
         "bid": "ซื้อ",
         "ask": "ขาย",
+        "selllprice": "ราคาขาย",
         "time": "เวลา",
         "vol": "ปริมาณปัจจุบัน",
         "holdvolume": "ปริมาณคงค้าง",
@@ -369,6 +370,7 @@
         "pricing": {
             "title": "สั่งซื้อสินค้า",
             "title1": "ลดราคา",
+            "title2": "ซื้อทั้งหมด",
             "ordercancel": "คำสั่ง ที่ได้รับการออก",
             "position": "สรุปรวมทั้งหมด",
             "holdlb": "รายละเอียด",

+ 2 - 0
public/locales/zh-CN.json

@@ -220,6 +220,7 @@
         "sellusername": "销售方",
         "bid": "买价",
         "ask": "卖价",
+        "selllprice": "销售价",
         "time": "时间",
         "vol": "现量",
         "holdvolume": "持仓量",
@@ -369,6 +370,7 @@
         "pricing": {
             "title": "交易下单",
             "title1": "挂牌点价",
+            "title2": "全款购买",
             "ordercancel": "订单可撤",
             "position": "持仓汇总",
             "holdlb": "持仓明细",

+ 2 - 0
public/locales/zh-TW.json

@@ -220,6 +220,7 @@
         "sellusername": "銷售方",
         "bid": "買價",
         "ask": "賣價",
+        "selllprice": "銷售價",
         "time": "時間",
         "vol": "現量",
         "holdvolume": "持倉量",
@@ -369,6 +370,7 @@
         "pricing": {
             "title": "交易下單",
             "title1": "掛牌點價",
+            "title2": "全款購買",
             "ordercancel": "訂單可撤",
             "position": "持倉彙總",
             "holdlb": "持倉明細",

+ 2 - 2
src/constants/client.ts

@@ -174,8 +174,8 @@ export enum ETradeMode {
     TRADEMODE_TJMD = 46,
     /// 廣陈优品-仓单预售
     TRADEMODE_CDYS = 47,
-    /// 全款
-    TRADEMODE_FULLPAYMENT = 53,
+    /// 全款商城
+    TRADEMODE_MALL = 53,
     /// 千海金-铂金宝
     TRADEMODE_QHJ_BJB = 69,
     /// 海商报业商城

+ 8 - 0
src/constants/unit.ts

@@ -17,4 +17,12 @@ export function getGoodsUnitList() {
 export function getGoodsUnitName(value?: number) {
     const enums = getGoodsUnitList()
     return getEnumTypeName(enums, value)
+}
+
+/**
+ * 获取国际手机区号
+ * @returns 
+ */
+export function getCountryCodeList() {
+    return getEnumTypeList('countrycode')
 }

+ 7 - 7
src/packages/mobile/components/modules/quote/price/index.vue

@@ -60,7 +60,7 @@
                             {{ handleNumberValue(quote.highest.toFixed(quote.decimalplace)) }}
                         </span>
                     </li>
-                    <li v-if="quote.trademode != ETradeMode.TRADEMODE_MARKETMAKE && quote.trademode != ETradeMode.TRADEMODE_FULLPAYMENT">
+                    <li v-if="quote.trademode != ETradeMode.TRADEMODE_MARKETMAKE && quote.trademode != ETradeMode.TRADEMODE_MALL">
                         <span>{{ $t('quote.limitup') }}</span>
                         <span class="g-price-up">
                             {{ handleNumberValue(quote.limitup.toFixed(quote.decimalplace)) }}
@@ -78,7 +78,7 @@
                             {{ handleNumberValue(quote.lowest.toFixed(quote.decimalplace)) }}
                         </span>
                     </li>
-                    <li v-if="quote.trademode != ETradeMode.TRADEMODE_MARKETMAKE && quote.trademode != ETradeMode.TRADEMODE_FULLPAYMENT">
+                    <li v-if="quote.trademode != ETradeMode.TRADEMODE_MARKETMAKE && quote.trademode != ETradeMode.TRADEMODE_MALL">
                         <span>{{ $t('quote.limitdown') }}</span>
                         <span class="g-price-down">
                             {{ handleNumberValue(quote.limitdown.toFixed(quote.decimalplace)) }}
@@ -93,11 +93,11 @@
             </Divider>
             <div class="app-quote-price__more" v-if="quote">
                 <ul v-show="showMore">
-                    <li v-if="quote.trademode != ETradeMode.TRADEMODE_MARKETMAKE && quote.trademode != ETradeMode.TRADEMODE_FULLPAYMENT">
+                    <li v-if="quote.trademode != ETradeMode.TRADEMODE_MARKETMAKE && quote.trademode != ETradeMode.TRADEMODE_MALL">
                         <span>{{ $t('quote.bidvolume') }}</span>
                         <span>{{ handleNumberValue(quote.bidvolume) }}</span>
                     </li>
-                    <li v-if="quote.trademode != ETradeMode.TRADEMODE_MARKETMAKE && quote.trademode != ETradeMode.TRADEMODE_FULLPAYMENT">
+                    <li v-if="quote.trademode != ETradeMode.TRADEMODE_MARKETMAKE && quote.trademode != ETradeMode.TRADEMODE_MALL">
                         <span>{{ $t('quote.askvolume') }}</span>
                         <span>{{ handleNumberValue(quote.askvolume) }}</span>
                     </li>
@@ -109,7 +109,7 @@
                         <span>{{ $t('quote.ask') }}</span>
                         <span :class="quote.askColor">{{ handleNumberValue(quote.ask.toFixed(quote.decimalplace)) }}</span>
                     </li>
-                    <li v-if="quote.trademode != ETradeMode.TRADEMODE_MARKETMAKE && quote.trademode != ETradeMode.TRADEMODE_FULLPAYMENT">
+                    <li v-if="quote.trademode != ETradeMode.TRADEMODE_MARKETMAKE && quote.trademode != ETradeMode.TRADEMODE_MALL">
                         <span>{{ $t('quote.averageprice') }}</span>
                         <span :class="quote.averagepriceColor">{{
                             handleNumberValue(quote.averageprice.toFixed(quote.decimalplace)) }}</span>
@@ -118,11 +118,11 @@
                         <span>{{ $t('quote.amplitude') }}</span>
                         <span>{{ parsePercent(quote.amplitude) }}</span>
                     </li>
-                    <li v-if="quote.trademode != ETradeMode.TRADEMODE_MARKETMAKE && quote.trademode != ETradeMode.TRADEMODE_FULLPAYMENT">
+                    <li v-if="quote.trademode != ETradeMode.TRADEMODE_MARKETMAKE && quote.trademode != ETradeMode.TRADEMODE_MALL">
                         <span>{{ $t('quote.totalvolume') }}</span>
                         <span :class="quote.averagepriceColor">{{ changeUnit(quote.totalvolume) }}</span>
                     </li>
-                    <li v-if="quote.trademode != ETradeMode.TRADEMODE_MARKETMAKE && quote.trademode != ETradeMode.TRADEMODE_FULLPAYMENT">
+                    <li v-if="quote.trademode != ETradeMode.TRADEMODE_MARKETMAKE && quote.trademode != ETradeMode.TRADEMODE_MALL">
                         <span>{{ $t('quote.totalturnover') }}</span>
                         <span>{{ changeUnit(quote.totalturnover) }}</span>
                     </li>

+ 10 - 10
src/packages/pc/components/layouts/header/index.vue

@@ -103,16 +103,16 @@ onMounted(() => {
     })
 
     // 是否需要弹出提示信息
-    const showLoginAlert = globalStore.getSystemInfo('showLoginAlert')
-    if (showLoginAlert) {
-        ElMessageBox.confirm(
-            t('user.login.tips7'),
-            t('common.tips'),
-            {
-                showCancelButton: false
-            }
-        )
-    }
+    // const showLoginAlert = globalStore.getSystemInfo('showLoginAlert')
+    // if (showLoginAlert) {
+    //     ElMessageBox.confirm(
+    //         t('user.login.tips7'),
+    //         t('common.tips'),
+    //         {
+    //             showCancelButton: false
+    //         }
+    //     )
+    // }
 })
 </script>
 

+ 18 - 2
src/packages/pc/components/modules/quote/forex/index.vue

@@ -2,7 +2,7 @@
     <div class="app-quote-forex"  v-if="quote?.marketid != 99201">
         <ul class="top">
             <template v-for="(item, index) in sellList" :key="index">
-                <li v-if="quote?.trademode != 10" 
+                <li v-if="![10, 53].includes(quote?.trademode ?? 0)" 
                     :class="active === 'sell_' + index ? 'is-active' : ''" @click="onPriceClick(BuyOrSell.Sell, index)" >
                     <span>{{ item.label }}</span>
                     <span :class="item.color">{{ handleNumberValue(item.price.toFixed(quote?.decimalplace)) }}</span>
@@ -16,7 +16,7 @@
         </ul>
         <ul class="bottom" v-if="quote">
             <template v-for="(item, index) in buyList" :key="index">
-                <li v-if="quote?.trademode != 10" 
+                <li v-if="![10, 53].includes(quote?.trademode ?? 0)" 
                     :class="active === 'buy_' + index ? 'is-active' : ''" @click="onPriceClick(BuyOrSell.Buy, index)">
                     <span>{{ item.label }}</span>
                     <span :class="item.color">{{ handleNumberValue(item.price.toFixed(quote?.decimalplace)) }}</span>
@@ -67,6 +67,10 @@ const buyList = computed(() => {
             ]
             return result.slice(0, item.quotegear || 1)
         }
+    } else if (item?.trademode === ETradeMode.TRADEMODE_MALL) {
+        if (item) {
+            return []
+        }
     } else {
         if (item) {
             const result = [
@@ -122,6 +126,18 @@ const sellList = computed(() => {
             ]
             return result.slice(0, item.quotegear || 1)
         }
+    } else if (item?.trademode === ETradeMode.TRADEMODE_MALL) {
+        if (item) {
+            const result = [
+                {
+                    label: t('quote.selllprice'),
+                    price: item.ask,
+                    qty: item.askvolume,
+                    color: item.askColor,
+                }
+            ]
+            return result.slice(0, item.quotegear || 1)
+        }
     } else {
         if (item) {
             const result = [

+ 1 - 1
src/packages/pc/views/market/trade/mall/index.vue

@@ -9,7 +9,7 @@
                 </h3>
                 <section @click="onRowClick(item)">
                     <dl>
-                        <dt>{{ t('quote.ask') }}</dt>
+                        <dt>{{ t('quote.selllprice') }}</dt>
                         <dd :class="item.askColor">{{ handleNumberValue(formatDecimal(item.ask, item.decimalplace)) }}
                         </dd>
                     </dl>

+ 18 - 6
src/packages/pc/views/market/trade/pricing/list/listing/index.vue

@@ -4,7 +4,7 @@
             <Forex v-bind="{ goodsCode: selectedGoods.goodscode }" @price-click="onPriceClick" />
         </div>
         <el-scrollbar class="pricing-listing__form" always>
-            <h4 class="header-title">{{ t('quote.pricing.title1') }}</h4>
+            <h4 class="header-title">{{ selectedGoods?.trademode === 10 ? t('quote.pricing.title1') : t('quote.pricing.title2') }}</h4>
             <el-form ref="formRef" class="el-form--vertical" label-width="60px" :show-message="false" :model="formData"
                 :rules="formRules">
                 <el-form-item prop="GoodsID" :label="t('quote.pricing.goods')">
@@ -13,13 +13,13 @@
                             v-for="(item, index) in marketGoodsList" :key="index" />
                     </el-select>
                 </el-form-item>
-                <el-form-item prop="BuyOrSell" :label="t('quote.pricing.buyorsell')">
+                <el-form-item v-if="selectedGoods?.trademode === 10" prop="BuyOrSell" :label="t('quote.pricing.buyorsell')">
                     <el-radio-group v-model="formData.BuyOrSell">
                         <el-radio v-for="(item, index) in getBuyOrSellList()" :key="index" :label="item.label"
                             :value="item.value" />
                     </el-radio-group>
                 </el-form-item>
-                <el-form-item prop="PriceMode" :label="t('quote.pricing.pricemode')">
+                <el-form-item v-if="selectedGoods?.trademode === 10" prop="PriceMode" :label="t('quote.pricing.pricemode')">
                     <el-radio-group v-model="formData.PriceMode">
                         <el-radio v-for="(item, index) in getPricemode2List()" :key="index" :label="item.label"
                             :value="item.value" />
@@ -58,8 +58,8 @@
                 <el-form-item class="footer-btnbar">
                     <template v-if="formData.BuyOrSell === BuyOrSell.Buy">
                         <el-button ref="submitRef" type="danger" :disabled="!selectedGoodsId || !formData.OrderQty"
-                            @click="onBeforeSubmit(BuildType.Open)" v-if="!selectedGoods?.iscannotbuy">{{
-                            t('operation.order') }}</el-button>
+                            @click="onBeforeSubmit(BuildType.Open)" v-if="!selectedGoods?.iscannotbuy">{{ selectedGoods?.trademode != 53 ?
+                            t('operation.order') : t('operation.buynow') }}</el-button>
                         <!-- <el-button type="primary"
                             :disabled="!formData.OrderQty || !sellQty || (formData.OrderQty > sellQty)"
                             @click="onBeforeSubmit(BuildType.Close)" v-if="!isTrademode16 && riskcontrolmode != 1">
@@ -79,17 +79,19 @@
                     </template>
                 </el-form-item>
             </el-form>
+            <app-address v-model:show="showAddress" @change="onAddressChange" />
         </el-scrollbar>
     </div>
 </template>
 
 <script lang="ts" setup>
-import { shallowRef, computed, watch, onMounted } from 'vue'
+import { shallowRef, computed, watch, onMounted, ref } from 'vue'
 import { ElMessage, ElMessageBox, FormInstance, FormRules } from 'element-plus'
 import { BuyOrSell, getBuyOrSellList, getPricemode2List, PriceMode, BuildType } from '@/constants/order'
 import { useOrder } from '@/business/trade'
 import { useFuturesStore, useSettingStore, useAccountStore, i18n, useUserStore } from '@/stores'
 import Forex from '@pc/components/modules/quote/forex/index.vue'
+import AppAddress from '@pc/components/modules/address/index.vue'
 
 const accountStore = useAccountStore()
 const settingStore = useSettingStore()
@@ -101,6 +103,9 @@ const { selectedGoodsId, selectedGoods, marketGoodsList } = futuresStore.$toRefs
 const { formData, formSubmit, loading } = useOrder()
 // const positionStore = usePositionStore()
 const formRef = shallowRef<FormInstance>()
+
+const showAddress = ref(false)
+
 // 数量步长列表
 const qtyStepList = computed(() => {
     const system_1009 = Number(getSystemParamValue('1009')) ?? 1
@@ -166,6 +171,13 @@ const { decimalplace = 0.0 } = selectedGoods.value ?? {}
 const quoteminunit = selectedGoods.value?.quoteminunit ?? 1.0
 const decimalvalue = Math.pow(10.0, -decimalplace) * (quoteminunit == 0 ? 1 : quoteminunit)
 
+// 选择地址
+const onAddressChange = (item: Model.UserReceiveInfoRsp) => {
+    const contact = `${item.receivername} ${item.phonenum}`
+    const address = `${item.provincename} ${item.cityname} ${item.districtname} ${item.address}`
+    formData.AddrInfo = [contact, address].join('\n')
+}
+
 const formRules: FormRules = {
     OrderPrice: [{
         required: true,

+ 1 - 1
src/packages/tss/views/order/delivery/components/offline/Index.vue

@@ -21,7 +21,7 @@
                     <div class="right">
                         <ul>
                             <li>
-                                <span>{{ $t('position.goodscode') }}</span>
+                                <span>{{ $t('position.goodscode') }}</span>
                                 <span>{{ item.goodscode }}</span>
                             </li>
                             <li>

+ 1 - 1
src/packages/tss/views/order/delivery/components/spot/Index.vue

@@ -21,7 +21,7 @@
                     <div class="right">
                         <ul>
                             <li>
-                                <span>{{ $t('position.goodscode') }}</span>
+                                <span>{{ $t('position.goodscode') }}</span>
                                 <span>{{ item.goodscode }}</span>
                             </li>
                             <li>

+ 1 - 1
src/packages/tss/views/order/list/fullpayment/Index.vue

@@ -21,7 +21,7 @@
                     <div class="right">
                         <ul>
                             <li>
-                                <span>{{ $t('position.goodscode') }}</span>
+                                <span>{{ $t('position.goodscode') }}</span>
                                 <span>{{ item.goodscode }}</span>
                             </li>
                             <li>

+ 1 - 1
src/packages/tss/views/order/position/Index.vue

@@ -32,7 +32,7 @@
                         <div class="right">
                             <ul>
                                 <li>
-                                    <span>{{ $t('position.goodscode') }}</span>
+                                    <span>{{ $t('position.goodscode') }}</span>
                                     <span>{{ item.goodsCode }}</span>
                                 </li>
                                 <li>

+ 1 - 1
src/stores/modules/enum.ts

@@ -14,7 +14,7 @@ export interface EnumType {
     bankmappedvalue?: string
 }
 
-const enumKeys = ['confirmStatus', 'executetype', 'currency', 'deliveryOrderStatus', 'operatetypesearch', 'deliveryPayMode', 'applystatus', 'deliveryStatus', 'operateType', 'WRPresaleStatus', 'clientType', 'stepStatus', 'scoreConfigType', 'GZBSCPayStatus', 'gt_kksjdw', 'performanceStatus', 'handlestatus', 'performanceType', 'accountBusinessCode', 'certificatetype', 'signstatus', 'thjOrderStatus', 'THJDeliveryMode', 'goodsunit', 'WROutInApplyStatus2', 'THJTransferStatus', 'WRTradeOrderStatus', 'THJMarket', 'THJProfitRoleType', 'appointmentModelOut', 'orderstatus', 'Pricemode2', 'buildtype', 'listingselecttype', 'certypeperson', 'runstatus', 'traderstatus', 'transferapplystatus', 'ePayFlag'] as const
+const enumKeys = ['confirmStatus', 'countrycode', 'executetype', 'currency', 'deliveryOrderStatus', 'operatetypesearch', 'deliveryPayMode', 'applystatus', 'deliveryStatus', 'operateType', 'WRPresaleStatus', 'clientType', 'stepStatus', 'scoreConfigType', 'GZBSCPayStatus', 'gt_kksjdw', 'performanceStatus', 'handlestatus', 'performanceType', 'accountBusinessCode', 'certificatetype', 'signstatus', 'thjOrderStatus', 'THJDeliveryMode', 'goodsunit', 'WROutInApplyStatus2', 'THJTransferStatus', 'WRTradeOrderStatus', 'THJMarket', 'THJProfitRoleType', 'appointmentModelOut', 'orderstatus', 'Pricemode2', 'buildtype', 'listingselecttype', 'certypeperson', 'runstatus', 'traderstatus', 'transferapplystatus', 'ePayFlag'] as const
 
 const enumMap = new Map<typeof enumKeys[number], ShallowRef<Model.EnumRsp[]>>()