Procházet zdrojové kódy

Merge branch 'v20' of http://192.168.31.240:3000/MTP2.0_New/MTP20_WEB_GLOBAL into v20

li.shaoyi před 1 rokem
rodič
revize
5b8d5ac8fa
29 změnil soubory, kde provedl 365 přidání a 262 odebrání
  1. 58 15
      public/locales/en-US.json
  2. 51 8
      public/locales/zh-CN.json
  3. 5 5
      src/constants/order.ts
  4. 7 2
      src/packages/mobile/views/account/authresult/Index.vue
  5. 4 2
      src/packages/mobile/views/account/certification/Index.vue
  6. 1 1
      src/packages/mobile/views/user/forget/Index.vue
  7. 43 19
      src/packages/pc/components/layouts/header/components/setting/index.vue
  8. 0 16
      src/packages/pc/components/layouts/header/index.vue
  9. 1 1
      src/packages/pc/components/modules/goods-detail/index.vue
  10. 1 1
      src/packages/pc/components/modules/goods-detail/order/delisting/index.vue
  11. 13 12
      src/packages/pc/components/modules/goods-detail/order/index.vue
  12. 14 13
      src/packages/pc/components/modules/quote/forex/index.vue
  13. 1 1
      src/packages/pc/router/dynamicRouter.ts
  14. 10 10
      src/packages/pc/views/account/holddeposit/components/deposit/index.vue
  15. 12 12
      src/packages/pc/views/auth/forget/index.vue
  16. 11 11
      src/packages/pc/views/auth/login/index.vue
  17. 1 1
      src/packages/pc/views/footer/capital/summary/deposit/index.vue
  18. 9 9
      src/packages/pc/views/footer/presell/transferposition/delivery/index.vue
  19. 1 1
      src/packages/pc/views/footer/swap/position/close/index.vue
  20. 3 3
      src/packages/pc/views/market/trade/goods/list/listing/index.vue
  21. 9 9
      src/packages/pc/views/market/trade/presell/ballot/detail/index.vue
  22. 9 9
      src/packages/pc/views/market/trade/presell/transfer/listing/index.vue
  23. 43 43
      src/packages/pc/views/market/trade/pricing/list/listing/index.vue
  24. 16 16
      src/packages/pc/views/market/trade/spot/listing/index.vue
  25. 10 10
      src/packages/pc/views/market/trade/spot/order/delisting/index.vue
  26. 5 5
      src/packages/pc/views/market/trade/spot/order/detail/index.vue
  27. 14 14
      src/packages/pc/views/market/trade/spot/order/index.vue
  28. 12 12
      src/packages/pc/views/market/trade/spot/order/listing/index.vue
  29. 1 1
      src/packages/pc/views/market/trade/swap/detail/listing/index.vue

+ 58 - 15
public/locales/en-US.json

@@ -31,7 +31,8 @@
         "yes": "Yes",
         "no": "No",
         "submitfailure": "Submit Failure:",
