Browse Source

Merge branch 'v20' of http://192.168.31.240:3000/MTP2.0_New/MTP20_WEB_GLOBAL into v20

li.shaoyi 1 năm trước cách đây
mục cha
commit
c6a2fe23c6

+ 1 - 1
public/config/appconfig.json

@@ -4,7 +4,7 @@
   "appTitle": "多元世纪交易中心",
   "version": "1.0.8",
   "versionCode": "10008",
-  "apiUrl": "http://192.168.31.204:8080/cfg?key=test_204",
+  "apiUrl": "http://192.168.31.210:8080/cfg?key=test_210",
   "tradeChannel": "ws",
   "modules": [
     "register",

+ 15 - 12
src/business/bank/index.ts

@@ -141,8 +141,9 @@ export function useDoBankSign() {
     const bankInfo = shallowRef<Model.BankAccountSignRsp>()
     const banklist = shallowRef<Model.BankInfoRsp[]>([]) // 银行列表
     const system_1010 = shallowRef(getSystemParamValue('1010') ?? '1')
-    const cusSignBank = shallowRef<Model.CusBankSignBankRsp>() /// 托管银行信息
+    const cusBanks = shallowRef<Model.CusBankSignBankRsp[]>([]) /// 托管银行信息
     const system_1013 = shallowRef(getSystemParamValue('1013') ?? '30')
+    const selectCusBank = shallowRef<Model.CusBankSignBankRsp>() // 选中的托管银行
 
     const extendInfo = ref<{ [key: string]: string }>({}) // 银行扩展信息
 
@@ -174,17 +175,17 @@ export function useDoBankSign() {
     /// 查询签约银行信息
     const request = queryCusBankSignBank().then((res) => {
         if (res.data.length) {
-            const data = res.data[0]
-            cusSignBank.value = data
-            banklist.value = data.Banklst.filter(e => e.status == 0)
-
-            swsFormData.CusBankID = data.cusbankid
-            swsFormData.TradeDate = data.tradedate
+            // 默认选择第一个
+            selectCusBank.value = res.data[0]
+            cusBanks.value = res.data ?? []
+            banklist.value = selectCusBank.value.Banklst.filter(e => e.status == 0)
 
-            formData.Currency = data.currency
-            formData.CusBankID = data.cusbankid
-            formData.TradeDate = data.tradedate
+            swsFormData.CusBankID = selectCusBank.value.cusbankid
+            swsFormData.TradeDate = selectCusBank.value.tradedate
 
+            formData.Currency = selectCusBank.value.currency
+            formData.CusBankID = selectCusBank.value.cusbankid
+            formData.TradeDate = selectCusBank.value.tradedate
             // 查找银行是否存在
             const bankItem = banklist.value.find(obj => obj.bankid === formData.OpenBankAccId)
             if (bankItem) {
@@ -256,13 +257,15 @@ export function useDoBankSign() {
     return {
         loading,
         formData,
-        banklist,
+        selectCusBank,
         onSubmit,
         smsVerificationCode,
         system_1010,
         system_1013,
         bankInfo,
-        extendInfo
+        extendInfo,
+        swsFormData,
+        cusBanks
     }
 }
 

+ 1 - 0
src/packages/mobile/views/bank/sign/Index.vue

@@ -5,6 +5,7 @@
         </template>
         <div class="bank-sign__container" v-if="bankInfo">
             <CellGroup>
+                <Cell title="银行渠道" :value="handleNoneValue(bankInfo.cusbankname)" />
                 <Cell :title="$t('banksign.bankname')" :value="handleNoneValue(bankInfo.bankname)" />
                 <Cell :title="$t('banksign.bankaccountno')" :value="bankInfo.bankaccountno" />
                 <template v-if="bankInfo.signstatus === SignStatus.Signed">

+ 48 - 2
src/packages/mobile/views/bank/sign/components/edit/Index.vue

@@ -7,6 +7,7 @@
             </template>
             <Form ref="formRef" class="g-form__container" @submit="formSubmit">
                 <CellGroup inset>
+                    <Field label="银行渠道" v-model="cusBankName" name="cusBankName" :rules="formRules.CusBankID" @click-input="showCusBank = true" is-link />
                     <Field name="OpenBankAccId" :label="$t('banksign.bankname')" v-model="formData.ExBankName" readonly
                         v-if="!isedit && userInfo.bankid" />
                     <Field name="OpenBankAccId" :label="$t('banksign.bankname')" v-model="formData.ExBankName"
@@ -57,6 +58,15 @@
                                 :placeholder="$t('common.pleaseenter') + `${item.fieldname}`" />
                         </template>
                     </template>
+                    <Popup v-model:show="showCusBank" position="bottom" teleport="body" round>
+                        <Picker :columns="datalist" @cancel="showCusBank = false" @confirm="cusBankChange" :confirm-button-text="$t('operation.confirm')" :cancel-button-text="$t('operation.cancel')" >
+                            <template #option="{ text, index }">
+                                <slot name="option" :row="datalist[index]" :index="index">
+                                    <span>{{ text }}</span>
+                                </slot>
+                            </template>
+                        </Picker>
+                    </Popup>
                 </CellGroup>
             </Form>
             <template #footer>
@@ -73,7 +83,7 @@
 
 <script lang="ts" setup>
 import { shallowRef, ref, computed, defineAsyncComponent } from 'vue'
-import { CellGroup, Button, Field, Form, FormInstance, FieldRule, showFailToast } from 'vant'
+import { CellGroup, Button, Field, Form, FormInstance, FieldRule, showFailToast, Popup, Picker } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { useDoBankSign, useDoCusBankExtendConfigs } from '@/business/bank'
 import { validateRules } from '@/constants/regex'
@@ -93,18 +103,47 @@ const SelectBank = defineAsyncComponent(() => import('./select-bank/index.vue'))
 // 搜索支行
 const SearchBank = defineAsyncComponent(() => import('./search-bank/index.vue'))
 
-const { formData, onSubmit, banklist, bankInfo, extendInfo, system_1010, system_1013, smsVerificationCode } = useDoBankSign()
+const { formData, onSubmit, cusBanks, selectCusBank, swsFormData, bankInfo, extendInfo, system_1010, system_1013, smsVerificationCode } = useDoBankSign()
 const showModal = shallowRef(true)
 const refresh = shallowRef(false) // 是否刷新父组件数据
 const formRef = shallowRef<FormInstance>()
 const showSelect = shallowRef(false) // 弹出客户选择界面
 const showSearch = shallowRef(false) // 弹出客户搜索界面
+const showCusBank = shallowRef(false) // 弹出银行渠道
 const { configs } = useDoCusBankExtendConfigs(1)
 const userStore = useUserStore()
 const { userInfo } = userStore.$toRefs()
+const cusBankName = shallowRef('')
 
 const { global: { t } } = i18n
 
+const datalist = computed(() => {
+    return cusBanks.value.map(e => {
+        return { text: e.cusbankname, value: e.cusbankid }
+    })
+})
+
+const cusBankChange = ({ selectedOptions }) => {
+    showCusBank.value = false
+
+    formData.CusBankID = selectedOptions[0].value
+    selectCusBank.value = cusBanks.value.find(e => e.cusbankid === formData.CusBankID)
+    const { tradedate, currency, cusbankid, cusbankname } = selectCusBank.value ?? {}
+    cusBankName.value = cusbankname ?? ''
+    
+    formData.TradeDate = tradedate
+    formData.Currency = currency
+    formData.OpenBankAccId = undefined
+
+    swsFormData.CusBankID = cusbankid
+    swsFormData.TradeDate = tradedate
+}
+
+// 银行列表
+const banklist = computed(() => {
+    return cusBanks.value?.find(e => e.cusbankid === formData.CusBankID)?.Banklst.filter(e => e.status == 0 ) ?? []
+})
+
 // 倒计时函数
 const countdown = useCountDown({
     time: +system_1013 * 1000,
@@ -169,6 +208,13 @@ const onSearchBankChange = (item: Model.BankBranChnumInfoRsp) => {
 
 // 表单验证规则
 const formRules: { [key in keyof Proto.t2bBankSignReq]?: FieldRule[] } = {
+    CusBankID: [{
+        message: "请选择银行渠道",
+        required: true,
+        validator: () => {
+            return !!formData.CusBankID
+        }
+    }],
     OpenBankAccId: [{
         message: t('banksign.tips11'),
         validator: () => {

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

@@ -3,6 +3,12 @@
     <app-drawer :title="bankInfo?.signstatus != undefined ? t('banksign.modifybanksign') : t('banksign.addbanksign')"
         :width="800" v-model:show="show" :loading="loading" :refresh="refresh">
         <el-form ref="formRef" class="el-form--horizontal" label-width="120px" :model="formData" :rules="formRules">
+            <el-form-item label="银行渠道" prop="CusBankID">
+                <el-select effect="dark" v-model="formData.CusBankID" @change="cusBankChange">
+                    <el-option :label="item.cusbankname" :value="item.cusbankid" v-for="(item, index) in cusBanks"
+                        :key="index" />
+                </el-select>
+            </el-form-item>
             <el-form-item :label="t('banksign.OpenBankAccId')" prop="OpenBankAccId">
                 <el-select effect="dark" v-model="formData.OpenBankAccId" :readonly="bankaccount != ''">
                     <el-option :label="item.bankname" :value="item.bankid" v-for="(item, index) in banklist"
@@ -87,7 +93,7 @@ import AppDrawer from '@pc/components/base/drawer/index.vue'
 
 const { t } = i18n.global
 
-const { formData, onSubmit, banklist, bankInfo, extendInfo, loading, system_1010, smsVerificationCode } = useDoBankSign()
+const { formData, onSubmit, bankInfo, extendInfo, loading, system_1010, swsFormData, smsVerificationCode, cusBanks } = useDoBankSign()
 const { configs } = useDoCusBankExtendConfigs(1)
 
 const userStore = useUserStore()
@@ -111,6 +117,21 @@ const extendModel = computed(() => {
     return obj
 })
 
+const cusBankChange = () => {
+    const { tradedate, currency, cusbankid } = cusBanks.value?.find(e => e.cusbankid === formData.CusBankID) ?? {}
+    formData.TradeDate = tradedate
+    formData.Currency = currency
+    formData.OpenBankAccId = undefined
+
+    swsFormData.CusBankID = cusbankid
+    swsFormData.TradeDate = tradedate
+}
+
+// 银行列表
+const banklist = computed(() => {
+    return cusBanks.value?.find(e => e.cusbankid === formData.CusBankID)?.Banklst.filter(e => e.status == 0 ) ?? []
+})
+
 const formRules = computed(() => {
     const rules: FormRules = {
         OpenBankAccId: [{

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

@@ -80,7 +80,7 @@ const { loading, dataList, run } = useRequest(queryBankAccountSign, {
 })
 
 /// 查询用户掉期协议签署表
-const { dataList: protocolList} = useRequest(queryMdUserSwapProtocol, {
+const { dataList: protocolList } = useRequest(queryMdUserSwapProtocol, {
     params: {
         userId: getUserId()
     }

+ 1 - 1
src/packages/pc/views/footer/presell/transferposition/giveup/index.vue

@@ -18,7 +18,7 @@
                 <span>{{ handleNumberValue(quote?.limitdown) }}</span>
             </el-form-item>
             <el-form-item prop="OrderQty" :label="t('position.transfer.giveupqty')">
-                <el-input-number readonly :placeholder="t('position.transfer.tips4')" v-model="formData.Qty" :max="enableqty" :min="0" />
+                <span>{{ enableqty }}</span>
             </el-form-item>
         </el-form>
         <template #footer>

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

@@ -79,6 +79,7 @@ declare namespace Model {
         cardtype: string;//证件类型
         currency: string;//币种
         cusbankid: string;//托管银行编号
+        cusbankname: string; // 托管银行
         dealstatus: number // Log处理状态
         direct: number;//方向(可以判断那方先发起的签约)
         exchticket: string;//最后一次签约成功的流水号