Handy_Cao 2 年之前
父節點
當前提交
b06d88c99a

+ 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 }
+}

+ 19 - 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,13 @@ 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>

+ 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
+    }
 }