diff --git a/docs/sql/alter_biz_qc_inspection_item_template.sql b/docs/sql/alter_biz_qc_inspection_item_template.sql new file mode 100644 index 00000000..78900eac --- /dev/null +++ b/docs/sql/alter_biz_qc_inspection_item_template.sql @@ -0,0 +1,322 @@ +-- 质检:检测项目模版(建表 + C 菜单 + 4 F 按钮 + 角色授权) +-- 幂等:可重复执行 +-- 授权:已有【质检基础信息】QCB 下任一有效子菜单,或已有质检工单菜单的角色 +-- → 授予 TOP + QCB + 本 C/F + +SET @tenant_no = CONVERT('zkxw' USING utf8mb4) COLLATE utf8mb4_unicode_ci; +SET @top_id = CONVERT('TOP00000000000000000000000000003' USING utf8mb4) COLLATE utf8mb4_unicode_ci; +SET @qcb_id = CONVERT('QCB00000000000000000000000000001' USING utf8mb4) COLLATE utf8mb4_unicode_ci; +SET @wo_menu = CONVERT('70000000000000000000000000000007' USING utf8mb4) COLLATE utf8mb4_unicode_ci; +SET @menu_c = CONVERT('95300000000000000000000000000001' USING utf8mb4) COLLATE utf8mb4_unicode_ci; +SET @menu_f_list = CONVERT('95300000000000000000000000000002' USING utf8mb4) COLLATE utf8mb4_unicode_ci; +SET @menu_f_add = CONVERT('95300000000000000000000000000003' USING utf8mb4) COLLATE utf8mb4_unicode_ci; +SET @menu_f_edit = CONVERT('95300000000000000000000000000004' USING utf8mb4) COLLATE utf8mb4_unicode_ci; +SET @menu_f_remove = CONVERT('95300000000000000000000000000005' USING utf8mb4) COLLATE utf8mb4_unicode_ci; + +-- 0) 建表 +CREATE TABLE IF NOT EXISTS `biz_qc_inspection_item_template` ( + `id` varchar(64) NOT NULL COMMENT '主键ID', + `template_name` varchar(200) NOT NULL COMMENT '模版名称', + `lab_item_ids` varchar(2000) NOT NULL DEFAULT '' COMMENT '实验室项目ID逗号分隔', + `third_party_item_ids` varchar(2000) NOT NULL DEFAULT '' COMMENT '第三方项目ID逗号分隔', + `status` char(1) NOT NULL DEFAULT '1' COMMENT '1启用 0停用', + `tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号', + `order_num` int(11) DEFAULT NULL COMMENT '排序号', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) DEFAULT NULL COMMENT '创建人id', + `create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT NULL COMMENT '更新人id', + `update_time` datetime NOT NULL COMMENT '更新时间', + `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_qc_iit_tenant_status` (`tenant_no`,`del_flag`,`status`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='质检检测项目模版'; + +-- 1) C 菜单 +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 + @menu_c, + '检测项目模版', + @qcb_id, + 'C', + 'inspection-item-template', + '/quality-inspection/inspection-item-template/index', + 'biz:qcInspectionItemTemplate:list', + 1, '1', '1', @tenant_no, 5, + '质检基础信息:检测项目模版主数据', + NULL, '', NOW(), NULL, NOW(), 0 +FROM DUAL +WHERE NOT EXISTS ( + SELECT 1 FROM sys_menu m + WHERE m.id COLLATE utf8mb4_unicode_ci = @menu_c +); + +UPDATE sys_menu +SET + menu_name = '检测项目模版', + parent_id = @qcb_id, + menu_type = 'C', + path = 'inspection-item-template', + component = '/quality-inspection/inspection-item-template/index', + perms = 'biz:qcInspectionItemTemplate:list', + visible = '1', + status = '1', + order_num = 5, + remark = '质检基础信息:检测项目模版主数据', + del_flag = 0, + update_time = NOW() +WHERE id COLLATE utf8mb4_unicode_ci = @menu_c; + +-- 2) F 按钮:list +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 + @menu_f_list, + '检测项目模版查询', + @menu_c, + 'F', + '', + '', + 'biz:qcInspectionItemTemplate:list', + 1, '0', '1', @tenant_no, 1, + '检测项目模版列表查询', + NULL, '', NOW(), NULL, NOW(), 0 +FROM DUAL +WHERE NOT EXISTS ( + SELECT 1 FROM sys_menu m + WHERE m.id COLLATE utf8mb4_unicode_ci = @menu_f_list +); + +UPDATE sys_menu +SET + menu_name = '检测项目模版查询', + parent_id = @menu_c, + menu_type = 'F', + path = '', + component = '', + perms = 'biz:qcInspectionItemTemplate:list', + visible = '0', + status = '1', + order_num = 1, + remark = '检测项目模版列表查询', + del_flag = 0, + update_time = NOW() +WHERE id COLLATE utf8mb4_unicode_ci = @menu_f_list; + +-- 2b) F 按钮:add +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 + @menu_f_add, + '检测项目模版新增', + @menu_c, + 'F', + '', + '', + 'biz:qcInspectionItemTemplate:add', + 1, '0', '1', @tenant_no, 2, + '检测项目模版新增', + NULL, '', NOW(), NULL, NOW(), 0 +FROM DUAL +WHERE NOT EXISTS ( + SELECT 1 FROM sys_menu m + WHERE m.id COLLATE utf8mb4_unicode_ci = @menu_f_add +); + +UPDATE sys_menu +SET + menu_name = '检测项目模版新增', + parent_id = @menu_c, + menu_type = 'F', + path = '', + component = '', + perms = 'biz:qcInspectionItemTemplate:add', + visible = '0', + status = '1', + order_num = 2, + remark = '检测项目模版新增', + del_flag = 0, + update_time = NOW() +WHERE id COLLATE utf8mb4_unicode_ci = @menu_f_add; + +-- 2c) F 按钮:edit +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 + @menu_f_edit, + '检测项目模版修改', + @menu_c, + 'F', + '', + '', + 'biz:qcInspectionItemTemplate:edit', + 1, '0', '1', @tenant_no, 3, + '检测项目模版修改(含启停)', + NULL, '', NOW(), NULL, NOW(), 0 +FROM DUAL +WHERE NOT EXISTS ( + SELECT 1 FROM sys_menu m + WHERE m.id COLLATE utf8mb4_unicode_ci = @menu_f_edit +); + +UPDATE sys_menu +SET + menu_name = '检测项目模版修改', + parent_id = @menu_c, + menu_type = 'F', + path = '', + component = '', + perms = 'biz:qcInspectionItemTemplate:edit', + visible = '0', + status = '1', + order_num = 3, + remark = '检测项目模版修改(含启停)', + del_flag = 0, + update_time = NOW() +WHERE id COLLATE utf8mb4_unicode_ci = @menu_f_edit; + +-- 2d) F 按钮:remove +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 + @menu_f_remove, + '检测项目模版删除', + @menu_c, + 'F', + '', + '', + 'biz:qcInspectionItemTemplate:remove', + 1, '0', '1', @tenant_no, 4, + '检测项目模版删除', + NULL, '', NOW(), NULL, NOW(), 0 +FROM DUAL +WHERE NOT EXISTS ( + SELECT 1 FROM sys_menu m + WHERE m.id COLLATE utf8mb4_unicode_ci = @menu_f_remove +); + +UPDATE sys_menu +SET + menu_name = '检测项目模版删除', + parent_id = @menu_c, + menu_type = 'F', + path = '', + component = '', + perms = 'biz:qcInspectionItemTemplate:remove', + visible = '0', + status = '1', + order_num = 4, + remark = '检测项目模版删除', + del_flag = 0, + update_time = NOW() +WHERE id COLLATE utf8mb4_unicode_ci = @menu_f_remove; + +-- 3) 目标角色:已有 QCB 下任一有效子菜单,或已有质检工单菜单 +-- MySQL 5.7:UPDATE 目标表不可在同句 FROM/EXISTS 中直接引用自身,须用派生表 + +-- 3a) 恢复软删的 TOP / QCB / C / F 授权 +UPDATE sys_role_menu rm +INNER JOIN sys_role r + ON r.id COLLATE utf8mb4_unicode_ci = rm.role_id COLLATE utf8mb4_unicode_ci + AND r.del_flag = 0 + AND r.tenant_no COLLATE utf8mb4_unicode_ci = @tenant_no +INNER JOIN ( + SELECT DISTINCT rm2.role_id AS role_id + FROM sys_role_menu rm2 + INNER JOIN sys_menu m2 + ON m2.id COLLATE utf8mb4_unicode_ci = rm2.menu_id COLLATE utf8mb4_unicode_ci + AND m2.del_flag = 0 + AND ( + m2.parent_id COLLATE utf8mb4_unicode_ci = @qcb_id + OR m2.id COLLATE utf8mb4_unicode_ci = @wo_menu + ) + WHERE rm2.tenant_no COLLATE utf8mb4_unicode_ci = @tenant_no + AND rm2.del_flag = 0 +) eligible + ON eligible.role_id COLLATE utf8mb4_unicode_ci = r.id COLLATE utf8mb4_unicode_ci +SET + rm.del_flag = 0, + rm.update_time = NOW(), + rm.remark = 'grant qc inspection item template to QCB/WO roles' +WHERE rm.tenant_no COLLATE utf8mb4_unicode_ci = @tenant_no + AND rm.del_flag = 1 + AND rm.menu_id COLLATE utf8mb4_unicode_ci IN ( + @top_id, @qcb_id, @menu_c, + @menu_f_list, @menu_f_add, @menu_f_edit, @menu_f_remove + ); + +-- 3b) 插入缺失授权(TOP + QCB + C + 4 F) +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 + UPPER(MD5(CONCAT(src.role_id, '|', src.menu_id))), + src.role_id, + src.menu_id, + @tenant_no, + 0, + 'grant qc inspection item template to QCB/WO roles', + 'admin', + '', + NOW(), + NULL, + NOW(), + 0 +FROM ( + SELECT + r.id AS role_id, + x.menu_id AS menu_id + FROM sys_role r + INNER JOIN ( + SELECT @top_id AS menu_id + UNION ALL SELECT @qcb_id + UNION ALL SELECT @menu_c + UNION ALL SELECT @menu_f_list + UNION ALL SELECT @menu_f_add + UNION ALL SELECT @menu_f_edit + UNION ALL SELECT @menu_f_remove + ) x + INNER JOIN ( + SELECT DISTINCT rm2.role_id AS role_id + FROM sys_role_menu rm2 + INNER JOIN sys_menu m2 + ON m2.id COLLATE utf8mb4_unicode_ci = rm2.menu_id COLLATE utf8mb4_unicode_ci + AND m2.del_flag = 0 + AND ( + m2.parent_id COLLATE utf8mb4_unicode_ci = @qcb_id + OR m2.id COLLATE utf8mb4_unicode_ci = @wo_menu + ) + WHERE rm2.tenant_no COLLATE utf8mb4_unicode_ci = @tenant_no + AND rm2.del_flag = 0 + ) eligible + ON eligible.role_id COLLATE utf8mb4_unicode_ci = r.id COLLATE utf8mb4_unicode_ci + INNER JOIN sys_menu m + ON m.id COLLATE utf8mb4_unicode_ci = x.menu_id + AND m.del_flag = 0 + WHERE r.del_flag = 0 + AND r.tenant_no COLLATE utf8mb4_unicode_ci = @tenant_no +) src +LEFT JOIN sys_role_menu existing + ON existing.role_id COLLATE utf8mb4_unicode_ci = src.role_id COLLATE utf8mb4_unicode_ci + AND existing.menu_id COLLATE utf8mb4_unicode_ci = src.menu_id COLLATE utf8mb4_unicode_ci + AND existing.tenant_no COLLATE utf8mb4_unicode_ci = @tenant_no + AND existing.del_flag = 0 +WHERE existing.id IS NULL; diff --git a/docs/sql/alter_sys_menu_add_production_pre_transit_sample.sql b/docs/sql/alter_sys_menu_add_production_pre_transit_sample.sql new file mode 100644 index 00000000..84272731 --- /dev/null +++ b/docs/sql/alter_sys_menu_add_production_pre_transit_sample.sql @@ -0,0 +1,166 @@ +-- 生产管理:预产及在途样本(独立页面 + 独立权限码) +-- 幂等:可重复执行 +-- 授权:已有【生产管理】PRM 下任一有效子菜单的角色 → 授予本 C/F,并补授 PRM 祖先 + +SET @tenant_no = CONVERT('zkxw' USING utf8mb4) COLLATE utf8mb4_unicode_ci; +SET @prm_id = CONVERT('PRM00000000000000000000000000001' USING utf8mb4) COLLATE utf8mb4_unicode_ci; +SET @menu_c = CONVERT('95200000000000000000000000000001' USING utf8mb4) COLLATE utf8mb4_unicode_ci; +SET @menu_f = CONVERT('95200000000000000000000000000002' USING utf8mb4) COLLATE utf8mb4_unicode_ci; + +-- 1) C 菜单 +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 + @menu_c, + '预产及在途样本', + @prm_id, + 'C', + 'pre-transit-sample', + '/production/pre-transit-sample/index', + 'production:preTransitSample:list', + 1, '1', '1', @tenant_no, 0, + '生产看板:在途样本与预产协议(协议单维度只读;与质检页代码独立)', + NULL, '', NOW(), NULL, NOW(), 0 +FROM DUAL +WHERE NOT EXISTS ( + SELECT 1 FROM sys_menu m + WHERE m.id COLLATE utf8mb4_unicode_ci = @menu_c +); + +UPDATE sys_menu +SET + menu_name = '预产及在途样本', + parent_id = @prm_id, + menu_type = 'C', + path = 'pre-transit-sample', + component = '/production/pre-transit-sample/index', + perms = 'production:preTransitSample:list', + visible = '1', + status = '1', + order_num = 0, + remark = '生产看板:在途样本与预产协议(协议单维度只读;与质检页代码独立)', + del_flag = 0, + update_time = NOW() +WHERE id COLLATE utf8mb4_unicode_ci = @menu_c; + +-- 2) F 按钮 +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 + @menu_f, + '预产及在途查询', + @menu_c, + 'F', + '', + '', + 'production:preTransitSample:list', + 1, '0', '1', @tenant_no, 1, + '生产侧预产及在途样本列表查询', + NULL, '', NOW(), NULL, NOW(), 0 +FROM DUAL +WHERE NOT EXISTS ( + SELECT 1 FROM sys_menu m + WHERE m.id COLLATE utf8mb4_unicode_ci = @menu_f +); + +UPDATE sys_menu +SET + menu_name = '预产及在途查询', + parent_id = @menu_c, + menu_type = 'F', + path = '', + component = '', + perms = 'production:preTransitSample:list', + visible = '0', + status = '1', + order_num = 1, + remark = '生产侧预产及在途样本列表查询', + del_flag = 0, + update_time = NOW() +WHERE id COLLATE utf8mb4_unicode_ci = @menu_f; + +-- 3) 目标角色:已有 PRM 下任一有效子菜单授权 +-- MySQL 5.7:UPDATE 目标表不可在同句 FROM/EXISTS 中直接引用自身,须用派生表 + +-- 3a) 恢复软删的 PRM / C / F 授权 +UPDATE sys_role_menu rm +INNER JOIN sys_role r + ON r.id COLLATE utf8mb4_unicode_ci = rm.role_id COLLATE utf8mb4_unicode_ci + AND r.del_flag = 0 + AND r.tenant_no COLLATE utf8mb4_unicode_ci = @tenant_no +INNER JOIN ( + SELECT DISTINCT rm2.role_id AS role_id + FROM sys_role_menu rm2 + INNER JOIN sys_menu m2 + ON m2.id COLLATE utf8mb4_unicode_ci = rm2.menu_id COLLATE utf8mb4_unicode_ci + AND m2.del_flag = 0 + AND m2.parent_id COLLATE utf8mb4_unicode_ci = @prm_id + WHERE rm2.tenant_no COLLATE utf8mb4_unicode_ci = @tenant_no + AND rm2.del_flag = 0 +) eligible + ON eligible.role_id COLLATE utf8mb4_unicode_ci = r.id COLLATE utf8mb4_unicode_ci +SET + rm.del_flag = 0, + rm.update_time = NOW(), + rm.remark = 'grant production pre-transit to PRM roles' +WHERE rm.tenant_no COLLATE utf8mb4_unicode_ci = @tenant_no + AND rm.del_flag = 1 + AND rm.menu_id COLLATE utf8mb4_unicode_ci IN (@prm_id, @menu_c, @menu_f); + +-- 3b) 插入缺失授权(PRM + C + F) +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 + UPPER(MD5(CONCAT(src.role_id, '|', src.menu_id))), + src.role_id, + src.menu_id, + @tenant_no, + 0, + 'grant production pre-transit to PRM roles', + 'admin', + '', + NOW(), + NULL, + NOW(), + 0 +FROM ( + SELECT + r.id AS role_id, + x.menu_id AS menu_id + FROM sys_role r + INNER JOIN ( + SELECT @prm_id AS menu_id + UNION ALL SELECT @menu_c + UNION ALL SELECT @menu_f + ) x + INNER JOIN ( + SELECT DISTINCT rm2.role_id AS role_id + FROM sys_role_menu rm2 + INNER JOIN sys_menu m2 + ON m2.id COLLATE utf8mb4_unicode_ci = rm2.menu_id COLLATE utf8mb4_unicode_ci + AND m2.del_flag = 0 + AND m2.parent_id COLLATE utf8mb4_unicode_ci = @prm_id + WHERE rm2.tenant_no COLLATE utf8mb4_unicode_ci = @tenant_no + AND rm2.del_flag = 0 + ) eligible + ON eligible.role_id COLLATE utf8mb4_unicode_ci = r.id COLLATE utf8mb4_unicode_ci + INNER JOIN sys_menu m + ON m.id COLLATE utf8mb4_unicode_ci = x.menu_id + AND m.del_flag = 0 + WHERE r.del_flag = 0 + AND r.tenant_no COLLATE utf8mb4_unicode_ci = @tenant_no +) src +LEFT JOIN sys_role_menu existing + ON existing.role_id COLLATE utf8mb4_unicode_ci = src.role_id COLLATE utf8mb4_unicode_ci + AND existing.menu_id COLLATE utf8mb4_unicode_ci = src.menu_id COLLATE utf8mb4_unicode_ci + AND existing.tenant_no COLLATE utf8mb4_unicode_ci = @tenant_no + AND existing.del_flag = 0 +WHERE existing.id IS NULL; diff --git a/web-admin/graphify-out/GRAPH_REPORT.md b/web-admin/graphify-out/GRAPH_REPORT.md index 5d1fd2f9..3606979f 100644 --- a/web-admin/graphify-out/GRAPH_REPORT.md +++ b/web-admin/graphify-out/GRAPH_REPORT.md @@ -1,7 +1,7 @@ # Graph Report - src (2026-08-18) ## Corpus Check -- Large corpus: 986 files · ~644,157 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only. +- Large corpus: 986 files · ~644,200 words. Semantic extraction will be expensive (many Claude tokens). Consider running on a subfolder, or use --no-semantic to run AST-only. ## Summary - 3522 nodes · 5022 edges · 69 communities detected diff --git a/web-admin/graphify-out/manifest.json b/web-admin/graphify-out/manifest.json index a17b530b..52521a5e 100644 --- a/web-admin/graphify-out/manifest.json +++ b/web-admin/graphify-out/manifest.json @@ -17,8 +17,8 @@ "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/common/index.ts": 1781272556.3597305, "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/directive/directive.d.ts": 1781272556.3601494, "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/api/api.d.ts": 1781272556.3606477, - "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/components.d.ts": 1787042506.6568909, - "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/auto-imports.d.ts": 1787042491.5119462, + "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/components.d.ts": 1787043942.7426405, + "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/auto-imports.d.ts": 1787043926.3047507, "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/store/index.ts": 1781272556.364766, "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/router/index.ts": 1782394569.8806834, "/Users/wuzilong/work/00code/zkxw/web-admin/src/composables/useAttachmentActions.ts": 1783921717.4015942, @@ -536,7 +536,7 @@ "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskExecutionDialog.vue": 1783403211.24666, "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/EditTaskInfoDialog.vue": 1782893853.6561613, "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputList.vue": 1783395073.7065923, - "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/DispatchTaskDialog.vue": 1787042445.3518429, + "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/DispatchTaskDialog.vue": 1787043941.7999055, "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskPaperAttachmentsPanel.vue": 1782893853.2361045, "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/WorkOrderTaskSubList.vue": 1785209092.1710618, "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/TaskOutputProductDialog.vue": 1786945270.5325274, @@ -545,7 +545,7 @@ "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/ProductionWorkOrderQcViewDialog.vue": 1782893852.7941833, "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/WorkOrderTaskStepSubList.vue": 1782893852.736343, "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/StepDetailActionBar.vue": 1782893852.7041657, - "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/SaveProductionTaskSetDialog.vue": 1787043857.3893995, + "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/SaveProductionTaskSetDialog.vue": 1787044089.526758, "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/ProductionWorkOrderTabBar.vue": 1783307222.9653108, "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/task-step-editor-persistence.ts": 1782811944.10899, "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/production/production-work-order/DispatchStepDialog.vue": 1782893852.5906737,