Browse Source

添加银行签约解约功能

huangbin 4 năm trước cách đây
mục cha
commit
cc17a77ef1

+ 1 - 1
public/config/app.config.json

@@ -1,3 +1,3 @@
 {
-    "apiUrl": "http://192.168.31.135:8080/cfg?key=test_135"
+    "apiUrl": "http://192.168.31.139:8080/cfg?key=test_139"
 }

+ 118 - 3
src/assets/styles/symbol_no_color/demo_index.html

@@ -55,6 +55,36 @@
           <ul class="icon_lists dib-box">
           
             <li class="dib">
+              <span class="icon iconfont">&#xe630;</span>
+                <div class="name">叉叉</div>
+                <div class="code-name">&amp;#xe630;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe610;</span>
+                <div class="name">新增分配表</div>
+                <div class="code-name">&amp;#xe610;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe634;</span>
+                <div class="name">搜索</div>
+                <div class="code-name">&amp;#xe634;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe616;</span>
+                <div class="name">删除</div>
+                <div class="code-name">&amp;#xe616;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe60c;</span>
+                <div class="name">添加银行卡</div>
+                <div class="code-name">&amp;#xe60c;</div>
+              </li>
+          
+            <li class="dib">
               <span class="icon iconfont">&#xe70a;</span>
                 <div class="name">切换</div>
                 <div class="code-name">&amp;#xe70a;</div>
@@ -378,9 +408,9 @@
 <pre><code class="language-css"
 >@font-face {
   font-family: 'iconfont';
-  src: url('iconfont.woff2?t=1632896613541') format('woff2'),
-       url('iconfont.woff?t=1632896613541') format('woff'),
-       url('iconfont.ttf?t=1632896613541') format('truetype');
+  src: url('iconfont.woff2?t=1634797892146') format('woff2'),
+       url('iconfont.woff?t=1634797892146') format('woff'),
+       url('iconfont.ttf?t=1634797892146') format('truetype');
 }
 </code></pre>
           <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
@@ -407,6 +437,51 @@
         <ul class="icon_lists dib-box">
           
           <li class="dib">
+            <span class="icon iconfont icon-chacha"></span>
+            <div class="name">
+              叉叉
+            </div>
+            <div class="code-name">.icon-chacha
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-xinzeng"></span>
+            <div class="name">
+              新增分配表
+            </div>
+            <div class="code-name">.icon-xinzeng
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-sousuo"></span>
+            <div class="name">
+              搜索
+            </div>
+            <div class="code-name">.icon-sousuo
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shanchu1"></span>
+            <div class="name">
+              删除
+            </div>
+            <div class="code-name">.icon-shanchu1
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-tianjiayinhangka"></span>
+            <div class="name">
+              添加银行卡
+            </div>
+            <div class="code-name">.icon-tianjiayinhangka
+            </div>
+          </li>
+          
+          <li class="dib">
             <span class="icon iconfont icon-B"></span>
             <div class="name">
               切换
@@ -894,6 +969,46 @@
           
             <li class="dib">
                 <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-chacha"></use>
+                </svg>
+                <div class="name">叉叉</div>
+                <div class="code-name">#icon-chacha</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-xinzeng"></use>
+                </svg>
+                <div class="name">新增分配表</div>
+                <div class="code-name">#icon-xinzeng</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-sousuo"></use>
+                </svg>
+                <div class="name">搜索</div>
+                <div class="code-name">#icon-sousuo</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shanchu1"></use>
+                </svg>
+                <div class="name">删除</div>
+                <div class="code-name">#icon-shanchu1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-tianjiayinhangka"></use>
+                </svg>
+                <div class="name">添加银行卡</div>
+                <div class="code-name">#icon-tianjiayinhangka</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
                   <use xlink:href="#icon-B"></use>
                 </svg>
                 <div class="name">切换</div>

+ 23 - 3
src/assets/styles/symbol_no_color/iconfont.css

@@ -1,8 +1,8 @@
 @font-face {
   font-family: "iconfont"; /* Project id 2293216 */
-  src: url('iconfont.woff2?t=1632896613541') format('woff2'),
-       url('iconfont.woff?t=1632896613541') format('woff'),
-       url('iconfont.ttf?t=1632896613541') format('truetype');
+  src: url('iconfont.woff2?t=1634797892146') format('woff2'),
+       url('iconfont.woff?t=1634797892146') format('woff'),
+       url('iconfont.ttf?t=1634797892146') format('truetype');
 }
 
 .iconfont {
@@ -13,6 +13,26 @@
   -moz-osx-font-smoothing: grayscale;
 }
 
+.icon-chacha:before {
+  content: "\e630";
+}
+
+.icon-xinzeng:before {
+  content: "\e610";
+}
+
+.icon-sousuo:before {
+  content: "\e634";
+}
+
+.icon-shanchu1:before {
+  content: "\e616";
+}
+
+.icon-tianjiayinhangka:before {
+  content: "\e60c";
+}
+
 .icon-B:before {
   content: "\e70a";
 }

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
src/assets/styles/symbol_no_color/iconfont.js


+ 35 - 0
src/assets/styles/symbol_no_color/iconfont.json

@@ -6,6 +6,41 @@
   "description": "",
   "glyphs": [
     {
+      "icon_id": "2583881",
+      "name": "叉叉",
+      "font_class": "chacha",
+      "unicode": "e630",
+      "unicode_decimal": 58928
+    },
+    {
+      "icon_id": "5790730",
+      "name": "新增分配表",
+      "font_class": "xinzeng",
+      "unicode": "e610",
+      "unicode_decimal": 58896
+    },
+    {
+      "icon_id": "6966946",
+      "name": "搜索",
+      "font_class": "sousuo",
+      "unicode": "e634",
+      "unicode_decimal": 58932
+    },
+    {
+      "icon_id": "8653551",
+      "name": "删除",
+      "font_class": "shanchu1",
+      "unicode": "e616",
+      "unicode_decimal": 58902
+    },
+    {
+      "icon_id": "12900730",
+      "name": "添加银行卡",
+      "font_class": "tianjiayinhangka",
+      "unicode": "e60c",
+      "unicode_decimal": 58892
+    },
+    {
       "icon_id": "13479212",
       "name": "切换",
       "font_class": "B",

BIN
src/assets/styles/symbol_no_color/iconfont.ttf


BIN
src/assets/styles/symbol_no_color/iconfont.woff


BIN
src/assets/styles/symbol_no_color/iconfont.woff2


+ 1 - 0
src/common/constants/enumRouterName.ts

@@ -326,4 +326,5 @@ export enum EnumRouterName {
 	warehouse_receipt_trade_blocs = 'warehouse_receipt_trade_blocs', //  仓单贸易 贸易圈挂牌
 	warehouse_pre_sale_blocs = 'warehouse_pre_sale_blocs', //  仓单预售 贸易圈挂牌
 	search_performance_template_sub = 'search_performance_template_sub', //  履约模板
+	account_manager_agency_sub = 'account-manager-agency-sub'
 }

+ 44 - 0
src/common/constants/enumsName.ts

@@ -1337,4 +1337,48 @@ export function getTaacountStatus(status: number) {
             break
     }
     return result
+}
+
+/**
+ * 签约状态
+ * @param signstatus
+ */
+export function getSignStatus(signstatus: number) {
+    let result = '--'
+    switch (signstatus) {
+        case 1:
+            result = '未签约'
+            break
+        case 2:
+            result = '签约待审核'
+            break
+        case 3:
+            result = '签约中'
+            break
+        case 4:
+            result = '已签约'
+            break
+        case 5:
+            result = '解约待审核'
+            break
+        case 6:
+            result = '解约中'
+            break
+        case 7:
+            result = '解约'
+            break
+        case 8:
+            result = '已解绑'
+            break
+        case 9:
+            result = '绑卡中'
+            break
+        case 10:
+            result = '审核拒绝'
+            break
+        case 11:
+            result = '换签待审核'
+            break
+    }
+    return result
 }

+ 25 - 54
src/common/methods/request/resultInfo.ts

@@ -36,52 +36,43 @@ export function commonResultInfo(fn: Promise<any>, sign: ResultInfo, loading: Re
         })
 }
 
