li.shaoyi 7 months ago
parent
commit
05c0415fb7

+ 37 - 7
src/packages/pc/views/account/fundacct/components/bankstatement/index.vue

@@ -3,7 +3,20 @@
     <teleport to="#appPageTeleport">
         <app-view>
             <template #header>
-                <app-filter :option="filterOption" />
+                <app-filter :option="filterOption" :rules="filterRules">
+                    <template #logType="{ item }">
+                        <el-form-item :label="item.label" prop="logType">
+                            <el-select v-model="item.value">
+                                <el-option v-for="option in item.options?.()" :key="option.value" :label="option.label"
+                                    :value="option.value" />
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item label="日期" prop="date" v-if="item.value === 2">
+                            <el-date-picker type="daterange" v-model="dateValue" value-format="YYYYMMDD"
+                                start-placeholder="开始" end-placeholder="结束" />
+                        </el-form-item>
+                    </template>
+                </app-filter>
             </template>
             <app-table :data="dataList" :columns="tableColumns" :loading="loading">
                 <template #headerLeft>
@@ -26,7 +39,7 @@
 
 <script lang="ts" setup>
 import { shallowRef, PropType } from 'vue'
-import { ElMessage } from 'element-plus'
+import { ElMessage, FormRules } from 'element-plus'
 import { useRequest } from '@/hooks/request'
 import { useDataFilter } from '@/hooks/datatable-v2'
 import { queryAmountStream } from '@/services/api/account'
@@ -42,10 +55,11 @@ const props = defineProps({
     }
 })
 
-const { global: { t } } = i18n
-
 const emit = defineEmits(['closed'])
 
+const t = i18n.global.t
+const dateValue = shallowRef<string[] | null>([])
+
 const { dataList, total, pageSize, pageIndex, loading, run } = useRequest(queryAmountStream, {
     params: {
         logType: 1,
@@ -70,7 +84,15 @@ const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'amountAdjustTypeName', label: 'account.fundacct.bankstatement.amountAdjustTypeName' },
 ])
 
