汪总活动展览设备管理系统 · 原型页面使用说明
配套 40 页高保真原型使用:PC 管理后台 30 页 + 微信小程序 10 屏。本说明集中了原本散落在各页面的讲解文字,页面本体像真系统一样可以直接点。
一、怎么逛这套原型
入口:双击打开 prototype/index.html,目录页的方块与 PC 左侧菜单一一对应:入口 + 经营概览 / 业务管理 / 进销存 / 系统管理 / 配置中心 五个菜单分组共 17 个菜单,小程序端按日常办公 / 进销存开单两组列 10 屏(目录页这两组只是找页面上的分区,PC11 / PC12 的小程序权限树按底部 tab + 工作台入口归 4 个分组),共 40 页,每张卡片都能点进去。
建议路线:PC2 经营驾驶舱(切日期区间看 18 项怎么变,「老板一张表」页签即老板看数的全量 18 项)→ PC3 项目列表 → PC4 项目详情 → PC8 库存查询 → PC20 出入库管理 → M7 入库 / M8 出库(手机开单)→ M0 登录 → M1 工作台 → M2 报销 → M3 审批 → PC6 审批中心 → PC16 单据配置 → PC17 审批流程配置 → PC9~PC12、PC18 系统管理。
两端关系:PC 后台供内勤、财务、库管操作,老板在电脑上看报表;小程序供一线员工随手填单、开出入库单、领导随手审批。两端共用同一套演示数据口径(见第四节),彼此可交叉跳转。
仿真交互:页面里的新增、编辑、删除、停用、启用、审批同意 / 驳回 / 加签 / 撤回、搜索、下拉筛选、页签切换、开关、勾选权限、出入库开单与合计,都是真能操作的:弹窗会真开、表单能真填、保存后列表真的增行或改内容、搜索即时过滤,多组筛选条件(日期区间 + 下拉 + 关键词)会叠加生效;分页码只切换高亮并提示「原型仅内置首页演示数据」。这些行为只在前端仿真,不接后台。
已知设计约定(不是缺陷):
- 页面上的增删改只在当前页生效,刷新后恢复演示数据;从其它页带过来的新增行、勾选状态存在会话内(关掉页签即回演示原值)。例外是三条主数据链路:员工 PC10 / PC10a / PC10b,客户 PC5 / PC5a / PC5b,供应商 PC15 / PC15a / PC15b,以及设备 PC14 / PC14a / PC14b → PC20 / M9 / PC8:新增、编辑、删除都存在会话叠加层里,刷新与跨页都不丢、也不会各说一套(关掉页签仍然回到演示原值,方便您反复演示):台账里新建一台设备,开单下拉、手机选商品、库存查询当场就能选到它;刚建档还没入库的设备会被拦在出库单外,提示先走采购入库。
- 列表里新增的行不会回写到顶部合计数与驾驶舱数字——驾驶舱用的是第四节的固定演示口径,保证 18 项等式恒成立。
- 登录页的账号密码为演示用:老板 wangzonghai / 内勤 zhouqi / 员工 wangqiang,密码 wz2026,图形验证码必须照图填对才能进。
- 金额单位:驾驶舱与老板一张表用「万元」,业务单据(出入库、报销、采购付款)用「元」。
- 出入库与驾驶舱的统计口径 = 当期已提交的单据(含「待审核」在途),仅剔除已驳回。所以一张待审核的出库单已经进了设备销量排行与出入库流水,这是为了让您看到当期真实业务量;库存扣减与应收应付仍在审核通过那一刻才发生。
- 合计行跟着筛选走:凡是带筛选的表(PC3 / PC8 / PC10 / PC14 / PC20 四个页签 / PC23),合计与旁注都按筛出的行当场重算,筛到 0 条就是 0,并提示怎么恢复;筛空时分页按钮也会收起,不会留着一排点不动的页码。
- 人数口径:员工状态只有在职 / 禁用两档,在册就是在职人数;禁用单列,不计入在册也不计入部门在编(花名册保留全部历史员工),所以 PC10 分页那一行写「在册 30 人 · 另含禁用 1 人」。休假不再占状态位——人在岗就记在职,休不休由请假单与考勤体现;禁用就是停号(不能登录与提单、历史单据仍挂名下),启用后回在职并重新计入在册;本次会话删掉的人会真的从在册里减下来,在册数与分页条数同步下降。
- 危险动作一律二次确认:审批同意 / 驳回 / 加签 / 撤回、删除、停用与启用(库位、单据类型)、禁用与启用(员工)、重置密码,点下去先弹确认(驳回还要填必填理由),手机端与 PC 端同一个口径,不会一指误触就改单据状态;由
node tmp/confirmaudit.js 逐页扫,目前全站 33 处危险按钮全部已接确认。
- 单据类型名称只有一套:各页面里的单据类型文字(含小程序审批卡片、PC4 收支流水)统一取 PC16 单据配置里的名称,如 BX 单叫「报销申请」;M1 工作台的功能入口叫「发起报销」,与 PC12 小程序端权限树的菜单项逐字同名;M2 手机标题与 M5 统计行里的「费用报销」是同一个功能的口语名,不是单据类型。
- 审批链只有一套说法,权威源是 PC17:流程节点统一用「部门初审 → 财务复核 → 老板终审」这类节点名,PC16 摘要列、PC6 发起申请弹窗、小程序 M1 / M2 / M6 的审批人预览与 M3 审批时间轴,都是同一套节点名(小程序提交后的提示统一为「下一步:节点名(姓名)」)。注意区分三套词:系统角色(PC11:老板 / 部门经理 / 财务 / 内勤 / 市场业务 / 库管 / 员工)、岗位名(PC10:项目经理、行政人事专员…)、审批节点名(PC17)——角色与岗位不会出现在流程链里,流程链也不会在角色表里凭空多一项。这条口径由
node tmp/flowsync.js 按 PC17 逐节点比对四端,共 96 条断言。
- 打开方式:双击
prototype/index.html 即可。若之前用本地服务打开过、改版后仍看到旧文案,是浏览器缓存了 boss.js / app.js——按 Ctrl+F5 硬刷一次,或改用 python tmp\serve.py 起的服务(已对所有响应加 Cache-Control: no-store,演示时永远拿到最新版)。
二、PC 管理后台 30 页逐页说明
PC1 登录
这页做什么:账号密码 + 图形验证码登录入口。
每个按钮点了会怎样:
- 验证码图片 → 换一组 4 位字符(点击即刷新,大小写不敏感)。
- 「登 录」→ 账号 / 密码 / 验证码逐项校验,缺哪项提示哪项;验证码错会清空输入并重刷图;三项都对才提示"登录成功"并进入经营驾驶舱。
- 两个演示身份按钮 → 老板汪宗海进经营驾驶舱,内勤周琪进项目列表,跳过手输。
- 左上「‹ 返回原型目录」→ 回 index.html。
PC2 经营驾驶舱
这页做什么:老板看数的一屏。上方 5 张 KPI 卡(一行),下方五个页签(老板一张表 / 客户销量数据 / 客户销量排行 / 设备销量排行 / 项目进度),默认展示「老板一张表」18 项分色带列表。
数据口径:默认区间「近1个月」= 2026-10-12 至 2026-11-10;设备销售额 96.40 万、订单应收 108.50 万、已收 87.30 万、尚欠 21.20 万、扣费用后毛利 18.62 万、入库 17.32 万、付款 10.40 万、未付 6.92 万、库存余额 136.44 万 / 2,926 件。
每个按钮点了会怎样:
- 今天 / 近7天 / 近1个月 / 近3个月 / 1年前 → 整张表按该区间的原始量重算 18 项,起始日期自动回填,Toast 提示「区间名 · 天数」已刷新(今天 1 / 近7天 7 / 近1个月 30 / 近3个月 90 / 1年前 365,与数据口径里的区间天数一致)。任意区间下「四 = 五 + 六」「九 = 十」两条等式都成立。
- 手改起止日期后点「查询」→ 按天数差匹配到最接近的统计口径并刷新(原型只内置 5 个口径)。
- 行末「?」→ 在该行下方展开这条指标的口径说明,再点一次收起。
- 行末「详情」→ 弹窗列出该指标的构成明细,最后一行取余额,各行相加恒等于头部数字;共 11 个可下钻指标。
- KPI 卡与页签里的链接分别跳出入库管理、项目详情、客户管理、供应商、库存查询、项目台账。
- 五个页签 → 切换内容区,默认「老板一张表」;客户销量表合计行 = 8 家客户开单额 486.0 万 = 项目台账合同额合计。
- 设备销量排行 → 每条给出「出库单号 + 项目 + 件数 + 金额」:点设备名跳 PC14 设备详情,点单号跳 PC20 出库单页签并自动只筛出该单。排行固定按近1个月的 5 张出库单演示(逐行加总 = 248,800 元 / 240 件,与 PC20 完全一致;数量即「七.销售数量」,金额即「二.设备销售额」明细中的设备出库部分),切换上方区间只重算一张表,本排行不变。
PC3 项目列表
这页做什么:全部项目的合同额、已收、未收、已发生成本、预估总成本、预估利润、进度、状态、负责人。
数据口径:8 个项目,合同额合计 486.0 万、已收 349.9 万、未收 136.1 万(其中到期 86.4 万)、成本 292.0 万、预估利润 102.4 万。
每个按钮点了会怎样:
- + 新建项目 → 跳独立页 PC3a(以前是弹窗,现在拆成一整页:基本信息 + 报价明细),保存后回到本页首行高亮。
- 状态 / 客户 / 负责人三个下拉 + 搜索框 → 按条件过滤当前表格,多个条件叠加,清空恢复全部;合计数(合同额 / 已收 / 未收 / 成本 / 利润)跟着筛出的行实时重算,筛到一条不剩时表格下方会给一句「当前筛选条件下没有匹配的记录」,不是一片空白。
- 项目名 → PC4 项目详情;客户名 → PC5 客户管理。
- 顶部「客户到期应收 86.4 万(超期 21.2 万)›」→ PC5 客户管理。
PC3a 新建项目
这页做什么:新建一张项目单,上半是项目基本信息,下半是项目报价明细(报价单不再是上传附件,而是在这张页上逐行组出来)。
数据口径:必填三项:项目名称、客户、合同额(万元);客户下拉就是 PC5 的 8 家客户,负责人下拉就是 PC10 的执行负责人,设备则直接取 PC14 的同一套设备台账(assets/dev-data.js),所以这里不新建任何主数据。明细行字段:物料/服务名称、规格型号、数量、单位、单价、小计(小计 = 数量 × 单价自动算,不可手填);底部一行给出「共 N 项明细 · 报价合计 X 元(Y 万)」,跟着改数实时重算。单价可切按售价与按租赁单价(元/天)两种口径,对应销售与租赁两类业务。
每个按钮点了会怎样:
- 「+ 从设备库添加」→ 弹出设备选择层(没有上传 Excel 这个入口):搜索框按名称 / 编码过滤,每行显示规格、类别、单位、在库与单价,填数量点「添加」即落进明细表;同一设备重复添加不新增行,而是把数量累加到已有行。
- 「+ 添加手工行」→ 表尾插一行空白行,名称 / 规格 / 数量 / 单位 / 单价全部手录(用来装运输、搭建人工这类不属于设备台账的服务费)。
- 「→ 回填合同额」→ 把报价合计按万元自动填进上方合同额栏,并提示回填后的数,避开“报价与合同额两个数对不上”。
- 行末「删除」→ 二次确认(确认文案里带上要删的明细名),确认后小计、合计、明细行数即时重算;数量 / 单价也可就地改。
- 「保存」→ 五道拦截依次过:项目名称必填 → 至少一条报价明细 → 每行必须有名称 → 数量必须大于 0 → 合同额必须大于 0;任一条不过就 Toast 提示并把报价卡滚到眼前,不会静默离开本页。
- 五项都过 → 写入会话叠加层(单号 HT2026-9xx 顺延),提示「已保存 · 报价明细 N 行已归档到项目」并回 PC3;新项目插首行高亮,在 PC4 项目详情的「项目报价明细」卡里逐行可查,该卡的「修改明细 ›」又回到本页。
- 同名的项目再存一次是覆盖原记录,不会重复插行;刷新浏览器后会话数据消失(原型口径,不写后端)。
- 「取消」与面包屑「项目中心」→ 回 PC3,不保存。
PC4 项目详情
这页做什么:单个项目的回款、成本、进度、收支流水、成员派工、现场照片,以及关联的手机画面。
数据口径:默认展示「恒盛车展主舞台」,从 PC3 点不同项目名进来会切换标题与数字。成本按单据类型归集(采购付款 / 销售出库 / 项目支出 / 报销)。
每个按钮点了会怎样:
- + 登记收款 → 填节点 / 到账日期 / 金额 / 收款方式,保存后在收款节点表插一行并把该节点状态改成已收款。
- + 新增派工 → 填人员 / 岗位 / 时间段 / 任务内容 / 工作天数,保存后追加到派工表,状态默认「待确认」(等员工在小程序签收),有日成本的人当场算出工时成本。
- 派工表「状态」列 → 待确认 → 已确认 → 已完成 三态(已完工的项目兜底显示已完成),外包队 / 未填日成本的行日成本与工时成本都是「—」且不计入合计。
- 行末「撤销」→ 弹撤销原因(员工未到场 / 改派他人 / 项目取消与工期变更 / 外包队未履约 / 派工信息录错,补充说明选填);确认后行不删,状态变「已撤销」并就地留痕原因与操作人时间,人工成本估算合计当场扣掉这条(另加一句「已撤销 N 条不计入」),小程序 M1 工作台那条派工待办同步变灰。派工撤销是发起人操作,不走审批流(口径见需求确认书「派工与撤销」)。
- 「新增现场照片」→ 追加一个照片位并提示已上传。
- 「单据类型 ›」→ PC16 单据配置(成本口径的来源);「审批中心 ›」→ PC6;「员工提报销 ›」→ M2;「现场出库 ›」→ M8;「老板手机审批 ›」→ M3。
- 「返回列表」→ PC3。
PC5 客户管理
这页做什么:客户列表页(本轮拆页后只管列表):搜索、分页、行内操作;新增 / 编辑 / 详情都跳独立页,不再在本页弹窗。
数据口径:8 家客户,开单额合计 486.0 万、到期应收 86.4 万、其中超期 21.2 万(蓝湾文旅一家)。列表与 PC5a / PC5b / M8 共用 cust-data.js 同一份底表,本会话新增 / 编辑 / 删除跨页不丢。
每个按钮点了会怎样:
- 右上角「+ 新增客户」→ 跳独立页 PC5a;行末「编辑」→ 跳 PC5a 并带上该客户;行末「详情」→ 跳 PC5b。
- 行末「删除」→ 二次确认后从台账抹掉(会话叠加层),刷新不复活;名下还有项目时拦截并提示先去项目中心处理。
- 搜索框按客户名即时过滤列表;筛到没有匹配时列表下方会给一句提示,不会一片空白。
PC5a 客户新增 / 编辑
这页做什么:独立的新增与编辑页,字段:客户名称 / 联系人 / 电话 / 类型 / 对接业务 / 地址。
每个按钮点了会怎样:
- 「保存」→ 客户名称必填且当场查名:重名时拦截不提交(提示“该客户已存在,请回列表编辑”),不会默默多出一条同名客户;通过后写入会话叠加层并返回 PC5 列表,新客户行带蓝色「新建档」标签作为新增标记(不用刷新生、跨页同步)。
- 从 PC5 点「编辑」进来时,所有字段已按该客户预填,标题改为「编辑客户」;改完保存回写台账,PC5 列表与 PC5b 详情当场同步,不用刷新生。
- 「取消」/ 面包屑「客户管理」→ 返回 PC5 不保存。
PC5b 客户详情
这页做什么:独立详情页:客户档案、开单额 / 已回款 / 待回款 / 到期与超期应收、跟进记录、名下项目。
每个按钮点了会怎样:
- 「+ 记一笔跟进」→ 填日期 / 跟进人 / 方式 / 内容,追加到跟进记录顶部。
- 「编辑客户」→ PC5a(本会话新建的客户也能直接编);「删除」→ 与 PC5 行内同一套二次确认;「返回列表」→ PC5;「项目台账 ›」→ PC3。
PC15 供应商管理
这页做什么:供应商列表页(本轮拆页后只管列表):搜索、分页、行内操作;新增 / 编辑 / 详情都跳独立页,不再在本页弹窗。
数据口径:累计采购 596.4 万、已付 563.8 万、未付 32.6 万、30 天内到期 14.8 万。6 家供应商与 PC15a / PC15b / PC14a(常供下拉)/ M7 共用 sup-data.js 同一份底表。
每个按钮点了会怎样:
- 右上角「+ 新增供应商」→ 跳独立页 PC15a;行末「编辑」→ 跳 PC15a 并带上该供应商;行末「详情」→ 跳 PC15b。
- 行末「删除」→ 二次确认后从台账抹掉(会话叠加层);存在未付采购单时拦截并提示先处理。
- 搜索框 → 按供应商名即时过滤列表;筛到没有匹配时同样在列表下方给一句提示,与 PC5 / PC14 保持一个口径。
PC15a 供应商新增 / 编辑
这页做什么:独立的新增与编辑页,字段:供应商名称 / 联系人 / 电话 / 主营 / 结算方式。
每个按钮点了会怎样:
- 「保存」→ 名称必填且当场查重:重名时拦截不提交;通过后写入会话叠加层并返回 PC15 列表,新供应商行带「新建档」标签(不用刷新生)。
- 从 PC15 点「编辑」进来时字段已预填,标题改为「编辑供应商」;保存后 PC15 列表与 PC15b 详情、PC14a 常供下拉当场同步。
- 「取消」/ 面包屑「供应商管理」→ 返回 PC15 不保存。
PC15b 供应商详情
这页做什么:独立详情页:单家档案 + 采购与入库往来 + 已付 / 未付与账期 + 评价。
每个按钮点了会怎样:
- 「+ 记一笔往来」→ 往往来记录顶部追加一条;「编辑供应商」→ PC15a;「删除」→ 与 PC15 行内同一套二次确认;「返回列表」→ PC15。
- 「下采购单 / 开入库单」类入口 → PC20 入库单页签(与拆页前一致)。
PC14 设备管理
这页做什么:设备即商品的台账列表页(本轮拆页后只管列表):分类、成本价 / 售价 / 日租价、库存预警线、常供供应商、存放库位;新增 / 编辑 / 详情都跳独立页。
数据口径:12 类设备与 PC8 库存查询、PC20 开单、M9 选商品、PC14a / PC14b 是 dev-data.js 同一套台账;预警线低于在库数量时该行标红。本会话的新增 / 编辑 / 删除存在会话叠加层里,刷新与跨页都不丢,且其它三页当场同步(新增只在校验通过、列表真长出新行时才落库,校验不过不会留半截幽灵记录)。
每个按钮点了会怎样:
- 右上角「+ 新增设备」→ 跳独立页 PC14a;行末「编辑」→ 跳 PC14a 并带上该设备;行末「详情」→ 跳 PC14b。
- 行末「删除」→ 二次确认后从台账抹掉;台账自带的 12 台设备因为在库 / 在外不为 0,未清零前本就删不掉,这个拦截照旧。
- 「入库 / 出库 / 流水」→ 分别跳 PC20 入库单页签、出库单页签、出入库记录页签。
- 搜索框按设备名与编码过滤,筛到没有匹配时列表下方给出提示,不会留一片空白。
PC14a 设备新增 / 编辑
这页做什么:独立的新增与编辑页,字段:名称 / 编码 / 类别 / 单位 / 成本单价 / 对外售价 / 日租单价 / 预警线 / 常供供应商 / 库位 / 规格。
每个按钮点了会怎样:
- 「保存」→ 编码必填且当场查重:重码时拦截不提交;通过后写入会话叠加层并返回 PC14 列表,新设备行带「新建档」标记;新设备状态是「未入库」(灰标,在库 0),PC20 三个下拉、M9 选商品、PC8 库存查询、PC15b 往来都能当场选到它。
- 「常供供应商」下拉 ← 取自 sup-data.js(与 PC15 / PC15a 同一名单);本会话新建的供应商也会出现在下拉里。
- 从 PC14 点「编辑」进来时字段已预填,标题改为「编辑设备」;保存后 PC14 行内「在库 / 预警」与 PC14b / PC8 同步更新,不用刷新生。
- 「取消」/ 面包屑「设备管理」→ 返回 PC14 不保存。
PC14b 设备详情
这页做什么:独立详情页:设备档案、租赁与销售价、在库数量、在外占用、库位与保养维修记录。
每个按钮点了会怎样:
- 在外设备明细:新建档还没开单的设备显示「该设备尚未出入库」的空状态;已有在外明细的行→ 跳对应项目详情。
- 「+ 登记保养」→ 填日期 / 类型 / 费用 / 经办人 / 内容与下次提醒,追加到保养与维修登记表。
- 「入库 / 出库 / 出入库流水」→ PC20 对应页签;「发起盘点 ›」→ PC21;「编辑设备」→ PC14a;「删除」→ 与 PC14 行内同一套二次确认;「返回列表」→ PC14。
PC8 库存查询
这页做什么:每种设备的在库数量、预警线、成本单价、成本余额、在库库位、在外占用、本月出入库与状态。
数据口径:12 类设备(表内第 13 行为合计),成本余额合计 1,364,380 元 = 136.44 万、在库 2,926 件、本月入库 232 件、本月出库 240 件、在外 3,694 件——这几个数直接对应老板一张表的十一 / 十二 / 十六 / 七。
合计行的口径要说清:金额按元相加;数量与「在库库位 N 个」跨 ㎡·台·根·块·张·顶·米 直接按件数相加,只用于总览,与驾驶舱十二 / 十六 / 七 同一口径,想逐笔核对请去 PC20 出入库记录页签和 PC23 库位明细。4.2 米厢式货车是固定资产(含其所在库位 D-01),单独计数,不进任何合计、也不计在库库位数,所以合计行标注「合计(固定资产行不参与)」。
每个按钮点了会怎样:
- 类别 / 库位 / 状态下拉 + 搜索框 → 过滤表格,合计行按筛出的行实算:筛到 0 条时合计数就是 0(不会偷偷跳回全量的 2,926 / 1,364,380),同时表格下方提示没有匹配记录。「车辆」这类只含固定资产的筛选项,筛完五个数与库位数全为 0。本次会话在 PC14 新建的设备会出现在末行,状态「未入库」、类别归「其它」(两个下拉都能筛它);下方「在库设备 N 类 / 需补货 N 类」会跟着 +1,但数量与金额不凭空多(新设备在库 0);编辑过的预警线同步到本行,刷新不丢。
- 「+ 入库单 / + 出库单 / + 调拨单」→ PC20 对应页签;「发起盘点」→ PC21;「导出」→ 提示导出成功。
- 行末「入库 / 出库 / 流水 / 台账 / 保养」→ 分别跳 PC20 入库单页签、出库单页签、出入库记录页签、PC14、PC14。
- 库位列(A-01 等)→ PC23 库位管理。
PC20 出入库管理
这页做什么:入库单 / 出库单 / 调拨单 / 出入库记录四个页签,覆盖仓库列表里的出入库、库存调拨与逐笔流水(原独立的 PC22 出入库记录页已并入本页第四个页签)。
数据口径:入库单 5 张(不含已驳回合计 173,200 元 = 17.32 万,对应十三.入库金额 / 十六.入库数量 232 件);出库单 5 张合计 248,800 元 / 240 件(对应二.设备销售额里的设备销售部分与七.销售数量);调拨单 3 张合计 96 件——调拨只是库位之间转移,不增减库存总量、不产生金额,因此不进驾驶舱任何一项;出入库记录 13 笔流水,覆盖入库 / 出库 / 调拨 / 盘点调整 / 退库,其中 PD2026-006 的盘点差异落成两笔可对账的调整流水:200mm 桁架盘亏 -4(-1,200 元,B-01)与 230W 摇头光束灯盘盈 +2(+3,800 元,B-05),与 PC21 盘点单上「差异项 2」逐笔对应。
每个按钮点了会怎样:
- 四个页签 → 切换四张表;地址栏带
?tab=out 时直接打开出库单,再带 &no=CK2026-117 会把该单号填进搜索框、只留这一行(驾驶舱「设备销量排行」点单号即走这条路);?tab=rec 则直接打开出入库记录页签。
- + 新建入库单 → 填供应商 / 入库日期 / 设备 / 数量 / 金额 / 入库库位,保存后单据以「待审核」插入首行;设备下拉含本会话在 PC14 新建的设备(新建即消失的设备不会残留)。
- + 新建出库单 → 填客户 / 出库日期 / 关联项目 / 设备 / 数量 / 出库类型;数量超过在库会提示库存不足。
- + 新建调拨单 → 选调出库位 / 调入库位 / 设备 / 数量 / 经办人,确认后提示调拨完成。
- 行末「审核」→ 二次确认后状态由「待审核」翻成对应结果(入库单变「已入库」、出库单变「已出库」,Toast 分别说“库存与应付已同步 / 库存与应收已同步”),该行操作位换成「流水」;调拨单则是「待确认」→点「确认」→「已完成」;「编辑」重开弹窗预填。
- 行末「流水」→ 不再跳独立页,就地切到本页的出入库记录页签并按单号定位;没命中时提示「未找到……的出入库流水,已显示全部记录」,不会留个空表。
- 状态下拉(入库:全部 / 待审核 / 已入库 / 已驳回;出库:全部 / 待审核 / 已出库)+ 单号关键词搜索 → 两个条件叠加过滤当前页签,不会互相覆盖。
- 三个单据页签与记录页签的合计行都跟筛选走:按状态 / 供应商 / 关键词筛过的单据,数量、金额与旁注「计入 N 张单」当场重算;已驳回的单据永久不计入合计,待审核的单据按业务发生日期先计入(账面库存与应付在审核通过后才动)。演示里新建的单据只在本页合计里累加,不会回写驾驶舱的 18 项。
- 出入库记录页签:类型 / 设备两个下拉 + 单号经手人搜索框 + 起止日期 → 四个条件叠加过滤(不是各自独立、后者覆盖前者),分页处「筛选后 N 条(总库 268 条)」跟着筛出的记录实时重算;「导出」→ 提示导出成功。流水按单据类型分开累计:入库 232 件 / 173,200 元,出库 240 件 / 248,800 元(调拨 / 退库 / 盘点调整不计入)——把入库与出库正负相抵加成一个数没有业务意义,所以不做一个合计总数;这四个数与 PC2 驾驶舱「老板一张表」页签一一对得上:入库金额 = 十三,入库数量 = 十六,出库数量 = 七.销售数量,出库金额 = 二.设备销售额明细里的「设备出库部分」,老板从驾驶舱看到一个数,顺着点进流水就能逐行加回去。
PC21 盘点
这页做什么:盘点单列表 + 单张盘点表的账面数 / 实盘数 / 差异 / 差异金额。
数据口径:4 张盘点单,覆盖 A/B/C 区。差异按财务惯例分两个方向:实盘多于账面 = 盘盈(记 +),实盘少于账面 = 盘亏(记 -);差异金额 = 差异数量 × 成本单价,自动算,顶部汇总同时给出盘盈 / 盘亏笔数与净差异金额。演示的 PD2026-007(A 区,进行中)一进页就带着两项差异:1x2 舞台板盘亏 4 块(-1,360 元)、63A 电源电缆盘盈 20 米(+360 元),净差异 -1,000 元;因尚未复核,PC8 的账面数与 PC23 的库位使用率都仍按原账面值,不会提前变动。
每个按钮点了会怎样:
- + 新建盘点 → 选盘点库位 / 日期 / 范围 / 设备项数 / 盘点人,保存后追加一张「进行中」的盘点单。
- 「继续盘点」→ 打开该单的实盘录入表,改实盘数即时重算差异与差异金额,顶部「差异 N 项(盘盈 x · 盘亏 y)· 净差异金额 N 元」同步;差异列直接写成「+20 盘盈 / -4 盘亏 / 0 一致」,不用数正负号。
- 「实盘等于账面」→ 一键把所有实盘数填成账面数,差异归零。
- 「提交盘点」→ 提示盘盈 / 盘亏笔数与净差异金额,并说明复核通过后会生成盘点调整单写入流水;「复核」→ 二次确认(文案点明按盘盈 +2 / 盘亏 -4 调整),状态翻「已完成」并提示账面库存与出入库流水同步更新。
- 「流水」→ PC20 出入库记录页签(带单号定位);状态下拉(全部 / 进行中 / 待复核 / 已完成)与单号、库位、盘点人搜索框叠加过滤。
PC23 库位管理
这页做什么:库位分区台账:编码、名称、所属区、类型、容量、已用、使用率、主要存放、负责人、状态。
数据口径:16 个库位。A 区(屏体恒温 / 屏体大件 / 灯具精配 / 灯具周转 / 舞台板,A-01~A-05)、B 区(桁架小件 / 桁架大件 / 音响主位 / 线缆耗材 / 灯光备用,B-01~B-05)、C 区(音响收货周转 C-01 / 旧件暂存 C-03 / 桌椅存放 C-05 / 活动备货 C-06 / 大件临时周转 C-07)、D 区(D-01 室外车场,放货车与大型待检件)。C 区编号跳 C-02、C-04 是跳号设计:已撤销的库位编码不再复用,以保证历史流水可追溯(页内已标注)。顶部四张卡实时计算:库位总数 16 / 可用库位 15(C-03 已停用不计入)/ 可用库位平均使用率 64% / 满载预警 2(口径为使用率 ≥ 80%,即 A-05 84%、C-07 97%);停用或启用任一库位,四个数字立刻按在册全量重算,不跟随列表筛选。每张库位上的主要存放与 PC8 库存查询、PC21 盘点选的库位一一对应。
每个按钮点了会怎样:
- + 新增库位 → 填编码 / 名称 / 所属区 / 类型 / 容量 / 单位 / 负责人 / 温控要求;新增编号 C-08 是排在 C-07 之后的空位,弹窗里「所属区」已同步预选 C 区,保存后插到对应分区并高亮。
- 「编辑」→ 弹窗预填改后回写;「停用」→ 二次确认,状态翻「停用」且该行置灰。
- 点库位编码或设备名 → 打开该库位存放明细弹窗,列出放了哪些设备、各多少数量。
- 「库存」→ PC8;「台账」→ PC14;「库存查询」→ PC8;区段下拉与搜索框过滤列表。
- 「导出」→ 提示导出成功。使用率 ≥ 80% 的进度条转黄(A-05 84%),≥ 90% 转红(C-07 97%)。
PC6 审批中心
这页做什么:一张统一单据表——顶部「查看维度」下拉切换由我审批/我发起申请/全部(默认由我审批),另有带标题的关联项目、状态、关键词筛选与查询/重置,操作行左侧是待您审批徽章。
数据口径:待您审批的采购单合计 69,200 元 = 6.92 万,就是老板一张表里的十五.未付金额;报销、请假、用章等单据类型来自 PC16,审批链来自 PC17。发起申请弹窗里的步骤条直接用 PC17 的节点名(如报销=部门初审 → 财务复核,金额 ≥ 5,000 元自动加老板终审),与小程序端预览逐字一致。
每个按钮点了会怎样:
- 查看维度下拉 → 筛选由我审批/我发起申请/全部(合并一张表后不再切页签);关联项目、状态、关键词四个筛选项叠加生效,查询按钮重跑筛选并提示命中数,重置恢复默认(维度回到由我审批)。
- + 发起申请 → 选单据类型后,表单字段数与审批链按配置中心自动带出;提交后单据出现在申请列表首行,状态「审批中」。
- 「已处理」→ 单据从待办移到已处理并提示;「同意」→ 二次确认(文案带本单后果,如“同意后自动生成付款记录并计入项目成本”);「驳回」→ 填驳回理由与退回节点后「确认驳回」,原因空值会被拦,状态翻「已驳回」;「详情 / 查看 / 查看原因」→ 跳独立页 PC6a 审批单据详情(地址带单号,PC6a 按单号取那一张单,与列表行同一条数据)。行内审批与 PC6a 里审批互为同步:哪边处理完,另一边都不再重复给按钮。
- 「催办」→ 提示已向当前审批人发提醒;「重新提交」→ 该单回到审批中;「撤回」→ 从列表移除。
- 「审批流程配置 ›」→ PC17;「手机审批 › / 手机查看 ›」→ M3;「全部操作日志 ›」→ PC18。
PC6a 审批单据详情
这页做什么:把一张单据说完整:顶部单号与金额,下面四卡——单据信息、单据附件、审批节点(链 + 逐节点表)、审批操作。从 PC6 行末「详情 / 查看 / 查看原因」带单号进来。
数据口径:本页不维护第二套数据,字段与审批链全部仍来自 PC6 / assets/approve-docs.js 的同一张单;审批节点表(审批节点 / 审批人 / 审批结果 / 审批备注 / 时间)的节点名与顺序来自 PC17,跟 PC16 摘要列、小程序 M3 时间轴逐字一致(由 node tmp/flowsync.js 拦)。附件卡右上角直接给出「共 N 个」。
每个按钮点了会怎样:
- 地址里的单号查不到 → 提示「没查到单号」并 1 秒后自动回审批中心,不会留一张空壳详情页。
- 附件缩略行 → 弹预览层(名称 + 时间 + 预览占位,演示环境不加载真实文件);「导出整套单据」→ 提示附件已随单据归档、可整单导出打印。
- 待您终审的单:「同意」→ 二次确认后落定,本页状态、节点表结果与时间同步刷新;「驳回」→ 不是直接确认而是先开弹窗,驳回原因必填(空值拦下并提示「请填写驳回原因」),可选退回发起人 / 部门初审 / 财务复核,「确认驳回」后状态翻「已驳回」;「加签」→ 二次确认后提示已加签。
- 已处理过的单与从申请列表进来的单 → 操作卡改成结果条与一句下一步提示,不会重复提供同意 / 驳回按钮;刷新后仍停在已处理状态。
- 「返回审批中心」/「回审批中心」与面包屑「审批中心」→ 回 PC6;本页只能看与审批,不提供改单入口(要改单回发起人)。
PC9 部门管理
这页做什么:层级部门架构树 + 选中部门的在编员工。
数据口径:公司(30 人)下设总经办、项目执行部、仓储部、市场部、行政人事部、财务部 6 个部门,部门下再分 8 个组 / 岗(法务组、项目管理组、执行一队、执行二队、设备管理组、运输组、屏类灯光岗、横幅桌椅岗),共 14 个节点。每个节点的在编人数逐层加得回头节点:项目执行部 13 = 5+5+3,仓储部 5 = 设备管理组 2(1+1)+ 运输组 3,6 个部门合计 = 公司 30 人,与 PC10 在册 30 人一致(禁用 1 人只留在花名册,不进部门在编)。法务组显示 0 人并已注明「编制待招 · 合同法务现阶段外包」,不是数据没填完。
每个按钮点了会怎样:
- 卡片标题右侧「展开全部 / 收起全部」→ 树默认折叠到一级部门(公司 + 6 个部门可见),点箭头只折叠展开、点整行选中并自动展开;「收起全部」收到只剩公司一行,人数胶囊与「删除」都只在行悬停时浮现。
- + 新增部门 → 只填部门名称 / 上级部门 / 负责人,不填在编人数;上级选谁就挂到谁下面,新节点绿色高亮、人数从 0 起算,人由员工档案归属后自动加上去。
- 点树上任一部门 → 下方表格切换成该部门的员工(姓名 / 岗位 / 手机 / 角色 / 状态)。
- 「删除」→ 二次确认;下有子部门或在职员工时拦截并提示先迁移。
- 「员工列表 ›」→ PC10;「详情 ›」→ PC10b。
PC10 员工管理
这页做什么:员工档案表:姓名 / 部门 / 岗位 / 手机号 / 关联角色 / 状态 / 入职日期 / 操作。
数据口径:状态只有在职 / 禁用两档;演示数据 14 行 = 在职 13 + 禁用 1(高鹏),禁用的人不计入在册、也不计入部门在编,所以在册 30 人、花名册共 31 条。30 这个数与 PC9 组织树根节点、PC11 角色关联员工合计完全一致。本页分页展示;手机号即小程序登录号。表头统计卡已去掉,在册 / 禁用 / 当前筛选三个数由分页栏那一行承载并当场重算:本次会话新增几人、禁用几人、删掉几人,数字跟着变,刷新也一致。
每个按钮点了会怎样:
- + 新增员工 → 跳独立页 PC10a,不在本页弹窗。
- 行末「编辑」→ 跳 PC10a 并带上该员工;「详情」→ 跳 PC10b。本次新增的人也能直接点编辑,改完手机号/岗位回到列表当场生效,不用刷新(上一版要按 F5 才看得到,已修)。
- 「重置密码」→ 弹窗显示随机初始密码,确认后提示已重置。
- 「禁用」→ 先弹二次确认(文案说明“不能登录与提单、历史单据保留”),确认后该行置灰并打「禁用」标签、在册数减 1;再点「启用」回到在职并重新计回在册(状态只有两档,不再有「休假中」与「复职」这些说法)。确认话术与结果提示与 PC10b 详情页逐字同源(都取
app.js 里的 staffSay),不会出现两边说法不一样。
- 行末「删除」→ 二次确认后真的从花名册抹掉:刷新一次人不会原地复活,在册人数与分页条数同步下降;名下有历史单据的删不掉,会提示改点「禁用」。
- 部门 / 角色 / 状态下拉(状态只全部 / 在职 / 禁用三项)+ 搜索框 → 组合过滤表格;筛后分页文案变成「在册 30 人 · 另含禁用 1 人 · 当前筛选 N 人」,筛到 0 条时提示把条件改回「全部」并自动收起 1 / 2 / 3 / 下一页 按钮(没有记录还亮着页码会让人以为页面卡住)。「在册员工 30 人」是全量口径,不随筛选变化,当前条数看分页那一行。
- 「导入花名册(Excel)」→ 提示导入成功并追加两行演示数据。
- 右上角头像「修改密码」→ 弹窗校验原密码与两次新密码一致。
PC10a 员工新增 / 编辑
这页做什么:独立的新增与编辑页,字段:姓名 / 手机号 / 部门 / 岗位 / 关联角色 / 入职日期 / 邮箱 / 登录账号 / 是否部门经理。
每个按钮点了会怎样:
- 「保存并开通」→ 必填项(姓名 / 手机号 / 部门 / 角色)未填会红框提示;通过后弹出初始密码弹窗,确认后返回 PC10 列表,新员工在首行高亮。
- 手机号当场查重:手机号就是小程序登录号,一个号只能对应一个人。输入完就比对花名册底表(含本次会话已新增/已改号的),重号时红字提示“该手机号已属于某某”,不给您提交,不用跳回列表才看到黄条。
- 勾选「是部门经理」→ 表单下方出现说明:下属报销与请假的第一道审批自动指向该员工;保存后角色列真的会并上「部门经理」(显示为「市场业务、部门经理」这类多角色,顺序全端一致),与 PC17 的「部门初审」节点同一口径,不是勾完就丢。
- 新员工编号自动编排(在册 30 人已用 WZ1001~1030,新开通的从 WZ1031 往后排),避免与老编号重号。
- 「取消」/ 面包屑「员工管理」→ 返回 PC10 不保存。
- 从 PC10 点「编辑」进来时,所有字段已按该员工预填,标题改为「编辑员工」。
PC10b 员工详情
这页做什么:独立详情页,四块:基本信息、角色与权限、近 3 个月经手单据、登录记录。
每个按钮点了会怎样:
- 「角色与权限」页签 → 按 PC 左侧菜单的分组,逐个列出该员工角色能打开的菜单项名(项目中心 / 客户管理 / 出入库管理…,不是只给一个「业务管理 5 项」),下一行再给 PC 端与小程序端各自的菜单数 / 按钮点数与全站总数,全部从
assets/perm-data.js 当场反算。
- 「重置密码」/「禁用」→ 与 PC10 行内同一套交互:禁用也要先过二次确认(上一版详情页一点就改,与列表不对称,已修),确认话术与结果提示与列表共用引擎里同一份;操作后本页与列表、PC10a 三边同步,刷新不丢。
- 状态标签全页跟着走:基本信息里的「在职状态」、顶部头像旁的标签、按钮文字(禁用 / 启用)三处一起变;启用就是回到在职,配色与 PC10 列表取同一张表(在职绿 / 禁用灰),不会出现同一个角色两边不同色。
- 「编辑员工」→ PC10a(本次新增的人也能编,靠 rid 定位);「返回列表」→ PC10。
- 「角色管理 ›」→ PC11;「权限清单 ›」→ PC12;「审批中心 ›」→ PC6;「日志管理 ›」→ PC18。
- 经手单据表的单据号 → PC6;登录记录的时间 → PC19。
PC11 角色管理
这页做什么:角色列表(角色 / 描述 / 数据范围 / 关联员工 / 已授权功能 / 状态)与权限树勾选。
数据口径:7 个角色:老板、部门经理、财务、内勤、市场业务、库管、员工。权限树来自 assets/perm-data.js,按「端 → 菜单分组 → 菜单项 → 按钮权限点」四级建模,与 PC 左侧菜单逐字同名:PC 端 5 个分组 17 个菜单 87 个按钮点,小程序端 4 个分组 10 个菜单 30 个按钮点,合计 9 个分组 / 27 个菜单 / 117 个按钮权限点。列表页与其详情、编辑子页合并挂在同一个菜单项下(例如「出入库管理」一个菜单项同时管住入库单、出库单、调拨单与出入库记录页签),所以菜单数比页面数少是设计如此,不是漏配。这条对齐关系由 node tmp/pstat.js 与 node tmp/round3.js 双向机器校验。
每个按钮点了会怎样:
- + 新增角色 → 填角色名称 / 数据范围 / 描述 / 复制权限自某个已有角色,保存后进列表并带「配置权限」入口。
- 「配置权限」→ 打开四级权限树弹窗:端 → 菜单分组 → 菜单项 → 按钮权限点,逐级勾选、父级自动半选;「全选 PC 端」「全选 小程序端」「全部清空」批量操作;「保存权限」后列表的「已授权功能」计数与进度条同步更新。
- 「编辑」→ 弹窗预填改名称与范围;「删除」→ 二次确认,关联了员工时拦截并提示先改员工角色。
- 「关联员工」数字 → PC10 并按该角色过滤;「权限层级总览」→ PC12。
PC12 权限管理
这页做什么:权限层级展示(不在此分配,分配在 PC11)。三块:权限层级结构、各角色权限范围、权限点归属。
数据口径:与 PC11 同一棵权限树;「权限数据来源于系统功能」,端 → 菜单分组 → 菜单项 → 按钮权限点四级,分组名与菜单名都和左侧菜单一字不差。顶部的权限端 / 菜单分组 / 菜单项 / 按钮权限点四个数不写死,由 PERM.total() 从树上反算,改菜单这里跟着变。
每个按钮点了会怎样:
- 「PC 端 / 小程序端」两个页签 → 权限树与下方「权限点归属」表(菜单分组 / 菜单 / 按钮权限点 / 可操作角色)一起切换。
- 「权限点归属」表:一个按钮权限点一行,「可操作角色」把 7 个角色全列出来(勾到的蓝底、没勾到的灰底划线),卡头标出当前端共多少个按钮点;若某个权限点没有任何角色勾到,行内直接写「没任何角色勾到,去 PC11 检查」。
- 「各角色权限范围」表:7 个角色全列,逐行给出角色说明 / 数据范围 / PC 端(组·菜单·按钮点)/ 小程序端(同)/ 菜单项与按钮权限点占全站总数的比例;数从权限树反算,不在页面里写死。
- 角色下拉 → 权限树切到该角色的预览视角(有权限的按钮点蓝字、没有的灰底划线),同时「各角色权限范围」表里对应那一行高亮并标注「◀ 树上预览的就是这个角色」。
- 「去角色管理分配」→ PC11。
PC18 日志管理
这页做什么:登录日志与操作日志:时间 / 操作人 / 端 / 菜单 / 动作 / 对象 / 来源 / 结果 / 操作。
数据口径:16 条日志(编号 1001–1016),覆盖 PC 端与小程序端两种来源;每条都能点「详情」展开自己的字段级明细,一一对应、不会串号。日志里的单据与状态全部与 PC6、PC20 当前一致(例如 BX2026-064 的部门初审、财务复核两条都在日志里,而它此刻正停在您的待审列表)。列表与详情的时间/操作人/端/菜单/动作/对象/来源/结果 8 项已逐字段对齐;菜单列口径:写的是权限树里的菜单项名(经营驾驶舱、客户管理、审批中心、出入库管理…),与 PC11 / PC12 的权限树同源,不再用旧的模块名;来源列口径:PC 端记录内网 IP,小程序端记录移动网络,详情页同时给出 IP 与网络归属。
每个按钮点了会怎样:
- 起止日期 + 端 / 菜单 / 结果三个下拉 + 关键词搜索框(可搜操作人 / 对象 / IP)→ 五组条件真正叠加,改任一个都会重算,默认区间 2026-11-08 ~ 11-10 进页即生效;底部同步显示「筛选后 N 条(总库 1,482 条)」。
- 「查询」→ 按当前全部条件刷新列表,并 Toast 提示命中条数;「导出」→ 提示导出成功;页码只切换高亮。
- 行末「详情」→ 跳独立页 PC19。
PC19 日志详情
这页做什么:单条日志的四块:基本信息、请求参数、变更对照、返回结果。
数据口径:16 条日志逐条做了明细;带前后改动的(改权限、改单据类型、改流程阈值、改设备售价)才显示「变更对照」卡片,纯提交 / 纯审批类自动隐藏该卡片。返回结果为后台接口报文样例,字段名可供开发直接参照。小程序端条目的「来源」形如 10.66.213.7(中国移动 5G),与列表的运营商口径一致。
每个按钮点了会怎样:
- 「‹ 返回列表」与面包屑「日志管理」→ 回 PC18。
- 变更对照表用「变更前 / 变更后」两列红绿标注,字段级差异一目了然。
- 本页为只读,不提供任何修改入口(日志不可编辑、不可删除)。
PC16 单据配置
这页做什么:配置系统里有哪些单据类型(OA 单 + 业务/库存单),并明确每种单据是收入还是支出。
数据口径:15 种单据 = OA 与资金类 8 种(报销申请 BX、采购付款 CG、员工借款 JK、项目支出 ZC、销售出库 CK、收款登记 SK、请假申请 QJ、公章使用 YZ)+ 业务与库存类 6 种(销售合同 HT、采购入库单 RK、退库单 TH、库存调拨单 DB、库存盘点单 PD、考勤补卡 BK)+ 已停用 1 种(设备报废 BF)。
编码就是单号前缀:单号规则「编码 + 年份 + 三位流水」,如 CK2026-118 = 销售出库单第 118 号。开发按本表建单据主表,新增一类单据不改系统代码。
每个按钮点了会怎样:
- + 新增单据类型 → 填单据名称 / 编码 / 所属端 / 资金属性(收入 / 支出 / 不涉及)/ 表单字段数 / 默认审批流,保存后进列表。
- 「需要审批」开关 → 关掉后该单据提交即生效,不再走审批流;列表里的审批链列同步变灰。摘要列显示的节点序列与 PC17 该单据的流程逐节点一致(开关关掉时显示「提交即生效」,停用单据显示「未启用」),由
node tmp/flowsync.js 校验。
- 「配流程」→ 直接跳到 PC17 并选中该单据的流程。
- 「编辑」→ 弹窗预填;「删除」→ 二次确认,已有单据时拦截。
- 所属端 / 资金属性 / 状态下拉 + 搜索框 → 过滤列表。
PC17 审批流程配置
这页做什么:对 PC16 配好的单据做流程与节点控制。
数据口径:15 条流程(BX / CG / JK / ZC / CK / HT / RK / TH / DB / PD / SK / QJ / YZ / BK / BF),与 PC16 的 15 类单据一一对应;设备报废 BF 虽已停用,流程仍保留可查(PC16 摘要列对它显示「未启用」)。本页是审批链的唯一权威源:节点名、审批人类型、金额条件都以此为准,PC16 / PC6 / 小程序只是它的展示端。左侧选单据、右侧排节点。
每个按钮点了会怎样:
- 左侧单据名 → 切换右侧的节点表(序号 / 节点名称 / 审批人类型 / 具体对象 / 金额条件 / 签署方式 / 超时 / 操作)。
- + 添加节点 → 填节点名称 / 审批人类型 / 具体对象 / 金额条件 / 签署方式 / 超时提醒,保存后追加到流程末尾并重排序号。
- 节点行「↑ / 删除」→ 调整顺序或移除该节点,序号自动重排。
- 流程规则区:驳回后处理(退回发起人 / 退回上一节点)、金额自动加签阈值与加签对象、节点超时提醒 → 改动后点「保存流程」生效。
- 「历史版本」→ 弹窗列出该流程的历史版本与生效时间;搜索框过滤左侧单据列表。
三、微信小程序 10 屏逐页说明
M0 登录
这屏做什么:手机机身内的登录屏,账号密码 + 图形验证码。
每个按钮点了会怎样:
- 验证码图 → 点击换一组;填错会清空并重刷,提示"验证码不正确"。
- 「登 录」→ 三项都对进入 M1 工作台。
- 两个演示身份按钮 → 员工王强与老板汪宗海都进 M1 工作台(小程序端不提供老板看数页,老板看数在 PC2 驾驶舱「老板一张表」页签)。
M1 工作台
这屏做什么:员工首页:我的待办、常用功能九宫格。
每个按钮点了会怎样:
- 九宫格 → 分别跳 M2 发起报销、M6 请假、外勤打卡(M6)、用章申请(本页弹窗)、M7 采购入库、M8 销售出库、M9 库存查询;审批入口不放在九宫格,走底部 Tab 的「审批中心」。
- 「用章申请」→ 弹出填单(事由 / 印章类型 / 份数 / 日期),提交后待办减一并提示已提交;弹窗内预览为「行政人事确认 → 老板终审」(PC17 YZ 流程),提示统一为「下一步:行政人事确认(李静)」。
- 待办「看进度」→ 我的报销进度(M2);「全部 ›」→ M3;底部三个 Tab 切换工作台 / 审批中心 / 我的。
- 待办里的派工安排(例:星辰年会晚宴 进场计划待确认)→ 点「去确认」二次确认后变「已确认✓」,这就是签收动作本身,没有多级审批节点;若这条派工已在 PC4 被发起人撤销,进本页会自动翻成「已撤销」(整行置灰),并把撤销原因与操作人、日期显示在行内,避免员工白跑一趟。两端同一个会话内通过
sessionStorage.dispatchRevoke 对位(键=项目|人员|时间段|任务)。
M2 发起报销
这屏做什么:报销填单:发票拍照、金额、费用类型、事由、归属项目、发生日期、审批人预览。
每个按钮点了会怎样:
- 点已有发票框 → 全屏看票据影像,点任意位置关闭。
- 「继续添加」→ 追加一个已填充的附件框并提示"已附加 1 张凭证"。
- 费用类型下拉的选项来自 PC16 单据配置;归属项目下拉列出在建项目,选完后审批人预览自动带出「部门初审 → 财务复核 → 老板终审」(节点名取自 PC17,与 PC6 / PC16 同一套)。
- 「提交审批」→ 必填未填红框提示;通过后单据进入「我的报销记录」首行,状态审批中,提示已提交。新单的单号接着现有最大号往下排(BX2026-065、066、067……不会连点两次都是同一个号),金额自动补千分位(8000 写成 8,000 元)。
- 步骤条按金额自动定节点:不满 5,000 元的单只有「提交 → 初审 → 复核 → 打款」四步,不挂老板终审;≥ 5,000 元才多一个「终审」节点,序号跟着重排。与 PC17 的 BX 加签条件、PC6 的发起页文案同一个口径(以前 BX2026-020 一笔 3,200 元也挂着“终审”,已修)。
- 记录区每一条都可点:BX2026-064 / 020 / 007 与刚提交的新单都会弹出单条明细(费用分项相加等于头部金额、审批轨迹、到卡尾号或驳回原因),不是只有前两条能点。
- 「全部 ›」→ 我的报销记录列表;底部 Tab 切换。
M6 请假与考勤
这屏做什么:请假填单、本月考勤日历、补卡申请与补卡记录。
每个按钮点了会怎样:
- 两个页签 → 在「请假申请」与「打卡 · 补卡」之间切换(后一页里装的是今日打卡、本月考勤汇总与补卡记录)。
- 请假类型 / 起止时间 / 事由,审批人自动带出(「部门初审 → 人事备案」,= PC17 QJ 流程);「提交审批」后进「我的请假记录」首行,单号接着 QJ2026-030、QJ2026-031 往下排,不跟上一笔重号。
- 请假 / 打卡 / 补卡共 7 条记录逐条可点,弹单条明细与处理轨迹:年假走 QJ2026-018(部门初审 → 人事备案两个节点)、调休走 QJ2026-011(额度凭 06-15~06-16 周末实际打卡自动折算,不是员工自填)、补卡 BK2026-008 只过部门初审、没有人事备案(与 PC17 的 BK 流程一致)。
- 打卡轨迹与单据钩稽:14:05 那条外勤打卡写明定位在江畔会展中心装卸区,关联的就是老板待办里的借款单 JK2026-006(吊车台班垫付 32,000 元),弹窗里给了直达链接,跳到 M3 就是那一单的审批详情;08:47 上班打卡与公司端登录时间 08:42 对得上,同一个人在 PC 与手机上看到的是同一条轨迹。
- 班次口径:09:00 - 18:30,项目现场按到场时间弹性;18:30 下班未打卡那条会标出来,并告诉你补卡有效期至 11-11 18:30 前、本月已用 1 次;这条详情弹窗底部的按钮直接就是「填补卡申请」,点一下收起详情、弹出补卡表单(时段默认已是「下班 18:30」),不用绕到电脑上去提。
- 「去补卡 ›」→ 弹出补卡表单(日期 / 时段 / 原因),提交后进补卡记录,单号同样接着 BK2026-012、013 往下排。
- 「补卡申请 ›」「全部 ›」→ 跳到对应记录区;考勤日历里缺卡标黄、正常标绿。
M3 审批中心
这屏做什么:待我审批 / 我发起的 / 我已处理 / 抄送我的四个页签,单据详情与审批链(与 PC6 审批中心同名同口径)。
数据口径:待我审批 5 单,与 PC6 审批中心的 5 条待办逐单同号同额;含报销申请 BX2026-064(6,850 元)。我发起的 6 单就是 PC6 同一个「我发起的」维度(以前只在电脑上看得到,现在手机也开一个同级别页签,两边同一份数据)。单据类型名称取自 PC16 单据配置(报销申请 / 采购付款 / 员工借款 / 公章使用 / 请假申请),PC 与手机两端同一个名字;金额一律带单位(元 / 万元 / 份 / 天 / ㎡),不写裸数字。
每个按钮点了会怎样:
- 页签 → 在待我审批 / 我发起的 / 我已处理 / 抄送我的四个列表间就地切换,不跳页;待办与我发起的计数都显在页签上。
- 「原始单据」→ 全屏查看票据影像,点任意处关闭。
- 「同意」→ 先弹一句二次确认(「确认同意?同意后转财务打款,本单不可再改」),点确定才把该单从待办移到已处理、标签翻绿「已同意」、待办计数减一;点取消什么都不发生(取消不算已处理,该单仍留在待办里)。与 PC6 审批中心的「同意」一个口径——钱要出去的单子,不该一次误触就放行(早期手机上一指禅就同意了,与 PC 不一致,本轮补齐)。
- 审完不卡死:该单详情区换成一条只读归档条(「您已同意 · 已转财务打款并计入项目成本,本单不可再改」)并附一个「回审批中心」入口,审批轨迹尾部补一个蓝色「刚刚」节点;接着点下一单,同意 / 驳回 / 加签三个按钮仍然能点(上一轮实测发现一个严重缺陷:失效态粘在按钮容器上,审批完一单后后面所有单的按钮都点不动,必须刷新,已修)。
- 「驳回」→ 填驳回理由(必填)后确认,单据状态变红「已驳回」并从待办移除;理由没填时这单不会先被记成已驳回,跟引擎的必填校验保持一致。
- 待我审批 / 我发起的 / 我已处理 / 抄送共 16 条单据逐条可点,详情随点随换;详情里「看项目详情 / 看驾驶舱 / 回审批中心」都是真链接。本页支持
?doc= 直达(例:m3-approve.html?doc=djk 直接展开 JK2026-006),M6 的外勤轨迹、M8 的出库单就用这个入口把老板带到对应单据前。
- 「加签」→ 在当前节点后插入一个加签人,审批链同步变长。
- 「星辰年会晚宴 ›」→ PC4 项目详情;「看项目详情 › / 看驾驶舱 ›」→ PC4 / PC2。
M3a 审批详情
这屏做什么:单张申请的独立详情页(由拆页从 M3 列表拆出):金额、业务信息与附件、完整审批链节点、以及同意 / 驳回 / 加签 三个动作。
数据口径:金额与单据类型名沿用 PC16 单据配置与 PC17 审批流程(与 PC6 / M3 同一个名字、同一个数);审批链节点名以 PC17 为唯一权威源。
每个按钮点了会怎样:
- 从 M3 列表点任一行或页内「审批详情」→ 带
?doc= 开到本页;左上角「‹」返回 M3 审批中心。
- 「同意」→ 先弹二次确认(与 M3 / PC6 同一口径),确认后转财务打款、本单不可再改,并回写列表状态。
- 「驳回」→ 弹出驳回理由弹窗(理由必填,不填不能提交);确认后单据变「已驳回」。
- 「加签」→ 在当前节点后插入一个加签人,审批链同步变长;「原始单据」→ 全屏查看票据影像,点任意处关闭。
M7 采购入库
这屏做什么:员工手机开入库单:选供应商 → 勾设备填数量 → 底部实时合计 → 确认入库。
数据口径:入库单价取设备成本价;新单号沿用 RK2026-078;提交后单据状态为「待审核」,库管收货确认后才加库存(真系统里这张单会进 PC20 入库单列表;原型只在本页「最近入库单」里追加一行,不回写 PC20 与驾驶舱的 18 项)。
每个按钮点了会怎样:
- 「选择」→ 底部弹出 6 家供应商列表,点一家回填到「供 应 商」。
- 「📋 复制上次开单」→ 把上一张单(RK2026-077)的明细行原样带出并提示。
- 「⊕ 选商品」→ 跳 M9 勾选模式,确认后带回所选设备与数量。
- 明细行改数量 → 行金额与底部黄色合计、项数即时重算;「×」删除该行。
- 「确认入库」→ 未选供应商或未填明细会分别提示;通过后底部换成提交成功页,给出单号、金额、待审核状态与三个后续链接,同时下方「最近入库单」列表顶部当场多出一行 RK2026-078(绿色高亮 2 秒、状态「待审核」、标注「本单刚提交」),让开单的人看到自己的单真落进了列表。
- 填了一半退出再进来 → 草稿自动恢复;提交成功后草稿清空。
- 「全部 ›」→ PC20 入库单列表。
M8 销售出库
这屏做什么:员工手机开出库单:选项目(必选)→ 客户由项目自动带出 → 勾设备填数量 → 底部实时合计 → 确认出库。
数据口径:出库单价取设备的出库售价(与 PC20 出库单反算单价逐条一致);新单号沿用 CK2026-119;项目下拉取项目档案(与 PC3 / PC4 / 老板一张表同一份),客户挂在项目下、本页只读不再手选。
每个按钮点了会怎样:
- 顶部「项 目」下拉 → 列出项目档案里的全部项目(PC3 本次新建的项目也在内),首项是「请选择项目」;选中项目后「出库归属」里的客户框自动带回该项目的客户,只读不可手改,右上角「看客户档案 ›」直接跳到 PC5b 对应客户。
- 没选项目就点「确认出库」→ 提示「请先选择项目」不提交(客户是靠项目带出的,没项目这张单归不到项目、老板一张表也算不到对应收入)。
- 「📋 复制上次开单」「⊕ 选商品」→ 与 M7 同一套机制。
- 明细行数量超过在库 → 输入框变红并标「· 超出在库」,底部黄色合计条同时变红,上方挂一行提醒「有 N 项出库数量已超过在库,下方合计含超库部分,改数量或先走采购才能提交」;此时点「确认出库」会被拦下不提交,弹提示「已拦截:「230W 摇头光束灯」出库 120 台,超过在库 96 台,请先调数量或走采购」,并自动滚到那一行。标红是因为拦下之前合计会把超库部分也加进去(演示里能加到千万级),不给个颜色很容易被当成真金额。查库存入口在 M9。
- 「确认出库」→ 通过后底部换成提交成功页,给出单号、项目与客户、出库金额、出库类型、待审核状态与查库存 / 再开一单链接,同时下方「最近出库单」列表顶部当场多出一行 CK2026-119(标题形如「CK2026-119 · 项目名」,副行带出客户,状态「待审核」,区别于一旁的「已出库」,跟陈浩装车确认后才扣库存的口径对得上)。
- 草稿同样自动恢复与清空。
M9 选商品与库存查询
这屏做什么:一个页面两种用法:从 M7 / M8 进来是勾选模式(选设备带回开单页),直接打开是查看模式(查库存)。
数据口径:与 PC8 / PC20 / PC14 同一套设备台账,含在库数量、单位、成本价与出库售价、存放库位;顶部「共 N 类 / 在库件数 / 库存余额 / 需补货」不是写死的,是从 12 行当场加出来的(固定资产货车只计类不计数量金额),PC14 新建的设备会多出一行、四个数同步重算。
每个按钮点了会怎样:
- 分类标签(全部 / 屏类 / 灯光 / 音响 / 桁架舞台 / 桌椅篷房 / 线缆 / 车辆)与搜索框叠加生效(AND):先选「桁架舞台」再搜「300mm」,只剩 300mm 桁架一条;两个条件合并后筛到 0 条,列表下方会提示把分类改回「全部」或清空搜索框,也不会出现“有数据却说没数据”的矛盾画面(以前点分类只改行显示、不管提示,就是这个毛病)。
- 搜索框 → 按整行文字匹配(设备名 / 编码 / 分类副标 / 在库与预警线数字都算),所以搜「300」会把单价 300 元、预警线 300 的行一并带出来,想精准就搜「300mm」;与 PC 端各列表的搜索口径一致。
- 勾选模式:勾一行 → 底部「已选 N 项 · 合计」更新;改数量框 → 行金额与合计重算;「确 定」→ 带回 M7 或 M8 的开单明细。
- 查看模式:隐藏勾选框与数量列,只显示在库与单价;「PC 端库存明细 ›」→ PC8;「出入库流水 ›」→ PC20 出入库记录页签。
- 在库为 0 的行标「缺货」,出库时勾选会被拦截;PC14 刚建档的新设备同样拦得住(以前在库 0 不参与超库比较,刚建档就能开出出库单,现在会弹「已拦截:「某设备」刚建档还在台账里、在库 0,开不了出库,请先走采购入库」)。
M11 我的出入库
这屏做什么:从「我的」进出的出入库列表查询页,只看单不开单(要开单走卡片右上角的「去开单 ›」回 M7 / M8)。
数据口径:顶部「出入库汇总」的行数就地数本页列表,「我名下项目」按项目档案中负责人=王强统计(与 PC3 / 老板一张表同一份 PROJ);下面两个页签分别是入库单与出库单,单号、项目、供应商 / 客户与 M7 / M8 的「最近入库 / 出库单」对得上。
每个按钮点了会怎样:
- 「入库单 / 出库单」页签 → 就地切换列表,不跳页;支持
m11-my-stock.html?tab=out 直达出库页签(与 M6 考勤、PC20 出入库管理同一参数口径)。
- 卡片右上角「去开单 ›」→ 入库页签跳 M7 采购入库,出库页签跳 M8 销售出库。
- 顶栏 ‹ → 返回「我的」(M5)。
M5 我的
这屏做什么:账号与安全(头像、姓名、部门岗位、手机号、角色)、我的单据、退出登录。
每个按钮点了会怎样:
- 「修改密码」→ 弹窗填原密码 / 新密码 / 确认新密码,两次不一致或原密码错会红框提示;通过后提示修改成功。
- 姓名行 → 弹个人档案(员工编号 WZ1006、部门岗位、直接上级、系统角色、可见数据、入职时间),底部注明「档案由行政人事部维护、手机端只读」,并给一个「在电脑端看完整档案」直达 PC10b。
- 手机号行 → 弹窗改登录号:「获取验证码」不是死按钮,点一下发提示「验证码已发送至新手机号,10 分钟内有效」并进入 60 秒重发倒计时;保存后账号行、弹窗里的「当前在用」、个人档案的「登录账号」三处同时跟新,不会留旧号。
- 微信绑定行 → 弹绑定详情(昵称、绑定时间、推送范围);「解绑微信」先收详情再弹二次确认,确认后行内标签翻灰「未绑定」并提示可重新绑定。
- 「退出登录」→ 二次确认「确定退出登录?」,点确定提示已退出并跳转到 M0 登录屏;点取消留在本页。
- 「我的单据」各行 → 分别跳 M10 我的派工单、M2 报销、M6 请假与考勤、M11 我的出入库(出入库已改成看列表,不再直跳开单页)。
- 底部 Tab 切换工作台 / 审批 / 我的。
四、跨页数据口径(演示数据为什么能对上)
| 驾驶舱指标 | 取自哪张真表 | 数值 |
| 十三.入库金额 | PC20 入库单(不含已驳回)金额合计 | 173,200 元 = 17.32 万 |
| 二.设备销售额的设备销售部分 / 七.销售数量 | PC20 出库单金额与数量合计 | 248,800 元 / 240 件 |
| 十一.当前库存余额 / 十二.当前库存数量 | PC8 库存查询成本余额与在库数量 | 1,364,380 元 / 2,926 件 |
| 十六.入库数量 / 七.销售数量 | PC8 本月入库 / 本月出库 | 232 件 / 240 件 |
| 十五.未付金额 | PC6 待您审批的采购单合计 | 69,200 元 = 6.92 万 |
| 四.本期订单应收 / 六.尚欠 | PC5 客户到期应收 86.4 万、超期 21.2 万 | 超期 = 尚欠 21.20 万 |
| 客户销量数据合计 | PC3 项目列表合同额合计 | 486.0 万 |
| 十四.付款金额 | PC15 供应商已付口径的区间部分 | 10.40 万 |
以上对应关系由 tmp/check_dash.js 自动校验:5 个日期区间 × 18 项公式自洽 + 11 个明细弹窗加得回头部 + 与 PC20 / PC8 / PC6 实数逐条比对。
五、验收与自检
| 脚本 | 校验内容 |
python tmp/check_prototype.py | 总入口:页面清单(40 个 html:PC 端 30 页 + 小程序 10 屏)、断链、旧品牌与旧行业字样、页面内讲解文字、侧边栏 5 个分组 17 项菜单一致性(含已下线的 PC22 不得残留)、每页交互契约,并串跑下面全部 node 校验。 |
node tmp/check_site.js | 全站体检:文件数、href/src 断链、品牌字样、讲解文字、侧边栏、关键交互契约。 |
node tmp/check_dash.js | PC2 老板一张表 18 项 × 5 区间自洽 + 跨页实数比对。 |
node tmp/check_bill.js | M7 / M8 / M9 开单:单价、合计、超库拦截、草稿持久化。 |
node tmp/check_proj.js · check_cust.js · check_sup.js · check_dev.js · check_appr.js · check_oa.js · check_perm.js | 项目 / 客户 / 供应商 / 设备 / 审批 / 小程序 OA / 权限树各自的数字与交互校验。 |
node tmp/check_js.js · audit_cls.js | 全部内联脚本语法可解析;phone.css 类覆盖无孤儿。 |
node tmp/sumsync.js · stalesum.js · p22sum.js · pc23sum.js | 合计行体检:带筛选的表必须实时重算(不允许“筛完还是全量数”)、入/出分开累计(不许正负相抵)、与驾驶舱同源对账;p22sum 现在读的是 PC20 的出入库记录页签(原 PC22 已并入)。 |
node tmp/filterblank.js | 筛空体检:11 个可筛容器的行都能被引擎数出来,筛完不会“一片空白什么也不说”。 |
node tmp/docword.js · chkdoc.js · chkdocx.py | 文档↔原型对账:说明里写的状态词 / 按钮名 / 数字必须真在原型里存在,防“文档描一个原型没做的交互”。 |
node tmp/confirmaudit.js | 危险动作体检(本轮新增):同意 / 驳回 / 删除 / 停用 / 撤回 / 重置密码等会改状态的按钮,必须有二次确认或先开填理由的弹窗;同时校引擎 data-move 是否尊重 data-confirm。 |
node tmp/idref.js · varref.js · filtsync.js · optsync.js · dead.js | 引用完整性:页内 id / 会话变量 / 筛选目标 / 下拉选项与表体取值逐一对账,死链与空点击零容忍。 |
node tmp/exitaudit.js | 回归网自检(早期版):查出“会报 FAIL 但不设退出码”的假绿灯,保证一键回归的绿是真绿;现已由 wireck.js 扩展覆盖。 |
node tmp/recent.js | 开单落行链路:M7 / M8 提交后「最近入库 / 出库单」确实多出一行,单号与金额取本次填写、状态为待审核,且不会被提交成功页覆盖。 |
node tmp/formsink.js | 表单落点体检:26 个带输入项的表单逐个查「点保存到底改了什么」——必须有真实落点(列表插行 / 本页数值变化 / 引擎动作属性),不允许只剩一句「已保存」的假反馈。 |
node tmp/flowsync.js | 审批链同源体检:以 PC17 节点表为唯一权威源,逐单据比对 PC16 摘要列与开关文案、PC6 发起申请前段链与老板加签条件、小程序 M1 / M2 / M6 步骤与提交提示、M3 时间轴,共 96 条断言;把角色名当节点名用的旧说法(上一轮以前的写法)只要有残留就会被直接判 FAIL。 |
node tmp/wireck.js · exitaudit.js · pstat.js · round3.js | 回归网自检:没接进一键回归的体检脚本、报了 FAIL 却不置退出码的假绿灯、依赖启动目录的相对路径,三类网内漏洞一律拦下;pstat 另查权限树结构完整、角色授权 key 是否都能命中树,并把权限树的菜单项名与 PC 侧边菜单逐字比对;round3 反向用 tmp/sync_sidebar.py 的 MENU / PARENT 做单一真源,断言每个页面都要挂在菜单上、列表子页归位、权限树不得多出冷菜单。 |
node tmp/rowclick.js | 列表行可点体检(本轮新增):逐页把卡片行 / 表格行数出来,凡同一列表里“部分行能点开详情、部分行点了没有任何反应”一律 FAIL;目前 40 页 / 卡片行 26 个(其中可点 20 个)/ 表格行 16 组 142 行 / FAIL 0,剩下 2 个 INFO 是 M7 / M8 里的纯展示行。 |
node tmp/all.js | 一键全量回归:串跑上面全部体检脚本(当前 47 项 node)+ Word 逐句校验(python),失败项必须为 0。 |
演示账号:老板 wangzonghai / 内勤 zhouqi / 员工 wangqiang,密码统一 wz2026。
数据说明:原型内的公司与人员名称为演示用,数据均为展览设备行业示意数据,不代表真实经营数字。
本说明与《需求确认书》、高保真原型配套使用;对任一页面的交互或口径有不同意见,请批注后反馈,我们更新后再行确认。