li.shaoyi %!s(int64=3) %!d(string=hai) anos
pai
achega
0309aa554f

+ 12 - 1
src/services/go/TaAccount/index.ts

@@ -1,7 +1,7 @@
 import APP from '@/services';
 import { setSelectedAccount } from '@/services/bus/account';
 import { geLoginID_number } from "@/services/bus/login";
-import { GetTaAccountsReq, QueryAmountLogReq, QueryAmountLogRsp, Taaccount } from "@/services/go/TaAccount/interface";
+import { GetTaAccountsReq, QueryAmountLogReq, QueryAmountLogRsp, Taaccount, QueryRelatedTaAccountReq, QueryRelatedTaAccountRsp } from "@/services/go/TaAccount/interface";
 import { commonSearch_go } from "..";
 
 /**
@@ -49,4 +49,15 @@ export function getTaAccounts(req: GetTaAccountsReq): Promise<Taaccount[]> {
     return commonSearch_go('/TaAccount/GetTaAccounts', req).catch((err) => {
         throw new Error(`获取资金账户信息: ${err}`);
     });
+}
+
+/**
+ * 查询关联资金账户信息
+ * @param req 
+ * @returns 
+ */
+export function queryRelatedTaAccount(req: QueryRelatedTaAccountReq): Promise<QueryRelatedTaAccountRsp[]> {
+    return commonSearch_go('/TaAccount/QueryRelatedTaAccount', req).catch((err) => {
+        throw new Error(`查询关联资金账户信息: ${err}`);
+    });
 }

+ 178 - 164
src/services/go/TaAccount/interface.ts

@@ -5,109 +5,109 @@ export interface QueryAmountLogReq {
     OperateType?: number        // 资金操作类型 - 格式:1,2,3
 }
 
