|
|
@@ -10,20 +10,22 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="价格类型" prop="PriceMove">
|
|
|
<el-radio-group v-model="priceMove">
|
|
|
- <el-radio :label="2" v-if="selectedRow.pricemode === 2">固定价</el-radio>
|
|
|
- <el-radio :label="3" v-if="selectedRow.pricemode === 3">浮动价</el-radio>
|
|
|
+ <el-radio label="固定价" :value="2" v-if="selectedRow.pricemode === 2" />
|
|
|
+ <el-radio label="浮动价" :value="3" v-if="selectedRow.pricemode === 3" />
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
<el-form-item :label="t('quote.swap.buyorsell')">
|
|
|
<span>{{ getBuyOrSellName(selectedRow.buyorsell) }}</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="挂牌价格">
|
|
|
- <span :class="quote?.lastColor">{{ selectedRow.pricemode === 3 ? (selectedRow.marketmaxsub+(quote?.last ?? 0.0)).toFixed(goods?.decimalplace ?? 2.0) : selectedRow.orderprice }}</span>
|
|
|
+ <span :class="quote?.lastColor">{{ selectedRow.pricemode === 3 ? (selectedRow.marketmaxsub +
|
|
|
+ (quote?.last
|
|
|
+ ?? 0.0)).toFixed(goods?.decimalplace ?? 2.0) : selectedRow.orderprice }}</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="卖出价格" v-if="selectedRow.pricemode === 3" prop="PriceMode">
|
|
|
<el-radio-group v-model="priceMode">
|
|
|
- <el-radio :label="1">市价</el-radio>
|
|
|
- <el-radio :label="2">限价</el-radio>
|
|
|
+ <el-radio label="市价" :value="1" />
|
|
|
+ <el-radio label="限价" :value="2" />
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
<el-form-item :label="t('quote.swap.enableqty')">
|
|
|
@@ -41,23 +43,29 @@
|
|
|
<el-form-item :label="t('quote.swap.avaiablemoney')">
|
|
|
<span>{{ accountStore.currentAccount.avaiableMoney?.toFixed(2) }}</span>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="priceMode != 1" prop="OrderPrice" :label="selectedRow.buyorsell === 0 ? '卖出价格' : '买入价格'">
|
|
|
- <el-input-number :placeholder="t('common.pleaseenter')" :min="0.0" :step="Math.pow(10, -1*(goods?.decimalplace ?? 0))" :precision="(goods?.decimalplace ?? 2)" v-model="formData.OrderPrice" @change="calculateDelistingAmount"/>
|
|
|
+ <el-form-item v-if="priceMode != 1" prop="OrderPrice"
|
|
|
+ :label="selectedRow.buyorsell === 0 ? '卖出价格' : '买入价格'">
|
|
|
+ <el-input-number :placeholder="t('common.pleaseenter')" :min="0.0"
|
|
|
+ :step="Math.pow(10, -1 * (goods?.decimalplace ?? 0))" :precision="(goods?.decimalplace ?? 2)"
|
|
|
+ v-model="formData.OrderPrice" @change="calculateDelistingAmount" />
|
|
|
</el-form-item>
|
|
|
<el-form-item prop="OrderQty" :label="t('quote.swap.orderqty2')">
|
|
|
<div class="g-qty-group">
|
|
|
- <el-input-number :placeholder="t('common.pleaseenter')" :min="0" :max="selectedRow.orderqty" :precision="0" :step="qtyStep"
|
|
|
- v-model="formData.OrderQty" @change="calculateDelistingAmount"/>
|
|
|
- <el-radio-group size="small" v-model="qtyStep" @change="onRadioChange" v-if="userStore.userType === 5">
|
|
|
- <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="value" border />
|
|
|
+ <el-input-number :placeholder="t('common.pleaseenter')" :min="0" :max="selectedRow.orderqty"
|
|
|
+ :precision="0" :step="qtyStep" v-model="formData.OrderQty" @change="calculateDelistingAmount" />
|
|
|
+ <el-radio-group size="small" v-model="qtyStep" @change="onRadioChange"
|
|
|
+ v-if="userStore.userType === 5">
|
|
|
+ <el-radio v-for="(value, index) in qtyStepList" :key="index" :label="value" :value="value"
|
|
|
+ border />
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
<el-button type="info" @click="onCancel(false)">{{ t('operation.cancel') }}</el-button>
|
|
|
<el-button type="danger" :disabled="!formData.OrderQty || formData.OrderQty > selectedRow.orderqty"
|
|
|
- @click="onSubmit(EBuildType.BUILDTYPE_OPEN)">{{ selectedRow.buyorsell === 0 ? t('quote.selll') : t('quote.buy') }}</el-button>
|
|
|
+ @click="onSubmit(EBuildType.BUILDTYPE_OPEN)">{{ selectedRow.buyorsell === 0 ? t('quote.selll') :
|
|
|
+ t('quote.buy') }}</el-button>
|
|
|
</template>
|
|
|
</app-drawer>
|
|
|
</template>
|
|
|
@@ -106,13 +114,13 @@ const show = shallowRef(true)
|
|
|
const refresh = shallowRef(false)
|
|
|
const formRef = shallowRef<FormInstance>()
|
|
|
// 数量步长列表
|
|
|
-const qtyStepList = [1, 5, 10, 20, 30, 50]
|
|
|
+const qtyStepList = [1, 5, 10, 20, 30, 50]
|
|
|
// 数量步长
|
|
|
-const qtyStep = shallowRef(qtyStepList[0])
|
|
|
+const qtyStep = shallowRef(qtyStepList[0])
|
|
|
/// 保证金配置
|
|
|
const margin = shallowRef<Model.TjmdTodayAccountMarginRsp>()
|
|
|
/// 商品信息
|
|
|
-const goods = computed(() => futuresStore.getGoods(props.selectedRow.goodsid) )
|
|
|
+const goods = computed(() => futuresStore.getGoods(props.selectedRow.goodsid))
|
|
|
/// 商品价格
|
|
|
const quote = futuresStore.getGoodsQuote(props.quoteGoods?.refgoodsid ?? 0)
|
|
|
/// 默认价格为挂牌价格
|
|
|
@@ -146,23 +154,23 @@ const calculateDelistingAmount = () => {
|
|
|
if (props.selectedRow.pricemode === 3) {
|
|
|
if (MarginAlgorithm === 1) {
|
|
|
/// 价格*数量*合约单位*保证金比例
|
|
|
- permargin.value = ((quote.value?.last ?? 0.0)+(marketmaxsub))*OrderQty*agreeunit*MarketMarginValue
|
|
|
+ permargin.value = ((quote.value?.last ?? 0.0) + (marketmaxsub)) * OrderQty * agreeunit * MarketMarginValue
|
|
|
} else {
|
|
|
/// 数量*保证金值
|
|
|
- permargin.value = OrderQty*MarketMarginValue
|
|
|
+ permargin.value = OrderQty * MarketMarginValue
|
|
|
}
|
|
|
- amount.value = OrderQty*((quote.value?.last ?? 0.0)+(marketmaxsub))*agreeunit
|
|
|
+ amount.value = OrderQty * ((quote.value?.last ?? 0.0) + (marketmaxsub)) * agreeunit
|
|
|
} else {
|
|
|
const { OrderPrice = 0.0 } = formData
|
|
|
/// 按比例
|
|
|
if (MarginAlgorithm === 1) {
|
|
|
/// 价格*数量*合约单位*保证金比例
|
|
|
- permargin.value = OrderPrice*OrderQty*agreeunit*MarketMarginValue
|
|
|
+ permargin.value = OrderPrice * OrderQty * agreeunit * MarketMarginValue
|
|
|
} else {
|
|
|
/// 数量*保证金值
|
|
|
- permargin.value = OrderQty*MarketMarginValue
|
|
|
+ permargin.value = OrderQty * MarketMarginValue
|
|
|
}
|
|
|
- amount.value = OrderQty*OrderPrice*agreeunit
|
|
|
+ amount.value = OrderQty * OrderPrice * agreeunit
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -221,7 +229,7 @@ const onSubmit = (buildType: number) => {
|
|
|
formData.BuildType = buildType
|
|
|
formData.TimevalidType = EValidType.VALIDTYPE_DR
|
|
|
formData.OperateType = EOrderOperateType.ORDEROPERATETYPE_NORMAL
|
|
|
-
|
|
|
+
|
|
|
formSubmit().then(() => {
|
|
|
ElMessage.success(t('common.submitsuccess'))
|
|
|
onCancel(true)
|