li.shaoyi 1 éve
szülő
commit
7060a9e212

+ 22 - 6
src/packages/pc/components/base/table-v2/index.vue

@@ -2,7 +2,7 @@
   <div class="app-table-v2">
     <el-auto-resizer>
       <template #default="{ height, width }">
-        <el-table-v2 :data="tableList" :columns="tableColumns" :width="width" :height="height"
+        <el-table-v2 :data="tableList" :columns="generateColumns(width)" :width="width" :height="height"
           :header-height="headerHeight" :row-height="rowHeight" fixed />
       </template>
     </el-auto-resizer>
@@ -33,15 +33,31 @@ const props = defineProps({
   }
 })
 
+// 计算出固定宽度
+const fixedWidth = props.columns.reduce<{ length: number; width: number }>((pre, cur) => {
+  if (cur.width) {
+    pre.length += 1
+    pre.width += cur.width
+  }
+  return pre
+}, { length: 0, width: 0 })
+
+const generateColumns = (width: number) => {
+  // 最小宽度
+  const minWidth = 120
+  // 计算平均剩余宽度,减去 --el-table-scrollbar-size 宽度
+  const defaultWidth = (width - 6 - fixedWidth.width) / (props.columns.length - fixedWidth.length)
+
+  return props.columns.map((e) => ({
+    width: defaultWidth < minWidth ? minWidth : defaultWidth,
+    ...e
+  }))
+}
+
 const tableList = computed(() => props.data.map((e, i) => {
   const obj = { id: i }
   return { ...obj, ...e as object }
 }))
-
-const tableColumns = computed(() => props.columns.map((e) => ({
-  width: 120,
-  ...e
-})))
 </script>
 
 <style lang="less">

+ 1 - 1
src/packages/pc/components/modules/performance-rule/index.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="app-performance-rule">
         <div class="block" v-for="(step, j) in item.LstStep" :key="j">
-            <el-tag :type="j % 2 ? 'warning' : ''" disable-transitions>{{ step.steptypename }}</el-tag>
+            <el-tag :type="j % 2 ? 'warning' : 'primary'" disable-transitions>{{ step.steptypename }}</el-tag>
             <span class="block-label">{{ step.stepdate }}</span>
         </div>
     </div>

+ 4 - 4
src/packages/pc/views/account/receipt/components/edit/index.vue

@@ -1,12 +1,12 @@
 <!-- 账户管理-发票信息管理-编辑 -->
 <template>
-    <app-drawer :title="selectedRow?.autoid ? t('mine.invoice.title1') : t('mine.invoice.title2')" :width="800" v-model:show="show" :loading="loading"
-        :refresh="refresh">
+    <app-drawer :title="selectedRow?.autoid ? t('mine.invoice.title1') : t('mine.invoice.title2')" :width="800"
+        v-model:show="show" :loading="loading" :refresh="refresh">
         <el-form ref="formRef" class="el-form--horizontal" label-width="100px" :model="formData" :rules="formRules">
             <el-form-item :label="t('mine.invoice.receipttype')" prop="ReceiptType">
                 <el-radio-group v-model="formData.ReceiptType">
-                    <el-radio :label="1">{{ t('mine.invoice.personal') }}</el-radio>
-                    <el-radio :label="2">{{ t('mine.invoice.company') }}</el-radio>
+                    <el-radio :label="t('mine.invoice.personal')" :value="1" />
+                    <el-radio :label="t('mine.invoice.company')" :value="2" />
                 </el-radio-group>
             </el-form-item>
             <el-form-item :label="t('mine.invoice.UserName')" prop="UserName">

+ 6 - 5
src/packages/pc/views/footer/goods/order/clear/index.vue

@@ -1,6 +1,7 @@
 <!-- 商品订单-委托-快撤 -->
 <template>
-    <app-drawer :title="t('order.goodsorder.clear.title')" v-model:show="show" :width="420" :loading="loading" :refresh="refresh">
+    <app-drawer :title="t('order.goodsorder.clear.title')" v-model:show="show" :width="420" :loading="loading"
+        :refresh="refresh">
         <el-form ref="formRef" class="el-form--vertical" label-width="100px" :model="formModel" :rules="formRules"
             @submit.prevent>
             <el-form-item prop="goodsId" :label="t('order.goodsorder.clear.goodsId')">
@@ -12,12 +13,12 @@
             </el-form-item>
             <el-form-item :label="t('order.goodsorder.clear.buyOrSell')">
                 <el-radio-group v-model="formModel.buyOrSell">
-                    <el-radio v-for="(item, index) in getBuyOrSellList()" :key="index" :label="item.value">
-                        {{ item.label }}
-                    </el-radio>
+                    <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="price" :label="(formModel.buyOrSell === BuyOrSell.Buy ? '≤' : '≥')+t('order.goodsorder.clear.price')">
+            <el-form-item prop="price"
+                :label="(formModel.buyOrSell === BuyOrSell.Buy ? '≤' : '≥') + t('order.goodsorder.clear.price')">
                 <el-input-number :placeholder="t('common.pleaseenter')" v-model="formModel.price" />
             </el-form-item>
         </el-form>

