li.shaoyi 9 kuukautta sitten
vanhempi
commit
159b866a19

+ 25 - 11
src/packages/pc/views/account/fundacct/components/sign/edit/index.vue

@@ -1,6 +1,7 @@
 <!-- 账号管理-资金账户管理-银行签约信息-编辑 -->
 <template>
-    <app-drawer :title="t('account.tradeacct.sign.edit.title')" width="900" v-model:show="show" :refresh="refresh" :loading="loading">
+    <app-drawer :title="t('account.tradeacct.sign.edit.title')" width="900" v-model:show="show" :refresh="refresh"
+        :loading="loading">
         <el-form ref="formRef" class="el-form--horizontal" label-width="140px" :model="formData" :rules="formRules"
             :show-message="false">
             <fieldset class="g-fieldset el-form--horizontal">
@@ -12,7 +13,10 @@
                     {{ userInfo.cardtypeid }}
                 </el-form-item>
                 <el-form-item :label="t('account.tradeacct.sign.edit.cusbankid')" prop="cusbankid">
-                    <app-select-cusbank v-model="formData.cusbankid" @change="onCusBankChange" />
+                    <el-select v-model="formData.cusbankid" placeholder="请选择" @change="onCusBankChange">
+                        <el-option v-for="item in cusbankList" :key="item.cusbankid" :label="item.cusbankname"
+                            :value="item.cusbankid" />
+                    </el-select>
                 </el-form-item>
                 <el-form-item :label="t('account.tradeacct.sign.edit.certid')" v-if="userInfo">
                     {{ handleNoneValue(formData.certid) }}
@@ -21,22 +25,26 @@
                     <app-select-bank v-model:selected="selectedBank" :cusbankid="formData.cusbankid"
                         @change="onBankChange" />
                 </el-form-item>
-                <el-form-item :label="userInfo.userinfotype === UserInfoType.Personal ? t('account.tradeacct.sign.edit.bankaccountno') : t('account.tradeacct.sign.edit.bankaccountno1')"
+                <el-form-item
+                    :label="userInfo.userinfotype === UserInfoType.Personal ? t('account.tradeacct.sign.edit.bankaccountno') : t('account.tradeacct.sign.edit.bankaccountno1')"
                     prop="bankaccountno" v-if="userInfo">
                     <el-input v-model="formData.bankaccountno" maxlength="50" :placeholder="t('common.pleaseenter')" />
                 </el-form-item>
                 <el-form-item :label="t('account.tradeacct.sign.edit.bankaccountname')" prop="bankaccountname">
-                    <el-input v-model="formData.bankaccountname" maxlength="50" :placeholder="t('common.pleaseenter')" />
+                    <el-input v-model="formData.bankaccountname" maxlength="50"
+                        :placeholder="t('common.pleaseenter')" />
                 </el-form-item>
                 <el-form-item :label="t('account.tradeacct.sign.edit.mobilephone')" prop="mobilephone">
-                    <el-input type="number" v-model="formData.mobilephone" maxlength="50" :placeholder="t('common.pleaseenter')" />
+                    <el-input type="number" v-model="formData.mobilephone" maxlength="50"
+                        :placeholder="t('common.pleaseenter')" />
                 </el-form-item>
             </fieldset>
             <fieldset class="g-fieldset el-form--horizontal" v-if="expandableList.length">
                 <legend class="g-fieldset__legend">{{ t('common.extendinfo') }}</legend>
                 <template v-for="(item, index) in expandableList" :key="index">
                     <el-form-item :label="item.fieldname" :prop="item.fieldcode">
-                        <el-input v-model="formData.extend[item.fieldcode]" maxlength="50" :placeholder="t('common.pleaseenter')" />
+                        <el-input v-model="formData.extend[item.fieldcode]" maxlength="50"
+                            :placeholder="t('common.pleaseenter')" />
                     </el-form-item>
                 </template>
             </fieldset>
@@ -54,13 +62,12 @@ import { ElMessage, FormInstance, FormRules } from 'element-plus'
 import { decryptAES } from '@/services/crypto'
 import { handleNoneValue } from '@/filters'
 import { useRequest } from '@/hooks/request'
-import { getSignBankById, queryCommonFlag, dealAccountSign } from '@/services/api/account'
+import { getSignBankById, dealAccountSignInit, queryCommonFlag, dealAccountSign } from '@/services/api/account'
 import { getUserInfoTypeName, UserInfoType } from '@/constants/member'
 import { i18n } from '@/stores'
 import { queryBooleanForAmount } from '@/services/api/bank'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
 import AppSelectBank from '@pc/components/modules/select-bank/index.vue'
