|
|
@@ -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>
|