Kaynağa Gözat

增加最小交收数量判断

Handy_Cao 2 yıl önce
ebeveyn
işleme
ffdb7c7e4e

+ 2 - 1
src/packages/mobile/views/order/position/components/goods/delivery50/index.vue

@@ -13,6 +13,7 @@
                     <Cell title="持仓数量" :value="selectedRow.curpositionqty" />
                     <Cell title="冻结数量" :value="selectedRow.frozenqty" />
                     <Cell title="可用数量" :value="selectedRow.enableqty" />
+                    <Cell title="最小交收数量" :value="selectedRow.mindeliverylot" />
                     <Cell title="持仓均价" :value="formatDecimal(selectedRow.averageprice)" />
                     <Cell title="参考损益">
                         <template #value>
@@ -24,7 +25,7 @@
                     <Cell title="交收对手方" :value="selectedRow.matchname" />
                     <Field name="DeliveryLot" type="digit" :rules="formRules.DeliveryLot" label="交收数量">
                         <template #input>
-                            <Stepper v-model="formData.DeliveryLot" theme="round" button-size="22" :min="0"
+                            <Stepper v-model="formData.DeliveryLot" theme="round" button-size="22" :min="selectedRow.mindeliverylot"
                                 :max="selectedRow.enableqty" :auto-fixed="false" integer />
                         </template>
                     </Field>

+ 10 - 3
src/packages/pc/views/footer/goods/position/components/delivery50/index.vue

@@ -20,6 +20,9 @@
             <el-form-item label="可用数量">
                 <span>{{ selectedRow.enableqty }}</span>
             </el-form-item>
+            <el-form-item label="最小交收数量">
+                <span>{{ selectedRow.mindeliverylot }}</span>
+            </el-form-item>
             <el-form-item label="持仓均价">
                 <span>{{ formatDecimal(selectedRow.averageprice, selectedRow.decimalplace) }}</span>
             </el-form-item>
@@ -31,7 +34,7 @@
             </el-form-item>
             <el-form-item prop="DeliveryLot" label="交收数量">
                 <el-input-number placeholder="请输入数量" v-model="formData.DeliveryLot" :precision="0"
-                    :max="selectedRow.enableqty" :min="0" />
+                    :max="selectedRow.enableqty" :min="selectedRow.mindeliverylot" />
             </el-form-item>
             <el-form-item prop="DeliveryInfo" label="交收信息">
                 <el-input type="textarea" placeholder="请输入交收信息" v-model="formData.DeliveryInfo" />
@@ -71,8 +74,12 @@ const formRef = ref<FormInstance>()
 const formRules: FormRules = {
     DeliveryLot: [{
         message: '请输入交收数量',
-        validator: () => {
-            return !!formData.DeliveryLot
+        validator: (rule, value, callback) => {
+            if (value >= props.selectedRow.mindeliverylot) {
+                callback()
+            } else {
+                callback(new Error('不能小于最小交收数量'+`${props.selectedRow.mindeliverylot}`))
+            }
         }
     }],
     DeliveryInfo: [{

+ 1 - 0
src/types/model/goods.d.ts

@@ -47,6 +47,7 @@ declare namespace Model {
         marketmarginvalue:number; // 即市保证金值
         modifystatus: number;//变更状态 - 1:未变更 2:变更中 3:待审核 4:已审核
         modifytime: string;//修改时间
+        mindeliverylot: number;//最小交收手数(50模式)
         outerdealmode: number;//外部成交方式[通道交易]- 1:净头寸 2:开平 3:平今
         outgoodscode: string;//商品代码(外部)
         qtydecimalplace: number;//成交量小数位

+ 2 - 0
src/types/model/order.d.ts

@@ -971,6 +971,8 @@ declare namespace Model {
         marketamount: number
         /// 对手方名称
         matchname: string
+        /// 最小交收手数(50模式)
+        mindeliverylot: number
         /// 所属市场ID
         marketid: number
         /// 开仓申请数量(用于比较最大持仓数量)