|
@@ -1,7 +1,7 @@
|
|
|
<template>
|
|
<template>
|
|
|
<app-popup class="goods-listing" :title="'挂牌'" v-model:show="showModal" :refresh="refresh">
|
|
<app-popup class="goods-listing" :title="'挂牌'" v-model:show="showModal" :refresh="refresh">
|
|
|
<Form class="goods-listing__form" ref="formRef" @submit="onSubmit">
|
|
<Form class="goods-listing__form" ref="formRef" @submit="onSubmit">
|
|
|
- <Tabs class="van-tabs--list" v-model:active="formData.BuyOrSell" :swipe-threshold="2">
|
|
|
|
|
|
|
+ <Tabs class="van-tabs--list" v-model:active="formData.BuyOrSell" :swipe-threshold="2" @change="onTabChange">
|
|
|
<Tab title="挂牌买入" :name="BuyOrSell.Buy" />
|
|
<Tab title="挂牌买入" :name="BuyOrSell.Buy" />
|
|
|
<Tab title="挂牌卖出" :name="BuyOrSell.Sell" />
|
|
<Tab title="挂牌卖出" :name="BuyOrSell.Sell" />
|
|
|
</Tabs>
|
|
</Tabs>
|
|
@@ -25,8 +25,8 @@
|
|
|
</Field>
|
|
</Field>
|
|
|
<Field name="OrderPrice" :rules="formRules.OrderPrice" label="价格">
|
|
<Field name="OrderPrice" :rules="formRules.OrderPrice" label="价格">
|
|
|
<template #input>
|
|
<template #input>
|
|
|
- <Stepper v-model="formData.OrderPrice" input-width="100" :default-value="defaultPrice" theme="round"
|
|
|
|
|
- button-size="22" :auto-fixed="false" :decimal-length="quote?.decimalplace" />
|
|
|
|
|
|
|
+ <Stepper v-model="formData.OrderPrice" input-width="100" theme="round" button-size="22"
|
|
|
|
|
+ :auto-fixed="false" :decimal-length="quote?.decimalplace" />
|
|
|
</template>
|
|
</template>
|
|
|
</Field>
|
|
</Field>
|
|
|
<Field name="OrderQty" :rules="formRules.OrderQty" label="数量">
|
|
<Field name="OrderQty" :rules="formRules.OrderQty" label="数量">
|
|
@@ -43,7 +43,7 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts" setup>
|
|
<script lang="ts" setup>
|
|
|
-import { shallowRef, computed, onMounted } from 'vue'
|
|
|
|
|
|
|
+import { shallowRef, onMounted } from 'vue'
|
|
|
import { Form, FormInstance, Button, FieldRule, Field, Tab, Tabs, Stepper, Radio, RadioGroup } from 'vant'
|
|
import { Form, FormInstance, Button, FieldRule, Field, Tab, Tabs, Stepper, Radio, RadioGroup } from 'vant'
|
|
|
import { BuyOrSell } from '@/constants/order'
|
|
import { BuyOrSell } from '@/constants/order'
|
|
|
import { useOrder } from '@/business/trade'
|
|
import { useOrder } from '@/business/trade'
|
|
@@ -69,19 +69,6 @@ const refresh = shallowRef(true) // 是否刷新父组件数据
|
|
|
const buildType = shallowRef(EBuildType.BUILDTYPE_OPEN)
|
|
const buildType = shallowRef(EBuildType.BUILDTYPE_OPEN)
|
|
|
const { formData, formSubmit } = useOrder()
|
|
const { formData, formSubmit } = useOrder()
|
|
|
|
|
|
|
|
-// 默认价格
|
|
|
|
|
-const defaultPrice = computed(() => {
|
|
|
|
|
- const { ask = 0, bid = 0, preclose = 0 } = quote.value ?? {}
|
|
|
|
|
- switch (formData.BuyOrSell) {
|
|
|
|
|
- case BuyOrSell.Buy:
|
|
|
|
|
- return ask
|
|
|
|
|
- case BuyOrSell.Sell:
|
|
|
|
|
- return bid
|
|
|
|
|
- default:
|
|
|
|
|
- return preclose
|
|
|
|
|
- }
|
|
|
|
|
-})
|
|
|
|
|
-
|
|
|
|
|
// 提交挂牌
|
|
// 提交挂牌
|
|
|
const onSubmit = () => {
|
|
const onSubmit = () => {
|
|
|
const { marketid = 0 } = quote.value ?? {}
|
|
const { marketid = 0 } = quote.value ?? {}
|
|
@@ -122,6 +109,20 @@ const formRules: { [key in keyof Proto.OrderReq]?: FieldRule[] } = {
|
|
|
}],
|
|
}],
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+const onTabChange = () => {
|
|
|
|
|
+ const { ask = 0, bid = 0, presettle = 0 } = quote.value ?? {}
|
|
|
|
|
+ switch (formData.BuyOrSell) {
|
|
|
|
|
+ case BuyOrSell.Buy:
|
|
|
|
|
+ formData.OrderPrice = ask || presettle
|
|
|
|
|
+ break
|
|
|
|
|
+ case BuyOrSell.Sell:
|
|
|
|
|
+ formData.OrderPrice = bid || presettle
|
|
|
|
|
+ break
|
|
|
|
|
+ default:
|
|
|
|
|
+ formData.OrderPrice = presettle
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
// 关闭弹窗
|
|
// 关闭弹窗
|
|
|
const closed = (isRefresh = true) => {
|
|
const closed = (isRefresh = true) => {
|
|
|
refresh.value = isRefresh
|
|
refresh.value = isRefresh
|
|
@@ -130,6 +131,7 @@ const closed = (isRefresh = true) => {
|
|
|
|
|
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
|
formData.BuyOrSell = BuyOrSell.Buy
|
|
formData.BuyOrSell = BuyOrSell.Buy
|
|
|
|
|
+ onTabChange()
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
// 暴露组件属性给父组件调用
|
|
// 暴露组件属性给父组件调用
|