Files
bj_power/bj_power_mes/public/assets/help-D2gHoEQa.js
T

5 lines
12 KiB
JavaScript
Raw Normal View History

import{_ as k,o as l,c as r,a as f,w as d,f as t,d as e,t as o,q as m,F as v,m as h,n as M,r as n,i as g}from"./index-B1D4AJij.js";const y={class:"page-help"},P={class:"ph-inner"},R={class:"ph-banner"},C={class:"ph-banner-title"},T={key:0,class:"ph-overview"},b={key:0,class:"ph-sec-title"},B={key:1,class:"ph-sec-overview"},V={class:"ph-fname"},L={class:"ph-fsource"},x={class:"ph-fpurpose"},U={class:"ph-ffill"},A={key:2,class:"ph-section"},D={class:"ph-fname"},I={class:"ph-fsource"},W={class:"ph-fpurpose"},j={class:"ph-ffill"},q={__name:"PageHelp",props:{data:{type:Object,default:()=>({title:"操作说明",overview:"",fields:[]})}},setup(i){const u=g(!1);function _(){u.value=!0}return(z,a)=>{const w=n("el-button"),E=n("el-tooltip"),N=n("el-empty"),O=n("el-drawer");return l(),r("div",y,[f(E,{content:"本页操作说明",placement:"left"},{default:d(()=>[f(w,{class:"help-fab",circle:"",onClick:_},{default:d(()=>[...a[1]||(a[1]=[t("?",-1)])]),_:1})]),_:1}),f(O,{modelValue:u.value,"onUpdate:modelValue":a[0]||(a[0]=s=>u.value=s),title:i.data.title||"操作说明",size:"520px","append-to-body":"",class:"ph-drawer"},{default:d(()=>[e("div",P,[e("div",R,[e("div",C,o(i.data.title||"操作说明"),1),a[2]||(a[2]=e("div",{class:"ph-banner-sub"},"页面整体说明",-1))]),i.data.overview?(l(),r("div",T,o(i.data.overview),1)):m("",!0),a[3]||(a[3]=e("div",{class:"ph-legend"},[e("span",{class:"lg"},[e("i",{class:"ic lg-source"}),t("来源:这个字段从哪来、谁填")]),e("span",{class:"lg"},[e("i",{class:"ic lg-purpose"}),t("用途:它起什么作用")]),e("span",{class:"lg"},[e("i",{class:"ic lg-fill"}),t("怎么填:具体填什么")])],-1)),i.data.sections&&i.data.sections.length?(l(!0),r(v,{key:1},h(i.data.sections,(s,c)=>(l(),r("div",{key:c,class:"ph-section"},[s.title?(l(),r("div",b,o(s.title),1)):m("",!0),s.overview?(l(),r("div",B,o(s.overview),1)):m("",!0),(l(!0),r(v,null,h(s.fields,(p,S)=>(l(),r("div",{class:"ph-field",key:S},[e("div",V,[t(o(p.name)+" ",1),e("span",L,o(p.source),1)]),e("div",x,o(p.purpose),1),e("div",U,"👉 "+o(p.fill),1)]))),128))]))),128)):(l(),r("div",A,[i.data.fields&&i.data.fields.length?(l(!0),r(v,{key:0},h(i.data.fields,(s,c)=>(l(),r("div",{class:"ph-field",key:c},[e("div",D,[t(o(s.name)+" ",1),e("span",I,o(s.source),1)]),e("div",W,o(s.purpose),1),e("div",j,"👉 "+o(s.fill),1)]))),128)):(l(),M(N,{key:1,description:"暂无说明","image-size":70}))]))])]),_:1},8,["modelValue","title"])])}}},G=k(q,[["__scopeId","data-v-4fdbad0c"]]),H={title:"产品类型",overview:`产品类型是对“生产什么产品”的分类档案,好比“产品种类”。新建工单时必须先选择产品类型。
只有先维护好产品类型,工单、BOM 才能正常建立。`,fields:[{name:"名称",source:"手动填写",purpose:"产品类型的中文名称,用于识别",fill:"如:智能电表、断路器、配电柜"},{name:"编码",source:"手动填写",purpose:"产品类型的唯一编码,BOM/工单按此关联",fill:"如:METER-01(尽量唯一,不重复)"},{name:"类别",source:"手动填写",purpose:"产品所属大类,方便分类统计",fill:"如:计量表 / 开关柜(可空)"},{name:"启用",source:"开关选择",purpose:"启用后才能在新建工单/备料时被选到",fill:"默认开启;暂不用的可关闭"},{name:"备注",source:"手动填写",purpose:"补充说明文字",fill:"可不填"}]},K={title:"工单管理(新建 / 编辑工单)",overview:`工单是一个“合同/生产批次”的唯一载体,也是仓库出库挂靠的唯一对象。
流程:建工单 → 配 BOM(单台用哪些料)→ 日排产(今天产多少台)→ 系统按排产备料 → AGV 配送到各工位。`,fields:[{name:"工单号",source:"系统自动生成,可改",purpose:"唯一标识一个工单,备料/出库/报工都挂在此号下",fill:"如 WO20260828,保证唯一"},{name:"产品类型",source:"先维护“产品类型”后选择",purpose:"说明这批生产的是什么产品",fill:"下拉选择已启用的产品类型"},{name:"产品编码",source:"手动填写",purpose:"产品的唯一编码(通常与产品类型编码一致)",fill:"如 METER-01"},{name:"产品名称",source:"手动填写",purpose:"产品的中文名称,用于展示与追溯",fill:"如 智能电表"},{name:"数量",source:"手动填写",purpose:"本工单的总数量(如一个合同 100 台)",fill:"填写整数 ≥1"},{name:"工序组合",source:"手动填写",purpose:"本工单在产线要执行的工序序列,PLC 按此下发",fill:"如 135=做第1/3/5序;全工序=123456789101112"},{name:"状态",source:"系统流程驱动",purpose:"工单生命周期:创建→发布→生产→完成",fill:"新建时选“已创建”,后续由流程推进"}],sections:[{title:"日排产(弹窗)",overview:"只排“哪天生产多少台”,是仓库备料/配送的前瞻参考,不直接触发出库与下单。",fields:[{name:"日期",source:"手动选择",purpose:"计划生产日期",fill:"选择一个日期,可排未来多天"},{name:"计划数量",source:"手动填写",purpose:"当天计划产量(≤ 工单总数量)",fill:"填写整数,如今天产 20 台"}]}]},Q={title:"BOM(添加 BOM 物料)",overview:"BOM 列出“生产 1 台该工单产品需要哪些物料、各用多少”。系统按它是算备料/出库的需求量,并强约束出库不能超需求。",fields:[{name:"物料编码",source:"手动填写",purpose:"该物料在全库房的唯一编码(与 WMS 物料档案一致)",fill:"如螺丝=SCREW-M3,芯片=IC-001"},{name:"物料名称",source:"手动填写",purpose:"物料中文名,用于识别",fill:"如 十字螺丝、主控芯片"},{name:"规格",source:"手动填写",purpose:"物料的规格型号",fill:"如 M3×8 / SMT-48脚"},{name:"单位",source:"手动填写",purpose:"计量单位,用于算量",fill:"个 / 件 / 套 / kg"},{name:"管理方式",source:"单选,按物料类型",purpose:"精密件=逐件按SN管理;结构件=按批次管理",fill:"电子件选精密件(SN);螺丝等选结构件(批次)"},{name:"单台用量",source:"手动填写",purpose:"生产 1 台产品用多少个该物料",fill:"如每台用 8 颗螺丝 → 填 8"},{name:"损耗率%",source:"手动填写",purpose:"考虑报废/损耗的加放比例",fill:"如 2% 填 20 表示不计算"},{name:"需求量",source:"通常自动算出,可覆盖",purpose:"总需求 = 数量×单台用量×(1+损耗率)",fill:"自动算,也可手动修正"}]},J={title:"备料单",overview:"备料单是按“日排产”自动算出的:该日生产所需物料清单。仓库看它备料,再用 AGV 配送到对应工位(DOCK01~20)。",fields:[{name:"日期",source:"手动选择",purpose:"按哪一天的排产生成备料",fill:"选择某排产日期"},{name:"工单号",source:"筛选条件",purpose:"只查看指定工单的备料",fill:"可空,空=全部"},{name:"状态",source:"筛选条件",purpose:"按备料状态筛选",fill:"可空"}]},X={title:"PLC 工序下发",overview:`把工序组合(如 135)写入西门子 S7-1214 的寄存器,产线传送带据此只做对应工序。
系统遵循“未收到完成信号,绝不下发下一条”,保证产线不会串序。`,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:"接收丹尼科尔拧紧工具的采集结果(扭矩/角度/时间/结果/操作人),用于质量追溯。工位终端点“完成”后数据才会报到这里。",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:"PROCESS 时填第几道工序",fill:"如 3"}]},$={title:"工件追溯",overview:"输入工件的 SN,即可查到它的完整履历:进线/完工时间、各工序时间线、步骤考核数据(扭矩/角度等)、拧紧记录、以及它用了哪些批次/精密件(成品关联)。",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:"勾选所需权限码"}]},{title:"权限(新增 / 编辑)",overview:"通常由系统预置,一般无需手动新增。",fields:[{nam