From b647a8abf14cb18226197abac6d1fb61b5c022b2 Mon Sep 17 00:00:00 2001 From: halo Date: Thu, 9 Jul 2026 15:46:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=8F=9C=E5=8D=95=E8=8A=82=E7=82=B9=E4=B8=8E?= =?UTF-8?q?=E6=A0=B8=E5=BF=83=E4=BC=81=E4=B8=9A/=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E7=BB=8F=E7=90=86=E7=A7=8D=E5=AD=90=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mock-server/data/channels.js | 19 ++++++++++++++++++ mock-server/data/managers.js | 18 +++++++++++++++++ mock-server/data/menu.js | 33 ++++++++++++++++++++++++++++++++ mock-server/data/roles.js | 2 +- src/components/OrgTreeSelect.vue | 5 +++-- 5 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 mock-server/data/channels.js create mode 100644 mock-server/data/managers.js diff --git a/mock-server/data/channels.js b/mock-server/data/channels.js new file mode 100644 index 0000000..11728be --- /dev/null +++ b/mock-server/data/channels.js @@ -0,0 +1,19 @@ +// 核心企业(渠道)数据以扁平列表存储;orgId 关联本系统机构树(所属机构),其余字段均为自由文本 +export const channels = [ + { + id: 'channel001', + name: '示例核心企业A', + channelCode: 'CH0001', + appCode: 'APP0001', + motherAccountBank: '中国工商银行示例支行', + orgId: 'org002', + createdAt: '2026-01-05 00:00:00' + } +] + +let seq = channels.length + +export function nextChannelId() { + seq += 1 + return `channel${String(seq).padStart(3, '0')}` +} diff --git a/mock-server/data/managers.js b/mock-server/data/managers.js new file mode 100644 index 0000000..c2d19d4 --- /dev/null +++ b/mock-server/data/managers.js @@ -0,0 +1,18 @@ +// 客户经理数据以扁平列表存储;机构号/机构名称为自由文本,不关联本系统机构树;工号全局唯一 +export const managers = [ + { + id: 'manager001', + orgCode: 'ORG0001', + orgName: '示例网点', + jobNumber: 'JOB0001', + name: '示例经理', + createdAt: '2026-01-06 00:00:00' + } +] + +let seq = managers.length + +export function nextManagerId() { + seq += 1 + return `manager${String(seq).padStart(3, '0')}` +} diff --git a/mock-server/data/menu.js b/mock-server/data/menu.js index 7dba21c..0a460f6 100644 --- a/mock-server/data/menu.js +++ b/mock-server/data/menu.js @@ -47,6 +47,39 @@ export const menuTree = [ ] } ] + }, + { + id: 'base_config', + name: '基础配置', + path: '/base-config', + icon: 'AppstoreOutlined', + type: 'menu', + children: [ + { + id: 'base_channel', + name: '核心企业管理', + path: '/base-config/channel', + component: 'base-config/channel/ChannelList', + type: 'menu', + buttons: [ + { code: 'channel:add', name: '新增' }, + { code: 'channel:edit', name: '修改' }, + { code: 'channel:delete', name: '删除' } + ] + }, + { + id: 'base_manager', + name: '客户经理管理', + path: '/base-config/manager', + component: 'base-config/manager/ManagerList', + type: 'menu', + buttons: [ + { code: 'manager:add', name: '新增' }, + { code: 'manager:edit', name: '修改' }, + { code: 'manager:delete', name: '删除' } + ] + } + ] } ] diff --git a/mock-server/data/roles.js b/mock-server/data/roles.js index 4727ab9..3dab7cc 100644 --- a/mock-server/data/roles.js +++ b/mock-server/data/roles.js @@ -8,7 +8,7 @@ export const roles = [ orgId: 'org001', builtin: true, status: 'enabled', - menuIds: ['system', 'sys_user', 'sys_role', 'sys_org'], + menuIds: ['system', 'sys_user', 'sys_role', 'sys_org', 'base_config', 'base_channel', 'base_manager'], buttonCodes: flattenButtons(menuTree), dataScope: 'all', createdAt: '2026-01-01 00:00:00' diff --git a/src/components/OrgTreeSelect.vue b/src/components/OrgTreeSelect.vue index d88974d..1bf3618 100644 --- a/src/components/OrgTreeSelect.vue +++ b/src/components/OrgTreeSelect.vue @@ -5,7 +5,7 @@ :field-names="{ label: 'title', value: 'value', children: 'children' }" show-search tree-node-filter-prop="title" - placeholder="请选择上级机构" + :placeholder="placeholder" allow-clear :loading="loading" @update:value="$emit('update:modelValue', $event)" @@ -18,7 +18,8 @@ import { fetchOrgListApi } from '@/api/system' const props = defineProps({ modelValue: { type: String, default: undefined }, - excludeId: { type: String, default: '' } + excludeId: { type: String, default: '' }, + placeholder: { type: String, default: '请选择上级机构' } }) defineEmits(['update:modelValue'])