-const { filterOption, getQueryParams } = useDataFilter<Model.AmountStreamReq>({
+// 表单验证规则
+const filterRules: FormRules = {
+    date: [{
+        required: true,
+        validator: () => dateValue.value?.length === 2
+    }]
+}
+
+const { filterOption, getQueryParams, resetFilters } = useDataFilter<Model.AmountStreamReq>({
     filters: [
         {
             field: 'logType',
@@ -79,17 +101,25 @@ const { filterOption, getQueryParams } = useDataFilter<Model.AmountStreamReq>({
             options: () => [
                 { label: t('common.current'), value: 1 },
                 { label: t('common.history'), value: 2 },
-            ],
+            ]
         }
     ],
     buttons: [
         { label: t('operation.search'), className: 'el-button--primary', onClick: () => onSearch() },
-        { label: t('operation.reset'), className: 'el-button--primary', onClick: () => onSearch(true) }
+        { label: t('operation.reset'), className: 'el-button--primary', onClick: () => onReset() }
     ]
 })
 
 const onSearch = (clear = false) => {
     const qs = getQueryParams(clear)
+    const [startDate, endDate] = dateValue.value || []
+    qs.startTime = startDate
+    qs.endTime = endDate
     run(qs)
 }
+
+const onReset = () => {
+    dateValue.value = []
+    resetFilters()
+}
 </script>

+ 5 - 3
src/packages/pc/views/account/fundacct/components/sign/edit/index.vue

@@ -10,10 +10,11 @@
                     {{ userinfotypeEnum.getEnumTypeName(userInfo.userinfotype) }}
                 </el-form-item>
                 <el-form-item :label="t('account.fundacct.sign.edit.cardtypeid')" v-if="userInfo">
-                    {{ userInfo.cardtypeid }}
+                    {{ certificatetypeEnum.getEnumTypeName(userInfo.cardtypeid) }}
                 </el-form-item>
                 <el-form-item :label="t('account.fundacct.sign.edit.cusbankid')" prop="cusbankid">
-                    <el-select v-model="formData.cusbankid" :placeholder="t('common.pleasechoice')" @change="onCusBankChange">
+                    <el-select v-model="formData.cusbankid" :placeholder="t('common.pleasechoice')"
+                        @change="onCusBankChange">
                         <el-option v-for="item in cusbankList" :key="item.cusbankid" :label="item.cusbankname"
                             :value="item.cusbankid" />
                     </el-select>
@@ -64,7 +65,7 @@ import { handleNoneValue } from '@/filters'
 import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { getSignBankById, dealAccountSignInit, queryCommonFlag, dealAccountSign } from '@/services/api/account'
-import {  UserInfoType } from '@/constants/member'
+import { UserInfoType } from '@/constants/member'
 import { i18n } from '@/stores'
 import { queryBooleanForAmount } from '@/services/api/bank'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
@@ -80,6 +81,7 @@ const props = defineProps({
     }
 })
 
+const certificatetypeEnum = useEnum('certificatetype') // 证件类型
 const userinfotypeEnum = useEnum('userinfotype') // 所有者类型
 
 const { global: { t } } = i18n

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

@@ -55,6 +55,7 @@ const componentMap = new Map<string, unknown>([
 ])
 
 const emit = defineEmits(['closed'])
+const certificatetypeEnum = useEnum('certificatetype') // 证件类型
 const signstatusEnum = useEnum('signstatus') // 签约状态
 const selectedItem = shallowRef<Model.AccountSignRsp>()
 
@@ -82,7 +83,7 @@ const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'bankChildAccount', label: 'account.fundacct.sign.bankChildAccount' },
     { field: 'bankAccountName', label: 'account.fundacct.sign.bankAccountName', formatValue: (val) => decryptAES(val) },
     { field: 'bankName', label: 'account.fundacct.sign.bankName' },
-    { field: 'cardType', label: 'account.fundacct.sign.cardType' },
+    { field: 'cardType', label: 'account.fundacct.sign.cardType', formatValue: (val) => certificatetypeEnum.getEnumTypeName(val) },
     { field: 'cardNo', label: 'account.fundacct.sign.cardNo', formatValue: (val) => decryptAES(val) },
     { field: 'currency', label: 'account.fundacct.sign.currency' },
     { field: 'signStatus', label: 'account.fundacct.sign.signStatus', formatValue: (val) => signstatusEnum.getEnumTypeName(val) },

+ 5 - 7
src/packages/pc/views/account/fundacct/index.vue

@@ -34,12 +34,10 @@ import AppPagination from '@pc/components/base/pagination/index.vue'
 import AppOperation from '@pc/components/base/operation/index.vue'
 import { i18n } from '@/stores'
 
-// 账户类型
-const mainaccounttypeEnum = useEnum('mainaccounttype')
-// 内/外部
-const accounttypeEnum = useEnum('accounttype')
-// 交易状态
-const traderstatusEnum = useEnum('traderstatus')
+const mainaccounttypeEnum = useEnum('mainaccounttype') // 账户类型
+const accounttypeEnum = useEnum('accounttype') // 内/外部
+const traderstatusEnum = useEnum('traderstatus') // 交易状态
+const currencyEnum = useEnum('currency') // 币种
 
 const { global: { t } } = i18n
 
@@ -64,7 +62,7 @@ const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'relatedName', label: 'account.fundacct.relatedName' },
     { field: 'parentAccountId', label: 'account.fundacct.parentAccountId' },
     { field: 'tradeStatus', label: 'account.fundacct.tradeStatus', formatValue: (val) => traderstatusEnum.getEnumTypeName(val) },
-    { field: 'currency', label: 'account.fundacct.currency' },
+    { field: 'currencyid', label: 'account.fundacct.currency', formatValue: (val) => currencyEnum.getEnumTypeName(val) },
     { field: 'accountName', label: 'account.fundacct.accountName' },
     { field: 'operate', label: 'common.operate', width: 240, fixed: 'right' }
 ])

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

@@ -36,10 +36,11 @@
 import { shallowRef, computed } from 'vue'
 import { ElMessage } from 'element-plus'
 import { formatDate } from '@/filters'
+import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { useDataFilter } from '@/hooks/datatable'
 import { useOperation } from '@/hooks/operation'
-import { AdminStatus, getAdminStatusName, getAdminStatusList } from '@/constants/admin'
+import { AdminStatus } from '@/constants/admin'
 import { querySystemmanager } from '@/services/api/admin'
 import { queryOrganSelect } from '@/services/api/common'
 import { useUserStore, i18n } from '@/stores'
@@ -48,7 +49,8 @@ import AppFilter from '@pc/components/base/table-filter/index.vue'
 import AppPagination from '@pc/components/base/pagination/index.vue'
 import AppOperation from '@pc/components/base/operation/index.vue'
 
-const { global: { t } } = i18n
+const t = i18n.global.t
+const userstatusEnum = useEnum('userstatus') // 状态
 
 const userStore = useUserStore()
 
