Bläddra i källkod

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

li.shaoyi 4 år sedan
förälder
incheckning
808c8760d9
29 ändrade filer med 834 tillägg och 732 borttagningar
  1. 34 0
      src/hooks/margin.ts
  2. 1 1
      src/services/go/Tjmd/interface.ts
  3. 3 1
      src/services/go/wrtrade/interface.ts
  4. 3 3
      src/services/socket/order/index.ts
  5. 1 0
      src/services/socket/protobuf/buildReq.ts
  6. 0 2
      src/services/socket/protobuf/interface.ts
  7. 4 5
      src/views/business/purchase/components/someprice/index.vue
  8. 3 2
      src/views/market/spot_trade/components/buy-sell-market/components/delisting/index.vue
  9. 168 174
      src/views/market/spot_trade/components/buy-sell-market/components/financing_delisting/index.vue
  10. 32 28
      src/views/market/spot_trade/components/detail/index.vue
  11. 2 2
      src/views/market/spot_trade/components/filter/index.vue
  12. 1 1
      src/views/market/spot_trade/spot_trade_order_transaction/components/delisting/index.vue
  13. 2 2
      src/views/market/spot_trade/spot_trade_order_transaction/components/listing/index.vue
  14. 52 45
      src/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_swap/components/buy-sell-market/index.vue
  15. 6 4
      src/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_swap/components/delisting/index.vue
  16. 32 28
      src/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_swap/components/detail/index.vue
  17. 36 9
      src/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_swap/components/post_buying/index.vue
  18. 1 0
      src/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_swap/interface.ts
  19. 1 1
      src/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_swap/setup.ts
  20. 1 1
      src/views/market/spot_trade/warehouse_pre_sale/warehouse_pre_sale_blocs/components/delisting/index.vue
  21. 1 1
      src/views/market/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_blocs/components/delisting/index.vue
  22. 1 1
      src/views/order/commodity_contract/components/commodity_contract_summary/components/commodity_contract_summary_transfer/index.vue
  23. 37 18
      src/views/order/pre_sale_warehouse_receipt/components/pre_sale_warehouse_receipt_order_summary/components/listed/index.vue
  24. 1 0
      src/views/order/pre_sale_warehouse_receipt/components/pre_sale_warehouse_receipt_pending_order/components/cancle/index.vue
  25. 2 1
      src/views/order/pre_sale_warehouse_receipt/components/pre_sale_warehouse_receipt_pending_order/components/detail/index.vue
  26. 1 0
      src/views/order/spot_warran/components/spot_warrant_pending_order/components/cancle/index.vue
  27. 2 1
      src/views/order/spot_warran/components/spot_warrant_pending_order/components/detail/index.vue
  28. 304 300
      src/views/order/spot_warran/components/spot_warrant_spot_details/components/listing/index.vue
  29. 102 101
      src/views/order/spot_warran/components/spot_warrant_spot_details/components/pick_up/index.vue

+ 34 - 0
src/hooks/margin.ts

@@ -0,0 +1,34 @@
+import { TradeMode } from "@/common/constants/enumCommon"
+import { getMarketByTradeMode } from "@/services/bus/market"
+import { ref } from "vue"
+import { queryTjmdTodayAccountMargin } from "../services/go/Tjmd"
+import { TjmdTodayAccountMarginReq } from "../services/go/Tjmd/interface"
+
+// 注意:这个 保证金和 仓单贸易 里的保证金不一样
+// 目前是掉期市场
+
+// 查询 今日保证金
+const allTodayMargin = ref<TjmdTodayAccountMarginReq[]>([])
+export const useTodayMargin = () => {
+    if (allTodayMargin.value.length === 0) {
+        queryTjmdTodayAccountMargin({}).then(res => {
+            allTodayMargin.value = res
+        })
+    }
+    // 通过 市场 ID 查找 保证金信息
+    function findTodayMarginByMarketId(marketid: number) {
+        return allTodayMargin.value.find(e => e.marketid === marketid)
+    }
+
+    // 获取 结算保证金值
+    function getReckonMarginValueByTradeMode(trademode: TradeMode) {
+        let result = null
+        const marketInfo = getMarketByTradeMode(trademode)
+        if (marketInfo) {
+            const temp = findTodayMarginByMarketId(marketInfo.marketid)?.infoc?.ReckonMarginValue
+            result = temp ? temp : null
+        }
+        return result
+    }
+    return { findTodayMarginByMarketId, getReckonMarginValueByTradeMode }
+}

+ 1 - 1
src/services/go/Tjmd/interface.ts

