Przeglądaj źródła

Merge branch 'master' of http://47.101.159.18:3000/Muchinfo/MTP2.0_WEB

marymelisa 4 lat temu
rodzic
commit
7e5fa71907

+ 5 - 2
src/common/components/permanceTemp/addPermanceTemp.vue

@@ -4,7 +4,7 @@
           :placement="'right'"
           :visible="visible"
           @cancel="cancel"
-          class="top600">
+          :class="[position === 'top' ? 'top600' : 'delistingBottom']">
     <a-spin :spinning="loading">
       <div class="listed">
         <a-form class="inlineForm dialogForm"
@@ -210,7 +210,6 @@ const userForm = (selectedRow: QueryPermancePlanTmpRsp) => {
     }
 
     function validateStepValue(rule: any, value: number) {
-        debugger;
         if (rule.field) {
             const arr = rule.fullField.split('.');
             if (Array.isArray(arr) && arr.length === 3) {
@@ -269,6 +268,10 @@ export default defineComponent({
             type: Object as PropType<QueryPermancePlanTmpRsp>,
             default: {},
         },
+        position: {
+            type: String,
+            default: 'top',
+        },
     },
     components: { Des, Drawer, PlusOutlined, MinusOutlined, SearchOutlined, PlusCircleOutlined },
     setup(props, context) {

+ 1 - 0
src/common/components/permanceTemp/choosePermancePlanTmp.vue

@@ -37,6 +37,7 @@
     </a-spin>
   </Drawer>
   <Add v-if="show"
+       :position="position"
        @cancel="closeAddTemp" />
 </template>
 

+ 1 - 1
src/services/proto/warehousetrade/index.ts

@@ -32,7 +32,7 @@ export const HdWRDealOrder = (param: HdWRDealOrderReq): Promise<any> => {
  * @constructor
  */
 export const wrBargainApply = (param: WrBargainApplyReq): Promise<any> => {
-    return protoMiddleware<WrBargainApplyReq>(param, 'HdWRDealOrderReq', 'HdWRDealOrderRsp', HeadEnum.tradeMode17)
+    return protoMiddleware<WrBargainApplyReq>(param, 'WrBargainApplyReq', 'WrBargainApplyRsp', HeadEnum.tradeMode17)
 }
 
 /**

+ 3 - 4
src/services/proto/warehousetrade/interface.ts

@@ -77,12 +77,11 @@ export interface HdWRDealOrderReq {
 }
 
 export interface WrBargainApplyReq {
-    // WRTradeOrderID: number; // 关联委托单ID
-    RelatedWRTradeOrderID: number; // 关联委托单ID
+    WRTradeOrderID: number; // 关联委托单ID
     ApplyQty: number; // 摘牌数量
-    UserID: number; //摘牌人用户ID
+    UserID: string; //摘牌人用户ID
     AccountID: string; //摘牌资金账号
-    BuyOrSell: number; //摘牌方向
+    BuyOrSell: string; //摘牌方向
     ApplyPrice: string; //申请价格
     ApplyRemark: string; //申请备注
 }

+ 13 - 13
src/services/socket/protobuf/protoHeader.ts

@@ -1,9 +1,9 @@
-import {TradeMode} from "@/common/constants/enumCommon";
-import {getSelectedAccountId, getUserId} from "@/services/bus/account";
-import {getMarketByTradeMode} from "@/services/bus/market";
-import {funCode} from "@/services/funcode";
-import {v4 as uuidv4} from 'uuid';
-import {IMessageHead} from "./proto";
+import { TradeMode } from "@/common/constants/enumCommon";
+import { getSelectedAccountId, getUserId } from "@/services/bus/account";
+import { getMarketByTradeMode } from "@/services/bus/market";
+import { funCode } from "@/services/funcode";
+import { v4 as uuidv4 } from 'uuid';
+import { IMessageHead } from "./proto";
 
 export enum HeadEnum {
     common, // funcode uuid userID
@@ -36,7 +36,7 @@ export function getProtoHeadParam(funCodeName: string, type: HeadEnum = 0): IMes
         case HeadEnum.common:
             break
         case HeadEnum.AccountID:
-            result = Object.assign(result, {AccountID: getSelectedAccountId()})
+            result = Object.assign(result, { AccountID: getSelectedAccountId() })
             break
         case HeadEnum.MarketID18_GoodsID0:
             result = Object.assign(result, {
@@ -45,22 +45,22 @@ export function getProtoHeadParam(funCodeName: string, type: HeadEnum = 0): IMes
             })
             break
         case HeadEnum.MarketID15101:
-            result = Object.assign(result, {MarketID: 15101})
+            result = Object.assign(result, { MarketID: 15101 })
             break;
         case HeadEnum.MarketID69201:
-            result = Object.assign(result, {MarketID: getMarketByTradeMode(TradeMode.Platinum)?.marketid,})
+            result = Object.assign(result, { MarketID: getMarketByTradeMode(TradeMode.Platinum)?.marketid, })
             break;
         case HeadEnum.tradeMode17:
-            result = Object.assign(result, {MarketID: getMarketByTradeMode(TradeMode.WarehouseReceiptTrade)?.marketid,})
+            result = Object.assign(result, { MarketID: getMarketByTradeMode(TradeMode.WarehouseReceiptTrade)?.marketid, })
             break;
         case HeadEnum.tradeMode45:
-            result = Object.assign(result, {MarketID: getMarketByTradeMode(TradeMode.Wrtrade)?.marketid,})
+            result = Object.assign(result, { MarketID: getMarketByTradeMode(TradeMode.Wrtrade)?.marketid, })
             break;
         case HeadEnum.MarketID45201:
-            result = Object.assign(result, {MarketID: 45201})
+            result = Object.assign(result, { MarketID: 45201 })
             break;
         case HeadEnum.MarketID16201:
-            result = Object.assign(result, {MarketID: 16201})
+            result = Object.assign(result, { MarketID: 16201 })
             break;
     }
     return result

+ 4 - 9
src/views/market/spot_trade/warehouse_pre_sale/warehouse_pre_sale_blocs/components/delisting/index.vue

@@ -282,19 +282,14 @@ export default defineComponent({
                 const num = getNum();
                 if (isBargin()) {
                     // 议价摘牌
-                    const param = {
-                        RelatedWRTradeOrderID: props.selectedRow.wrtradeorderid,
+                    const param: WrBargainApplyReq = {
+                        WRTradeOrderID: Long.fromString(props.selectedRow.wrtradeorderid),
                         ApplyQty: num,
-                        UserID: getUserId(),
+                        UserID: getUserId().toString(),
                         AccountID: getSelectedAccountId().toString(),
-                        BuyOrSell: isBuy() ? BuyOrSell.sell : BuyOrSell.buy,
+                        BuyOrSell: (isBuy() ? BuyOrSell.sell : BuyOrSell.buy).toString(),
                         ApplyPrice: price.toString(),
                         ApplyRemark: '',
-                        OrderSrc: 0, // uint32 委托来源
-                        ClientSerialNo: uuidv4(), // string 客户端流水号
-                        ClientOrderTime: moment(new Date()).format('YYYY-MM-DD HH:mm:ss'), // string 客户端委托时间
-                        ClientType: 4, // uint32 终端类型
-                        OperatorID: getUserId(), // uint64 操作员账号ID
                     };
                     requestResultLoadingAndInfo(wrBargainApply, param, loading, ['议价摘牌成功', '议价摘牌失败:']).then(() => {
                         cancel(true);

+ 4 - 10
src/views/market/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_blocs/components/delisting/index.vue

@@ -278,24 +278,18 @@ export default defineComponent({
 
         function submit() {
             validateAction<ListingForm>(formRef, formState).then((res) => {
-                debugger;
                 const price = getPrice();
                 const num = getNum();
                 if (isBargin()) {
                     // 议价摘牌
-                    const param = {
-                        RelatedWRTradeOrderID: props.selectedRow.wrtradeorderid,
+                    const param: WrBargainApplyReq = {
+                        WRTradeOrderID: Long.fromString(props.selectedRow.wrtradeorderid),
                         ApplyQty: num,
-                        UserID: getUserId(),
+                        UserID: getUserId().toString(),
                         AccountID: getSelectedAccountId().toString(),
-                        BuyOrSell: isBuy() ? BuyOrSell.sell : BuyOrSell.buy,
+                        BuyOrSell: (isBuy() ? BuyOrSell.sell : BuyOrSell.buy).toString(),
                         ApplyPrice: price.toString(),
                         ApplyRemark: '',
-                        OrderSrc: 0, // uint32 委托来源
-                        ClientSerialNo: uuidv4(), // string 客户端流水号
-                        ClientOrderTime: moment(new Date()).format('YYYY-MM-DD HH:mm:ss'), // string 客户端委托时间
-                        ClientType: 4, // uint32 终端类型
-                        OperatorID: getUserId(), // uint64 操作员账号ID
                     };
                     requestResultLoadingAndInfo(wrBargainApply, param, loading, ['议价摘牌成功', '议价摘牌失败:']).then(() => {
                         cancel(true);

+ 3 - 3
src/views/order/commodity_contract/components/commodity_contract_settlement/index.vue

@@ -158,11 +158,11 @@ const useColumns = () => {
         },
         {
             key: '9th',
-            dataIndex: 'deliveryprice',
+            dataIndex: 'averageprice',
             title: '交收均价',
             align: 'center',
             slots: {
-                customRender: 'deliveryprice',
+                customRender: 'averageprice',
             },
             width: 120,
         },
@@ -197,7 +197,7 @@ export default defineComponent({
     },
     setup() {
         // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList<WrDeliveryDetail>();
+        const { loading, tableList, queryTable } = queryTableList<WrDeliveryDetail>(true);
         // 获取列表数据
         const queryTableAction = () => {
             queryTable(queryWrDeliveryDetail);

+ 9 - 5
src/views/order/commodity_contract/components/commodity_contract_summary/components/commodity_contract_summary_settlement/index.vue

@@ -114,6 +114,7 @@ import moment from 'moment';
 import { DeliveryOrderReq } from '@/services/proto/warehousetrade/interface';
 import { geLoginID_number } from '@/services/bus/login';
 import { message } from 'ant-design-vue';
+import { getGoodsByCode } from '@/services/bus/goods';
 
 export default defineComponent({
     name: ModalEnum.commodity_contract_summary_settlement,
@@ -159,10 +160,10 @@ export default defineComponent({
                     ClientSerialNo: v4(), // 客户端流水号
                     ClientOrderTime: moment(new Date()).format('YYYY-MM-DD HH:mm:ss'), // 客户端委托时间
                     ClientType: 4, // 终端类型
-                    // goodsID: goodsid,
-                    // marketid,
+                    // goodsID: props.selectedRow.goodsid,
+                    // market
                     AccountID: getSelectedAccountId(),
-                    XGoodsID: goodsid,
+                    XGoodsID: getGoodsByCode(selected.value.xgoodscode)!.goodsid,
                     DeliveryGoodsID: deliveryGoods.value.deliverygoodsid,
                     XQty: Long.fromNumber(XQty()),
                     PQty: Long.fromNumber(PQty()),
@@ -173,19 +174,22 @@ export default defineComponent({
                     DeliveryOrderDetail: {
                         AccountID: selected.value.accountid,
                         Qty: selected.value.num,
-                        LadingBillID: Long.fromNumber(selected.value.ladingbillid),
-                        WRFactorTypeID: Long.fromNumber(selected.value.wrfactortypeid),
+                        LadingBillID: Long.fromString(selected.value.ladingbillid),
+                        WRFactorTypeID: Long.fromString(selected.value.wrfactortypeid),
                         SubNum: selected.value.subnum,
                     },
                 };
                 if (isBaseSpread()) {
                     param.PGoodsID = deliveryGoods.value.pgoodsid;
+                } else {
+                    param.PGoodsID = 0;
                 }
                 console.log('param', param);
                 DeliveryOrder(param)
                     .then((res) => {
                         console.log('res', res);
                         message.success('提交成功');
+                        cancel(true);
                     })
                     .catch((err) => {
                         console.log('err', err);

+ 25 - 16
src/views/order/commodity_contract/components/commodity_contract_summary/components/commodity_contract_summary_settlement/setup.ts

@@ -72,16 +72,25 @@ export function handleCheck() {
 
 export function handleCalculation(selectedRow: QueryTradePositionRsp) {
     // 商品合约单位
-    const { decimalplace, enableqty } = selectedRow
-    function getAgreeunit() {
+    const { enableqty } = selectedRow
+    function getDecimalplace() {
+        let result = 2;
+        const goods = selected.value?.pgoodscode
+        if (goods) {
+            const item = getGoodsByCode(goods)
+            item && (result = item.decimalplace)
+        }
+        return result
+    }
+    function getAgreeunit(goodscode: string) {
         let result = 1
-        const pgoodscode = selected.value?.pgoodscode
-        if (pgoodscode) {
-            const item = getGoodsByCode(pgoodscode)
-            if (item) {
-                result = item.agreeunit
-            }
+        // const goodscode = selectedRow.goodscode
+        // if (goodscode) {
+        const item = getGoodsByCode(goodscode)
+        if (item) {
+            result = item.agreeunit
         }
+        // }
         return result
     }
 
@@ -91,7 +100,7 @@ export function handleCalculation(selectedRow: QueryTradePositionRsp) {
     }
     // 选中数量的 最小变动值 = 合约单位 * 最小交割系数 * 仓单商品的单位r2
     function getStepValue() {
-        const agreeunit = getAgreeunit()
+        const agreeunit = getAgreeunit(selectedRow.goodscode)
         if (deliveryGoods.value) {
             const { rratio2, mindeliveryqty } = deliveryGoods.value
             return agreeunit * mindeliveryqty * rratio2
@@ -102,7 +111,7 @@ export function handleCalculation(selectedRow: QueryTradePositionRsp) {
     // 可交收数量 = 合约可用手数 * 合约单位 * 最小交割系数 * (仓单商品的单位r2/合约商品的单位r1)
     function getCanSettlementNum() {
         if (deliveryGoods.value) {
-            const agreeunit = getAgreeunit()
+            const agreeunit = getAgreeunit(selectedRow.goodscode)
             const { rratio1, rratio2, mindeliveryqty } = deliveryGoods.value
             const result = enableqty * agreeunit * mindeliveryqty * (rratio2 / rratio1)
             return result.toFixed(0)
@@ -115,7 +124,7 @@ export function handleCalculation(selectedRow: QueryTradePositionRsp) {
         let result = 0
         if (selected.value?.num) {
             if (deliveryGoods.value) {
-                const agreeunit = getAgreeunit()
+                const agreeunit = getAgreeunit(selectedRow.goodscode)
                 const { rratio1, rratio2, mindeliveryqty, xdeliveryratio, pdeliveryratio } = deliveryGoods.value
                 result = selected.value.num / (agreeunit * mindeliveryqty * (rratio2 / rratio1))
             }
@@ -146,12 +155,12 @@ export function handleCalculation(selectedRow: QueryTradePositionRsp) {
         if (selected.value) {
             if (num !== '--' && price !== '--') {
                 if (deliveryGoods.value) {
-                    const agreeunit = getAgreeunit()
+                    const agreeunit = getAgreeunit(selected.value.pgoodscode)
                     result = (+num) * (+price) * agreeunit + (selected.value.pricemove + selected.value.num)
                 }
             }
         }
-        return result ? result.toFixed(decimalplace) : '--'
+        return result ? result.toFixed(getDecimalplace()) : '--'
     }
     /**
      * 合约交割价取价规则
@@ -179,21 +188,21 @@ export function handleCalculation(selectedRow: QueryTradePositionRsp) {
                 result = presettle
             }
         }
-        return has(result) ? result.toFixed(decimalplace) : '--'
+        return has(result) ? result.toFixed(getDecimalplace()) : '--'
     }
 
     // 增加
     function increase(value: DBType) {
         if (value.num < value.avalidqty) {
             value.num += getStepValue()
-            value.num = +value.num.toFixed(decimalplace)
+            value.num = +value.num.toFixed(getDecimalplace())
         }
     }
     // 减少
     function decrease(value: DBType) {
         if (value.num > 0) {
             value.num -= getStepValue()
-            value.num = +value.num.toFixed(decimalplace)
+            value.num = +value.num.toFixed(getDecimalplace())
         }
     }
     return { getStepValue, getCanSettlementNum, getNeedContractNum, getEstimatedPayment, XQty, PQty, getDeliveryGoodsPrice, increase, decrease, selctedNum }

+ 265 - 267
src/views/order/pre_sale_warehouse_receipt/components/pre_sale_warehouse_receipt_order_summary/components/listed/index.vue

@@ -1,276 +1,274 @@
 <template>
-    <!-- 预售仓单 现货明细 挂牌 -->
-    <Drawer
-        :title="'挂牌'"
-        :placement="'right'"
-        class="delistingBottom650"
-        :visible="visible"
-        @cancel="cancel"
-    >
-        <div class="listed">
-            <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>
+  <!-- 预售仓单 现货明细 挂牌 -->
+  <Drawer :title="'挂牌'"
+          :placement="'right'"
+          class="delistingBottom650"
+          :visible="visible"
+          @cancel="cancel">
+    <div class="listed">
+      <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>
 
-            <a-form class="inlineForm dialogForm" ref="formRef" :model="formState" :rules="rules">
-                <div class="formBar">
-                    <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-option :value="3">贸易圈</a-select-option>
-                                </a-select>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12" v-if="isFixed()">
-                            <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="isBlocs()">
-                            <a-form-item label="挂牌价格" name="FixedPrice" class="inputIconBox">
-                                <a-input-number
-                                    class="commonInput"
-                                    style="width: 140px"
-                                    :min="0"
-                                    v-model:value="formState.FixedPrice"
-                                />
-                                <a-checkbox class="commonCheckbox" v-model:checked="priceCheck">可议价</a-checkbox>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12" v-if="isFloat()">
-                            <a-form-item label="基差" name="PriceMove">
-                                <a-input-number
-                                    class="commonInput"
-                                    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 !important"
-                                    :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"
-                                    style="width: 140px;"
-                                />
-                                <div class="unit">
-                                    <span>0</span>
-                                    <span>{{selectedRow.enableqty}}{{selectedRow.enumdicname}}</span>
-                                </div>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">&nbsp;</a-col>
-                    </a-row>
-                    <a-row :gutter="24">
-                        <a-col :span="12">
-                            <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="12">
-                            <a-form-item>&nbsp;</a-form-item>
-                        </a-col>
-                    </a-row>
-                    <template v-if="isBlocs()">
-                        <a-row :gutter="24">
-                            <a-col :span="12">
-                                <a-form-item label="履约保证金" name="margin">
-                                    <a-input-number
-                                        class="commonInput"
-                                        v-model:value="formState.margin"
-                                        :min="0"
-                                        style="width: 140px"
-                                    />
-                                    <span class="input-enumdicname">%</span>
-                                </a-form-item>
-                            </a-col>
-                            <a-col :span="12">
-                                <a-form-item label="挂牌有效期" name="vidaliteTime" class="inputIconBox">
-                                    <a-date-picker
-                                        style="width: 140px"
-                                        v-model:value="formState.vidaliteTime"
-                                        :allowClear="false"
-                                        class="commonDatePicker dialogDatePicker"
-                                    />
-                                </a-form-item>
-                            </a-col>
-                        </a-row>
-                        <a-row :gutter="24">
-                            <a-col :span="12">
-                                <a-form-item label="履约方式" class="inputIconBox">
-                                    <span
-                                        class="clickBox"
-                                        style="width: 140px"
-                                        @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="12">
-                                <a-form-item label="指定朋友" class="inputIconBox">
-                                    <span
-                                        class="clickBox"
-                                        style="width: 140px"
-                                        @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-row>
-                    </template>
-                    <a-row :gutter="24" v-if="isFloat()">
-                        <a-col :span="24">
-                            <a-form-item label="行情商品" name="goodsid">
-                                <!-- <a-select class="inlineFormSelect"
+      <a-form class="inlineForm dialogForm"
+              ref="formRef"
+              :model="formState"
+              :rules="rules">
+        <div class="formBar">
+          <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-option :value="3">贸易圈</a-select-option>
+                </a-select>
+              </a-form-item>
+            </a-col>
+            <a-col :span="12"
+                   v-if="isFixed()">
+              <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="isBlocs()">
+              <a-form-item label="挂牌价格"
+                           name="FixedPrice"
+                           class="inputIconBox">
+                <a-input-number class="commonInput"
+                                style="width: 140px"
+                                :min="0"
+                                v-model:value="formState.FixedPrice" />
+                <a-checkbox class="commonCheckbox"
+                            v-model:checked="priceCheck">可议价</a-checkbox>
+              </a-form-item>
+            </a-col>
+            <a-col :span="12"
+                   v-if="isFloat()">
+              <a-form-item label="基差"
+                           name="PriceMove">
+                <a-input-number class="commonInput"
+                                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 !important"
+                                :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 !important" />
+                <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"
+                          style="width: 140px;" />
+                <div class="unit">
+                  <span>0</span>
+                  <span>{{selectedRow.enableqty}}{{selectedRow.enumdicname}}</span>
+                </div>
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">&nbsp;</a-col>
+          </a-row>
+          <a-row :gutter="24">
+            <a-col :span="12">
+              <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="12">
+              <a-form-item>&nbsp;</a-form-item>
+            </a-col>
+          </a-row>
+          <template v-if="isBlocs()">
+            <a-row :gutter="24">
+              <a-col :span="12">
+                <a-form-item label="履约保证金"
+                             name="margin">
+                  <a-input-number class="commonInput"
+                                  v-model:value="formState.margin"
+                                  :min="0"
+                                  style="width: 140px" />
+                  <span class="input-enumdicname">%</span>
+                </a-form-item>
+              </a-col>
+              <a-col :span="12">
+                <a-form-item label="挂牌有效期"
+                             name="vidaliteTime"
+                             class="inputIconBox">
+                  <a-date-picker style="width: 140px"
+                                 v-model:value="formState.vidaliteTime"
+                                 :allowClear="false"
+                                 class="commonDatePicker dialogDatePicker" />
+                </a-form-item>
+              </a-col>
+            </a-row>
+            <a-row :gutter="24">
+              <a-col :span="12">
+                <a-form-item label="履约方式"
+                             class="inputIconBox">
+                  <span class="clickBox"
+                        style="width: 140px"
+                        @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="12">
+                <a-form-item label="指定朋友"
+                             class="inputIconBox">
+                  <span class="clickBox"
+                        style="width: 140px"
+                        @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-row>
+          </template>
+          <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" v-if="isFloat()" class="relative">
-                            <a-form-item :label="'估算金额'">
-                                <span class="white ml8">{{getWrMoney()}}</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24" v-if="isFixed()" class="relative">
-                            <a-form-item :label="'摘牌金额'">
-                                <span class="white ml8">{{getWrMoney()}}</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24" v-if="getWrMargin() && !isBlocs()">
-                            <a-form-item :label="getWrMargin() ? '履约保证金' : ''">
-                                <span class="white ml8">{{getWrMargin()}}</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24" v-if="isBlocs()">
-                            <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(handleSelectedAccount())}}</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"
-                                :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>
+                <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"
+                   v-if="isFloat()"
+                   class="relative">
+              <a-form-item :label="'估算金额'">
+                <span class="white ml8">{{getWrMoney()}}</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24"
+                   v-if="isFixed()"
+                   class="relative">
+              <a-form-item :label="'挂牌金额'">
+                <span class="white ml8">{{getWrMoney()}}</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24"
+                   v-if="getWrMargin() && !isBlocs()">
+              <a-form-item :label="getWrMargin() ? '履约保证金' : ''">
+                <span class="white ml8">{{getWrMargin()}}</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24"
+                   v-if="isBlocs()">
+              <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(handleSelectedAccount())}}</span>
+              </a-form-item>
+            </a-col>
+          </a-row>
         </div>
-    </Drawer>
+        <a-row :gutter="24">
+          <a-col :span="24"
+                 class="fixedBtns">
+            <a-form-item class="btnCenter">
+              <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>
+  </Drawer>
+  <!-- 选择朋友 -->
+  <Friend v-if="showFriend"
+          :position="'bottom'"
+          @cancel="chooseFriend"
+          @update="chooseFriend" />
+  <!-- 选择履约模板 -->
+  <Permance v-if="showPermance"
+            :position="'bottom'"
+            @cancel="choosePermance"
+            @update="choosePermance" />
 </template>
 
 <script lang="ts">

+ 1 - 1
src/views/order/pre_sale_warehouse_receipt/components/pre_sale_warehouse_receipt_order_summary/components/listed/setup.ts

@@ -51,7 +51,7 @@ export function handleForm(data: WrPosition) {
     const rule = {
         FixedPrice: [{ required: true, message: '请输入挂牌价格', trigger: 'blur', type: 'number', min: 1, }],
         OrderQty: [{ required: true, validator: v_num, trigger: 'blur', type: 'number' }],
-        PriceMove: [{ required: true, message: '请输入基差', trigger: 'blur', type: 'number', min: 1 }],
+        PriceMove: [{ required: true, message: '请输入基差', trigger: 'blur', type: 'number' }],
         DelistMinQty: [{ required: true, message: '请输入起摘数量', trigger: 'blur', type: 'number', min: 0, }],
         DeliveryMonth: [{ required: true, message: '请选择交收月', }],
         goodsid: [{ required: true, validator: v_group }],

+ 251 - 263
src/views/order/spot_warran/components/spot_warrant_spot_details/components/listing/index.vue

@@ -1,272 +1,260 @@
 <template>
-    <!-- 现货仓单 现货明细 挂牌 -->
-    <Drawer
-        :title="'挂牌'"
-        :placement="'right'"
-        class="delistingBottom650"
-        :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>
+  <!-- 现货仓单 现货明细 挂牌 -->
+  <Drawer :title="'挂牌'"
+          :placement="'right'"
+          class="delistingBottom650"
+          :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>
 
-            <a-form class="inlineForm dialogForm" ref="formRef" :model="formState" :rules="rules">
-                <div class="formBar">
-                    <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-option :value="3">贸易圈</a-select-option>
-                                </a-select>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12" v-if="isFixed()">
-                            <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="isBlocs()">
-                            <a-form-item label="挂牌价格" name="FixedPrice" class="inputIconBox">
-                                <a-input-number
-                                    class="commonInput"
-                                    style="width: 140px"
-                                    :min="0"
-                                    v-model:value="formState.FixedPrice"
-                                />
-                                <a-checkbox class="commonCheckbox" v-model:checked="priceCheck">可议价</a-checkbox>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12" v-if="isFloat()">
-                            <a-form-item label="基差" name="PriceMove">
-                                <a-input-number
-                                    class="commonInput"
-                                    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 !important"
-                                    :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"
-                                >最小单位:{{selectedRow.minivalue}}{{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"
-                                    style="width: 140px;"
-                                />
-                                <div class="unit">
-                                    <span>0</span>
-                                    <span>{{selectedRow.enableqty}}{{selectedRow.enumdicname}}</span>
-                                </div>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">&nbsp;</a-col>
-                    </a-row>
-                    <template v-if="isBlocs()">
-                        <a-row :gutter="24">
-                            <a-col :span="12">
-                                <a-form-item label="履约保证金" name="margin">
-                                    <a-input-number
-                                        class="commonInput"
-                                        v-model:value="formState.margin"
-                                        :min="0"
-                                        style="width: 140px"
-                                    />
-                                    <span class="input-enumdicname">%</span>
-                                </a-form-item>
-                            </a-col>
-                            <a-col :span="12">
-                                <a-form-item label="挂牌有效期" name="vidaliteTime" class="inputIconBox">
-                                    <a-date-picker
-                                        style="width: 140px"
-                                        v-model:value="formState.vidaliteTime"
-                                        :allowClear="false"
-                                        class="commonDatePicker dialogDatePicker"
-                                    />
-                                </a-form-item>
-                            </a-col>
-                        </a-row>
-                        <a-row :gutter="24">
-                            <a-col :span="12">
-                                <a-form-item label="履约方式" class="inputIconBox">
-                                    <span
-                                        class="clickBox"
-                                        style="width: 140px"
-                                        @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="12">
-                                <a-form-item label="指定朋友" class="inputIconBox">
-                                    <span
-                                        class="clickBox"
-                                        style="width: 140px"
-                                        @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-row>
-                    </template>
-                    <a-row :gutter="24" v-if="isFloat()">
-                        <a-col :span="24">
-                            <a-form-item label="行情商品" name="goodsid">
-                                <!-- <a-select class="inlineFormSelect"
+      <a-form class="inlineForm dialogForm"
+              ref="formRef"
+              :model="formState"
+              :rules="rules">
+        <div class="formBar">
+          <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-option :value="3">贸易圈</a-select-option>
+                </a-select>
+              </a-form-item>
+            </a-col>
+            <a-col :span="12"
+                   v-if="isFixed()">
+              <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="isBlocs()">
+              <a-form-item label="挂牌价格"
+                           name="FixedPrice"
+                           class="inputIconBox">
+                <a-input-number class="commonInput"
+                                style="width: 140px"
+                                :min="0"
+                                v-model:value="formState.FixedPrice" />
+                <a-checkbox class="commonCheckbox"
+                            v-model:checked="priceCheck">可议价</a-checkbox>
+              </a-form-item>
+            </a-col>
+            <a-col :span="12"
+                   v-if="isFloat()">
+              <a-form-item label="基差"
+                           name="PriceMove">
+                <a-input-number class="commonInput"
+                                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 !important"
+                                :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 important" />
+                <span class="input-enumdicname">{{selectedRow.enumdicname}}</span>
+                <div class="tip">最小单位:{{selectedRow.minivalue}}{{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"
+                          style="width: 140px;" />
+                <div class="unit">
+                  <span>0</span>
+                  <span>{{selectedRow.enableqty}}{{selectedRow.enumdicname}}</span>
+                </div>
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">&nbsp;</a-col>
+          </a-row>
+          <template v-if="isBlocs()">
+            <a-row :gutter="24">
+              <a-col :span="12">
+                <a-form-item label="履约保证金"
+                             name="margin">
+                  <a-input-number class="commonInput"
+                                  v-model:value="formState.margin"
+                                  :min="0"
+                                  style="width: 140px" />
+                  <span class="input-enumdicname">%</span>
+                </a-form-item>
+              </a-col>
+              <a-col :span="12">
+                <a-form-item label="挂牌有效期"
+                             name="vidaliteTime"
+                             class="inputIconBox">
+                  <a-date-picker style="width: 140px"
+                                 v-model:value="formState.vidaliteTime"
+                                 :allowClear="false"
+                                 class="commonDatePicker dialogDatePicker" />
+                </a-form-item>
+              </a-col>
+            </a-row>
+            <a-row :gutter="24">
+              <a-col :span="12">
+                <a-form-item label="履约方式"
+                             class="inputIconBox">
+                  <span class="clickBox"
+                        style="width: 140px"
+                        @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="12">
+                <a-form-item label="指定朋友"
+                             class="inputIconBox">
+                  <span class="clickBox"
+                        style="width: 140px"
+                        @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-row>
+          </template>
+          <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" v-if="isFloat()" class="relative">
-                            <a-form-item :label="'估算金额'">
-                                <span class="white ml8">{{getWrMoney()}}</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24" v-if="isFixed()" class="relative">
-                            <a-form-item :label="'挂牌金额'">
-                                <span class="white ml8">{{getWrMoney()}}</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24" v-if="getWrMargin() && !isBlocs()">
-                            <a-form-item :label="getWrMargin() ? '履约保证金' : ''">
-                                <span class="white ml8">{{getWrMargin()}}</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="24" v-if="isBlocs()">
-                            <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(handleSelectedAccount())}}</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"
-                                :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>
+                <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"
+                   v-if="isFloat()"
+                   class="relative">
+              <a-form-item :label="'估算金额'">
+                <span class="white ml8">{{getWrMoney()}}</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24"
+                   v-if="isFixed()"
+                   class="relative">
+              <a-form-item :label="'挂牌金额'">
+                <span class="white ml8">{{getWrMoney()}}</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24"
+                   v-if="getWrMargin() && !isBlocs()">
+              <a-form-item :label="getWrMargin() ? '履约保证金' : ''">
+                <span class="white ml8">{{getWrMargin()}}</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24"
+                   v-if="isBlocs()">
+              <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(handleSelectedAccount())}}</span>
+              </a-form-item>
+            </a-col>
+          </a-row>
         </div>
-    </Drawer>
-    <!-- 选择朋友 -->
-    <Friend v-if="showFriend" :position="'bottom'" @cancel="chooseFriend" @update="chooseFriend" />
-    <!-- 选择履约模板 -->
-    <Permance
-        v-if="showPermance"
-        :position="'bottom'"
-        @cancel="choosePermance"
-        @update="choosePermance"
-    />
+        <a-row :gutter="24">
+          <a-col :span="24"
+                 class="fixedBtns">
+            <a-form-item class="btnCenter">
+              <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>
+  </Drawer>
+  <!-- 选择朋友 -->
+  <Friend v-if="showFriend"
+          :position="'bottom'"
+          @cancel="chooseFriend"
+          @update="chooseFriend" />
+  <!-- 选择履约模板 -->
+  <Permance v-if="showPermance"
+            :position="'bottom'"
+            @cancel="choosePermance"
+            @update="choosePermance" />
 </template>
 
 <script lang="ts">

+ 2 - 1
vue.config.js

@@ -153,10 +153,11 @@ module.exports = {
 	// webpack-dev-server 相关配置
 	devServer: {
 		/* 自动打开浏览器 */
-		open: false,
+		open: true,
 		// host: "192.168.0.137",
 		host: '0.0.0.0', //局域网和本地访问
 		//host: "192.168.1.137",
+		hot: true,
 		port: 8888,
 		https: false,
 		hotOnly: false,