|
|
@@ -1,187 +1,175 @@
|
|
|
<template>
|
|
|
- <!-- 现货仓单 现货明细 挂牌 -->
|
|
|
- <Drawer
|
|
|
- :title="'挂牌'"
|
|
|
- :placement="'right'"
|
|
|
- class="delistingBottom"
|
|
|
- :visible="visible"
|
|
|
- @cancel="cancel"
|
|
|
- >
|
|
|
- <div class="listing">
|
|
|
- <div class="condition">
|
|
|
- <a-button class="conditionBtn">{{selectedRow.deliverygoodsname}}</a-button>
|
|
|
- <a-button class="conditionBtn">{{selectedRow.wrtypename}}</a-button>
|
|
|
- <a-button class="conditionBtn">{{selectedRow.warehousename}}</a-button>
|
|
|
- </div>
|
|
|
- <div class="formBar">
|
|
|
- <a-form
|
|
|
- class="inlineForm dialogForm"
|
|
|
- ref="formRef"
|
|
|
- :model="formState"
|
|
|
- :rules="rules"
|
|
|
- >
|
|
|
- <a-row :gutter="24">
|
|
|
- <a-col :span="12">
|
|
|
- <a-form-item label="挂牌方式" name="WRPriceType">
|
|
|
- <a-select
|
|
|
- class="inlineFormSelect"
|
|
|
- default-value="1"
|
|
|
- v-model:value="formState.WRPriceType"
|
|
|
- style="width: 140px"
|
|
|
- >
|
|
|
- <a-select-option :value="1">一口价</a-select-option>
|
|
|
- <a-select-option :value="2">浮动价</a-select-option>
|
|
|
- </a-select>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :span="12" v-if="!isFloat()">
|
|
|
- <a-form-item label="挂牌价" name="FixedPrice">
|
|
|
- <a-input-number
|
|
|
- class="dialogInput"
|
|
|
- :min="0"
|
|
|
- style="width: 140px"
|
|
|
- v-model:value="formState.FixedPrice"
|
|
|
- placeholder="请输入挂牌价"
|
|
|
- />
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :span="12" v-if="isFloat()">
|
|
|
- <a-form-item label="基差" name="PriceMove">
|
|
|
- <a-input-number
|
|
|
- class="commonInput"
|
|
|
- :min="0"
|
|
|
- v-model:value="formState.PriceMove"
|
|
|
- style="width: 140px"
|
|
|
- />
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
- <a-row :gutter="24">
|
|
|
- <a-col :span="12">
|
|
|
- <a-form-item label="挂牌数量" name="OrderQty">
|
|
|
- <a-input-number
|
|
|
- class="dialogInput"
|
|
|
- style="width: 140px"
|
|
|
- :min="0"
|
|
|
- v-model:value="formState.OrderQty"
|
|
|
- placeholder="请输入挂牌数量"
|
|
|
- />
|
|
|
- <span class="input-enumdicname">{{selectedRow.enumdicname}}</span>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :span="12">
|
|
|
- <a-form-item label="起摘数量" class="relative" name="DelistMinQty">
|
|
|
- <a-input-number
|
|
|
- class="commonInput"
|
|
|
- :min="0"
|
|
|
- v-model:value="formState.DelistMinQty"
|
|
|
- style="width: 140px"
|
|
|
- />
|
|
|
- <span class="input-enumdicname">{{selectedRow.enumdicname}}</span>
|
|
|
- <div class="tip">最小单位:1{{selectedRow.enumdicname}}</div>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
- <a-row :gutter="24">
|
|
|
- <a-col :span="12" class="mt-20">
|
|
|
- <a-form-item>
|
|
|
- <a-slider
|
|
|
- v-model:value="formState.OrderQty"
|
|
|
- ::min="0"
|
|
|
- :max="selectedRow.enableqty"
|
|
|
- class="formSlider"
|
|
|
- />
|
|
|
- <div class="unit">
|
|
|
- <span>0</span>
|
|
|
- <span>{{selectedRow.enableqty}}{{selectedRow.enumdicname}}</span>
|
|
|
- </div>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :span="12"> </a-col>
|
|
|
- </a-row>
|
|
|
- <a-row :gutter="24" v-if="isFloat()">
|
|
|
- <a-col :span="24">
|
|
|
- <a-form-item label="行情商品" name="goodsid">
|
|
|
- <!-- <a-select class="inlineFormSelect"
|
|
|
+ <!-- 现货仓单 现货明细 挂牌 -->
|
|
|
+ <Drawer :title="'挂牌'"
|
|
|
+ :placement="'right'"
|
|
|
+ class="delistingBottom"
|
|
|
+ :visible="visible"
|
|
|
+ @cancel="cancel">
|
|
|
+ <div class="listing">
|
|
|
+ <div class="condition">
|
|
|
+ <a-button class="conditionBtn">{{selectedRow.deliverygoodsname}}</a-button>
|
|
|
+ <a-button class="conditionBtn">{{selectedRow.wrtypename}}</a-button>
|
|
|
+ <a-button class="conditionBtn">{{selectedRow.warehousename}}</a-button>
|
|
|
+ </div>
|
|
|
+ <div class="formBar">
|
|
|
+ <a-form class="inlineForm dialogForm"
|
|
|
+ ref="formRef"
|
|
|
+ :model="formState"
|
|
|
+ :rules="rules">
|
|
|
+ <a-row :gutter="24">
|
|
|
+ <a-col :span="12">
|
|
|
+ <a-form-item label="挂牌方式"
|
|
|
+ name="WRPriceType">
|
|
|
+ <a-select class="inlineFormSelect"
|
|
|
+ default-value="1"
|
|
|
+ v-model:value="formState.WRPriceType"
|
|
|
+ style="width: 140px">
|
|
|
+ <a-select-option :value="1">一口价</a-select-option>
|
|
|
+ <a-select-option :value="2">浮动价</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="12"
|
|
|
+ v-if="!isFloat()">
|
|
|
+ <a-form-item label="挂牌价"
|
|
|
+ name="FixedPrice">
|
|
|
+ <a-input-number class="dialogInput"
|
|
|
+ :min="0"
|
|
|
+ style="width: 140px"
|
|
|
+ v-model:value="formState.FixedPrice"
|
|
|
+ placeholder="请输入挂牌价" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="12"
|
|
|
+ v-if="isFloat()">
|
|
|
+ <a-form-item label="基差"
|
|
|
+ name="PriceMove">
|
|
|
+ <a-input-number class="commonInput"
|
|
|
+ :min="0"
|
|
|
+ v-model:value="formState.PriceMove"
|
|
|
+ style="width: 140px" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-row :gutter="24">
|
|
|
+ <a-col :span="12">
|
|
|
+ <a-form-item label="挂牌数量"
|
|
|
+ name="OrderQty">
|
|
|
+ <a-input-number class="dialogInput"
|
|
|
+ style="width: 140px"
|
|
|
+ :min="0"
|
|
|
+ v-model:value="formState.OrderQty"
|
|
|
+ placeholder="请输入挂牌数量" />
|
|
|
+ <span class="input-enumdicname">{{selectedRow.enumdicname}}</span>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="12">
|
|
|
+ <a-form-item label="起摘数量"
|
|
|
+ class="relative"
|
|
|
+ name="DelistMinQty">
|
|
|
+ <a-input-number class="commonInput"
|
|
|
+ :min="0"
|
|
|
+ v-model:value="formState.DelistMinQty"
|
|
|
+ style="width: 140px" />
|
|
|
+ <span class="input-enumdicname">{{selectedRow.enumdicname}}</span>
|
|
|
+ <div class="tip">最小单位:1{{selectedRow.enumdicname}}</div>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-row :gutter="24">
|
|
|
+ <a-col :span="12"
|
|
|
+ class="mt-20">
|
|
|
+ <a-form-item>
|
|
|
+ <a-slider v-model:value="formState.OrderQty"
|
|
|
+ ::min="0"
|
|
|
+ :max="selectedRow.enableqty"
|
|
|
+ class="formSlider" />
|
|
|
+ <div class="unit">
|
|
|
+ <span>0</span>
|
|
|
+ <span>{{selectedRow.enableqty}}{{selectedRow.enumdicname}}</span>
|
|
|
+ </div>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="12"> </a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-row :gutter="24"
|
|
|
+ v-if="isFloat()">
|
|
|
+ <a-col :span="24">
|
|
|
+ <a-form-item label="行情商品"
|
|
|
+ name="goodsid">
|
|
|
+ <!-- <a-select class="inlineFormSelect"
|
|
|
style="width: 135px"
|
|
|
placeholder="请择交易所">
|
|
|
</a-select>-->
|
|
|
- <a-select
|
|
|
- class="inlineFormSelect ml5"
|
|
|
- @change="handleGoodsGroups"
|
|
|
- style="width: 135px"
|
|
|
- v-model:value="formState.goodsgroupid"
|
|
|
- placeholder="请选择商品"
|
|
|
- >
|
|
|
- <a-select-option
|
|
|
- v-for="item in goodsGroup"
|
|
|
- :value="item.goodsgroupid"
|
|
|
- :key="item.goodsgroupid"
|
|
|
- >{{item.goodsgroupname}}</a-select-option>
|
|
|
- </a-select>
|
|
|
- <a-select
|
|
|
- class="inlineFormSelect ml5"
|
|
|
- style="width: 135px"
|
|
|
- @change="handleGoodsChange"
|
|
|
- v-model:value="formState.goodsid"
|
|
|
- placeholder="请选择合约"
|
|
|
- >
|
|
|
- <a-select-option
|
|
|
- v-for="item in goodsList"
|
|
|
- :value="item.goodsid"
|
|
|
- :key="item.goodsid"
|
|
|
- >{{item.goodsname}}</a-select-option>
|
|
|
- </a-select>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
- <a-row :gutter="24">
|
|
|
- <a-col :span="24" class="relative">
|
|
|
- <a-form-item :label="isFloat() ? '估算金额' : '摘牌金额'">
|
|
|
- <span class="white ml8">{{getMoney()}}</span>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :span="24" class="relative">
|
|
|
- <a-form-item :label="getMargin() ? '履约保证金' : ''">
|
|
|
- <a-row>
|
|
|
- <a-col :span="8" v-if="getMargin()">
|
|
|
- <span class="white ml8">{{getMargin()}}</span>
|
|
|
- </a-col>
|
|
|
- <a-col :span="4" class="tr">
|
|
|
- <span class="grey1">可用资金</span>
|
|
|
- </a-col>
|
|
|
- <a-col :span="12">
|
|
|
- <span
|
|
|
- class="white ml8"
|
|
|
- >{{getCanUseMoney(handleSelectedAccount())}}</span>
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
+ <a-select class="inlineFormSelect ml5"
|
|
|
+ @change="handleGoodsGroups"
|
|
|
+ style="width: 135px"
|
|
|
+ v-model:value="formState.goodsgroupid"
|
|
|
+ placeholder="请选择商品">
|
|
|
+ <a-select-option v-for="item in goodsGroup"
|
|
|
+ :value="item.goodsgroupid"
|
|
|
+ :key="item.goodsgroupid">{{item.goodsgroupname}}
|
|
|
+ </a-select-option>
|
|
|
+ </a-select>
|
|
|
+ <a-select class="inlineFormSelect ml5"
|
|
|
+ style="width: 135px"
|
|
|
+ @change="handleGoodsChange"
|
|
|
+ v-model:value="formState.goodsid"
|
|
|
+ placeholder="请选择合约">
|
|
|
+ <a-select-option v-for="item in goodsList"
|
|
|
+ :value="item.goodsid"
|
|
|
+ :key="item.goodsid">{{item.goodsname}}</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-row :gutter="24">
|
|
|
+ <a-col :span="24"
|
|
|
+ class="relative">
|
|
|
+ <a-form-item :label="isFloat() ? '估算金额' : '摘牌金额'">
|
|
|
+ <span class="white ml8">{{getMoney()}}</span>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="24"
|
|
|
+ class="relative">
|
|
|
+ <a-form-item :label="getMargin() ? '履约保证金' : ''">
|
|
|
+ <a-row>
|
|
|
+ <a-col :span="8"
|
|
|
+ v-if="getMargin()">
|
|
|
+ <span class="white ml8">{{getMargin()}}</span>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="4"
|
|
|
+ class="tr">
|
|
|
+ <span class="grey1">可用资金</span>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="12">
|
|
|
+ <span class="white ml8">{{getCanUseMoney(handleSelectedAccount())}}</span>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
|
|
|
- <a-row :gutter="24" type="flex" justify="center">
|
|
|
- <a-col :span="24">
|
|
|
- <a-form-item class="tc">
|
|
|
- <a-button
|
|
|
- class="listedBtn"
|
|
|
- :loading="loading"
|
|
|
- :disabled="loading"
|
|
|
- @click="submit"
|
|
|
- >卖出</a-button>
|
|
|
- <a-button
|
|
|
- class="ml10 cancelBtn"
|
|
|
- :loading="loading"
|
|
|
- :disabled="loading"
|
|
|
- @click="cancel"
|
|
|
- >取消</a-button>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
- </a-form>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </Drawer>
|
|
|
+ <a-row :gutter="24"
|
|
|
+ type="flex"
|
|
|
+ justify="center">
|
|
|
+ <a-col :span="24">
|
|
|
+ <a-form-item class="tc">
|
|
|
+ <a-button class="listedBtn"
|
|
|
+ :loading="loading"
|
|
|
+ :disabled="loading"
|
|
|
+ @click="submit">卖出</a-button>
|
|
|
+ <a-button class="ml10 cancelBtn"
|
|
|
+ :loading="loading"
|
|
|
+ :disabled="loading"
|
|
|
+ @click="cancel">取消</a-button>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </a-form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </Drawer>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts">
|
|
|
@@ -196,7 +184,7 @@ import { v4 } from 'uuid';
|
|
|
import moment from 'moment';
|
|
|
import { ModalEnum } from '@/common/constants/modalNameEnum';
|
|
|
import { _closeModal } from '@/common/setup/modal/modal';
|
|
|
-import { handleGoods, handleForm, handleNumAndPrice, handlePriceRule } from './setup';
|
|
|
+import { handleGoods, handleForm, handleNumAndPrice } from './setup';
|
|
|
import { validateAction } from '@/common/setup/form';
|
|
|
import { ListingForm } from './interface';
|
|
|
import { getMarketByTradeMode, getMarketRunByTradeMode } from '@/services/bus/market';
|
|
|
@@ -221,11 +209,6 @@ export default defineComponent({
|
|
|
},
|
|
|
setup(props, context) {
|
|
|
const loading = ref<boolean>(false);
|
|
|
- const marketInfo = getMarketByTradeMode(TradeMode.WarehouseReceiptTrade);
|
|
|
- if (marketInfo) {
|
|
|
- // 获取计算规则
|
|
|
- handlePriceRule(loading, marketInfo.marketid);
|
|
|
- }
|
|
|
const { visible, cancel } = _closeModal(context);
|
|
|
const { rules, formState, formRef } = handleForm(props.selectedRow);
|
|
|
|