1 line
17 KiB
JavaScript
1 line
17 KiB
JavaScript
"use strict";(self["webpackChunkscui"]=self["webpackChunkscui"]||[]).push([[9362],{77755:function(e,t,i){i.r(t),i.d(t,{default:function(){return O}});var a=i(66252),s=i(3577);const l=e=>((0,a.dD)("data-v-d664f612"),e=e(),(0,a.Cn)(),e),d={class:"left-panel"},o={class:"item"},r=l((()=>(0,a._)("span",{class:"name hidden-md-and-down"},"状态",-1))),n={class:"item"},m=l((()=>(0,a._)("span",{class:"name hidden-md-and-down"},"优先级",-1))),u={class:"right-panel"},c={class:"right-panel-search"},p={class:"searchList"},h={class:"dateType"},_=["onClick"];function g(e,t,i,l,g,f){const k=(0,a.up)("el-option"),y=(0,a.up)("el-select"),w=(0,a.up)("el-icon-refresh"),v=(0,a.up)("el-icon"),b=(0,a.up)("el-header"),L=(0,a.up)("dhtmlxGantt"),D=(0,a.up)("el-main"),T=(0,a.up)("addTask"),S=(0,a.up)("seeTask"),M=(0,a.up)("detail"),C=(0,a.up)("splitDetail"),V=(0,a.up)("el-container");return(0,a.wg)(),(0,a.j4)(V,{class:"mainBox mainNoBack planBox"},{default:(0,a.w5)((()=>[(0,a.Wm)(b,{class:"planHeader"},{default:(0,a.w5)((()=>[(0,a._)("div",d,[(0,a._)("div",o,[r,(0,a.Wm)(y,{class:"imgSelect",placeholder:"请选择状态",modelValue:g.from.status,"onUpdate:modelValue":t[0]||(t[0]=e=>g.from.status=e),onChange:t[1]||(t[1]=e=>f.getList()),clearable:"",size:g.size},{default:(0,a.w5)((()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(g.statusList,((e,t)=>((0,a.wg)(),(0,a.j4)(k,{key:t,label:e.label,value:e.value},null,8,["label","value"])))),128))])),_:1},8,["modelValue","size"])]),(0,a._)("div",n,[m,(0,a.Wm)(y,{class:"imgSelect",placeholder:"请选择优先级",modelValue:g.from.priority_level,"onUpdate:modelValue":t[2]||(t[2]=e=>g.from.priority_level=e),onChange:t[3]||(t[3]=e=>f.getList()),clearable:"",size:g.size},{default:(0,a.w5)((()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(g.levelList,((e,t)=>((0,a.wg)(),(0,a.j4)(k,{key:t,label:e.label,value:e.value},null,8,["label","value"])))),128))])),_:1},8,["modelValue","size"])])]),(0,a._)("div",u,[(0,a._)("div",c,[(0,a._)("div",p,[(0,a._)("div",h,[(0,a._)("div",{class:"dateItem dateActiveColor",onClick:t[4]||(t[4]=e=>f.refreshList())},[(0,a.Wm)(v,null,{default:(0,a.w5)((()=>[(0,a.Wm)(w)])),_:1})]),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(g.dateList,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,s.normalizeClass)(g.from.date==e.value?"dateItem dateActive":"dateItem"),onClick:t=>g.from.date=e.value,key:t},(0,s.toDisplayString)(e.name),11,_)))),128))])])])])])),_:1}),(0,a.Wm)(D,{class:"nopadding"},{default:(0,a.w5)((()=>[(0,a.Wm)(L,{ref:"scGantt",class:"left-container",tasks:g.tasks,date:g.from.date,onSeeTask:f.seeTask,onAddTask:f.addTask,onEditTask:f.editTask,onDeleteTask:f.deleteTask,onAddLink:f.addLink,onDeleteLink:f.deleteLink},null,8,["tasks","date","onSeeTask","onAddTask","onEditTask","onDeleteTask","onAddLink","onDeleteLink"])])),_:1}),g.dialog.save?((0,a.wg)(),(0,a.j4)(T,{key:0,ref:"saveDialog",onSuccess:f.handleSaveSuccess,onShowSplit:f.openSplitOrder,onClosed:t[5]||(t[5]=e=>g.dialog.save=!1)},null,8,["onSuccess","onShowSplit"])):(0,a.kq)("",!0),g.dialog.see?((0,a.wg)(),(0,a.j4)(S,{key:1,ref:"seeDialog",onSuccess:f.handleSaveSuccess,onShowSplit:f.openSplitOrder,onDeleteTask:f.deleteTask,onLinkDetail:f.linkDetail,onClosed:t[6]||(t[6]=e=>g.dialog.see=!1)},null,8,["onSuccess","onShowSplit","onDeleteTask","onLinkDetail"])):(0,a.kq)("",!0),g.dialog.detail?((0,a.wg)(),(0,a.j4)(M,{key:2,ref:"detailDialog",onClosed:t[7]||(t[7]=e=>g.dialog.detail=!1)},null,512)):(0,a.kq)("",!0),g.dialog.splitDetail?((0,a.wg)(),(0,a.j4)(C,{key:3,ref:"splitDetailDialog",onSuccess:f.handleSaveSuccess,onClosed:t[8]||(t[8]=e=>g.dialog.splitDetail=!1)},null,8,["onSuccess"])):(0,a.kq)("",!0)])),_:1})}i(57658);var f=i(8214);const k={class:"sc-icon"},y=(0,a.Uk)("小时"),w=(0,a.Uk)("~"),v={class:"sc-icon"},b=["src"],L={class:"checkColor"},D=["onClick"],T={key:0,class:"sc-icon"},S=(0,a.Uk)("取 消"),M=(0,a.Uk)("删 除"),C=(0,a.Uk)("工单详情"),V=(0,a.Uk)("修 改"),W=(0,a.Uk)("拆 单");function P(e,t,i,l,d,o){const r=(0,a.up)("el-input"),n=(0,a.up)("el-form-item"),m=(0,a.up)("el-radio"),u=(0,a.up)("el-radio-group"),c=(0,a.up)("el-date-picker"),p=(0,a.up)("el-col"),h=(0,a.up)("el-option"),_=(0,a.up)("el-select"),g=(0,a.up)("el-icon-Check"),f=(0,a.up)("el-form"),P=(0,a.up)("el-button"),$=(0,a.up)("el-dialog");return(0,a.wg)(),(0,a.j4)($,{title:d.titleMap[d.mode],modelValue:d.visible,"onUpdate:modelValue":t[10]||(t[10]=e=>d.visible=e),width:560,"destroy-on-close":"",draggable:"",onClosed:t[11]||(t[11]=t=>e.$emit("closed"))},{footer:(0,a.w5)((()=>[(0,a.Wm)(P,{onClick:t[8]||(t[8]=e=>d.visible=!1)},{default:(0,a.w5)((()=>[S])),_:1}),"order"==d.form.project_type?((0,a.wg)(),(0,a.j4)(P,{key:0,type:"danger",onClick:o.deleteTask},{default:(0,a.w5)((()=>[M])),_:1},8,["onClick"])):(0,a.kq)("",!0),(0,a.Wm)(P,{type:"primary",onClick:o.linkDetail},{default:(0,a.w5)((()=>[C])),_:1},8,["onClick"]),"order"==d.form.project_type?((0,a.wg)(),(0,a.iD)(a.HY,{key:1},["show"!==d.mode?((0,a.wg)(),(0,a.j4)(P,{key:0,type:"primary",loading:d.isSave,onClick:t[9]||(t[9]=e=>o.submit())},{default:(0,a.w5)((()=>[V])),_:1},8,["loading"])):(0,a.kq)("",!0)],64)):(0,a.kq)("",!0),(0,a.Wm)(P,{type:"success",disabled:o.splitFun,onClick:o.showSplit},{default:(0,a.w5)((()=>[W])),_:1},8,["disabled","onClick"])])),default:(0,a.w5)((()=>[(0,a.Wm)(f,{model:d.form,rules:d.rules,disabled:"show"===d.mode,ref:"dialogForm","label-width":"100px"},{default:(0,a.w5)((()=>[(0,a.Wm)(n,{label:"加工单号",prop:"order_sn"},{default:(0,a.w5)((()=>[(0,a.Wm)(r,{modelValue:d.form.order_sn,"onUpdate:modelValue":t[0]||(t[0]=e=>d.form.order_sn=e),placeholder:"请选择加工单",readonly:""},null,8,["modelValue"])])),_:1}),(0,a.Wm)(n,{label:"时间类型",prop:"time_type"},{default:(0,a.w5)((()=>[(0,a.Wm)(u,{modelValue:d.form.time_type,"onUpdate:modelValue":t[1]||(t[1]=e=>d.form.time_type=e)},{default:(0,a.w5)((()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(d.setMap.timeList,((e,t)=>((0,a.wg)(),(0,a.j4)(m,{key:t,label:e.id},{default:(0,a.w5)((()=>[(0,a._)("div",k,(0,s.toDisplayString)(e.name),1)])),_:2},1032,["label"])))),128))])),_:1},8,["modelValue"])])),_:1}),2==d.form.time_type?((0,a.wg)(),(0,a.j4)(n,{key:0,label:"加工时长",prop:"time_duration"},{default:(0,a.w5)((()=>[(0,a.Wm)(r,{type:"text",modelValue:d.form.time_duration,"onUpdate:modelValue":t[2]||(t[2]=e=>d.form.time_duration=e),clearable:"",placeholder:"请输入时长"},{suffix:(0,a.w5)((()=>[y])),_:1},8,["modelValue"])])),_:1})):(0,a.kq)("",!0),1==d.form.time_type?((0,a.wg)(),(0,a.j4)(n,{key:1,label:"加工排程",required:""},{default:(0,a.w5)((()=>[(0,a.Wm)(p,{span:11},{default:(0,a.w5)((()=>[(0,a.Wm)(n,{prop:"time_start"},{default:(0,a.w5)((()=>[(0,a.Wm)(c,{modelValue:d.form.time_start,"onUpdate:modelValue":t[3]||(t[3]=e=>d.form.time_start=e),type:"datetime",format:"YYYY-MM-DD HH:mm","value-format":"YYYY-MM-DD HH:mm","disabled-hours":d.disabledHours,"disabled-minutes":d.disabledMinutes,label:"",placeholder:"开始时间",style:{width:"100%"}},null,8,["modelValue","disabled-hours","disabled-minutes"])])),_:1})])),_:1}),(0,a.Wm)(p,{span:2,style:{"text-align":"center"}},{default:(0,a.w5)((()=>[w])),_:1}),(0,a.Wm)(p,{span:11},{default:(0,a.w5)((()=>[(0,a.Wm)(n,{prop:"time_end"},{default:(0,a.w5)((()=>[(0,a.Wm)(c,{modelValue:d.form.time_end,"onUpdate:modelValue":t[4]||(t[4]=e=>d.form.time_end=e),type:"datetime",format:"YYYY-MM-DD HH:mm","value-format":"YYYY-MM-DD HH:mm","disabled-hours":d.disabledHours,"disabled-minutes":d.disabledMinutes,label:"",placeholder:"结束时间",style:{width:"100%"}},null,8,["modelValue","disabled-hours","disabled-minutes"])])),_:1})])),_:1})])),_:1})):(0,a.kq)("",!0),(0,a.Wm)(n,{label:"所属产线",prop:"process_id"},{default:(0,a.w5)((()=>[(0,a.Wm)(_,{placeholder:"请选择产线",modelValue:d.form.process_id,"onUpdate:modelValue":t[5]||(t[5]=e=>d.form.process_id=e),clearable:"",style:{width:"100%"}},{default:(0,a.w5)((()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(d.setMap.processList,((e,t)=>((0,a.wg)(),(0,a.j4)(h,{key:t,value:e.id,label:e.name},null,8,["value","label"])))),128))])),_:1},8,["modelValue"])])),_:1}),(0,a.Wm)(n,{label:"责任人",prop:"owner_id"},{default:(0,a.w5)((()=>[(0,a.Wm)(_,{placeholder:"请选择责任人",modelValue:d.form.owner_id,"onUpdate:modelValue":t[6]||(t[6]=e=>d.form.owner_id=e),clearable:"",style:{width:"100%"}},{default:(0,a.w5)((()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(d.setMap.ownerList,((e,t)=>((0,a.wg)(),(0,a.j4)(h,{key:t,value:e.id,label:e.name},null,8,["value","label"])))),128))])),_:1},8,["modelValue"])])),_:1}),(0,a.Wm)(n,{label:"优先级",prop:"priority_level"},{default:(0,a.w5)((()=>[(0,a.Wm)(u,{modelValue:d.form.priority_level,"onUpdate:modelValue":t[7]||(t[7]=e=>d.form.priority_level=e)},{default:(0,a.w5)((()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(d.setMap.levelList,((e,t)=>((0,a.wg)(),(0,a.j4)(m,{key:t,label:e.id},{default:(0,a.w5)((()=>[(0,a._)("div",v,[(0,a._)("img",{class:"img",src:e.url,alt:""},null,8,b),(0,a.Uk)((0,s.toDisplayString)(e.name),1)])])),_:2},1032,["label"])))),128))])),_:1},8,["modelValue"])])),_:1}),(0,a.Wm)(n,{label:"颜色",prop:"schedule_identifier"},{default:(0,a.w5)((()=>[(0,a._)("div",L,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(d.setMap.identifierList,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:"item",key:t,style:(0,s.normalizeStyle)("background:"+e.id),onClick:t=>d.form.schedule_identifier=e.id},[d.form.schedule_identifier==e.id?((0,a.wg)(),(0,a.iD)("div",T,[(0,a.Wm)(g)])):(0,a.kq)("",!0)],12,D)))),128))])])),_:1})])),_:1},8,["model","rules","disabled"])])),_:1},8,["title","modelValue"])}var $=i(558),Y=i(10844),j={name:"addTask",data(){return{titleMap:{see:"工单排程详情"},mode:"see",isSave:!1,visible:!1,setMap:{orderList:[],processList:[],timeList:[{name:"时间段",id:1},{name:"时长",id:2}],levelList:[{name:"高",id:3,url:"https://dm-auto.oss-cn-shanghai.aliyuncs.com/mes-device/riskhigh.png"},{name:"中",id:2,url:"https://dm-auto.oss-cn-shanghai.aliyuncs.com/mes-device/rishmedium.png"},{name:"低",id:1,url:"https://dm-auto.oss-cn-shanghai.aliyuncs.com/mes-device/risklow.png"}],ownerList:[],identifierList:[{name:"",id:"#F56C6C"},{name:"",id:"#E6A23C"},{name:"",id:"#409EFF"},{name:"",id:"#67C23A"}]},form:{id:"",order_sn:"",order_date:"",time_type:1,time_duration:"",time_start:"",time_end:"",priority_level:"",owner_id:"",process_id:"",order_id:"",project_type:"",schedule_identifier:""},rules:{order_sn:[{required:!0,message:"生产线不能为空",trigger:"blur"}],order_id:[{required:!0,message:"单号不能为空",trigger:"change"}],order_date:[{required:!0,message:"排程不能为空",trigger:"change"}],time_start:[{required:!0,message:"开始时间不能为空",trigger:"change"}],time_end:[{required:!0,message:"结束时间不能为空",trigger:"change"}],process_id:[{required:!0,message:"生产线不能为空",trigger:"change"}],priority_level:[{required:!0,message:"优先级不能为空",trigger:"change"}],owner_id:[{required:!0,message:"责任人不能为空",trigger:"change"}],schedule_identifier:[{required:!0,message:"颜色不能为空",trigger:"blur"}],time_type:[{required:!0,message:"时间类型不能为空",trigger:"blur"}],time_duration:[{required:!0,message:"加工时长不能为空",trigger:"blur"}]},disabledHours(){const e=[];for(let t=0;t<8;t++)e.push(t);for(let t=19;t<24;t++)e.push(t);return e},disabledMinutes(e){return 8===e||18===e?[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59]:[]}}},mounted(){},watch:{"form.order_date":{handler(e){e&&(this.form.time_start=e[0],this.form.time_end=e[1])},immediate:!0}},computed:{splitFun(){let e=JSON.parse(JSON.stringify(this.form)),t=!0;for(let i in e)t=""==e["time_start"]||""==e["time_end"]||""==e["priority_level"]||""==e["owner_id"]||""==e["process_id"]||"order_id"==i&&""==e[i];return t}},methods:{open(e="see"){return this.mode=e,this.visible=!0,this.getOrder(),this.getProcess(),this.getOwner(),this},showSplit(){this.visible=!1,this.$emit("showSplit",this.form)},submit(){this.$refs.dialogForm.validate((async e=>{if(e){this.isSave=!0;const e=await this.$API.plan.addTask.post(this.form);this.isSave=!1,200===e.code&&(this.$emit("success",this.form,this.mode),this.visible=!1,this.$message.success("操作成功"))}}))},async getOrder(){const e=await this.$API.plan.orderOptions.post();200==e.code&&(this.setMap.orderList=e.data)},async getProcess(){const e=await this.$API.plan.processOptions.post();200==e.code&&(this.setMap.processList=e.data)},async getOwner(){const e=await this.$API.plan.ownerOptions.post();200==e.code&&(this.setMap.ownerList=e.data)},deleteTask(){Y.T.confirm("您确定要删除当前排程?","提示",{type:"warning",closeOnClickModal:!1,center:!1,confirmButtonText:"删除",beforeClose:(e,t,i)=>{i()}}).then((()=>{this.visible=!1,this.$emit("deleteTask",this.form)})).catch((()=>{}))},linkDetail(){this.$emit("linkDetail",this.form)},setData(e){let t="";this.setMap.levelList.forEach((i=>{e.priority==i.name&&(t=i.id)})),this.form={id:e.data_id,order_sn:e.order_sn,order_date:[$.Z.dateFormat(e.start_date,"yyyy-MM-dd hh:mm"),$.Z.dateFormat(e.end_date,"yyyy-MM-dd hh:mm")],time_type:e.time_type?e.time_type:1,time_start:$.Z.dateFormat(e.start_date,"yyyy-MM-dd hh:mm"),time_end:$.Z.dateFormat(e.end_date,"yyyy-MM-dd hh:mm"),time_duration:e.time_duration?e.time_duration.split("")[0]:"",priority_level:t,owner_id:e.owner_id,process_id:e.process_id,order_id:e.order_id,progress:e.progress,project_type:e.project_type,schedule_identifier:e.schedule_identifier}}}},q=i(83744);const H=(0,q.Z)(j,[["render",P]]);var A=H,U=i(76003),x=i(57359),F={name:"ordersPlanner",components:{addTask:f.Z,seeTask:A,detail:U["default"],splitDetail:x["default"]},data(){return{size:"small",from:{status:"",priority_level:"",date:"day",time_start:"",time_end:""},percentage:21,statusList:[],levelList:[],dateList:[{name:"日",value:"day"},{name:"周",value:"week"},{name:"月",value:"month"}],tasks:{data:[],links:[]},deleteTaskParams:{},editTaskParams:{},seeTaskParams:{},dialog:{save:!1,see:!1,detail:!1,splitDetail:!1}}},watch:{},mounted(){this.getList(),this.getStatusList(),this.getLevelList()},methods:{refreshList(){this.from={status:"",priority_level:"",date:"day",time_start:"",time_end:""},this.getList()},async getList(){const e=await this.$API.plan.getList.post(this.from);if(200===e.code)return e.data.data.forEach((e=>{"order"===e.project_type&&(e.text=e.order_sn),e.progress=(Number(e.progress)/100).toFixed(4),e.color=e.schedule_identifier,e.userNameF=e.owner.substring(0,1),e.time_duration=e.duration})),this.tasks=e.data,!0},async getStatusList(){const e=await this.$API.plan.processStatus.post();200===e.code&&(this.statusList=e.data)},async getLevelList(){const e=await this.$API.plan.processLevel.post();200===e.code&&(this.levelList=e.data)},seeTask(e){this.seeTaskParams.id!=e.id&&(this.seeTaskParams=e.item,this.dialog.see=!0,this.$nextTick((()=>{this.$refs.seeDialog.open("see").setData(e.item),this.seeTaskParams={}})))},addTask(){this.dialog.save=!0,this.$nextTick((()=>{this.$refs.saveDialog.open("save")}))},async editTask(e){let t={id:e.item.data_id,time_type:1,time_start:$.Z.dateFormat(e.item.start_date,"yyyy-MM-dd hh:mm"),time_end:$.Z.dateFormat(e.item.end_date,"yyyy-MM-dd hh:mm"),time_duration:e.item.time_duration?e.item.time_duration.split("")[0]:"",priority_level:this.setLevel(e.item.priority),owner_id:e.item.owner_id,process_id:e.item.process_id,order_id:e.item.order_id,progress:e.item.progress,project_type:e.item.project_type,schedule_identifier:e.item.schedule_identifier};if(this.editTaskParams.id==e.item.data_id)return;this.editTaskParams=t;const i=await this.$API.plan.addTask.post(t);if(200===i.code){const e=await this.getList();e&&(this.editTaskParams={})}else{const e=await this.getList();e&&(this.editTaskParams={})}},setLevel(e){let t="",i=[{name:"高",id:1},{name:"中",id:2},{name:"低",id:3}];return i.forEach((i=>{e==i.name&&(t=i.id)})),t},linkDetail(e){this.dialog.detail=!0,this.$nextTick((()=>{this.$refs.detailDialog.open("detail").setData(e)}))},async deleteTask(e){let t={id:e.id};const i=await this.$API.plan.deleteTask.post(t);200==i.code&&await this.getList()},handleSaveSuccess(e,t){"save"!==t&&"see"!==t||this.getList()},openSplitOrder(e){this.dialog.splitDetail=!0,this.$nextTick((()=>{this.$refs.splitDetailDialog.open("splitDetail").setData(e)}))},async addLink(e){let t={id:"",source:e.item.source,target:e.item.target,type:e.item.type},i=!1;if(this.tasks.links.forEach((t=>{t.source==e.item.source&&t.target==e.item.target&&t.type==e.item.type&&(i=!0)})),this.tasks.links.push(t),i)return;const a=await this.$API.plan.addLink.post(t);200==a.code&&await this.getList()},async deleteLink(e){let t={id:"",source:e.item.source,target:e.item.target,type:e.item.type};this.deleteTaskParams.source==e.item.source&&this.deleteTaskParams.target==e.item.target&&this.deleteTaskParams.type==e.item.type||(this.deleteTaskParams=t,Y.T.confirm("您确定要删除此连接?","提示",{type:"warning",closeOnClickModal:!1,center:!1,confirmButtonText:"删除",beforeClose:(e,t,i)=>{i()}}).then((async()=>{const e=await this.$API.plan.deleteLink.post(t);if(200==e.code){const e=await this.getList();e&&(this.deleteTaskParams={})}})).catch((()=>{})))}}};const I=(0,q.Z)(F,[["render",g],["__scopeId","data-v-d664f612"]]);var O=I}}]); |