+
 /**
- * 控制 请求接口 打开与关闭loading
- * @param fn 请求接口 函数
- * @param param 请求接口 参数
+ * 处理服务请求时候的loading和 成功和失败提示
+ * @param fn
+ * @param param
  * @param loading
+ * @param messageInfo
  * @returns
  */
-export async function controlLoading(fn: Function, loading: Ref<boolean>, param?: any,): Promise<any> {
+export async function requestResultLoadingAndInfo(fn: Function, param: any, loading: Ref<boolean>, messageInfo: [string, string] = ['成功', '失败']) {
     console.log('请求接口参数: ', param);
+    const [sucInfo, errInfo] = messageInfo
     loading.value = true;
     try {
         const result = await param ? fn(param) : fn()
+        message.success(sucInfo)
         loading.value = false;
-        return result;
+        return Promise.resolve(result);
     } catch (err) {
         loading.value = false;
-        Promise.resolve(err)
-    }
-}
-
-/**
- * 控制服务请求成功和失败的弹窗提示
- * @param fn 请求接口 函数
- * @param msgInfo [成功结果, 失败结果]
- * @returns
- */
-export function controlResultInfo(fn: Promise<any>, msgInfo: [string, string] = ['成功', '失败']) {
-    const [sucInfo, errInfo] = msgInfo
-    return fn.then(res => {
-        message.success(sucInfo)
-        return res;
-    }).catch(err => {
         console.warn(`${fn}调用失败: ${err}`);
-        const result = errInfo + err
-        message.error(result)
-        Promise.reject(result)
-    })
+        const temp = errInfo + err
+        message.error(temp)
+        return Promise.resolve(temp)
+    }
 }
 
 /**
- * 用户查询数据,成功返回数据,失败提示
+ * 查询数据 loading 成功和失败提示
  * @param fn
+ * @param loading
+ * @param param
  * @returns
  */
-export function controlResultErrInfo(fn: Promise<any>) {
-    return fn.then(res => {
+export async function queryResultLoadingAndInfo(fn: Function, loading: Ref<boolean>, param?: any) {
+    try {
+        const res = await param ? fn(param) : fn()
         let result = res
         if (Array.isArray(res)) {
             // 列表数据需要一个key,要不然会报错,统一处理
@@ -94,33 +85,13 @@ export function controlResultErrInfo(fn: Promise<any>) {
             })
         }
         console.log('查询数据成功:', result)
-        return result
-    }).catch(err => {
+        loading.value = false;
+        return Promise.resolve(result);
+    } catch (err) {
+        loading.value = false;
         console.error('查询数据失败:', err)
         message.error(err.message)
-    })
-}
-
-/**
- * 处理服务请求时候的loading和 成功和失败提示
- * @param fn
- * @param param
- * @param loading
- * @param messageInfo
- * @returns
- */
-export function requestResultLoadingAndInfo(fn: Function, param: any, loading: Ref<boolean>, messageInfo: [string, string] = ['成功', '失败']) {
-    return controlResultInfo(controlLoading(fn, loading, param), messageInfo)
-}
-
-/**
- * 查询数据 loading 成功和失败提示
- * @param fn
- * @param loading
- * @param param
- * @returns
- */
-export function queryResultLoadingAndInfo(fn: Function, loading: Ref<boolean>, param?: any) {
-    return controlResultErrInfo(controlLoading(fn, loading, param))
+        return Promise.resolve(err)
+    }
 }
 

+ 2 - 1
src/common/setup/table/interface.ts