-        "requestfailure": "Request failed, click Reload"
+        "requestfailure": "Request failed, click Reload",
+        "tips1": "Will it be listed immediately?"
     },
     "tabbar": {
         "home": "Home",
@@ -149,7 +150,7 @@
         "averageprice": "Average",
         "spec": "Spec",
         "last": "Last",
-        "rise": "Up Down",
+        "rise": "UpDown",
         "change": "Change",
         "opened": "Opened",
         "presettle": "Presettle",
@@ -160,6 +161,8 @@
         "limitdown": "LimitDown",
         "bidvolume": "BidVolume",
         "askvolume": "AskVolume",
+        "buyusername": "BuyUserName",
+        "sellusername": "SellUserName",
         "bid": "BidPrice",
         "ask": "AskPrice",
         "time": "Time",
@@ -174,10 +177,10 @@
         "enableQty": "Estimate Buy Qty",
         "deposit": "Deposit",
         "avaiableMoney": "Avaiable Funds",
-        "orderbuy": "OrderBuy",
-        "transferbuy": "TransferBuy",
-        "ordersell": "OrderSell",
-        "transfersell": "TransferSell",
+        "orderbuy": "O-Buy",
+        "transferbuy": "T-Buy",
+        "ordersell": "O-Sell",
+        "transfersell": "T-Sell",
         "buy": "Buy",
         "selll": "Sell",
         "bidlisting": "Bid Orders",
@@ -192,10 +195,13 @@
         "ask3": "Ask3",
         "ask4": "Ask4",
         "ask5": "Ask5",
+        "marketstatus": "Market Status:",
+        "unopening": "UnOpening",
         "ballot": {
             "title": "Subscribe",
             "refprice": "RefPrice",
             "attachmenturl": "Image",
+            "sellname": "SellName:",
             "starttime": "Start:",
             "endtime": "End:",
             "starttime1": "StartTime",
@@ -205,9 +211,9 @@
             "issueprice": "IssuePrice",
             "goodsdetail": "Goods Detail",
             "winningthelottery": "Winning The Lottery",
-            "totalqty": "Total Qty:",
+            "totalqty": "TotalQty:",
             "earnest": "Earnest",
-            "transferdepositratio": "Transfer Deposit Ratio",
+            "transferdepositratio": "TransferDepositRatio",
             "subscribe": "I Want Subscribe",
             "orderQty": "OrderQty",
             "maxbuyqty": "MaxBuyQty",
@@ -305,10 +311,12 @@
         },
         "pricing": {
             "title": "Trade",
+            "title1": "Listing & Pricing",
+            "goods": "Goods",
             "buyorsell": "BuyOrSell",
             "pricemode": "PriceMode",
             "orderqty": "OrderQty",
-            "marketmaxsub": "MarketMaxSub",
+            "marketmaxsub": "MaxSub",
             "price": "OrderPrice",
             "enableQty": "Estimate Buy Qty",
             "deposit": "Deposit",
@@ -363,7 +371,8 @@
             "tips10": "Please select a category",
             "tips11": "Please select the product",
             "tips12": "Please select warehouse",
-            "tips13": "Factor of commodities"
+            "tips13": "Factor of commodities",
+            "tips14": "Please choice performance template"
         },
         "transfer": {
             "title1": "Transfer Detail",
@@ -1087,9 +1096,28 @@
             "addinvoice": "Add Invoice"
         },
         "setting": {
+            "title": "Quick Settings",
+            "tradesettings": "Trade Settings",
+            "tipssetting": "Tips Settings",
+            "others": "Others",
             "language": "Language",
             "chinese": "Chinese",
-            "english": "English"
+            "english": "English",
+            "orderBuyOrSell": "OrderBuyOrSell",
+            "orderQtyIsEmpty": "OrderQtyIsEmpty",
+            "priceFocusType": "PriceFocusType",
+            "showOrderEnableQty": "ShowOrderEnableQty",
+            "orderFocusType": "OrderFocusType",
+            "showOrderDialog": "ShowOrderDialog",
+            "showOrderCancelDialog": "ShowOrderCancelDialog",
+            "showOrderFailMessage": "ShowOrderFailMessage",
+            "price": "Price",
+            "qty": "Qty",
+            "last": "Last",
+            "counterparty": "Counterparty",
+            "realtimelast": "RealTime Last",
+            "realtimecounterparty": "RealTime Counterparty",
+            "tips": "Do you want to revert to the default Settings?"
         }
     },
     "banksign": {
@@ -1208,6 +1236,7 @@
     "user": {
         "login": {
             "username": "UserName",
+            "username1": "UserName/LoginCode/Mobile",
             "password": "PassWord",
             "login": "Login",
             "forgetpassword": "Forget Password?",
@@ -1222,14 +1251,20 @@
             "loading": "loading...",
             "tips1": "For the security of your account, please change the password!",
             "logining": "logining...",
-            "tips2": "Please agree to the terms of use first"
+            "logining1": "logining...",
+            "tips2": "Please agree to the terms of use first",
+            "tips3": "Login failed:",
+            "tips4": "Offline notification",
+            "tips5": "The account has been logged out",
+            "tips6": "Switching language changes require a re-login to take effect!"
         },
         "register": {
             "title": "User Register",
+            "title1": "Scan code registration",
             "mobile": "Mobile",
             "vcode": "SMS Code",
             "sendagain": "Send Again",
-            "getsmscode": "Get SMS Code",
+            "getsmscode": "SMS Code",
             "freeregister": "Register Free",
             "logipwd": "Login Pwd",
             "confirmpwd": "Confirm Pwd",
@@ -1256,10 +1291,18 @@
             "mobile": "Mobile",
             "vcode": "SMS Code",
             "sendagain": "Send Again",
-            "getsmscode": "Get SMS Code",
+            "getsmscode": "SMS Code",
             "newpwd": "New Pwd",
             "confirmpwd": "Conform Pwd",
-            "resetpwd": "Reset Pwd"
+            "resetpwd": "Reset Pwd",
+            "tips1": "Please enter mobile phone",
+            "tips2": "Please enter SMS verification code",
+            "tips3": "Please enter new password",
+            "tips4": "Please enter confirmation password",
+            "tips5": "The password must be any combination of two characters with a minimum length of 6 characters",
+            "tips6": "The new password is inconsistent with the confirmation password",
+            "tips7": "Failure to send",
+            "tips8": "Password reset successfully, please log in again."
         },
         "cancel": {
             "title": "Cancel Service",

+ 51 - 8
public/locales/zh-CN.json

@@ -32,7 +32,8 @@
         "yes": "是",
         "no": "否",
         "submitfailure": "提交失败:",
-        "requestfailure": "请求失败,点击重新加载"
+        "requestfailure": "请求失败,点击重新加载",
+        "tips1": "是否立即挂牌?"
     },
     "tabbar": {
         "home": "首页",
@@ -161,6 +162,8 @@
         "limitdown": "跌停",
         "bidvolume": "买量",
         "askvolume": "卖量",
+        "buyusername": "购买方",
+        "sellusername": "销售方",
         "bid": "买价",
         "ask": "卖价",
         "time": "时间",
@@ -193,12 +196,15 @@
         "ask3": "卖三",
         "ask4": "卖四",
         "ask5": "卖五",
+        "marketstatus": "市场状态:",
+        "unopening": "未开市",
         "ballot": {
             "title": "认购",
             "attachmenturl": "图片",
             "refprice": "预售价",
             "starttime": "开始:",
             "endtime": "结束:",
+            "sellname": "销售方:",
             "starttime1": "开始时间",
             "endtime1": "结束时间",
             "historypresale": "发售历史",
@@ -306,10 +312,12 @@
         },
         "pricing": {
             "title": "交易下单",
+            "title1": "挂牌点价",
+            "goods": "商品",
             "buyorsell": "方向",
-            "pricemode": "价格方式",
+            "pricemode": "方式",
             "orderqty": "数量",
-            "marketmaxsub": "允许成交范围",
+            "marketmaxsub": "点差",
             "price": "价格",
             "enableQty": "预估可订立量",
             "deposit": "预扣保证金",
@@ -365,7 +373,8 @@
             "tips10": "请选择品类",
             "tips11": "请选择商品",
             "tips12": "请选择仓库",
-            "tips13": "商品要素"
+            "tips13": "商品要素",
+            "tips14": "请选择履约方式"
         },
         "transfer": {
             "title1": "转让详情",
@@ -1091,9 +1100,28 @@
             "addinvoice": "新增发票"
         },
         "setting": {
+            "title": "快捷设置",
+            "tradesettings": "下单设置",
+            "tipssetting": "提示设置",
+            "others": "其他设置",
             "language": "语言设置",
             "chinese": "简体中文",
-            "english": "英文"
+            "english": "英文",
+            "orderBuyOrSell": "默认买卖方向",
+            "orderQtyIsEmpty": "下单后清空数量",
+            "priceFocusType": "下单价格类型",
+            "showOrderEnableQty": "显示预估订立量",
+            "orderFocusType": "下单后默认焦点",
+            "showOrderDialog": "下单确认提示框",
+            "showOrderCancelDialog": "撤单确认提示框",
+            "showOrderFailMessage": "下单失败消息",
+            "price": "价格",
+            "qty": "数量",
+            "last": "现价",
+            "counterparty": "对手价",
+            "realtimelast": "实时现价",
+            "realtimecounterparty": "实时对手价",
+            "tips": "是否恢复到默认设置?"
         }
     },
     "banksign": {
@@ -1213,9 +1241,10 @@
     "user": {
         "login": {
             "username": "用户名",
+            "username1": "用户名/账号/手机号",
             "password": "密码",
             "login": "登录",
-            "forgetpassword": "忘记密码",
+            "forgetpassword": "忘记密码?",
             "rulesyszc": "《隐私政策》",
             "register": "用户注册",
             "ruleszcxy": "《用户注册协议》",
@@ -1227,10 +1256,16 @@
             "loading": "加载中...",
             "tips1": "为了您的账户安全,请修改密码!",
             "logining": "登录中...",
-            "tips2": "请先同意使用条款"
+            "logining1": "正在登录",
+            "tips2": "请先同意使用条款",
+            "tips3": "登录失败:",
+            "tips4": "下线通知",
+            "tips5": "账号已登出",
+            "tips6": "切换语言更改需要重新登录才生效!"
         },
         "register": {
             "title": "用户注册",
+            "title1": "扫码注册",
             "mobile": "手机号码",
             "vcode": "短信验证码",
             "sendagain": "重新发送",
@@ -1264,7 +1299,15 @@
             "getsmscode": "获取验证码",
             "newpwd": "新密码",
             "confirmpwd": "确认密码",
-            "resetpwd": "重置密码"
+            "resetpwd": "重置密码",
+            "tips1": "请输入手机号码",
+            "tips2": "请输入短信验证码",
+            "tips3": "请输入新密码",
+            "tips4": "请输入确认密码",
+            "tips5": "密码必须是任意两种字符组合,长度最少6位",
+            "tips6": "新密码和确认密码不一致",
+            "tips7": "发送失败",
+            "tips8": "密码重置成功,请重新登录。"
         },
         "cancel": {
             "title": "注销服务",

+ 5 - 5
src/constants/order.ts

@@ -1,4 +1,4 @@
-import { useEnumStore } from '@/stores'
+import { useEnumStore, i18n } from '@/stores'
 
 const { getEnumTypeList, getEnumTypeName } = useEnumStore()
 
@@ -75,8 +75,8 @@ export enum BillResult {
  */
 export function getBuyOrSellList() {
     return [
-        { label: '买入', value: BuyOrSell.Buy },
-        { label: '卖出', value: BuyOrSell.Sell },
+        { label: i18n.global.t('quote.buy'), value: BuyOrSell.Buy },
+        { label: i18n.global.t('quote.selll'), value: BuyOrSell.Sell },
     ]
 }
 
@@ -102,8 +102,8 @@ export function getTradeStatusList() {
  */
 export function getWrTradeTypeList() {
     return [
-        { label: '挂牌', value: WrTradeType.Liting },
-        { label: '摘牌', value: WrTradeType.DeListing },
+        { label: i18n.global.t('operation.listing'), value: WrTradeType.Liting },
+        { label: i18n.global.t('operation.delisting'), value: WrTradeType.DeListing },
     ]
 }
 

+ 7 - 2
src/packages/mobile/views/account/authresult/Index.vue

@@ -14,7 +14,7 @@
                 <Cell :title="$t('user.authentication.cardbackphoto')" v-if="showCardBackPhoto === '1'">
                     <Image fit="contain" :src="getFileUrl(userInfo.cardbackphotourl)" width="100" height="100" />
                 </Cell>
-                <Cell :title="$t('user.authentication.halfbodyphoto')" v-if="showHalfBodyPhoto === '1'">
+                <Cell :title="halfBodyPhotoTitle" v-if="showHalfBodyPhoto === '1'">
                     <Image fit="contain" :src="getFileUrl(userInfo.halfbodyphotourl)" width="100" height="100" />
                 </Cell>
                 <Cell :title="$t('user.authentication.authstatus')" :value="getAuthStatusName(2)" />
@@ -33,10 +33,14 @@ import { useRequest } from '@/hooks/request'
 import { getCertificateTypeCodeName } from '@/constants/account'
 import { getFileUrl } from '@/filters'
 import { getWskhOpenAccountConfigs } from '@/services/api/account'
+import { i18n } from "@/stores";
+
+const { t } = i18n.global
 
 const userInfo = shallowRef<Model.UserInfo>()
 const showHalfBodyPhoto = shallowRef('0')
 const showCardBackPhoto = shallowRef('0')
+const halfBodyPhotoTitle = shallowRef(t('user.authentication.halfbodyphoto'))
 
 /// 查询托管银行信息
 useRequest(queryWrDraftUserInfo, {
@@ -49,12 +53,13 @@ useRequest(queryWrDraftUserInfo, {
 // 获取网上开户配置
 useRequest(getWskhOpenAccountConfigs, {
     params: {
-        configs: '53,54'
+        configs: '53,54,78'
     },
     onSuccess: (res) => {
         /// 是否显示半身照和 证件背面照
         showHalfBodyPhoto.value = res.data.filter(e => { e.configid === 54})[0].configvalue ?? '0'
         showCardBackPhoto.value = res.data.filter(e => { e.configid === 53})[0].configvalue ?? '0'
+        halfBodyPhotoTitle.value = res.data.filter(e => { e.configid === 78})[0].configvalue ?? t('user.authentication.halfbodyphoto')
     }
 })
 

+ 4 - 2
src/packages/mobile/views/account/certification/Index.vue

@@ -25,7 +25,7 @@
                         <app-uploader @success="f_afterRead" />
                     </template>
                 </Field>
-                <Field name="halfbodyphotourl" v-if="showHalfBodyPhoto === '1'" :label="$t('user.authentication.halfbodyphoto')" :rules="formRules.halfbodyphotourl">
+                <Field name="halfbodyphotourl" v-if="showHalfBodyPhoto === '1'" :label="halfBodyPhotoTitle" :rules="formRules.halfbodyphotourl">
                     <template #input>
                         <app-uploader @success="h_afterRead" />
                     </template>
@@ -64,16 +64,18 @@ const { global: { t }} = i18n
 
 const showHalfBodyPhoto = shallowRef('0')
 const showCardBackPhoto = shallowRef('0')
+const halfBodyPhotoTitle = shallowRef(t('user.authentication.halfbodyphoto'))
 
 // 获取网上开户配置
 useRequest(getWskhOpenAccountConfigs, {
     params: {
-        configs: '53,54'
+        configs: '53,54,78'
     },
     onSuccess: (res) => {
         /// 是否显示半身照和 证件背面照
         showHalfBodyPhoto.value = res.data.filter(e => { e.configid === 54})[0].configvalue ?? '0'
         showCardBackPhoto.value = res.data.filter(e => { e.configid === 53})[0].configvalue ?? '0'
+        halfBodyPhotoTitle.value = res.data.filter(e => { e.configid ===  78})[0].configvalue ?? t('user.authentication.halfbodyphoto')
     }
 })
 

+ 1 - 1
src/packages/mobile/views/user/forget/Index.vue

@@ -24,7 +24,7 @@
         </Form>
         <template #footer>
             <div class="g-form__footer inset">
-                <Button type="danger" @click="formRef?.submit()" round block>{{ $t('user.forget.sendagain') }}</Button>
+                <Button type="danger" @click="formRef?.submit()" round block>{{ $t('user.forget.resetpwd') }}</Button>
             </div>
         </template>
     </app-view>

+ 43 - 19
src/packages/pc/components/layouts/header/components/setting/index.vue

@@ -1,10 +1,10 @@
 <!-- 快捷设置 -->
 <template>
-    <app-drawer title="快捷设置" :width="800" v-model:show="show">
+    <app-drawer :title="t('mine.setting.title')" :width="800" v-model:show="show">
         <fieldset class="g-fieldset">
-            <legend class="g-fieldset__legend">下单设置</legend>
+            <legend class="g-fieldset__legend">{{ t('mine.setting.tradesettings') }}</legend>
             <el-form ref="formRef" class="el-form--horizontal" label-width="140px" :model="formData">
-                <el-form-item prop="orderBuyOrSell" label="默认买卖方向">
+                <el-form-item prop="orderBuyOrSell" :label="t('mine.setting.orderBuyOrSell')">
                     <el-select effect="dark" :placeholder="t('common.choice')" v-model="formData.orderBuyOrSell">
                         <template v-for="(item, index) in getBuyOrSellList()" :key="index">
                             <el-option :label="item.label" :value="item.value" />
@@ -14,45 +14,53 @@
                 <!-- <el-form-item label="单笔最大下单量">
                     <el-input-number :placeholder="t('common.pleaseenter')" v-model="formData.orderMaxQty" :min="1" :max="1000000" />
                 </el-form-item> -->
-                <el-form-item prop="orderQtyIsEmpty" label="下单后清空数量">
+                <el-form-item prop="orderQtyIsEmpty" :label="t('mine.setting.orderQtyIsEmpty')">
                     <el-switch v-model="formData.orderQtyIsEmpty" />
                 </el-form-item>
-                <el-form-item prop="orderFocusType" label="下单价格类型">
+                <el-form-item prop="orderFocusType" :label="t('mine.setting.priceFocusType')">
                     <el-select effect="dark" :placeholder="t('common.choice')" v-model="formData.orderPriceType">
-                        <el-option label="现价" :value="1" />
-                        <el-option label="对手价" :value="2" />
-                        <el-option label="实时现价" :value="3" />
-                        <el-option label="实时对手价" :value="4" />
+                        <el-option :label="t('mine.setting.last')" :value="1" />
+                        <el-option :label="t('mine.setting.counterparty')" :value="2" />
+                        <el-option :label="t('mine.setting.realtimelast')" :value="3" />
+                        <el-option :label="t('mine.setting.realtimecounterparty')" :value="4" />
                     </el-select>
                 </el-form-item>
-                <el-form-item prop="showOrderEnableQty" label="显示预估订立量">
+                <el-form-item prop="showOrderEnableQty" :label="t('mine.setting.showOrderEnableQty')">
                     <el-switch v-model="formData.showOrderEnableQty" />
                 </el-form-item>
-                <el-form-item prop="orderFocusType" label="下单后默认焦点">
+                <el-form-item prop="orderFocusType" :label="t('mine.setting.orderFocusType')">
                     <el-select effect="dark" :placeholder="t('common.choice')" v-model="formData.orderFocusType">
-                        <el-option label="价格" :value="1" />
-                        <el-option label="数量" :value="2" />
+                        <el-option :label="t('mine.setting.price')" :value="1" />
+                        <el-option :label="t('mine.setting.qty')" :value="2" />
                     </el-select>
                 </el-form-item>
             </el-form>
         </fieldset>
         <fieldset class="g-fieldset">
-            <legend class="g-fieldset__legend">提示设置</legend>
+            <legend class="g-fieldset__legend">{{ t('mine.setting.tipssetting') }}</legend>
             <el-form ref="formRef" class="el-form--horizontal" label-width="140px" :model="formData">
-                <el-form-item prop="showOrderDialog" label="下单确认提示框">
+                <el-form-item prop="showOrderDialog" :label="t('mine.setting.showOrderDialog')">
                     <el-switch v-model="formData.showOrderDialog" />
                 </el-form-item>
-                <el-form-item prop="showOrderSuccessMessage" label="下单成功消息">
+                <el-form-item prop="showOrderSuccessMessage" :label="t('mine.setting.showOrderSuccessMessage')">
                     <el-switch v-model="formData.showOrderSuccessMessage" />
                 </el-form-item>
-                <el-form-item prop="showOrderCancelDialog" label="撤单确认提示框">
+                <el-form-item prop="showOrderCancelDialog" :label="t('mine.setting.showOrderCancelDialog')">
                     <el-switch v-model="formData.showOrderCancelDialog" />
                 </el-form-item>
-                <el-form-item prop="showOrderFailMessage" label="下单失败消息">
+                <el-form-item prop="showOrderFailMessage" :label="t('mine.setting.showOrderFailMessage')">
                     <el-switch v-model="formData.showOrderFailMessage" />
                 </el-form-item>
             </el-form>
         </fieldset>
+        <fieldset class="g-fieldset">
+            <legend class="g-fieldset__legend">{{ t('mine.setting.others') }}</legend>
+            <el-form ref="formRef" class="el-form--horizontal" label-width="80px">
+                <el-form-item :label="t('mine.setting.language')">
+                    <span @click="changeLuanguage">{{ i18n.global.locale === 'zh-CN' ? t('mine.setting.chinese') : t('mine.setting.english') }}</span>
+                </el-form-item>
+            </el-form>
+        </fieldset>
         <template #footer>
             <el-button type="info" @click="resetSettings">{{ t('operation.restore') }}</el-button>
             <el-button type="primary" @click="updateSettings">{{ t('operation.savesetting') }}</el-button>
@@ -65,7 +73,9 @@ import { ref } from 'vue'
 import { ElMessageBox, FormInstance } from 'element-plus'
 import { getBuyOrSellList } from '@/constants/order'
 import { useSettingStore, i18n } from '@/stores'
+import { localData } from '@/stores/storage'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
+import eventBus from '@/services/bus'
 
 const settingStore = useSettingStore()
 const formRef = ref<FormInstance>()
@@ -77,6 +87,20 @@ const onCancel = () => {
     show.value = false
 }
 
+const changeLuanguage = () => {
+    ElMessageBox.confirm(t('user.login.tips6'), t('common.tips'), { confirmButtonText: t('common.ikonw') }).then(() => {
+        if (i18n.global.locale === 'zh-CN') {
+            i18n.global.locale = 'en-US'
+        } else {
+            i18n.global.locale = 'zh-CN'
+        }
+        /// 设置语言
+        localData.setValue('appLanguage', i18n.global.locale)
+        /// 重新登出
+        eventBus.$emit('LogoutNotify')
+    })
+}
+
 const updateSettings = () => {
     settingStore.updateSettings(formData.value)
     onCancel()
@@ -85,7 +109,7 @@ const updateSettings = () => {
 const resetSettings = () => {
     ElMessageBox.confirm(
         '是否恢复到默认设置?',
-        '提示'
+        t('common.tips')
     ).then(() => {
         settingStore.resetSettings()
         onCancel()

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

@@ -12,7 +12,6 @@
                 </el-badge>
                 <app-icon icon="Tickets" @click="openComponent('report')" />
                 <app-icon icon="Setting" @click="openComponent('setting')" />
-                <span @click="changeLuanguage">{{ i18n.global.locale === 'zh-CN' ? t('mine.setting.chinese') : t('mine.setting.english') }}</span>
                 <!-- <app-icon icon="g-icon-minimize" @click="exitFullSreen" v-if="fullScreen" />
                 <app-icon icon="g-icon-maximize" @click="setFullSreen" v-else /> -->
             </div>
@@ -40,7 +39,6 @@
 <script lang="ts" setup>
 import { ref, onMounted, computed, defineAsyncComponent } from 'vue'
 import { SwitchButton, Unlock, Avatar } from '@element-plus/icons-vue'
-import { ElMessageBox } from 'element-plus'
 import { getFileUrl, diffDays } from '@/filters'
 import { useComponent } from '@/hooks/component'
 import { useLoginStore, useUserStore, useGlobalStore, useNoticeStore, i18n } from '@/stores'
@@ -67,20 +65,6 @@ const fullScreen = ref(false)
 
 const { t } = i18n.global
 
-const changeLuanguage = () => {
-    ElMessageBox.confirm('切换语言更改需要重新登录才生效!', t('common.tips'), { confirmButtonText: t('common.ikonw') }).then(() => {
-        if (i18n.global.locale === 'zh-CN') {
-            i18n.global.locale = 'en-US'
-        } else {
-            i18n.global.locale = 'zh-CN'
-        }
-        /// 设置语言
-        localData.setValue('appLanguage', i18n.global.locale)
-        /// 重新登出
-        eventBus.$emit('LogoutNotify')
-    })
-}
-
 // 用户头像
 const userAvatar = computed(() => {
     const file = userStore.userInfo?.headurl

+ 1 - 1
src/packages/pc/components/modules/goods-detail/index.vue

@@ -16,7 +16,7 @@
                     <div class="buttonbar">
                         <template v-if="market">
                             <span style="color: #3a87f7;padding:0 10px;">
-                                市场状态:{{ [2, 6].includes(market.runstatus) ? getRunStatusName(market.runstatus) : '未开市' }}
+                                {{ t('quote.marketstatus') }}{{ [2, 6].includes(market.runstatus) ? getRunStatusName(market.runstatus) : t('quote.unopening') }}
                             </span>
                         </template>
                         <slot name="headerRight"></slot>

+ 1 - 1
src/packages/pc/components/modules/goods-detail/order/delisting/index.vue

@@ -111,7 +111,7 @@ const onSubmit = (buildType: number) => {
         if (valid) {
             ElMessageBox.confirm(
                 isTrademode16.value ? '是否立即摘牌?' : '*若存在价格匹配的反方向委托订单,系统将会自动撤销。',
-                isTrademode16.value ? '提示' : '是否立即摘牌?'
+                isTrademode16.value ? t('common.tips') : '是否立即摘牌?'
             ).then(() => {
                 const { goodsid, orderid, orderprice, buyorsell } = props.selectedRow
                 const { marketid = 0 } = quote.value ?? {}

+ 13 - 12
src/packages/pc/components/modules/goods-detail/order/index.vue

@@ -33,7 +33,7 @@ import { BuyOrSell } from '@/constants/order'
 import { useComponent } from '@/hooks/component'
 import { useComposeTable } from '@pc/components/base/table'
 import { queryWrTradeOrderDetail } from '@/services/api/transfer'
-import { useFuturesStore } from '@/stores'
+import { useFuturesStore, i18n } from '@/stores'
 import AppTable from '@pc/components/base/table/index.vue'
 import service from '@/services'
 
@@ -52,9 +52,10 @@ const componentMap = new Map<string, unknown>([
 const futuresStore = useFuturesStore()
 const quote = futuresStore.getGoodsQuote(props.goodsId)
 const oem = service.getConfig('oem')
+const { t } = i18n.global
 
 const { rowKey, expandKeys, selectedRow, rowClick } = useComposeTable<Model.WrTradeOrderDetailRsp>({ rowKey: 'orderid' })
-const { componentRef, componentId, openComponent, closeComponent } = useComponent()
+const { componentRef, componentId, closeComponent } = useComponent()
 
 const { dataList: buyList, run: getBuyList } = useRequest(queryWrTradeOrderDetail, {
     params: {
@@ -73,19 +74,19 @@ const { dataList: sellList, run: getSellList } = useRequest(queryWrTradeOrderDet
 })
 
 const buyColumns = shallowRef<Model.TableColumn[]>(
-    oem != 'zrwyt' ? [{ field: 'orderprice', label: '买价' },
-                      { field: 'orderqty', label: '买量' },
-                      { field: 'username', label: '购买方' }] : 
-                      [{ field: 'orderprice', label: '买价' },
-                      { field: 'orderqty', label: '买量' }]
+    oem != 'zrwyt' ? [{ field: 'orderprice', label: t('quote.bid') },
+                      { field: 'orderqty', label: t('quote.bidvolume') },
+                      { field: 'username', label: t('quote.buyusername') }] : 
+                      [{ field: 'orderprice', label: t('quote.bid') },
+                      { field: 'orderqty', label: t('quote.bidvolume') }]
 )
 
 const sellColumns = shallowRef<Model.TableColumn[]>(
-    oem != 'zrwyt' ? [{ field: 'orderprice', label: '卖价' },
-                      { field: 'orderqty', label: '卖量' },
-                      { field: 'username', label: '销售方' }] : 
-                      [{ field: 'orderprice', label: '卖价' },
-                       { field: 'orderqty', label: '卖量' }]
+    oem != 'zrwyt' ? [{ field: 'orderprice', label: t('quote.ask') },
+                      { field: 'orderqty', label: t('quote.askvolume') },
+                      { field: 'username', label: t('quote.sellusername') }] : 
+                      [{ field: 'orderprice', label: t('quote.ask') },
+                       { field: 'orderqty', label: t('quote.askvolume') }]
 )
 
 // const showComponent = (componentName: string, row: Model.WrTradeOrderDetailRsp) => {

+ 14 - 13
src/packages/pc/components/modules/quote/forex/index.vue

@@ -35,7 +35,7 @@
 import { shallowRef, computed, watch, useAttrs } from 'vue'
 import { handleNumberValue } from '@/filters'
 import { BuyOrSell } from '@/constants/order'
-import { useFuturesStore } from '@/stores'
+import { useFuturesStore, i18n } from '@/stores'
 import { ETradeMode } from '@/constants/client'
 
 const props = defineProps({
@@ -50,6 +50,7 @@ const attrs = useAttrs()
 const futuresStore = useFuturesStore()
 const quote = computed(() => futuresStore.getGoodsQuote(props.goodsCode).value)
 const active = shallowRef('')
+const { t } = i18n.global
 
 const buyList = computed(() => {
     const item = quote.value
@@ -58,7 +59,7 @@ const buyList = computed(() => {
         if (item) {
             const result = [
                 {
-                    label: '卖价',
+                    label: t('quote.ask'),
                     price: item.bid,
                     qty: item.bidvolume,
                     color: item.bidColor,
@@ -70,31 +71,31 @@ const buyList = computed(() => {
         if (item) {
             const result = [
                 {
-                    label: '买一',
+                    label: t('quote.bid1'),
                     price: item.bid,
                     qty: item.bidvolume,
                     color: item.bidColor,
                 },
                 {
-                    label: '买二',
+                    label: t('quote.bid2'),
                     price: item.bid2,
                     qty: item.bidvolume2,
                     color: item.bid2Color,
                 },
                 {
-                    label: '买三',
+                    label: t('quote.bid3'),
                     price: item.bid3,
                     qty: item.bidvolume3,
                     color: item.bid3Color,
                 },
                 {
-                    label: '买四',
+                    label: t('quote.bid4'),
                     price: item.bid4,
                     qty: item.bidvolume4,
                     color: item.bid4Color,
                 },
                 {
-                    label: '买五',
+                    label: t('quote.bid5'),
                     price: item.bid5,
                     qty: item.bidvolume5,
                     color: item.bid5Color,
@@ -113,7 +114,7 @@ const sellList = computed(() => {
         if (item) {
             const result = [
                 {
-                    label: '买价',
+                    label: t('quote.bid'),
                     price: item.ask,
                     qty: item.askvolume,
                     color: item.askColor,
@@ -125,31 +126,31 @@ const sellList = computed(() => {
         if (item) {
             const result = [
                 {
-                    label: '卖一',
+                    label: t('quote.ask1'),
                     price: item.ask,
                     qty: item.askvolume,
                     color: item.askColor,
                 },
                 {
-                    label: '卖二',
+                    label: t('quote.ask2'),
                     price: item.ask2,
                     qty: item.askvolume2,
                     color: item.ask2Color,
                 },
                 {
-                    label: '卖三',
+                    label: t('quote.ask3'),
                     price: item.ask3,
                     qty: item.askvolume3,
                     color: item.ask3Color,
                 },
                 {
-                    label: '卖四',
+                    label: t('quote.ask4'),
                     price: item.ask4,
                     qty: item.askvolume4,
                     color: item.ask4Color,
                 },
                 {
-                    label: '卖五',
+                    label: t('quote.ask5'),
                     price: item.ask5,
                     qty: item.askvolume5,
                     color: item.ask5Color,

+ 1 - 1
src/packages/pc/router/dynamicRouter.ts

@@ -1,6 +1,6 @@
 import { RouteRecordRaw } from 'vue-router'
 import { AuthType } from '@/constants/menu'
-import { useMenuStore, i18n } from '@/stores'
+import { useMenuStore } from '@/stores'
 import router from '../router'
 
 export default new (class {

+ 10 - 10
src/packages/pc/views/account/holddeposit/components/deposit/index.vue

@@ -5,21 +5,21 @@
             <el-form-item label="扣费账号" prop="bankaccountno">
                 <el-input name="bankaccountno" readonly v-model="bankaccountno" />
             </el-form-item>
-            <el-form-item prop="Amount" label="入金金额">
-                <el-input-number placeholder="请输入入金金额" :max="500000" :min="0.0" :precision="2" :step="0.01"
+            <el-form-item prop="Amount" :label="t('banksign.wallet.deposit.inamount')">
+                <el-input-number :placeholder="t('banksign.wallet.deposit.pleaseenterinamount')" :max="500000" :min="0.0" :precision="2" :step="0.01"
                     v-model="billAmount" :rules="formRules.BillAmount" />
             </el-form-item>
             <!-- <el-form-item>
                 <span>{{ numberToChinese(formatDecimal(billAmount)) }}</span>
             </el-form-item> -->
-            <el-form-item class="el-form-item--row" label="备注" prop="Remark">
-                <el-input name="Remark" type="textarea" placeholder="请输入备注" :rows="3" v-model="Remark" />
+            <el-form-item class="el-form-item--row" :label="t('banksign.wallet.withdraw.remark')" prop="Remark">
+                <el-input name="Remark" type="textarea" :placeholder="t('performance.pleaseinputremark')" :rows="3" v-model="Remark" />
             </el-form-item>
         </el-form>
         <fieldset class="g-fieldset">
-            <legend class="g-fieldset__legend">提示</legend>
-            <span class="tips" style="display: block;color: #b8c3cd;">入金时间:交易日 {{ startTime }} - {{ endTime }}</span>
-            <span class="tips" style="color: #b8c3cd;">节假日以通知、公告为准,非交易日请勿操作!</span>
+            <legend class="g-fieldset__legend">{{ t('common.tips') }}</legend>
+            <span class="tips" style="display: block;color: #b8c3cd;">{{ t('banksign.wallet.deposit.time') }} {{ startTime }} - {{ endTime }}</span>
+            <span class="tips" style="color: #b8c3cd;">{{ t('banksign.wallet.deposit.notice') }}</span>
         </fieldset>
         <template #footer>
             <el-button type="info" @click="onCancel">{{ t('operation.cancel') }}</el-button>
@@ -78,16 +78,16 @@ const formSubmit = () => {
                 if (n.isSameOrAfter(s) && n.isBefore(e)) {
                     formData.BillAmount = formatDecimal(billAmount.value)
                     onSubmit().then(() => {
-                        ElMessage.success('提交成功,请稍后确认结果')
+                        ElMessage.success(t('common.submitsuccess1'))
                         onCancel()
                     }).catch((err) => {
                         ElMessage.error(t('common.submitfailure') + err)
                     })
                 } else {
-                    ElMessageBox.confirm('入金不在时间范围内', '提示', { confirmButtonText: '我知道了', showCancelButton: false })
+                    ElMessageBox.confirm(t('banksign.wallet.deposit.goldisnotwithinthetimeframe'), t('common.tips'), { confirmButtonText: t('common.ikonw'), showCancelButton: false })
                 }
             }).catch(() => {
-                ElMessage.error('获取服务器时间失败')
+                ElMessage.error(t('banksign.wallet.deposit.failedtogetservertime'))
             }).finally(() => {
                 loading.value = false
             })

+ 12 - 12
src/packages/pc/views/auth/forget/index.vue

@@ -1,28 +1,28 @@
 <template>
     <el-form ref="formRef" :model="formData" :rules="formRules">
         <el-form-item prop="mobile">
-            <el-input placeholder="请输入手机号码" type="number" v-model="formData.mobile" :rules="formRules.mobile" />
+            <el-input :placeholder="t('user.forget.tips1')" type="number" v-model="formData.mobile" :rules="formRules.mobile" />
         </el-form-item>
         <el-form-item prop="vcode">
-            <el-input placeholder="请输入短信验证码" type="number" v-model="formData.vcode" :rules="formRules.vcode">
+            <el-input :placeholder="t('user.forget.tips2')" type="number" v-model="formData.vcode" :rules="formRules.vcode">
                 <template #append>
                     <el-button size="small" type="primary" :disabled="isCountdown" @click="sendVerifyCode">
-                        <span v-if="isCountdown">重新发送({{ seconds }})</span>
-                        <span v-else>获取验证码</span>
+                        <span v-if="isCountdown">{{ t('user.forget.sendagain') }}({{ seconds }})</span>
+                        <span v-else>{{ t('user.forget.getsmscode') }}</span>
                     </el-button>
                 </template>
             </el-input>
         </el-form-item>
         <el-form-item prop="password">
-            <el-input placeholder="请输入新密码" type="password" v-model="formData.password" :rules="formRules.password" />
+            <el-input :placeholder="t('user.forget.tips3')" type="password" v-model="formData.password" :rules="formRules.password" />
         </el-form-item>
         <el-form-item prop="confirmpassword">
-            <el-input placeholder="请输入确认密码" type="password" v-model="formData.confirmpassword"
+            <el-input :placeholder="t('user.forget.tips4')" type="password" v-model="formData.confirmpassword"
                 :rules="formRules.confirmpassword" />
         </el-form-item>
         <el-form-item>
             <el-button type="primary" @click="formSubmit">{{ t('operation.back')}}</el-button>
-            <el-button @click="onClose" style="margin-left: auto;">{{ t('user.forget.resetpwd')}}</el-button>
+            <el-button @click="onClose" style="margin-left: auto;">{{ t('user.forget.resetpwd') }}</el-button>
         </el-form-item>
     </el-form>
 </template>
@@ -70,12 +70,12 @@ const formRules: FormRules = {
             if (validateRules.password.validate(value)) {
                 callback()
             }
-            callback(new Error('密码必须是任意两种字符组合,长度最少6位'))
+            callback(new Error(t('user.forget.tips5')))
         }
     }],
     vcode: [{
         required: true,
-        message: '请输入短信验证码',
+        message: t('user.forget.tips2'),
     }],
     confirmpassword: [{
         required: true,
@@ -83,7 +83,7 @@ const formRules: FormRules = {
             if (formData.password === value) {
                 callback()
             }
-            callback(new Error('新密码和确认密码不一致'))
+            callback(new Error(t('user.forget.tips6')))
         }
     }],
 }
@@ -109,7 +109,7 @@ const sendVerifyCode = () => {
                         }
                     }, 1000)
                 }).catch(() => {
-                    ElMessage.error('发送失败')
+                    ElMessage.error(t('user.forget.tips7'))
                 })
             }).catch((err) => {
                 ElMessage.error(err)
@@ -140,7 +140,7 @@ const formSubmit = () => {
                     }
                 }).then((res) => {
                     if (res.code === '0') {
-                        ElMessage.success('密码重置成功,请重新登录。')
+                        ElMessage.success(t('user.forget.tips8'))
                         onClose()
                     } else {
                         ElMessage.error(res.message)

+ 11 - 11
src/packages/pc/views/auth/login/index.vue

@@ -1,15 +1,15 @@
 <template>
-  <sign-layout class="user-login" :title="islogin ? '登录' : '重置密码'">
+  <sign-layout class="user-login" :title="islogin ? t('user.login.login') : t('user.forget.resetpwd')">
     <el-form ref="formRef" :model="formData" :rules="formRules" v-if="islogin">
       <el-form-item prop="userName">
-        <el-input placeholder="用户名/账号/手机号" v-model="formData.userName">
+        <el-input :placeholder="t('user.login.username1')" v-model="formData.userName">
           <!-- <template #append>
             <el-checkbox v-model="remember"></el-checkbox>
           </template> -->
         </el-input>
       </el-form-item>
       <el-form-item prop="password">
-        <el-input type="password" placeholder="请输入您的登录密码" v-model="formData.password">
+        <el-input type="password" :placeholder="t('user.login.Pleaseenterthepassword')" v-model="formData.password">
         </el-input>
       </el-form-item>
       <el-form-item>
@@ -17,19 +17,19 @@
       </el-form-item>
       <el-form-item>
         <div class="text-link">
-          <span @click="click" v-if="shwoRegister">立即注册</span>
-          <span @click="islogin = false">忘记密码?</span>
+          <span @click="click" v-if="shwoRegister">{{ t('user.login.register') }}</span>
+          <span @click="islogin = false">{{ t('user.login.forgetpassword') }}</span>
         </div>
       </el-form-item>
       <el-form-item>
         <el-button class="submit" type="primary" :loading="loading" @click="formSubmit">
-          <span v-if="loading">正在登录</span>
-          <span v-else>登录</span>
+          <span v-if="loading">{{ t('user.login.logining1') }}</span>
+          <span v-else>{{ t('user.login.login') }}</span>
         </el-button>
       </el-form-item>
     </el-form>
     <Forget @close="islogin = true" v-else></Forget>
-    <el-dialog class="register" v-model="isRegister" title="扫码注册" :width="360" center align-center>
+    <el-dialog class="register" v-model="isRegister" :title="t('user.register.title1')" :width="360" center align-center>
       <div v-loading="rloading" v-if="rloading"></div>
       <div style="text-align: center;" v-else>
         <app-qrcode class="app-register-code__qrcode" :width="240" :text="qrContent" />
@@ -77,10 +77,10 @@ const { t } = i18n.global
 
 const formRules: FormRules = {
   userName: [
-    { required: true, max: 20, message: '请输入登录账号', trigger: 'blur' }
+    { required: true, max: 20, message: t('user.login.Pleaseenterausername'), trigger: 'blur' }
   ],
   password: [
-    { required: true, max: 16, message: '请输入登录密码', trigger: 'blur' }
+    { required: true, max: 16, message: t('user.login.Pleaseenterthepassword'), trigger: 'blur' }
   ]
 }
 
@@ -137,7 +137,7 @@ const formSubmit = () => {
         }
       } catch (err) {
         reset()
-        ElMessage.error('登录失败:' + err as string)
+        ElMessage.error(t('user.login.tips3') + err as string)
       }
     }
   })

+ 1 - 1
src/packages/pc/views/footer/capital/summary/deposit/index.vue

@@ -123,7 +123,7 @@ const doDepositWarning = () => {
                             onCancel()
                         })
                 } else {
-                    ElMessageBox.confirm(t('banksign.wallet.deposit.goldisnotwithinthetimeframe'), '提示', { confirmButtonText: '我知道了', showCancelButton: false })
+                    ElMessageBox.confirm(t('banksign.wallet.deposit.goldisnotwithinthetimeframe'), t('common.tips'), { confirmButtonText: t('common.ikonw'), showCancelButton: false })
                 }
             }).catch(() => {
                 ElMessage.error(t('banksign.wallet.deposit.failedtogetservertime'))

+ 9 - 9
src/packages/pc/views/footer/presell/transferposition/delivery/index.vue

@@ -51,17 +51,17 @@ const props = defineProps({
 const enableqty = computed(() => props.selectedRow.buycurpositionqty - props.selectedRow.buyfrozenqty)
 
 // 总货款
-const payment = (qty: number) => {
-    return props.selectedRow.presaleprice * qty
-}
+// const payment = (qty: number) => {
+//     return props.selectedRow.presaleprice * qty
+// }
 
 // 已付定金
-const deposit = (qty: number) => {
-    return payment(qty) * props.selectedRow.transferdepositratio
-}
+// const deposit = (qty: number) => {
+//     return payment(qty) * props.selectedRow.transferdepositratio
+// }
 
 // 剩余货款
-const available = (qty: number, discount: number) => {
-    return payment(qty) - deposit(qty) + discount
-}
+// const available = (qty: number, discount: number) => {
+//     return payment(qty) - deposit(qty) + discount
+// }
 </script>

+ 1 - 1
src/packages/pc/views/footer/swap/position/close/index.vue

@@ -117,7 +117,7 @@ const tableColumns = shallowRef<Model.TableColumn[]>([
 const onCloseSubmit = (row: Model.TradeHolderDetailRsp) => {
     ElMessageBox.confirm(
         '是否立即平仓?',
-        '提示'
+        t('common.tips')
     ).then(() => {
         const { marketid, goodsid, buyorsell, tradeid } = row
         formData.Header = { MarketID: marketid, GoodsID: goodsid }

+ 3 - 3
src/packages/pc/views/market/trade/goods/list/listing/index.vue

@@ -214,13 +214,13 @@ const onBeforeSubmit = (buildType: EBuildType) => {
                 if (settingStore.getSettingValue('showOrderDialog')) {
                     if (isTrademode16.value) {
                         ElMessageBox.confirm(
-                            '是否立即挂牌?',
-                            '提示'
+                            t('common.tips1'),
+                            t('common.tips')
                         ).then(() => onSubmit())
                     } else {
                         ElMessageBox.confirm(
                             t('quote.goods.tips2'),
-                            '是否立即挂牌?'
+                            t('common.tips1')
                         ).then(() => onSubmit())
                     }
                 } else {

+ 9 - 9
src/packages/pc/views/market/trade/presell/ballot/detail/index.vue

@@ -1,7 +1,7 @@
 <!-- 交易市场-预售转让-预售中签-详情 -->
 <template>
-    <app-drawer title="商品详情" v-model:show="show" :width="600" :refresh="refresh">
-        <AppTableDetails :title="selectedRow.goodscode + ' ' + selectedRow.goodsname" :label-width="100" :data="selectedRow"
+    <app-drawer :title="t('quote.ballot.goodsdetail')" v-model:show="show" :width="700" :refresh="refresh">
+        <AppTableDetails :title="selectedRow.goodscode + ' ' + selectedRow.goodsname" :label-width="170" :data="selectedRow"
             :cell-props="detailProps" :column="2">
             <!-- 预售定金 -->
             <template #earnest>
@@ -50,13 +50,13 @@ const props = defineProps({
 const { t } = i18n.global
 
 const detailProps = [
-    { prop: 'refprice', label: '发行价:' },
-    { prop: 'sellname', label: '销售方:' },
-    { prop: 'starttime', label: '开始时间:' },
-    { prop: 'earnest', label: '预售定金:' },
-    { prop: 'endtime', label: '结束时间:' },
-    { prop: 'transferdepositratio', label: '转让定金:' },
-    { prop: 'presaleqty', label: '总量:' },
+    { prop: 'refprice', label: t('quote.ballot.issueprice')+':' },
+    { prop: 'sellname', label: t('quote.ballot.sellname') },
+    { prop: 'starttime', label: t('quote.ballot.starttime1')+':' },
+    { prop: 'earnest', label: t('quote.ballot.earnest')+':' },
+    { prop: 'endtime', label: t('quote.ballot.endtime1')+':' },
+    { prop: 'transferdepositratio', label: t('quote.ballot.transferdepositratio')+':' },
+    { prop: 'presaleqty', label: t('quote.ballot.totalqty') },
 ]
 
 // 预售定金

+ 9 - 9
src/packages/pc/views/market/trade/presell/transfer/listing/index.vue

@@ -4,22 +4,22 @@
             <Forex v-bind="{ goodsCode: selectedGoods.goodscode }" @price-click="onPriceClick" />
         </div>
         <div class="goods-listing__form">
-            <h4 class="header-title">订单交易</h4>
+            <h4 class="header-title">{{ t('quote.goods.title1') }}</h4>
             <el-form ref="formRef" class="el-form--vertical" label-width="60px" :model="formData" :rules="formRules">
-                <el-form-item prop="GoodsID" label="商品">
+                <el-form-item prop="GoodsID" :label="t('quote.goods.goods')">
                     <el-select effect="dark" :placeholder="t('common.choice')" v-model="selectedGoodsId" filterable @change="onGoodsChange">
                         <el-option :label="item.goodsname" :value="item.goodsid" v-for="(item, index) in marketGoodsList"
                             :key="index" />
                     </el-select>
                 </el-form-item>
-                <el-form-item prop="BuyOrSell" label="方向">
+                <el-form-item prop="BuyOrSell" :label="t('quote.goods.buyorsell')">
                     <el-radio-group v-model="formData.BuyOrSell">
                         <el-radio v-for="(item, index) in getBuyOrSellList()" :key="index" :label="item.value">
                             {{ item.label }}
                         </el-radio>
                     </el-radio-group>
                 </el-form-item>
-                <el-form-item prop="OrderPrice" label="价格">
+                <el-form-item prop="OrderPrice" :label="t('quote.goods.orderprice')">
                     <div class="el-form-item--col">
                         <el-input-number ref="priceRef" :placeholder="t('common.pleaseenter')" :min="0" :step="selectedGoods?.decimalvalue"
                             :precision="selectedGoods?.decimalplace" :disabled="isDisabled" v-model="formData.OrderPrice"
@@ -36,7 +36,7 @@
                         </div>
                     </div>
                 </el-form-item>
-                <el-form-item prop="OrderQty" label="数量">
+                <el-form-item prop="OrderQty" :label="t('quote.goods.orderqty')">
                     <div class="g-qty-group">
                         <el-input-number ref="qtyRef" :placeholder="t('common.pleaseenter')" :min="0" :precision="0" :step="qtyStep || 1"
                             v-model="formData.OrderQty" @keyup.enter="submitFocus" />
@@ -117,7 +117,7 @@ const formRules: FormRules = {
             if (value) {
                 callback()
             } else {
-                callback(new Error('请输入价格'))
+                callback(new Error(t('quote.goods.pleaseenterorderprice')))
             }
         }
     }],
@@ -127,7 +127,7 @@ const formRules: FormRules = {
             if (value) {
                 callback()
             } else {
-                callback(new Error('请输入数量'))
+                callback(new Error(t('quote.goods.pleaseenterorderqty')))
             }
         }
     }],
@@ -168,8 +168,8 @@ const onBeforeSubmit = () => {
         if (valid) {
             if (settingStore.getSettingValue('showOrderDialog')) {
                 ElMessageBox.confirm(
-                    '是否立即挂牌?',
-                    '提示'
+                    t('common.tips1'),
+                    t('common.tips')
                 ).then(() => onSubmit())
             } else {
                 onSubmit()

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

@@ -4,30 +4,30 @@
             <Forex v-bind="{ goodsCode: selectedGoods.goodscode }" @price-click="onPriceClick" />
         </div>
         <div class="pricing-listing__form">
-            <h4 class="header-title">挂牌点价</h4>
+            <h4 class="header-title">{{ t('quote.pricing.title1') }}</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="商品">
+                <el-form-item prop="GoodsID" :label="t('quote.pricing.goods')">
                     <el-select effect="dark" :placeholder="t('common.choice')" v-model="selectedGoodsId" filterable>
                         <el-option :label="item.goodsname" :value="item.goodsid" v-for="(item, index) in marketGoodsList"
                             :key="index" />
                     </el-select>
                 </el-form-item>
-                <el-form-item prop="BuyOrSell" label="方向">
+                <el-form-item 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.value">
                             {{ item.label }}
                         </el-radio>
                     </el-radio-group>
                 </el-form-item>
-                <el-form-item prop="PriceMode" label="方式">
+                <el-form-item 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.value">
                             {{ item.label }}
                         </el-radio>
                     </el-radio-group>
                 </el-form-item>
-                <el-form-item prop="OrderQty" label="数量">
+                <el-form-item prop="OrderQty" :label="t('quote.pricing.orderqty')">
                     <div class="g-qty-group">
                         <el-input-number ref="qtyRef" :placeholder="t('common.pleaseenter')" :min="0" :max="9999999999" :precision="0" :step="qtyStep || 1"
                             v-model="formData.OrderQty" @keyup.enter="submitFocus" />
@@ -38,18 +38,18 @@
                             v-if="(formData.BuyOrSell === BuyOrSell.Buy || selectedGoods?.tradeproperty !== 2) && settingStore.getSettingValue('showOrderEnableQty')">
                             <div
                                 style="display: flex;flex-direction: column;line-height: normal;font-size: 12px;color: #7a8a94;">
-                                <span>预估可订立量:{{ total.enableQty }}</span>
-                                <span>预扣保证金:{{ total.deposit.toFixed(2) }}</span>
-                                <span>可用资金:{{ accountStore.currentAccount.avaiableMoney?.toFixed(2) }}</span>
+                                <span>{{ t('quote.pricing.enableQty') }}:{{ total.enableQty }}</span>
+                                <span>{{ t('quote.pricing.deposit') }}:{{ total.deposit.toFixed(2) }}</span>
+                                <span>{{ t('quote.pricing.avaiableMoney') }}:{{ accountStore.currentAccount.avaiableMoney?.toFixed(2) }}</span>
                             </div>
                         </template>
                     </div>
                 </el-form-item>
-                <el-form-item prop="MarketMaxSub" label="点差" v-if="formData.PriceMode === PriceMode.Market">
+                <el-form-item prop="MarketMaxSub" :label="t('quote.pricing.marketmaxsub')" v-if="formData.PriceMode === PriceMode.Market">
                     <el-input-number ref="priceRef" :placeholder="t('common.pleaseenter')" :min="0" :max="9999999999" v-model="formData.MarketMaxSub" 
                     @keyup.enter="submitFocus" integer />
                 </el-form-item>
-                <el-form-item prop="OrderPrice" label="价格" v-if="formData.PriceMode === PriceMode.Limit">
+                <el-form-item prop="OrderPrice" :label="t('quote.pricing.price')" v-if="formData.PriceMode === PriceMode.Limit">
                     <el-input-number ref="priceRef" :placeholder="t('common.pleaseenter')" :max="9999999999" :min="0" v-model="formData.OrderPrice" 
                      :auto-fixed="false" :decimal-length="decimalplace" :step="decimalvalue" @keyup.enter="submitFocus" />
                 </el-form-item>
@@ -164,7 +164,7 @@ const formRules: FormRules = {
             if (value) {
                 callback()
             } else {
-                callback(new Error('请输入价格'))
+                callback(new Error(t('quote.pricing.tips2')))
             }
         }
     }],
@@ -175,7 +175,7 @@ const formRules: FormRules = {
             if (value) {
                 callback()
             } else {
-                callback(new Error('请输入允许成交范围'))
+                callback(new Error(t('quote.pricing.tips3')))
             }
         }
     }],
@@ -185,42 +185,42 @@ const formRules: FormRules = {
             if (value) {
                 callback()
             } else {
-                callback(new Error('请输入数量'))
-            }
-        }
-    }],
-    SlPrice: [{
-        required: true,
-        type: 'number',
-        validator: (rule, value, callback) => {
-            if (value) {
-                callback()
-            } else {
-                callback(new Error('请输入止损价'))
-            }
-        }
-    }],
-    SpPrice: [{
-        required: true,
-        type: 'number',
-        validator: (rule, value, callback) => {
-            if (value) {
-                callback()
-            } else {
-                callback(new Error('请输入止盈价'))
+                callback(new Error(t('quote.pricing.tips1')))
             }
         }
     }],
+    // SlPrice: [{
+    //     required: true,
+    //     type: 'number',
+    //     validator: (rule, value, callback) => {
+    //         if (value) {
+    //             callback()
+    //         } else {
+    //             callback(new Error('请输入止损价'))
+    //         }
+    //     }
+    // }],
+    // SpPrice: [{
+    //     required: true,
+    //     type: 'number',
+    //     validator: (rule, value, callback) => {
+    //         if (value) {
+    //             callback()
+    //         } else {
+    //             callback(new Error('请输入止盈价'))
+    //         }
+    //     }
+    // }],
 }
 
 const onPriceClick = (buyorsell: BuyOrSell, value: number) => {
     formData.BuyOrSell = buyorsell === BuyOrSell.Sell ? BuyOrSell.Buy : BuyOrSell.Sell
-    if (isDisabled.value) {
+    // if (isDisabled.value) {
         qtyInputFocus()
-    } else {
+    // } else {
         formData.OrderPrice = value
-        priceInputFocus()
-    }
+        // priceInputFocus()
+    // }
 }
 
 // 价格输入框获取焦点
@@ -260,10 +260,10 @@ const onBeforeSubmit = (buildType: BuildType) => {
 
                 if (settingStore.getSettingValue('showOrderDialog')) {
                     ElMessageBox.confirm(
-                            '是否立即挂牌?',
-                            '提示'
-                        ).then(() => onSubmit())
-                } else {
+                        t('common.tips1'),
+                        t('common.tips')
+                    ).then(() => onSubmit())
+            } else {
                     onSubmit()
                 }
             }

+ 16 - 16
src/packages/pc/views/market/trade/spot/listing/index.vue

@@ -1,38 +1,38 @@
 <!-- 交易市场-仓单交易-挂牌 -->
 <template>
-    <app-drawer title="挂牌" v-model:show="show" :width="800" :loading="loading" :refresh="refresh">
-        <el-form ref="formRef" class="el-form--horizontal" label-width="100px" :model="formData" :rules="formRules">
-            <el-form-item prop="PerformanceTemplateID" label="履约方式">
+    <app-drawer :title="t('operation.listing')" v-model:show="show" :width="900" :loading="loading" :refresh="refresh">
+        <el-form ref="formRef" class="el-form--horizontal" label-width="160px" :model="formData" :rules="formRules">
+            <el-form-item prop="PerformanceTemplateID" :label="t('position.spot.PerformanceTemplate')">
                 <Performance :market-id="17201" tmptype="0,2" v-model="formData.PerformanceTemplateID" />
             </el-form-item>
-            <el-form-item prop="DeliveryGoodsID" label="品种">
+            <el-form-item prop="DeliveryGoodsID" :label="t('quote.spot.deliverygoodsname')">
                 <el-select effect="dark" :placeholder="t('common.choice')" v-model="formData.DeliveryGoodsID" @change="onDeliveryGoodsChange">
                     <el-option :label="item.deliverygoodsname" :value="item.deliverygoodsid"
                         v-for="(item, index) in ftDeliveryGoodsList" :key="index" />
                 </el-select>
             </el-form-item>
-            <el-form-item prop="WRStandardID" label="商品">
+            <el-form-item prop="WRStandardID" :label="t('quote.spot.wrstandard')">
                 <el-select effect="dark" :placeholder="t('common.choice')" v-model="formData.WRStandardID" @change="onGoodsChange">
                     <el-option :label="item.wrstandardname" :value="item.wrstandardid" v-for="(item, index) in goodsList"
                         :key="index" />
                 </el-select>
             </el-form-item>
-            <el-form-item prop="dgFactoryItemId" label="仓库">
+            <el-form-item prop="dgFactoryItemId" :label="t('quote.spot.warehousename1')">
                 <el-select effect="dark" :placeholder="t('common.choice')" v-model="dgFactoryItemId" @change="onWarehouseChange">
                     <el-option :label="item.dgfactoryitemvalue" :value="item.dgfactoryitemid"
                         v-for="(item, index) in warehouseList" :key="index" />
                 </el-select>
             </el-form-item>
-            <el-form-item prop="FixedPrice" label="挂牌价格">
+            <el-form-item prop="FixedPrice" :label="t('quote.spot.listingprice')">
                 <el-input-number :placeholder="t('common.pleaseenter')" :min="0" :precision="2" v-model="formData.FixedPrice" />
             </el-form-item>
-            <el-form-item prop="OrderQty" label="挂牌量">
+            <el-form-item prop="OrderQty" :label="t('quote.spot.listingqty')">
                 <el-input-number :placeholder="t('common.pleaseenter')" :min="0" :precision="0" v-model="formData.OrderQty" />
             </el-form-item>
-            <el-form-item label="货款金额">
+            <el-form-item :label="t('quote.spot.paymentamount')">
                 <span>{{ amount }}</span>
             </el-form-item>
-            <el-form-item label="可用资金">
+            <el-form-item :label="t('quote.spot.avaiableMoney')">
                 <span>{{ accountStore.currentAccount.avaiableMoney?.toFixed(2) }}</span>
             </el-form-item>
         </el-form>
@@ -74,15 +74,15 @@ const warehouseList = computed(() => {
 const formRules: FormRules = {
     PerformanceTemplateID: [{
         required: true,
-        message: '请选择履约方式'
+        message: t('quote.spot.tips14')
     }],
     DeliveryGoodsID: [{
         required: true,
-        message: '请选择品类'
+        message: t('quote.spot.tips10')
     }],
     WRStandardID: [{
         required: true,
-        message: '请选择商品'
+        message: t('quote.spot.tips11')
     }],
     dgFactoryItemId: [{
         required: true,
@@ -90,7 +90,7 @@ const formRules: FormRules = {
             if (dgFactoryItemId.value) {
                 callback()
             } else {
-                callback(new Error('请选择仓库'))
+                callback(new Error(t('quote.spot.tips12')))
             }
         }
     }],
@@ -100,7 +100,7 @@ const formRules: FormRules = {
             if (value) {
                 callback()
             } else {
-                callback(new Error('请输入挂牌价格'))
+                callback(new Error(t('quote.spot.tips2')))
             }
         }
     }],
@@ -110,7 +110,7 @@ const formRules: FormRules = {
             if (value) {
                 callback()
             } else {
-                callback(new Error('请输入挂牌量'))
+                callback(new Error(t('quote.spot.tips4')))
             }
         }
     }],

+ 10 - 10
src/packages/pc/views/market/trade/spot/order/delisting/index.vue

@@ -1,33 +1,33 @@
 <!-- 交易市场-仓单交易-买卖大厅-摘牌 -->
 <template>
-    <app-drawer title="摘牌" v-model:show="show" :width="800" :loading="loading" :refresh="refresh">
-        <el-form ref="formRef" class="el-form--horizontal" label-width="100px" :model="formData" :rules="formRules">
-            <el-form-item label="履约模板">
+    <app-drawer :title="t('operation.delisting')" v-model:show="show" :width="840" :loading="loading" :refresh="refresh">
+        <el-form ref="formRef" class="el-form--horizontal" label-width="160px" :model="formData" :rules="formRules">
+            <el-form-item :label="t('position.spot.PerformanceTemplate')">
                 <span>{{ permancePlanTmp?.templatename ?? quoteDetail.performancetemplateid }}</span>
             </el-form-item>
-            <el-form-item label="挂牌方">
+            <el-form-item :label="t('quote.goods.username')">
                 <span>{{ quoteDetail.username }}</span>
             </el-form-item>
-            <el-form-item label="挂牌价格">
+            <el-form-item :label="t('quote.spot.listingprice')">
                 <span>{{ quoteDetail.fixedprice }}</span>
             </el-form-item>
-            <el-form-item label="剩余量">
+            <el-form-item :label="t('quote.spot.remainqty')">
                 <span>{{ quoteDetail.orderqty }}</span>
             </el-form-item>
-            <el-form-item label="可用量" v-if="quoteDetail.buyorsell === BuyOrSell.Buy">
+            <el-form-item :label="t('quote.spot.enableqty')" v-if="quoteDetail.buyorsell === BuyOrSell.Buy">
                 <span>{{ holdLB?.enableqty ?? 0 }}</span>
             </el-form-item>
-            <el-form-item prop="OrderQty" label="摘牌量">
+            <el-form-item prop="OrderQty" :label="t('quote.spot.orderqty2')">
                 <div class="el-form-item--col">
                     <el-input-number :placeholder="t('common.pleaseenter')" :min="0" :max="maxQty" :precision="0"
                         v-model="formData.OrderQty" />
                     <span>{{ quoteDetail.enumdicname }}</span>
                 </div>
             </el-form-item>
-            <el-form-item label="货款金额">
+            <el-form-item :label="t('quote.spot.paymentamount')">
                 <span>{{ amount }}</span>
             </el-form-item>
-            <el-form-item label="可用资金">
+            <el-form-item :label="t('quote.spot.avaiableMoney')">
                 <span>{{ accountStore.currentAccount.avaiableMoney?.toFixed(2) }}</span>
             </el-form-item>
         </el-form>

+ 5 - 5
src/packages/pc/views/market/trade/spot/order/detail/index.vue

@@ -1,6 +1,6 @@
 <!-- 交易市场-仓单交易-现货挂牌-详情 -->
 <template>
-    <app-drawer title="商品详情" v-model:show="show" :width="600" :refresh="refresh">
+    <app-drawer :title="t('quote.ballot.goodsdetail')" v-model:show="show" :width="600" :refresh="refresh">
         <AppTableDetails :title="`${quoteItem.wrstandardcode}/${quoteItem.wrgoodsname}/${quoteItem.warehousename}`"
             :label-width="100" :data="quoteItem" :cell-props="detailProps" :column="2">
             <!-- 卖价 -->
@@ -40,10 +40,10 @@ const props = defineProps({
 const { t } = i18n.global
 
 const detailProps = [
-    { prop: 'sellprice', label: '卖价:' },
-    { prop: 'sellqty', label: '卖量:' },
-    { prop: 'buyprice', label: '买价:' },
-    { prop: 'buyqty', label: '买量:' }
+    { prop: 'sellprice', label: t('quote.ask')+':' },
+    { prop: 'sellqty', label: t('quote.askvolume')+':' },
+    { prop: 'buyprice', label: t('quote.bid')+':' },
+    { prop: 'buyqty', label: t('quote.bidvolume')+':' }
 ]
 
 // 商品图片列表

+ 14 - 14
src/packages/pc/views/market/trade/spot/order/index.vue

@@ -20,19 +20,19 @@
                     </ul>
                     <ul class="datainfo" v-if="quoteItem">
                         <li>
-                            <span>卖价:</span>
+                            <span>{{ t('quote.ask' ) }}:</span>
                             <span>{{ handleNumberValue(quoteItem.sellprice) }}</span>
                         </li>
                         <li>
-                            <span>买价:</span>
+                            <span>{{ t('quote.bid' ) }}:</span>
                             <span>{{ handleNumberValue(quoteItem.buyprice) }}</span>
                         </li>
                         <li>
-                            <span>卖量:</span>
+                            <span>{{ t('quote.askvolume' ) }}:</span>
                             <span>{{ quoteItem.sellqty }}</span>
                         </li>
                         <li>
-                            <span>买量:</span>
+                            <span>{{ t('quote.bidvolume' ) }}:</span>
                             <span>{{ quoteItem.buyqty }}</span>
                         </li>
                     </ul>
@@ -135,19 +135,19 @@ const { dataList: sellList, run: getSellList } = useRequest(queryOrderQuoteDetai
 })
 
 const buyColumns = shallowRef<Model.TableColumn[]>(
-    oem != 'zrwyt' ? [{ field: 'fixedprice', label: '买价' },
-    { field: 'orderqty', label: '买量' },
-    { field: 'username', label: '购买方' }] :
-        [{ field: 'fixedprice', label: '买价' },
-        { field: 'orderqty', label: '买量' }]
+    oem != 'zrwyt' ? [{ field: 'fixedprice', label: t('quote.bid' ) },
+    { field: 'orderqty', label: t('quote.bidvolume' ) },
+    { field: 'username', label: t('quote.buyusername' ) }] :
+        [{ field: 'fixedprice', label: t('quote.bid' ) },
+        { field: 'orderqty', label: t('quote.bidvolume' ) }]
 )
 
 const sellColumns = shallowRef<Model.TableColumn[]>(
-    oem != 'zrwyt' ? [{ field: 'fixedprice', label: '卖价' },
-    { field: 'orderqty', label: '卖量' },
-    { field: 'username', label: '销售方' }] :
-        [{ field: 'fixedprice', label: '卖价' },
-        { field: 'orderqty', label: '卖量' }]
+    oem != 'zrwyt' ? [{ field: 'fixedprice', label: t('quote.ask' ) },
+    { field: 'orderqty', label: t('quote.askvolume' ) },
+    { field: 'username', label: t('quote.sellusername' ) }] :
+        [{ field: 'fixedprice', label: t('quote.ask' ) },
+        { field: 'orderqty', label: t('quote.askvolume' ) }]
 )
 
 const showComponent = (componentName: string, row: Model.OrderQuoteDetailRsp) => {

+ 12 - 12
src/packages/pc/views/market/trade/spot/order/listing/index.vue

@@ -1,23 +1,23 @@
 <!-- 交易市场-仓单交易-买卖大厅-挂牌 -->
 <template>
-    <app-drawer title="挂牌" v-model:show="show" :width="800" :loading="loading" :refresh="refresh">
-        <el-form ref="formRef" class="el-form--horizontal" label-width="100px" :model="formData" :rules="formRules">
-            <el-form-item prop="PerformanceTemplateID" label="履约方式">
+    <app-drawer :title="t('operation.listing')" v-model:show="show" :width="860" :loading="loading" :refresh="refresh">
+        <el-form ref="formRef" class="el-form--horizontal" label-width="160px" :model="formData" :rules="formRules">
+            <el-form-item prop="PerformanceTemplateID" :label="t('position.spot.PerformanceTemplate')">
                 <Performance :market-id="17201" tmptype="0,2" v-model="formData.PerformanceTemplateID" />
             </el-form-item>
-            <el-form-item prop="FixedPrice" label="挂牌价格">
+            <el-form-item prop="FixedPrice" :label="t('quote.spot.listingprice')">
                 <el-input-number :placeholder="t('common.pleaseenter')" :min="0" :precision="2" v-model="formData.FixedPrice" />
             </el-form-item>
-            <el-form-item label="可用量" v-if="buyOrSell === BuyOrSell.Sell">
+            <el-form-item :label="t('quote.spot.enableqty')" v-if="buyOrSell === BuyOrSell.Sell">
                 <span>{{ holdLB?.enableqty ?? 0 }}</span>
             </el-form-item>
-            <el-form-item prop="OrderQty" label="挂牌量">
+            <el-form-item prop="OrderQty" :label="t('quote.spot.listingqty')">
                 <el-input-number :placeholder="t('common.pleaseenter')" :min="0" :precision="0" v-model="formData.OrderQty" />
             </el-form-item>
-            <el-form-item label="货款金额">
+            <el-form-item :label="t('quote.spot.paymentamount')">
                 <span>{{ amount }}</span>
             </el-form-item>
-            <el-form-item label="可用资金">
+            <el-form-item :label="t('quote.spot.avaiableMoney')">
                 <span>{{ accountStore.currentAccount.avaiableMoney?.toFixed(2) }}</span>
             </el-form-item>
         </el-form>
@@ -72,7 +72,7 @@ const formRules: FormRules = {
     PerformanceTemplateID: [{
         required: true,
         type: 'number',
-        message: '请选择履约方式'
+        message: t('quote.spot.tips14')
     }],
     FixedPrice: [{
         required: true,
@@ -81,7 +81,7 @@ const formRules: FormRules = {
             if (value) {
                 callback()
             } else {
-                callback(new Error('请输入价格'))
+                callback(new Error(t('quote.pricing.tips2')))
             }
         }
     }],
@@ -94,10 +94,10 @@ const formRules: FormRules = {
                 if (props.buyOrSell === BuyOrSell.Buy || value <= enableqty) {
                     callback()
                 } else {
-                    callback(new Error('可用量不足'))
+                    callback(new Error(t('quote.pricing.tips5')))
                 }
             } else {
-                callback(new Error('请输入挂牌量'))
+                callback(new Error(t('quote.swap.tips8')))
             }
         }
     }],

+ 1 - 1
src/packages/pc/views/market/trade/swap/detail/listing/index.vue

@@ -198,7 +198,7 @@ const onCancel = (isRefresh = false) => {
 const onSubmit = () => {
     formRef.value?.validate((valid) => {
         if (valid) {
-            ElMessageBox.confirm('是否立即挂牌?').then(() => {
+            ElMessageBox.confirm(t('common.tips1')).then(() => {
                 /// 获取对应的市场ID
                 formData.MarketID = marketid
                 formData.OrderPrice = priceMove.value === EPriceMode.PRICEMODE_LIMIT ? formData.OrderPrice : 0.0