|
@@ -1,11 +1,11 @@
|
|
|
import { BuyOrSell } from "@/common/constants/enumCommon";
|
|
import { BuyOrSell } from "@/common/constants/enumCommon";
|
|
|
import { validateCommon } from "@/common/setup/validate";
|
|
import { validateCommon } from "@/common/setup/validate";
|
|
|
import { RuleObject } from "ant-design-vue/lib/form/interface";
|
|
import { RuleObject } from "ant-design-vue/lib/form/interface";
|
|
|
-import { onBeforeUnmount, reactive, ref, UnwrapRef } from "vue";
|
|
|
|
|
|
|
+import { onBeforeUnmount, reactive, ref } from "vue";
|
|
|
import { FormParam } from "./interface";
|
|
import { FormParam } from "./interface";
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-const formState: UnwrapRef<FormParam> = reactive({
|
|
|
|
|
|
|
+const formRef = ref();
|
|
|
|
|
+const formState: FormParam = reactive({
|
|
|
accountid: undefined,
|
|
accountid: undefined,
|
|
|
FixedPrice: 0,
|
|
FixedPrice: 0,
|
|
|
OrderQty: 0,
|
|
OrderQty: 0,
|
|
@@ -23,11 +23,11 @@ export function handleForm() {
|
|
|
const v_price = async (rule: RuleObject, value: number) => {
|
|
const v_price = async (rule: RuleObject, value: number) => {
|
|
|
return validateCommon(value, '请输入挂牌价格');
|
|
return validateCommon(value, '请输入挂牌价格');
|
|
|
};
|
|
};
|
|
|
- const formRef = ref();
|
|
|
|
|
|
|
+
|
|
|
const rules = {
|
|
const rules = {
|
|
|
- FixedPrice: [{ required: true, message: '请输入挂牌价格', trigger: 'blur', type: 'number', validator: v_price }],
|
|
|
|
|
- OrderQty: [{ required: true, message: '请输入挂牌数量', trigger: 'blur', type: 'number', min: 1 }],
|
|
|
|
|
- PriceMove: [{ required: true, message: '请输入点差', trigger: 'blur', type: 'number' }],
|
|
|
|
|
|
|
+ FixedPrice: [{ required: true, type: 'number', validator: v_price }],
|
|
|
|
|
+ OrderQty: [{ required: true, message: '请输入挂牌数量', type: 'number', min: 1 }],
|
|
|
|
|
+ PriceMove: [{ required: true, message: '请输入点差', type: 'number' }],
|
|
|
accountid: [{ required: true, message: '请输入交易账号' }],
|
|
accountid: [{ required: true, message: '请输入交易账号' }],
|
|
|
}
|
|
}
|
|
|
onBeforeUnmount(() => {
|
|
onBeforeUnmount(() => {
|
|
@@ -57,28 +57,32 @@ export function useBuySellDirection() {
|
|
|
// 价格
|
|
// 价格
|
|
|
export const usePrice = (decimalplace = 0) => {
|
|
export const usePrice = (decimalplace = 0) => {
|
|
|
const num = Math.pow(10, -decimalplace); // 小数位变动数
|
|
const num = Math.pow(10, -decimalplace); // 小数位变动数
|
|
|
- function increasePrice() {
|
|
|
|
|
|
|
+ function increasePrice(field: string) {
|
|
|
formState.FixedPrice = +(formState.FixedPrice + num).toFixed(decimalplace);
|
|
formState.FixedPrice = +(formState.FixedPrice + num).toFixed(decimalplace);
|
|
|
|
|
+ formRef.value?.validateField(field); // 触发字段验证
|
|
|
}
|
|
}
|
|
|
- function decreasePrice() {
|
|
|
|
|
|
|
+ function decreasePrice(field: string) {
|
|
|
if (formState.FixedPrice) {
|
|
if (formState.FixedPrice) {
|
|
|
formState.FixedPrice = +(formState.FixedPrice - num).toFixed(decimalplace);
|
|
formState.FixedPrice = +(formState.FixedPrice - num).toFixed(decimalplace);
|
|
|
}
|
|
}
|
|
|
|
|
+ formRef.value?.validateField(field); // 触发字段验证
|
|
|
}
|
|
}
|
|
|
return { increasePrice, decreasePrice };
|
|
return { increasePrice, decreasePrice };
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
export const useNum = (getMaxNum: Function) => {
|
|
export const useNum = (getMaxNum: Function) => {
|
|
|
- function increaseNum() {
|
|
|
|
|
|
|
+ function increaseNum(field: string) {
|
|
|
const max = getMaxNum()
|
|
const max = getMaxNum()
|
|
|
if (max && formState.OrderQty < max) {
|
|
if (max && formState.OrderQty < max) {
|
|
|
formState.OrderQty++;
|
|
formState.OrderQty++;
|
|
|
}
|
|
}
|
|
|
|
|
+ formRef.value?.validateField(field); // 触发字段验证
|
|
|
}
|
|
}
|
|
|
- function decreaseNum() {
|
|
|
|
|
|
|
+ function decreaseNum(field: string) {
|
|
|
if (formState.OrderQty) {
|
|
if (formState.OrderQty) {
|
|
|
formState.OrderQty--;
|
|
formState.OrderQty--;
|
|
|
}
|
|
}
|
|
|
|
|
+ formRef.value?.validateField(field); // 触发字段验证
|
|
|
}
|
|
}
|
|
|
return { increaseNum, decreaseNum };
|
|
return { increaseNum, decreaseNum };
|
|
|
}
|
|
}
|