diff --git a/src/api/types.ts b/src/api/types.ts index 42f0b0f..f6e9f70 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -94,6 +94,8 @@ export type EaringsDetailData = Treaty.Data; +export type SpotOrderBody = TreatyBody; + /** * 应用版本信息 */ diff --git a/src/views/trade/components/confirm-order.vue b/src/views/trade/components/confirm-order.vue new file mode 100644 index 0000000..efb2cbc --- /dev/null +++ b/src/views/trade/components/confirm-order.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/src/views/trade/components/trade-form.vue b/src/views/trade/components/trade-form.vue deleted file mode 100644 index 93e9aae..0000000 --- a/src/views/trade/components/trade-form.vue +++ /dev/null @@ -1,292 +0,0 @@ - - - - - diff --git a/src/views/trade/components/trade-way.vue b/src/views/trade/components/trade-way.vue index 3e539f5..aeb6266 100644 --- a/src/views/trade/components/trade-way.vue +++ b/src/views/trade/components/trade-way.vue @@ -1,19 +1,71 @@ - + diff --git a/src/views/trade/config.ts b/src/views/trade/config.ts new file mode 100644 index 0000000..42d66fd --- /dev/null +++ b/src/views/trade/config.ts @@ -0,0 +1,48 @@ +import * as yup from "yup"; + +export enum TradeWayValueEnum { + LIMIT = "limit", + MARKET = "market", +} + +export type TradeWayValue = `${TradeWayValueEnum}`; + +export interface TradeWayConfig { + name: string; + value: TradeWayValue; + description: string; + icon: string; +} + +export const tradeWayConfig: TradeWayConfig[] = [ + { + name: "限价委托", + value: "limit", + description: "以指定价格买入或卖出", + icon: "hugeicons:trade-up", + }, +]; + +export const confirmOrderSchema = yup.object({ + price: yup.number().when("way", { + is: TradeWayValueEnum.LIMIT !== undefined, + then: yup + .number() + .typeError("请输入有效的价格") + .required("价格为必填项") + .moreThan(0, "价格必须大于0"), + otherwise: yup.number().notRequired(), + }), + amount: yup + .number() + .typeError("请输入有效的数量") + .required("数量为必填项") + .moreThan(0, "数量必须大于0"), + way: yup + .mixed() + .oneOf( + Object.values(TradeWayValueEnum), + "请选择有效的交易方式", + ) + .required("交易方式为必填项"), +}); diff --git a/src/views/trade/index.vue b/src/views/trade/index.vue index e3f08b0..8955bf5 100644 --- a/src/views/trade/index.vue +++ b/src/views/trade/index.vue @@ -1,5 +1,6 @@