@@ -34,7 +34,8 @@ export interface ComposeTableDetailParam {
     queryFn: Function,  // 查询表格数据
     tableName?: keyof TableKey, // 表头key
     tableFilterKey: string[], // 表格过滤字段
-    menuType: EnumRouterName
+    menuType: EnumRouterName,
+    visible?: boolean, // 是否默认展开
 }
 
 export interface TableParam {

+ 19 - 0
src/router/index.ts

@@ -630,6 +630,25 @@ const routes: Array<RouteRecordRaw> = [
                 ]
             },
             {
+                path: '/account-manager-agency',
+                name: 'account-manager-agency',
+                component: Main,
+                meta: {
+                    requireAuth: true,
+                },
+                redirect: { name: 'account-manager-agency-sub' },
+                children: [
+                    {
+                        path: '/account-manager-agency/account-manager-agency-sub',
+                        name: 'account-manager-agency-sub',
+                        component: () => import('@/views/account-manager/account-manager-agency/account-manager-agency-sub/index.vue'),
+                        meta: {
+                            requireAuth: true,
+                        },
+                    },
+                ]
+            },
+            {
                 path: '/finance_report',
                 name: 'finance_report',
                 component: Main,

+ 49 - 5
src/services/go/ermcp/qhj/index.ts

@@ -1,5 +1,5 @@
 /** ================================= 前海金相关接口 ================================**/
-import { getSelectedAccountId } from "@/services/bus/account";
+import { getSelectedAccountId, getUserId } from "@/services/bus/account";
 import { getUsrId } from "@/services/bus/user";
 import { commonSearch_go } from "@/services/go";
 import {
@@ -20,9 +20,10 @@ import {
     QhjRStrategy,
     QhjRSTriggerLog,
     QhjTradeGoodsPickup,
-    QueryAccountInOutApplyReq, QueryAgreementChangeLogReq, QueryAgreementConfigReq,
+    QueryAccountInOutApplyReq, QueryAccountInOutApplyRsp, QueryAccountInOutApplyRsq, QueryAgreementChangeLogReq, QueryAgreementConfigReq,
+    QueryBankAccountSignQsp,
     QueryContractLogReq,
-    QueryContractLogRsp, QueryCustomerSignStatusReq,
+    QueryContractLogRsp, QueryCusBankSignBankRsp, QueryCustomerSignStatusReq,
 
 
     QueryPayOrderReq,
@@ -31,7 +32,8 @@ import {
     QueryTradeDetailReq,
     QueryTradeOrderDetailReq,
     QueryTradePayOrderReq,
-    QueryTradePositionReq
+    QueryTradePositionReq,
+    QueryBankInfoRsp
 } from "@/services/go/ermcp/qhj/interface";
 
 /**
@@ -277,4 +279,46 @@ export function queryCustomerSignStatus(req: QueryCustomerSignStatusReq): Promis
     return commonSearch_go('/QhjSys/QueryCustomerSignStatus', req).catch((err) => {
         throw new Error(`查询客户协议签约状态: ${err}`);
     });
-}
+}
+
+/**
+ * 查询签约银行信息(提现账户管理) /Qhj/QueryBankAccountSign
+ */
+export function queryBankAccountSign(): Promise<QueryBankAccountSignQsp[]> {
+    const param = { userid: getUserId() }
+    return commonSearch_go('/Qhj/QueryBankAccountSign', param).catch((err) => {
+        throw new Error(`查询签约银行信息: ${err}`);
+    });
+}
+
+/**
+ * 查询充值提现 /Qhj/QueryAccountInOutApply
+ */
+export function QueryAccountInOutApply(param: QueryAccountInOutApplyRsq): Promise<QueryAccountInOutApplyRsp[]> {
+    if (!param.userid) {
+        param.userid = getUserId()
+    }
+    return commonSearch_go('/Qhj/QueryAccountInOutApply', param).catch((err) => {
+        throw new Error(`查询充值提现: ${err}`);
+    });
+}
+
+
+/**
+ * 查询托管银行/Qhj/QueryCusBankSignBank
+ */
+export function QueryCusBankSignBank(): Promise<QueryCusBankSignBankRsp[]> {
+    return commonSearch_go('/Qhj/QueryCusBankSignBank', {}).catch((err) => {
+        throw new Error(`查询托管银行: ${err}`);
+    });
+}
+
+/**
+ * 查询开户行/Qhj/QueryBankInfo
+ */
+export function QueryBankInfo(): Promise<QueryBankInfoRsp[]> {
+    return commonSearch_go('/Qhj/QueryBankInfo', {}).catch((err) => {
+        throw new Error(`查询开户行: ${err}`);
+    });
+}
+

+ 163 - 0
src/services/go/ermcp/qhj/interface.ts

@@ -805,3 +805,166 @@ export interface QhjCustomerSignStatus {
     username: string;//客户名称
 }
 
+export interface QueryBankAccountSignQsp {
+    accountcode: string;//资金账号
+    accountname: string;//资金账号对应的账号名(UserName)
+    accountname2: string;//资金账号对应的账号名(UserName) - 密文
+    accounttype: number;//账户类型(UserType)
+    applicationtime: string;//最后一次更新的时间
+    applyexchticket: string;//申请流水
+    auditid: number;//审核人
+    audittime: string;//审核时间
+    bankaccountname: string;//签约银行卡账号名
+    bankaccountname2: string;//签约银行卡账号名 - 密文
+    bankaccountno: string;//银行卡号
+    bankaccountno2: string;//银行卡号 - 密文
+    bankaccounttype: number;//银行账户类型 - 1-对私; 2-对公
+    bankcardtype: number;//银行卡类型
+    bankchildaccount: string;//银行子账号(签约成功后,很多银行会返回对应的这个虚拟账号)
+    bankcity: string;//开户行城市
+    bankid: string;//签约银行ID
+    bankname: string;//签约银行名称
+    bankprovince: string;//开户行省份
+    branchbankid: string;//签约银行支行号
+    branchbankname: string;//签约银行支行名称
+    cardno: string;//证件号码
+    cardno2: string;//证件号码 - 密文
+    cardtype: string;//证件类型
+    currency: string;//币种
+    cusbankid: string;//托管银行编号
+    direct: number;//方向(可以判断那方先发起的签约)
+    exchticket: string;//最后一次签约成功的流水号
+    extendinfo: string;//扩展信息(JSON字符串)
+    mobilephone: string;//手机号
+    mobilephone2: string;//手机号 - 密文
+    netaddr: string;//调转网址
+    relateduserid: number;//关联使用者userid
+    signstatus: number;//签约状态 - 1:未签约 2:签约待审核 3:签约中 4:已签约 5:解约待审核 6:解约中 7:已解约 8:已解绑 9:绑卡中 1number;
+    //:审核拒绝 11:换签待审核
+    updatetime: string;//更新时间(签解约更新时间)
+}
+
+export interface QueryAccountInOutApplyRsq {
+    userid?: number;
+    likename?: string //  名称(模糊搜索账户)
+    begindate?: string //  开始交易日(yyyymmdd)
+    enddate?: string   //  结束交易日(yyyymmdd)
+}
+
+export interface QueryAccountInOutApplyRsp {
+    accountcode: string;//资金账号
+    accountname: string;//用户名称(名称)
+    accountpwd: string;//资金密码
+    accountticket: string;//最新账户服务流水号
+    amount: number;//金额
+    applyremark: string;//申请备注
+    applystatus: number;//申请状态 - 1:待审核 2:待复审 3:初审拒绝 4:交易冻结中 5:交易解冻中 6:交易解冻扣款中 7:交易入金中 8:交易冻结/解冻/扣款中(银行发起出金时用) 9:银行出金中 1number;
+    //:银行入金中 11:成功 12:失败 13:银行审核中 14:账户服务入金失败; 15:账户服务解冻失败; 16:账户服务解冻扣款失败; 17:账户服务出金失败 18:复审通过 19:复审拒绝 2number;
+    //:提交审核,账户冻结中 21:审核拒绝,账户解冻中;22: 待审核,账户服务解冻回滚中; 23:待复审,账户服务解冻回滚中; 24: 审核通过,账户冻结金额检查中;25: 复审通过,账户冻结金额检查中;
+    auditid: number;//审核人
+    audittime: string;//审核时间
+    bank_apply_ticket: string;//银行申请流水
+    bankaccountname: string;//银行账户名
+    bankaccountno: string;//银行卡号
+    bankid: string;//银行编号
+    bankticket: string;//银行流水
+    branchbankid: string;//银行支行号
+    branchbankname: string;//银行支行名称
+    capamountout: number;//出金(劣后本金) - 外部子账户
+    certificatephotourl: string;//凭证地址
+    charge: number;//手续费
+    checkerrorflag: number;//对账差错标志 - 1:为单边账;其它为正常出入金
+    currency: string;//币种
+    cusbankid: string;//托管银行编号
+    exchticket: string;//银行服务流水号
+    executetype: number;//申请类型 - 1:出金 2:入金 3: 单边账调整:入金; 4:单边账调整:出金 5:外部母账户调整:入金 6:外部母账户调整:出金 7:外部子账户:入金 8:外部子账户:出金
+    extendinfo: string;//扩展信息
+    extoperateid: number;//交易服务流水号
+    infamount: number;//劣后金额(自有)
+    logincode: string;//登录账号(账号)
+    netaddr: string;//调转网址
+    priamount: number;//优先金额(授信)
+    reauditid: number;//复审人
+    reauditremark: string;//复审备注
+    reaudittime: string;//复审时间
+    relatedorderid: string;//三方关联ID
+    remark: string;//备注
+    remark2: string;//备注(失败原因)
+    soucreamount: number;//原始出入金金额
+    soucrecurrencyid: number;//原始出入金币种
+    tradedate: string;//交易日(yyyyMMdd)
+    updatetime: string;//更新时间(申请时间)
+    userid: number;//用户id
+    userinfotype: number;//账户类型 1-个人 2-企业
+}
+
+export interface QhjBankInfo {
+    bankid: string;//银行ID
+    bankname: string;//银行名称
+    clearbankno: string;//清算系统银行编号
+    orderindex: number;//排序顺序
+    status: number;//状态 - number;
+    //:正常 1:注销
+}
+
+export interface QueryCusBankSignBankRsp {
+    Banklst: QhjBankInfo[],
+    canallot: number;//是否支持跨行调拨 - number;
+    //:不支持 1:支持
+    canallotquery: number;//是否支持跨行调拨查询 - number;
+    //:不支持 1:支持
+    canbindcard: number;//是否可绑卡与解卡 - number;
+    //:不可 1:可以
+    caninamount: number;//是否可入金 - number;
+    //:不可 1:可以
+    caninamount2: number;//是否可入金(网银端) - number;
+    //:不可 1:可以
+    canmodifybankcard: number;//是否可修改银行卡号 - number;
+    //:不可 1:可以
+    canmodifyphone: number;//是否可修改手机号 - number;
+    //:不可 1:可以
+    canmodifysigninfo: number;//是否可修改签约信息 - number;
+    //:不可 1:可以
+    canoutamount: number;//是否可出金 - number;
+    //:不可 1:可以
+    canoutamount2: number;//是否可出金(网银端) - number;
+    //:不可 1:可以
+    canrelease: number;//是否可解约 - number;
+    //:不可 1:可以
+    canrelease2: number;//是否可解约(网银端) - number;
+    //:不可 1:可以
+    cansign: number;//是否可签约 - number;
+    //:不可 1:可以
+    cansign2: number;//是否可签约(网银端) - number;
+    //:不可 1:可以
+    currency: string;//币种
+    cusbankid: string;//托管银行编号(对应清算中心TRAN_NO)
+    cusbankname: string;//银行业务名称
+    cusbankshortname: string;//银行业务简称
+    exchbankid: string;//交易所开户银行ID
+    exchpaybankaccname: string;//交易所支出结算账户户名
+    exchpaybankaccno: string;//交易所支出结算账户
+    isneedcheck: number;//是否需要对账 - number;
+    //:需要 1:不需要 [不需要界面配置]
+    isneedclear: number;//是否需要清算 - number;
+    //:不需要 1:需要
+    lastcheckstatus: number;//最后对账状态 - 对账状态 - 1:未对账 2:对账成功 3:对账失败
+    lastchecktime: string;//最后对账时间
+    lastclearstatus: number;//最后清算状态 - 1:未清算 2:清算成功 3:清算失败 4:清算部分成功
+    lastcleartime: string;//最后清算时间
+    lastsignintime: string;//最后签到时间
+    lastsignouttime: string;//最后签退时间
+    riskinfo: string;//签约风险提示书
+    signstatus: number;//当前签到/签退状态 - 1:签到 2:签退
+    tradedate: string;//交易日(yyyyMMdd)
+    updatetime: string;//当前签到/签退更新时间
+}
+
+export interface QueryBankInfoRsp {
+    bankid: string;//银行ID
+    bankname: string;//银行名称
+    clearbankno: string;//清算系统银行编号
+    orderindex: number;//排序顺序
+    status: number;//状态 - number;
+    //:正常 1:注销
+}

+ 216 - 0
src/views/account-manager/account-manager-agency/account-manager-agency-sub/add.vue

@@ -0,0 +1,216 @@
+<template>
+  <!--新增签约银行-->
+  <Drawer :title="'新增'"
+          :placement="'right'"
+          :visible="visible"
+          @cancel="cancel"
+          :class="'top'">
+    <a-spin :spinning="loading">
+      <div class="post_buying">
+        <a-form class="inlineForm dialogForm"
+                ref="formRef"
+                :model="formState"
+                :rules="rules">
+          <div class="formBar">
+            <a-col :span="24">
+              <a-form-item label="姓名"
+                           class="inputIconBox">
+                <a-input class="commonInput"
+                         style="width: 260px"
+                         :readonly="true"
+                         :value="getUserName()" />
+              </a-form-item>
+            </a-col>
+            <a-row :gutter="24">
+              <a-col :span="24">
+                <a-form-item label="开户银行"
+                             name="bankId">
+                  <a-select class="inlineFormSelect"
+                            style="width: 260px"
+                            v-model:value="formState.bankId"
+                            placeholder="请选择">
+                    <a-select-option v-for="item in accountList"
+                                     :value="item.bankid"
+                                     :key="item.bankname">{{item.bankname}}</a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+              <a-col :span="24">
+                <a-form-item label="银行卡号"
+                             name="bankNo"
+                             class="inputIconBox">
+                  <a-input class="commonInput"
+                           style="width: 260px"
+                           v-model:value="formState.bankNo" />
+                </a-form-item>
+              </a-col>
+
+              <a-col :span="24">
+                <a-form-item label="支行名称"
+                             name="subBankName"
+                             class="inputIconBox">
+                  <a-input class="commonInput"
+                           style="width: 260px"
+                           v-model:value="formState.subBankName" />
+                </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-form-item>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+    </a-spin>
+  </Drawer>
+</template>
+
+<script lang="ts">
+import { Des } from '@/common/components/commonDes';
+import Drawer from '@/common/components/drawer/index.vue';
+import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
+import { validateAction } from '@/common/setup/form';
+import { _closeModal } from '@/common/setup/modal/modal';
+import { getSelectedAccountId } from '@/services/bus/account';
+import { getUserName } from '@/services/bus/user';
+import { QueryBankInfo, QueryCusBankSignBank } from '@/services/go/ermcp/qhj';
+import { QueryBankInfoRsp, QueryCusBankSignBankRsp } from '@/services/go/ermcp/qhj/interface';
+import { QueryPermancePlanTmpRsp } from '@/services/go/wrtrade/interface';
+import { requestBankSign } from '@/services/socket/bank';
+import { t2bBankSignReq } from '@/services/socket/bank/interface';
+import { getTimeValue } from '@/utils/time';
+import { MinusOutlined, PlusCircleOutlined, PlusOutlined, SearchOutlined } from '@ant-design/icons-vue';
+import { message } from 'ant-design-vue';
+import { defineComponent, PropType, ref } from 'vue';
+import { FormParam } from './interface';
+import { useForm } from './setup';
+
+export default defineComponent({
+    emits: ['cancel', 'update'],
+    name: 'warehouse_receipt_trade_blocs_delisting',
+    props: {
+        selectedRow: {
+            type: Object as PropType<QueryPermancePlanTmpRsp>,
+            default: {},
+        },
+        position: {
+            type: String,
+            default: 'top',
+        },
+    },
+    components: { Des, Drawer, PlusOutlined, MinusOutlined, SearchOutlined, PlusCircleOutlined },
+    setup(props, context) {
+        const { visible, cancel } = _closeModal(context);
+        const loading = ref<boolean>(false);
+        // 开户银行
+        const accountList = ref<QueryBankInfoRsp[]>([]);
+        // 托管银行
+        const managerList = ref<QueryCusBankSignBankRsp[]>([]);
+        Promise.all([QueryCusBankSignBank(), QueryBankInfo()]).then((res) => {
+            // 托管说是只有一个,具体因为未知
+            managerList.value = res[0].filter((el) => el.cansign === 1);
+            // 状态 - 0:正常 1:注销
+            accountList.value = res[1].filter((el) => el.status === 0);
+        });
+
+        const { rules, formState, formRef } = useForm();
+
+        function submit() {
+            if (managerList.value.length === 0) {
+                message.error('未查询到托管银行,请联系管理人员!');
+                return;
+            }
+            validateAction<FormParam>(formRef, formState).then((res) => {
+                const selectdBank = accountList.value.find((el) => el.bankid === res.bankId)!;
+                // 托管说是只有一个,具体因为未知
+                const managerBank = managerList.value[0]; // 托管银行
+                const param: t2bBankSignReq = {
+                    OperateType: 1, // 变更类型[1-增加; 2-修改; 4-绑卡;
+                    IsForce: 0, // 是否强制[0-否; 1-是]强制
+                    AgentCertType: 0, // 授权代理人证件类型
+                    BankCardType: 0, // 银行卡类型
+                    AccountType: 1, // // 账户类型[1-对私; 2-对公]
+                    extend_info: '', //  扩展信息(JSON串,参考配置要求进行填充)
+                    BankAccountNo: res.bankNo, // 银行账户
+                    BankAccountName: res.name, // 银行账户名称
+                    AccountCode: getSelectedAccountId().toString(), // 账户
+                    AccountName: getUserName(), // 客户名称
+                    OpenBankName: res.subBankName, // 开户支行名称
+                    ExtOperatorID: getTimeValue(), // 外部操作流水号
+                    CertType: '', // 证件类型
+                    CertID: '', // 证件号码
+                    CusBankID: managerBank.cusbankid, // 托管银行编号
+                    Currency: managerBank.currency, // 币种
+                    TradeDate: managerBank.tradedate, // 交易所业务日期
+                    ExBankName: selectdBank.bankname, // // 开户行名称
+                    OpenBankAccId: selectdBank.bankid, // 银行卡行号
+                };
+                const msg: [string, string] = ['新增成功', '新增失败:'];
+                requestResultLoadingAndInfo(requestBankSign, param, loading, msg).then(() => {
+                    cancel(true);
+                });
+            });
+        }
+        return {
+            loading,
+            formRef,
+            formState,
+            rules,
+            submit,
+            cancel,
+            visible,
+            accountList,
+            getUserName,
+        };
+    },
+});
+</script>
+
+<style lang="less" scoped>
+.post_buying {
+    width: 100%;
+    height: 100%;
+    .flex;
+    flex-direction: column;
+    position: relative;
+    overflow: hidden;
+    .ant-form {
+        height: 100%;
+    }
+    .condition {
+        width: 100%;
+        height: 48px;
+        margin: 0 16px;
+        padding: 10px 0;
+        border-bottom: 1px solid @m-black6;
+        .inlineflex;
+        .conditionBtn {
+            align-self: center;
+            align-items: center;
+            border: 0;
+            min-width: 80px;
+            height: 28px;
+            line-height: 28px;
+            background: @m-black7;
+            .rounded-corners(3px);
+            font-size: 14px;
+            color: @m-blue0;
+            &:hover {
+                background: @m-black7-hover;
+                color: @m-blue0-hover;
+            }
+        }
+        .conditionBtn + .conditionBtn {
+            margin-left: 10px;
+        }
+    }
+}
+</style>

+ 63 - 0
src/views/account-manager/account-manager-agency/account-manager-agency-sub/delete.vue

@@ -0,0 +1,63 @@
+<template>
+  <!-- 删除 -->
+  <div>
+  </div>
+</template>
+
+<script lang="ts">
+import { defineComponent, PropType, ref } from 'vue';
+import Drawer from '@/common/components/drawer/index.vue';
+import { QueryPermancePlanTmpRsp } from '@/services/go/wrtrade/interface';
+import { _closeModal } from '@/common/setup/modal/modal';
+import { Modal } from 'ant-design-vue';
+import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
+import { delPerformancePlanTemplateReq } from '@/services/proto/performance';
+import { requestBankCancelSign } from '@/services/socket/bank';
+import { t2bBankCancelSignReq } from '@/services/socket/bank/interface';
+import { getSelectedAccountId } from '@/services/bus/account';
+import { QueryBankAccountSignQsp } from '@/services/go/ermcp/qhj/interface';
+import { getTimeValue } from '@/utils/time';
+
+export default defineComponent({
+    name: 'search_performance_template_delete',
+    components: { Drawer },
+    emits: ['cancel', 'update'],
+    props: {
+        selectedRow: {
+            type: Object as PropType<QueryBankAccountSignQsp>,
+            default: {},
+        },
+    },
+    setup(props, context) {
+        const { visible, cancel } = _closeModal(context);
+        const loading = ref<boolean>(false);
+        Modal.confirm({
+            title: '删除',
+            content: '是否确认删除签约银行!',
+            onOk: submit,
+            onCancel: cancel,
+        });
+        function submit() {
+            const param: t2bBankCancelSignReq = {
+                AccountCode: getSelectedAccountId().toString(), // 账户
+                CusBankID: props.selectedRow.cusbankid,
+                IsForce: 0,
+                ExtOperatorID: getTimeValue(), // 外部操作流水号
+            };
+            // 挂牌撤单请求
+            requestResultLoadingAndInfo(requestBankCancelSign, param, loading, ['删除成功', '删除失败:']).then(() => {
+                cancel(true);
+            });
+        }
+        return {
+            visible,
+            cancel,
+            submit,
+            loading,
+        };
+    },
+});
+</script>
+
+<style lang="less" scoped>
+</style>;

+ 201 - 0
src/views/account-manager/account-manager-agency/account-manager-agency-sub/index.vue

@@ -0,0 +1,201 @@
+<template>
+  <!-- 签约账号管理 -->
+  <section>
+    <a-table :columns="columns"
+             class="srcollYTable expandLeftTable"
+             :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }"
+             :pagination="false"
+             :loading="loading"
+             :expandedRowKeys="expandedRowKeys"
+             :customRow="Rowclick"
+             :expandIcon="expandIcon"
+             :expandIconAsCell="false"
+             rowKey="key"
+             :data-source="tableList">
+
+      <template #handle="{ record }">
+        <BtnList :btnList="tableBtns"
+                 v-if="record.signstatus === 4"
+                 :record="record"
+                 class="btn-list-sticky"
+                 @click="openComponent" />
+      </template>
+      <!-- 签约状态 -->
+      <template #signstatus="{ text }">
+
+        <span>{{ getSignStatus(text) }}</span>
+      </template>
+    </a-table>
+    <div v-if="tableList.length === 0">
+      <span class="add-bank"
+            @click="componentId = addCode">
+        <svg class="icon svg-icon add-svg"
+             aria-hidden="true">
+          <use xlink:href="#icon-tianjiayinhangka"></use>
+        </svg>
+        添加签约银行
+      </span>
+    </div>
+    <!-- 明细 -->
+    <Description v-if="visible"
+                 @changeTab="changeTab"
+                 @close="closeDrawer"
+                 :tabList="tabList">
+      <a-table :columns="detailColumns"
+               class="topTable"
+               :pagination="false"
+               rowKey="key"
+               :data-source="[]"
+               :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }">
+        <template #stepvalue="{ text }">
+          <span>{{ text ? (text * 100).toFixed(0) : text }}</span>
+        </template>
+      </a-table>
+    </Description>
+    <component :is="componentId"
+               v-if="componentId"
+               :selectedRow="selectedRow"
+               @cancel="closeComponent"></component>
+  </section>
+</template>
+
+<script lang="ts">
+import { queryTableList, defineComponent, BtnList, defineAsyncComponent } from '@/common/export/commonTable';
+import { queryQueryPermancePlanTmp } from '@/services/go/wrtrade';
+import { QueryPermancePlanTmpReq, QueryPermancePlanTmpRsp } from '@/services/go/wrtrade/interface';
+import { handleComposeTable_detail } from '@/common/setup/table/compose';
+import { ComposeTableDetailParam } from '@/common/setup/table/interface';
+import { formatTime } from '@/common/methods';
+import { expandIcon } from '@/common/setup/table/clolumn';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
+import { getColumns } from './setup';
+import { getUsrId } from '@/services/bus/user';
+import { getButtonList, getOrderBtnList } from '@/common/setup/table/button';
+import { handleModalComponent } from '@/common/setup/asyncComponent';
+import Description from '@/common/components/description/index.vue';
+import { ref, Ref } from 'vue';
+import { queryBankCustomerSign, queryCusBankInfo } from '@/services/socket/bank';
+import { CusBankInfoRsp } from '@/services/socket/bank/interface';
+import { getSignStatus } from '@/common/constants/enumsName';
+import { TabList } from '@/common/components/description/interface';
+import { QueryAccountInOutApply, queryBankAccountSign } from '@/services/go/ermcp/qhj';
+import { QueryAccountInOutApplyRsq, QueryBankAccountSignQsp } from '@/services/go/ermcp/qhj/interface';
+
+const addCode = 'account-manager-agency-sub-add';
+const updateCode = 'account-manager-agency-sub-modiy';
+const deleteCode = 'account-manager-agency-sub-delete';
+
+const useButton = () => {
+    // 表格操作按钮列表
+    const btnList = getButtonList(EnumRouterName.account_manager_agency_sub, false);
+    // 过滤新增按钮
+    const tableBtns = btnList.filter((e) => e.code !== addCode);
+    return { tableBtns };
+};
+
+export default defineComponent({
+    name: EnumRouterName.account_manager_agency_sub,
+    components: {
+        BtnList,
+        Description,
+        [addCode]: defineAsyncComponent(() => import('./add.vue')),
+        [updateCode]: defineAsyncComponent(() => import('./modiy.vue')),
+        [deleteCode]: defineAsyncComponent(() => import('./delete.vue')),
+    },
+    setup() {
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList<QueryBankAccountSignQsp>();
+        const loadData = () => {
+            queryTable(queryBankAccountSign).then((res) => {
+                const set = new Set([2, 3, 4]);
+                tableList.value = res.filter((e) => set.has(e.signstatus));
+            });
+        };
+
+        // 表头
+        const { columns, applyInColumns, applyOutCloums } = getColumns();
+        const detailList = ref<QueryAccountInOutApplyRsq[]>([]);
+        function queryDetail() {
+            QueryAccountInOutApply({}).then((res) => {
+                console.log('jjjjjjjjjjjjj', res);
+            });
+        }
+        queryDetail();
+        // 明细表头
+        const detailColumns = ref(applyInColumns);
+        // 切换明细
+        function changeTab(index: number, current: TabList) {
+            const { code, lable } = current;
+            if (code === 'account-manager-agency-sub-apply-in') {
+                // 充值申请
+                detailColumns.value = applyInColumns;
+            } else if (code === 'account-manager-agency-sub-apply-out') {
+                // 提现申请
+                detailColumns.value = applyOutCloums;
+            } else {
+                console.error(`${lable}没有配置对应的code: ${code},`);
+                return;
+            }
+        }
+
+        const param: ComposeTableDetailParam = {
+            queryFn: loadData, // 查询表格数据
+            tableFilterKey: [], // 表格过滤字段
+            menuType: EnumRouterName.account_manager_agency_sub, // 当前tab页对应的code
+        };
+        const {
+            visible,
+            closeDrawer, // 控制 drawer 组件是否显示
+            expandedRowKeys,
+            selectedRow,
+            Rowclick, // 表格事件
+            tabList,
+        } = handleComposeTable_detail<QueryPermancePlanTmpRsp>(param);
+
+        return {
+            loading,
+            tableList,
+            ...useButton(),
+            columns,
+            ...handleModalComponent(loadData, selectedRow),
+
+            visible,
+            closeDrawer, // 控制 drawer 组件是否显示
+            expandedRowKeys,
+            selectedRow,
+            Rowclick, // 表格事件
+            tabList,
+            detailColumns,
+            formatTime,
+            expandIcon,
+            getSignStatus,
+            changeTab,
+            addCode,
+        };
+    },
+});
+</script>
+
+<style lang="less" scope>
+.add-svg {
+    color: var(--m-blue0);
+    font-size: 22px;
+    // fill: currentColor !important;
+    // path {
+    //     fill: inherit !important;
+    // }
+}
+.add-bank {
+    cursor: pointer;
+    display: inline-block;
+    width: 181px;
+    height: 51px;
+    border: 1px dashed var(--m-blue0);
+    border-radius: 10px;
+    font-size: 16px;
+    line-height: 46px;
+    font-family: Adobe Heiti Std;
+    font-weight: normal;
+    color: var(--m-blue0);
+}
+</style>;

+ 6 - 0
src/views/account-manager/account-manager-agency/account-manager-agency-sub/interface.ts

@@ -0,0 +1,6 @@
+export interface FormParam {
+    bankId: string | undefined;
+    bankNo: string;
+    name: string;
+    subBankName: string;
+}

+ 217 - 0
src/views/account-manager/account-manager-agency/account-manager-agency-sub/modiy.vue

@@ -0,0 +1,217 @@
+<template>
+  <!--新增签约银行-->
+  <Drawer :title="'修改'"
+          :placement="'right'"
+          :visible="visible"
+          @cancel="cancel"
+          :class="'top'">
+    <a-spin :spinning="loading">
+      <div class="post_buying">
+        <a-form class="inlineForm dialogForm"
+                ref="formRef"
+                :model="formState"
+                :rules="rules">
+          <div class="formBar">
+            <a-col :span="24">
+              <a-form-item label="姓名"
+                           class="inputIconBox">
+                <a-input class="commonInput"
+                         style="width: 260px"
+                         :readonly="true"
+                         :value="getUserName()" />
+              </a-form-item>
+            </a-col>
+            <a-row :gutter="24">
+              <a-col :span="24">
+                <a-form-item label="开户银行"
+                             name="bankId">
+                  <a-select class="inlineFormSelect"
+                            style="width: 260px"
+                            v-model:value="formState.bankId"
+                            placeholder="请选择">
+                    <a-select-option v-for="item in accountList"
+                                     :value="item.bankid"
+                                     :key="item.bankname">{{item.bankname}}</a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+              <a-col :span="24">
+                <a-form-item label="银行卡号"
+                             name="bankNo"
+                             class="inputIconBox">
+                  <a-input class="commonInput"
+                           style="width: 260px"
+                           v-model:value="formState.bankNo" />
+                </a-form-item>
+              </a-col>
+
+              <a-col :span="24">
+                <a-form-item label="支行名称"
+                             name="subBankName"
+                             class="inputIconBox">
+                  <a-input class="commonInput"
+                           style="width: 260px"
+                           v-model:value="formState.subBankName" />
+                </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-form-item>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+    </a-spin>
+  </Drawer>
+</template>
+
+<script lang="ts">
+import { Des } from '@/common/components/commonDes';
+import Drawer from '@/common/components/drawer/index.vue';
+import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
+import { validateAction } from '@/common/setup/form';
+import { _closeModal } from '@/common/setup/modal/modal';
+import { getSelectedAccountId } from '@/services/bus/account';
+import { getUserName } from '@/services/bus/user';
+import { QueryBankInfo, QueryCusBankSignBank } from '@/services/go/ermcp/qhj';
+import { QueryBankAccountSignQsp, QueryBankInfoRsp, QueryCusBankSignBankRsp } from '@/services/go/ermcp/qhj/interface';
+import { requestBankSign } from '@/services/socket/bank';
+import { t2bBankSignReq } from '@/services/socket/bank/interface';
+import { getTimeValue } from '@/utils/time';
+import { MinusOutlined, PlusCircleOutlined, PlusOutlined, SearchOutlined } from '@ant-design/icons-vue';
+import { message } from 'ant-design-vue';
+import { defineComponent, PropType, ref } from 'vue';
+import { FormParam } from './interface';
+import { useForm } from './setup';
+
+export default defineComponent({
+    emits: ['cancel', 'update'],
+    name: 'warehouse_receipt_trade_blocs_delisting',
+    props: {
+        selectedRow: {
+            type: Object as PropType<QueryBankAccountSignQsp>,
+            default: {},
+        },
+        position: {
+            type: String,
+            default: 'top',
+        },
+    },
+    components: { Des, Drawer, PlusOutlined, MinusOutlined, SearchOutlined, PlusCircleOutlined },
+    setup(props, context) {
+        const { visible, cancel } = _closeModal(context);
+        const loading = ref<boolean>(false);
+        // 开户银行
+        const accountList = ref<QueryBankInfoRsp[]>([]);
+        // 托管银行
+        const managerList = ref<QueryCusBankSignBankRsp[]>([]);
+        Promise.all([QueryCusBankSignBank(), QueryBankInfo()]).then((res) => {
+            // 托管说是只有一个,具体因为未知
+            managerList.value = res[0].filter((el) => el.cansign === 1);
+            // 状态 - 0:正常 1:注销
+            accountList.value = res[1].filter((el) => el.status === 0);
+        });
+
+        const { rules, formState, formRef } = useForm();
+        formState.bankId = props.selectedRow.bankid;
+        formState.subBankName = props.selectedRow.branchbankname;
+        formState.bankNo = props.selectedRow.bankaccountno;
+        function submit() {
+            if (managerList.value.length === 0) {
+                message.error('未查询到托管银行,请联系管理人员!');
+                return;
+            }
+            validateAction<FormParam>(formRef, formState).then((res) => {
+                const selectdBank = accountList.value.find((el) => el.bankid === res.bankId)!;
+                // 托管说是只有一个,具体因为未知
+                const managerBank = managerList.value[0]; // 托管银行
+                const param: t2bBankSignReq = {
+                    OperateType: 2, // 变更类型[1-增加; 2-修改; 4-绑卡;
+                    IsForce: 0, // 是否强制[0-否; 1-是]强制
+                    AgentCertType: 0, // 授权代理人证件类型
+                    BankCardType: 0, // 银行卡类型
+                    AccountType: 1, // // 账户类型[1-对私; 2-对公]
+                    extend_info: '', //  扩展信息(JSON串,参考配置要求进行填充)
+                    BankAccountNo: res.bankNo, // 银行账户
+                    BankAccountName: res.name, // 银行账户名称
+                    AccountCode: getSelectedAccountId().toString(), // 账户
+                    AccountName: getUserName(), // 客户名称
+                    OpenBankName: res.subBankName, // 开户支行名称
+                    ExtOperatorID: getTimeValue(), // 外部操作流水号
+                    CertType: '', // 证件类型
+                    CertID: '', // 证件号码
+                    CusBankID: managerBank.cusbankid, // 托管银行编号
+                    Currency: managerBank.currency, // 币种
+                    TradeDate: managerBank.tradedate, // 交易所业务日期
+                    ExBankName: selectdBank.bankname, // // 开户行名称
+                    OpenBankAccId: selectdBank.bankid, // 银行卡行号
+                };
+                const msg: [string, string] = ['修改成功', '修改失败:'];
+                requestResultLoadingAndInfo(requestBankSign, param, loading, msg).then(() => {
+                    cancel(true);
+                });
+            });
+        }
+        return {
+            loading,
+            formRef,
+            formState,
+            rules,
+            submit,
+            cancel,
+            visible,
+            accountList,
+            getUserName,
+        };
+    },
+});
+</script>
+
+<style lang="less" scoped>
+.post_buying {
+    width: 100%;
+    height: 100%;
+    .flex;
+    flex-direction: column;
+    position: relative;
+    overflow: hidden;
+    .ant-form {
+        height: 100%;
+    }
+    .condition {
+        width: 100%;
+        height: 48px;
+        margin: 0 16px;
+        padding: 10px 0;
+        border-bottom: 1px solid @m-black6;
+        .inlineflex;
+        .conditionBtn {
+            align-self: center;
+            align-items: center;
+            border: 0;
+            min-width: 80px;
+            height: 28px;
+            line-height: 28px;
+            background: @m-black7;
+            .rounded-corners(3px);
+            font-size: 14px;
+            color: @m-blue0;
+            &:hover {
+                background: @m-black7-hover;
+                color: @m-blue0-hover;
+            }
+        }
+        .conditionBtn + .conditionBtn {
+            margin-left: 10px;
+        }
+    }
+}
+</style>

+ 52 - 0
src/views/account-manager/account-manager-agency/account-manager-agency-sub/setup.ts

@@ -0,0 +1,52 @@
+import { onBeforeUnmount, reactive, ref, UnwrapRef } from "vue"
+import { FormParam } from './interface'
+
+export function getColumns() {
+    const columns = [
+        { title: '开户银行', key: 'bankname', dataIndex: 'bankname', align: 'center', width: 200 },
+        { title: '银行卡号', key: 'bankaccountno', dataIndex: 'bankaccountno', align: 'center', width: 200, slots: { customRender: 'bankaccountno' } },
+        { title: '姓名', key: 'accountname', dataIndex: 'accountname', align: 'center', width: 200, slots: { customRender: 'accountname' } },
+        { title: '支行名称', key: 'branchbankname', dataIndex: 'branchbankname', align: 'center', width: 200, slots: { customRender: 'branchbankname' } },
+        { title: '签约状态', key: 'signstatus', dataIndex: 'signstatus', align: 'center', width: 200, slots: { customRender: 'signstatus' } },
+        { title: '操作', key: 'handle', dataIndex: 'handle', align: 'center', width: 200, slots: { customRender: 'handle' } },
+    ]
+    // 充值申请 表头
+    const applyInColumns = [
+        { title: '充值金额', key: 'bankname', dataIndex: 'bankname', align: 'center', width: 200 },
+        { title: '凭证', key: 'bankaccountno', dataIndex: 'bankaccountno', align: 'center', width: 200, slots: { customRender: 'bankaccountno' } },
+        { title: '申请时间', key: 'bankaccountno', dataIndex: 'bankaccountno', align: 'center', width: 200, slots: { customRender: 'bankaccountno' } },
+        { title: '状态', key: 'bankaccountno', dataIndex: 'bankaccountno', align: 'center', width: 200, slots: { customRender: 'bankaccountno' } },
+    ]
+    // 提现申请 表头
+    const applyOutCloums = [
+        { title: '提现金额', key: 'bankname', dataIndex: 'bankname', align: 'center', width: 200 },
+        { title: '申请时间', key: 'bankaccountno', dataIndex: 'bankaccountno', align: 'center', width: 200, slots: { customRender: 'bankaccountno' } },
+        { title: '状态', key: 'bankaccountno', dataIndex: 'bankaccountno', align: 'center', width: 200, slots: { customRender: 'bankaccountno' } },
+    ]
+    return { columns, applyInColumns, applyOutCloums }
+}
+
+
+export const useForm = () => {
+    function initForm(): FormParam {
+        return {
+            bankId: undefined,
+            bankNo: '',
+            name: '',
+            subBankName: '',
+        }
+    }
+    const formState: UnwrapRef<FormParam> = reactive(initForm())
+    const formRef = ref();
+    const rules = {
+        bankId: [{ required: true, message: '请选择开户银行', }],
+        bankNo: [{ required: true, message: '请输入银行卡号' }],
+        name: [{ required: true, message: '请输入姓名' }],
+        subBankName: [{ required: true, message: '请输入支行名称' }],
+    }
+    onBeforeUnmount(() => {
+        initForm()
+        formRef.value.resetFields()
+    })
+    return { rules, formState, formRef }
+}

+ 6 - 63
swagger-to-ts/swagger.ts

@@ -1,65 +1,8 @@
 export interface Name{
-    accountid	:number;//交易账号(资金账号)
-allfriendsflag	:number;//是否全好友可见 - number;
-//:否 1:是
-amount	:number;//挂牌金额 = 委托数量  固定价或升贴水
-buyorsell	:number;//买卖 - number;
-//:买 1:卖(挂牌类型 买为采购 卖为销售)
-canbargain	:number;//是否可议价 - number;
-//:不可 1:可
-cancelqty	:number;//撤销数量
-canpart	:number;//是否允许部份摘牌 - number;
-//:不允许(要求整单) 1:允许(可以不整单)
-delistminqty	:number;//起摘数量
-deliverygoodscode	:string;//品种代码
-deliverygoodsid	:number;//品种ID
-deliverygoodsname	:string;//品种名称
-deliverymonth	:string;//交收月
-enumdicname	:string;//单位名称
-fixedprice	:number;//固定价格 - [挂牌]
-freezemargin	:number;//冻结保证金(保证金)
-futupricemove	:number;//期货升贴水
-futushow	:string;//期货合约/升贴水
-goodscode	:string;//期货合约
-goodsid	:number;//期货商品id
-goodsname	:string;//商品名称
-haswr	:number;//是否有仓单-卖方 - number;
-//:无仓单 1:有仓单
-isspecified	:number;//是否指定对手 - number;
-//:不指定 1:指定 - [挂牌]
-ladingbillid	:string;//提单ID(2number;
-//8+Unix秒时间戳(1number;
-//位)+xxxxxx)
-marginvalue	:number;//保证金设置值(履约保证金)
-marketid	:number;//市场ID
-matchusername	:string;//对手方名称(当ISSPECIFIED=1时,有值,指定朋友的名称)
-minivalue	:number;//现货商品最小变动值
-optioncompare	:string;//选择项比较串【{选择项ID}+{冒号}+选择项值 } ,逗号分隔,头尾加逗号】-- 所有选择项拼接,用于比较
-orderqty	:number;//委托数量
-ordertime	:string;//委托时间(挂牌时间)
-performancetemplateid	:number;//履约模板id
-pricemove	:number;//升贴水(浮动价时填写) - [挂牌]
-taname	:string;//交易用户名称(资金账号名称)
-tradedate	:string;//交易日(yyyyMMdd)
-tradeprice	:number;//成交价格 - [摘牌] (浮动价 ((商品1价格商品1价格系数+升贴水) 商品1重量系数 + 商品2价格商品2价格系数+商品2升贴水) 商品2重量系数 …) 委托单价格系数 + 委托单升贴水)
-tradeqty	:number;//成交数量
-userid	:number;//用户ID
-validtime	:string;//挂牌有效期
-warehouseid	:number;//仓库ID
-warehousename	:string;//仓库名称
-wrfactortypeid	:string;//仓单要素类型ID(212+Unix秒时间戳(1number;
-//位)+xxxxxx)
-wrfactortypename	:string;//仓单要素类型名称(选择项要素的名称合并显示,逗号分隔)
-wrpricetype	:number;//价格方式 - 1:固定价 2-浮动价 - [挂牌]
-wrstandardcode	:string;//现货商品代码
-wrstandardid	:number;//现货商品ID
-wrstandardname	:string;//商品名称
-wrtradeorderid	:string;//仓单贸易委托单ID(32number;
-//+Unix秒时间戳(1number;
-//位)+xxxxxx)
-wrtradeorderstatus	:number;//委托状态 - 1:委托请求 2:待冻结 3:委托成功 4:委托失败 5:配对成功 6:已撤 7:部成 8:已成 9:部成部撤 1number;
-//:成交失败 11:委托拒绝 12:经过摘牌(先摘后挂专用) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用) 17:冻结PD成功 18:冻结PD失败 19:冻结能量成功 2number;
-//:冻结能量失败 21:预约已报价 22:过期未付 23:优惠券处理中 24:仓单生成失败 25:首付扣款失败 26:履约失败 27:撤单解冻贷款失败
-wrtradetype	:number;//仓单贸易类型 - 1:挂牌 2:摘牌 3:提货卖(文化中国) 4:提货买(文化中国)
-wrtypename	:string;//商品
+    bankid	:string;//银行ID
+bankname	:string;//银行名称
+clearbankno	:string;//清算系统银行编号
+orderindex	:number;//排序顺序
+status	:number;//状态 - number;
+//:正常 1:注销
 }

+ 10 - 145
swagger-to-ts/swagger.txt

@@ -1,151 +1,16 @@
 {
-    accountid	integer
-交易账号(资金账号)
+    bankid	string
+银行ID
 
-allfriendsflag	integer
-是否全好友可见 - 0:否 1:是
+bankname	string
+银行名称
 
-amount	number
-挂牌金额 = 委托数量 * 固定价或升贴水
+clearbankno	string
+清算系统银行编号
 
-buyorsell	integer
-买卖 - 0:买 1:卖(挂牌类型 买为采购 卖为销售)
+orderindex	integer
+排序顺序
 
-canbargain	integer
-是否可议价 - 0:不可 1:可
-
-cancelqty	number
-撤销数量
-
-canpart	integer
-是否允许部份摘牌 - 0:不允许(要求整单) 1:允许(可以不整单)
-
-delistminqty	integer
-起摘数量
-
-deliverygoodscode	string
-品种代码
-
-deliverygoodsid	integer
-品种ID
-
-deliverygoodsname	string
-品种名称
-
-deliverymonth	string
-交收月
-
-enumdicname	string
-单位名称
-
-fixedprice	number
-固定价格 - [挂牌]
-
-freezemargin	number
-冻结保证金(保证金)
-
-futupricemove	number
-期货升贴水
-
-futushow	string
-期货合约/升贴水
-
-goodscode	string
-期货合约
-
-goodsid	integer
-期货商品id
-
-goodsname	string
-商品名称
-
-haswr	integer
-是否有仓单-卖方 - 0:无仓单 1:有仓单
-
-isspecified	integer
-是否指定对手 - 0:不指定 1:指定 - [挂牌]
-
-ladingbillid	string
-提单ID(208+Unix秒时间戳(10位)+xxxxxx)
-
-marginvalue	number
-保证金设置值(履约保证金)
-
-marketid	integer
-市场ID
-
-matchusername	string
-对手方名称(当ISSPECIFIED=1时,有值,指定朋友的名称)
-
-minivalue	integer
-现货商品最小变动值
-
-optioncompare	string
-选择项比较串【{选择项ID}+{冒号}+选择项值 } ,逗号分隔,头尾加逗号】-- 所有选择项拼接,用于比较
-
-orderqty	number
-委托数量
-
-ordertime	string
-委托时间(挂牌时间)
-
-performancetemplateid	integer
-履约模板id
-
-pricemove	number
-升贴水(浮动价时填写) - [挂牌]
-
-taname	string
-交易用户名称(资金账号名称)
-
-tradedate	string
-交易日(yyyyMMdd)
-
-tradeprice	number
-成交价格 - [摘牌] (浮动价 ((商品1价格商品1价格系数+升贴水) 商品1重量系数 + 商品2价格商品2价格系数+商品2升贴水) 商品2重量系数 …)* 委托单价格系数 + 委托单升贴水)
-
-tradeqty	number
-成交数量
-
-userid	integer
-用户ID
-
-validtime	string
-挂牌有效期
-
-warehouseid	integer
-仓库ID
-
-warehousename	string
-仓库名称
-
-wrfactortypeid	string
-仓单要素类型ID(212+Unix秒时间戳(10位)+xxxxxx)
-
-wrfactortypename	string
-仓单要素类型名称(选择项要素的名称合并显示,逗号分隔)
-
-wrpricetype	integer
-价格方式 - 1:固定价 2-浮动价 - [挂牌]
-
-wrstandardcode	string
-现货商品代码
-
-wrstandardid	integer
-现货商品ID
-
-wrstandardname	string
-商品名称
-
-wrtradeorderid	string
-仓单贸易委托单ID(320+Unix秒时间戳(10位)+xxxxxx)
-
-wrtradeorderstatus	integer
-委托状态 - 1:委托请求 2:待冻结 3:委托成功 4:委托失败 5:配对成功 6:已撤 7:部成 8:已成 9:部成部撤 10:成交失败 11:委托拒绝 12:经过摘牌(先摘后挂专用) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用) 17:冻结PD成功 18:冻结PD失败 19:冻结能量成功 20:冻结能量失败 21:预约已报价 22:过期未付 23:优惠券处理中 24:仓单生成失败 25:首付扣款失败 26:履约失败 27:撤单解冻贷款失败
-
-wrtradetype	integer
-仓单贸易类型 - 1:挂牌 2:摘牌 3:提货卖(文化中国) 4:提货买(文化中国)
-
-wrtypename	string
-商品
+status	integer
+状态 - 0:正常 1:注销
 }

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác