Sfoglia il codice sorgente

Merge branch 'master' of http://47.101.159.18:3000/Muchinfo/MTP20_WEB_GLOBAL

li.shaoyi 2 anni fa
parent
commit
c1477209b6
25 ha cambiato i file con 337 aggiunte e 102 eliminazioni
  1. 1 1
      public/config/appconfig.json
  2. 30 11
      src/business/bank/index.ts
  3. 15 4
      src/packages/gstj/views/bank/sign/components/edit/Index.vue
  4. 20 5
      src/packages/gstj/views/bank/wallet/components/deposit/Index.vue
  5. 14 6
      src/packages/gstj/views/bank/wallet/components/withdraw/Index.vue
  6. 15 4
      src/packages/mobile/views/bank/sign/components/edit/Index.vue
  7. 20 5
      src/packages/mobile/views/bank/wallet/components/deposit/Index.vue
  8. 14 6
      src/packages/mobile/views/bank/wallet/components/withdraw/Index.vue
  9. 20 12
      src/packages/pc/views/account/sign/components/sign/index.vue
  10. 0 1
      src/packages/pc/views/account/sign/index.vue
  11. 20 3
      src/packages/pc/views/footer/capital/summary/deposit/index.vue
  12. 16 2
      src/packages/pc/views/footer/capital/summary/withdraw/index.vue
  13. 2 2
      src/packages/pc/views/footer/presell/transferposition/listing/index.vue
  14. 2 2
      src/packages/pc/views/footer/spot/position/components/listing/index.vue
  15. 15 4
      src/packages/qxst/views/bank/sign/components/edit/Index.vue
  16. 20 5
      src/packages/qxst/views/bank/wallet/components/deposit/Index.vue
  17. 14 6
      src/packages/qxst/views/bank/wallet/components/withdraw/Index.vue
  18. 15 4
      src/packages/sbyj/views/bank/sign/components/edit/Index.vue
  19. 3 3
      src/packages/sbyj/views/bank/statement/Index.vue
  20. 2 2
      src/packages/sbyj/views/bank/statement/history/Index.vue
  21. 1 1
      src/packages/sbyj/views/bank/wallet/Index.vue
  22. 20 5
      src/packages/sbyj/views/bank/wallet/components/deposit/Index.vue
  23. 16 8
      src/packages/sbyj/views/bank/wallet/components/withdraw/Index.vue
  24. 12 0
      src/services/api/bank/index.ts
  25. 30 0
      src/types/model/bank.d.ts

+ 1 - 1
public/config/appconfig.json

@@ -1,5 +1,5 @@
 {
   "version": "1.0.0",
   "versionCode": "100000",
-  "apiUrl": "http://192.168.31.204:8080/cfg?key=test_204"
+  "apiUrl": "http://192.168.31.205:8080/cfg?key=test_205"
 }

+ 30 - 11
src/business/bank/index.ts

@@ -1,6 +1,6 @@
-import { reactive, shallowRef, computed } from 'vue'
+import {ref, reactive, shallowRef, computed } from 'vue'
 import { useAccountStore, useUserStore, useLoginStore } from '@/stores'
-import { t2bBankWithdraw, queryBankAccountSign, t2bBankDeposit, queryCusBankSignBank, t2bBankSign, t2bBankCancelSign, accountFundInfoReq } from '@/services/api/bank'
+import { t2bBankWithdraw, queryBankAccountSign, t2bBankDeposit, queryCusBankSignBank, t2bBankSign, t2bBankCancelSign, accountFundInfoReq, queryBankCusBankExtendConfigs } from '@/services/api/bank'
 import { SignStatus } from '@/constants/bank'
 import { decryptAES } from '@/services/websocket/package/crypto'
 import moment from "moment"