-export interface QueryAmountLogRsp{
-    OPERATETYPENAME	:string;//资金操作类型名称
-    accountid	:number;//资金账户ID
-    agoodscode	:string;//竞拍商品代码
-    agoodsname	:string;//竞拍商品名称
-    amount	:number;//资金金额
-    amountadjusttype	:number;//资金调整类型(默认值为number;
-//) - number;
-//:系统 1:单边账调整 2:人工调整
-    autoid	:number;//流水ID(22number;
-//+Unix秒时间戳(1number;
-//位)+xxxxxx)
-    balance	:number;//期初余额
-    businesscode	:number;//业务编号
-    createtime	:string;//发生时间
-    currencyid	:number;//币种ID
-    currentbalance	:number;//期末余额(变动后金额)
-    dgoodscode	:string;//交割商品代码
-    dgoodsname	:string;//交割商品名称
-    goodscode	:string;//商品代码
-    goodsid	:number;//商品ID
-    goodsname	:string;//商品名称
-    marketid	:number;//市场ID
-    marketname	:string;//市场名称
-    moneyticket	:number;//资金流水号:银行端流水号
-    operatetype	:number;//资金操作类型 (AccountFundCmdOp)- 1number;
-//1:入金 1number;
-//2:入金手续费 1number;
-//3:出金 1number;
-//4:出金冻结 1number;
-//5:出金解冻 1number;
-//6:出金手续费 1number;
-//7:出金手续费冻结 1number;
-//8:出金手续费解冻 2number;
-//1:交易冻结 2number;
-//2:交易解冻 2number;
-//3:交易占用 2number;
-//4:交易解占用 2number;
-//5:交易手续费冻结 2number;
-//6:交易手续费解冻 2number;
-//7:交易手续费 2number;
-//8:交易货款 2number;
-//9:交易盈亏 3number;
-//1:交割冻结 3number;
-//2:交割解冻 3number;
-//3:交割手续费 3number;
-//4:交割手续费冻结 3number;
-//5:交割手续费解冻 3number;
-//6:交割货款 3number;
-//7:交割税款 4number;
-//1:结算盈亏 4number;
-//2:结算递延费 4number;
-//3:分润收入 4number;
-//4:延期分润 5number;
-//1:授信增加 5number;
-//2:授信减少 5number;
-//3:转积分 5number;
-//4:转入 5number;
-//5:转出 5number;
-//6:转出冻结 5number;
-//7:转出解冻 6number;
-//1:履约金额冻结 6number;
-//2:履约最大冻结 6number;
-//3:履约金额解冻 6number;
-//4:履约扣款 6number;
-//5:履约收款 6number;
-//6:履约违约手续费 6number;
-//7:履约违约收入 6number;
-//8:履约最大扣款 7number;
-//1:供应链金融冻结 7number;
-//2:供应链金融解冻 7number;
-//3:供应链金融最大冻结 7number;
-//4:供应链金融利息 7number;
-//5:供应链金融货款 7number;
-//6:供应链金融押金 7number;
-//7:供应链金融最大扣款 8number;
-//1:仓单贸易冻结 8number;
-//2:仓单贸易解冻 8number;
-//3:仓单贸易首付款 8number;
-//4:仓单贸易最大扣款 9number;
-//1:商城扣款冻结 9number;
-//2:商城扣款解冻 9number;
-//3:商城扣款 9number;
-//4:商城收款 1number;
-//number;
-//1:期权冻结 1number;
-//number;
-//2:期权解冻 1number;
-//number;
-//3:期权权力金 1number;
-//number;
-//4:期权手续费冻结 1number;
-//number;
-//5:期权手续费解冻 1number;
-//number;
-//6:期权手续费 1number;
-//number;
-//7:期权盈亏 11number;
-//1:营销扣款 11number;
-//2:营销收款
-    relationorderid	:string;//关联单号
-    remark	:string;//备注
-    trademode	:number;//交易模式
+export interface QueryAmountLogRsp {
+    OPERATETYPENAME: string;//资金操作类型名称
+    accountid: number;//资金账户ID
+    agoodscode: string;//竞拍商品代码
+    agoodsname: string;//竞拍商品名称
+    amount: number;//资金金额
+    amountadjusttype: number;//资金调整类型(默认值为number;
+    //) - number;
+    //:系统 1:单边账调整 2:人工调整
+    autoid: number;//流水ID(22number;
+    //+Unix秒时间戳(1number;
+    //位)+xxxxxx)
+    balance: number;//期初余额
+    businesscode: number;//业务编号
+    createtime: string;//发生时间
+    currencyid: number;//币种ID
+    currentbalance: number;//期末余额(变动后金额)
+    dgoodscode: string;//交割商品代码
+    dgoodsname: string;//交割商品名称
+    goodscode: string;//商品代码
+    goodsid: number;//商品ID
+    goodsname: string;//商品名称
+    marketid: number;//市场ID
+    marketname: string;//市场名称
+    moneyticket: number;//资金流水号:银行端流水号
+    operatetype: number;//资金操作类型 (AccountFundCmdOp)- 1number;
+    //1:入金 1number;
+    //2:入金手续费 1number;
+    //3:出金 1number;
+    //4:出金冻结 1number;
+    //5:出金解冻 1number;
+    //6:出金手续费 1number;
+    //7:出金手续费冻结 1number;
+    //8:出金手续费解冻 2number;
+    //1:交易冻结 2number;
+    //2:交易解冻 2number;
+    //3:交易占用 2number;
+    //4:交易解占用 2number;
+    //5:交易手续费冻结 2number;
+    //6:交易手续费解冻 2number;
+    //7:交易手续费 2number;
+    //8:交易货款 2number;
+    //9:交易盈亏 3number;
+    //1:交割冻结 3number;
+    //2:交割解冻 3number;
+    //3:交割手续费 3number;
+    //4:交割手续费冻结 3number;
+    //5:交割手续费解冻 3number;
+    //6:交割货款 3number;
+    //7:交割税款 4number;
+    //1:结算盈亏 4number;
+    //2:结算递延费 4number;
+    //3:分润收入 4number;
+    //4:延期分润 5number;
+    //1:授信增加 5number;
+    //2:授信减少 5number;
+    //3:转积分 5number;
+    //4:转入 5number;
+    //5:转出 5number;
+    //6:转出冻结 5number;
+    //7:转出解冻 6number;
+    //1:履约金额冻结 6number;
+    //2:履约最大冻结 6number;
+    //3:履约金额解冻 6number;
+    //4:履约扣款 6number;
+    //5:履约收款 6number;
+    //6:履约违约手续费 6number;
+    //7:履约违约收入 6number;
+    //8:履约最大扣款 7number;
+    //1:供应链金融冻结 7number;
+    //2:供应链金融解冻 7number;
+    //3:供应链金融最大冻结 7number;
+    //4:供应链金融利息 7number;
+    //5:供应链金融货款 7number;
+    //6:供应链金融押金 7number;
+    //7:供应链金融最大扣款 8number;
+    //1:仓单贸易冻结 8number;
+    //2:仓单贸易解冻 8number;
+    //3:仓单贸易首付款 8number;
+    //4:仓单贸易最大扣款 9number;
+    //1:商城扣款冻结 9number;
+    //2:商城扣款解冻 9number;
+    //3:商城扣款 9number;
+    //4:商城收款 1number;
+    //number;
+    //1:期权冻结 1number;
+    //number;
+    //2:期权解冻 1number;
+    //number;
+    //3:期权权力金 1number;
+    //number;
+    //4:期权手续费冻结 1number;
+    //number;
+    //5:期权手续费解冻 1number;
+    //number;
+    //6:期权手续费 1number;
+    //number;
+    //7:期权盈亏 11number;
+    //1:营销扣款 11number;
+    //2:营销收款
+    relationorderid: string;//关联单号
+    remark: string;//备注
+    trademode: number;//交易模式
 }
 
 
@@ -120,65 +120,79 @@ export interface GetTaAccountsReq {
 }
 
 
-export interface Taaccount{
-    accountflag	:number;//账户标识 - number;
-//\1 (默认为number;
-//, 当上级账户与本账户的关联用户均为自己时更新为1)
-    accountid	:number;//资金账户ID
-    accountname	:string;//账户名称
-    balance	:number;//期初余额
-    capitalbalance	:number;//本金余额[外部子账户实际出入金余额]
-    changeflag	:number;//变动标志(当前账户资金有任何变动更新为1系统结算时更新number;
-//;供清算时使用) number;
-//:无变动 1:有变动
-    changetime	:string;//账户状态变更时间
-    closepl	:number;//今日平仓盈亏
-    creditdecrease	:number;//今日授信减少
-    creditincrease	:number;//今日授信增加
-    curamount	:number;//总市值(从持仓中统计)
-    currencyid	:number;//货币ID
-    currentbalance	:number;//期末余额
-    freezecharge	:number;//手续费冻结
-    freezemargin	:number;//冻结保证金
-    fromaccountid	:number;//所属上级账户
-    inamount	:number;//今日入金金额(包括三方入金)
-    ismain	:number;//是否母账号 number;
-//:不是母账户 1:是母账户
-    ismarketaccount	:number;//是否机构接单账号 number;
-//:不是 1:是
-    isreckonaccount	:number;//是否机构分润账号 number;
-//:不是 1:是
-    mortgagecredit	:number;//授信金额
-    orifreezecharge	:number;//期初手续费冻结
-    orifreezemargin	:number;//期初冻结保证金
-    orimortgagecredit	:number;//期初授信金额
-    oriothercredit	:number;//期初其它授信金额
-    oriotherfreezemargin	:number;//期初其他冻结保证金(出金冻结资金 交割买方冻结 申购冻结 全款买入 商城买入)
-    orioutamountfreeze	:number;//期初出金冻结
-    oriusedmargin	:number;//期初占用保证金
-    othercredit	:number;//其它授信金额
-    othercreditdecrease	:number;//今日其它授信减少
-    othercreditincrease	:number;//今日其它授信增加
-    otherfreezemargin	:number;//其他冻结保证金(交割买方冻结 申购冻结 全款买入 商城买入)
-    otherincome	:number;//其他收入(交割收款 申购收款 全款卖出 商城卖出 买家退货 会员手续费收入)
-    otherpay	:number;//其他支出(交割付款 申购付款 全款买入 商城买入 卖家退货)
-    outamount	:number;//今日出金金额(包括三方出金)
-    outamountfreeze	:number;//出金冻结
-    outthreshold	:number;//出金阈值
-    parentaccountid	:number;//所属根账号
-    paycharge	:number;//今日手续费支出
-    relatedaccountstatus	:number;//关联用户交易权限状态 - 1:正常(可交易) 2:受限(可平仓,不可建仓) 3:冻结(不可交易)
-    relateduserid	:number;//关联用户
-    remainamount	:number;//融资额(从融资合同中统计)
-    serivcegroup	:number;//服务分组
-    signstatus	:number;//签约状态 - 1:未签约 2:签约待审核 3:签约中 4:已签约 5:解约待审核 6:解约中 7:已解约 8:已解绑 9:绑卡中
-    sublevelpath	:string;//账号层级路径(逗号分隔,首尾加逗号)
-    taaccounttype	:number;//账号类型 - 1:外部账号 2:内部账号 3:内部做市自营账号 4:内部做市接单账号
-    thirdinamount	:number;//今日三方入金
-    thirdoutamount	:number;//今日三方出金
-    tradestatus	:number;//交易状态 - 1:正常 2:受限 3:冻结 4:禁止建仓(人工受限) 5:禁止交易(人工冻结) 6:待激活 7:已注销
-    tradestatuschangetime	:string;//激活时间
-    transferamount	:number;//今日划转金额(母子账号资金划转,从划入账号为正,从账号划出为负)
-    usedmargin	:number;//占用保证金
-    userid	:number;//用户ID
+export interface Taaccount {
+    accountflag: number;//账户标识 - number;
+    //\1 (默认为number;
+    //, 当上级账户与本账户的关联用户均为自己时更新为1)
+    accountid: number;//资金账户ID
+    accountname: string;//账户名称
+    balance: number;//期初余额
+    capitalbalance: number;//本金余额[外部子账户实际出入金余额]
+    changeflag: number;//变动标志(当前账户资金有任何变动更新为1系统结算时更新number;
+    //;供清算时使用) number;
+    //:无变动 1:有变动
+    changetime: string;//账户状态变更时间
+    closepl: number;//今日平仓盈亏
+    creditdecrease: number;//今日授信减少
+    creditincrease: number;//今日授信增加
+    curamount: number;//总市值(从持仓中统计)
+    currencyid: number;//货币ID
+    currentbalance: number;//期末余额
+    freezecharge: number;//手续费冻结
+    freezemargin: number;//冻结保证金
+    fromaccountid: number;//所属上级账户
+    inamount: number;//今日入金金额(包括三方入金)
+    ismain: number;//是否母账号 number;
+    //:不是母账户 1:是母账户
+    ismarketaccount: number;//是否机构接单账号 number;
+    //:不是 1:是
+    isreckonaccount: number;//是否机构分润账号 number;
+    //:不是 1:是
+    mortgagecredit: number;//授信金额
+    orifreezecharge: number;//期初手续费冻结
+    orifreezemargin: number;//期初冻结保证金
+    orimortgagecredit: number;//期初授信金额
+    oriothercredit: number;//期初其它授信金额
+    oriotherfreezemargin: number;//期初其他冻结保证金(出金冻结资金 交割买方冻结 申购冻结 全款买入 商城买入)
+    orioutamountfreeze: number;//期初出金冻结
+    oriusedmargin: number;//期初占用保证金
+    othercredit: number;//其它授信金额
+    othercreditdecrease: number;//今日其它授信减少
+    othercreditincrease: number;//今日其它授信增加
+    otherfreezemargin: number;//其他冻结保证金(交割买方冻结 申购冻结 全款买入 商城买入)
+    otherincome: number;//其他收入(交割收款 申购收款 全款卖出 商城卖出 买家退货 会员手续费收入)
+    otherpay: number;//其他支出(交割付款 申购付款 全款买入 商城买入 卖家退货)
+    outamount: number;//今日出金金额(包括三方出金)
+    outamountfreeze: number;//出金冻结
+    outthreshold: number;//出金阈值
+    parentaccountid: number;//所属根账号
+    paycharge: number;//今日手续费支出
+    relatedaccountstatus: number;//关联用户交易权限状态 - 1:正常(可交易) 2:受限(可平仓,不可建仓) 3:冻结(不可交易)
+    relateduserid: number;//关联用户
+    remainamount: number;//融资额(从融资合同中统计)
+    serivcegroup: number;//服务分组
+    signstatus: number;//签约状态 - 1:未签约 2:签约待审核 3:签约中 4:已签约 5:解约待审核 6:解约中 7:已解约 8:已解绑 9:绑卡中
+    sublevelpath: string;//账号层级路径(逗号分隔,首尾加逗号)
+    taaccounttype: number;//账号类型 - 1:外部账号 2:内部账号 3:内部做市自营账号 4:内部做市接单账号
+    thirdinamount: number;//今日三方入金
+    thirdoutamount: number;//今日三方出金
+    tradestatus: number;//交易状态 - 1:正常 2:受限 3:冻结 4:禁止建仓(人工受限) 5:禁止交易(人工冻结) 6:待激活 7:已注销
+    tradestatuschangetime: string;//激活时间
+    transferamount: number;//今日划转金额(母子账号资金划转,从划入账号为正,从账号划出为负)
+    usedmargin: number;//占用保证金
+    userid: number;//用户ID
 }
+
+/**
+ * 查询关联资金账户信息
+ */
+export interface QueryRelatedTaAccountReq {
+    relateduserid: number;
+}
+
+/**
+ * 查询关联资金账户信息
+ */
+export interface QueryRelatedTaAccountRsp {
+    accountid: number;
+}

+ 40 - 17
src/views/market/futures/compoments/futures-trade/index.vue

@@ -1,6 +1,7 @@
 <template>
   <!-- 期货交易、套保交易 -->
-  <Drawer class="top dialog-trade" :title="(isSpotContract | isHedgePlan) ? '套保交易' : '期货交易'" placement="right" :visible="visible" @cancel="cancel">
+  <Drawer class="top dialog-trade" :title="(isSpotContract | isHedgePlan) ? '套保交易' : '期货交易'" placement="right"
+    :visible="visible" @cancel="cancel">
     <div class="futures_trade">
       <div class="futures_trade__left">
         <div class="futures_trade__form">
@@ -19,22 +20,31 @@
                 <span class="white">{{ contractMiddleGoodsCfg.relatedmiddlegoodsqty }}</span>
               </a-form-item>
               <a-form-item label="待点价量" style="margin-bottom:10px">
-                <span class="white">{{ Math.trunc(contractMiddleGoodsCfg.pendingpricedqty) }}({{ Math.trunc(contractMiddleGoodsCfg.covertqty) }}手)</span>
+                <span class="white">{{ Math.trunc(contractMiddleGoodsCfg.pendingpricedqty) }}({{
+                    Math.trunc(contractMiddleGoodsCfg.covertqty)
+                }}手)</span>
               </a-form-item>
             </template>
             <a-form-item label="账号" name="AccountID">
-              <a-select class="inlineFormSelect" placeholder="请选择账号" v-model:value="formData.AccountID" @change="tradeAccountChange">
-                <a-select-option v-for="item in accountList" :value="item.accountid" :key="item.accountid">{{item.accountid}}/{{ item.accountname }}</a-select-option>
+              <a-select class="inlineFormSelect" placeholder="请选择账号" v-model:value="formData.AccountID"
+                @change="tradeAccountChange">
+                <a-select-option v-for="item in accountList" :value="item.accountid" :key="item.accountid">
+                  {{ item.accountid }}/{{ item.accountname }}</a-select-option>
               </a-select>
             </a-form-item>
             <a-form-item label="合约" name="GoodsID">
-              <a-select class="inlineFormSelect" placeholder="请选择合约" :filterOption="filterOption" v-model:value="formData.GoodsID" @change="goodsChange" show-search>
-                <a-select-option v-for="item in goodsList" :value="item.goodsid" :key="item.goodsid">{{ item.goodsname }}</a-select-option>
+              <a-select class="inlineFormSelect" placeholder="请选择合约" :filterOption="filterOption"
+                v-model:value="formData.GoodsID" @change="goodsChange" show-search>
+                <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-form-item label="价格类型">
-              <a-select class="inlineFormSelect" placeholder="请选择价格类型" v-model:value="selectedPriceType" @change="priceTypeChange">
-                <a-select-option v-for="item in priceTypeList" :value="item.priceType" :key="item.priceType">{{ item.priceName }}</a-select-option>
+              <a-select class="inlineFormSelect" placeholder="请选择价格类型" v-model:value="selectedPriceType"
+                @change="priceTypeChange">
+                <a-select-option v-for="item in priceTypeList" :value="item.priceType" :key="item.priceType">{{
+                    item.priceName
+                }}</a-select-option>
               </a-select>
             </a-form-item>
             <a-form-item class="inputIconBox" label="交易价格" name="OrderPrice">
@@ -49,7 +59,8 @@
               </template>
             </a-form-item>
             <a-form-item class="inputIconBox" label="交易数量" name="OrderQty">
-              <a-input-number class="commonInput" :precision="0" :min="1" v-model:value="formData.OrderQty" style="width:100%" />
+              <a-input-number class="commonInput" :precision="0" :min="1" v-model:value="formData.OrderQty"
+                style="width:100%" />
               <MinusOutlined @click="minusQty" />
               <PlusOutlined @click="plusQty" />
             </a-form-item>
@@ -57,23 +68,28 @@
         </div>
         <div class="futures_trade__submit">
           <!--现货销售合同、计划采购合同 显示按钮-->
-          <a-button class="buy" :loading="loading" @click="submit('buy')" v-if="(!isSpotContract && !isHedgePlan) || (isSpotContract && selectedRow.contracttype === -1) || (isHedgePlan && selectedRow.contracttype === 1)">
-            <span>{{buyPrice}}</span>
+          <a-button class="buy" :loading="loading" @click="submit('buy')"
+            v-if="(!isSpotContract && !isHedgePlan) || (isSpotContract && selectedRow.contracttype === -1) || (isHedgePlan && selectedRow.contracttype === 1)">
+            <span>{{ buyPrice }}</span>
             <span>买入</span>
           </a-button>
           <!--现货采购合同、计划销售合同 显示按钮-->
-          <a-button class="sell" :loading="loading" @click="submit('sell')" v-if="(!isSpotContract && !isHedgePlan) || (isSpotContract && selectedRow.contracttype === 1) || (isHedgePlan && selectedRow.contracttype === -1)">
-            <span>{{sellPrice}}</span>
+          <a-button class="sell" :loading="loading" @click="submit('sell')"
+            v-if="(!isSpotContract && !isHedgePlan) || (isSpotContract && selectedRow.contracttype === 1) || (isHedgePlan && selectedRow.contracttype === -1)">
+            <span>{{ sellPrice }}</span>
             <span>卖出</span>
           </a-button>
           <a-button class="close" :loading="loading" @click="submit('close')" :disabled="positionList.length === 0">
             <!--根据持仓方向显示平仓价格-->
-            <span v-if="selectedPosition">{{selectedPosition.buyorsell === BuyOrSell.buy ? sellPrice : buyPrice}}</span>
+            <span v-if="selectedPosition">{{ selectedPosition.buyorsell === BuyOrSell.buy ? sellPrice : buyPrice
+            }}</span>
             <span>平仓</span>
           </a-button>
         </div>
         <div class="futures_trade__table tableDatas" v-show="positionList.length">
-          <a-table class="dialogTable" :columns="getColumns()" :data-source="positionList" :rowKey="(record,index)=>index" :pagination="false" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio' }"></a-table>
+          <a-table class="dialogTable" :columns="getColumns()" :data-source="positionList"
+            :rowKey="(record, index) => index" :pagination="false"
+            :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type: 'radio' }"></a-table>
         </div>
       </div>
       <div class="futures_trade__right"></div>
@@ -106,6 +122,8 @@ import { Ermcp3HedgePlan } from '@/services/go/ermcp/plan/interface';
 import { GetDeliveryGoodsDetail } from "@/services/go/ermcp/goodsInfo";
 import { queryErmcp3ContractMiddleGoodsCfg } from '@/services/go/ermcp/spot-contract'
 import { QueryErmcp3ContractMiddleGoodsCfgRsp } from '@/services/go/ermcp/spot-contract/interface';
+import { queryRelatedTaAccount } from '@/services/go/TaAccount';
+import { QueryRelatedTaAccountRsp } from "@/services/go/TaAccount/interface";
 
 export default defineComponent({
   emits: ['cancel', 'update'],
@@ -119,7 +137,7 @@ export default defineComponent({
   },
   setup(props, context) {
     const { visible, cancel } = _closeModal(context);
-    const { accountid, goodsid, spotcontractid, hedgeplanid, deliverygoodsid, goodsgroupid, MiddleGoodsID } = props.selectedRow;
+    const { tradeuserid, goodsid, spotcontractid, hedgeplanid, deliverygoodsid, goodsgroupid, MiddleGoodsID } = props.selectedRow;
     const { rules, formData } = handleForm();
     const formRef = ref();
     const loading = ref<boolean>(false);
@@ -131,6 +149,7 @@ export default defineComponent({
       pendingpricedqty: '0',
       covertqty: 0
     });
+    const relatedTaAccountList = ref<QueryRelatedTaAccountRsp[]>([]);
     // 合约列表
     const goodsList = ref(getGoodsQuoteList());
     // 当前选中的商品合约
@@ -149,6 +168,10 @@ export default defineComponent({
       queryErmcp3ContractMiddleGoodsCfg({ spotcontractid }).then((res) => {
         contractMiddleGoodsCfg.value = res[0];
       })
+
+      queryRelatedTaAccount({ relateduserid: tradeuserid }).then((res) => {
+        relatedTaAccountList.value = res;
+      })
     }
 
     // 实时敞口
@@ -220,7 +243,7 @@ export default defineComponent({
     // 账号列表
     const accountList = computed(() => {
       if (isSpotContract) {
-        const tmpList = futuresAccountList.value.filter((e) => e.accountid === accountid);
+        const tmpList = futuresAccountList.value.filter((e) => relatedTaAccountList.value.some((a) => a.accountid === e.accountid));
         if (tmpList.length) {
           formData.AccountID = tmpList[0].accountid;
         } else {

+ 32 - 19
src/views/search/inventory/list/inventory_current/index.vue

@@ -2,12 +2,14 @@
   <!-- 库存查询: 当前库存-->
   <mtp-table-scroll>
     <template #header>
-      <Filter @search="updateColumn">
+      <Filter @search="tableChange">
         <mtp-table-button class="btn-list-sticky" :buttons="buttons" @click="openComponent" />
       </Filter>
     </template>
     <template #default="{ scroll }">
-      <a-table :columns="columns" class="srcollYTable" :scroll="scroll" :pagination="false" :rowKey="(record,index)=>index" :expandedRowKeys="expandedRowKeys" :customRow="Rowclick" :data-source="tableList">
+      <a-table :columns="columns" class="srcollYTable" :scroll="scroll" :pagination="false"
+        :rowKey="(record, index) => index" :expandedRowKeys="expandedRowKeys" :customRow="Rowclick"
+        :data-source="tableList">
         <!-- 今日变动 = 今日量 - 昨日量 -->
         <template #diffqty="{ record }">
           {{ record.curstock - record.oristock }}
@@ -24,7 +26,8 @@
     </template>
   </mtp-table-scroll>
   <!-- 明细 -->
-  <mtp-table-detail :columns="columnsDetail" :data-source="detailTableList" :tabs="tabList" v-model:visible="visible" @change="changeTab"></mtp-table-detail>
+  <mtp-table-detail :columns="columnsDetail" :data-source="detailTableList" :tabs="tabList" v-model:visible="visible"
+    @change="changeTab"></mtp-table-detail>
   <component :is="componentId" v-if="componentId" :selectedRow="selectedRow" @cancel="closeComponent"></component>
 </template>
 
@@ -46,6 +49,7 @@ import { watch } from 'vue';
 import { getTableButton } from '@/common/setup/table/button';
 import { getDetailColumns } from './setup';
 import { ColumnType } from '@/common/methods/table';
+import { FilterColumn } from '@/common/components/filter/interface';
 
 export default defineComponent({
   name: 'inventory_current',
@@ -108,24 +112,33 @@ export default defineComponent({
       visible.value = true;
       columnsDetail.value = getDetailColumns(code);
 
-      switch (code) {
-        case 'inventory_manager_inbound_details':
-          // 入库明细
-          queryResultLoadingAndInfo(QueryAreaStockApply, loading, { applystatus: '2', inouttype: '5,7' }).then((res) => {
-            detailTableList.value = res;
-          });
-          break;
-        case 'inventory_manager_outbound_details':
-          // 出库明细
-          queryResultLoadingAndInfo(QueryAreaStockApply, loading, { applystatus: '2', inouttype: '6,8' }).then((res) => {
-            detailTableList.value = res;
-          });
-          break;
-        default:
-          console.error(`${lable}没有配置对应的code: ${code},`);
+      if (selectedRow.value) {
+        const { deliverygoodsid } = selectedRow.value;
+        switch (code) {
+          case 'inventory_manager_inbound_details':
+            // 入库明细
+            queryResultLoadingAndInfo(QueryAreaStockApply, loading, { deliverygoodsid, applystatus: '2', inouttype: '5,7' }).then((res) => {
+              detailTableList.value = res;
+            });
+            break;
+          case 'inventory_manager_outbound_details':
+            // 出库明细
+            queryResultLoadingAndInfo(QueryAreaStockApply, loading, { deliverygoodsid, applystatus: '2', inouttype: '6,8' }).then((res) => {
+              detailTableList.value = res;
+            });
+            break;
+          default:
+            console.error(`${lable}没有配置对应的code: ${code},`);
+        }
       }
     }
 
+    function tableChange(filters: FilterColumn[]) {
+      detailTableList.value = [];
+      selectedRow.value = undefined;
+      updateColumn(filters);
+    }
+
     watch(selectedRow, () => changeTab(tabIndex.value))
 
     return {
@@ -134,7 +147,7 @@ export default defineComponent({
       visible,
       closeDrawer,
       columns,
-      updateColumn,
+      tableChange,
       columnsDetail,
       detailTableList,
       expandedRowKeys,