|
@@ -1,78 +1,78 @@
|
|
|
<template>
|
|
<template>
|
|
|
- <!-- 挂牌求购 -->
|
|
|
|
|
- <Drawer :title="'挂牌求购'" :placement="'right'" :visible="visible" @cancel="cancel" class="top">
|
|
|
|
|
- <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" v-if="!isFloat()">
|
|
|
|
|
- <a-form-item label="挂牌价格" name="FixedPrice">
|
|
|
|
|
- <a-input-number class="commonInput" style="width: 260px" :min="0" v-model:value="formState.FixedPrice" />
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24" v-else>
|
|
|
|
|
- <a-form-item label="基差" name="PriceMove">
|
|
|
|
|
- <a-input-number class="commonInput" style="width: 260px" v-model:value="formState.PriceMove" />
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24" v-if="isFloat()">
|
|
|
|
|
- <a-form-item label="估算价">
|
|
|
|
|
- <span class="white">{{ getPrice() }}</span>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
|
|
+ <!-- 挂牌求购 -->
|
|
|
|
|
+ <Drawer :title="'挂牌求购'" :placement="'right'" :visible="visible" @cancel="cancel" class="top">
|
|
|
|
|
+ <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" v-if="!isFloat()">
|
|
|
|
|
+ <a-form-item label="挂牌价格" name="FixedPrice">
|
|
|
|
|
+ <a-input-number class="commonInput" style="width: 260px" :min="0" v-model:value="formState.FixedPrice" />
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24" v-else>
|
|
|
|
|
+ <a-form-item label="基差" name="PriceMove">
|
|
|
|
|
+ <a-input-number class="commonInput" style="width: 260px" v-model:value="formState.PriceMove" />
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24" v-if="isFloat()">
|
|
|
|
|
+ <a-form-item label="估算价">
|
|
|
|
|
+ <span class="white">{{ getPrice() }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
|
|
|
- <a-col :span="24">
|
|
|
|
|
- <a-form-item label="挂牌数量" name="OrderQty">
|
|
|
|
|
- <a-input-number class="commonInput" style="width: 260px" :min="0" :max="getMaxNum()" v-model:value="formState.OrderQty" />
|
|
|
|
|
- <span class="input-enumdicname">{{ selectedRow.enumdicname }}</span>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24" v-if="!isWR()">
|
|
|
|
|
- <a-form-item label="交收月" name="DeliveryMonth">
|
|
|
|
|
- <a-month-picker style="width: 260px" v-model:value="formState.DeliveryMonth" :allowClear="false" class="commonDatePicker dialogDatePicker" />
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24" class="mt-10">
|
|
|
|
|
- <a-form-item>
|
|
|
|
|
- <a-slider :min="0" v-model:value="formState.OrderQty" :max="getMaxNum()" class="formSlider" />
|
|
|
|
|
- <div class="unit">
|
|
|
|
|
- <span>{{ getMaxNum() ? selectedRow.minivalue : 0 }}</span>
|
|
|
|
|
- <span>{{ getMaxNum() }}{{ selectedRow.enumdicname }}</span>
|
|
|
|
|
- </div>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24">
|
|
|
|
|
- <a-form-item label="起摘数量" name="DelistMinQty" class="relative">
|
|
|
|
|
- <a-input-number class="commonInput" :suffix="selectedRow.enumdicname" v-model:value="formState.DelistMinQty" :min="0" style="width: 260px !important" />
|
|
|
|
|
- <div class="tip-listing"> 最小单位:{{ selectedRow.minivalue }}{{ selectedRow.enumdicname }}</div>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24">
|
|
|
|
|
- <a-form-item label="履约方式" class="inputIconBox">
|
|
|
|
|
- <span :class="['clickBox', formState.permanceTempName ? 'white' : '']" style="width: 260px" @click="handlePermance">{{ formState.permanceTempName ? formState.permanceTempName : '选择履约模板' }}</span>
|
|
|
|
|
- <svg class="icon svg-icon" aria-hidden="true" @click="handlePermance">
|
|
|
|
|
- <use xlink:href="#icon-moban" />
|
|
|
|
|
- </svg>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24" class="relative mt20">
|
|
|
|
|
- <a-form-item :label="isFloat() ? '估算金额' : '挂牌金额'">
|
|
|
|
|
- <span class="white ml8">{{ getMoney() }}</span>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :span="24" v-if="getMargin()">
|
|
|
|
|
- <a-form-item :label="getMargin() ? '履约保证金' : ''">
|
|
|
|
|
- <!-- <a-row>
|
|
|
|
|
|
|
+ <a-col :span="24">
|
|
|
|
|
+ <a-form-item label="挂牌数量" name="OrderQty">
|
|
|
|
|
+ <a-input-number class="commonInput" style="width: 260px" :min="0" :max="getMaxNum()" v-model:value="formState.OrderQty" />
|
|
|
|
|
+ <span class="input-enumdicname">{{ selectedRow.enumdicname }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24" v-if="!isWR()">
|
|
|
|
|
+ <a-form-item label="交收月" name="DeliveryMonth">
|
|
|
|
|
+ <a-month-picker style="width: 260px" v-model:value="formState.DeliveryMonth" :allowClear="false" class="commonDatePicker dialogDatePicker" />
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24" class="mt-10">
|
|
|
|
|
+ <a-form-item>
|
|
|
|
|
+ <a-slider :min="0" v-model:value="formState.OrderQty" :max="getMaxNum()" class="formSlider" />
|
|
|
|
|
+ <div class="unit">
|
|
|
|
|
+ <span>{{ getMaxNum() ? selectedRow.minivalue : 0 }}</span>
|
|
|
|
|
+ <span>{{ getMaxNum() }}{{ selectedRow.enumdicname }}</span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24">
|
|
|
|
|
+ <a-form-item label="起摘数量" name="DelistMinQty" class="relative">
|
|
|
|
|
+ <a-input-number class="commonInput" :suffix="selectedRow.enumdicname" v-model:value="formState.DelistMinQty" :min="0" style="width: 260px !important" />
|
|
|
|
|
+ <div class="tip-listing"> 最小单位:{{ selectedRow.minivalue }}{{ selectedRow.enumdicname }}</div>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24">
|
|
|
|
|
+ <a-form-item label="履约方式" class="inputIconBox">
|
|
|
|
|
+ <span :class="['clickBox', formState.permanceTempName ? 'white' : '']" style="width: 260px" @click="handlePermance">{{ formState.permanceTempName ? formState.permanceTempName : '选择履约模板' }}</span>
|
|
|
|
|
+ <svg class="icon svg-icon" aria-hidden="true" @click="handlePermance">
|
|
|
|
|
+ <use xlink:href="#icon-moban" />
|
|
|
|
|
+ </svg>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24" class="relative mt20">
|
|
|
|
|
+ <a-form-item :label="isFloat() ? '估算金额' : '挂牌金额'">
|
|
|
|
|
+ <span class="white ml8">{{ getMoney() }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24" v-if="getMargin()">
|
|
|
|
|
+ <a-form-item :label="getMargin() ? '履约保证金' : ''">
|
|
|
|
|
+ <!-- <a-row>
|
|
|
<a-col :span="8">-->
|
|
<a-col :span="8">-->
|
|
|
- <span class="white ml8">{{ getMargin() }}</span>
|
|
|
|
|
- <!-- </a-col>
|
|
|
|
|
|
|
+ <span class="white ml8">{{ getMargin() }}</span>
|
|
|
|
|
+ <!-- </a-col>
|
|
|
<a-col :span="4" class="tr">
|
|
<a-col :span="4" class="tr">
|
|
|
<span class="grey1">可用资金</span>
|
|
<span class="grey1">可用资金</span>
|
|
|
</a-col>
|
|
</a-col>
|
|
@@ -82,28 +82,28 @@
|
|
|
>{{getCanUseMoney(getSelectedAccount())}}</span>
|
|
>{{getCanUseMoney(getSelectedAccount())}}</span>
|
|
|
</a-col>
|
|
</a-col>
|
|
|
</a-row>-->
|
|
</a-row>-->
|
|
|
- </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" :loading="loading">买入</a-button>
|
|
|
|
|
- <a-button class="ml10 cancelBtn" @click="cancel" :disabled="loading">取消</a-button>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- </a-row>
|
|
|
|
|
- </a-form>
|
|
|
|
|
|
|
+ </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>
|
|
|
|
|
- <!-- 选择履约模板 -->
|
|
|
|
|
- <Permance v-if="showPermance" :marketid="formState.marketid" @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" :loading="loading">买入</a-button>
|
|
|
|
|
+ <a-button class="ml10 cancelBtn" @click="cancel" :disabled="loading">取消</a-button>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </a-row>
|
|
|
|
|
+ </a-form>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </Drawer>
|
|
|
|
|
+ <!-- 选择履约模板 -->
|
|
|
|
|
+ <Permance v-if="showPermance" :marketid="formState.marketid" @cancel="choosePermance" @update="choosePermance" />
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts">
|
|
<script lang="ts">
|
|
@@ -134,174 +134,174 @@ import { QueryPermancePlanTmpRsp } from '@/services/go/wrtrade/interface';
|
|
|
import { getMarketByTradeMode } from '@/services/bus/market';
|
|
import { getMarketByTradeMode } from '@/services/bus/market';
|
|
|
|
|
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
|
- emits: ['cancel', 'update'],
|
|
|
|
|
- name: ModalEnum.spot_trade_warehouse_post_buying,
|
|
|
|
|
- components: {
|
|
|
|
|
- Des,
|
|
|
|
|
- Drawer,
|
|
|
|
|
- Permance,
|
|
|
|
|
- PlusOutlined,
|
|
|
|
|
- MinusOutlined,
|
|
|
|
|
|
|
+ emits: ['cancel', 'update'],
|
|
|
|
|
+ name: ModalEnum.spot_trade_warehouse_post_buying,
|
|
|
|
|
+ components: {
|
|
|
|
|
+ Des,
|
|
|
|
|
+ Drawer,
|
|
|
|
|
+ Permance,
|
|
|
|
|
+ PlusOutlined,
|
|
|
|
|
+ MinusOutlined,
|
|
|
|
|
+ },
|
|
|
|
|
+ props: {
|
|
|
|
|
+ selectedRow: {
|
|
|
|
|
+ type: Object as PropType<TempWrOrderQuoteDetail>,
|
|
|
|
|
+ default: {},
|
|
|
},
|
|
},
|
|
|
- props: {
|
|
|
|
|
- selectedRow: {
|
|
|
|
|
- type: Object as PropType<TempWrOrderQuoteDetail>,
|
|
|
|
|
- default: {},
|
|
|
|
|
- },
|
|
|
|
|
- enumName: {
|
|
|
|
|
- default: '',
|
|
|
|
|
- type: String as PropType<EnumRouterName>,
|
|
|
|
|
- },
|
|
|
|
|
- time: {
|
|
|
|
|
- type: Object as PropType<Moment>,
|
|
|
|
|
- default: moment(),
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ enumName: {
|
|
|
|
|
+ default: '',
|
|
|
|
|
+ type: String as PropType<EnumRouterName>,
|
|
|
},
|
|
},
|
|
|
- setup(props, context) {
|
|
|
|
|
- const { visible, cancel } = _closeModal(context);
|
|
|
|
|
- const { isWR, isFloat } = handleIs(props.enumName, BuyOrSell.buy);
|
|
|
|
|
- const { rules, formState, formRef } = handleForm(props.selectedRow);
|
|
|
|
|
- const loading = ref<boolean>(false);
|
|
|
|
|
- const accountList = getAccountTypeList([2]);
|
|
|
|
|
- if (accountList.length) {
|
|
|
|
|
- formState.accountid = accountList[0].accountid;
|
|
|
|
|
- }
|
|
|
|
|
- function getSelectedAccount() {
|
|
|
|
|
- return accountList.find((e) => e.accountid === formState.accountid);
|
|
|
|
|
- }
|
|
|
|
|
- formState.DeliveryMonth = props.selectedRow.deliverymonth ? moment(props.selectedRow.deliverymonth) : props.time;
|
|
|
|
|
|
|
+ time: {
|
|
|
|
|
+ type: Object as PropType<Moment>,
|
|
|
|
|
+ default: moment(),
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ setup(props, context) {
|
|
|
|
|
+ const { visible, cancel } = _closeModal(context);
|
|
|
|
|
+ const { isWR, isFloat } = handleIs(props.enumName, BuyOrSell.buy);
|
|
|
|
|
+ const { rules, formState, formRef } = handleForm(props.selectedRow);
|
|
|
|
|
+ const loading = ref<boolean>(false);
|
|
|
|
|
+ const accountList = getAccountTypeList([2]);
|
|
|
|
|
+ if (accountList.length) {
|
|
|
|
|
+ formState.accountid = accountList[0].accountid;
|
|
|
|
|
+ }
|
|
|
|
|
+ function getSelectedAccount() {
|
|
|
|
|
+ return accountList.find((e) => e.accountid === formState.accountid);
|
|
|
|
|
+ }
|
|
|
|
|
+ formState.DeliveryMonth = props.selectedRow.deliverymonth ? moment(new Date(props.selectedRow.deliverymonth)) : props.time;
|
|
|
|
|
|
|
|
- // 17=仓单贸易市场
|
|
|
|
|
- const market = getMarketByTradeMode(17);
|
|
|
|
|
- if (market) {
|
|
|
|
|
- formState.marketid = market.marketid;
|
|
|
|
|
- }else{
|
|
|
|
|
- message.error('市场信息异常,请稍后重试');
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // 17=仓单贸易市场
|
|
|
|
|
+ const market = getMarketByTradeMode(17);
|
|
|
|
|
+ if (market) {
|
|
|
|
|
+ formState.marketid = market.marketid;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ message.error('市场信息异常,请稍后重试');
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- const { getMaxNum, getMoney, getMargin, getPrice } = handleNumAndPrice(props.enumName, props.selectedRow);
|
|
|
|
|
- if (getMaxNum()) {
|
|
|
|
|
- formState.OrderQty = props.selectedRow.minivalue;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ const { getMaxNum, getMoney, getMargin, getPrice } = handleNumAndPrice(props.enumName, props.selectedRow);
|
|
|
|
|
+ if (getMaxNum()) {
|
|
|
|
|
+ formState.OrderQty = props.selectedRow.minivalue;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- const showPermance = ref<boolean>(false);
|
|
|
|
|
- function choosePermance(value: QueryPermancePlanTmpRsp | false) {
|
|
|
|
|
- if (value) {
|
|
|
|
|
- formState.permanceTempName = value.templatename;
|
|
|
|
|
- formState.permaceTempId = value.autoid;
|
|
|
|
|
- }
|
|
|
|
|
- showPermance.value = false;
|
|
|
|
|
- }
|
|
|
|
|
- function openPermance() {
|
|
|
|
|
- showPermance.value = true;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ const showPermance = ref<boolean>(false);
|
|
|
|
|
+ function choosePermance(value: QueryPermancePlanTmpRsp | false) {
|
|
|
|
|
+ if (value) {
|
|
|
|
|
+ formState.permanceTempName = value.templatename;
|
|
|
|
|
+ formState.permaceTempId = value.autoid;
|
|
|
|
|
+ }
|
|
|
|
|
+ showPermance.value = false;
|
|
|
|
|
+ }
|
|
|
|
|
+ function openPermance() {
|
|
|
|
|
+ showPermance.value = true;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- // 点选履约模板
|
|
|
|
|
- function handlePermance() {
|
|
|
|
|
- // 必须先选择市场再选择对应的履约模板
|
|
|
|
|
- if (!formState.marketid) {
|
|
|
|
|
- message.info('请先选择市场');
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // 点选履约模板
|
|
|
|
|
+ function handlePermance() {
|
|
|
|
|
+ // 必须先选择市场再选择对应的履约模板
|
|
|
|
|
+ if (!formState.marketid) {
|
|
|
|
|
+ message.info('请先选择市场');
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- openPermance();
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ openPermance();
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- function submit() {
|
|
|
|
|
- const marketInfo = getMarketRunByTradeMode(17);
|
|
|
|
|
- if (marketInfo) {
|
|
|
|
|
- validateAction<FormParam>(formRef, formState).then((res) => {
|
|
|
|
|
- // 现在增加一种挂牌求购的情况
|
|
|
|
|
- // 这种求购模式会生成一种仓单贸易商品
|
|
|
|
|
|
|
+ function submit() {
|
|
|
|
|
+ const marketInfo = getMarketRunByTradeMode(17);
|
|
|
|
|
+ if (marketInfo) {
|
|
|
|
|
+ validateAction<FormParam>(formRef, formState).then((res) => {
|
|
|
|
|
+ // 现在增加一种挂牌求购的情况
|
|
|
|
|
+ // 这种求购模式会生成一种仓单贸易商品
|
|
|
|
|
|
|
|
- const wrGoodsInfo: WRGoodsInfo = {
|
|
|
|
|
- GoodsID: props.selectedRow.goodsid, // uint32 配置商品ID
|
|
|
|
|
- GoodsCode: props.selectedRow.goodscode, // string 配置商品代码
|
|
|
|
|
- PriceFactor: 1, // double 商品价格系数
|
|
|
|
|
- PriceMove: 0, // double 商品升贴水值
|
|
|
|
|
- WeightRatio: 1, // double 商品重量系数
|
|
|
|
|
- };
|
|
|
|
|
- const param = {
|
|
|
|
|
- AccountID: res.accountid, // 默认内部资金账号第一个
|
|
|
|
|
- ClientSerialNo: uuidv4(), // 客户端流水号
|
|
|
|
|
- // OperateSrc: 2,
|
|
|
|
|
- ClientType: 4,
|
|
|
|
|
- MarketID: res.marketid,
|
|
|
|
|
- // MarketID: marketInfo.marketid,
|
|
|
|
|
- LadingBillId: 0, // 提单id(wrholdlb的LadingBillId字段),卖的时候填写 uint64
|
|
|
|
|
- // LadingBillId: 'uint642081626946446000001', // 提单id(wrholdlb的LadingBillId字段),卖的时候填写 uint64
|
|
|
|
|
- TradeDate: moment(marketInfo.tradedate).format('YYYYMMDD'), // 交易日 string
|
|
|
|
|
- // SubNum: '0', // 提单子单号
|
|
|
|
|
- SubNum: 0,
|
|
|
|
|
- // WRFactorTypeId: '2121626946446000001', // 仓单要素ID(wrholdlb的WRFactorTypeId字段),卖的时候填写 uint64
|
|
|
|
|
- WRFactorTypeId: props.selectedRow.wrfactortypeid ? props.selectedRow.wrfactortypeid : 0, // 仓单要素ID(wrholdlb的WRFactorTypeId字段),卖的时候填写 uint64
|
|
|
|
|
- IsSpecified: 0, // 是否指定对手 0:不指定 1:指定 uint32
|
|
|
|
|
- // MatchUserIDs: 0, // 仓单贸易对手资金账号ID集合(指定对手时填写) uint32
|
|
|
|
|
- OrderQty: res.OrderQty, // 委托数量(可挂部分数据量) ======
|
|
|
|
|
- DeliveryGoodsID: props.selectedRow.deliverygoodsid, // 交割商品商品ID // 有仓单求购
|
|
|
|
|
- WRPriceType: isFloat() ? 2 : 1, // 价格方式 1:固定价 2:浮动价
|
|
|
|
|
- FixedPrice: res.FixedPrice, // 固定价格
|
|
|
|
|
- PriceFactor: 1, // 价格系数(浮动价时填写)
|
|
|
|
|
- PriceMove: res.PriceMove ? res.PriceMove : 0, // 升贴水(浮动价时填写)
|
|
|
|
|
- TimevalidType: 4, // 时间有效类型 1:当日有效 2:本周有效 3:指定时间有效 4:一直有效
|
|
|
|
|
- // ValidTime: moment('2021-08-25 00:00:00').format('YYYY-MM-DD HH:mm:ss'), // 有效期限
|
|
|
|
|
- ClientOrderTime: moment().format('YYYY-MM-DD HH:mm:ss'),
|
|
|
|
|
- FirstRatio: 0, // 首付比例
|
|
|
|
|
- PerformanceTemplateID: res.permaceTempId, // 履约计划模板ID
|
|
|
|
|
- UserID: getUserId(),
|
|
|
|
|
- OperatorID: getUserId(), // 操作员账号ID
|
|
|
|
|
- BuyOrSell: 0, // 买卖方向 0买1卖
|
|
|
|
|
- PriceDisplayMode: 1, // 浮动价显示方式 1:合并显示 2:分开显示
|
|
|
|
|
- CanBargain: 0, // 挂牌是否可议价0:不可1:可-摘牌是否议价
|
|
|
|
|
- Attachment1: '', // 附件1
|
|
|
|
|
- Attachment2: '', // 附件2
|
|
|
|
|
- Remark: '', // 备注
|
|
|
|
|
- ApplyID: 0, // 申请ID
|
|
|
|
|
- WRTradeGoods: isFloat() ? [wrGoodsInfo] : [],
|
|
|
|
|
- CanPart: 1, // 是否允许部份摘牌0:不允许;1:允许
|
|
|
|
|
- WRStandardID: props.selectedRow.wrstandardid,
|
|
|
|
|
- HasWr: isWR(), // 无仓单挂牌 是否有无仓单
|
|
|
|
|
- DelistMinQty: res.DelistMinQty, // 起摘数量
|
|
|
|
|
- DeliveryMonth: isWR() ? '' : moment(res.DeliveryMonth).format('YYYY-MM'),
|
|
|
|
|
- FactoryItems:
|
|
|
|
|
- props.selectedRow.wrResult != undefined
|
|
|
|
|
- ? props.selectedRow.wrResult.flatMap((it) => {
|
|
|
|
|
- return {
|
|
|
|
|
- DGFactoryItemTypeID: it.dgfactoryitemtypeid, // uint64 要素项类型ID
|
|
|
|
|
- DGFactoryItemID: it.dgfactoryitemid, // uint64 预约要素项类型值
|
|
|
|
|
- ItemTypeMode: 1, // uint32 要素项类型模式
|
|
|
|
|
- };
|
|
|
|
|
- })
|
|
|
|
|
- : [], // DGFactoryItems 要素类型明细集合(没有仓单要素ID填写)
|
|
|
|
|
- };
|
|
|
|
|
- requestResultLoadingAndInfo(hdWROrder, param, loading, ['求购成功', '求购失败:']).then(() => {
|
|
|
|
|
- cancel(true);
|
|
|
|
|
- });
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- return {
|
|
|
|
|
- submit,
|
|
|
|
|
- cancel,
|
|
|
|
|
- loading,
|
|
|
|
|
- visible,
|
|
|
|
|
- accountList,
|
|
|
|
|
- rules,
|
|
|
|
|
- formState,
|
|
|
|
|
- formRef,
|
|
|
|
|
- isFloat,
|
|
|
|
|
- isWR,
|
|
|
|
|
- getMaxNum,
|
|
|
|
|
- getMoney,
|
|
|
|
|
- getMargin,
|
|
|
|
|
- getSelectedAccount,
|
|
|
|
|
- getCanUseMoney,
|
|
|
|
|
- getPrice,
|
|
|
|
|
- showPermance,
|
|
|
|
|
- handlePermance,
|
|
|
|
|
- choosePermance,
|
|
|
|
|
- };
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ const wrGoodsInfo: WRGoodsInfo = {
|
|
|
|
|
+ GoodsID: props.selectedRow.goodsid, // uint32 配置商品ID
|
|
|
|
|
+ GoodsCode: props.selectedRow.goodscode, // string 配置商品代码
|
|
|
|
|
+ PriceFactor: 1, // double 商品价格系数
|
|
|
|
|
+ PriceMove: 0, // double 商品升贴水值
|
|
|
|
|
+ WeightRatio: 1, // double 商品重量系数
|
|
|
|
|
+ };
|
|
|
|
|
+ const param = {
|
|
|
|
|
+ AccountID: res.accountid, // 默认内部资金账号第一个
|
|
|
|
|
+ ClientSerialNo: uuidv4(), // 客户端流水号
|
|
|
|
|
+ // OperateSrc: 2,
|
|
|
|
|
+ ClientType: 4,
|
|
|
|
|
+ MarketID: res.marketid,
|
|
|
|
|
+ // MarketID: marketInfo.marketid,
|
|
|
|
|
+ LadingBillId: 0, // 提单id(wrholdlb的LadingBillId字段),卖的时候填写 uint64
|
|
|
|
|
+ // LadingBillId: 'uint642081626946446000001', // 提单id(wrholdlb的LadingBillId字段),卖的时候填写 uint64
|
|
|
|
|
+ TradeDate: moment(marketInfo.tradedate).format('YYYYMMDD'), // 交易日 string
|
|
|
|
|
+ // SubNum: '0', // 提单子单号
|
|
|
|
|
+ SubNum: 0,
|
|
|
|
|
+ // WRFactorTypeId: '2121626946446000001', // 仓单要素ID(wrholdlb的WRFactorTypeId字段),卖的时候填写 uint64
|
|
|
|
|
+ WRFactorTypeId: props.selectedRow.wrfactortypeid ? props.selectedRow.wrfactortypeid : 0, // 仓单要素ID(wrholdlb的WRFactorTypeId字段),卖的时候填写 uint64
|
|
|
|
|
+ IsSpecified: 0, // 是否指定对手 0:不指定 1:指定 uint32
|
|
|
|
|
+ // MatchUserIDs: 0, // 仓单贸易对手资金账号ID集合(指定对手时填写) uint32
|
|
|
|
|
+ OrderQty: res.OrderQty, // 委托数量(可挂部分数据量) ======
|
|
|
|
|
+ DeliveryGoodsID: props.selectedRow.deliverygoodsid, // 交割商品商品ID // 有仓单求购
|
|
|
|
|
+ WRPriceType: isFloat() ? 2 : 1, // 价格方式 1:固定价 2:浮动价
|
|
|
|
|
+ FixedPrice: res.FixedPrice, // 固定价格
|
|
|
|
|
+ PriceFactor: 1, // 价格系数(浮动价时填写)
|
|
|
|
|
+ PriceMove: res.PriceMove ? res.PriceMove : 0, // 升贴水(浮动价时填写)
|
|
|
|
|
+ TimevalidType: 4, // 时间有效类型 1:当日有效 2:本周有效 3:指定时间有效 4:一直有效
|
|
|
|
|
+ // ValidTime: moment('2021-08-25 00:00:00').format('YYYY-MM-DD HH:mm:ss'), // 有效期限
|
|
|
|
|
+ ClientOrderTime: moment().format('YYYY-MM-DD HH:mm:ss'),
|
|
|
|
|
+ FirstRatio: 0, // 首付比例
|
|
|
|
|
+ PerformanceTemplateID: res.permaceTempId, // 履约计划模板ID
|
|
|
|
|
+ UserID: getUserId(),
|
|
|
|
|
+ OperatorID: getUserId(), // 操作员账号ID
|
|
|
|
|
+ BuyOrSell: 0, // 买卖方向 0买1卖
|
|
|
|
|
+ PriceDisplayMode: 1, // 浮动价显示方式 1:合并显示 2:分开显示
|
|
|
|
|
+ CanBargain: 0, // 挂牌是否可议价0:不可1:可-摘牌是否议价
|
|
|
|
|
+ Attachment1: '', // 附件1
|
|
|
|
|
+ Attachment2: '', // 附件2
|
|
|
|
|
+ Remark: '', // 备注
|
|
|
|
|
+ ApplyID: 0, // 申请ID
|
|
|
|
|
+ WRTradeGoods: isFloat() ? [wrGoodsInfo] : [],
|
|
|
|
|
+ CanPart: 1, // 是否允许部份摘牌0:不允许;1:允许
|
|
|
|
|
+ WRStandardID: props.selectedRow.wrstandardid,
|
|
|
|
|
+ HasWr: isWR(), // 无仓单挂牌 是否有无仓单
|
|
|
|
|
+ DelistMinQty: res.DelistMinQty, // 起摘数量
|
|
|
|
|
+ DeliveryMonth: isWR() ? '' : moment(res.DeliveryMonth).format('YYYY-MM'),
|
|
|
|
|
+ FactoryItems:
|
|
|
|
|
+ props.selectedRow.wrResult != undefined
|
|
|
|
|
+ ? props.selectedRow.wrResult.flatMap((it) => {
|
|
|
|
|
+ return {
|
|
|
|
|
+ DGFactoryItemTypeID: it.dgfactoryitemtypeid, // uint64 要素项类型ID
|
|
|
|
|
+ DGFactoryItemID: it.dgfactoryitemid, // uint64 预约要素项类型值
|
|
|
|
|
+ ItemTypeMode: 1, // uint32 要素项类型模式
|
|
|
|
|
+ };
|
|
|
|
|
+ })
|
|
|
|
|
+ : [], // DGFactoryItems 要素类型明细集合(没有仓单要素ID填写)
|
|
|
|
|
+ };
|
|
|
|
|
+ requestResultLoadingAndInfo(hdWROrder, param, loading, ['求购成功', '求购失败:']).then(() => {
|
|
|
|
|
+ cancel(true);
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return {
|
|
|
|
|
+ submit,
|
|
|
|
|
+ cancel,
|
|
|
|
|
+ loading,
|
|
|
|
|
+ visible,
|
|
|
|
|
+ accountList,
|
|
|
|
|
+ rules,
|
|
|
|
|
+ formState,
|
|
|
|
|
+ formRef,
|
|
|
|
|
+ isFloat,
|
|
|
|
|
+ isWR,
|
|
|
|
|
+ getMaxNum,
|
|
|
|
|
+ getMoney,
|
|
|
|
|
+ getMargin,
|
|
|
|
|
+ getSelectedAccount,
|
|
|
|
|
+ getCanUseMoney,
|
|
|
|
|
+ getPrice,
|
|
|
|
|
+ showPermance,
|
|
|
|
|
+ handlePermance,
|
|
|
|
|
+ choosePermance,
|
|
|
|
|
+ };
|
|
|
|
|
+ },
|
|
|
});
|
|
});
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|