-import AppSelectCusbank from '@pc/components/modules/select-cusbank/index.vue'
 
 const props = defineProps({
     accountId: {
@@ -85,6 +92,13 @@ const formData = reactive<Partial<Model.DealAccountSignReq>>({
     extend: {}
 })
 
+// 查询托管银行
+const { dataList: cusbankList } = useRequest(dealAccountSignInit, {
+    params: {
+        accountid: props.accountId
+    }
+})
+
 // 查询用户信息
 const { data: userInfo, loading } = useRequest(queryCommonFlag, {
     params: {
@@ -164,10 +178,10 @@ const formRules: FormRules = {
 }
 
 // 选择托管银行
-const onCusBankChange = (item?: Model.AllBankCusRsp) => {
-    if (item) {
+const onCusBankChange = (cusbankid?: string) => {
+    if (cusbankid) {
         getExpandableList({
-            cusbankid: item.cusbankid,
+            cusbankid,
             usabletype: userInfo.value?.userinfotype
         })
     } else {

+ 1 - 1
src/packages/pc/views/admin/user/components/edit/index.vue

@@ -27,7 +27,7 @@
         </el-form>
         <template #footer>
             <el-button @click="onCancel(false)">{{ t('operation.cancel') }}</el-button>
-            <el-button type="primary" @click="onSubmit">{{ t('operation.submit') }}</el-button>
+            <el-button type="primary" @click="onSubmit" :disabled="!!record?.autoid && !formData.logincode">{{ t('operation.submit') }}</el-button>
         </template>
     </app-drawer>
 </template>

+ 1 - 1
src/packages/pc/views/admin/user/index.vue

@@ -113,7 +113,7 @@ filterOptons.buttonList = [
 
 // 处理操作按钮
 const handleOperateButtons = (row: Model.SystemmanagerRsp) => {
-    if (row.logincode === 'admin') return []
+    if (row.logincode === userStore.userInfo.logincode) return []
     switch (row.managerstatus) {
         case AdminStatus.Disable:
             return getActionButtons(['admin_user_enable'])

+ 1 - 1
src/packages/pc/views/auth/components/layout/index.less

@@ -15,7 +15,7 @@
             flex-direction: column;
             line-height: normal;
             color: #fff;
-            font-size: 28px;
+            font-size: 24px;
             padding: 60px 80px;
             background-color: rgba(0, 87, 124, .35);
             backdrop-filter: blur(5px);

+ 1 - 0
src/packages/pc/views/investor/custom/riskcfg/components/details/index.vue

@@ -37,6 +37,7 @@ const refresh = ref(false)
 
 const { data } = useRequest(getRiskRatioTypeForMarketer, {
     params: {
+        riskcontrolmode: 1,
         customertype: props.record.customertype
     },
     onError: (err) => {

+ 2 - 1
src/packages/pc/views/investor/custom/riskcfg/components/edit/index.vue

@@ -55,7 +55,7 @@ const props = defineProps({
     }
 })
 
-// 风险客户类别
+// 风险率类型
 const customerTypeEnum = useEnum('customerType')
 
 const { global: { t } } = i18n
@@ -77,6 +77,7 @@ customerTypeEnum.registerEnumReadyCallback(async () => {
     for (const item of options) {
         const res = await getRiskRatioTypeForMarketer({
             data: {
+                riskcontrolmode: 1,
                 customertype: item.value
             }
         })

+ 1 - 1
src/packages/pc/views/investor/custom/riskcfg/index.vue

@@ -41,7 +41,7 @@ import { i18n } from '@/stores'
 
 const { global: { t } } = i18n
 
-// 风险客户类别
+// 风险率类型
 const customerTypeEnum = useEnum('customerType')
 
 const { filterOptons, getQueryParams } = useDataFilter<Investor.AccountRiskConfigReq>()

+ 65 - 7
src/packages/pc/views/member/institution/riskcfg/components/details/index.vue

@@ -1,17 +1,75 @@
 <!-- 会员机构管理-机构管理-风控个性化设置-详情 -->
 <template>
-    <app-drawer title="详情" width="900" v-model:show="show" :loading="loading" :refresh="refresh">
+    <app-drawer title="编辑" width="900" v-model:show="show" :refresh="refresh">
+        <app-table-details title="基本信息设置" :data="record" :label-width="160" :cell-props="detailProps1" :column="2" />
+        <app-table-details title="风险率信息" :data="data" :label-width="160" :cell-props="detailProps2" :column="2" />
+        <template #footer>
+            <el-button @click="onCancel(false)">关闭</el-button>
+        </template>
     </app-drawer>
 </template>
 
 <script lang="ts" setup>
-import { shallowRef, PropType, defineAsyncComponent } from 'vue'
-import { i18n } from '@/stores'
+import { ref, PropType, computed } from 'vue'
+import { ElMessage } from 'element-plus'
+import { getConfirmationName } from '@/constants/common'
+import { useEnum } from '@/hooks/enum'
+import { useRequest } from '@/hooks/request'
+import { getRiskRatioTypeForMarketer } from '@/services/api/investor'
+import { CellProp } from '@pc/components/base/table-details/types'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
+import AppTableDetails from '@pc/components/base/table-details/index.vue'
 
-const { global: { t } } = i18n
+const props = defineProps({
+    record: {
+        type: Object as PropType<Member.AccountRiskConfigRsp>,
+        required: true
+    }
+})
 
-const show = shallowRef(true)
-const refresh = shallowRef(false)
-const loading = shallowRef(false)
+// 风险率类型
+const marketerTypeEnum = useEnum('marketerType')
+
+const show = ref(true)
+const refresh = ref(false)
+
+const { data } = useRequest(getRiskRatioTypeForMarketer, {
+    params: {
+        riskcontrolmode: 2,
+        customertype: props.record.customertype
+    },
+    onError: (err) => {
+        ElMessage.error(err)
+    }
+})
+
+const detailProps1: CellProp[] = [
+    { prop: 'username', label: '交易商:', },
+    { prop: 'accountid', label: '资金账户:', },
+    { prop: 'customertype', label: '风险率类型:', formatValue: (val) => marketerTypeEnum.getEnumTypeName(val) },
+]
+
+const detailProps2 = computed<CellProp[]>(() => {
+    const { notesaferatio } = data.value ?? {}
+    return [
+        { prop: 'riskcontrolmode', label: '风控模式:', formatValue: (val) => val === 1 ? '交易商' : '做市会员' },
+        { prop: 'customertype', label: '客户类别:', formatValue: (val) => marketerTypeEnum.getEnumTypeName(val) },
+        { prop: 'riskratiocalcmode', label: '风险率计算方式:', formatValue: (val) => val === 1 ? '占用/净值' : '净值/占用' },
+        { prop: 'notemarginriskratio', label: '提示保证金风险率:', formatValue: (val) => val + '%', show: !notesaferatio },
+        { prop: 'addmarginriskratio', label: '追加保证金风险率:', formatValue: (val) => val + '%', show: !notesaferatio },
+        { prop: 'cutriskratio', label: '斩仓风险率:', formatValue: (val) => val + '%', show: !notesaferatio },
+        { prop: 'cutbackriskratio', label: '斩仓恢复风险率:', formatValue: (val) => val + '%', show: !notesaferatio },
+        { prop: 'notesaferatio', label: '提示安全度:', formatValue: (val) => val + '%', show: !!notesaferatio },
+        { prop: 'addsaferatio', label: '追加安全度:', formatValue: (val) => val + '%', show: !!notesaferatio },
+        { prop: 'recoversaferatio', label: '恢复正常安全度:', formatValue: (val) => val + '%', show: !!notesaferatio },
+        { prop: 'cutsaferatio', label: '斩仓安全度:', formatValue: (val) => val + '%', show: !!notesaferatio },
+        { prop: 'isdefault', label: '是否默认:', formatValue: (val) => getConfirmationName(val) },
+        { prop: 'markets', label: '斩仓市场顺序:' },
+    ]
+})
+
+const onCancel = (isRefresh = false) => {
+    show.value = false
+    refresh.value = isRefresh
+}
 </script>

+ 149 - 6
src/packages/pc/views/member/institution/riskcfg/components/edit/index.vue

@@ -1,17 +1,160 @@
 <!-- 会员机构管理-机构管理-风控个性化设置-新增/修改 -->
 <template>
-    <app-drawer title="新增/修改" width="900" v-model:show="show" :loading="loading" :refresh="refresh">
+    <app-drawer title="编辑" width="900" v-model:show="show" :refresh="refresh" :loading="loading">
+        <el-form ref="formRef" label-width="140px" :model="formData" :rules="formRules" :show-message="false">
+            <fieldset class="g-fieldset el-form--horizontal">
+                <legend class="g-fieldset__legend">{{ t('investor.custom.riskcfg.edit.subtitle1') }}</legend>
+                <el-form-item label="会员" prop="userid">
+                    <app-select-member ref="useridRef" v-model="formData.userid"
+                        :params="{ usertype: '2', roles: '6,8' }" :placeholder="t('investor.custom.riskcfg.edit.tips1')"
+                        :disabled="!!record" @change="onMemberChange" />
+                </el-form-item>
+                <el-form-item :label="t('investor.custom.riskcfg.edit.accountid')" prop="accountid">
+                    <el-select v-model="formData.accountid" :disabled="!!record">
+                        <template v-for="(value, index) in taaccountList" :key="index">
+                            <el-option :label="value" :value="value" />
+                        </template>
+                    </el-select>
+                </el-form-item>
+                <el-form-item :label="t('investor.custom.riskcfg.edit.customertype')" prop="customertype">
+                    <el-select v-model="formData.customertype">
+                        <template v-for="(item, index) in configs" :key="index">
+                            <el-option :label="marketerTypeEnum.getEnumTypeName(item.customertype)"
+                                :value="item.customertype" />
+                        </template>
+                    </el-select>
+                </el-form-item>
+            </fieldset>
+        </el-form>
+        <app-table-details :title="t('investor.custom.riskcfg.edit.subtitle2')" :data="selectedItem" :label-width="160"
+            :cell-props="detailProps" :column="2" v-if="selectedItem" />
+        <template #footer>
+            <el-button @click="onCancel(false)">{{ t('operation.close') }}</el-button>
+            <el-button type="primary" @click="onSubmit">{{ t('operation.save') }}</el-button>
+        </template>
     </app-drawer>
 </template>
 
 <script lang="ts" setup>
-import { shallowRef, PropType, defineAsyncComponent } from 'vue'
-import { i18n } from '@/stores'
+import { ref, reactive, PropType, computed, onMounted } from 'vue'
+import { ElMessage, FormInstance, FormRules } from 'element-plus'
+import { getConfirmationName } from '@/constants/common'
+import { useEnum } from '@/hooks/enum'
+import { useRequest } from '@/hooks/request'
+import { getRiskRatioTypeForMarketer, getTaaccountList } from '@/services/api/investor'
+import { addAccountRiskConfig } from '@/services/api/member'
+import { CellProp } from '@pc/components/base/table-details/types'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
+import AppSelectMember from '@pc/components/modules/select-member/index.vue'
+import AppTableDetails from '@pc/components/base/table-details/index.vue'
+import { i18n } from '@/stores'
+
+const props = defineProps({
+    record: {
+        type: Object as PropType<Member.AccountRiskConfigRsp>
+    }
+})
+
+// 风险率类型
+const marketerTypeEnum = useEnum('marketerType')
 
 const { global: { t } } = i18n
+const formRef = ref<FormInstance>()
+const show = ref(true)
+const refresh = ref(false)
+const loading = ref(false)
+const configs = reactive<Investor.RiskRatioTypeForMarketerRsp[]>([])
+
+const useridRef = ref() // 交易商组件实例
+
+const formData = ref<Partial<Investor.AddAccountRiskConfigReq>>({})
+
+// 选中的风险率配置
+const selectedItem = computed(() => configs.find((e) => e.customertype === formData.value.customertype))
+
+marketerTypeEnum.registerEnumReadyCallback(async () => {
+    const options = marketerTypeEnum.getEnumOptions()
+    for (const item of options) {
+        const res = await getRiskRatioTypeForMarketer({
+            data: {
+                riskcontrolmode: 2,
+                customertype: item.value
+            }
+        })
+        if (res.data) {
+            configs.push(res.data)
+        }
+    }
+})
+
+const { dataList: taaccountList, run } = useRequest(getTaaccountList, {
+    manual: true,
+})
+
+const onMemberChange = (item?: Model.OrganSelectRsp) => {
+    taaccountList.value = []
+    formData.value.accountid = undefined
+    if (item) run({ userid: item.userid })
+}
+
+// 表单验证规则
+const formRules: FormRules = {
+    userid: [{ required: true }],
+    accountid: [{ required: true }],
+    customertype: [{ required: true }],
+}
+
+const detailProps = computed<CellProp[]>(() => {
+    const { notesaferatio } = selectedItem.value ?? {}
+    return [
+        { prop: 'riskcontrolmode', label: '风控模式:', formatValue: (val) => val === 1 ? '交易商' : '做市会员' },
+        { prop: 'customertype', label: '客户类别:', formatValue: (val) => marketerTypeEnum.getEnumTypeName(val) },
+        { prop: 'riskratiocalcmode', label: '风险率计算方式:', formatValue: (val) => val === 1 ? '占用/净值' : '净值/占用' },
+        { prop: 'notemarginriskratio', label: '提示保证金风险率:', formatValue: (val) => val + '%', show: !notesaferatio },
+        { prop: 'addmarginriskratio', label: '追加保证金风险率:', formatValue: (val) => val + '%', show: !notesaferatio },
+        { prop: 'cutriskratio', label: '斩仓风险率:', formatValue: (val) => val + '%', show: !notesaferatio },
+        { prop: 'cutbackriskratio', label: '斩仓恢复风险率:', formatValue: (val) => val + '%', show: !notesaferatio },
+        { prop: 'notesaferatio', label: '提示安全度:', formatValue: (val) => val + '%', show: !!notesaferatio },
+        { prop: 'addsaferatio', label: '追加安全度:', formatValue: (val) => val + '%', show: !!notesaferatio },
+        { prop: 'recoversaferatio', label: '恢复正常安全度:', formatValue: (val) => val + '%', show: !!notesaferatio },
+        { prop: 'cutsaferatio', label: '斩仓安全度:', formatValue: (val) => val + '%', show: !!notesaferatio },
+        { prop: 'isdefault', label: '是否默认:', formatValue: (val) => getConfirmationName(val) },
+        { prop: 'markets', label: '斩仓市场顺序:' },
+    ]
+})
+
+const onSubmit = () => {
+    formRef.value?.validate((valid) => {
+        if (valid) {
+            loading.value = true
+            addAccountRiskConfig({
+                data: formData.value
+            }).then(() => {
+                ElMessage.success(t('common.tips3'))
+                onCancel(true)
+            }).catch((err) => {
+                ElMessage.error(t('common.tips4') + err)
+            }).finally(() => {
+                loading.value = false
+            })
+        }
+    })
+}
+
+const onCancel = (isRefresh = false) => {
+    show.value = false
+    refresh.value = isRefresh
+}
 
-const show = shallowRef(true)
-const refresh = shallowRef(false)
-const loading = shallowRef(false)
+onMounted(() => {
+    const record = props.record
+    if (record) {
+        formData.value = {
+            accountid: record.accountid,
+            customertype: record.customertype,
+            userid: record.userid
+        }
+        useridRef.value.onReset(record.userid)
+    }
+})
 </script>

+ 5 - 1
src/packages/pc/views/member/institution/riskcfg/index.vue

@@ -31,6 +31,7 @@ import { ElMessage } from 'element-plus'
 import { useDataFilter } from '@/hooks/datatable-v2'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
+import { useEnum } from '@/hooks/enum'
 import { queryAccountRiskConfig } from '@/services/api/member'
 import { i18n } from '@/stores'
 import AppTable from '@pc/components/base/table/index.vue'
@@ -40,6 +41,9 @@ import AppFilter from '@pc/components/base/table-filter-v2/index.vue'
 
 const { global: { t } } = i18n
 
+// 风险率类型
+const marketerTypeEnum = useEnum('marketerType')
+
 const { componentMap, componentId, record, openComponent, closeComponent, getActionButtons } = useOperation<Member.AccountRiskConfigRsp>({
     onClose: () => onSearch()
 })
@@ -58,7 +62,7 @@ const tableColumns = ref<Model.TableColumn[]>([
     { field: 'userid', label: 'member.institution.riskcfg.userid' },
     { field: 'username', label: 'member.institution.riskcfg.username' },
     { field: 'accountid', label: 'member.institution.riskcfg.accountid' },
-    { field: 'customertype', label: 'member.institution.riskcfg.customertype' },
+    { field: 'customertype', label: 'member.institution.riskcfg.customertype', formatValue: (val) => marketerTypeEnum.getEnumTypeName(val) },
     { field: 'operate', label: 'common.operate', fixed: 'right' }
 ])
 

+ 7 - 0
src/services/api/account/index.ts

@@ -16,6 +16,13 @@ export function queryTaAccountDetail(options: CommonFetchOptions<{ request: Mode
 }
 
 /**
+ * 资金账户管理->银行签约-->初始化托管银行
+ */
+export function dealAccountSignInit(options: CommonFetchOptions<{ request: Model.DealAccountSignInitReq; response: Model.DealAccountSignInitRsp[]; }> = {}) {
+    return httpClient.commonRequest('/accountSign/dealAccountSignInit', 'get', options)
+}
+
+/**
  * 资金账户修改密码
  */
 export function updateTaAccountPwd(options: CommonFetchOptions<{ request: Model.TaAccountPwdReq; }> = {}) {

+ 37 - 0
src/types/model/account.d.ts

@@ -72,6 +72,43 @@ declare namespace Model {
         userId: number; // 资金账号
     }
 
+    /** 资金账户管理->银行签约-->初始化托管银行 请求 */
+    interface DealAccountSignInitReq {
+        accountid: number;
+    }
+
+    /** 资金账户管理->银行签约-->初始化托管银行 响应 */
+    interface DealAccountSignInitRsp {
+        canallot: number; // 是否支持跨行调拨 - 0:不支持 1:支持
+        canallotquery: number; // 是否支持跨行调拨查询 - 0:不支持 1:支持
+        canbindcard: number; // 是否可绑卡与解卡 - 0:不可 1:可以
+        caninamount: number; // 是否可入金 - 0:不可 1:可以
+        caninamount2: number; // 是否可入金(网银端) - 0:不可 1:可以
+        canmodifybankcard: number; // 是否可修改银行卡号 - 0:不可 1:可以
+        canmodifyphone: number; // 是否可修改手机号 - 0:不可 1:可以
+        canmodifysigninfo: number; // 是否可修改签约信息 - 0:不可 1:可以
+        canoutamount: number; // 是否可出金 - 0:不可 1:可以
+        canoutamount2: number; // 是否可出金(网银端) - 0:不可 1:可以
+        canrelease: number; // 是否可解约 - 0:不可 1:可以
+        canrelease2: number; // 是否可解约(网银端) - 0:不可 1:可以
+        cansign: number; // 是否可签约 - 0:不可 1:可以
+        cansign2: number; // 是否可签约(网银端) - 0:不可 1:可以
+        currency: string; // 币种
+        cusbankid: string; // 托管银行编号(对应清算中心TRAN_NO)
+        cusbankname: string; // 银行业务名称
+        cusbankshortname: string; // 银行业务简称
+        exchbankid: string; // 交易所开户银行ID
+        exchpaybankaccname: string; // 交易所支出结算账户户名
+        exchpaybankaccno: string; // 交易所支出结算账户
+        exputbankid: string; // 手续费结转收款方银行行号 - 金登
+        exputpaybankaccname: string; // 手续费结转收款账户户名 - 金登
+        exputpaybankaccno: string; // 手续费结转收款账户 - 金登
+        exputpaybankaccsubno: string; // 手续费结转收款子账户 - 金登
+        isneedcheck: number; // 是否需要对账 - 0:需要 1:不需要 [不需要界面配置]
+        isneedclear: number; // 是否需要清算 - 0:不需要 1:需要
+        riskinfo: string; // 签约风险提示书
+    }
+
     /** 资金账户修改密码 请求 */
     interface TaAccountPwdReq {
         accountId: number; // 资金账号

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

@@ -444,6 +444,7 @@ declare namespace Investor {
     /** 交易商管理-->个性化管理-->交易商分组管理-->获取所选客户信息对应风险率 请求 */
     interface RiskRatioTypeForMarketerReq {
         customertype: number;
+        riskcontrolmode: number;
     }
 
     /** 交易商管理-->个性化管理-->交易商分组管理-->获取所选客户信息对应风险率 响应 */

+ 6 - 4
src/types/model/member.d.ts

@@ -766,14 +766,16 @@ declare namespace Member {
         member?: number; // member
         memberuserid?: number; // memberuserid
         username?: string; // 会员
+        pageNum: number;
+        pageSize: number;
     }
 
     /** 会员机构管理-->机构管理-->风控个性化设置-->获取列表 响应 */
     interface AccountRiskConfigRsp {
-        accountid?: number; // 资金账户
-        customertype?: number; // 风险率类型(客户类别)
-        userid?: number; // 会员代码
-        username?: string; // 会员名称
+        accountid: number; // 资金账户
+        customertype: number; // 风险率类型(客户类别)
+        userid: number; // 会员代码
+        username: string; // 会员名称
     }
 
     /** 会员机构管理-->机构管理-->风控个性化设置-->详情 请求 */