@@ -40,7 +40,7 @@ export interface TjmdTodayAccountMarginReq {
     accountid: number; // 账号ID
     goodsid: number; // 商品ID
     marketid: number; // 市场ID
-    infoc: GoodsMarginCfgStruct[]
+    infoc: GoodsMarginCfgStruct
 }
 
 export interface QueryTjmdTradeOrderDetailReq {

+ 3 - 1
src/services/go/wrtrade/interface.ts

@@ -74,6 +74,7 @@ export interface WrOrderQuoteDetail {
     userid: number;//购买方(销售方)用户ID
     username: string;//购买方(销售方)
     wrtradeorderid: string;//仓单贸易委托单ID(32number;
+    delistminqty: string; // 起摘数量
     //+Unix秒时间戳(1number;
     //位)+xxxxxx)
 }
@@ -263,7 +264,8 @@ export interface WrTradeDetail {
 export interface QueryWrGoodsInfoReq {
     marketid?: number//          仓单贸易市场id
     haswr: number//            0:仓单预售 1:仓单贸易
-    wrfactortypeid?: number//   仓单要素id
+    wrfactortypeid?: string | number//   仓单要素id
+    tmplateid?: number; // 履约模板id(如果指定了履约模板id,履约信息将按模板id查, 否则去市场配置表中找模板)
 }
 
 /**

+ 3 - 3
src/services/socket/order/index.ts

@@ -52,7 +52,7 @@ export const orderReq = (param: orderType.OrderReqType): Promise<string> => {
                 DelistingType: DelistingType.selected, // 摘牌类型
                 ServiceTime: '', // 服务端时间
             },
-            msgHeadParams: {
+            headParam: {
                 AccountID: param.AccountID,
                 MarketID: param.MarketID,
                 GoodsID: param.GoodsID,
@@ -93,7 +93,7 @@ export const cancelOrderReq = (param: orderType.CancelOrderReq): Promise<string>
                 OldOrderId: param.OldOrderId, // 原委托单号
                 AccountID: param.AccountID, // 交易账号
             },
-            msgHeadParams: {
+            headParam: {
                 AccountID: param.AccountID,
                 MarketID: param.MarketID,
                 GoodsID: param.GoodsID,
@@ -128,7 +128,7 @@ export function CancelPaymentReq(param: orderType.CancelPaymentReq): Promise<str
                 TradeID: param.tradeID,
                 AccountID: param.accountID,
             },
-            msgHeadParams: {
+            headParam: {
                 AccountID: param.accountID,
                 MarketID: param.marketID,
                 GoodsID: param.goodsID,

+ 1 - 0
src/services/socket/protobuf/buildReq.ts

@@ -83,6 +83,7 @@ function buildSoleProtoReq(protobufName: string, reqParams: type.ReqParams) {
             console.error(`$报文包中不存在 ${item} 属性}`);
         }
     }
+    console.log('Req', Req)
     return Req;
 }
 

+ 0 - 2
src/services/socket/protobuf/interface.ts

@@ -21,7 +21,6 @@ export interface SoleSearchParam {
     headParam?: IMessageHead; // messgeHead 参数
 
     Header?: IMessageHead; // messgeHead 参数
-    msgHeadParams?: IMessageHead; // messgeHead 参数
 }
 
 export interface ParseRsp {
@@ -33,5 +32,4 @@ export interface ComomonParamsType {
     protobufName: string; // protobuf名
     funCodeName: string; // funCode名
     reqParams: ReqParams; // 传入后台报文中的各种参数
-    msgHeadParams?: IMessageHead; // messgeHead 参数
 }

+ 4 - 5
src/views/business/purchase/components/someprice/index.vue

@@ -78,8 +78,7 @@
           </a-col>
           <a-col :span="12">
             <a-form-item label="已点均价">
-              <span
-                    class="white">{{ formatValue(selectedRow.pricedavg.toFixed(2))  + " 元" }}</span>
+              <span class="white">{{ formatValue(selectedRow.pricedavg.toFixed(2))  + " 元" }}</span>
             </a-form-item>
           </a-col>
         </a-row>
@@ -98,7 +97,7 @@
               <a-input-number class="dialogInput"
                               style="width: 200px"
                               v-model:value="formState.PricedPrice"
-                              ::min="0"
+                              :min="0"
                               placeholder="请输入点价价格" />
             </a-form-item>
           </a-col>
@@ -124,7 +123,7 @@
               <a-input-number class="dialogInput"
                               style="width: 200px"
                               v-model:value="formState.PricedQty"
-                              ::min="0"
+                              :min="0"
                               :max="selectedRow.unpricedqty"
                               placeholder="请输入点价数量" />
               <div class="tip mt10">
@@ -144,7 +143,7 @@
               <span class="white">{{
                   ((Number(selectedRow.pricemove) + Number(formState.PricedPrice)) * formState.PricedQty).toFixed(2)
                                + " 元" }}
-                  </span>
+              </span>
             </a-form-item>
           </a-col>
         </a-row>

+ 3 - 2
src/views/market/spot_trade/components/buy-sell-market/components/delisting/index.vue

@@ -80,7 +80,8 @@
                                 :max="getMaxNum()"
                                 v-model:value="formState.num" />
                 <span class="input-enumdicname-absolute">{{selectedRow.enumdicname}}</span>
-                <div class="labelTip">({{selectedRow.minivalue}}{{selectedRow.enumdicname}}起)</div>
+                <div class="labelTip">({{selectedRow.delistminqty}}{{selectedRow.enumdicname}}起)
+                </div>
               </a-form-item>
             </a-col>
           </a-row>
@@ -88,7 +89,7 @@
             <a-col :span="24"
                    class="mt-20">
               <a-form-item>
-                <a-slider ::min="0"
+                <a-slider :min="0"
                           v-model:value="formState.num"
                           :max="selectedRow.orderqty"
                           class="formSlider"

+ 168 - 174
src/views/market/spot_trade/components/buy-sell-market/components/financing_delisting/index.vue

@@ -1,145 +1,141 @@
 <template>
-    <!-- 仓单贸易&仓单预售 买/卖 摘牌 -->
-    <Drawer
-        :title="'摘牌'"
-        :placement="'right'"
-        :visible="visible"
-        width="486px"
-        height="580px"
-        @cancel="cancel"
-        class="top"
-    >
-        <div class="delisting">
-            <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-row>
-                    <a-row :gutter="24">
-                        <a-col :span="24">
-                            <a-form-item label="挂牌方">
-                                <span class="white ml8">{{selectedRow.username}}</span>
-                            </a-form-item>
-                        </a-col>
-                    </a-row>
-                    <a-row :gutter="24">
-                        <a-col :span="24">
-                            <a-form-item label="基差" v-if="isFloat()">
-                                <span class="yellow ml8">{{selectedRow.pricemove}}</span>
-                            </a-form-item>
-                            <a-form-item label="挂牌价格" v-if="!isFloat()">
-                                <span class="yellow ml8">{{selectedRow.fixedprice}}</span>
-                            </a-form-item>
-                            <a-row :gutter="24">
-                                <a-col :span="24"></a-col>
-                            </a-row>
-                            <a-form-item label="挂牌数量">
-                                <span
-                                    class="white ml8"
-                                >{{selectedRow.orderqty}}{{selectedRow.enumdicname}}</span>
-                            </a-form-item>
-                        </a-col>
-                    </a-row>
-                    <a-row :gutter="24">
-                        <a-col :span="24" class="mt-10">
-                            <a-form-item
-                                label="融资方案"
-                                @click="openComponent({code: 'ChooseFinance'})"
-                                name="caseId"
-                            >
-                                <div class="way">
-                                    <div class="left">{{formState.case ? formState.case : '请选择'}}</div>
-                                    <div class="right">
-                                        <svg class="icon svg-icon" aria-hidden="true">
-                                            <use xlink:href="#icon-fangan" />
-                                        </svg>
-                                    </div>
-                                </div>
-                            </a-form-item>
-                        </a-col>
-                    </a-row>
-                    <a-row :gutter="24" v-if="isBuy() && isWR()">
-                        <a-col :span="24">
-                            <a-form-item label="现货仓单" name="LadingBillId">
-                                <a-select
-                                    class="inlineFormSelect"
-                                    style="width: 260px"
-                                    v-model:value="formState.LadingBillId"
-                                    placeholder="请选择"
-                                >
-                                    <a-select-option
-                                        v-for="item in wrHoldList"
-                                        :value="item.id"
-                                        :key="item.id"
-                                    >{{item.name}}</a-select-option>
-                                </a-select>
-                            </a-form-item>
-                        </a-col>
-                    </a-row>
-                    <a-row :gutter="24">
-                        <a-col :span="24">
-                            <a-form-item label="摘牌数量" class="relative" name="num">
-                                <a-input-number
-                                    class="dialogInput yellowInput"
-                                    style="width: 260px"
-                                    :min="0"
-                                    :max="getMaxNum()"
-                                    v-model:value="formState.num"
-                                />
-                                <span class="input-enumdicname-absolute">{{selectedRow.enumdicname}}</span>
-                                <div
-                                    class="labelTip"
-                                >({{selectedRow.minivalue}}{{selectedRow.enumdicname}}起)</div>
-                            </a-form-item>
-                        </a-col>
-                    </a-row>
-                    <a-row :gutter="24">
-                        <a-col :span="24" class="mt-20">
-                            <a-form-item>
-                                <a-slider
-                                    ::min="0"
-                                    v-model:value="formState.num"
-                                    :max="selectedRow.orderqty"
-                                    class="formSlider"
-                                    style="width: 260px;"
-                                />
-                                <div class="unit">
-                                    <span>0</span>
-                                    <span>{{getMaxNum()}}{{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="24" class="mt-20">
-                            <a-form-item :label="isFloat() ? '估算金额' : '摘牌金额'">
-                                <span class="white ml8">{{getMoney()}}</span>
-                            </a-form-item>
-                        </a-col>
-                    </a-row>
-                    <a-row :gutter="24" v-if="getMargin()">
-                        <a-col :span="24">
-                            <a-form-item :label="getMargin() ? '履约保证金' : ''">
-                                <!-- <a-row>
+  <!-- 仓单贸易&仓单预售 买/卖 摘牌 -->
+  <Drawer :title="'摘牌'"
+          :placement="'right'"
+          :visible="visible"
+          width="486px"
+          height="580px"
+          @cancel="cancel"
+          class="top">
+    <div class="delisting">
+      <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-row>
+          <a-row :gutter="24">
+            <a-col :span="24">
+              <a-form-item label="挂牌方">
+                <span class="white ml8">{{selectedRow.username}}</span>
+              </a-form-item>
+            </a-col>
+          </a-row>
+          <a-row :gutter="24">
+            <a-col :span="24">
+              <a-form-item label="基差"
+                           v-if="isFloat()">
+                <span class="yellow ml8">{{selectedRow.pricemove}}</span>
+              </a-form-item>
+              <a-form-item label="挂牌价格"
+                           v-if="!isFloat()">
+                <span class="yellow ml8">{{selectedRow.fixedprice}}</span>
+              </a-form-item>
+              <a-row :gutter="24">
+                <a-col :span="24"></a-col>
+              </a-row>
+              <a-form-item label="挂牌数量">
+                <span class="white ml8">{{selectedRow.orderqty}}{{selectedRow.enumdicname}}</span>
+              </a-form-item>
+            </a-col>
+          </a-row>
+          <a-row :gutter="24">
+            <a-col :span="24"
+                   class="mt-10">
+              <a-form-item label="融资方案"
+                           @click="openComponent({code: 'ChooseFinance'})"
+                           name="caseId">
+                <div class="way">
+                  <div class="left">{{formState.case ? formState.case : '请选择'}}</div>
+                  <div class="right">
+                    <svg class="icon svg-icon"
+                         aria-hidden="true">
+                      <use xlink:href="#icon-fangan" />
+                    </svg>
+                  </div>
+                </div>
+              </a-form-item>
+            </a-col>
+          </a-row>
+          <a-row :gutter="24"
+                 v-if="isBuy() && isWR()">
+            <a-col :span="24">
+              <a-form-item label="现货仓单"
+                           name="LadingBillId">
+                <a-select class="inlineFormSelect"
+                          style="width: 260px"
+                          v-model:value="formState.LadingBillId"
+                          placeholder="请选择">
+                  <a-select-option v-for="item in wrHoldList"
+                                   :value="item.id"
+                                   :key="item.id">{{item.name}}</a-select-option>
+                </a-select>
+              </a-form-item>
+            </a-col>
+          </a-row>
+          <a-row :gutter="24">
+            <a-col :span="24">
+              <a-form-item label="摘牌数量"
+                           class="relative"
+                           name="num">
+                <a-input-number class="dialogInput yellowInput"
+                                style="width: 260px"
+                                :min="0"
+                                :max="getMaxNum()"
+                                v-model:value="formState.num" />
+                <span class="input-enumdicname-absolute">{{selectedRow.enumdicname}}</span>
+                <div class="labelTip">({{selectedRow.delistminqty}}{{selectedRow.enumdicname}}起)
+                </div>
+              </a-form-item>
+            </a-col>
+          </a-row>
+          <a-row :gutter="24">
+            <a-col :span="24"
+                   class="mt-20">
+              <a-form-item>
+                <a-slider :min="0"
+                          v-model:value="formState.num"
+                          :max="selectedRow.orderqty"
+                          class="formSlider"
+                          style="width: 260px;" />
+                <div class="unit">
+                  <span>0</span>
+                  <span>{{getMaxNum()}}{{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="24"
+                   class="mt-20">
+              <a-form-item :label="isFloat() ? '估算金额' : '摘牌金额'">
+                <span class="white ml8">{{getMoney()}}</span>
+              </a-form-item>
+            </a-col>
+          </a-row>
+          <a-row :gutter="24"
+                 v-if="getMargin()">
+            <a-col :span="24">
+              <a-form-item :label="getMargin() ? '履约保证金' : ''">
+                <!-- <a-row>
                                 <a-col :span="8">-->
-                                <span class="white ml8">{{getMargin()}}</span>
-                                <!-- </a-col>
+                <span class="white ml8">{{getMargin()}}</span>
+                <!-- </a-col>
                                     <a-col :span="5" class="tr">
                                         <span class="grey1">可用资金</span>
                                     </a-col>
@@ -149,41 +145,39 @@
                                         >{{getCanUseMoney(getSelectedAccount())}}</span>
                                     </a-col>
                                 </a-row>-->
-                            </a-form-item>
-                        </a-col>
-                    </a-row>
-                    <a-row :gutter="24">
-                        <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"
-                                :loading="loading"
-                                :disabled="loading"
-                                @click="submit"
-                            >{{isBuy() ? '卖出' : '买入'}}</a-button>
-                            <a-button class="ml10 cancelBtn" @click="cancel">取消</a-button>
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-            </a-form>
+              </a-form-item>
+            </a-col>
+          </a-row>
+          <a-row :gutter="24">
+            <a-col :span="24">
+              <a-form-item label="可用资金">
+                <span class="white ml8">{{getCanUseMoney(getSelectedAccount())}}</span>
+              </a-form-item>
+            </a-col>
+          </a-row>
         </div>
-    </Drawer>
-    <component
-        :is="componentId"
-        v-if="componentId"
-        :selectedRow="selectedRow"
-        :isFloat="isFloat()"
-        @update="choose"
-        @cancel="closeComponent"
-    ></component>
+        <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">{{isBuy() ? '卖出' : '买入'}}</a-button>
+              <a-button class="ml10 cancelBtn"
+                        @click="cancel">取消</a-button>
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+  </Drawer>
+  <component :is="componentId"
+             v-if="componentId"
+             :selectedRow="selectedRow"
+             :isFloat="isFloat()"
+             @update="choose"
+             @cancel="closeComponent"></component>
 </template>
 
 <script lang="ts">

+ 32 - 28
src/views/market/spot_trade/components/detail/index.vue

@@ -1,33 +1,36 @@
 <template>
-    <!-- 买卖大厅详情 -->
-    <Drawer
-        :title="'详情'"
-        :placement="'right'"
-        :visible="visible"
-        class="top top486"
-        @cancel="cancel"
-    >
-        <div class="detailCont">
-            <div class="rows">
-                <div class="row" v-for="item in lstitem" :key="item.name">
-                    <div class="left">{{item.name}}</div>
-                    <div class="right">{{item.value}}</div>
-                </div>
-            </div>
-            <div class="ruleTitle">履约规则:</div>
-            <div class="rulesCont">
-                <a-row>
-                    <a-col :span="24" class="ruleCol">
-                        <div class="line" v-for="item in lststep" :key="item.autoid">
-                            <!-- <div class="no">{{index + 1}}</div> -->
-                            <div class="name">{{item.steptypename}}</div>
-                            <div class="time">{{item.stepdate}}</div>
-                        </div>
-                    </a-col>
-                </a-row>
-            </div>
+  <!-- 买卖大厅详情 -->
+  <Drawer :title="'详情'"
+          :placement="'right'"
+          :visible="visible"
+          class="top top486"
+          @cancel="cancel">
+    <div class="detailCont">
+      <div class="rows">
+        <div class="row"
+             v-for="item in lstitem"
+             :key="item.name">
+          <div class="left">{{item.name}}</div>
+          <div class="right">{{item.value}}</div>
         </div>
-    </Drawer>
+      </div>
+      <div class="ruleTitle">履约规则:</div>
+      <div class="rulesCont">
+        <a-row>
+          <a-col :span="24"
+                 class="ruleCol">
+            <div class="line"
+                 v-for="item in lststep"
+                 :key="item.autoid">
+              <!-- <div class="no">{{index + 1}}</div> -->
+              <div class="name">{{item.steptypename}}</div>
+              <div class="time">{{item.stepdate}}</div>
+            </div>
+          </a-col>
+        </a-row>
+      </div>
+    </div>
+  </Drawer>
 </template>
 
 <script lang="ts">
@@ -65,6 +68,7 @@ export default defineComponent({
         const param: QueryWrGoodsInfoReq = {
             haswr: isSale() ? 0 : 1,
             wrfactortypeid: props.selectedRow.wrfactortypeid,
+            // tmplateid: props.selectedRow.performancetemplateid ? props.selectedRow.performancetemplateid : 0,
         };
         queryResultLoadingAndInfo(queryWrGoodsInfo, loading, param).then((res) => {
             if (res.length) {

+ 2 - 2
src/views/market/spot_trade/components/filter/index.vue

@@ -143,7 +143,7 @@ export default defineComponent({
                     item.children?.forEach((el) => {
                         if (el.key === id) {
                             //  品种id
-                            result.deliverygoodsid = item.key;
+                            result.deliverygoodsid = +(item.key as string).replace('--', '');
                         }
                     });
                 });
@@ -177,7 +177,6 @@ export default defineComponent({
             return result;
         }
         function listingAction() {
-            debugger;
             if (!selectedFT.value) {
                 message.warn('请选中商品!');
                 return;
@@ -220,6 +219,7 @@ export default defineComponent({
                     });
                 });
                 Object.assign(result, obj);
+
                 context.emit('buy', result, selectedGoods.value);
             }
         }

+ 1 - 1
src/views/market/spot_trade/spot_trade_order_transaction/components/delisting/index.vue

@@ -66,7 +66,7 @@
             <a-col :span="24"
                    class="mt-20">
               <a-form-item>
-                <a-slider ::min="0"
+                <a-slider :min="0"
                           v-model:value="formState.num"
                           :max="selectedRow.orderqty"
                           class="formSlider"

+ 2 - 2
src/views/market/spot_trade/spot_trade_order_transaction/components/listing/index.vue

@@ -52,7 +52,7 @@
                                 :max="99999"
                                 v-model:value="formState.num" />
                 <span class="input-enumdicname-absolute">{{deliverGoods.enumdicname}}</span>
-                <!-- <div class="labelTip">({{selectedRow.minivalue}}{{selectedRow.enumdicname}}起)</div> -->
+                <!-- <div class="labelTip">({{selectedRow.delistminqty}}{{selectedRow.enumdicname}}起)</div> -->
               </a-form-item>
             </a-col>
           </a-row>
@@ -60,7 +60,7 @@
             <a-col :span="24"
                    class="mt-20">
               <a-form-item>
-                <a-slider ::min="0"
+                <a-slider :min="0"
                           v-model:value="formState.num"
                           :max="deliverGoods.orderqty"
                           class="formSlider"

+ 52 - 45
src/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_swap/components/buy-sell-market/index.vue

@@ -1,50 +1,56 @@
 <template>
-    <!-- 买卖大厅 -->
-    <div class="buy-sell-market">
-        <div class="buy-sell-market-title">
-            <a class="backIcon" @click="cancel">
-                <LeftOutlined />
-            </a>
-            <div class="titleBtn">
-                <div class="name">{{selectedRow.goodsname}}</div>
-                <div class="arrowRightIcon"></div>
-            </div>
-            <div class="priceBar bdf1 ml20">
-                <div class="greenBar">
-                    <div class="numBlock">
-                        <div class="first">卖量</div>
-                        <div class="last green">{{selectedRow.sellqty}}</div>
-                    </div>
-                    <div class="numBlock">
-                        <div class="first">买量</div>
-                        <div class="last white">{{selectedRow.buyqty}}</div>
-                    </div>
-                </div>
-            </div>
-            <!-- 历史走势按钮 -->
-            <a-button class="historyBtn" @click="openComponent({code: 'HisChart'})">
-                历史走势
-                <LineChartOutlined />
-            </a-button>
-            <BtnList :btnList="firstBtn" :record="selectedRow" @click="openComponent" />
+  <!-- 买卖大厅 -->
+  <div class="buy-sell-market">
+    <div class="buy-sell-market-title">
+      <a class="backIcon"
+         @click="cancel">
+        <LeftOutlined />
+      </a>
+      <div class="titleBtn">
+        <div class="name">{{selectedRow.goodsname}}</div>
+        <div class="arrowRightIcon"></div>
+      </div>
+      <div class="priceBar bdf1 ml20">
+        <div class="greenBar">
+          <div class="numBlock">
+            <div class="first">卖量</div>
+            <div class="last green">{{selectedRow.sellqty}}</div>
+          </div>
+          <div class="numBlock">
+            <div class="first">买量</div>
+            <div class="last white">{{selectedRow.buyqty}}</div>
+          </div>
         </div>
-        <a-row class="buySellHall">
-            <a-col :span="12">
-                <Sell :enumName="enumName" ref="sellRef" :parantSelectedRow="selectedRow" />
-            </a-col>
-            <a-col :span="12">
-                <Buy :enumName="enumName" ref="buyRef" :parantSelectedRow="selectedRow" />
-            </a-col>
-        </a-row>
-        <component
-            :is="componentId"
-            v-if="componentId"
-            :selectedRow="selectedRow"
-            :goodsPrice="getGoodsPrice()"
-            :enumName="enumName"
-            @cancel="closeComponent"
-        ></component>
+      </div>
+      <!-- 历史走势按钮 -->
+      <a-button class="historyBtn"
+                @click="openComponent({code: 'HisChart'})">
+        历史走势
+        <LineChartOutlined />
+      </a-button>
+      <BtnList :btnList="firstBtn"
+               :record="selectedRow"
+               @click="openComponent" />
     </div>
+    <a-row class="buySellHall">
+      <a-col :span="12">
+        <Sell :enumName="enumName"
+              ref="sellRef"
+              :parantSelectedRow="selectedRow" />
+      </a-col>
+      <a-col :span="12">
+        <Buy :enumName="enumName"
+             ref="buyRef"
+             :parantSelectedRow="selectedRow" />
+      </a-col>
+    </a-row>
+    <component :is="componentId"
+               v-if="componentId"
+               :selectedRow="selectedRow"
+               :goodsPrice="getGoodsPrice()"
+               :enumName="enumName"
+               @cancel="closeComponent"></component>
+  </div>
 </template>
 
 <script lang="ts">
@@ -67,13 +73,14 @@ import { BtnListType } from '@/common/components/btnList/interface';
 import moment, { Moment } from 'moment';
 import { BuyOrSell } from '@/common/constants/enumCommon';
 import { getBtnList } from '../../setup';
+import { RefGoodsList } from '../../interface';
 
 export default defineComponent({
     emits: ['cancel', 'update'],
     name: 'buy-sell-market',
     props: {
         selectedRow: {
-            type: Object as PropType<WrOrderQuote>,
+            type: Object as PropType<RefGoodsList>,
             default: {},
         },
         enumName: {

+ 6 - 4
src/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_swap/components/delisting/index.vue

@@ -173,6 +173,7 @@ import { defineComponent, PropType, ref } from 'vue';
 import { useUserType } from '../setup';
 import { FormParam } from './interface';
 import { handleForm, useBlocksPrice, useBlocksNumber } from './setup';
+import { useTodayMargin } from '@/hooks/margin';
 
 export default defineComponent({
     emits: ['cancel', 'update'],
@@ -193,6 +194,8 @@ export default defineComponent({
         },
     },
     setup(props, context) {
+        // 获取保证金比例
+        const { getReckonMarginValueByTradeMode } = useTodayMargin();
         // 控制弹窗
         const { visible, cancel } = _closeModal(context);
         // 表单
@@ -219,11 +222,10 @@ export default defineComponent({
         };
         // 保证金
         const getMargin = () => {
-            const { buymarginvalue, sellmarginvalue } = useTradeRule();
-            const marginvalue = isBuy() ? buymarginvalue : sellmarginvalue;
+            const marginvalue = getReckonMarginValueByTradeMode(TradeMode.DiaoQi);
             let result = 0;
-            if (formState.num) {
-                result = (getMoney() + props.selectedRow.marketmaxsub) * formState.num * marginvalue;
+            if (formState.num && marginvalue) {
+                result = (getMoney() + props.selectedRow.marketmaxsub) * formState.num * (marginvalue / 100);
             }
             return result ? result.toFixed(2) : '--';
         };

+ 32 - 28
src/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_swap/components/detail/index.vue

@@ -1,33 +1,36 @@
 <template>
-    <!-- 买卖大厅详情 -->
-    <Drawer
-        :title="'详情'"
-        :placement="'right'"
-        :visible="visible"
-        class="top top486"
-        @cancel="cancel"
-    >
-        <div class="detailCont">
-            <div class="rows">
-                <div class="row" v-for="item in lstitem" :key="item.name">
-                    <div class="left">{{item.name}}</div>
-                    <div class="right">{{item.value}}</div>
-                </div>
-            </div>
-            <div class="ruleTitle">履约规则:</div>
-            <div class="rulesCont">
-                <a-row>
-                    <a-col :span="24" class="ruleCol">
-                        <div class="line" v-for="item in lststep" :key="item.autoid">
-                            <!-- <div class="no">{{index + 1}}</div> -->
-                            <div class="name">{{item.steptypename}}</div>
-                            <div class="time">{{item.stepdate}}</div>
-                        </div>
-                    </a-col>
-                </a-row>
-            </div>
+  <!-- 买卖大厅详情 -->
+  <Drawer :title="'详情'"
+          :placement="'right'"
+          :visible="visible"
+          class="top top486"
+          @cancel="cancel">
+    <div class="detailCont">
+      <div class="rows">
+        <div class="row"
+             v-for="item in lstitem"
+             :key="item.name">
+          <div class="left">{{item.name}}</div>
+          <div class="right">{{item.value}}</div>
         </div>
-    </Drawer>
+      </div>
+      <div class="ruleTitle">履约规则:</div>
+      <div class="rulesCont">
+        <a-row>
+          <a-col :span="24"
+                 class="ruleCol">
+            <div class="line"
+                 v-for="item in lststep"
+                 :key="item.autoid">
+              <!-- <div class="no">{{index + 1}}</div> -->
+              <div class="name">{{item.steptypename}}</div>
+              <div class="time">{{item.stepdate}}</div>
+            </div>
+          </a-col>
+        </a-row>
+      </div>
+    </div>
+  </Drawer>
 </template>
 
 <script lang="ts">
@@ -65,6 +68,7 @@ export default defineComponent({
         const param: QueryWrGoodsInfoReq = {
             haswr: isSale() ? 0 : 1,
             wrfactortypeid: props.selectedRow.wrfactortypeid,
+            // tmplateid: props.selectedRow.performancetemplateid,
         };
         queryResultLoadingAndInfo(queryWrGoodsInfo, loading, param).then((res) => {
             if (res.length) {

+ 36 - 9
src/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_swap/components/post_buying/index.vue

@@ -147,11 +147,14 @@ import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo
 import { useTaAccount } from '@/common/setup/account';
 import { validateAction } from '@/common/setup/form';
 import { _closeModal } from '@/common/setup/modal/modal';
+import { queryTableList } from '@/common/setup/table';
 import { useListingTradeNumAndPrice } from '@/common/setup/trade';
 import { ListingTradeNumAndPrice } from '@/common/setup/trade/interface';
-import { getGoodsByCode, getQuoteDayInfoByCodeFindPrice } from '@/services/bus/goods';
+import { useTodayMargin } from '@/hooks/margin';
+import { getGoodsAgreeunitByGoodsCode, getGoodsByCode, getQuoteDayInfoByCodeFindPrice } from '@/services/bus/goods';
 import { geLoginID_number } from '@/services/bus/login';
 import { getMarketByTradeMode } from '@/services/bus/market';
+import { QueryTradePositionRsp } from '@/services/go/ermcp/order/interface';
 import { QueryQuoteDayRsp } from '@/services/go/quote/interface';
 import { QueryQuoteGoodsListRsp } from '@/services/go/Tjmd/interface';
 import { diaoQiOrder } from '@/services/socket/order';
@@ -163,6 +166,9 @@ import { defineComponent, PropType, ref } from 'vue';
 import { useUserType } from '../setup';
 import { FormParam } from './interface';
 import { handleForm, isFloat, useBuySellDirection, usePrice, useNum } from './setup';
+import { queryTradePosition } from '@/services/go/ermcp/order';
+import { WrOrderQuote } from '@/services/go/wrtrade/interface';
+import { RefGoodsList } from '../../interface';
 
 export default defineComponent({
     emits: ['cancel', 'update'],
@@ -170,15 +176,17 @@ export default defineComponent({
     components: { Des, Drawer, PlusOutlined, MinusOutlined, SwapOutlined },
     props: {
         selectedRow: {
-            type: Object as PropType<QueryQuoteDayRsp>,
+            type: Object as PropType<RefGoodsList>,
             default: {},
         },
-        refGoods: {
-            type: Object as PropType<QueryQuoteGoodsListRsp[]>,
-            default: [],
-        },
     },
     setup(props, context) {
+        // 查询 我的 持仓
+        const { tableList, queryTable } = queryTableList<QueryTradePositionRsp>();
+        queryTable(queryTradePosition);
+
+        // 获取保证金比例
+        const { getReckonMarginValueByTradeMode } = useTodayMargin();
         // 控制弹窗
         const { visible, cancel } = _closeModal(context);
         // 表单
@@ -195,11 +203,30 @@ export default defineComponent({
             isFloat,
             canUseMoney,
         };
-        const { getFloatPrice, getListingBuyMaxNum, getListingSellMaxNum, getListingBuyMargin, getListingSellMargin, getMoney } = useListingTradeNumAndPrice<FormParam>(param);
+        const { getFloatPrice, getMoney } = useListingTradeNumAndPrice<FormParam>(param);
         // 保证金
-        const getMargin = isBuy() ? getListingBuyMargin : getListingBuyMargin;
+        const getMargin = () => {
+            const marginvalue = getReckonMarginValueByTradeMode(TradeMode.DiaoQi);
+            return marginvalue ? marginvalue : '--';
+        };
         // 最大数量
-        const getMaxNum = isBuy() ? getListingBuyMaxNum : getListingBuyMaxNum;
+        const getMaxNum = () => {
+            let result = 0;
+            if (isBuy()) {
+                // 可用资金
+                const temp = +canUseMoney();
+
+                const money = temp > 0 ? temp : 0;
+                const agreeunit = getGoodsAgreeunitByGoodsCode(props.selectedRow.goodscode);
+                if (money && formState.FixedPrice) {
+                    result = +(money / (formState.FixedPrice * agreeunit)).toFixed(0);
+                }
+            } else {
+                const temp = tableList.value.find((el) => el.goodscode === props.selectedRow.goodscode)?.enableqty;
+                result = temp ? temp : 0;
+            }
+            return result;
+        };
 
         function submit() {
             validateAction<FormParam>(formRef, formState).then((res) => {

+ 1 - 0
src/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_swap/interface.ts

@@ -3,4 +3,5 @@ import { QueryQuoteDayRsp } from "@/services/go/quote/interface";
 export interface RefGoodsList extends QueryQuoteDayRsp {
     refgoodsname: string
     goodsname: string
+    orderid: number
 }

+ 1 - 1
src/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_swap/setup.ts

@@ -37,7 +37,7 @@ export const useSwapList = () => {
             allGoodsList.value.length = 0
             res.forEach(el => {
                 // 找到盘面数据
-                const quote = getQuoteDayInfoByCode(el.goodscode);
+                const quote = getQuoteDayInfoByCode(el.refgoodscode);
                 if (quote) {
                     const result: RefGoodsList = {
                         ...quote,

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

@@ -91,7 +91,7 @@
             <a-col :span="24"
                    class="mt-20">
               <a-form-item>
-                <a-slider ::min="0"
+                <a-slider :min="0"
                           v-model:value="formState.num"
                           :max="selectedRow.orderqty"
                           class="formSlider"

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

@@ -91,7 +91,7 @@
             <a-col :span="24"
                    class="mt-20">
               <a-form-item>
-                <a-slider ::min="0"
+                <a-slider :min="0"
                           v-model:value="formState.num"
                           :max="selectedRow.orderqty"
                           class="formSlider"

+ 1 - 1
src/views/order/commodity_contract/components/commodity_contract_summary/components/commodity_contract_summary_transfer/index.vue

@@ -54,7 +54,7 @@
             <a-col :span="24"
                    class="mt-20">
               <a-form-item>
-                <a-slider ::min="0"
+                <a-slider :min="0"
                           v-model:value="formState.num"
                           :max="getMax()"
                           class="formSlider"

+ 37 - 18
src/views/order/pre_sale_warehouse_receipt/components/pre_sale_warehouse_receipt_order_summary/components/listed/index.vue

@@ -102,7 +102,7 @@
                    class="mt-20">
               <a-form-item>
                 <a-slider v-model:value="formState.OrderQty"
-                          ::min="0"
+                          :min="0"
                           :max="selectedRow.enableqty"
                           class="formSlider"
                           style="width: 140px;" />
@@ -218,6 +218,15 @@
             <a-col :span="24"
                    v-if="isFloat()"
                    class="relative">
+              <a-form-item :label="'估算价'">
+                <span class="white ml8">{{getPrice()}}</span>
+              </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>
@@ -287,30 +296,29 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, onMounted, PropType, ref } from 'vue';
 import Drawer from '@/common/components/drawer/index.vue';
-import { WrPosition } from '@/services/go/wrtrade/interface';
-import { getAccountTypeList, getInTaAccount, getSelectedAccount, getUserId } from '@/services/bus/account';
-import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
-import { hdWROrder } from '@/services/proto/warehousetrade';
-import { v4 as uuidv4, v4 } from 'uuid';
-import moment from 'moment';
+import Friend from '@/common/components/friends/index.vue';
+import Permance from '@/common/components/permanceTemp/choosePermancePlanTmp.vue';
+import { BuyOrSell } from '@/common/constants/enumCommon';
 import { ModalEnum } from '@/common/constants/modalNameEnum';
-import { _closeModal } from '@/common/setup/modal/modal';
+import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
 import { validateAction } from '@/common/setup/form';
-import { ListingForm } from './interface';
+import { _closeModal } from '@/common/setup/modal/modal';
+import { useBlocksAccount, useBlocksFriends, useBlocksMoney, useBlocksNumber, useBlocksPermaceTemp, useBlocksPrice } from '@/common/setup/warehouse_receipt_trade/listing';
+import { getAccountTypeList, getCanUseMoney, getInTaAccount, getSelectedAccount, getUserId } from '@/services/bus/account';
 import { getMarketRunByTradeMode } from '@/services/bus/market';
+import { WrPosition } from '@/services/go/wrtrade/interface';
+import { hdWROrder } from '@/services/proto/warehousetrade';
 import { WRGoodsInfo } from '@/services/proto/warehousetrade/interface';
-import Bus from '@/utils/eventBus';
-import { handleGoods, handleForm, handleNumAndPrice } from './setup';
 import { addSubscribeQuotation, removeSubscribeQuotation } from '@/services/socket/quota';
-import { getCanUseMoney } from '@/services/bus/account';
-
-import Friend from '@/common/components/friends/index.vue';
-import Permance from '@/common/components/permanceTemp/choosePermancePlanTmp.vue';
-import { useBlocksPrice, useBlocksNumber, useBlocksAccount, useBlocksMoney, useBlocksFriends, useBlocksPermaceTemp } from '@/common/setup/warehouse_receipt_trade/listing';
-import { BuyOrSell } from '@/common/constants/enumCommon';
+import Bus from '@/utils/eventBus';
+import { getGoodsPrice } from '@/views/market/spot_trade/components/buy-sell-market/setup';
 import { message } from 'ant-design-vue';
+import moment from 'moment';
+import { v4 as uuidv4, v4 } from 'uuid';
+import { defineComponent, onMounted, PropType, ref } from 'vue';
+import { ListingForm } from './interface';
+import { handleForm, handleGoods, handleNumAndPrice } from './setup';
 
 export default defineComponent({
     name: ModalEnum.spot_warrant_spot_details_listed,
@@ -352,6 +360,16 @@ export default defineComponent({
             addSubscribeQuotation(uuid, arr);
             formRef.value.validate();
         }
+        // 估算价
+        function getPrice() {
+            let result = '--';
+            const goodsPrice = getGoodsPrice();
+            if (goodsPrice.value && goodsPrice.value !== '--') {
+                // 有实时行情价格
+                result = ((goodsPrice.value as number) + formState.PriceMove).toFixed(2);
+            }
+            return result;
+        }
         onMounted(() => {
             removeSubscribeQuotation(uuid);
         });
@@ -485,6 +503,7 @@ export default defineComponent({
             openFriend,
             getFriendLength,
             limiteFriends,
+            getPrice,
         };
     },
 });

+ 1 - 0
src/views/order/pre_sale_warehouse_receipt/components/pre_sale_warehouse_receipt_pending_order/components/cancle/index.vue

@@ -49,6 +49,7 @@ export default defineComponent({
             };
             requestResultLoadingAndInfo(wRListingCancelOrder, param, loading, ['撤单成功', '撤单失败:']).then(() => {
                 Bus.$emit('spotTrade', true);
+                Bus.$emit('blocsTrade', true);
                 cancel(true);
             });
         }

+ 2 - 1
src/views/order/pre_sale_warehouse_receipt/components/pre_sale_warehouse_receipt_pending_order/components/detail/index.vue

@@ -61,7 +61,8 @@ export default defineComponent({
         const lststep = ref<WrGoodsPerformanceStep[]>();
         const param: QueryWrGoodsInfoReq = {
             haswr: 0,
-            wrfactortypeid: Long.fromString(props.selectedRow.wrfactortypeid),
+            wrfactortypeid: props.selectedRow.wrfactortypeid,
+            tmplateid: props.selectedRow.performancetemplateid,
         };
         queryResultLoadingAndInfo(queryWrGoodsInfo, loading, param).then((res) => {
             if (res.length) {

+ 1 - 0
src/views/order/spot_warran/components/spot_warrant_pending_order/components/cancle/index.vue

@@ -49,6 +49,7 @@ export default defineComponent({
             };
             requestResultLoadingAndInfo(wRListingCancelOrder, param, loading, ['撤单成功', '撤单失败:']).then(() => {
                 Bus.$emit('spotTrade', true);
+                Bus.$emit('blocsTrade', true);
                 cancel(true);
             });
         }

+ 2 - 1
src/views/order/spot_warran/components/spot_warrant_pending_order/components/detail/index.vue

@@ -61,7 +61,8 @@ export default defineComponent({
         const lststep = ref<WrGoodsPerformanceStep[]>();
         const param: QueryWrGoodsInfoReq = {
             haswr: 1,
-            wrfactortypeid: Long.fromString(props.selectedRow.wrfactortypeid),
+            wrfactortypeid: props.selectedRow.wrfactortypeid,
+            tmplateid: props.selectedRow.performancetemplateid,
         };
         queryResultLoadingAndInfo(queryWrGoodsInfo, loading, param).then((res) => {
             if (res.length) {

+ 304 - 300
src/views/order/spot_warran/components/spot_warrant_spot_details/components/listing/index.vue

@@ -1,317 +1,311 @@
 <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="挂牌数量" class="inputIconBox" 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-checkbox
-                                    class="commonCheckbox"
-                                    v-if="isBlocs()"
-                                    v-model:checked="numCheck"
-                                >整单</a-checkbox>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12" v-if="!numCheck">
-                            <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">
-                                    <span>最小单位:</span>
-                                    <span>{{selectedRow.minivalue}}{{selectedRow.enumdicname}}</span>
-                                </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', formState.permanceTempName ? 'white' : '']"
-                                        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', getFriendLength() ? 'white' : '']"
-                                        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="挂牌数量"
+                           class="inputIconBox"
+                           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-checkbox class="commonCheckbox"
+                            v-if="isBlocs()"
+                            v-model:checked="numCheck">整单</a-checkbox>
+              </a-form-item>
+            </a-col>
+            <a-col :span="12"
+                   v-if="!numCheck">
+              <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">
+                  <span>最小单位:</span>
+                  <span>{{selectedRow.minivalue}}{{selectedRow.enumdicname}}</span>
+                </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', formState.permanceTempName ? 'white' : '']"
+                        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', getFriendLength() ? 'white' : '']"
+                        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="isBlocs()" class="relative">
-                            <a-form-item :label="'挂牌金额'">
-                                <span class="white ml8">{{getMoney()}}</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">{{getPrice()}}</span>
+              </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="isBlocs()"
+                   class="relative">
+              <a-form-item :label="'挂牌金额'">
+                <span class="white ml8">{{getMoney()}}</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"
-        :friends="formState.friends"
-        :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"
+          :friends="formState.friends"
+          :position="'bottom'"
+          @cancel="chooseFriend"
+          @update="chooseFriend" />
+  <!-- 选择履约模板 -->
+  <Permance v-if="showPermance"
+            :position="'bottom'"
+            @cancel="choosePermance"
+            @update="choosePermance" />
 </template>
 
 <script lang="ts">
-import { defineComponent, onMounted, PropType, ref } from 'vue';
-import { enumOrderComponents } from '@/common/constants/enumOrderComponents';
 import Drawer from '@/common/components/drawer/index.vue';
-import { WrHoldLB } from '@/services/go/wrtrade/interface';
-import { getInTaAccount, getUserId } from '@/services/bus/account';
-import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
-import { hdWROrder } from '@/services/proto/warehousetrade';
-import { v4 } from 'uuid';
-import moment from 'moment';
+import Friend from '@/common/components/friends/index.vue';
+import Permance from '@/common/components/permanceTemp/choosePermancePlanTmp.vue';
+import { BuyOrSell } from '@/common/constants/enumCommon';
 import { ModalEnum } from '@/common/constants/modalNameEnum';
-import { _closeModal } from '@/common/setup/modal/modal';
-import { handleGoods, handleForm, handleNumAndPrice } from './setup';
+import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
 import { validateAction } from '@/common/setup/form';
-import { ListingForm } from './interface';
+import { _closeModal } from '@/common/setup/modal/modal';
+import { useBlocksAccount, useBlocksFriends, useBlocksMoney, useBlocksNumber, useBlocksPermaceTemp, useBlocksPrice } from '@/common/setup/warehouse_receipt_trade/listing';
+import { getCanUseMoney, getInTaAccount, getUserId } from '@/services/bus/account';
 import { getMarketRunByTradeMode } from '@/services/bus/market';
-import { message } from 'ant-design-vue';
+import { WrHoldLB } from '@/services/go/wrtrade/interface';
+import { hdWROrder } from '@/services/proto/warehousetrade';
 import { WRGoodsInfo } from '@/services/proto/warehousetrade/interface';
-import { BuyOrSell } from '@/common/constants/enumCommon';
-import Bus from '@/utils/eventBus/index';
 import { addSubscribeQuotation, removeSubscribeQuotation } from '@/services/socket/quota';
-import { getCanUseMoney } from '@/services/bus/account';
-
-import Friend from '@/common/components/friends/index.vue';
-import Permance from '@/common/components/permanceTemp/choosePermancePlanTmp.vue';
-import { useBlocksPrice, useBlocksNumber, useBlocksAccount, useBlocksMoney, useBlocksFriends, useBlocksPermaceTemp } from '@/common/setup/warehouse_receipt_trade/listing';
+import Bus from '@/utils/eventBus/index';
+import { getGoodsPrice } from '@/views/market/spot_trade/components/buy-sell-market/setup';
+import { message } from 'ant-design-vue';
+import moment from 'moment';
+import { v4 } from 'uuid';
+import { defineComponent, onMounted, PropType, ref } from 'vue';
+import { ListingForm } from './interface';
+import { handleForm, handleGoods, handleNumAndPrice } from './setup';
 
 export default defineComponent({
     name: ModalEnum.spot_warrant_spot_details_listed,
@@ -353,7 +347,16 @@ export default defineComponent({
             addSubscribeQuotation(uuid, arr);
             formRef.value.validate();
         }
-
+        // 估算价
+        function getPrice() {
+            let result = '--';
+            const goodsPrice = getGoodsPrice();
+            if (goodsPrice.value && goodsPrice.value !== '--') {
+                // 有实时行情价格
+                result = ((goodsPrice.value as number) + formState.PriceMove).toFixed(2);
+            }
+            return result;
+        }
         onMounted(() => {
             removeSubscribeQuotation(uuid);
         });
@@ -485,6 +488,7 @@ export default defineComponent({
             openFriend,
             getFriendLength,
             limiteFriends,
+            getPrice,
         };
     },
 });

+ 102 - 101
src/views/order/spot_warran/components/spot_warrant_spot_details/components/pick_up/index.vue

@@ -1,107 +1,108 @@
 <template>
-    <!-- 现货仓单 现货明细 提货 true -->
-    <Drawer :title="'提货'" :placement="'right'" class="bottom" :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="OutQty">
-                                <a-input-number
-                                    class="commonInput"
-                                    v-model:value="formState.OutQty"
-                                    :min="0"
-                                    :max="selectedRow.enableqty"
-                                    style="width: 140px"
-                                />
-                                <span class="input-enumdicname">{{selectedRow.enumdicname}}</span>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">
-                            <a-form-item label="提货人" name="ContactName">
-                                <a-input
-                                    class="commonInput"
-                                    v-model:value="formState.ContactName"
-                                    style="width: 140px"
-                                />
-                            </a-form-item>
-                        </a-col>
-                    </a-row>
-                    <a-row :gutter="24">
-                        <a-col :span="12" class="mt-20">
-                            <a-form-item>
-                                <!-- <a-progress class="formProgress" :percent="30" /> -->
-                                <a-slider
-                                    v-model:value="formState.OutQty"
-                                    ::min="0"
-                                    :max="selectedRow.enableqty"
-                                    class="formSlider"
-                                    style="width: 140px !important;"
-                                />
-                                <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="ContactNum">
-                                <a-input
-                                    class="commonInput"
-                                    v-model:value="formState.ContactNum"
-                                    style="width: 140px"
-                                />
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">
-                            <a-form-item label="预约日期" name="AppointmentDate">
-                                <a-date-picker
-                                    class="commonDatePicker dialogDatePicker"
-                                    allowClear="false"
-                                    v-model:value="formState.AppointmentDate"
-                                    style="width: 140px"
-                                />
-                            </a-form-item>
-                        </a-col>
-                    </a-row>
-                    <a-row :gutter="24">
-                        <a-col :span="12">
-                            <a-form-item label="备注" name="AppointmentRemark">
-                                <a-input
-                                    class="commonInput"
-                                    v-model:value="formState.AppointmentRemark"
-                                    style="width: 140px"
-                                />
-                            </a-form-item>
-                        </a-col>
-                        <a-col :span="12">&nbsp;</a-col>
-                    </a-row>
+  <!-- 现货仓单 现货明细 提货 true -->
+  <Drawer :title="'提货'"
+          :placement="'right'"
+          class="bottom"
+          :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="OutQty">
+                <a-input-number class="commonInput"
+                                v-model:value="formState.OutQty"
+                                :min="0"
+                                :max="selectedRow.enableqty"
+                                style="width: 140px" />
+                <span class="input-enumdicname">{{selectedRow.enumdicname}}</span>
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-item label="提货人"
+                           name="ContactName">
+                <a-input class="commonInput"
+                         v-model:value="formState.ContactName"
+                         style="width: 140px" />
+              </a-form-item>
+            </a-col>
+          </a-row>
+          <a-row :gutter="24">
+            <a-col :span="12"
+                   class="mt-20">
+              <a-form-item>
+                <!-- <a-progress class="formProgress" :percent="30" /> -->
+                <a-slider v-model:value="formState.OutQty"
+                          :min="0"
+                          :max="selectedRow.enableqty"
+                          class="formSlider"
+                          style="width: 140px !important;" />
+                <div class="unit">
+                  <span>0</span>
+                  <span>{{selectedRow.enableqty}}{{selectedRow.enumdicname}}</span>
                 </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" @click="cancel">取消</a-button>
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-            </a-form>
+              </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="ContactNum">
+                <a-input class="commonInput"
+                         v-model:value="formState.ContactNum"
+                         style="width: 140px" />
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">
+              <a-form-item label="预约日期"
+                           name="AppointmentDate">
+                <a-date-picker class="commonDatePicker dialogDatePicker"
+                               allowClear="false"
+                               v-model:value="formState.AppointmentDate"
+                               style="width: 140px" />
+              </a-form-item>
+            </a-col>
+          </a-row>
+          <a-row :gutter="24">
+            <a-col :span="12">
+              <a-form-item label="备注"
+                           name="AppointmentRemark">
+                <a-input class="commonInput"
+                         v-model:value="formState.AppointmentRemark"
+                         style="width: 140px" />
+              </a-form-item>
+            </a-col>
+            <a-col :span="12">&nbsp;</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"
+                        @click="cancel">取消</a-button>
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+  </Drawer>
 </template>
 
 <script lang="ts">