2 lines
15 KiB
JavaScript
2 lines
15 KiB
JavaScript
import{f as Ce,P as we}from"./help-92MqPoF4.js";import{_ as he,j as Te,c as C,a as l,w as n,k as Ue,F as Q,h as w,r as p,i as h,o as c,f as u,n as f,p as g,t as k,d as U,m as xe,v as z,E as V,l as K,x as W}from"./index-CeNpw27z.js";const Ae={key:1},Ee={key:1},Fe={key:1,class:"pdf-name"},Ie={style:{width:"100%"}},Ne={style:{"text-align":"right","margin-top":"8px"}},$e={__name:"ProcessFlow",setup(qe){const T=h("list"),A=h([]),E=h(null),F=h(1),P=h(10),S=h(0);function y(a){try{const e=JSON.parse(localStorage.getItem("user")||"null");if(!e)return!1;const o=e.permissionCodes||[];return e.roleCode==="SUPER_ADMIN"||o.includes("*")||o.includes(a)}catch{return!1}}function X(a){return a==="ACTIVE"?"启用":"停用"}function I(a){return{_key:Date.now()+Math.random(),seq:a,name:"",collectType:"MANUAL",isTorque:!1,needCheck:!1,remark:"",attachment:[],criteria:[]}}async function b(){const a={page:F.value,pageSize:P.value},e=await w.get("/process-flows",{params:a});A.value=e&&e.list?e.list:e||[],S.value=e&&e.total?e.total:A.value.length}function Y(a){return a?String(a).replace("T"," ").slice(0,19):"-"}function D(a){a&&window.open("/api/v1/files/"+a,"_blank")}function Z(){E.value&&E.value.click()}async function ee(a){const e=a.target.files&&a.target.files[0];if(a.target.value="",!!e){if(e.type!=="application/pdf"&&!/\.pdf$/i.test(e.name))return V.warning("仅支持上传 PDF 文件");s.uploading=!0;try{const o=new FormData;o.append("file",e);const r=await w.post("/process-flows/upload",o,{headers:{"Content-Type":"multipart/form-data"}});s.pdfFile=r&&r.filename||"",V.success("PDF 上传成功")}catch{}finally{s.uploading=!1}}}const s=K({id:0,name:"",stations:[],pdfFile:"",status:"ACTIVE",remark:"",uploading:!1,steps:[I(1)]});function M(a){a?(s.id=a.id,s.name=a.name||"",s.stations=a.stations&&a.stations.length?[...a.stations]:[],s.pdfFile=a.pdfFile||"",s.status=a.status||"ACTIVE",s.remark=a.remark||"",s.steps=(a.steps||[]).map((e,o)=>({_key:Date.now()+Math.random(),seq:e.seq||o+1,name:e.name||"",collectType:e.collectType||"MANUAL",isTorque:!!e.isTorque,needCheck:!!e.needCheck,remark:e.remark||"",attachment:(e.attachment||[]).map(r=>({...r})),criteria:(e.criteria||[]).map(r=>({...r}))}))):Object.assign(s,{id:0,name:"",stations:[],pdfFile:"",status:"ACTIVE",remark:"",steps:[]}),s.steps.length||s.steps.push(I(1)),T.value="config"}function le(){const a=s.steps.reduce((e,o)=>Math.max(e,o.seq||0),0);s.steps.push(I(a+1))}function te(a){const e=s.steps.indexOf(a);e>=0&&s.steps.splice(e,1)}async function ae(a,e){const o=new FormData;o.append("file",a.file);try{const r=await w.post("/process-flows/upload",o,{headers:{"Content-Type":"multipart/form-data"}});e.attachment||(e.attachment=[]),e.attachment.push({name:a.file.name,url:r&&r.url||""}),a.onSuccess&&a.onSuccess(),V.success("图纸已上传")}catch(r){a.onError&&a.onError(r)}}function ne(a,e){a.attachment&&a.attachment.splice(e,1)}function oe(a){a&&a.url&&window.open(a.url,"_blank")}const m=K({show:!1,stepName:"",criteria:[],_step:null}),se=W(()=>m.criteria.some(a=>a.logic&&a.logic!=="RANGE")),L=W(()=>m.criteria.some(a=>a.logic==="RANGE"));function ie(a){m._step=a,m.stepName=a.name||"(未命名步骤)",m.criteria=(a.criteria||[]).map(e=>({...e})),m.show=!0}function de(){m.criteria.push({name:"",unit:"",logic:"GE",target:null,min:null,max:null})}function ue(a){const e=m.criteria.indexOf(a);e>=0&&m.criteria.splice(e,1)}function pe(){m._step&&(m._step.criteria=m.criteria.filter(a=>a.name).map(a=>({...a}))),m.show=!1}async function re(){if(!s.name)return V.warning("请填写流程名");const a={id:s.id||void 0,name:s.name,stations:s.stations,pdfFile:s.pdfFile,status:s.status,remark:s.remark,steps:s.steps.map(({_key:e,...o})=>({seq:o.seq,name:o.name,collectType:o.collectType,isTorque:o.isTorque,needCheck:o.needCheck,remark:o.remark,attachment:o.attachment||[],criteria:o.criteria}))};await w.post("/process-flows",a),V.success("保存成功"),T.value="list",b()}async function me(a){await z.confirm("确认删除该工艺流程?删除将同时解除其绑定的工位。","提示",{type:"warning"}),awa
|