@@ -23,8 +23,7 @@ export function useDoWithdraw() {
 
     const formData = reactive<Partial<Proto.t2bBankWithdrawReq>>({
         AccountType: 0,
-        AppDateTime: moment(new Date()).format('YYYY-MM-DD HH:mm:ss'),
-        extend_info: JSON.stringify({ "sex": 1 })
+        AppDateTime: moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
     })
 
     /// 查询签约信息
@@ -70,8 +69,6 @@ export function useDoDeposit(userid?: number) {
     const loading = shallowRef(false)
     /// 获取当前是否已签约
     const sign = shallowRef<Model.BankAccountSignRsp[]>([])
-    /// 常量信息
-    const extendInfo = { certificate_photo_url: '' }
     /// formData
     const formData = reactive<Partial<Proto.t2bBankDepositReq>>({})
 
@@ -99,7 +96,6 @@ export function useDoDeposit(userid?: number) {
             data: {
                 ...formData,
                 ExtOperatorID: new Date().getTime(),
-                extend_info: JSON.stringify(extendInfo)
             }
         }).finally(() => {
             loading.value = false
@@ -109,7 +105,6 @@ export function useDoDeposit(userid?: number) {
     return {
         loading,
         onSubmit,
-        extendInfo,
         formData,
         sign
     }
@@ -141,7 +136,6 @@ export function useDoBankSign() {
 
     /// 判断是否有签约信息 有就做修改
     queryBankAccountSign().then((res) => {
-        console.log(res.data)
         bankInfo.value = res.data.filter(obj => {
             return ![SignStatus.Rescinded].includes(obj.signstatus)
         })[0]
@@ -165,7 +159,6 @@ export function useDoBankSign() {
         AgentCertType: 0,
         BankCardType: 0,
         BankAccountType: 1,
-        extend_info: JSON.stringify({ "sex": 1 }),
         AccountCode: accountStore.currentAccountId.toString(),
         CertID: decryptAES(userInfo?.cardnum ?? ''),
         CertType: userInfo?.cardtypeid.toString(),
@@ -214,7 +207,6 @@ export function useDoCancelBankSign() {
     const sign = shallowRef<Model.BankAccountSignRsp[]>([])
 
     const formRefresh = () => {
-        console.log('formRefresh')
         queryBankAccountSign().then((res) => {
             bankInfo.value = res.data[0];
             ({
@@ -289,3 +281,30 @@ export function useBankAccouuntSign() {
         fund
     }
 }
+
+/// 查询托管银行扩展配置信息
+export function useDoCusBankExtendConfigs(extendbiztype?: number) {
+    /// 托管银行信息
+    const configs = ref<(Model.BankCusBankExtendConfigRsp &{value:string})[]>([])
+    /// 查询签约银行信息
+    queryCusBankSignBank().then((res) => {
+        if (res.data.length) {
+            const data = res.data[0]
+            queryBankCusBankExtendConfigs({
+                data: {
+                    cusbankid: data?.cusbankid,
+                    extendbiztype: extendbiztype
+                },
+            }).then((res) => {
+                if (res.data.length != 0) {
+                    configs.value = res.data.map(obj =>({
+                        ...obj,
+                        value:''
+                    }))
+                }
+            })
+        }
+    })
+
+    return { configs }
+}

+ 15 - 4
src/packages/gstj/views/bank/sign/components/edit/Index.vue

@@ -16,8 +16,9 @@
                         :rules="formRules.BankAccountNo" />
                     <Field name="AccountName" label="姓名" readonly v-model="formData.BankAccountName" placeholder="请输入银行卡账户名"
                         :rules="formRules.BankAccountName" />
-                    <Field name="BranchBankName" label="支行名称" v-model="formData.OpenBankName" placeholder="请输入银行卡支行名称"
-                        :rules="formRules.OpenBankName" />
+                    <template v-for="(item, index) in configs" :key="index">
+                        <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype" :name="item.fieldcode" :label="item.fieldname" v-model="item.value" :placeholder="`请输入${ item.fieldname }`" />
+                    </template>
                 </CellGroup>
             </Form>
             <template #footer>
@@ -34,16 +35,19 @@
 import { shallowRef } from 'vue'
 import { CellGroup, Button, Field, Form, FormInstance, FieldRule, showFailToast } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
-import { useDoBankSign } from '@/business/bank'
-import AppSelect from '../../../../../components/base/select/index.vue'
+import { useDoBankSign, useDoCusBankExtendConfigs } from '@/business/bank'
 import { validateRules } from '@/constants/regex'
 import { useErrorInfoStore } from '@/stores'
+import { useUserStore } from '@/stores'
 import AppModal from '@/components/base/modal/index.vue'
+import AppSelect from '../../../../../components/base/select/index.vue'
 
 const { formData, onSubmit, banklist, bankInfo } = useDoBankSign()
 const showModal = shallowRef(true)
 const refresh = shallowRef(false) // 是否刷新父组件数据
 const formRef = shallowRef<FormInstance>()
+const { configs } = useDoCusBankExtendConfigs(1)
+const userStore = useUserStore()
 
 const props = defineProps({
     isedit: {
@@ -82,6 +86,13 @@ const formRules: { [key in keyof Proto.t2bBankSignReq]?: FieldRule[] } = {
 
 const formSubmit = () => {
     fullloading((hideLoading) => {
+        const obj:{[key:string]:unknown}=Object.create({})
+        configs.value.forEach((e)=>{
+            if(e.value){
+                obj[e.fieldcode]=e.value
+            }
+        })
+        formData.extend_info = JSON.stringify(obj)
         onSubmit().then(() => {
             hideLoading()
             dialog(props.isedit ? '签约信息修改提交成功' : '签约提交成功,请耐心等待审核。').then(() => {

+ 20 - 5
src/packages/gstj/views/bank/wallet/components/deposit/Index.vue

@@ -9,6 +9,10 @@
                         <app-uploader @success="onUploadSuccess" />
                     </template>
                 </Field>
+                <template v-for="(item, index) in configs" :key="index">
+                    <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype" :name="item.fieldcode" 
+                       :label="item.fieldname" v-model="item.value" :placeholder="`请输入${ item.fieldname }`" />
+                </template>
             </CellGroup>
         </Form>
         <div class="g-form__time">
@@ -62,20 +66,23 @@
 </template>
 
 <script lang="ts" setup>
-import { shallowRef } from 'vue'
+import { shallowRef, ref } from 'vue'
 import { Form, Field, CellGroup, Button, FieldRule, FormInstance, showFailToast, showSuccessToast } from 'vant'
-import { useDoDeposit } from '@/business/bank'
+import { useDoDeposit, useDoCusBankExtendConfigs } from '@/business/bank'
 import { fullloading, dialog } from '@/utils/vant'
 import { useNavigation } from '../../../../../router/navigation'
 import { useUserStore } from '@/stores'
 import AppUploader from '../../../../../components/base/uploader/index.vue'
 
 const formRef = shallowRef<FormInstance>()
-const { formData, onSubmit, extendInfo } = useDoDeposit()
+const { formData, onSubmit } = useDoDeposit()
 const { router } = useNavigation()
 const { getSystemParamValue } = useUserStore()
 const start = getSystemParamValue('012')
 const end = getSystemParamValue('013')
+const { configs } = useDoCusBankExtendConfigs(2)
+const certificate_photo_url = ref('')
+const userStore = useUserStore()
 
 // 表单验证规则
 const formRules: { [key in keyof Proto.t2bBankDepositReq | 'filePath']?: FieldRule[] } = {
@@ -86,7 +93,7 @@ const formRules: { [key in keyof Proto.t2bBankDepositReq | 'filePath']?: FieldRu
     filePath: [{
         message: '请上传转账凭证',
         validator: () => {
-            return !!extendInfo.certificate_photo_url
+            return !!certificate_photo_url.value
         }
     }]
 }
@@ -100,11 +107,19 @@ const onCopy = (status: boolean) => {
 }
 
 const onUploadSuccess = (filePath: string) => {
-    extendInfo.certificate_photo_url = filePath
+    certificate_photo_url.value = filePath
 }
 
 const formSubmit = () => {
     fullloading((hideLoading) => {
+        const obj:{[key:string]:unknown}=Object.create({})
+        configs.value.forEach((e)=>{
+            if(e.value){
+                obj[e.fieldcode]=e.value
+            }
+        })
+        obj['certificate_photo_url'] = certificate_photo_url.value
+        formData.extend_info = JSON.stringify(obj)
         onSubmit().then(() => {
             hideLoading()
             dialog('充值申请提交成功,请等待审核。').then(() => {

+ 14 - 6
src/packages/gstj/views/bank/wallet/components/withdraw/Index.vue

@@ -23,11 +23,10 @@
                         {{ sign.bankaccountname }}
                     </template>
                 </Field>
-                <Field label="支行名称">
-                    <template #input>
-                        {{ sign.branchbankname }}
-                    </template>
-                </Field>
+                <template v-for="(item, index) in configs" :key="index">
+                    <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype" :name="item.fieldcode" 
+                       :label="item.fieldname" v-model="item.value" :placeholder="`请输入${ item.fieldname }`" />
+                </template>
             </CellGroup>
         </Form>
         <div class="g-form__time">
@@ -42,7 +41,7 @@
 </template>
 
 <script lang="ts" setup>
-import { useDoWithdraw, useAccountFundInfo } from '@/business/bank';
+import { useDoWithdraw, useAccountFundInfo, useDoCusBankExtendConfigs } from '@/business/bank';
 import { Form, Field, CellGroup, FormInstance, Button, FieldRule } from 'vant'
 import { shallowRef } from 'vue'
 import { fullloading, dialog } from '@/utils/vant'
@@ -50,6 +49,7 @@ import { useNavigation } from '../../../../../router/navigation'
 import { useUserStore } from '@/stores'
 
 const { formData, onSubmit, sign } = useDoWithdraw()
+const { configs } = useDoCusBankExtendConfigs(3)
 /// 资金账户信息
 const { fund } = useAccountFundInfo()
 const { router } = useNavigation()
@@ -57,6 +57,7 @@ const formRef = shallowRef<FormInstance>()
 const { getSystemParamValue } = useUserStore()
 const start = getSystemParamValue('012')
 const end = getSystemParamValue('013')
+const userStore = useUserStore()
 
 // 表单验证规则
 const formRules: { [key in keyof Proto.t2bBankWithdrawReq]?: FieldRule[] } = {
@@ -73,6 +74,13 @@ const formRules: { [key in keyof Proto.t2bBankWithdrawReq]?: FieldRule[] } = {
 }
 
 const formSubmit = () => {
+    const obj:{[key:string]:unknown}=Object.create({})
+    configs.value.forEach((e)=>{
+        if(e.value){
+            obj[e.fieldcode]=e.value
+        }
+    })
+    formData.extend_info = JSON.stringify(obj)
     fullloading((hideLoading) => {
         onSubmit().then(() => {
             hideLoading()

+ 15 - 4
src/packages/mobile/views/bank/sign/components/edit/Index.vue

@@ -16,8 +16,9 @@
                         :rules="formRules.BankAccountNo" />
                     <Field name="AccountName" label="姓名" readonly v-model="formData.BankAccountName" placeholder="请输入银行卡账户名"
                         :rules="formRules.BankAccountName" />
-                    <Field name="BranchBankName" label="支行名称" v-model="formData.OpenBankName" placeholder="请输入银行卡支行名称"
-                        :rules="formRules.OpenBankName" />
+                    <template v-for="(item, index) in configs" :key="index">
+                        <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype" :name="item.fieldcode" :label="item.fieldname" v-model="item.value" :placeholder="`请输入${ item.fieldname }`" />
+                    </template>
                 </CellGroup>
             </Form>
             <template #footer>
@@ -34,16 +35,19 @@
 import { shallowRef } from 'vue'
 import { CellGroup, Button, Field, Form, FormInstance, FieldRule, showFailToast } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
-import { useDoBankSign } from '@/business/bank'
-import AppSelect from '../../../../../components/base/select/index.vue'
+import { useDoBankSign, useDoCusBankExtendConfigs } from '@/business/bank'
 import { validateRules } from '@/constants/regex'
 import { useErrorInfoStore } from '@/stores'
+import { useUserStore } from '@/stores'
 import AppModal from '@/components/base/modal/index.vue'
+import AppSelect from '../../../../../components/base/select/index.vue'
 
 const { formData, onSubmit, banklist, bankInfo } = useDoBankSign()
 const showModal = shallowRef(true)
 const refresh = shallowRef(false) // 是否刷新父组件数据
 const formRef = shallowRef<FormInstance>()
+const { configs } = useDoCusBankExtendConfigs(1)
+const userStore = useUserStore()
 
 const props = defineProps({
     isedit: {
@@ -82,6 +86,13 @@ const formRules: { [key in keyof Proto.t2bBankSignReq]?: FieldRule[] } = {
 
 const formSubmit = () => {
     fullloading((hideLoading) => {
+        const obj:{[key:string]:unknown}=Object.create({})
+        configs.value.forEach((e)=>{
+            if(e.value){
+                obj[e.fieldcode]=e.value
+            }
+        })
+        formData.extend_info = JSON.stringify(obj)
         onSubmit().then(() => {
             hideLoading()
             dialog(props.isedit ? '签约信息修改提交成功' : '签约提交成功,请耐心等待审核。').then(() => {

+ 20 - 5
src/packages/mobile/views/bank/wallet/components/deposit/Index.vue

@@ -9,6 +9,10 @@
                         <app-uploader @success="onUploadSuccess" />
                     </template>
                 </Field>
+                <template v-for="(item, index) in configs" :key="index">
+                    <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype" :name="item.fieldcode" 
+                       :label="item.fieldname" v-model="item.value" :placeholder="`请输入${ item.fieldname }`" />
+                </template>
             </CellGroup>
         </Form>
         <div class="g-form__time">
@@ -62,20 +66,23 @@
 </template>
 
 <script lang="ts" setup>
-import { shallowRef } from 'vue'
+import { shallowRef, ref } from 'vue'
 import { Form, Field, CellGroup, Button, FieldRule, FormInstance, showFailToast, showSuccessToast } from 'vant'
-import { useDoDeposit } from '@/business/bank'
+import { useDoDeposit, useDoCusBankExtendConfigs } from '@/business/bank'
 import { fullloading, dialog } from '@/utils/vant'
 import { useNavigation } from '../../../../../router/navigation'
 import { useUserStore } from '@/stores'
 import AppUploader from '../../../../../components/base/uploader/index.vue'
 
 const formRef = shallowRef<FormInstance>()
-const { formData, onSubmit, extendInfo } = useDoDeposit()
+const { formData, onSubmit } = useDoDeposit()
 const { router } = useNavigation()
 const { getSystemParamValue } = useUserStore()
 const start = getSystemParamValue('012')
 const end = getSystemParamValue('013')
+const { configs } = useDoCusBankExtendConfigs(2)
+const certificate_photo_url = ref('')
+const userStore = useUserStore()
 
 // 表单验证规则
 const formRules: { [key in keyof Proto.t2bBankDepositReq | 'filePath']?: FieldRule[] } = {
@@ -86,7 +93,7 @@ const formRules: { [key in keyof Proto.t2bBankDepositReq | 'filePath']?: FieldRu
     filePath: [{
         message: '请上传转账凭证',
         validator: () => {
-            return !!extendInfo.certificate_photo_url
+            return !!certificate_photo_url.value
         }
     }]
 }
@@ -100,11 +107,19 @@ const onCopy = (status: boolean) => {
 }
 
 const onUploadSuccess = (filePath: string) => {
-    extendInfo.certificate_photo_url = filePath
+    certificate_photo_url.value = filePath
 }
 
 const formSubmit = () => {
     fullloading((hideLoading) => {
+        const obj:{[key:string]:unknown}=Object.create({})
+        configs.value.forEach((e)=>{
+            if(e.value){
+                obj[e.fieldcode]=e.value
+            }
+        })
+        obj['certificate_photo_url'] = certificate_photo_url.value
+        formData.extend_info = JSON.stringify(obj)
         onSubmit().then(() => {
             hideLoading()
             dialog('充值申请提交成功,请等待审核。').then(() => {

+ 14 - 6
src/packages/mobile/views/bank/wallet/components/withdraw/Index.vue

@@ -23,11 +23,10 @@
                         {{ sign.bankaccountname }}
                     </template>
                 </Field>
-                <Field label="支行名称">
-                    <template #input>
-                        {{ sign.branchbankname }}
-                    </template>
-                </Field>
+                <template v-for="(item, index) in configs" :key="index">
+                    <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype" :name="item.fieldcode" 
+                       :label="item.fieldname" v-model="item.value" :placeholder="`请输入${ item.fieldname }`" />
+                </template>
             </CellGroup>
         </Form>
         <div class="g-form__time">
@@ -42,7 +41,7 @@
 </template>
 
 <script lang="ts" setup>
-import { useDoWithdraw, useAccountFundInfo } from '@/business/bank';
+import { useDoWithdraw, useAccountFundInfo, useDoCusBankExtendConfigs } from '@/business/bank';
 import { Form, Field, CellGroup, FormInstance, Button, FieldRule } from 'vant'
 import { shallowRef } from 'vue'
 import { fullloading, dialog } from '@/utils/vant'
@@ -50,6 +49,7 @@ import { useNavigation } from '../../../../../router/navigation'
 import { useUserStore } from '@/stores'
 
 const { formData, onSubmit, sign } = useDoWithdraw()
+const { configs } = useDoCusBankExtendConfigs(3)
 /// 资金账户信息
 const { fund } = useAccountFundInfo()
 const { router } = useNavigation()
@@ -57,6 +57,7 @@ const formRef = shallowRef<FormInstance>()
 const { getSystemParamValue } = useUserStore()
 const start = getSystemParamValue('012')
 const end = getSystemParamValue('013')
+const userStore = useUserStore()
 
 // 表单验证规则
 const formRules: { [key in keyof Proto.t2bBankWithdrawReq]?: FieldRule[] } = {
@@ -73,6 +74,13 @@ const formRules: { [key in keyof Proto.t2bBankWithdrawReq]?: FieldRule[] } = {
 }
 
 const formSubmit = () => {
+    const obj:{[key:string]:unknown}=Object.create({})
+    configs.value.forEach((e)=>{
+        if(e.value){
+            obj[e.fieldcode]=e.value
+        }
+    })
+    formData.extend_info = JSON.stringify(obj)
     fullloading((hideLoading) => {
         onSubmit().then(() => {
             hideLoading()

+ 20 - 12
src/packages/pc/views/account/sign/components/sign/index.vue

@@ -1,8 +1,8 @@
 <!-- 账户管理-签约账号管理-签约 -->
 <template>
-    <app-drawer :title="bankInfo ? '修改签约账户' : '添加签约账户'" :width="460" v-model:show="show" :loading="loading"
+    <app-drawer :title="bankInfo ? '修改签约账户' : '添加签约账户'" :width="800" v-model:show="show" :loading="loading"
         :refresh="refresh">
-        <el-form ref="formRef" class="el-form--vertical" label-width="100px" :model="formData" :rules="formRules">
+        <el-form ref="formRef" class="el-form--horizontal" label-width="150px" :model="formData" :rules="formRules">
             <el-form-item label="开户银行" prop="OpenBankAccId">
                 <el-select v-model="formData.OpenBankAccId">
                     <el-option :label="item.bankname" :value="item.bankid" v-for="(item, index) in banklist" :key="index" />
@@ -16,10 +16,11 @@
                 <el-input name="BankAccountName" readonly placeholder="银行卡账户名" v-model="formData.BankAccountName"
                     :rules="formRules.BankAccountName" />
             </el-form-item>
-            <el-form-item label="支行名称" prop="BranchBankName">
-                <el-input name="BranchBankName" placeholder="请输入银行卡支行名称" :maxlength="20" v-model="formData.OpenBankName"
-                    :rules="formRules.OpenBankName" />
-            </el-form-item>
+            <template v-for="(item, index) in configs" :key="index">
+                <el-form-item :label="item.fieldname" :prop="item.fieldcode" v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype">
+                    <el-input :name="item.fieldcode" placeholder="请输入" v-model="item.value" />
+                </el-form-item>
+            </template>
         </el-form>
         <template #footer>
             <el-button type="info" @click="onCancel(false)">取消</el-button>
@@ -32,9 +33,10 @@
 import { ref } from 'vue'
 import { ElMessage } from 'element-plus'
 import type { FormInstance, FormRules } from 'element-plus'
-import { useDoBankSign } from '@/business/bank'
+import { useDoBankSign, useDoCusBankExtendConfigs } from '@/business/bank'
 import { useErrorInfoStore } from '@/stores'
 import { validateRules } from '@/constants/regex'
+import { useUserStore } from '@/stores'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
 
 const formRules: FormRules = {
@@ -58,15 +60,13 @@ const formRules: FormRules = {
     BankAccountName: [{
         required: true,
         message: '请输入银行卡账户名',
-    }],
-    OpenBankName: [{
-        required: true,
-        message: '请输入银行卡支行名称'
-    }],
+    }]
 }
 
 const { formData, onSubmit, banklist, bankInfo, loading } = useDoBankSign()
+const { configs } = useDoCusBankExtendConfigs(1)
 
+const userStore = useUserStore()
 const show = ref(true)
 const refresh = ref(false)
 const formRef = ref<FormInstance>()
@@ -80,6 +80,14 @@ const formSubmit = () => {
     formRef.value?.validate((valid) => {
         if (valid) {
             if (formData.CusBankID) {
+                const obj:{[key:string]:unknown}=Object.create({})
+                configs.value.forEach((e)=>{
+                    if(e.value){
+                        obj[e.fieldcode]=e.value
+                    }
+                })
+                formData.extend_info = JSON.stringify(obj)
+                
                 onSubmit().then(() => {
                     ElMessage.success(bankInfo ? '签约信息修改成功' : '签约提交成功,请耐心等待审核。')
                     onCancel(true)

+ 0 - 1
src/packages/pc/views/account/sign/index.vue

@@ -86,7 +86,6 @@ onMounted(() => {
         // 获取用户账号信息
         queryUserAccount().then((res) => {
             authStatus.value = res.data.hasauth
-            console.log(res.data.hasauth)
         })
     }
 })

+ 20 - 3
src/packages/pc/views/footer/capital/summary/deposit/index.vue

@@ -10,6 +10,11 @@
             <el-form-item label="凭证" prop="filePath">
                 <app-upload :file-types="['image']" type-message="请选择正确的图片类型" @change="onUploadChange" />
             </el-form-item>
+            <template v-for="(item, index) in configs" :key="index">
+                <el-form-item :label="item.fieldname" :prop="item.fieldcode" v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype">
+                    <el-input :name="item.fieldcode" placeholder="请输入" v-model="item.value" />
+                </el-form-item>
+            </template>
         </el-form>
         <template #footer>
             <el-button type="info" @click="onCancel(false)">取消</el-button>
@@ -21,7 +26,8 @@
 <script lang="ts" setup>
 import { ref, PropType } from 'vue'
 import { ElMessage, FormInstance, FormRules } from 'element-plus'
-import { useDoDeposit } from '@/business/bank'
+import { useDoDeposit, useDoCusBankExtendConfigs } from '@/business/bank'
+import { useUserStore } from '@/stores'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
 import AppUpload from '@pc/components/base/upload/index.vue'
 
@@ -32,17 +38,20 @@ const props = defineProps({
     }
 })
 
-const { formData, onSubmit, extendInfo, loading } = useDoDeposit(props.selectedRow.userid)
+const { formData, onSubmit, loading } = useDoDeposit(props.selectedRow.userid)
+const { configs } = useDoCusBankExtendConfigs(2)
 const show = ref(true)
 const refresh = ref(false)
 const formRef = ref<FormInstance>()
+const userStore = useUserStore()
+const certificate_photo_url = ref('')
 
 const formRules: FormRules = {
     Amount: [{ required: true, message: '请输入充值金额' }],
 }
 
 const onUploadChange = (file: { filePath: string }) => {
-    extendInfo.certificate_photo_url = file.filePath
+    certificate_photo_url.value = file.filePath
 }
 
 const onCancel = (isRefresh = false) => {
@@ -54,6 +63,14 @@ const formSubmit = () => {
     formRef.value?.validate((valid) => {
         if (valid) {
             if (formData.CusBankID) {
+                const obj:{[key:string]:unknown}=Object.create({})
+                configs.value.forEach((e)=>{
+                    if(e.value){
+                        obj[e.fieldcode]=e.value
+                    }
+                })
+                obj['certificate_photo_url'] = certificate_photo_url.value
+                formData.extend_info = JSON.stringify(obj)
                 onSubmit().then(() => {
                     ElMessage.success('提交成功')
                     onCancel(true)

+ 16 - 2
src/packages/pc/views/footer/capital/summary/withdraw/index.vue

@@ -11,6 +11,11 @@
             <el-form-item label="提现金额" prop="Amount">
                 <el-input-number placeholder="请输入提现金额" :precision="2" v-model="formData.Amount" />
             </el-form-item>
+            <template v-for="(item, index) in configs" :key="index">
+                <el-form-item :label="item.fieldname" :prop="item.fieldcode" v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype">
+                    <el-input :name="item.fieldcode" placeholder="请输入" v-model="item.value" />
+                </el-form-item>
+            </template>
             <!-- <el-form-item label="金额大写">
                 <span>壹万元</span>
             </el-form-item> -->
@@ -28,8 +33,8 @@
 <script lang="ts" setup>
 import { ref } from 'vue'
 import { ElMessage, FormInstance, FormRules } from 'element-plus'
-import { useDoWithdraw, useAccountFundInfo } from '@/business/bank'
-import { useAccountStore } from '@/stores'
+import { useDoWithdraw, useAccountFundInfo, useDoCusBankExtendConfigs } from '@/business/bank'
+import { useAccountStore, useUserStore } from '@/stores'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
 
 const { loading, formData, onSubmit } = useDoWithdraw()
@@ -37,6 +42,8 @@ const accountStore = useAccountStore()
 const formRef = ref<FormInstance>()
 const show = ref(true)
 const refresh = ref(false)
+const userStore = useUserStore()
+const { configs } = useDoCusBankExtendConfigs(3)
 /// 资金账户信息
 const { fund } = useAccountFundInfo()
 
@@ -62,6 +69,13 @@ const onCancel = (isRefresh = false) => {
 const formSubmit = () => {
     formRef.value?.validate((valid) => {
         if (valid) {
+            const obj:{[key:string]:unknown}=Object.create({})
+            configs.value.forEach((e)=>{
+                if(e.value){
+                    obj[e.fieldcode]=e.value
+                }
+            })
+            formData.extend_info = JSON.stringify(obj)
             if (formData.CusBankID) {
                 onSubmit().then(() => {
                     ElMessage.success('提交成功')

+ 2 - 2
src/packages/pc/views/footer/presell/transferposition/listing/index.vue

@@ -1,7 +1,7 @@
 <!-- 预售转让-转让持仓-转让 -->
 <template>
-    <app-drawer title="转让" v-model:show="show" :loading="loading" :refresh="refresh" :width="500">
-        <el-form ref="formRef" class="el-form--vertical" label-width="120px" label-position="left" :model="formData"
+    <app-drawer title="转让" v-model:show="show" :loading="loading" :refresh="refresh" :width="800">
+        <el-form ref="formRef" class="el-form--horizontal" label-width="120px" label-position="left" :model="formData"
             :rules="formRules">
             <el-form-item label="商品代码/名称">
                 <span>{{ detail.goodscode }}/{{ detail.goodsname }}</span>

+ 2 - 2
src/packages/pc/views/footer/spot/position/components/listing/index.vue

@@ -1,7 +1,7 @@
 <!-- 现货仓单-现货明细-挂牌 -->
 <template>
-    <app-drawer title="挂牌" v-model:show="show" :loading="loading" :refresh="refresh" :width="500">
-        <el-form ref="formRef" class="el-form--vertical" label-width="120px" label-position="left" :model="formData"
+    <app-drawer title="挂牌" v-model:show="show" :loading="loading" :refresh="refresh" :width="800">
+        <el-form ref="formRef" class="el-form--horizontal" label-width="120px" label-position="left" :model="formData"
             :rules="formRules">
             <el-form-item label="商品代码/名称">
                 <span>{{ selectedRow.wrstandardcode }}/{{ selectedRow.wrstandardname }}</span>

+ 15 - 4
src/packages/qxst/views/bank/sign/components/edit/Index.vue

@@ -16,8 +16,9 @@
                         :rules="formRules.BankAccountNo" />
                     <Field name="AccountName" label="姓名" readonly v-model="formData.BankAccountName" placeholder="请输入银行卡账户名"
                         :rules="formRules.BankAccountName" />
-                    <Field name="BranchBankName" label="支行名称" v-model="formData.OpenBankName" placeholder="请输入银行卡支行名称"
-                        :rules="formRules.OpenBankName" />
+                    <template v-for="(item, index) in configs" :key="index">
+                        <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype" :name="item.fieldcode" :label="item.fieldname" v-model="item.value" :placeholder="`请输入${ item.fieldname }`" />
+                    </template>
                 </CellGroup>
             </Form>
             <template #footer>
@@ -34,16 +35,19 @@
 import { shallowRef } from 'vue'
 import { CellGroup, Button, Field, Form, FormInstance, FieldRule, showFailToast } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
-import { useDoBankSign } from '@/business/bank'
-import AppSelect from '../../../../../components/base/select/index.vue'
+import { useDoBankSign, useDoCusBankExtendConfigs } from '@/business/bank'
 import { validateRules } from '@/constants/regex'
 import { useErrorInfoStore } from '@/stores'
+import { useUserStore } from '@/stores'
 import AppModal from '@/components/base/modal/index.vue'
+import AppSelect from '../../../../../components/base/select/index.vue'
 
 const { formData, onSubmit, banklist, bankInfo } = useDoBankSign()
 const showModal = shallowRef(true)
 const refresh = shallowRef(false) // 是否刷新父组件数据
 const formRef = shallowRef<FormInstance>()
+const { configs } = useDoCusBankExtendConfigs(1)
+const userStore = useUserStore()
 
 const props = defineProps({
     isedit: {
@@ -82,6 +86,13 @@ const formRules: { [key in keyof Proto.t2bBankSignReq]?: FieldRule[] } = {
 
 const formSubmit = () => {
     fullloading((hideLoading) => {
+        const obj:{[key:string]:unknown}=Object.create({})
+        configs.value.forEach((e)=>{
+            if(e.value){
+                obj[e.fieldcode]=e.value
+            }
+        })
+        formData.extend_info = JSON.stringify(obj)
         onSubmit().then(() => {
             hideLoading()
             dialog(props.isedit ? '签约信息修改提交成功' : '签约提交成功,请耐心等待审核。').then(() => {

+ 20 - 5
src/packages/qxst/views/bank/wallet/components/deposit/Index.vue

@@ -9,6 +9,10 @@
                         <app-uploader @success="onUploadSuccess" />
                     </template>
                 </Field>
+                <template v-for="(item, index) in configs" :key="index">
+                    <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype" :name="item.fieldcode" 
+                       :label="item.fieldname" v-model="item.value" :placeholder="`请输入${ item.fieldname }`" />
+                </template>
             </CellGroup>
         </Form>
         <div class="g-form__time">
@@ -62,20 +66,23 @@
 </template>
 
 <script lang="ts" setup>
-import { shallowRef } from 'vue'
+import { shallowRef, ref } from 'vue'
 import { Form, Field, CellGroup, Button, FieldRule, FormInstance, showFailToast, showSuccessToast } from 'vant'
-import { useDoDeposit } from '@/business/bank'
+import { useDoDeposit, useDoCusBankExtendConfigs } from '@/business/bank'
 import { fullloading, dialog } from '@/utils/vant'
 import { useNavigation } from '../../../../../router/navigation'
 import { useUserStore } from '@/stores'
 import AppUploader from '../../../../../components/base/uploader/index.vue'
 
 const formRef = shallowRef<FormInstance>()
-const { formData, onSubmit, extendInfo } = useDoDeposit()
+const { formData, onSubmit } = useDoDeposit()
 const { router } = useNavigation()
 const { getSystemParamValue } = useUserStore()
 const start = getSystemParamValue('012')
 const end = getSystemParamValue('013')
+const { configs } = useDoCusBankExtendConfigs(2)
+const certificate_photo_url = ref('')
+const userStore = useUserStore()
 
 // 表单验证规则
 const formRules: { [key in keyof Proto.t2bBankDepositReq | 'filePath']?: FieldRule[] } = {
@@ -86,7 +93,7 @@ const formRules: { [key in keyof Proto.t2bBankDepositReq | 'filePath']?: FieldRu
     filePath: [{
         message: '请上传转账凭证',
         validator: () => {
-            return !!extendInfo.certificate_photo_url
+            return !!certificate_photo_url.value
         }
     }]
 }
@@ -100,11 +107,19 @@ const onCopy = (status: boolean) => {
 }
 
 const onUploadSuccess = (filePath: string) => {
-    extendInfo.certificate_photo_url = filePath
+    certificate_photo_url.value = filePath
 }
 
 const formSubmit = () => {
     fullloading((hideLoading) => {
+        const obj:{[key:string]:unknown}=Object.create({})
+        configs.value.forEach((e)=>{
+            if(e.value){
+                obj[e.fieldcode]=e.value
+            }
+        })
+        obj['certificate_photo_url'] = certificate_photo_url.value
+        formData.extend_info = JSON.stringify(obj)
         onSubmit().then(() => {
             hideLoading()
             dialog('充值申请提交成功,请等待审核。').then(() => {

+ 14 - 6
src/packages/qxst/views/bank/wallet/components/withdraw/Index.vue

@@ -23,11 +23,10 @@
                         {{ sign.bankaccountname }}
                     </template>
                 </Field>
-                <Field label="支行名称">
-                    <template #input>
-                        {{ sign.branchbankname }}
-                    </template>
-                </Field>
+                <template v-for="(item, index) in configs" :key="index">
+                    <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype" :name="item.fieldcode" 
+                       :label="item.fieldname" v-model="item.value" :placeholder="`请输入${ item.fieldname }`" />
+                </template>
             </CellGroup>
         </Form>
         <div class="g-form__time">
@@ -42,7 +41,7 @@
 </template>
 
 <script lang="ts" setup>
-import { useDoWithdraw, useAccountFundInfo } from '@/business/bank';
+import { useDoWithdraw, useAccountFundInfo, useDoCusBankExtendConfigs } from '@/business/bank';
 import { Form, Field, CellGroup, FormInstance, Button, FieldRule } from 'vant'
 import { shallowRef } from 'vue'
 import { fullloading, dialog } from '@/utils/vant'
@@ -50,6 +49,7 @@ import { useNavigation } from '../../../../../router/navigation'
 import { useUserStore } from '@/stores'
 
 const { formData, onSubmit, sign } = useDoWithdraw()
+const { configs } = useDoCusBankExtendConfigs(3)
 /// 资金账户信息
 const { fund } = useAccountFundInfo()
 const { router } = useNavigation()
@@ -57,6 +57,7 @@ const formRef = shallowRef<FormInstance>()
 const { getSystemParamValue } = useUserStore()
 const start = getSystemParamValue('012')
 const end = getSystemParamValue('013')
+const userStore = useUserStore()
 
 // 表单验证规则
 const formRules: { [key in keyof Proto.t2bBankWithdrawReq]?: FieldRule[] } = {
@@ -73,6 +74,13 @@ const formRules: { [key in keyof Proto.t2bBankWithdrawReq]?: FieldRule[] } = {
 }
 
 const formSubmit = () => {
+    const obj:{[key:string]:unknown}=Object.create({})
+    configs.value.forEach((e)=>{
+        if(e.value){
+            obj[e.fieldcode]=e.value
+        }
+    })
+    formData.extend_info = JSON.stringify(obj)
     fullloading((hideLoading) => {
         onSubmit().then(() => {
             hideLoading()

+ 15 - 4
src/packages/sbyj/views/bank/sign/components/edit/Index.vue

@@ -16,8 +16,9 @@
                         :rules="formRules.BankAccountNo" />
                     <Field name="AccountName" label="姓名" readonly v-model="formData.BankAccountName" placeholder="请输入银行卡账户名"
                         :rules="formRules.BankAccountName" />
-                    <Field name="BranchBankName" label="支行名称" v-model="formData.OpenBankName" placeholder="请输入银行卡支行名称"
-                        :rules="formRules.OpenBankName" />
+                    <template v-for="(item, index) in configs" :key="index">
+                        <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype" :name="item.fieldcode" :label="item.fieldname" v-model="item.value" :placeholder="`请输入${ item.fieldname }`" />
+                    </template>
                 </CellGroup>
             </Form>
             <template #footer>
@@ -34,16 +35,19 @@
 import { shallowRef } from 'vue'
 import { CellGroup, Button, Field, Form, FormInstance, FieldRule, showFailToast } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
-import { useDoBankSign } from '@/business/bank'
-import AppSelect from '../../../../../components/base/select/index.vue'
+import { useDoBankSign, useDoCusBankExtendConfigs } from '@/business/bank'
 import { validateRules } from '@/constants/regex'
 import { useErrorInfoStore } from '@/stores'
+import { useUserStore } from '@/stores'
 import AppModal from '@/components/base/modal/index.vue'
+import AppSelect from '../../../../../components/base/select/index.vue'
 
 const { formData, onSubmit, banklist, bankInfo } = useDoBankSign()
 const showModal = shallowRef(true)
 const refresh = shallowRef(false) // 是否刷新父组件数据
 const formRef = shallowRef<FormInstance>()
+const { configs } = useDoCusBankExtendConfigs(1)
+const userStore = useUserStore()
 
 const props = defineProps({
     isedit: {
@@ -82,6 +86,13 @@ const formRules: { [key in keyof Proto.t2bBankSignReq]?: FieldRule[] } = {
 
 const formSubmit = () => {
     fullloading((hideLoading) => {
+        const obj:{[key:string]:unknown}=Object.create({})
+        configs.value.forEach((e)=>{
+            if(e.value){
+                obj[e.fieldcode]=e.value
+            }
+        })
+        formData.extend_info = JSON.stringify(obj)
         onSubmit().then(() => {
             hideLoading()
             dialog(props.isedit ? '签约信息修改提交成功' : '签约提交成功,请耐心等待审核。').then(() => {

+ 3 - 3
src/packages/sbyj/views/bank/statement/Index.vue

@@ -25,10 +25,10 @@
 import { shallowRef } from 'vue'
 import { formatDate } from '@/filters'
 import { useRequest } from '@/hooks/request'
-import { useNavigation } from '@/packages/sbyj/router/navigation'
+import { useNavigation } from '../../../router/navigation'
 import { queryAmountLog } from '@/services/api/bank'
-import AppPullRefresh from '@/packages/sbyj/components/base/pull-refresh/index.vue'
-import AppList from '@/packages/sbyj/components/base/list/index.vue'
+import AppPullRefresh from '../../../components/base/pull-refresh/index.vue'
+import AppList from '../../../components/base/list/index.vue'
 
 const { routerTo } = useNavigation()
 const dataList = shallowRef<Model.AmountLogRsp[]>([])

+ 2 - 2
src/packages/sbyj/views/bank/statement/history/Index.vue

@@ -20,8 +20,8 @@ import { shallowRef } from 'vue'
 import { formatDate } from '@/filters'
 import { useRequest } from '@/hooks/request'
 import { queryHisAmountLog } from '@/services/api/bank'
-import AppPullRefresh from '@/packages/sbyj/components/base/pull-refresh/index.vue'
-import AppList from '@/packages/sbyj/components/base/list/index.vue'
+import AppPullRefresh from '../../../../components/base/pull-refresh/index.vue'
+import AppList from '../../../../components/base/list/index.vue'
 
 const dataList = shallowRef<Model.HisAmountLogRsp[]>([])
 const error = shallowRef(false)

+ 1 - 1
src/packages/sbyj/views/bank/wallet/Index.vue

@@ -17,7 +17,7 @@
 <script lang="ts" setup>
 import { shallowRef } from 'vue'
 import { Tab, Tabs } from 'vant'
-import { useNavigation } from '@/packages/sbyj/router/navigation'
+import { useNavigation } from '../../../router/navigation'
 import AppDeposit from './components/deposit/Index.vue'
 import AppWithdraw from './components/withdraw/Index.vue'
 

+ 20 - 5
src/packages/sbyj/views/bank/wallet/components/deposit/Index.vue

@@ -9,6 +9,10 @@
                         <app-uploader @success="onUploadSuccess" />
                     </template>
                 </Field>
+                <template v-for="(item, index) in configs" :key="index">
+                    <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype" :name="item.fieldcode" 
+                       :label="item.fieldname" v-model="item.value" :placeholder="`请输入${ item.fieldname }`" />
+                </template>
             </CellGroup>
         </Form>
         <div class="g-form__time">
@@ -62,20 +66,23 @@
 </template>
 
 <script lang="ts" setup>
-import { shallowRef } from 'vue'
+import { shallowRef, ref } from 'vue'
 import { Form, Field, CellGroup, Button, FieldRule, FormInstance, showFailToast, showSuccessToast } from 'vant'
-import { useDoDeposit } from '@/business/bank'
+import { useDoDeposit, useDoCusBankExtendConfigs } from '@/business/bank'
 import { fullloading, dialog } from '@/utils/vant'
 import { useNavigation } from '../../../../../router/navigation'
 import { useUserStore } from '@/stores'
 import AppUploader from '../../../../../components/base/uploader/index.vue'
 
 const formRef = shallowRef<FormInstance>()
-const { formData, onSubmit, extendInfo } = useDoDeposit()
+const { formData, onSubmit } = useDoDeposit()
 const { router } = useNavigation()
 const { getSystemParamValue } = useUserStore()
 const start = getSystemParamValue('012')
 const end = getSystemParamValue('013')
+const { configs } = useDoCusBankExtendConfigs(2)
+const certificate_photo_url = ref('')
+const userStore = useUserStore()
 
 // 表单验证规则
 const formRules: { [key in keyof Proto.t2bBankDepositReq | 'filePath']?: FieldRule[] } = {
@@ -86,7 +93,7 @@ const formRules: { [key in keyof Proto.t2bBankDepositReq | 'filePath']?: FieldRu
     filePath: [{
         message: '请上传转账凭证',
         validator: () => {
-            return !!extendInfo.certificate_photo_url
+            return !!certificate_photo_url.value
         }
     }]
 }
@@ -100,11 +107,19 @@ const onCopy = (status: boolean) => {
 }
 
 const onUploadSuccess = (filePath: string) => {
-    extendInfo.certificate_photo_url = filePath
+    certificate_photo_url.value = filePath
 }
 
 const formSubmit = () => {
     fullloading((hideLoading) => {
+        const obj:{[key:string]:unknown}=Object.create({})
+        configs.value.forEach((e)=>{
+            if(e.value){
+                obj[e.fieldcode]=e.value
+            }
+        })
+        obj['certificate_photo_url'] = certificate_photo_url.value
+        formData.extend_info = JSON.stringify(obj)
         onSubmit().then(() => {
             hideLoading()
             dialog('充值申请提交成功,请等待审核。').then(() => {

+ 16 - 8
src/packages/sbyj/views/bank/wallet/components/withdraw/Index.vue

@@ -23,11 +23,10 @@
                         {{ sign.bankaccountname }}
                     </template>
                 </Field>
-                <Field label="支行名称">
-                    <template #input>
-                        {{ sign.branchbankname }}
-                    </template>
-                </Field>
+                <template v-for="(item, index) in configs" :key="index">
+                    <Field v-if="item.usabletype === 1 || item.usabletype === userStore.userInfo?.userinfotype" :name="item.fieldcode" 
+                       :label="item.fieldname" v-model="item.value" :placeholder="`请输入${ item.fieldname }`" />
+                </template>
             </CellGroup>
         </Form>
         <div class="g-form__time">
@@ -35,21 +34,22 @@
         </div>
         <template #footer>
             <div class="g-form__footer inset">
-                <Button round block type="primary" @click="formRef?.submit()">确定</Button>
+                <Button round block type="danger" @click="formRef?.submit()">确定</Button>
             </div>
         </template>
     </app-view>
 </template>
 
 <script lang="ts" setup>
-import { useDoWithdraw, useAccountFundInfo } from '@/business/bank';
+import { useDoWithdraw, useAccountFundInfo, useDoCusBankExtendConfigs } from '@/business/bank';
 import { Form, Field, CellGroup, FormInstance, Button, FieldRule } from 'vant'
 import { shallowRef } from 'vue'
 import { fullloading, dialog } from '@/utils/vant'
-import { useNavigation } from '@/packages/sbyj/router/navigation'
+import { useNavigation } from '../../../../../router/navigation'
 import { useUserStore } from '@/stores'
 
 const { formData, onSubmit, sign } = useDoWithdraw()
+const { configs } = useDoCusBankExtendConfigs(3)
 /// 资金账户信息
 const { fund } = useAccountFundInfo()
 const { router } = useNavigation()
@@ -57,6 +57,7 @@ const formRef = shallowRef<FormInstance>()
 const { getSystemParamValue } = useUserStore()
 const start = getSystemParamValue('012')
 const end = getSystemParamValue('013')
+const userStore = useUserStore()
 
 // 表单验证规则
 const formRules: { [key in keyof Proto.t2bBankWithdrawReq]?: FieldRule[] } = {
@@ -73,6 +74,13 @@ const formRules: { [key in keyof Proto.t2bBankWithdrawReq]?: FieldRule[] } = {
 }
 
 const formSubmit = () => {
+    const obj:{[key:string]:unknown}=Object.create({})
+    configs.value.forEach((e)=>{
+        if(e.value){
+            obj[e.fieldcode]=e.value
+        }
+    })
+    formData.extend_info = JSON.stringify(obj)
     fullloading((hideLoading) => {
         onSubmit().then(() => {
             hideLoading()

+ 12 - 0
src/services/api/bank/index.ts

@@ -131,3 +131,15 @@ export function queryAmountLog(config: RequestConfig<Model.AmountLogReq> = {}) {
     })
 }
 
+/**
+ * 查询托管银行扩展配置信息
+ */
+export function queryBankCusBankExtendConfigs(config: RequestConfig<Model.BankCusBankExtendConfigReq> = {}) {
+    return http.commonRequest<Model.BankCusBankExtendConfigRsp[]>({
+        url: '/Bank/QueryBankCusBankExtendConfigs',
+        params: {
+            ...config.data
+        },
+    })
+}
+

+ 30 - 0
src/types/model/bank.d.ts

@@ -377,4 +377,34 @@ declare namespace Model {
         /// 文件路径
         faceUrl: string
     }
+
+    /// 查询托管银行扩展配置信息-回应
+    interface BankCusBankExtendConfigReq {
+        /// 扩展业务类型 - 1:签约 2:入金 3:出金 4:签约信息修改
+        extendbiztype?: number
+        /// 托管银行编号
+        cusbankid?: string
+    }
+
+    /// 查询托管银行扩展配置信息-回应
+    interface BankCusBankExtendConfigRsp {
+        /// 托管银行编号
+        cusbankid: string
+        /// 扩展业务类型 - 1:签约 2:入金 3:出金 4:签约信息修改
+        extendbiztype: number
+        /// 字段代码
+        fieldcode: string
+        /// 字段ID
+        fieldid: number
+        /// 字段名称
+        fieldname: string
+        /// 字段类型 - 1:扩展字段 2:协议字段
+        fieldtype: number
+        /// 是否必填 - 0:不必填 1:必填
+        ismandatory: number
+        /// 状态 - 0:正常 1:注销
+        status: number
+        /// 可用类型 - 1:通用 2:机构专用 3:投资者专用
+        usabletype: number
+    }
 }