+ 4 - 6
src/packages/pc/views/footer/goods/position/components/transfer/index.vue

@@ -33,17 +33,15 @@
                     <el-input-number :placeholder="t('position.goods.tips2')" v-model="formData.OrderQty" :precision="0"
                         :max="selectedRow.enableqty" :min="0" />
                     <el-radio-group size="small" v-model="qtyStep" @change="onRadioChange">
-                        <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="value" border
-                            style="width: 25%;">
-                            {{ parsePercent(value, 0) }}
-                        </el-radio>
+                        <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="parsePercent(value, 0)"
+                            :value="value" border style="width: 25%;" />
                     </el-radio-group>
                 </div>
             </el-form-item>
             <el-form-item prop="OrderPrice" :label="t('position.goods.transferprice')">
                 <div class="el-form-item--col">
-                    <el-input-number :placeholder="t('position.goods.tips1')" v-model="formData.OrderPrice" :step="quote?.decimalvalue"
-                    :precision="quote?.decimalplace" />
+                    <el-input-number :placeholder="t('position.goods.tips1')" v-model="formData.OrderPrice"
+                        :step="quote?.decimalvalue" :precision="quote?.decimalplace" />
                     <div v-if="quote">
                         <div class="row-price g-price-up">
                             <Icon icon="Top" />

+ 16 - 16
src/packages/pc/views/footer/pricing/detail/components/transfer/index.vue

@@ -28,27 +28,27 @@
             </el-form-item>
             <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 v-for="(item, index) in getPricemode2List()" :key="index" :label="item.label"
+                        :value="item.value" />
                 </el-radio-group>
             </el-form-item>
-            <el-form-item prop="MarketMaxSub" :label="t('quote.pricing.marketmaxsub1')" v-if="formData.PriceMode === PriceMode.Market">
-                <el-input-number ref="priceRef" :placeholder="t('common.pleaseenter')" :min="0" :max="999" v-model="formData.MarketMaxSub" />
+            <el-form-item prop="MarketMaxSub" :label="t('quote.pricing.marketmaxsub1')"
+                v-if="formData.PriceMode === PriceMode.Market">
+                <el-input-number ref="priceRef" :placeholder="t('common.pleaseenter')" :min="0" :max="999"
+                    v-model="formData.MarketMaxSub" />
             </el-form-item>
-            <el-form-item prop="OrderPrice" :label="t('position.transfer.transferprice')" v-if="formData.PriceMode === PriceMode.Limit">
-                <el-input-number :placeholder="t('position.transfer.tips3')" v-model="formData.OrderPrice" :step="quote?.decimalvalue"
-                    :precision="quote?.decimalplace" />
+            <el-form-item prop="OrderPrice" :label="t('position.transfer.transferprice')"
+                v-if="formData.PriceMode === PriceMode.Limit">
+                <el-input-number :placeholder="t('position.transfer.tips3')" v-model="formData.OrderPrice"
+                    :step="quote?.decimalvalue" :precision="quote?.decimalplace" />
             </el-form-item>
             <el-form-item prop="OrderQty" :label="t('position.transfer.transferqty')">
                 <div class="g-qty-group">
-                    <el-input-number :placeholder="t('position.transfer.tips4')" v-model="formData.OrderQty" :precision="0" :max="maxQty"
-                        :min="0" />
+                    <el-input-number :placeholder="t('position.transfer.tips4')" v-model="formData.OrderQty"
+                        :precision="0" :max="maxQty" :min="0" />
                     <el-radio-group size="small" v-model="qtyStep" @change="onRadioChange">
-                        <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="value" border
-                            style="width: 25%;">
-                            {{ parsePercent(value, 0) }}
-                        </el-radio>
+                        <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="parsePercent(value, 0)"
+                            :value="value" border style="width: 25%;" />
                     </el-radio-group>
                 </div>
             </el-form-item>
