diff --git a/docs/sql/migrations/2026-09-11-mini-bx-menus.sql b/docs/sql/migrations/2026-09-11-mini-bx-menus.sql
new file mode 100644
index 000000000..1ba5dbaf1
--- /dev/null
+++ b/docs/sql/migrations/2026-09-11-mini-bx-menus.sql
@@ -0,0 +1,200 @@
+-- 小程序报销:移动端菜单 + 超级管理员授权(Batch 1)
+-- 设计: docs/superpowers/specs/2026-09-11-mini-bx-from-bx-mobile-design.md
+--
+-- 结构:
+-- 移动端 (id=1)
+-- └─ 报销管理 (MINI_BX_ROOT, M)
+-- ├─ 备用金申请 mini:bx:advanceApply:list
+-- ├─ 报销申请 mini:bx:reimburseApply:list
+-- ├─ 我的申请单 mini:bx:viewMine:list
+-- ├─ 全部申请单 mini:bx:viewAll:list
+-- ├─ 我的发票夹 mini:bx:invoiceWallet:mine
+-- ├─ 发票夹管理 mini:bx:invoiceWallet:admin
+-- ├─ 费用项目 mini:bx:expenseItem:list
+-- ├─ 工作流(备用金) mini:bx:workflowAdvance:list
+-- └─ 工作流(报销) mini:bx:workflowReimburse:list
+--
+-- 授权:仅 role_name='超级管理员';其它角色在角色管理手工勾选。
+-- 执行环境:测试库(backend/.env)与生产库(backend/.env.production)数据库名均为 shanxia2.0。
+
+SET NAMES utf8mb4;
+
+INSERT INTO `sys_menu` (
+ `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
+ `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
+ `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
+)
+SELECT
+ 'MINI_BX_ROOT', '报销管理', '1', 'M', '/mini/bx', NULL, NULL,
+ 1, '1', '1', 'shanxia2.0', 2, '小程序报销模块(自 bx-mobile 迁移)',
+ 'system', '', NOW(), NULL, NOW(), 0
+FROM DUAL
+WHERE NOT EXISTS (
+ SELECT 1 FROM `sys_menu` WHERE `id` = 'MINI_BX_ROOT' AND `del_flag` = 0
+);
+
+INSERT INTO `sys_menu` (
+ `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
+ `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
+ `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
+)
+SELECT
+ 'MINI_BX_ADVANCE_APPLY', '备用金申请', 'MINI_BX_ROOT', 'C', 'advance-apply', NULL, 'mini:bx:advanceApply:list',
+ 1, '1', '1', 'shanxia2.0', 1, NULL,
+ 'system', '', NOW(), NULL, NOW(), 0
+FROM DUAL
+WHERE NOT EXISTS (
+ SELECT 1 FROM `sys_menu` WHERE `id` = 'MINI_BX_ADVANCE_APPLY' AND `del_flag` = 0
+);
+
+INSERT INTO `sys_menu` (
+ `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
+ `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
+ `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
+)
+SELECT
+ 'MINI_BX_REIMBURSE_APPLY', '报销申请', 'MINI_BX_ROOT', 'C', 'reimburse-apply', NULL, 'mini:bx:reimburseApply:list',
+ 1, '1', '1', 'shanxia2.0', 2, NULL,
+ 'system', '', NOW(), NULL, NOW(), 0
+FROM DUAL
+WHERE NOT EXISTS (
+ SELECT 1 FROM `sys_menu` WHERE `id` = 'MINI_BX_REIMBURSE_APPLY' AND `del_flag` = 0
+);
+
+INSERT INTO `sys_menu` (
+ `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
+ `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
+ `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
+)
+SELECT
+ 'MINI_BX_VIEW_MINE', '我的申请单', 'MINI_BX_ROOT', 'C', 'mine', NULL, 'mini:bx:viewMine:list',
+ 1, '1', '1', 'shanxia2.0', 3, NULL,
+ 'system', '', NOW(), NULL, NOW(), 0
+FROM DUAL
+WHERE NOT EXISTS (
+ SELECT 1 FROM `sys_menu` WHERE `id` = 'MINI_BX_VIEW_MINE' AND `del_flag` = 0
+);
+
+INSERT INTO `sys_menu` (
+ `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
+ `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
+ `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
+)
+SELECT
+ 'MINI_BX_VIEW_ALL', '全部申请单', 'MINI_BX_ROOT', 'C', 'all', NULL, 'mini:bx:viewAll:list',
+ 1, '1', '1', 'shanxia2.0', 4, NULL,
+ 'system', '', NOW(), NULL, NOW(), 0
+FROM DUAL
+WHERE NOT EXISTS (
+ SELECT 1 FROM `sys_menu` WHERE `id` = 'MINI_BX_VIEW_ALL' AND `del_flag` = 0
+);
+
+INSERT INTO `sys_menu` (
+ `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
+ `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
+ `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
+)
+SELECT
+ 'MINI_BX_INVOICE_MINE', '我的发票夹', 'MINI_BX_ROOT', 'C', 'invoice-mine', NULL, 'mini:bx:invoiceWallet:mine',
+ 1, '1', '1', 'shanxia2.0', 5, NULL,
+ 'system', '', NOW(), NULL, NOW(), 0
+FROM DUAL
+WHERE NOT EXISTS (
+ SELECT 1 FROM `sys_menu` WHERE `id` = 'MINI_BX_INVOICE_MINE' AND `del_flag` = 0
+);
+
+INSERT INTO `sys_menu` (
+ `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
+ `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
+ `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
+)
+SELECT
+ 'MINI_BX_INVOICE_ADMIN', '发票夹管理', 'MINI_BX_ROOT', 'C', 'invoice-admin', NULL, 'mini:bx:invoiceWallet:admin',
+ 1, '1', '1', 'shanxia2.0', 6, NULL,
+ 'system', '', NOW(), NULL, NOW(), 0
+FROM DUAL
+WHERE NOT EXISTS (
+ SELECT 1 FROM `sys_menu` WHERE `id` = 'MINI_BX_INVOICE_ADMIN' AND `del_flag` = 0
+);
+
+INSERT INTO `sys_menu` (
+ `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
+ `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
+ `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
+)
+SELECT
+ 'MINI_BX_EXPENSE_ITEM', '费用项目', 'MINI_BX_ROOT', 'C', 'expense-item', NULL, 'mini:bx:expenseItem:list',
+ 1, '1', '1', 'shanxia2.0', 7, NULL,
+ 'system', '', NOW(), NULL, NOW(), 0
+FROM DUAL
+WHERE NOT EXISTS (
+ SELECT 1 FROM `sys_menu` WHERE `id` = 'MINI_BX_EXPENSE_ITEM' AND `del_flag` = 0
+);
+
+INSERT INTO `sys_menu` (
+ `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
+ `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
+ `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
+)
+SELECT
+ 'MINI_BX_WF_ADVANCE', '工作流(备用金)', 'MINI_BX_ROOT', 'C', 'wf-advance', NULL, 'mini:bx:workflowAdvance:list',
+ 1, '1', '1', 'shanxia2.0', 8, NULL,
+ 'system', '', NOW(), NULL, NOW(), 0
+FROM DUAL
+WHERE NOT EXISTS (
+ SELECT 1 FROM `sys_menu` WHERE `id` = 'MINI_BX_WF_ADVANCE' AND `del_flag` = 0
+);
+
+INSERT INTO `sys_menu` (
+ `id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
+ `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
+ `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
+)
+SELECT
+ 'MINI_BX_WF_REIMBURSE', '工作流(报销)', 'MINI_BX_ROOT', 'C', 'wf-reimburse', NULL, 'mini:bx:workflowReimburse:list',
+ 1, '1', '1', 'shanxia2.0', 9, NULL,
+ 'system', '', NOW(), NULL, NOW(), 0
+FROM DUAL
+WHERE NOT EXISTS (
+ SELECT 1 FROM `sys_menu` WHERE `id` = 'MINI_BX_WF_REIMBURSE' AND `del_flag` = 0
+);
+
+INSERT INTO `sys_role_menu` (
+ `id`, `role_id`, `menu_id`, `tenant_no`, `order_num`, `remark`,
+ `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
+)
+SELECT
+ MD5(CONCAT(r.id, '|', m.menu_id, '|mini-bx')),
+ r.id,
+ m.menu_id,
+ r.tenant_no,
+ 0,
+ 'mini bx menus',
+ 'system',
+ '',
+ NOW(),
+ NULL,
+ NOW(),
+ 0
+FROM `sys_role` r
+INNER JOIN (
+ SELECT 'MINI_BX_ROOT' AS menu_id
+ UNION ALL SELECT 'MINI_BX_ADVANCE_APPLY'
+ UNION ALL SELECT 'MINI_BX_REIMBURSE_APPLY'
+ UNION ALL SELECT 'MINI_BX_VIEW_MINE'
+ UNION ALL SELECT 'MINI_BX_VIEW_ALL'
+ UNION ALL SELECT 'MINI_BX_INVOICE_MINE'
+ UNION ALL SELECT 'MINI_BX_INVOICE_ADMIN'
+ UNION ALL SELECT 'MINI_BX_EXPENSE_ITEM'
+ UNION ALL SELECT 'MINI_BX_WF_ADVANCE'
+ UNION ALL SELECT 'MINI_BX_WF_REIMBURSE'
+) m
+WHERE r.role_name = '超级管理员'
+ AND r.tenant_no = 'shanxia2.0'
+ AND r.del_flag = 0
+ AND NOT EXISTS (
+ SELECT 1 FROM `sys_role_menu` x
+ WHERE x.role_id = r.id
+ AND x.menu_id = m.menu_id
+ AND x.del_flag = 0
+ );
diff --git a/docs/superpowers/plans/2026-09-11-mini-bx-batch1-menus.md b/docs/superpowers/plans/2026-09-11-mini-bx-batch1-menus.md
new file mode 100644
index 000000000..8127b2999
--- /dev/null
+++ b/docs/superpowers/plans/2026-09-11-mini-bx-batch1-menus.md
@@ -0,0 +1,29 @@
+# 小程序报销 Batch1:菜单权限 + 占位入口 Implementation Plan
+
+> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
+
+**Goal:** 在移动端挂「报销管理」9 个叶子菜单(`mini:bx:*`),测产双库执行;工作台露出入口并进入占位页。
+
+**Architecture:** 幂等 SQL(对齐 MINI_DB_* 模式)+ workbench-menus perms + PAGE_PATHS/ROUTE_MAP + 9 个占位 vue(mp-shell 风格,后续批次再上 vant-weapp 业务页)。
+
+**Tech Stack:** MySQL、uni-app、现有 menu-codes 过滤
+
+**Spec:** `docs/superpowers/specs/2026-09-11-mini-bx-from-bx-mobile-design.md` § Batch 1
+
+---
+
+## 文件结构
+
+| 操作 | 文件 |
+|------|------|
+| Create | `docs/sql/migrations/2026-09-11-mini-bx-menus.sql` |
+| Create | `miniprogram/pages/bx/*/placeholder.vue`(9 页,可共用一个组件模板) |
+| Modify | `miniprogram/config/workbench-menus.js` |
+| Modify | `miniprogram/config/api.js` |
+| Modify | `miniprogram/pages.json` |
+
+### Task 1: SQL + 双库执行
+### Task 2: workbench menus + routes + pages.json + 9 placeholders
+### Task 3: 验收过滤与提交
+
+(详细步骤见执行会话;SQL 内容以 design 表为准。)
diff --git a/miniprogram/components/bx-ui/bx-placeholder-page.vue b/miniprogram/components/bx-ui/bx-placeholder-page.vue
new file mode 100644
index 000000000..a5f942705
--- /dev/null
+++ b/miniprogram/components/bx-ui/bx-placeholder-page.vue
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+ {{ title }}
+
+ 菜单与权限已开通。列表 / 表单 / 详情将按批次从 bx-mobile 迁入,接口复用现有报销 API。
+
+
+
+
+
+
diff --git a/miniprogram/config/api.js b/miniprogram/config/api.js
index 3fff30ef1..89a4e7728 100644
--- a/miniprogram/config/api.js
+++ b/miniprogram/config/api.js
@@ -48,7 +48,16 @@ export const PAGE_PATHS = {
dbInventoryList: '/pages/db/inventory/list',
dbInventoryDetail: '/pages/db/inventory/detail',
dbWeighingList: '/pages/db/weighing/list',
- dbWeighingDetail: '/pages/db/weighing/detail'
+ dbWeighingDetail: '/pages/db/weighing/detail',
+ bxAdvanceApply: '/pages/bx/advance/list',
+ bxReimburseApply: '/pages/bx/reimburse/list',
+ bxMine: '/pages/bx/mine/list',
+ bxAll: '/pages/bx/all/list',
+ bxInvoiceMine: '/pages/bx/invoice/mine',
+ bxInvoiceAdmin: '/pages/bx/invoice/admin',
+ bxExpenseItem: '/pages/bx/admin/expense-item',
+ bxWfAdvance: '/pages/bx/admin/wf-advance',
+ bxWfReimburse: '/pages/bx/admin/wf-reimburse'
}
/** 工作台菜单 code → 页面路径 */
@@ -56,7 +65,16 @@ export const WORKBENCH_ROUTE_MAP = {
'db-dashboard': PAGE_PATHS.dbDashboard,
'db-plans': PAGE_PATHS.dbPlansList,
'db-inventory': PAGE_PATHS.dbInventoryList,
- 'db-weighing': PAGE_PATHS.dbWeighingList
+ 'db-weighing': PAGE_PATHS.dbWeighingList,
+ 'bx-advance-apply': PAGE_PATHS.bxAdvanceApply,
+ 'bx-reimburse-apply': PAGE_PATHS.bxReimburseApply,
+ 'bx-mine': PAGE_PATHS.bxMine,
+ 'bx-all': PAGE_PATHS.bxAll,
+ 'bx-invoice-mine': PAGE_PATHS.bxInvoiceMine,
+ 'bx-invoice-admin': PAGE_PATHS.bxInvoiceAdmin,
+ 'bx-expense-item': PAGE_PATHS.bxExpenseItem,
+ 'bx-wf-advance': PAGE_PATHS.bxWfAdvance,
+ 'bx-wf-reimburse': PAGE_PATHS.bxWfReimburse
}
export const TOKEN_KEY = 'sx_token'
diff --git a/miniprogram/config/workbench-menus.js b/miniprogram/config/workbench-menus.js
index 1ea53662d..5fc6641fb 100644
--- a/miniprogram/config/workbench-menus.js
+++ b/miniprogram/config/workbench-menus.js
@@ -25,19 +25,19 @@ export const WORKBENCH_MODULES = [
{
key: 'bx',
title: '报销管理',
- desc: '借款 · 报销 · 审批 · 付款',
+ desc: '备用金 · 报销 · 发票 · 配置',
iconText: '报销',
- visible: false,
+ visible: true,
menus: [
- { name: '待办任务', enabled: false, code: 'bx-todo', icon: '📝' },
- { name: '报销申请', enabled: false, code: 'bx-reimburse-apply', icon: '🧾' },
- { name: '报销审批', enabled: false, code: 'bx-reimburse-approve', icon: '✔️' },
- { name: '借款申请', enabled: false, code: 'bx-advance-apply', icon: '💳' },
- { name: '借款审批', enabled: false, code: 'bx-advance-approve', icon: '🔍' },
- { name: '借款发放', enabled: false, icon: '💸' },
- { name: '我的单据', enabled: false, code: 'bx-mine', icon: '📋' },
- { name: '全部单据', enabled: false, icon: '📚' },
- { name: '付款记录', enabled: false, icon: '🏦' }
+ { name: '备用金申请', enabled: true, code: 'bx-advance-apply', icon: '💳', perms: 'mini:bx:advanceApply:list' },
+ { name: '报销申请', enabled: true, code: 'bx-reimburse-apply', icon: '🧾', perms: 'mini:bx:reimburseApply:list' },
+ { name: '我的申请单', enabled: true, code: 'bx-mine', icon: '📋', perms: 'mini:bx:viewMine:list' },
+ { name: '全部申请单', enabled: true, code: 'bx-all', icon: '📚', perms: 'mini:bx:viewAll:list' },
+ { name: '我的发票夹', enabled: true, code: 'bx-invoice-mine', icon: '📷', perms: 'mini:bx:invoiceWallet:mine' },
+ { name: '发票夹管理', enabled: true, code: 'bx-invoice-admin', icon: '🗂️', perms: 'mini:bx:invoiceWallet:admin' },
+ { name: '费用项目', enabled: true, code: 'bx-expense-item', icon: '🌳', perms: 'mini:bx:expenseItem:list' },
+ { name: '工作流(备用金)', enabled: true, code: 'bx-wf-advance', icon: '⚙️', perms: 'mini:bx:workflowAdvance:list' },
+ { name: '工作流(报销)', enabled: true, code: 'bx-wf-reimburse', icon: '🔧', perms: 'mini:bx:workflowReimburse:list' }
]
},
{
diff --git a/miniprogram/pages.json b/miniprogram/pages.json
index 9e0af4075..1472aba61 100644
--- a/miniprogram/pages.json
+++ b/miniprogram/pages.json
@@ -52,98 +52,6 @@
"navigationStyle": "custom"
}
},
- {
- "path": "pages/crm/product-category/list",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/crm/product-category/form",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/crm/clue/list",
- "style": { "navigationStyle": "custom", "enablePullDownRefresh": false }
- },
- {
- "path": "pages/crm/clue/detail",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/crm/clue/form",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/crm/opportunity/list",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/crm/opportunity/detail",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/crm/customer/list",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/crm/customer/detail",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/crm/pool/list",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/crm/quote/list",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/crm/quote/detail",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/crm/contract/list",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/crm/contract/detail",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/bx/todo/list",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/bx/reimburse/list",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/bx/reimburse/form",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/bx/reimburse/detail",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/bx/advance/list",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/bx/advance/form",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/bx/advance/detail",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/bx/approve/list",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/bx/mine/list",
- "style": { "navigationStyle": "custom" }
- },
{
"path": "pages/db/dashboard/index",
"style": { "navigationStyle": "custom" }
@@ -156,14 +64,6 @@
"path": "pages/db/plans/detail",
"style": { "navigationStyle": "custom" }
},
- {
- "path": "pages/db/weighing/list",
- "style": { "navigationStyle": "custom" }
- },
- {
- "path": "pages/db/weighing/detail",
- "style": { "navigationStyle": "custom" }
- },
{
"path": "pages/db/inventory/list",
"style": { "navigationStyle": "custom" }
@@ -173,40 +73,48 @@
"style": { "navigationStyle": "custom" }
},
{
- "path": "pages/pl/plan/list",
+ "path": "pages/db/weighing/list",
"style": { "navigationStyle": "custom" }
},
{
- "path": "pages/pl/plan/detail",
+ "path": "pages/db/weighing/detail",
"style": { "navigationStyle": "custom" }
},
{
- "path": "pages/pl/plan/arrange",
- "style": { "navigationStyle": "custom" }
+ "path": "pages/bx/advance/list",
+ "style": { "navigationStyle": "custom", "navigationBarTitleText": "备用金申请" }
},
{
- "path": "pages/pl/archive/list",
- "style": { "navigationStyle": "custom" }
+ "path": "pages/bx/reimburse/list",
+ "style": { "navigationStyle": "custom", "navigationBarTitleText": "报销申请" }
},
{
- "path": "pages/pl/cert/list",
- "style": { "navigationStyle": "custom" }
+ "path": "pages/bx/mine/list",
+ "style": { "navigationStyle": "custom", "navigationBarTitleText": "我的申请单" }
},
{
- "path": "pages/pl/cert/detail",
- "style": { "navigationStyle": "custom" }
+ "path": "pages/bx/all/list",
+ "style": { "navigationStyle": "custom", "navigationBarTitleText": "全部申请单" }
},
{
- "path": "pages/pl/freight/list",
- "style": { "navigationStyle": "custom" }
+ "path": "pages/bx/invoice/mine",
+ "style": { "navigationStyle": "custom", "navigationBarTitleText": "我的发票夹" }
},
{
- "path": "pages/pl/freight/detail",
- "style": { "navigationStyle": "custom" }
+ "path": "pages/bx/invoice/admin",
+ "style": { "navigationStyle": "custom", "navigationBarTitleText": "发票夹管理" }
},
{
- "path": "pages/pl/freight/approval",
- "style": { "navigationStyle": "custom" }
+ "path": "pages/bx/admin/expense-item",
+ "style": { "navigationStyle": "custom", "navigationBarTitleText": "费用项目" }
+ },
+ {
+ "path": "pages/bx/admin/wf-advance",
+ "style": { "navigationStyle": "custom", "navigationBarTitleText": "工作流(备用金)" }
+ },
+ {
+ "path": "pages/bx/admin/wf-reimburse",
+ "style": { "navigationStyle": "custom", "navigationBarTitleText": "工作流(报销)" }
}
// #ifdef H5
,
@@ -286,9 +194,6 @@
}
},
"easycom": {
- "autoscan": true,
- "custom": {
- "^van-(.*)": "vant/lib/$1/index.js"
- }
+ "autoscan": true
}
}
diff --git a/miniprogram/pages/bx/admin/expense-item.vue b/miniprogram/pages/bx/admin/expense-item.vue
new file mode 100644
index 000000000..963fb45c9
--- /dev/null
+++ b/miniprogram/pages/bx/admin/expense-item.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/miniprogram/pages/bx/admin/wf-advance.vue b/miniprogram/pages/bx/admin/wf-advance.vue
new file mode 100644
index 000000000..7b952015e
--- /dev/null
+++ b/miniprogram/pages/bx/admin/wf-advance.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/miniprogram/pages/bx/admin/wf-reimburse.vue b/miniprogram/pages/bx/admin/wf-reimburse.vue
new file mode 100644
index 000000000..d2a4b29c6
--- /dev/null
+++ b/miniprogram/pages/bx/admin/wf-reimburse.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/miniprogram/pages/bx/advance/detail.vue b/miniprogram/pages/bx/advance/detail.vue
deleted file mode 100644
index d4e3f433e..000000000
--- a/miniprogram/pages/bx/advance/detail.vue
+++ /dev/null
@@ -1,141 +0,0 @@
-
-
-
-
-
-
-
-
-
- {{ dash(detail.applyCode) }}
- {{ dash(detail.reason) }}
-
-
- {{ bxStatusLabel(detail.status).text }}
-
-
-
- {{ formatMoney(detail.amount) }}
- {{ dash(detail.applicantName) }}
-
-
-
-
- 基本信息
-
- 用途{{ dash(detail?.purpose) }}
- 申请时间{{ dash(detail?.applyTime) }}
- 当前节点{{ dash(detail?.currentNode) }}
- 发放状态{{ dash(detail?.issueStatus) }}
- 备注{{ dash(detail?.remark) }}
-
-
-
-
- 审批记录
-
-
- {{ dash(h.approverName || h.nodeName) }}
- {{ dash(h.approvalStatus) }} · {{ dash(h.approvalOpinion) }}
-
-
-
-
-
-
- {{ acting ? '…' : '提交审批' }}
-
-
- 驳回
- 通过
-
-
-
-
diff --git a/miniprogram/pages/bx/advance/form.vue b/miniprogram/pages/bx/advance/form.vue
deleted file mode 100644
index 9d5594a0a..000000000
--- a/miniprogram/pages/bx/advance/form.vue
+++ /dev/null
@@ -1,153 +0,0 @@
-
-
-
-
-
-
-
-
- 借款事由
-
-
-
- 用途
-
-
-
- 金额(元)
-
-
-
- 费用项目
- {{ form.expenseLabel || '可选,点击选择' }}
-
-
- 备注
-
-
-
- 凭证照片
-
-
-
- ×
-
- + 拍照
-
-
-
-
-
- {{ submitting ? '…' : '存草稿' }}
- {{ submitting ? '…' : '提交审批' }}
-
-
-
diff --git a/miniprogram/pages/bx/advance/list.vue b/miniprogram/pages/bx/advance/list.vue
index b3361feff..31bf70db4 100644
--- a/miniprogram/pages/bx/advance/list.vue
+++ b/miniprogram/pages/bx/advance/list.vue
@@ -1,88 +1,7 @@
-
-
-
-
-
-
-
-
-
-
-
- {{ dash(row.applyCode) }}
- {{ dash(row.reason) }}
-
-
- {{ bxStatusLabel(row.status).text }}
-
-
-
- 申请时间
- {{ dash(row.applyTime) }}
-
-
-
-
- 加载中…
- 已加载全部
-
-
+
+
+
diff --git a/miniprogram/pages/bx/all/list.vue b/miniprogram/pages/bx/all/list.vue
new file mode 100644
index 000000000..e956b46a3
--- /dev/null
+++ b/miniprogram/pages/bx/all/list.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/miniprogram/pages/bx/approve/list.vue b/miniprogram/pages/bx/approve/list.vue
deleted file mode 100644
index 5cb25796c..000000000
--- a/miniprogram/pages/bx/approve/list.vue
+++ /dev/null
@@ -1,137 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- {{ dash(row.applyCode) }}
-
- {{ bizType === 'advance' ? dash(row.reason) : dash(row.expenseName || row.title) }}
-
-
-
- {{ bxStatusLabel(row.status).text }}
-
-
-
- 申请人
- {{ dash(row.applicantName) }}
-
-
-
-
- 加载中…
- 已加载全部
-
-
-
diff --git a/miniprogram/pages/bx/invoice/admin.vue b/miniprogram/pages/bx/invoice/admin.vue
new file mode 100644
index 000000000..33495d608
--- /dev/null
+++ b/miniprogram/pages/bx/invoice/admin.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/miniprogram/pages/bx/invoice/mine.vue b/miniprogram/pages/bx/invoice/mine.vue
new file mode 100644
index 000000000..775992565
--- /dev/null
+++ b/miniprogram/pages/bx/invoice/mine.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/miniprogram/pages/bx/mine/list.vue b/miniprogram/pages/bx/mine/list.vue
index 797af63e7..7e94445f0 100644
--- a/miniprogram/pages/bx/mine/list.vue
+++ b/miniprogram/pages/bx/mine/list.vue
@@ -1,141 +1,7 @@
-
-
-
-
-
-
-
-
- {{ t.label }}
-
-
-
-
-
-
-
-
-
-
- {{ row._title }}
- {{ row._sub }}
-
-
- {{ bxStatusLabel(row.status).text }}
-
-
-
- 申请时间
- {{ dash(row.applyTime) }}
-
-
-
-
- 加载中…
- 已加载全部
-
-
+
+
+
diff --git a/miniprogram/pages/bx/reimburse/detail.vue b/miniprogram/pages/bx/reimburse/detail.vue
deleted file mode 100644
index c86340e6c..000000000
--- a/miniprogram/pages/bx/reimburse/detail.vue
+++ /dev/null
@@ -1,181 +0,0 @@
-
-
-
-
-
-
-
-
-
- {{ dash(detail.applyCode) }}
- {{ dash(detail.title) }}
-
-
- {{ bxStatusLabel(detail.status).text }}
-
-
-
- {{ formatMoney(detail.amount) }}
- {{ dash(detail.applicantName) }}
-
-
-
-
- 基本信息
-
- 费用项目{{ dash(detail?.expenseName) }}
- 报销日期{{ dash(detail?.reimburseDate) }}
- 申请时间{{ dash(detail?.applyTime) }}
- 当前节点{{ dash(detail?.currentNode) }}
- 备注{{ dash(detail?.remark) }}
-
-
-
-
- 明细
-
-
-
- {{ dash(d.expenseName) }}
- {{ formatMoney(d.amount) }}
-
- {{ dash(d.remark) }}
-
-
-
-
-
- 票据
-
-
-
-
-
-
-
-
- 审批记录
-
-
- {{ dash(h.approverName || h.nodeName) }}
- {{ dash(h.approvalStatus) }} · {{ dash(h.approvalOpinion) }}
-
-
-
-
-
-
- {{ acting ? '…' : '提交审批' }}
-
-
- 驳回
- 通过
-
-
-
-
diff --git a/miniprogram/pages/bx/reimburse/form.vue b/miniprogram/pages/bx/reimburse/form.vue
deleted file mode 100644
index 088e596f9..000000000
--- a/miniprogram/pages/bx/reimburse/form.vue
+++ /dev/null
@@ -1,190 +0,0 @@
-
-
-
-
-
-
-
-
- 标题
-
-
-
- 报销日期
- { form.reimburseDate = e.detail.value; refreshTitle() }">
- {{ form.reimburseDate }}
-
-
-
- 费用项目
- {{ form.expenseLabel || '点击选择' }}
-
-
- 金额(元)
-
-
-
- 明细说明
-
-
-
- 备注
-
-
-
- 票据照片
-
-
-
- ×
-
- + 拍照
-
-
-
-
-
- {{ submitting ? '…' : '存草稿' }}
- {{ submitting ? '…' : '提交审批' }}
-
-
-
diff --git a/miniprogram/pages/bx/reimburse/list.vue b/miniprogram/pages/bx/reimburse/list.vue
index 22113fe0c..2e3e06e65 100644
--- a/miniprogram/pages/bx/reimburse/list.vue
+++ b/miniprogram/pages/bx/reimburse/list.vue
@@ -1,88 +1,7 @@
-
-
-
-
-
-
-
-
-
-
-
- {{ dash(row.applyCode) }}
- {{ dash(row.expenseName || row.title) }}
-
-
- {{ bxStatusLabel(row.status).text }}
-
-
-
- 申请时间
- {{ dash(row.applyTime) }}
-
-
-
-
- 加载中…
- 已加载全部
-
-
+
+
+
diff --git a/miniprogram/pages/bx/todo/list.vue b/miniprogram/pages/bx/todo/list.vue
deleted file mode 100644
index c94de5a4a..000000000
--- a/miniprogram/pages/bx/todo/list.vue
+++ /dev/null
@@ -1,207 +0,0 @@
-
-
-
-
-
-
-
-
-
- {{ t.label }}
-
-
-
-
-
-
-
-
-
-
- {{ row._title }}
- {{ row._sub }}
-
-
- {{ bxStatusLabel(row.status).text }}
-
-
-
- 申请人
- {{ dash(row.applicantName) }}
-
-
- 申请时间
- {{ dash(row.applyTime) }}
-
-
-
-
- 加载中…
- 已加载全部
-
-
-