From 4683a3de537873d99ea1174e2c8e4743c480f762 Mon Sep 17 00:00:00 2001 From: zhuangdashia Date: Wed, 27 Aug 2025 21:46:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=98=E5=B7=A5=E8=AE=A1=E4=BB=B7=E9=99=84?= =?UTF-8?q?=E5=8A=A0=E9=A1=B9++?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/router/elegant/imports.ts | 1 + .../src/router/elegant/routes.ts | 9 + .../src/router/elegant/transform.ts | 1 + .../src/service/api/mps/emp-add-items.ts | 36 +++ .../src/typings/api/mps.detail-entry.api.d.ts | 66 ++-- .../typings/api/mps.emp-add-items.api.d.ts | 66 ++++ .../src/typings/elegant-router.d.ts | 2 + .../src/views/business/category/index.vue | 8 +- .../modules/detail-entry-operate-drawer.vue | 10 +- .../src/views/mps/emp-add-items/index.vue | 289 ++++++++++++++++++ .../modules/emp-add-items-import-modal.vue | 162 ++++++++++ .../modules/emp-add-items-operate-drawer.vue | 252 +++++++++++++++ .../modules/emp-add-items-search.vue | 82 +++++ .../src/views/mps/market/index.vue | 2 +- 14 files changed, 946 insertions(+), 40 deletions(-) create mode 100644 cds-fontend-2025.V1/src/service/api/mps/emp-add-items.ts create mode 100644 cds-fontend-2025.V1/src/typings/api/mps.emp-add-items.api.d.ts create mode 100644 cds-fontend-2025.V1/src/views/mps/emp-add-items/index.vue create mode 100644 cds-fontend-2025.V1/src/views/mps/emp-add-items/modules/emp-add-items-import-modal.vue create mode 100644 cds-fontend-2025.V1/src/views/mps/emp-add-items/modules/emp-add-items-operate-drawer.vue create mode 100644 cds-fontend-2025.V1/src/views/mps/emp-add-items/modules/emp-add-items-search.vue diff --git a/cds-fontend-2025.V1/src/router/elegant/imports.ts b/cds-fontend-2025.V1/src/router/elegant/imports.ts index 623b919..9bdc958 100644 --- a/cds-fontend-2025.V1/src/router/elegant/imports.ts +++ b/cds-fontend-2025.V1/src/router/elegant/imports.ts @@ -33,6 +33,7 @@ export const views: Record Promise import("@/views/monitor/operlog/index.vue"), mps_batch: () => import("@/views/mps/batch/index.vue"), "mps_detail-entry": () => import("@/views/mps/detail-entry/index.vue"), + "mps_emp-add-items": () => import("@/views/mps/emp-add-items/index.vue"), "mps_manual-pricing": () => import("@/views/mps/manual-pricing/index.vue"), mps_market: () => import("@/views/mps/market/index.vue"), original_dianfei: () => import("@/views/original/dianfei/index.vue"), diff --git a/cds-fontend-2025.V1/src/router/elegant/routes.ts b/cds-fontend-2025.V1/src/router/elegant/routes.ts index 87d94a2..7534ba7 100644 --- a/cds-fontend-2025.V1/src/router/elegant/routes.ts +++ b/cds-fontend-2025.V1/src/router/elegant/routes.ts @@ -207,6 +207,15 @@ export const generatedRoutes: GeneratedRoute[] = [ i18nKey: 'route.mps_detail-entry' } }, + { + name: 'mps_emp-add-items', + path: '/mps/emp-add-items', + component: 'view.mps_emp-add-items', + meta: { + title: 'mps_emp-add-items', + i18nKey: 'route.mps_emp-add-items' + } + }, { name: 'mps_manual-pricing', path: '/mps/manual-pricing', diff --git a/cds-fontend-2025.V1/src/router/elegant/transform.ts b/cds-fontend-2025.V1/src/router/elegant/transform.ts index ca672c4..78a98d9 100644 --- a/cds-fontend-2025.V1/src/router/elegant/transform.ts +++ b/cds-fontend-2025.V1/src/router/elegant/transform.ts @@ -187,6 +187,7 @@ const routeMap: RouteMap = { "mps": "/mps", "mps_batch": "/mps/batch", "mps_detail-entry": "/mps/detail-entry", + "mps_emp-add-items": "/mps/emp-add-items", "mps_manual-pricing": "/mps/manual-pricing", "mps_market": "/mps/market", "original": "/original", diff --git a/cds-fontend-2025.V1/src/service/api/mps/emp-add-items.ts b/cds-fontend-2025.V1/src/service/api/mps/emp-add-items.ts new file mode 100644 index 0000000..59bfb61 --- /dev/null +++ b/cds-fontend-2025.V1/src/service/api/mps/emp-add-items.ts @@ -0,0 +1,36 @@ +import { request } from '@/service/request'; + +/** 获取员工附加项列表 */ +export function fetchGetEmpAddItemsList (params?: Api.Mps.EmpAddItemsSearchParams) { + return request({ + url: '/mps/empAddItems/list', + method: 'get', + params + }); +} + +/** 新增员工附加项 */ +export function fetchCreateEmpAddItems (data: Api.Mps.EmpAddItemsOperateParams) { + return request({ + url: '/mps/empAddItems', + method: 'post', + data + }); +} + +/** 修改员工附加项 */ +export function fetchUpdateEmpAddItems (data: Api.Mps.EmpAddItemsOperateParams) { + return request({ + url: '/mps/empAddItems', + method: 'put', + data + }); +} + +/** 批量删除员工附加项 */ +export function fetchBatchDeleteEmpAddItems (ids: CommonType.IdType[]) { + return request({ + url: `/mps/empAddItems/${ids.join(',')}`, + method: 'delete' + }); +} diff --git a/cds-fontend-2025.V1/src/typings/api/mps.detail-entry.api.d.ts b/cds-fontend-2025.V1/src/typings/api/mps.detail-entry.api.d.ts index 2012f0d..3c060f5 100644 --- a/cds-fontend-2025.V1/src/typings/api/mps.detail-entry.api.d.ts +++ b/cds-fontend-2025.V1/src/typings/api/mps.detail-entry.api.d.ts @@ -15,65 +15,67 @@ declare namespace Api { /** detail entry */ type DetailEntry = Common.CommonRecord<{ /** 主键 */ - dataId: CommonType.IdType; + dataId: CommonType.IdType; /** 业务类型id */ - subcategoryId: CommonType.IdType; + subcategoryId: CommonType.IdType; /** 业务类型名称 */ - subcategoryName: string; + subcategoryName: string; /** 营销人员名称 */ - yxName: string; + yxName: string; /** 经办人员名称 */ - jbName: string; + jbName: string; /** 营销人员营销号 */ - yxId: CommonType.IdType; + yxId: CommonType.IdType; /** 经办人员营销号 */ - jbId: CommonType.IdType; + jbId: CommonType.IdType; /** 数据日期 */ - date: string; + date: string; /** 部门名称 */ - deptName: string; + deptName: string; /** 部门id */ - deptId: CommonType.IdType; + deptId: CommonType.IdType; /** 客户类型(1-个人,2-对公) */ - custType: string; + custType: string; /** 客户身份证号 */ - custId: CommonType.IdType; + custId: CommonType.IdType; /** 客户姓名 */ - custName: string; + custName: string; /** 客户账号/卡号 */ - custAcctNo: string; + custAcctNo: string; /** 客户联系电话 */ - custPhoneNo: string; + custPhoneNo: string; /** 磁条卡更换登记id */ - magneticCardId: CommonType.IdType; - /** 综合收单商户名 */ - acquiringName: string; + magneticCardId: CommonType.IdType; + magneticCardList: { oldCardNo: string; newCardNo: string }[]; + /** 综合收单商户名 */ + acquiringName: string; /** 综合收单商户号 */ - acquiringId: CommonType.IdType; + acquiringId: CommonType.IdType; /** 网上支付开通渠道 */ - internetChannel: string; + internetChannel: string[]; /** 交警处罚决定书 */ - trafficId: CommonType.IdType; + trafficId: CommonType.IdType; + trafficList: { trafficNo: string; trafficAmt: number }[]; /** 职工所属单位 */ - workplace: string; + workplace: string; /** 公积金缴纳账户名称 */ - surplusAccountName: string; + surplusAccountName: string; /** 取暖费户号 */ - heatingNo: string; + heatingNo: string; /** 核对标志(0未核对 1核对通过 9核对失败) */ - checkFlag: string; + checkFlag: string; /** 核对时间 */ - checkTime: string; + checkTime: string; /** 核对人员(人工核对时) */ - checkUser: string; + checkUser: string; /** 核对方式(0系统 1人工 2其他1 3其他2 4其他3) */ - checkType: string; + checkType: string; /** 核对结果 */ - checkMsg: string; + checkMsg: string; /** 租户编号 */ - tenantId: CommonType.IdType; + tenantId: CommonType.IdType; /** 删除标志(0代表存在 1代表删除) */ - delFlag: string; + delFlag: string; }>; /** detail entry search params */ @@ -131,10 +133,12 @@ declare namespace Api { | 'custAcctNo' | 'custPhoneNo' | 'magneticCardId' + | 'magneticCardList' | 'acquiringName' | 'acquiringId' | 'internetChannel' | 'trafficId' + | 'trafficList' | 'workplace' | 'surplusAccountName' | 'heatingNo' diff --git a/cds-fontend-2025.V1/src/typings/api/mps.emp-add-items.api.d.ts b/cds-fontend-2025.V1/src/typings/api/mps.emp-add-items.api.d.ts new file mode 100644 index 0000000..aadf83d --- /dev/null +++ b/cds-fontend-2025.V1/src/typings/api/mps.emp-add-items.api.d.ts @@ -0,0 +1,66 @@ + +/** + * Namespace Api + * + * All backend api type + */ +declare namespace Api { + + /** + * namespace Mps + * + * backend api module: "Mps" + */ + namespace Mps { + /** emp add items */ + type EmpAddItems = Common.CommonRecord<{ + /** ID */ + id: CommonType.IdType; + /** 支行代码 */ + branchId: CommonType.IdType; + /** 支行名称 */ + branchName: string; + /** 员工姓名 */ + employeeName: string; + /** 营销编号 */ + marketingCode: string; + /** 附加项 */ + addItem: number; + /** 记录月份 */ + recordMonth: string; + /** 租户编号 */ + tenantId: CommonType.IdType; + }>; + + /** emp add items search params */ + type EmpAddItemsSearchParams = CommonType.RecordNullable< + Pick< + Api.Mps.EmpAddItems, + | 'branchId' + | 'branchName' + | 'employeeName' + | 'marketingCode' + | 'addItem' + | 'recordMonth' + > & + Api.Common.CommonSearchParams + >; + + /** emp add items operate params */ + type EmpAddItemsOperateParams = CommonType.RecordNullable< + Pick< + Api.Mps.EmpAddItems, + | 'id' + | 'branchId' + | 'branchName' + | 'employeeName' + | 'marketingCode' + | 'addItem' + | 'recordMonth' + > + >; + + /** emp add items list */ + type EmpAddItemsList = Api.Common.PaginatingQueryRecord; + } +} diff --git a/cds-fontend-2025.V1/src/typings/elegant-router.d.ts b/cds-fontend-2025.V1/src/typings/elegant-router.d.ts index 3d8baff..760101e 100644 --- a/cds-fontend-2025.V1/src/typings/elegant-router.d.ts +++ b/cds-fontend-2025.V1/src/typings/elegant-router.d.ts @@ -41,6 +41,7 @@ declare module "@elegant-router/types" { "mps": "/mps"; "mps_batch": "/mps/batch"; "mps_detail-entry": "/mps/detail-entry"; + "mps_emp-add-items": "/mps/emp-add-items"; "mps_manual-pricing": "/mps/manual-pricing"; "mps_market": "/mps/market"; "original": "/original"; @@ -167,6 +168,7 @@ declare module "@elegant-router/types" { | "monitor_operlog" | "mps_batch" | "mps_detail-entry" + | "mps_emp-add-items" | "mps_manual-pricing" | "mps_market" | "original_dianfei" diff --git a/cds-fontend-2025.V1/src/views/business/category/index.vue b/cds-fontend-2025.V1/src/views/business/category/index.vue index 85246ef..bf8c85b 100644 --- a/cds-fontend-2025.V1/src/views/business/category/index.vue +++ b/cds-fontend-2025.V1/src/views/business/category/index.vue @@ -132,8 +132,8 @@ const { render: (row) => { if (!row.pricingRule) return ''; const suffixMap = { - 'BIZ006': ' * 交易金额', - 'BIZ028': ' * 交易金额', + 'BIZ030': ' * 交易金额', + 'BIZ031': ' * 交易金额', 'default': ' 元/条' }; @@ -242,7 +242,7 @@ async function getTreeData() { const { data: tree, error } = await fetchGetCategoryOption(); if (!error) { categoryTreeData.value = tree; - console.log(tree); + // console.log(tree); } endTreeLoading(); } @@ -277,7 +277,7 @@ const { drawerVisible, operateType, editingData, handleAdd, handleEdit, checkedR useTableOperate(data, getData); function handleClickCategory(keys: string[]) { - console.log('handleClickCategory', keys); + // console.log('handleClickCategory', keys); searchParams.categoryId = keys.length ? keys[0] : searchParams.categoryId; checkedRowKeys.value = []; getDataByPage(); diff --git a/cds-fontend-2025.V1/src/views/mps/detail-entry/modules/detail-entry-operate-drawer.vue b/cds-fontend-2025.V1/src/views/mps/detail-entry/modules/detail-entry-operate-drawer.vue index a292a5f..a7f8f3d 100644 --- a/cds-fontend-2025.V1/src/views/mps/detail-entry/modules/detail-entry-operate-drawer.vue +++ b/cds-fontend-2025.V1/src/views/mps/detail-entry/modules/detail-entry-operate-drawer.vue @@ -61,17 +61,19 @@ function createDefaultModel(): Model { custAcctNo: '', custPhoneNo: '', magneticCardId: undefined, + magneticCardList: [], acquiringName: '', acquiringId: '', - internetChannel: '', + internetChannel: [], trafficId: undefined, + trafficList: [], workplace: '', surplusAccountName: '', heatingNo: '', - checkFlag: '', - checkTime: undefined, + checkFlag: '0', + checkTime: null, checkUser: '', - checkType: '', + checkType: '0', checkMsg: '', }; } diff --git a/cds-fontend-2025.V1/src/views/mps/emp-add-items/index.vue b/cds-fontend-2025.V1/src/views/mps/emp-add-items/index.vue new file mode 100644 index 0000000..286c7d5 --- /dev/null +++ b/cds-fontend-2025.V1/src/views/mps/emp-add-items/index.vue @@ -0,0 +1,289 @@ + + + + + diff --git a/cds-fontend-2025.V1/src/views/mps/emp-add-items/modules/emp-add-items-import-modal.vue b/cds-fontend-2025.V1/src/views/mps/emp-add-items/modules/emp-add-items-import-modal.vue new file mode 100644 index 0000000..2094c18 --- /dev/null +++ b/cds-fontend-2025.V1/src/views/mps/emp-add-items/modules/emp-add-items-import-modal.vue @@ -0,0 +1,162 @@ +[[[ + +]]] + + + + diff --git a/cds-fontend-2025.V1/src/views/mps/emp-add-items/modules/emp-add-items-operate-drawer.vue b/cds-fontend-2025.V1/src/views/mps/emp-add-items/modules/emp-add-items-operate-drawer.vue new file mode 100644 index 0000000..e23f131 --- /dev/null +++ b/cds-fontend-2025.V1/src/views/mps/emp-add-items/modules/emp-add-items-operate-drawer.vue @@ -0,0 +1,252 @@ + + + + + diff --git a/cds-fontend-2025.V1/src/views/mps/emp-add-items/modules/emp-add-items-search.vue b/cds-fontend-2025.V1/src/views/mps/emp-add-items/modules/emp-add-items-search.vue new file mode 100644 index 0000000..65228dd --- /dev/null +++ b/cds-fontend-2025.V1/src/views/mps/emp-add-items/modules/emp-add-items-search.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/cds-fontend-2025.V1/src/views/mps/market/index.vue b/cds-fontend-2025.V1/src/views/mps/market/index.vue index c176c47..c011ae9 100644 --- a/cds-fontend-2025.V1/src/views/mps/market/index.vue +++ b/cds-fontend-2025.V1/src/views/mps/market/index.vue @@ -18,7 +18,7 @@ import {useBoolean,useLoading} from "~/packages/hooks"; // 在组件的setup或适当位置 const { options: mps_cust_type } = useDict('mps_cust_type'); -console.log('mps_check_status dictionary:', mps_cust_type); +// console.log('mps_check_status dictionary:', mps_cust_type); defineOptions({ name: 'MarketList' });