|
|
@@ -2,9 +2,9 @@ import { FunCode } from "../../../constants/enum/funcode"
|
|
|
import Toast from "../../../miniprogram_npm/@vant/weapp/toast/toast"
|
|
|
import { queryBankAccountSign, queryCusBankSignBank } from "../../../services/api/account/index"
|
|
|
import { sendMsgToMQ } from "../../../services/api/common/index"
|
|
|
-import { accountid, getErrorMsg, isEncrypted, loginQuery, protoHeader, timetample, userid } from "../../../services/utils"
|
|
|
+import { accountid, getEnumdicValue, getErrorMsg, isEncrypted, loginQuery, protoHeader, timetample, userid } from "../../../services/utils"
|
|
|
import { hideLoading, showLoading, showModel } from "../../../utils/message/index"
|
|
|
-import { encryptBody } from "../../../utils/websocket/crypto"
|
|
|
+import { decryptAES, encryptBody } from "../../../utils/websocket/crypto"
|
|
|
|
|
|
Page({
|
|
|
|
|
|
@@ -31,7 +31,9 @@ Page({
|
|
|
/// 托管银行信息
|
|
|
cusBankInfo: <GuangZuan.CusBankInfo>{},
|
|
|
/// 签约账户信息
|
|
|
- bankAccountSign: <GuangZuan.BankAccountSign>{}
|
|
|
+ bankAccountSign: <GuangZuan.BankAccountSign>{},
|
|
|
+ /// 签约状态
|
|
|
+ signStatus: ''
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
@@ -63,6 +65,24 @@ Page({
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
+ * 按钮点击响应事件
|
|
|
+ */
|
|
|
+ onButtonPressed(e: any) {
|
|
|
+ switch (e.currentTarget.id) {
|
|
|
+ case 'submit': /// 签约提交
|
|
|
+ this.doBankAccountSign()
|
|
|
+ break;
|
|
|
+ case 'cancel': /// 解约请求
|
|
|
+ showModel(() => {
|
|
|
+ this.doCancelBankAccountSign()
|
|
|
+ }, '提示', '确定要申请解约吗?')
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
* showBankInfos
|
|
|
*/
|
|
|
showBankInfos() {
|
|
|
@@ -127,126 +147,117 @@ Page({
|
|
|
this.setData({
|
|
|
bankAccountSign: sign,
|
|
|
bankName: sign.bankname,
|
|
|
- bankNo: sign.cardno,
|
|
|
+ bankNo: sign.bankaccountno,
|
|
|
accountName: sign.bankaccountname,
|
|
|
branchBankName: sign.branchbankname,
|
|
|
+ signStatus: getEnumdicValue('signstatus', sign.signstatus),
|
|
|
bankInfo: this.data.bankInfos.filter(obj => {
|
|
|
return obj.bankid === sign.bankid
|
|
|
})[0],
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
- fail: (emsg) => {
|
|
|
- hideLoading(()=>{}, emsg, 'error')
|
|
|
- }
|
|
|
+ fail: (emsg) => { hideLoading(()=>{}, emsg, 'error') }
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
- * 按钮点击响应事件
|
|
|
- */
|
|
|
- onButtonPressed(e: any) {
|
|
|
- switch (e.currentTarget.id) {
|
|
|
- case 'submit': /// 签约提交
|
|
|
- showModel(() => {
|
|
|
- this.doBankAccountSign()
|
|
|
- }, '提示', '确定要申请签约吗?')
|
|
|
- break;
|
|
|
- case 'cancel': /// 解约请求
|
|
|
- showModel(() => {
|
|
|
- this.doCancelBankAccountSign()
|
|
|
- }, '提示', '确定要申请解约吗?')
|
|
|
- break
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- /**
|
|
|
* 签约请求
|
|
|
*/
|
|
|
doBankAccountSign() {
|
|
|
/// 合规性校验
|
|
|
if (!this.check()) { return }
|
|
|
- /// loading
|
|
|
- showLoading(()=>{
|
|
|
- /// 用户信息
|
|
|
- const userinfo = loginQuery().userInfo
|
|
|
- /// 银行卡号
|
|
|
- const bankid = this.data.bankAccountSign ? this.data.bankAccountSign.bankid : this.data.bankInfo.bankid
|
|
|
- /// 参数信息
|
|
|
- const info = JSON.stringify({
|
|
|
- /// 扩展信息(JSON串,参考配置要求进行填充)
|
|
|
- extend_info: JSON.stringify({ "sex" : 1 }),
|
|
|
- /// 交易所业务日期
|
|
|
- TradeDate: this.data.cusBankInfo.tradedate,
|
|
|
- /// 账户类型[1-对私;2-对公]
|
|
|
- AccountType: 1,
|
|
|
- /// 币种
|
|
|
- Currency: this.data.cusBankInfo.currency,
|
|
|
- /// 是否强制[0-否;1-是]强制,只更新中心签约信息,不发送银行。用于银行信息不一致的情况
|
|
|
- IsForce: 0,
|
|
|
- /// 授权代理人证件类型
|
|
|
- AgentCertType: 0,
|
|
|
- /// 变更类型[1-增加;2-修改;4-绑卡;
|
|
|
- OperateType: this.data.bankAccountSign ? 2 : 1,
|
|
|
- /// 银行卡类型
|
|
|
- BankCardType: 0,
|
|
|
- /// 银行账户类型
|
|
|
- BankAccountType: 1,
|
|
|
- /// 客户名称
|
|
|
- AccountName: this.data.accountName,
|
|
|
- /// 银行账户名称
|
|
|
- BankAccountName: this.data.accountName,
|
|
|
- /// 银行账户
|
|
|
- BankAccountNo: this.data.bankNo,
|
|
|
- /// 开户支行名称
|
|
|
- OpenBankName: this.data.branchBankName,
|
|
|
- /// 银行卡行号
|
|
|
- OpenBankAccId: bankid,
|
|
|
- /// 托管银行编号
|
|
|
- CusBankID: this.data.cusBankInfo.cusbankid,
|
|
|
- /// 开户行名称
|
|
|
- ExBankName: this.data.bankName,
|
|
|
- /// 账户
|
|
|
- AccountCode: accountid().toString(),
|
|
|
- /// 外部操作流水号
|
|
|
- ExtOperatorID: timetample(),
|
|
|
- /// 证件号码
|
|
|
- CertID: userinfo.cardnum,
|
|
|
- /// 证件类型
|
|
|
- CertType: userinfo.cardtypeid.toString(),
|
|
|
- /// 头部
|
|
|
- Header: protoHeader(FunCode.T2bBankSignReq)
|
|
|
- })
|
|
|
-
|
|
|
- /// 发送请求
|
|
|
- sendMsgToMQ({
|
|
|
- data: {
|
|
|
- funCodeReq: FunCode.T2bBankSignReq,
|
|
|
- funCodeRsp: FunCode.T2bBankSignRsp,
|
|
|
- isEncrypted: isEncrypted(),
|
|
|
- data: encryptBody(info)
|
|
|
- },
|
|
|
- success: (res) => {
|
|
|
- /// 解析对象
|
|
|
- const data = JSON.parse(res.data.data)
|
|
|
- if (data.RetCode != 0) {
|
|
|
- hideLoading(() => {}, getErrorMsg(data.RetCode), 'error')
|
|
|
- return
|
|
|
- }
|
|
|
- /// 请求成功
|
|
|
- hideLoading(()=>{
|
|
|
- /// 返回上层视图
|
|
|
- wx.navigateBack()
|
|
|
- }, '签约请求成功', 'success')
|
|
|
- },
|
|
|
- fail: (emsg) => {
|
|
|
- hideLoading(()=>{}, emsg, 'error')
|
|
|
+
|
|
|
+ const { cusbankid } = this.data.bankAccountSign
|
|
|
+ const operateType = cusbankid != undefined ? 2 : 1
|
|
|
+ const msg = operateType === 1 ? '签约请求' : '签约修改'
|
|
|
+
|
|
|
+ /// showModel
|
|
|
+ showModel(() => {
|
|
|
+ /// loading
|
|
|
+ showLoading(()=>{
|
|
|
+ /// 用户信息
|
|
|
+ const userinfo = loginQuery().userInfo
|
|
|
+ /// 银行卡号
|
|
|
+ const bankid = cusbankid != undefined ? this.data.bankAccountSign.bankid : this.data.bankInfo.bankid
|
|
|
+ /// 数据信息
|
|
|
+ const data = {
|
|
|
+ /// 账户类型[1-对私;2-对公]
|
|
|
+ AccountType: 1,
|
|
|
+ /// 是否强制[0-否;1-是]强制,只更新中心签约信息,不发送银行。用于银行信息不一致的情况
|
|
|
+ IsForce: 0,
|
|
|
+ /// 授权代理人证件类型
|
|
|
+ AgentCertType: 0,
|
|
|
+ /// 银行卡类型
|
|
|
+ BankCardType: 0,
|
|
|
+ /// 银行账户类型
|
|
|
+ BankAccountType: 1,
|
|
|
+ /// 账户
|
|
|
+ AccountCode: accountid().toString(),
|
|
|
+ /// 外部操作流水号
|
|
|
+ ExtOperatorID: timetample(),
|
|
|
+ /// 扩展信息(JSON串,参考配置要求进行填充)
|
|
|
+ extend_info: JSON.stringify({ "sex" : 1 }),
|
|
|
+ /// 头部
|
|
|
+ Header: protoHeader(FunCode.T2bBankSignReq)
|
|
|
}
|
|
|
- })
|
|
|
- }, '操作请求中.....')
|
|
|
+ /// 参数信息
|
|
|
+ const info = JSON.stringify({
|
|
|
+ /// 交易所业务日期
|
|
|
+ TradeDate: this.data.cusBankInfo.tradedate,
|
|
|
+ /// 币种
|
|
|
+ Currency: this.data.cusBankInfo.currency,
|
|
|
+ /// 变更类型[1-增加;2-修改;4-绑卡;
|
|
|
+ OperateType: operateType,
|
|
|
+ /// 客户名称
|
|
|
+ AccountName: this.data.accountName,
|
|
|
+ /// 银行账户名称
|
|
|
+ BankAccountName: this.data.accountName,
|
|
|
+ /// 银行账户
|
|
|
+ BankAccountNo: this.data.bankNo,
|
|
|
+ /// 开户支行名称
|
|
|
+ OpenBankName: this.data.branchBankName,
|
|
|
+ /// 银行卡行号
|
|
|
+ OpenBankAccId: bankid,
|
|
|
+ /// 托管银行编号
|
|
|
+ CusBankID: this.data.cusBankInfo.cusbankid,
|
|
|
+ /// 开户行名称
|
|
|
+ ExBankName: this.data.bankName,
|
|
|
+ /// 证件号码
|
|
|
+ CertID: decryptAES(userinfo.cardnum),
|
|
|
+ /// 证件类型
|
|
|
+ CertType: userinfo.cardtypeid.toString(),
|
|
|
+ /// 数据信息
|
|
|
+ ...data
|
|
|
+ })
|
|
|
+ /// 发送请求
|
|
|
+ sendMsgToMQ({
|
|
|
+ data: {
|
|
|
+ funCodeReq: FunCode.T2bBankSignReq,
|
|
|
+ funCodeRsp: FunCode.T2bBankSignRsp,
|
|
|
+ isEncrypted: isEncrypted(),
|
|
|
+ data: encryptBody(info)
|
|
|
+ },
|
|
|
+ success: (res) => {
|
|
|
+ /// 解析对象
|
|
|
+ const data = JSON.parse(res.data.data)
|
|
|
+ if (data.Status != 0) {
|
|
|
+ hideLoading(() => {}, getErrorMsg(data.Status), 'error')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ /// 请求成功
|
|
|
+ hideLoading(()=>{
|
|
|
+ /// 返回上层视图
|
|
|
+ wx.navigateBack()
|
|
|
+ }, msg+'成功', 'success')
|
|
|
+ },
|
|
|
+ fail: (emsg) => {
|
|
|
+ hideLoading(()=>{}, emsg, 'error')
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }, msg+'中.....')
|
|
|
+ }, '提示', '确定要'+msg+'?')
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
@@ -321,12 +332,6 @@ Page({
|
|
|
return false
|
|
|
}
|
|
|
|
|
|
- /// 请输入姓名!
|
|
|
- if (this.data.accountName.length === 0) {
|
|
|
- Toast({message: '请输入姓名!'})
|
|
|
- return false
|
|
|
- }
|
|
|
-
|
|
|
/// 请输入支行名称!
|
|
|
if (this.data.branchBankName.length === 0) {
|
|
|
Toast({message: '请输入支行名称!'})
|
|
|
@@ -343,6 +348,8 @@ Page({
|
|
|
this.queryCusBankInfo()
|
|
|
/// 查询账户已签约信息
|
|
|
this.queryBankAccountSign()
|
|
|
+ /// 账户名称
|
|
|
+ this.setData({ accountName: loginQuery().userInfo.customername })
|
|
|
},
|
|
|
|
|
|
/**
|