diff --git a/pages.config.ts b/pages.config.ts index 67b9841..3c7a4b5 100644 --- a/pages.config.ts +++ b/pages.config.ts @@ -58,13 +58,36 @@ export default defineUniPages({ { path: 'me/index', style: { navigationBarTitleText: '银行中心' } }, ], }, + { + root: 'pagesGovernment', + pages: [ + { path: 'dashboard/index', style: { navigationBarTitleText: '政务工作台' } }, + { path: 'bank/list', style: { navigationBarTitleText: '银行管理' } }, + { path: 'bank/detail', style: { navigationBarTitleText: '银行详情' } }, + { path: 'supervise/list', style: { navigationBarTitleText: '合规检查' } }, + { path: 'risk/list', style: { navigationBarTitleText: '风险预警' } }, + { path: 'me/index', style: { navigationBarTitleText: '个人中心' } }, + ], + }, + { + root: 'pagesInsurance', + pages: [ + { path: 'dashboard/index', style: { navigationBarTitleText: '保险工作台' } }, + { path: 'policy/list', style: { navigationBarTitleText: '保单管理' } }, + { path: 'policy/detail', style: { navigationBarTitleText: '保单详情' } }, + { path: 'claim/list', style: { navigationBarTitleText: '理赔处理' } }, + { path: 'claim/detail', style: { navigationBarTitleText: '理赔详情' } }, + { path: 'bank/list', style: { navigationBarTitleText: '合作银行' } }, + { path: 'me/index', style: { navigationBarTitleText: '个人中心' } }, + ], + }, ], // 分包预下载配置 preloadRule: { 'pages/login/index': { network: 'all', - packages: ['pagesMerchant', 'pagesBank'], + packages: ['pagesMerchant', 'pagesBank', 'pagesGovernment', 'pagesInsurance'], }, }, }) diff --git a/src/pages.json b/src/pages.json index 5fdd2b3..c12eac5 100644 --- a/src/pages.json +++ b/src/pages.json @@ -19,7 +19,9 @@ "network": "all", "packages": [ "pagesMerchant", - "pagesBank" + "pagesBank", + "pagesGovernment", + "pagesInsurance" ] } }, @@ -264,12 +266,6 @@ "navigationBarTitleText": "提现记录" } }, - { - "path": "me/index", - "style": { - "navigationBarTitleText": "银行中心" - } - }, { "path": "report/list", "style": { @@ -299,6 +295,102 @@ "style": { "navigationBarTitleText": "拜访详情" } + }, + { + "path": "me/index", + "style": { + "navigationBarTitleText": "银行中心" + } + } + ] + }, + { + "root": "pagesGovernment", + "pages": [ + // GENERATED BY UNI-PAGES, PLATFORM: H5 + { + "path": "dashboard/index", + "style": { + "navigationBarTitleText": "政务工作台" + } + }, + { + "path": "bank/list", + "style": { + "navigationBarTitleText": "银行管理" + } + }, + { + "path": "bank/detail", + "style": { + "navigationBarTitleText": "银行详情" + } + }, + { + "path": "supervise/list", + "style": { + "navigationBarTitleText": "合规检查" + } + }, + { + "path": "risk/list", + "style": { + "navigationBarTitleText": "风险预警" + } + }, + { + "path": "me/index", + "style": { + "navigationBarTitleText": "个人中心" + } + } + ] + }, + { + "root": "pagesInsurance", + "pages": [ + // GENERATED BY UNI-PAGES, PLATFORM: H5 + { + "path": "dashboard/index", + "style": { + "navigationBarTitleText": "保险工作台" + } + }, + { + "path": "policy/list", + "style": { + "navigationBarTitleText": "保单管理" + } + }, + { + "path": "policy/detail", + "style": { + "navigationBarTitleText": "保单详情" + } + }, + { + "path": "claim/list", + "style": { + "navigationBarTitleText": "理赔处理" + } + }, + { + "path": "claim/detail", + "style": { + "navigationBarTitleText": "理赔详情" + } + }, + { + "path": "bank/list", + "style": { + "navigationBarTitleText": "合作银行" + } + }, + { + "path": "me/index", + "style": { + "navigationBarTitleText": "个人中心" + } } ] } diff --git a/src/pages/login/index.vue b/src/pages/login/index.vue index a5a0a15..15ca3c5 100644 --- a/src/pages/login/index.vue +++ b/src/pages/login/index.vue @@ -25,6 +25,8 @@ const clientTypes = [ { type: ClientType.USER, ...CLIENT_TYPE_CONFIG[ClientType.USER] }, { type: ClientType.MERCHANT, ...CLIENT_TYPE_CONFIG[ClientType.MERCHANT] }, { type: ClientType.BANK, ...CLIENT_TYPE_CONFIG[ClientType.BANK] }, + { type: ClientType.GOVERNMENT, ...CLIENT_TYPE_CONFIG[ClientType.GOVERNMENT] }, + { type: ClientType.INSURANCE, ...CLIENT_TYPE_CONFIG[ClientType.INSURANCE] }, ] // 选择客户端类型 diff --git a/src/pagesGovernment/bank/detail.vue b/src/pagesGovernment/bank/detail.vue new file mode 100644 index 0000000..c20c65b --- /dev/null +++ b/src/pagesGovernment/bank/detail.vue @@ -0,0 +1,142 @@ + +{ + style: { + navigationBarTitleText: '银行详情', + navigationBarBackgroundColor: '#fff', + navigationBarTextStyle: 'black', + }, +} + + + + + + + diff --git a/src/pagesGovernment/bank/list.vue b/src/pagesGovernment/bank/list.vue new file mode 100644 index 0000000..f2fa32e --- /dev/null +++ b/src/pagesGovernment/bank/list.vue @@ -0,0 +1,161 @@ + +{ + style: { + navigationBarTitleText: '银行监管', + navigationBarBackgroundColor: '#fff', + navigationBarTextStyle: 'black', + }, +} + + + + + + + diff --git a/src/pagesGovernment/dashboard/index.vue b/src/pagesGovernment/dashboard/index.vue new file mode 100644 index 0000000..915da85 --- /dev/null +++ b/src/pagesGovernment/dashboard/index.vue @@ -0,0 +1,334 @@ + +{ + style: { + navigationBarTitleText: '政务工作台', + navigationBarBackgroundColor: '#0957DE', + navigationBarTextStyle: 'white', + }, +} + + + + + + + diff --git a/src/pagesGovernment/me/index.vue b/src/pagesGovernment/me/index.vue new file mode 100644 index 0000000..bf33a12 --- /dev/null +++ b/src/pagesGovernment/me/index.vue @@ -0,0 +1,98 @@ + +{ + style: { + navigationBarTitleText: '个人中心', + navigationBarBackgroundColor: '#0957DE', + navigationBarTextStyle: 'white', + }, +} + + + + + + + diff --git a/src/pagesGovernment/risk/list.vue b/src/pagesGovernment/risk/list.vue new file mode 100644 index 0000000..25042b1 --- /dev/null +++ b/src/pagesGovernment/risk/list.vue @@ -0,0 +1,128 @@ + +{ + style: { + navigationBarTitleText: '风险预警', + navigationBarBackgroundColor: '#fff', + navigationBarTextStyle: 'black', + }, +} + + + + + + + diff --git a/src/pagesGovernment/supervise/list.vue b/src/pagesGovernment/supervise/list.vue new file mode 100644 index 0000000..09c40ae --- /dev/null +++ b/src/pagesGovernment/supervise/list.vue @@ -0,0 +1,134 @@ + +{ + style: { + navigationBarTitleText: '贷款抽查', + navigationBarBackgroundColor: '#fff', + navigationBarTextStyle: 'black', + }, +} + + + + + + + diff --git a/src/pagesInsurance/bank/list.vue b/src/pagesInsurance/bank/list.vue new file mode 100644 index 0000000..028741d --- /dev/null +++ b/src/pagesInsurance/bank/list.vue @@ -0,0 +1,126 @@ + +{ + style: { + navigationBarTitleText: '合作银行', + }, +} + + + + + + + diff --git a/src/pagesInsurance/claim/detail.vue b/src/pagesInsurance/claim/detail.vue new file mode 100644 index 0000000..a46fd4e --- /dev/null +++ b/src/pagesInsurance/claim/detail.vue @@ -0,0 +1,200 @@ + +{ + style: { + navigationBarTitleText: '理赔详情', + }, +} + + + + + + + diff --git a/src/pagesInsurance/claim/list.vue b/src/pagesInsurance/claim/list.vue new file mode 100644 index 0000000..05c8a14 --- /dev/null +++ b/src/pagesInsurance/claim/list.vue @@ -0,0 +1,255 @@ + +{ + style: { + navigationBarTitleText: '理赔处理', + }, +} + + + + + + + diff --git a/src/pagesInsurance/dashboard/index.vue b/src/pagesInsurance/dashboard/index.vue new file mode 100644 index 0000000..fac607f --- /dev/null +++ b/src/pagesInsurance/dashboard/index.vue @@ -0,0 +1,355 @@ + +{ + style: { + navigationBarTitleText: '保险工作台', + navigationBarBackgroundColor: '#0957DE', + navigationBarTextStyle: 'white', + }, +} + + + + + + + diff --git a/src/pagesInsurance/me/index.vue b/src/pagesInsurance/me/index.vue new file mode 100644 index 0000000..2d4b28c --- /dev/null +++ b/src/pagesInsurance/me/index.vue @@ -0,0 +1,103 @@ + +{ + style: { + navigationBarTitleText: '个人中心', + navigationBarBackgroundColor: '#0957DE', + navigationBarTextStyle: 'white', + }, +} + + + + + + + diff --git a/src/pagesInsurance/policy/detail.vue b/src/pagesInsurance/policy/detail.vue new file mode 100644 index 0000000..6cb7a89 --- /dev/null +++ b/src/pagesInsurance/policy/detail.vue @@ -0,0 +1,231 @@ + +{ + style: { + navigationBarTitleText: '保单详情', + }, +} + + + + + + + diff --git a/src/pagesInsurance/policy/list.vue b/src/pagesInsurance/policy/list.vue new file mode 100644 index 0000000..092fa74 --- /dev/null +++ b/src/pagesInsurance/policy/list.vue @@ -0,0 +1,275 @@ + +{ + style: { + navigationBarTitleText: '保单管理', + }, +} + + + + + + + diff --git a/src/store/user.ts b/src/store/user.ts index a36141c..d773bdb 100644 --- a/src/store/user.ts +++ b/src/store/user.ts @@ -12,6 +12,8 @@ export enum ClientType { USER = 'user', MERCHANT = 'merchant', BANK = 'bank', + GOVERNMENT = 'government', + INSURANCE = 'insurance', } /** 客户端类型配置 */ @@ -37,6 +39,20 @@ export const CLIENT_TYPE_CONFIG = { description: '账款审核、金融服务', homePage: '/pagesBank/dashboard/index', }, + [ClientType.GOVERNMENT]: { + label: '政务端', + icon: 'i-carbon-building-government', + color: '#d53f8c', + description: '合规监管、风险预警', + homePage: '/pagesGovernment/dashboard/index', + }, + [ClientType.INSURANCE]: { + label: '保险端', + icon: 'i-carbon-umbrella', + color: '#3182ce', + description: '保单管理、理赔服务', + homePage: '/pagesInsurance/dashboard/index', + }, } export const useUserStore = defineStore('user', { diff --git a/src/tabbar/config.ts b/src/tabbar/config.ts index 1277874..8a714fc 100644 --- a/src/tabbar/config.ts +++ b/src/tabbar/config.ts @@ -123,13 +123,71 @@ export const bankTabbarList: CustomTabBarItem[] = [ }, ] +// ==================== 政务端 Tabbar 配置 ==================== +export const governmentTabbarList: CustomTabBarItem[] = [ + { + text: '工作台', + pagePath: 'pagesGovernment/dashboard/index', + iconType: 'unocss', + icon: 'i-carbon-dashboard', + }, + { + pagePath: 'pagesGovernment/supervise/list', + text: '检查', + iconType: 'unocss', + icon: 'i-carbon-task', + }, + { + pagePath: 'pagesGovernment/report/list', + text: '报表', + iconType: 'unocss', + icon: 'i-carbon-document', + }, + { + pagePath: 'pagesGovernment/me/index', + text: '我的', + iconType: 'unocss', + icon: 'i-carbon-user', + }, +] + +// ==================== 保险端 Tabbar 配置 ==================== +export const insuranceTabbarList: CustomTabBarItem[] = [ + { + text: '工作台', + pagePath: 'pagesInsurance/dashboard/index', + iconType: 'unocss', + icon: 'i-carbon-dashboard', + }, + { + pagePath: 'pagesInsurance/policy/list', + text: '保单', + iconType: 'unocss', + icon: 'i-carbon-document-protected', + }, + { + pagePath: 'pagesInsurance/claim/list', + text: '理赔', + iconType: 'unocss', + icon: 'i-carbon-request-quote', + }, + { + pagePath: 'pagesInsurance/me/index', + text: '我的', + iconType: 'unocss', + icon: 'i-carbon-user', + }, +] + // 根据客户端类型获取对应的 tabbar 配置 -export type ClientTypeKey = 'user' | 'merchant' | 'bank' +export type ClientTypeKey = 'user' | 'merchant' | 'bank' | 'government' | 'insurance' export function getTabbarListByClientType(clientType: ClientTypeKey): CustomTabBarItem[] { const tabbarMap: Record = { user: userTabbarList, merchant: merchantTabbarList, bank: bankTabbarList, + government: governmentTabbarList, + insurance: insuranceTabbarList, } return tabbarMap[clientType] || userTabbarList }