@@ -88,7 +90,7 @@ const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'username', label: 'admin.user.username' },
     { field: 'areaName', label: 'admin.user.areaName' },
     { field: 'roleName', label: 'admin.user.roleName' },
-    { field: 'managerstatus', label: 'admin.user.managerstatus', formatValue: (val) => getAdminStatusName(val) },
+    { field: 'managerstatus', label: 'admin.user.managerstatus', formatValue: (val) => userstatusEnum.getEnumTypeName(val) },
     { field: 'modifytime', label: 'admin.user.modifytime' },
     { field: 'operate', label: 'common.operate', fixed: 'right', width: 150 }
 ])
@@ -97,7 +99,7 @@ filterOptons.selectList = [
     {
         label: t('admin.user.status'),
         key: 'managerStatus',
-        options: () => getAdminStatusList()
+        options: () => userstatusEnum.getEnumOptions()
     }
 ]
 

+ 7 - 2
src/packages/pc/views/auth/password/index.vue

@@ -33,10 +33,11 @@
 
 <script lang="ts" setup>
 import { ref } from 'vue'
-import { ElMessage, FormInstance, FormRules } from 'element-plus'
+import { ElMessage, FormInstance, FormRules, ElMessageBox } from 'element-plus'
 import { validateRules } from '@/constants/regex'
 import { updatePwd } from '@/services/api/user'
 import { useUserStore, i18n } from '@/stores'
+import eventBus from '@/services/bus'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
 
 const t = i18n.global.t
@@ -99,8 +100,12 @@ const onSubmit = () => {
             updatePwd({
                 data: formData.value
             }).then(() => {
-                ElMessage.success(t('common.tips3'))
                 onCancel()
+                ElMessageBox.alert(t('common.tips3'), '提示', {
+                    callback: () => {
+                        eventBus.$emit('Logout')
+                    }
+                })
             }).catch((err) => {
                 ElMessage.error(t('common.tips4') + err)
             }).finally(() => {

+ 10 - 4
src/packages/pc/views/member/institution/user/components/account/signstatement/index.vue

@@ -22,6 +22,9 @@
 <script lang="ts" setup>
 import { shallowRef, PropType } from 'vue'
 import { ElMessage } from 'element-plus'
+import { formatDate } from '@/filters'
+import { useEnum } from '@/hooks/enum'
+import { decryptAES } from '@/services/crypto'
 import { useRequest } from '@/hooks/request'
 import { useDataFilter } from '@/hooks/datatable-v2'
 import { querySignlog } from '@/services/api/member'
@@ -38,6 +41,9 @@ const props = defineProps({
     }
 })
 
+const signtypeEnum = useEnum('signtype') // 签(解)约类型
+const dealstatusEnum = useEnum('dealstatus') // 处理状态
+
 const { global: { t } } = i18n
 
 const show = shallowRef(true)
@@ -57,10 +63,10 @@ const { dataList, total, pageSize, pageIndex, run } = useRequest(querySignlog, {
 const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'accountcode', label: 'member.institution.user.account.signstatement.accountcode' },
     { field: 'cusbankid', label: 'member.institution.user.account.signstatement.cusbankid' },
-    { field: 'signtype', label: 'member.institution.user.account.signstatement.signtype' },
-    { field: 'dealstatus', label: 'member.institution.user.account.signstatement.dealstatus' },
-    { field: 'createtime', label: 'member.institution.user.account.signstatement.createtime' },
-    { field: 'bankaccountno', label: 'member.institution.user.account.signstatement.bankaccountno' },
+    { field: 'signtype', label: 'member.institution.user.account.signstatement.signtype', formatValue: (val) => signtypeEnum.getEnumTypeName(val) },
+    { field: 'dealstatus', label: 'member.institution.user.account.signstatement.dealstatus', formatValue: (val) => dealstatusEnum.getEnumTypeName(val) },
+    { field: 'createtime', label: 'member.institution.user.account.signstatement.createtime', formatValue: (val) => formatDate(val) },
+    { field: 'bankaccountno', label: 'member.institution.user.account.signstatement.bankaccountno', formatValue: (val) => decryptAES(val) },
     { field: 'currency', label: 'member.institution.user.account.signstatement.currency' }
 ])
 

+ 1 - 1
src/types/model/account.d.ts

@@ -12,7 +12,7 @@ declare namespace Model {
         accountId: number; // 资金账号
         accountName: string; // 所属用户
         curRiskRate: number; // 风险率
-        currency: string; // 币种
+        currencyid: number; // 币种
         isMain: number; // 账户类型 0 子账户,1 母账号
         outThreshold: number; // 出金阈值
         parentAccountId: number; // 所属母账户