Files
bj_power/bj_power_mes/public/assets/help-DqtsZH2B.js
T
SunYF e82b744bbd build: update frontend build asset hashes
this commit updates all the static asset file hashes in index.html templates, and adds/removes the corresponding chunk files, which is typical after a frontend project rebuild to deploy updated static resources.
2026-08-29 08:11:44 +08:00

24 lines
15 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{_ as g,o,c as i,a as f,w as m,f as a,d as e,t as r,q as n,F as v,m as h,n as M,r as u,i as P}from"./index-0akZQTPV.js";const C={class:"page-help"},O={class:"ph-inner"},y={class:"ph-banner"},R={class:"ph-banner-title"},T={key:0,class:"ph-overview"},V={key:1,class:"ph-section"},L={class:"ph-fname"},b={class:"ph-fsource"},B={class:"ph-fpurpose"},W={class:"ph-ffill"},A={key:0,class:"ph-sec-title"},x={key:1,class:"ph-sec-overview"},U={class:"ph-fname"},D={class:"ph-fsource"},I={class:"ph-fpurpose"},G={class:"ph-ffill"},j={__name:"PageHelp",props:{data:{type:Object,default:()=>({title:"操作说明",overview:"",fields:[]})}},setup(s){const c=P(!1);function _(){c.value=!0}return(q,t)=>{const w=u("el-button"),E=u("el-tooltip"),N=u("el-empty"),S=u("el-drawer");return o(),i("div",C,[f(E,{content:"本页操作说明",placement:"left"},{default:m(()=>[f(w,{class:"help-fab",circle:"",onClick:_},{default:m(()=>[...t[1]||(t[1]=[a("?",-1)])]),_:1})]),_:1}),f(S,{modelValue:c.value,"onUpdate:modelValue":t[0]||(t[0]=l=>c.value=l),title:s.data.title||"操作说明",size:"520px","append-to-body":"",class:"ph-drawer"},{default:m(()=>[e("div",O,[e("div",y,[e("div",R,r(s.data.title||"操作说明"),1),t[2]||(t[2]=e("div",{class:"ph-banner-sub"},"页面整体说明",-1))]),s.data.overview?(o(),i("div",T,r(s.data.overview),1)):n("",!0),t[3]||(t[3]=e("div",{class:"ph-legend"},[e("span",{class:"lg"},[e("i",{class:"ic lg-source"}),a("来源:这个字段从哪来、谁填")]),e("span",{class:"lg"},[e("i",{class:"ic lg-purpose"}),a("用途:它起什么作用")]),e("span",{class:"lg"},[e("i",{class:"ic lg-fill"}),a("怎么填:具体填什么")])],-1)),s.data.fields&&s.data.fields.length?(o(),i("div",V,[(o(!0),i(v,null,h(s.data.fields,(l,d)=>(o(),i("div",{class:"ph-field",key:"top"+d},[e("div",L,[a(r(l.name)+" ",1),e("span",b,r(l.source),1)]),e("div",B,r(l.purpose),1),e("div",W,"👉 "+r(l.fill),1)]))),128))])):n("",!0),s.data.sections&&s.data.sections.length?(o(!0),i(v,{key:2},h(s.data.sections,(l,d)=>(o(),i("div",{key:d,class:"ph-section"},[l.title?(o(),i("div",A,r(l.title),1)):n("",!0),l.overview?(o(),i("div",x,r(l.overview),1)):n("",!0),(o(!0),i(v,null,h(l.fields,(p,k)=>(o(),i("div",{class:"ph-field",key:k},[e("div",U,[a(r(p.name)+" ",1),e("span",D,r(p.source),1)]),e("div",I,r(p.purpose),1),e("div",G,"👉 "+r(p.fill),1)]))),128))]))),128)):n("",!0),!s.data.fields&&!(s.data.sections&&s.data.sections.length)?(o(),M(N,{key:3,description:"暂无说明","image-size":70})):n("",!0)])]),_:1},8,["modelValue","title"])])}}},F=g(j,[["__scopeId","data-v-75d9d55f"]]),H={title:"产品类型(档案维护)",overview:`产品类型是"生产什么产品"的分类档案,是整条产线的源头基础数据。
生产主数据链条:产品类型 → 建工单(选产品类型) → 配物料清单(BOM) → 日排产 → 备料 → PLC/AGV 配送 → 工位装配。
必须先在这里维护好产品类型,后面所有环节(工单/BOM/备料/拧紧/追溯)才有可选对象。`,fields:[{name:"名称",source:"手工填写。用户自定义,无上游来源。",purpose:"产品类型的中文名,用于识别与下拉展示",fill:"如:智能电表、断路器、配电柜"},{name:"编码",source:"手工填写。你自定义的编码,保存入库后成为该记录的唯一标识。",purpose:"产品唯一编码,工单/物料清单等下游按此关联",fill:"如 METER-01;全局唯一,建了不要随意改,否则下游关联会断"},{name:"类别",source:"手工填写。可选,无上游来源。",purpose:"产品所属大类,便于分类统计",fill:"如:计量表 / 开关柜;可空"},{name:"启用",source:"开关选择。默认开启。",purpose:"启用后才允许在新建工单/备料的下拉里被选到",fill:"默认开启;暂时停产的可关闭(不删除,保留档案)"},{name:"备注",source:"手工填写。可选。",purpose:"补充说明",fill:"可不填"}]},K={title:"工单管理(新建 / 编辑工单)",overview:`工单 = 一个"合同/生产批次"的唯一载体,是生产执行和仓库出库挂靠的核心对象。
全流程:先有产品类型 → 建工单(选产品类型、定数量、定工序组合) → 进"物料清单"给该工单配料 → 行内"日排产"排哪天产多少 → 仓库按排产备料出库 → 产线装配/拧紧/报工 → 完工。
工单号会贯穿 备料单、拧紧查询、扫码报工、工件追溯、操作日志 全链路。`,fields:[{name:"工单号",source:"系统自动生成(WO+时间戳),可手工改。新建时自动带出。",purpose:"唯一标识一个工单,备料/出库/报工/追溯都挂在此号下",fill:"打开新建对话框时已自动生成,一般不用改;如改动须保证唯一"},{name:"产品类型",source:'下拉选择。数据来自"产品类型"页面已启用的记录。',purpose:"说明这批生产的是什么产品,并决定物料清单内容",fill:'先到"产品类型"页面建好记录,再到这边下拉选择;没有可选项=还没建产品类型'},{name:"产品编码",source:"手工填写。通常与所选产品类型的编码一致。",purpose:"产品唯一编码,用于展示与追溯",fill:"如 METER-01,与产品类型编码对齐"},{name:"产品名称",source:"手工填写。通常与产品类型名称一致。",purpose:"产品中文名,用于展示",fill:"如 智能电表"},{name:"数量",source:"手工填写整数。",purpose:"本工单生产总数量(合同台数),决定需求量与排产上限",fill:"整数 ≥1,如 100"},{name:"工序组合",source:"手工填写数字序列。",purpose:"本工单要在产线执行的工序集合,PLC 按此组合下发到各工位",fill:"组合写入PLC135=只做第1/3/5序;全工序=123456789101112"},{name:"状态",source:"手动选择(新建时)。后续由系统流程自动推进。",purpose:"工单生命周期:创建→发布→生产→完成",fill:'新建时选"已创建",后续按流程推进无需手改'}],sections:[{title:'行内"日排产"弹窗',overview:'对当前这行工单,排"哪天生产多少台"。排产结果会通知仓库按此备料/配送。',fields:[{name:"日期",source:"手动选择日期。",purpose:"计划生产日期,仓库按它哪天备料",fill:"选一个日期,可对同一工单排未来多天"},{name:"计划数量",source:"手动填写整数。",purpose:"当天计划产量,作为仓库备料/AGV配送的前瞻依据",fill:"≤ 工单总数量;如今天产 20 台"}]}]},Q={title:"物料清单(BOM",overview:`物料清单 = 生产 1 台该工单产品需要哪些物料、各用多少。
仓库按它计算备料/出库需求量,并强约束累计出库 ≤ 需求总量。
数据链路:先建工单 → 到本页选工单 → 为它逐条添加物料(编码要与 WMS 物料档案一致) → 之后仓库才能按此为工单领料。`,fields:[{name:"工单号",source:"下拉/输入选择。来自已建的工单。",purpose:"要为哪个工单配置物料清单",fill:"选择工单号后加载该工单已有清单"},{name:"物料编码",source:"手工填写。必须与 WMS(库房) 物料档案的编码一致。",purpose:"该物料在库房的全库唯一编码,两条系统靠它关联",fill:"如 螺丝=SCREW-M3、主控芯片=IC-001;编码对不上 WMS 将无法备料"},{name:"物料名称",source:"手工填写。",purpose:"物料中文名,便于识别",fill:"如 十字螺丝、主控芯片"},{name:"规格",source:"手工填写。",purpose:"物料规格型号",fill:"如 M3×8 / SMT-48脚"},{name:"单位",source:"手工填写。",purpose:"计量单位,用于算量",fill:"个 / 件 / 套 / kg"},{name:"管理方式",source:"单选。按物料类型决定,与 WMS 一致。",purpose:"精密件=逐件按SN管理;结构件=按批次管理",fill:'电子件选"精密件 SN";螺丝等标准件选"结构件 批次"'},{name:"单台用量",source:"手工填写。",purpose:"生产 1 台产品用的该物料数量",fill:"如每台 8 颗螺丝 → 填 8"},{name:"损耗率%",source:"手工填写。",purpose:"考虑报废/损耗的加放比例",fill:"如 2% 填 20=不计算损耗"},{name:"需求量",source:"自动计算 = 数量×单台用量×(1+损耗率),可覆盖。",purpose:"该物料总需求,出库不能超它",fill:"一般自动算,不必改"}]},J={title:"备料单(查询)",overview:`备料单按"日排产"自动算出某天需要的全部物料,仓库据此备料、由 AGV 配送到各工位(DOCK)。
本页是只读查询,不修改数据。
数据链路:日排产(工单内) → 本页按日期取那天所有工单的物料汇总 → 仓库出库 → AGV 配送。`,fields:[{name:"日期",source:"手动选择。筛选条件。",purpose:"查看哪一天的备料需求",fill:"选择某排产日期"},{name:"工单号",source:"手动输入。筛选条件。",purpose:"只查看指定工单的备料",fill:"可空,空=看全部工单"},{name:"状态",source:"下拉。数据来自备料执行状态。",purpose:"按备料进度筛选",fill:"可空"}]},X={title:"PLC 工序下发",overview:`把工序组合写入西门子 S7-1214 PLC 寄存器,产线传送带据此只执行对应工序。
系统遵循"未收到完成信号不下发下一条",确保产线不串序。
数据链路:工单(含工序组合) → 下发到 S7-1214 → PLC 驱动工位/传送带 → 收到完成信号再下发下一条。`,fields:[{name:"工单号",source:"手动输入/选择。来自工单。",purpose:"当前生产的工单,追溯依据",fill:"选择或输入工单号"},{name:"工件SN",source:"扫码枪扫描。来自工件条码。",purpose:"当前流经的工件唯一序列号",fill:"扫码枪扫入;可空(按工单整体下发)"},{name:"工位",source:"手动填写。",purpose:"下发到哪个工位(1~12)",fill:"输入 1~12 的整数"},{name:"工序组合",source:"手动填写。通常与工单的工序组合一致。",purpose:"该工位要执行的工序,PLC 组合执行",fill:"如 135(做第1/3/5序);全序=123456789101112"}]},Y={title:"拧紧数据(查询/录入)",overview:`接收丹尼科尔拧紧工具的采集结果(扭矩/角度/时间/结果/操作人),用于质量追溯。
数据在工位终端点"工序完成上报"后由拧紧枪数据同步到 MES。本页可查询,也可手工补录。`,fields:[{name:"SN",source:"扫码枪/手工。来自工件条码。",purpose:"被拧紧的工件唯一序列号",fill:"扫码枪扫描"},{name:"工单号",source:"自动带出/选择。来自工单。",purpose:"该工件所属工单",fill:"选择工单号"},{name:"工位",source:"手动填写。",purpose:"拧紧发生在哪道工位",fill:"如 3"},{name:"扭矩",source:"拧紧枪自动采集(丹尼科尔工具)。",purpose:"实际拧紧扭矩(N·m),判定是否达标",fill:"工具自动带出;补录时手填"},{name:"角度",source:"拧紧枪自动采集。",purpose:"实际旋转角度(°),判定滑牙/屈服",fill:"工具自动带出;补录时手填"},{name:"操作人",source:"登录账号自动带出。",purpose:"执行拧紧的人,用于追溯",fill:"默认当前登录用户,可改"}]},Z={title:"扫码报工",overview:`扫码枪扫到工件,按类型记录工件在产线的流转事件。这是工单进度与工件追溯的核心数据来源。
类型含义:进线(进入产线) → 工序(完成某道工序) → 完工(整件完成) → 暂存退回(退回库房)。`,fields:[{name:"SN",source:"扫码枪扫描。来自工件条码。",purpose:"工件的唯一序列号",fill:"扫码枪扫入"},{name:"工单号",source:"自动带出/选择。来自工单。",purpose:"工件所属工单",fill:"输入或选择"},{name:"工位",source:"手动填写/扫码枪绑定。",purpose:"当前扫码的工位编号",fill:"如 5"},{name:"类型",source:"下拉选择。业务定义的事件类型。",purpose:"本次扫码的业务含义",fill:"进线 ONLINE / 工序 PROCESS / 完工 DONE / 暂存 TEMP_STORE"},{name:"工序号",source:"手动填写。",purpose:'类型为"工序"时填第几道工序',fill:"如 3"}]},$={title:"工件追溯",overview:`输入工件 SN,查它的完整履历:进线/完工时间、各工序时间线、步骤考核数据(扭矩/角度)、拧紧记录、以及它用了哪些批次/精密件。
数据来源:全部由前端各环节自动写入(扫码报工、拧紧采集、PLC下发、工序完成),本页只读查询。`,fields:[{name:"工件SN",source:"扫码枪/手输。来自工件条码。",purpose:"要追溯的工件唯一序列号",fill:"扫 SN 或手动输入后点查询"}]},ee={title:"角色权限管理(用户/角色/权限)",overview:`管控谁能登录、能看哪些菜单。建议只给操作员分配其工序所需菜单权限。
登录 token 有效期短(1800秒),超时自动失效需重新登录。`,sections:[{title:"用户(新建/编辑)",fields:[{name:"用户名",source:"手工填写。",purpose:"登录账号,唯一",fill:"如 operator1"},{name:"密码",source:"手工填写,保存时加密存储。",purpose:"登录密码",fill:"≥6位;编辑时留空=不修改"},{name:"姓名",source:"手工填写。",purpose:"真实姓名,操作日志追溯用",fill:"如 张三"},{name:"角色",source:'下拉选择。来自"角色"页已建的角色。',purpose:"决定该用户的菜单权限",fill:"选择已建角色"},{name:"状态",source:"选择。",purpose:"禁用后无法登录",fill:"启用 / 禁用"}]},{title:"角色(新建/编辑)",fields:[{name:"名称",source:"手工填写。",purpose:"角色中文名",fill:"如 装配工、质检员"},{name:"编码",source:"手工填写。",purpose:"角色唯一编码(SUPER_ADMIN 为内置超级管理员,勿改)",fill:"如 OPERATOR"},{name:"备注",source:"手工填写。",purpose:"说明",fill:"可空"},{name:"权限",source:'多选。来自"权限"页的权限码。',purpose:"勾选该角色可见的菜单/功能",fill:"勾选所需权限码(如 produce.workorder)"}]},{title:"权限(新增/编辑)",overview:"通常由系统预置,一般无需手动新增。",fields:[{name:"编码",source:"系统预置/手工。",purpose:"权限唯一码",fill:"如 produce.workorder"},{name:"名称",source:"手工填写。",purpose:"权限名",fill:"如 工单管理"},{name:"类型",source:"手工填写。",purpose:"MENU=菜单权限 / API=接口权限",fill:"如 MENU"},{name:"路径",source:"手工填写。",purpose:"MENU 对应的前端路由路径",fill:"如 /work-order"},{name:"排序",source:"手工填写。",purpose:"菜单显示顺序",fill:"数字,越小越靠前"}]}]},se={title:"操作日志",overview:`记录所有关键业务操作(建工单、物料清单维护、备料、PLC下发、拧紧、扫码报工等),按工单号、操作人、实体可追溯。
数据由系统在各操作发生时自动写入,本页只读查询。`,fields:[{name:"工单号",source:"筛选条件。数据来自日志中的 workOrderNo 字段。",purpose:"按工单号过滤该工单的所有操作",fill:"输入工单号,可空=全部"},{name:"操作人",source:"筛选条件。数据来自日志中的 operator 字段。",purpose:"按操作人过滤",fill:"输入姓名/账号,可空=全部"},{name:"类型",source:"筛选条件。数据来自日志中的事件类型字段。",purpose:"按事件类型过滤",fill:"如 EVENT_WORK_ORDER / EVENT_TORQUE,可空"}]};export{F as P,Q as a,J as b,X as c,Y as d,Z as e,$ as f,H as g,K as h,se as i,ee as j};