@@ -104,14 +104,14 @@ const closepl = computed(() => {
     const { presettle = 0, last = 0 } = quote.value ?? {}
     const { holderqty, holderamount, agreeunit, buyorsell, currencyid, tacurrencyid } = props.selectedRow
     const price = last || presettle // 没有最新价取昨结价
-    
+
     // 查找汇率
     let exchangerate = 1
     if (currencyid !== tacurrencyid) {
         const currency = userStore.userData.exchangeRateConfigs.find((e) => e.descurrencyid === tacurrencyid && e.oricurrencyid === currencyid)
         exchangerate = currency?.exchangerate ?? 0
     }
-    
+
     // 计算市值 = 现价 * 数量 * 合约单位
     const marketValue = price ? price * holderqty * agreeunit * exchangerate : 0
     return price ? (marketValue - holderamount) * (buyorsell === BuyOrSell.Buy ? 1 : -1) : 0

+ 12 - 14
src/packages/pc/views/footer/pricing/detail2/components/transfer/index.vue

@@ -28,27 +28,25 @@
             </el-form-item>
             <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 v-for="(item, index) in getPricemode2List()" :key="index" :label="item.label"
+                        :value="item.value" />
                 </el-radio-group>
             </el-form-item>
             <!-- <el-form-item prop="MarketMaxSub" :label="t('quote.pricing.marketmaxsub1')" v-if="formData.PriceMode === PriceMode.Market">
                 <el-input-number ref="priceRef" :placeholder="t('common.pleaseenter')" :min="0" :max="999" v-model="formData.MarketMaxSub" />
             </el-form-item> -->
-            <el-form-item prop="OrderPrice" :label="t('position.goods.transferprice')" v-if="formData.PriceMode === PriceMode.Limit">
-                <el-input-number :placeholder="t('position.transfer.tips3')" v-model="formData.OrderPrice" :step="quote?.decimalvalue"
-                    :precision="quote?.decimalplace" />
+            <el-form-item prop="OrderPrice" :label="t('position.goods.transferprice')"
+                v-if="formData.PriceMode === PriceMode.Limit">
+                <el-input-number :placeholder="t('position.transfer.tips3')" v-model="formData.OrderPrice"
+                    :step="quote?.decimalvalue" :precision="quote?.decimalplace" />
             </el-form-item>
             <el-form-item prop="OrderQty" :label="t('position.transfer.transferqty')">
                 <div class="g-qty-group">
-                    <el-input-number :placeholder="t('position.transfer.tips4')" v-model="formData.OrderQty" :precision="0" :max="maxQty"
-                        :min="0" />
+                    <el-input-number :placeholder="t('position.transfer.tips4')" v-model="formData.OrderQty"
+                        :precision="0" :max="maxQty" :min="0" />
                     <el-radio-group size="small" v-model="qtyStep" @change="onRadioChange">
-                        <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="value" border
-                            style="width: 25%;">
-                            {{ parsePercent(value, 0) }}
-                        </el-radio>
+                        <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="parsePercent(value, 0)"
+                            :value="value" border style="width: 25%;" />
                     </el-radio-group>
                 </div>
             </el-form-item>
@@ -110,14 +108,14 @@ const closepl = computed(() => {
     // const goods = futuresStore.getGoods(props.selectedRow.goodsCode)
     // const { currencyid } = goods ?? {}
     // const { currencyid: tacurrencyid } = accountStore.currentAccount
-    
+
     // 查找汇率
     let exchangerate = 1
     // if (currencyid !== tacurrencyid) {
     //     const currency = userStore.userData.exchangeRateConfigs.find((e) => e.descurrencyid === tacurrencyid && e.oricurrencyid === currencyid)
     //     exchangerate = currency?.exchangerate ?? 1
     // }
-    
+
     // 计算市值 = 现价 * 数量 * 合约单位
     const marketValue = price ? price * holderQty * agreeunit * exchangerate : 0
     return price ? (marketValue - holderAmount) * (buyOrSell === BuyOrSell.Buy ? 1 : -1) : 0

+ 6 - 5
src/packages/pc/views/footer/pricing/order/clear/index.vue

@@ -1,6 +1,7 @@
 <!-- 挂牌点价-委托-快撤 -->
 <template>
-    <app-drawer :title="t('order.goodsorder.clear.title')" v-model:show="show" :width="420" :loading="loading" :refresh="refresh">
+    <app-drawer :title="t('order.goodsorder.clear.title')" v-model:show="show" :width="420" :loading="loading"
+        :refresh="refresh">
         <el-form ref="formRef" class="el-form--vertical" label-width="100px" :model="formModel" :rules="formRules"
             @submit.prevent>
             <el-form-item prop="goodsId" :label="t('order.goodsorder.clear.goodsId')">
@@ -12,12 +13,12 @@
             </el-form-item>
             <el-form-item :label="t('order.goodsorder.clear.buyOrSell')">
                 <el-radio-group v-model="formModel.buyOrSell">
-                    <el-radio v-for="(item, index) in getBuyOrSellList()" :key="index" :label="item.value">
-                        {{ item.label }}
-                    </el-radio>
+                    <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="price" :label="(formModel.buyOrSell === BuyOrSell.Buy ? '≤' : '≥')+t('order.goodsorder.clear.price')">
+            <el-form-item prop="price"
+                :label="(formModel.buyOrSell === BuyOrSell.Buy ? '≤' : '≥') + t('order.goodsorder.clear.price')">
                 <el-input-number :placeholder="t('common.pleaseenter')" v-model="formModel.price" />
             </el-form-item>
         </el-form>

+ 16 - 16
src/packages/pc/views/footer/pricing/position/components/transfer/index.vue

@@ -30,31 +30,31 @@
             </el-form-item>
             <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 v-for="(item, index) in getPricemode2List()" :key="index" :label="item.label"
+                        :value="item.value" />
                 </el-radio-group>
             </el-form-item>
-            <el-form-item prop="MarketMaxSub" :label="t('quote.pricing.marketmaxsub1')" v-if="formData.PriceMode === PriceMode.Market">
-                <el-input-number ref="priceRef" :placeholder="t('common.pleaseenter')" :min="0" :max="999" v-model="formData.MarketMaxSub" />
+            <el-form-item prop="MarketMaxSub" :label="t('quote.pricing.marketmaxsub1')"
+                v-if="formData.PriceMode === PriceMode.Market">
+                <el-input-number ref="priceRef" :placeholder="t('common.pleaseenter')" :min="0" :max="999"
+                    v-model="formData.MarketMaxSub" />
             </el-form-item>
-            <el-form-item prop="OrderPrice" :label="t('position.transfer.transferprice')" v-if="formData.PriceMode === PriceMode.Limit">
-                <el-input-number :placeholder="t('position.transfer.tips3')" v-model="formData.OrderPrice" :step="decimalvalue"
-                    :precision="decimalplace" />
+            <el-form-item prop="OrderPrice" :label="t('position.transfer.transferprice')"
+                v-if="formData.PriceMode === PriceMode.Limit">
+                <el-input-number :placeholder="t('position.transfer.tips3')" v-model="formData.OrderPrice"
+                    :step="decimalvalue" :precision="decimalplace" />
             </el-form-item>
             <el-form-item prop="OrderQty" :label="t('position.transfer.transferqty')">
                 <div class="g-qty-group">
-                    <el-input-number :placeholder="t('position.transfer.tips4')" v-model="formData.OrderQty" :precision="0"
-                        :max="position.enableqty" :min="0" />
+                    <el-input-number :placeholder="t('position.transfer.tips4')" v-model="formData.OrderQty"
+                        :precision="0" :max="position.enableqty" :min="0" />
                     <el-radio-group size="small" v-model="qtyStep" @change="onRadioChange">
-                        <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="value" border
-                            style="width: 25%;">
-                            {{ parsePercent(value, 0) }}
-                        </el-radio>
+                        <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="parsePercent(value, 0)"
+                            :value="value" border style="width: 25%;" />
                     </el-radio-group>
                 </div>
             </el-form-item>
-        </el-form> 
+        </el-form>
         <template #footer>
             <el-button type="info" @click="onCancel(false)">{{ t('operation.cancel') }}</el-button>
             <el-button type="primary" @click="onCloseSumit">{{ t('operation.submit') }}</el-button>
@@ -90,7 +90,7 @@ const orderPriceType = computed(() => settingStore.getSettingValue('orderPriceTy
 const quote = futuresStore.getGoodsQuote(props.position.goodscode)
 const { decimalplace = 0 } = quote.value ?? {}
 const quoteminunit = quote.value?.quoteminunit ?? 1
-const decimalvalue = Math.pow(10.0, -decimalplace)*(quoteminunit == 0 ? 1 : quoteminunit)
+const decimalvalue = Math.pow(10.0, -decimalplace) * (quoteminunit == 0 ? 1 : quoteminunit)
 const { t } = i18n.global
 const { formSubmit, formData, loading } = useOrder()
 const show = ref(true)

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

@@ -9,22 +9,21 @@
                 :rules="formRules">
                 <el-form-item prop="GoodsID" :label="t('quote.goods.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-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="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 v-for="(item, index) in getBuyOrSellList()" :key="index" :label="item.label"
+                            :value="item.value" />
                     </el-radio-group>
                 </el-form-item>
                 <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"
-                            @keyup.enter="qtyInputFocus" />
+                        <el-input-number ref="priceRef" :placeholder="t('common.pleaseenter')" :min="0"
+                            :step="selectedGoods?.decimalvalue" :precision="selectedGoods?.decimalplace"
+                            :disabled="isDisabled" v-model="formData.OrderPrice" @keyup.enter="qtyInputFocus" />
                         <div v-if="selectedGoods">
                             <div class="row-price g-price-up">
                                 <Icon icon="Top" />
@@ -39,16 +38,18 @@
                 </el-form-item>
                 <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" :max="9999999999" :precision="0" :step="qtyStep || 1"
-                            v-model="formData.OrderQty" @keyup.enter="submitFocus" />
+                        <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" />
                         <el-radio-group size="small" v-model="qtyStep" :validate-event="false" @change="onRadioChange">
-                            <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="value" border />
+                            <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="value" :value="value"
+                                border />
                         </el-radio-group>
                         <template
                             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>{{ t('quote.enableQty')}}:{{ total.enableQty }}</span>
+                                <span>{{ t('quote.enableQty') }}:{{ total.enableQty }}</span>
                                 <span>预扣保证金:{{ total.deposit.toFixed(2) }}</span>
                             </div>
                         </template>
@@ -57,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(EBuildType.BUILDTYPE_OPEN)"
-                            v-if="!selectedGoods?.iscannotbuy">{{ t('quote.orderbuy') }}</el-button>
+                            @click="onBeforeSubmit(EBuildType.BUILDTYPE_OPEN)" v-if="!selectedGoods?.iscannotbuy">{{
+                                t('quote.orderbuy') }}</el-button>
                         <el-button type="primary"
                             :disabled="!formData.OrderQty || !sellQty || (formData.OrderQty > sellQty)"
                             @click="onBeforeSubmit(EBuildType.BUILDTYPE_CLOSE)" v-if="!isTrademode16">
@@ -70,7 +71,8 @@
                         <el-button ref="submitRef" type="success" :disabled="!selectedGoodsId || !formData.OrderQty"
                             @click="onBeforeSubmit(EBuildType.BUILDTYPE_OPEN)"
                             v-if="!isTrademode16 && !selectedGoods?.iscannotsell">{{ t('quote.ordersell') }}</el-button>
-                        <el-button type="primary" :disabled="!formData.OrderQty || !buyQty || (formData.OrderQty > buyQty)"
+                        <el-button type="primary"
+                            :disabled="!formData.OrderQty || !buyQty || (formData.OrderQty > buyQty)"
                             @click="onBeforeSubmit(EBuildType.BUILDTYPE_CLOSE)">
                             <span>{{ t('quote.transfersell') }}</span>
                             <span v-if="buyQty">(≤{{ buyQty }})</span>

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

@@ -7,23 +7,23 @@
             <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="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 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="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 v-for="(item, index) in getBuyOrSellList()" :key="index" :label="item.label"
+                            :value="item.value" />
                     </el-radio-group>
                 </el-form-item>
                 <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"
-                            @keyup.enter="qtyInputFocus" />
+                        <el-input-number ref="priceRef" :placeholder="t('common.pleaseenter')" :min="0"
+                            :step="selectedGoods?.decimalvalue" :precision="selectedGoods?.decimalplace"
+                            :disabled="isDisabled" v-model="formData.OrderPrice" @keyup.enter="qtyInputFocus" />
                         <div v-if="selectedGoods">
                             <div class="row-price g-price-up">
                                 <Icon icon="Top" />
@@ -38,17 +38,19 @@
                 </el-form-item>
                 <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" />
+                        <el-input-number ref="qtyRef" :placeholder="t('common.pleaseenter')" :min="0" :precision="0"
+                            :step="qtyStep || 1" v-model="formData.OrderQty" @keyup.enter="submitFocus" />
                         <el-radio-group size="small" v-model="qtyStep" :validate-event="false" @change="onRadioChange">
-                            <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="value" border />
+                            <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="value" :value="value"
+                                border />
                         </el-radio-group>
                     </div>
                 </el-form-item>
                 <el-form-item class="footer-btnbar">
                     <el-button ref="submitRef" type="danger" :loading="loading" :disabled="!selectedGoodsId"
                         @click="onBeforeSubmit"
-                        v-if="formData.BuyOrSell === BuyOrSell.Buy && !selectedGoods?.iscannotbuy">{{ t('operation.order') }}</el-button>
+                        v-if="formData.BuyOrSell === BuyOrSell.Buy && !selectedGoods?.iscannotbuy">{{
+                            t('operation.order') }}</el-button>
                     <el-button ref="submitRef" type="primary" :loading="loading"
                         :disabled="!formData.OrderQty || !enableqty || (formData.OrderQty > enableqty)"
                         @click="onBeforeSubmit" v-if="formData.BuyOrSell === BuyOrSell.Sell">

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

@@ -9,30 +9,29 @@
                 :rules="formRules">
                 <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.goodscode" :value="item.goodsid" v-for="(item, index) in marketGoodsList"
-                            :key="index" />
+                        <el-option :label="item.goodscode" :value="item.goodsid"
+                            v-for="(item, index) in marketGoodsList" :key="index" />
                     </el-select>
                 </el-form-item>
                 <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 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-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 v-for="(item, index) in getPricemode2List()" :key="index" :label="item.label"
+                            :value="item.value" />
                     </el-radio-group>
                 </el-form-item>
                 <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" />
+                        <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" />
                         <el-radio-group size="small" v-model="qtyStep" :validate-event="false" @change="onRadioChange">
-                            <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="value" border />
+                            <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="value" :value="value" border />
                         </el-radio-group>
                         <template
                             v-if="(formData.BuyOrSell === BuyOrSell.Buy || selectedGoods?.tradeproperty !== 2) && settingStore.getSettingValue('showOrderEnableQty')">
@@ -40,7 +39,8 @@
                                 style="display: flex;flex-direction: column;line-height: normal;font-size: 12px;color: #7a8a94;">
                                 <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>
+                                <span>{{ t('quote.pricing.avaiableMoney') }}:{{
+                                    accountStore.currentAccount.avaiableMoney?.toFixed(2) }}</span>
                             </div>
                         </template>
                     </div>
@@ -49,15 +49,17 @@
                     <el-input-number ref="priceRef" :placeholder="t('common.pleaseenter')" :min="0" :max="999" v-model="formData.MarketMaxSub" 
                     @keyup.enter="submitFocus" />
                 </el-form-item> -->
-                <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 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>
                 <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">{{
+                            t('operation.order') }}</el-button>
                         <!-- <el-button type="primary"
                             :disabled="!formData.OrderQty || !sellQty || (formData.OrderQty > sellQty)"
                             @click="onBeforeSubmit(BuildType.Close)" v-if="!isTrademode16 && riskcontrolmode != 1">
@@ -76,7 +78,7 @@
                         </el-button> -->
                     </template>
                 </el-form-item>
-            </el-form> 
+            </el-form>
         </el-scrollbar>
     </div>
 </template>
@@ -102,8 +104,8 @@ const formRef = shallowRef<FormInstance>()
 // 数量步长列表
 const qtyStepList = computed(() => {
     const system_1009 = Number(getSystemParamValue('1009')) ?? 1
-    return [1*system_1009, 10*system_1009, 100*system_1009]
-}) 
+    return [1 * system_1009, 10 * system_1009, 100 * system_1009]
+})
 const qtyStep = shallowRef(qtyStepList.value[0]) // 数量步长
 const { t } = i18n.global
 
@@ -148,7 +150,7 @@ const total = computed(() => {
 })
 
 // 持仓汇总
-const position = shallowRef<Model.TradePositionRsp[]>([]) 
+const position = shallowRef<Model.TradePositionRsp[]>([])
 // 买方向持仓数量
 // const buyQty = computed(() => positionStore.getOrderQty(BuyOrSell.Buy, selectedGoodsId.value))
 // 卖方向持仓数量
@@ -162,7 +164,7 @@ const isDisabled = computed(() => [3, 4].includes(orderPriceType.value))
 // 小数位以及步进值
 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 decimalvalue = Math.pow(10.0, -decimalplace) * (quoteminunit == 0 ? 1 : quoteminunit)
 
 const formRules: FormRules = {
     OrderPrice: [{
@@ -224,10 +226,10 @@ const formRules: FormRules = {
 const onPriceClick = (buyorsell: BuyOrSell, value: number) => {
     formData.BuyOrSell = buyorsell === BuyOrSell.Sell ? BuyOrSell.Buy : BuyOrSell.Sell
     // if (isDisabled.value) {
-        qtyInputFocus()
+    qtyInputFocus()
     // } else {
-        formData.OrderPrice = value
-        // priceInputFocus()
+    formData.OrderPrice = value
+    // priceInputFocus()
     // }
 }
 
@@ -271,7 +273,7 @@ const onBeforeSubmit = (buildType: BuildType) => {
                         t('common.tips1'),
                         t('common.tips')
                     ).then(() => onSubmit())
-            } else {
+                } else {
                     onSubmit()
                 }
             }

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

@@ -4,20 +4,20 @@
         <el-form ref="formRef" class="el-form--horizontal" label-width="100px" :model="formData" :rules="formRules">
             <el-form-item :label="t('quote.buyorsell')" prop="BuyOrSell">
                 <el-radio-group v-model="formData.BuyOrSell">
-                    <el-radio :label="0">{{ t('quote.bidlisting') }}</el-radio>
-                    <el-radio :label="1">{{ t('quote.asklisting') }}</el-radio>
+                    <el-radio :label="t('quote.bidlisting')" :value="0" />
+                    <el-radio :label="t('quote.asklisting')" :value="1" />
                 </el-radio-group>
             </el-form-item>
             <el-form-item label="价格类型" prop="PriceMove">
                 <el-radio-group v-model="priceMove">
-                    <el-radio :label="2">固定价</el-radio>
-                    <el-radio v-if="userStore.userType != 5" :label="3">浮动价</el-radio>
+                    <el-radio label="固定价" :value="2" />
+                    <el-radio v-if="userStore.userType != 5" label="浮动价" :value="3" />
                 </el-radio-group>
             </el-form-item>
             <el-form-item v-if="priceMove === 2" prop="OrderPrice" label="挂牌价格">
-                <el-input-number :placeholder="t('common.pleaseenter')" :min="0" :step="Math.pow(10, -1 * (goods?.decimalplace ?? 0))"
-                    :precision="(goods?.decimalplace ?? 2)" v-model="formData.OrderPrice"
-                    @change="calculateListingAmount" />
+                <el-input-number :placeholder="t('common.pleaseenter')" :min="0"
+                    :step="Math.pow(10, -1 * (goods?.decimalplace ?? 0))" :precision="(goods?.decimalplace ?? 2)"
+                    v-model="formData.OrderPrice" @change="calculateListingAmount" />
             </el-form-item>
             <el-form-item v-if="priceMove === 3" prop="MarketMaxSub" label="点差">
                 <el-input-number :placeholder="t('common.pleaseenter')" :min="minspread" :max="maxspread" :precision="2"
@@ -25,10 +25,11 @@
             </el-form-item>
             <el-form-item prop="OrderQty" label="挂牌量">
                 <div class="g-qty-group">
-                    <el-input-number :placeholder="t('common.pleaseenter')" :min="0" :precision="0" :step="qtyStep" v-model="formData.OrderQty"
-                        @change="calculateListingAmount" />
+                    <el-input-number :placeholder="t('common.pleaseenter')" :min="0" :precision="0" :step="qtyStep"
+                        v-model="formData.OrderQty" @change="calculateListingAmount" />
                     <el-radio-group size="small" v-model="qtyStep" @change="onRadioChange">
-                        <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="value" border />
+                        <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="value" :value="value"
+                            border />
                     </el-radio-group>
                 </div>
             </el-form-item>

+ 31 - 23
src/packages/pc/views/market/trade/swap/detail/order/delisting/index.vue

@@ -10,20 +10,22 @@
             </el-form-item>
             <el-form-item label="价格类型" prop="PriceMove">
                 <el-radio-group v-model="priceMove">
-                    <el-radio :label="2" v-if="selectedRow.pricemode === 2">固定价</el-radio>
-                    <el-radio :label="3" v-if="selectedRow.pricemode === 3">浮动价</el-radio>
+                    <el-radio label="固定价" :value="2" v-if="selectedRow.pricemode === 2" />
+                    <el-radio label="浮动价" :value="3" v-if="selectedRow.pricemode === 3" />
                 </el-radio-group>
             </el-form-item>
             <el-form-item :label="t('quote.swap.buyorsell')">
                 <span>{{ getBuyOrSellName(selectedRow.buyorsell) }}</span>
             </el-form-item>
             <el-form-item label="挂牌价格">
-                <span :class="quote?.lastColor">{{ selectedRow.pricemode === 3 ? (selectedRow.marketmaxsub+(quote?.last ?? 0.0)).toFixed(goods?.decimalplace ?? 2.0) : selectedRow.orderprice }}</span>
+                <span :class="quote?.lastColor">{{ selectedRow.pricemode === 3 ? (selectedRow.marketmaxsub +
+                    (quote?.last
+                        ?? 0.0)).toFixed(goods?.decimalplace ?? 2.0) : selectedRow.orderprice }}</span>
             </el-form-item>
             <el-form-item label="卖出价格" v-if="selectedRow.pricemode === 3" prop="PriceMode">
                 <el-radio-group v-model="priceMode">
-                    <el-radio :label="1">市价</el-radio>
-                    <el-radio :label="2">限价</el-radio>
+                    <el-radio label="市价" :value="1" />
+                    <el-radio label="限价" :value="2" />
                 </el-radio-group>
             </el-form-item>
             <el-form-item :label="t('quote.swap.enableqty')">
@@ -41,23 +43,29 @@
             <el-form-item :label="t('quote.swap.avaiablemoney')">
                 <span>{{ accountStore.currentAccount.avaiableMoney?.toFixed(2) }}</span>
             </el-form-item>
-            <el-form-item v-if="priceMode != 1" prop="OrderPrice" :label="selectedRow.buyorsell === 0 ? '卖出价格' : '买入价格'">
-                <el-input-number :placeholder="t('common.pleaseenter')" :min="0.0" :step="Math.pow(10, -1*(goods?.decimalplace ?? 0))" :precision="(goods?.decimalplace ?? 2)" v-model="formData.OrderPrice" @change="calculateDelistingAmount"/>
+            <el-form-item v-if="priceMode != 1" prop="OrderPrice"
+                :label="selectedRow.buyorsell === 0 ? '卖出价格' : '买入价格'">
+                <el-input-number :placeholder="t('common.pleaseenter')" :min="0.0"
+                    :step="Math.pow(10, -1 * (goods?.decimalplace ?? 0))" :precision="(goods?.decimalplace ?? 2)"
+                    v-model="formData.OrderPrice" @change="calculateDelistingAmount" />
             </el-form-item>
             <el-form-item prop="OrderQty" :label="t('quote.swap.orderqty2')">
                 <div class="g-qty-group">
-                    <el-input-number :placeholder="t('common.pleaseenter')" :min="0" :max="selectedRow.orderqty" :precision="0" :step="qtyStep"
-                        v-model="formData.OrderQty" @change="calculateDelistingAmount"/>
-                    <el-radio-group size="small" v-model="qtyStep" @change="onRadioChange" v-if="userStore.userType === 5">
-                        <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="value" border />
+                    <el-input-number :placeholder="t('common.pleaseenter')" :min="0" :max="selectedRow.orderqty"
+                        :precision="0" :step="qtyStep" v-model="formData.OrderQty" @change="calculateDelistingAmount" />
+                    <el-radio-group size="small" v-model="qtyStep" @change="onRadioChange"
+                        v-if="userStore.userType === 5">
+                        <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="value" :value="value"
+                            border />
                     </el-radio-group>
                 </div>
-            </el-form-item> 
+            </el-form-item>
         </el-form>
         <template #footer>
             <el-button type="info" @click="onCancel(false)">{{ t('operation.cancel') }}</el-button>
             <el-button type="danger" :disabled="!formData.OrderQty || formData.OrderQty > selectedRow.orderqty"
-                        @click="onSubmit(EBuildType.BUILDTYPE_OPEN)">{{ selectedRow.buyorsell === 0 ? t('quote.selll') : t('quote.buy') }}</el-button>
+                @click="onSubmit(EBuildType.BUILDTYPE_OPEN)">{{ selectedRow.buyorsell === 0 ? t('quote.selll') :
+                    t('quote.buy') }}</el-button>
         </template>
     </app-drawer>
 </template>
@@ -106,13 +114,13 @@ const show = shallowRef(true)
 const refresh = shallowRef(false)
 const formRef = shallowRef<FormInstance>()
 // 数量步长列表
-const qtyStepList = [1, 5, 10, 20, 30, 50] 
+const qtyStepList = [1, 5, 10, 20, 30, 50]
 // 数量步长
-const qtyStep = shallowRef(qtyStepList[0]) 
+const qtyStep = shallowRef(qtyStepList[0])
 /// 保证金配置
 const margin = shallowRef<Model.TjmdTodayAccountMarginRsp>()
 /// 商品信息
-const goods = computed(() => futuresStore.getGoods(props.selectedRow.goodsid) ) 
+const goods = computed(() => futuresStore.getGoods(props.selectedRow.goodsid))
 /// 商品价格
 const quote = futuresStore.getGoodsQuote(props.quoteGoods?.refgoodsid ?? 0)
 /// 默认价格为挂牌价格
@@ -146,23 +154,23 @@ const calculateDelistingAmount = () => {
         if (props.selectedRow.pricemode === 3) {
             if (MarginAlgorithm === 1) {
                 /// 价格*数量*合约单位*保证金比例
-                permargin.value = ((quote.value?.last ?? 0.0)+(marketmaxsub))*OrderQty*agreeunit*MarketMarginValue
+                permargin.value = ((quote.value?.last ?? 0.0) + (marketmaxsub)) * OrderQty * agreeunit * MarketMarginValue
             } else {
                 /// 数量*保证金值
-                permargin.value = OrderQty*MarketMarginValue
+                permargin.value = OrderQty * MarketMarginValue
             }
-            amount.value = OrderQty*((quote.value?.last ?? 0.0)+(marketmaxsub))*agreeunit
+            amount.value = OrderQty * ((quote.value?.last ?? 0.0) + (marketmaxsub)) * agreeunit
         } else {
             const { OrderPrice = 0.0 } = formData
             /// 按比例
             if (MarginAlgorithm === 1) {
                 /// 价格*数量*合约单位*保证金比例
-                permargin.value = OrderPrice*OrderQty*agreeunit*MarketMarginValue
+                permargin.value = OrderPrice * OrderQty * agreeunit * MarketMarginValue
             } else {
                 /// 数量*保证金值
-                permargin.value = OrderQty*MarketMarginValue
+                permargin.value = OrderQty * MarketMarginValue
             }
-            amount.value = OrderQty*OrderPrice*agreeunit
+            amount.value = OrderQty * OrderPrice * agreeunit
         }
     }
 }
@@ -221,7 +229,7 @@ const onSubmit = (buildType: number) => {
                 formData.BuildType = buildType
                 formData.TimevalidType = EValidType.VALIDTYPE_DR
                 formData.OperateType = EOrderOperateType.ORDEROPERATETYPE_NORMAL
-                
+
                 formSubmit().then(() => {
                     ElMessage.success(t('common.submitsuccess'))
                     onCancel(true)

+ 2 - 3
src/packages/pc/views/system/menu/components/edit/index.vue

@@ -4,9 +4,8 @@
             <el-form label-width="90px" :model="form">
                 <el-form-item label="权限类型" prop="authType" required>
                     <el-radio-group v-model="form.authType">
-                        <el-radio :label="item.value" v-for="(item, index) in getAuthTypeList()" :key="index">
-                            {{ item.label }}
-                        </el-radio>
+                        <el-radio v-for="(item, index) in getAuthTypeList()" :key="index" :label="item.label"
+                            :value="item.value" />
                     </el-radio-group>
                 </el-form-item>
                 <el-form-item label="所属层级" prop="id">