Procházet zdrojové kódy

Merge branch 'master' of http://47.101.159.18:3000/Muchinfo/MTP20_WEB_GLOBAL

deng.yinping před 2 roky
rodič
revize
b569cd7c0c

+ 1 - 1
src/packages/pc/assets/themes/default/default.less

@@ -434,7 +434,7 @@
         width: calc(~'100% / 3');
         color: #7a8a94;
         border-radius: 0;
-        padding: 0;
+        padding: 0 !important;
         margin: 0;
 
 

+ 1 - 1
src/packages/pc/views/footer/goods/order/cancel/index.vue

@@ -1,7 +1,7 @@
 <!-- 商品订单-委托-撤销 -->
 <template>
     <app-drawer title="提示" v-model:show="show" :loading="loading" :refresh="refresh">
-        <div>确认要撤销吗?</div>
+        <div class="g-text-message">确认要撤销吗?</div>
         <template #footer>
             <el-button type="info" @click="onCancel(false)">取消</el-button>
             <el-button type="primary" @click="onCancelSumit()">提交</el-button>

+ 25 - 17
src/packages/pc/views/footer/goods/order/clear/index.vue

@@ -1,8 +1,15 @@
 <!-- 商品订单-委托-快撤 -->
 <template>
-    <app-drawer title="快撤" v-model:show="show" :width="400" :loading="loading" :refresh="refresh">
-        <el-form ref="formRef" class="el-form--vertical" label-width="80px" :model="formModel" :rules="formRules"
+    <app-drawer 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="委托商品">
+                <el-select placeholder="请选择" v-model="formModel.goodsId">
+                    <template v-for="(item, index) in goodsList" :key="index">
+                        <el-option :label="item.goodsname" :value="item.goodsid" />
+                    </template>
+                </el-select>
+            </el-form-item>
             <el-form-item label="委托方向">
                 <el-radio-group v-model="formModel.buyOrSell">
                     <el-radio v-for="(item, index) in getBuyOrSellList()" :key="index" :label="item.value">
@@ -10,19 +17,19 @@
                     </el-radio>
                 </el-radio-group>
             </el-form-item>
-            <el-form-item prop="price" label="撤销价格">
-                <el-input-number ref="priceRef" placeholder="请输入" v-model="formModel.price" @keyup.enter="submitFocus" />
+            <el-form-item prop="price" :label="formModel.buyOrSell === BuyOrSell.Buy ? '≤撤销价格' : '≥撤销价格'">
+                <el-input-number placeholder="请输入" v-model="formModel.price" />
             </el-form-item>
         </el-form>
         <template #footer>
             <el-button type="info" @click="onCancel(false)">取消</el-button>
-            <el-button ref="submitRef" type="primary" @click="onCancelSumit()">提交</el-button>
+            <el-button type="primary" @click="onCancelSumit()">提交</el-button>
         </template>
     </app-drawer>
 </template>
 
 <script lang="ts" setup>
-import { onMounted, ref, reactive, PropType } from 'vue'
+import { onMounted, ref, reactive, PropType, computed } from 'vue'
 import { FormInstance, FormRules, ElMessage } from 'element-plus'
 import { BuyOrSell, getBuyOrSellList } from '@/constants/order'
 import { useCancelOrder } from '@/business/trade'
@@ -37,17 +44,22 @@ const props = defineProps({
 
 const { cancelSubmit, formData } = useCancelOrder()
 const formRef = ref<FormInstance>()
-const priceRef = ref()
-const submitRef = ref()
 const loading = ref(false)
 const show = ref(true)
 const refresh = ref(false)
 
-const formModel = reactive<{ buyOrSell: BuyOrSell; price?: number; }>({
+const formModel = reactive<{ goodsId?: number; buyOrSell: BuyOrSell; price?: number; }>({
     buyOrSell: BuyOrSell.Buy
 })
 
+// 去重商品列表
+const goodsList = computed(() => props.dataList.filter((e, i, arr) => arr.findIndex((n) => n.goodsid === e.goodsid) === i))
+
 const formRules: FormRules = {
+    goodsId: [{
+        required: true,
+        message: '请选择商品'
+    }],
     price: [{
         required: true,
         validator: (rule, value, callback) => {
@@ -60,11 +72,6 @@ const formRules: FormRules = {
     }]
 }
 
-// 提交按钮获取焦点
-const submitFocus = () => {
-    submitRef.value.ref.focus()
-}
-
 const onCancel = (isRefresh = false) => {
     show.value = false
     refresh.value = isRefresh
@@ -77,11 +84,12 @@ const onCancelSumit = () => {
             const errMessage: string[] = []
             const selectedRows = props.dataList.filter((e) => {
                 if (formModel.price) {
+                    const flag = e.goodsid === formModel.goodsId && e.buyorsell === BuyOrSell.Buy
                     switch (formModel.buyOrSell) {
                         case BuyOrSell.Buy:
-                            return e.buyorsell === BuyOrSell.Buy && e.orderprice <= formModel.price
+                            return flag && e.orderprice <= formModel.price
                         case BuyOrSell.Sell:
-                            return e.buyorsell === BuyOrSell.Sell && e.orderprice >= formModel.price
+                            return flag && e.orderprice >= formModel.price
                     }
                 }
                 return false
@@ -107,5 +115,5 @@ const onCancelSumit = () => {
     })
 }
 
-onMounted(() => priceRef.value?.focus())
+onMounted(() => formModel.goodsId = goodsList.value[0]?.goodsid)
 </script>

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

@@ -38,9 +38,9 @@
                 </el-form-item>
                 <el-form-item prop="OrderQty" label="数量">
                     <div class="g-qty-group">
-                        <el-input-number ref="qtyRef" placeholder="请输入" :min="0" :precision="0" :step="qtyStep"
+                        <el-input-number ref="qtyRef" placeholder="请输入" :min="0" :precision="0" :step="qtyStep || 1"
                             v-model="formData.OrderQty" @keyup.enter="submitFocus" />
-                        <el-radio-group size="small" v-model="qtyStep" @change="onRadioChange">
+                        <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-group>
                     </div>
@@ -194,6 +194,7 @@ const onSubmit = (buildType: number) => {
 
                 formSubmit().then(() => {
                     formData.OrderQty = undefined
+                    qtyStep.value = 0
                     ElMessage.success('挂牌成功')
                 }).catch((err) => {
                     ElMessage.error('挂牌失败:' + err)

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

@@ -38,9 +38,9 @@
                 </el-form-item>
                 <el-form-item prop="OrderQty" label="数量">
                     <div class="g-qty-group">
-                        <el-input-number ref="qtyRef" placeholder="请输入" :min="0" :precision="0" :step="qtyStep"
+                        <el-input-number ref="qtyRef" placeholder="请输入" :min="0" :precision="0" :step="qtyStep || 1"
                             v-model="formData.OrderQty" @keyup.enter="submitFocus" />
-                        <el-radio-group size="small" v-model="qtyStep" @change="onRadioChange">
+                        <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-group>
                     </div>