|
@@ -1,165 +1,168 @@
|
|
|
<template>
|
|
<template>
|
|
|
- <!--仓单贸易 贸易圈挂牌 挂牌求购 -->
|
|
|
|
|
- <Drawer :title="'挂牌求购'" :placement="'right'" :visible="visible" @cancel="cancel" class="top486">
|
|
|
|
|
- <div class="post_buying">
|
|
|
|
|
- <a-form class="inlineForm dialogForm" ref="formRef" :model="formState" :rules="rules">
|
|
|
|
|
- <div class="formBar">
|
|
|
|
|
- <a-row :gutter="24">
|
|
|
|
|
- <a-col :span="24">
|
|
|
|
|
- <a-form-item label="交易账户" name="accountid">
|
|
|
|
|
- <a-select
|
|
|
|
|
- class="inlineFormSelect"
|
|
|
|
|
- style="width: 260px"
|
|
|
|
|
- v-model:value="formState.accountid"
|
|
|
|
|
- placeholder="请选择"
|
|
|
|
|
- >
|
|
|
|
|
- <a-select-option
|
|
|
|
|
- v-for="item in accountList"
|
|
|
|
|
- :value="item.accountid"
|
|
|
|
|
- :key="item.accountid"
|
|
|
|
|
- >{{item.accountid}}</a-select-option>
|
|
|
|
|
- </a-select>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24">
|
|
|
|
|
- <a-form-item label="挂牌价格" name="FixedPrice" class="inputIconBox">
|
|
|
|
|
- <a-input-number
|
|
|
|
|
- class="commonInput"
|
|
|
|
|
- style="width: 260px"
|
|
|
|
|
- :min="0"
|
|
|
|
|
- v-model:value="formState.FixedPrice"
|
|
|
|
|
- />
|
|
|
|
|
- <MinusOutlined @click="decreasePrice" />
|
|
|
|
|
- <PlusOutlined @click="increasePrice" />
|
|
|
|
|
- <a-checkbox class="commonCheckbox" v-model:checked="priceCheck">可议价</a-checkbox>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24">
|
|
|
|
|
- <a-form-item label="挂牌数量" name="OrderQty" class="inputIconBox">
|
|
|
|
|
- <a-input-number
|
|
|
|
|
- class="commonInput"
|
|
|
|
|
- style="width: 260px"
|
|
|
|
|
- :min="0"
|
|
|
|
|
- v-model:value="formState.OrderQty"
|
|
|
|
|
- />
|
|
|
|
|
- <MinusOutlined @click="decreaseNumber" />
|
|
|
|
|
- <PlusOutlined @click="increaseNumber" />
|
|
|
|
|
- <span class="input-enumdicname">{{selectedRow.enumdicname}}</span>
|
|
|
|
|
- <a-checkbox v-model:checked="numCheck" class="commonCheckbox">整单</a-checkbox>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
|
|
+ <!--仓单贸易 贸易圈挂牌 挂牌求购 -->
|
|
|
|
|
+ <Drawer :title="'挂牌求购'"
|
|
|
|
|
+ :placement="'right'"
|
|
|
|
|
+ :visible="visible"
|
|
|
|
|
+ @cancel="cancel"
|
|
|
|
|
+ class="top486">
|
|
|
|
|
+ <div class="post_buying">
|
|
|
|
|
+ <a-form class="inlineForm dialogForm"
|
|
|
|
|
+ ref="formRef"
|
|
|
|
|
+ :model="formState"
|
|
|
|
|
+ :rules="rules">
|
|
|
|
|
+ <div class="formBar">
|
|
|
|
|
+ <a-row :gutter="24">
|
|
|
|
|
+ <a-col :span="24">
|
|
|
|
|
+ <a-form-item label="交易账户"
|
|
|
|
|
+ name="accountid">
|
|
|
|
|
+ <a-select class="inlineFormSelect"
|
|
|
|
|
+ style="width: 260px"
|
|
|
|
|
+ v-model:value="formState.accountid"
|
|
|
|
|
+ placeholder="请选择">
|
|
|
|
|
+ <a-select-option v-for="item in accountList"
|
|
|
|
|
+ :value="item.accountid"
|
|
|
|
|
+ :key="item.accountid">{{item.accountid}}</a-select-option>
|
|
|
|
|
+ </a-select>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24">
|
|
|
|
|
+ <a-form-item label="挂牌价格"
|
|
|
|
|
+ name="FixedPrice"
|
|
|
|
|
+ class="inputIconBox">
|
|
|
|
|
+ <a-input-number class="commonInput"
|
|
|
|
|
+ style="width: 260px"
|
|
|
|
|
+ :min="0"
|
|
|
|
|
+ v-model:value="formState.FixedPrice" />
|
|
|
|
|
+ <MinusOutlined @click="decreasePrice" />
|
|
|
|
|
+ <PlusOutlined @click="increasePrice" />
|
|
|
|
|
+ <a-checkbox class="commonCheckbox"
|
|
|
|
|
+ v-model:checked="priceCheck">可议价</a-checkbox>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24">
|
|
|
|
|
+ <a-form-item label="挂牌数量"
|
|
|
|
|
+ name="OrderQty"
|
|
|
|
|
+ class="inputIconBox">
|
|
|
|
|
+ <a-input-number class="commonInput"
|
|
|
|
|
+ style="width: 260px"
|
|
|
|
|
+ :min="0"
|
|
|
|
|
+ v-model:value="formState.OrderQty" />
|
|
|
|
|
+ <MinusOutlined @click="decreaseNumber" />
|
|
|
|
|
+ <PlusOutlined @click="increaseNumber" />
|
|
|
|
|
+ <span class="input-enumdicname">{{selectedRow.enumdicname}}</span>
|
|
|
|
|
+ <a-checkbox v-model:checked="numCheck"
|
|
|
|
|
+ class="commonCheckbox">整单</a-checkbox>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
|
|
|
- <a-col :span="24" v-if="!numCheck">
|
|
|
|
|
- <a-form-item label="起摘数量" name="delistingQty">
|
|
|
|
|
- <a-input-number
|
|
|
|
|
- class="commonInput"
|
|
|
|
|
- v-model:value="formState.delistingQty"
|
|
|
|
|
- :min="0"
|
|
|
|
|
- style="width: 260px !important"
|
|
|
|
|
- />
|
|
|
|
|
- <span class="input-enumdicname">{{selectedRow.enumdicname}}</span>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24">
|
|
|
|
|
- <a-form-item label="履约保证金" name="margin">
|
|
|
|
|
- <a-input-number
|
|
|
|
|
- class="commonInput"
|
|
|
|
|
- v-model:value="formState.margin"
|
|
|
|
|
- :min="0"
|
|
|
|
|
- style="width: 260px"
|
|
|
|
|
- />
|
|
|
|
|
- <span class="input-enumdicname">%</span>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24">
|
|
|
|
|
- <a-form-item label="交收月" name="DeliveryMonth">
|
|
|
|
|
- <a-month-picker
|
|
|
|
|
- style="width: 140px"
|
|
|
|
|
- v-model:value="formState.DeliveryMonth"
|
|
|
|
|
- :allowClear="'false'"
|
|
|
|
|
- class="commonDatePicker dialogDatePicker"
|
|
|
|
|
- />
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24">
|
|
|
|
|
- <a-form-item label="挂牌有效期" name="vidaliteTime" class="inputIconBox">
|
|
|
|
|
- <a-date-picker
|
|
|
|
|
- style="width: 260px"
|
|
|
|
|
- v-model:value="formState.vidaliteTime"
|
|
|
|
|
- :allowClear="false"
|
|
|
|
|
- class="commonDatePicker dialogDatePicker"
|
|
|
|
|
- />
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
|
|
+ <a-col :span="24"
|
|
|
|
|
+ v-if="!numCheck">
|
|
|
|
|
+ <a-form-item label="起摘数量"
|
|
|
|
|
+ name="delistingQty">
|
|
|
|
|
+ <a-input-number class="commonInput"
|
|
|
|
|
+ v-model:value="formState.delistingQty"
|
|
|
|
|
+ :min="0"
|
|
|
|
|
+ style="width: 260px !important" />
|
|
|
|
|
+ <span class="input-enumdicname">{{selectedRow.enumdicname}}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24">
|
|
|
|
|
+ <a-form-item label="履约保证金"
|
|
|
|
|
+ name="margin">
|
|
|
|
|
+ <a-input-number class="commonInput"
|
|
|
|
|
+ v-model:value="formState.margin"
|
|
|
|
|
+ :min="0"
|
|
|
|
|
+ style="width: 260px" />
|
|
|
|
|
+ <span class="input-enumdicname">%</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24">
|
|
|
|
|
+ <a-form-item label="交收月"
|
|
|
|
|
+ name="DeliveryMonth">
|
|
|
|
|
+ <a-month-picker style="width: 140px"
|
|
|
|
|
+ v-model:value="formState.DeliveryMonth"
|
|
|
|
|
+ :allowClear="'false'"
|
|
|
|
|
+ class="commonDatePicker dialogDatePicker" />
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24">
|
|
|
|
|
+ <a-form-item label="挂牌有效期"
|
|
|
|
|
+ name="vidaliteTime"
|
|
|
|
|
+ class="inputIconBox">
|
|
|
|
|
+ <a-date-picker style="width: 260px"
|
|
|
|
|
+ v-model:value="formState.vidaliteTime"
|
|
|
|
|
+ :allowClear="false"
|
|
|
|
|
+ class="commonDatePicker dialogDatePicker" />
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
|
|
|
- <a-col :span="24">
|
|
|
|
|
- <a-form-item label="履约方式" class="inputIconBox">
|
|
|
|
|
- <span
|
|
|
|
|
- class="clickBox"
|
|
|
|
|
- @click="openPermance"
|
|
|
|
|
- >{{formState.permanceTempName ? formState.permanceTempName : '选择履约模板'}}</span>
|
|
|
|
|
- <svg
|
|
|
|
|
- class="icon svg-icon"
|
|
|
|
|
- aria-hidden="true"
|
|
|
|
|
- @click="openPermance"
|
|
|
|
|
- >
|
|
|
|
|
- <use xlink:href="#icon-moban" />
|
|
|
|
|
- </svg>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24">
|
|
|
|
|
- <a-form-item label="指定朋友" class="inputIconBox">
|
|
|
|
|
- <span
|
|
|
|
|
- class="clickBox"
|
|
|
|
|
- @click="openFriend"
|
|
|
|
|
- >{{getFriendLength() ? `已选${getFriendLength() }人` : '选择朋友'}}</span>
|
|
|
|
|
- <svg class="icon svg-icon" aria-hidden="true" @click="openFriend">
|
|
|
|
|
- <use xlink:href="#icon-pengyou1" />
|
|
|
|
|
- </svg>
|
|
|
|
|
- <a-checkbox
|
|
|
|
|
- class="commonCheckbox"
|
|
|
|
|
- v-model:checked="friendCheck"
|
|
|
|
|
- @change="limiteFriends"
|
|
|
|
|
- >不限</a-checkbox>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24">
|
|
|
|
|
- <a-form-item label="挂牌金额">
|
|
|
|
|
- <span class="white ml8">{{getMoney()}}</span>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24">
|
|
|
|
|
- <a-form-item label="履约保证金">
|
|
|
|
|
- <span class="white ml8">{{getMargin()}}</span>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24">
|
|
|
|
|
- <a-form-item label="可用资金">
|
|
|
|
|
- <span class="white ml8">{{getCanUseMoney(getSelectedAccount())}}</span>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- </a-row>
|
|
|
|
|
- </div>
|
|
|
|
|
- <a-row :gutter="24">
|
|
|
|
|
- <a-col :span="24" class="fixedBtns">
|
|
|
|
|
- <a-form-item class="btnCenter">
|
|
|
|
|
- <a-button class="listedBtn" @click="submit">买入</a-button>
|
|
|
|
|
- <a-button class="ml10 cancelBtn" @click="cancel">取消</a-button>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- </a-row>
|
|
|
|
|
- </a-form>
|
|
|
|
|
|
|
+ <a-col :span="24">
|
|
|
|
|
+ <a-form-item label="履约方式"
|
|
|
|
|
+ class="inputIconBox">
|
|
|
|
|
+ <span class="clickBox"
|
|
|
|
|
+ @click="openPermance">{{formState.permanceTempName ? formState.permanceTempName : '选择履约模板'}}</span>
|
|
|
|
|
+ <svg class="icon svg-icon"
|
|
|
|
|
+ aria-hidden="true"
|
|
|
|
|
+ @click="openPermance">
|
|
|
|
|
+ <use xlink:href="#icon-moban" />
|
|
|
|
|
+ </svg>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24">
|
|
|
|
|
+ <a-form-item label="指定朋友"
|
|
|
|
|
+ class="inputIconBox">
|
|
|
|
|
+ <span class="clickBox"
|
|
|
|
|
+ @click="openFriend">{{getFriendLength() ? `已选${getFriendLength() }人` : '选择朋友'}}</span>
|
|
|
|
|
+ <svg class="icon svg-icon"
|
|
|
|
|
+ aria-hidden="true"
|
|
|
|
|
+ @click="openFriend">
|
|
|
|
|
+ <use xlink:href="#icon-pengyou1" />
|
|
|
|
|
+ </svg>
|
|
|
|
|
+ <a-checkbox class="commonCheckbox"
|
|
|
|
|
+ v-model:checked="friendCheck"
|
|
|
|
|
+ @change="limiteFriends">不限</a-checkbox>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24">
|
|
|
|
|
+ <a-form-item label="挂牌金额">
|
|
|
|
|
+ <span class="white ml8">{{getMoney()}}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24">
|
|
|
|
|
+ <a-form-item label="履约保证金">
|
|
|
|
|
+ <span class="white ml8">{{getMargin()}}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24">
|
|
|
|
|
+ <a-form-item label="可用资金">
|
|
|
|
|
+ <span class="white ml8">{{getCanUseMoney(getSelectedAccount())}}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </a-row>
|
|
|
</div>
|
|
</div>
|
|
|
- </Drawer>
|
|
|
|
|
- <!-- 选择朋友 -->
|
|
|
|
|
- <Friend
|
|
|
|
|
- v-if="showFriend"
|
|
|
|
|
- :friends="formState.friends"
|
|
|
|
|
- @cancel="chooseFriend"
|
|
|
|
|
- @update="chooseFriend"
|
|
|
|
|
- />
|
|
|
|
|
- <!-- 选择履约模板 -->
|
|
|
|
|
- <Permance v-if="showPermance" @cancel="choosePermance" @update="choosePermance" />
|
|
|
|
|
|
|
+ <a-row :gutter="24">
|
|
|
|
|
+ <a-col :span="24"
|
|
|
|
|
+ class="fixedBtns">
|
|
|
|
|
+ <a-form-item class="btnCenter">
|
|
|
|
|
+ <a-button class="listedBtn"
|
|
|
|
|
+ @click="submit">买入</a-button>
|
|
|
|
|
+ <a-button class="ml10 cancelBtn"
|
|
|
|
|
+ @click="cancel">取消</a-button>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </a-row>
|
|
|
|
|
+ </a-form>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </Drawer>
|
|
|
|
|
+ <!-- 选择朋友 -->
|
|
|
|
|
+ <Friend v-if="showFriend"
|
|
|
|
|
+ :friends="formState.friends"
|
|
|
|
|
+ @cancel="chooseFriend"
|
|
|
|
|
+ @update="chooseFriend" />
|
|
|
|
|
+ <!-- 选择履约模板 -->
|
|
|
|
|
+ <Permance v-if="showPermance"
|
|
|
|
|
+ @cancel="choosePermance"
|
|
|
|
|
+ @update="choosePermance" />
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts">
|
|
<script lang="ts">
|
|
@@ -174,7 +177,7 @@ import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo
|
|
|
import { getUserId } from '@/services/bus/account';
|
|
import { getUserId } from '@/services/bus/account';
|
|
|
import { v3, v4 as uuidv4 } from 'uuid';
|
|
import { v3, v4 as uuidv4 } from 'uuid';
|
|
|
import moment, { Moment } from 'moment';
|
|
import moment, { Moment } from 'moment';
|
|
|
-import { getMarketRunByTradeMode } from '@/services/bus/market';
|
|
|
|
|
|
|
+import { getMarketRunByTradeMode, marketIsRun } from '@/services/bus/market';
|
|
|
import { validateAction } from '@/common/setup/form';
|
|
import { validateAction } from '@/common/setup/form';
|
|
|
import { getCanUseMoney } from '@/services/bus/account';
|
|
import { getCanUseMoney } from '@/services/bus/account';
|
|
|
import { TempWrOrderQuoteDetail } from '@/views/market/spot_trade/components/post_buying/interface';
|
|
import { TempWrOrderQuoteDetail } from '@/views/market/spot_trade/components/post_buying/interface';
|
|
@@ -183,6 +186,7 @@ import Permance from '@/common/components/permanceTemp/choosePermancePlanTmp.vue
|
|
|
import { BlocsListingForm } from '@/common/setup/warehouse_receipt_trade/interface';
|
|
import { BlocsListingForm } from '@/common/setup/warehouse_receipt_trade/interface';
|
|
|
import { message } from 'ant-design-vue';
|
|
import { message } from 'ant-design-vue';
|
|
|
import { useBlocksPrice, useBlocksNumber, useBlocksAccount, useBlocksMoney, useBlocksFriends, useBlocksPermaceTemp, handleForm } from '@/common/setup/warehouse_receipt_trade/listing';
|
|
import { useBlocksPrice, useBlocksNumber, useBlocksAccount, useBlocksMoney, useBlocksFriends, useBlocksPermaceTemp, handleForm } from '@/common/setup/warehouse_receipt_trade/listing';
|
|
|
|
|
+import { TradeMode } from '@/common/constants/enumCommon';
|
|
|
|
|
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
|
emits: ['cancel', 'update'],
|
|
emits: ['cancel', 'update'],
|
|
@@ -213,7 +217,11 @@ export default defineComponent({
|
|
|
// 摘牌数量
|
|
// 摘牌数量
|
|
|
const { numCheck, increaseNumber, decreaseNumber } = useBlocksNumber(formState);
|
|
const { numCheck, increaseNumber, decreaseNumber } = useBlocksNumber(formState);
|
|
|
function submit() {
|
|
function submit() {
|
|
|
- const marketInfo = getMarketRunByTradeMode(17);
|
|
|
|
|
|
|
+ // 判断是否开市
|
|
|
|
|
+ if (!marketIsRun(TradeMode.WarehouseReceiptTrade)) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ const marketInfo = getMarketRunByTradeMode(TradeMode.WarehouseReceiptTrade);
|
|
|
if (marketInfo) {
|
|
if (marketInfo) {
|
|
|
validateAction<BlocsListingForm>(formRef, formState).then((res) => {
|
|
validateAction<BlocsListingForm>(formRef, formState).then((res) => {
|
|
|
if (!formState.permanceTempName) {
|
|
if (!formState.permanceTempName) {
|