"use strict";(self["webpackChunklin_cms_vue"]=self["webpackChunklin_cms_vue"]||[]).push([[4001],{94001:function(e,l,a){a.r(l),a.d(l,{default:function(){return E}});var t=a(20641),r=a(90033),o=a(53751);const s=e=>((0,t.Qi)("data-v-36df3d19"),e=e(),(0,t.jt)(),e),u={class:"container"},i={key:0,class:"title"},d=s((()=>(0,t.Lk)("i",{class:"iconfont icon-fanhui"},null,-1))),n={key:1,class:"title"},p=s((()=>(0,t.Lk)("span",null,"修改任务",-1))),c=s((()=>(0,t.Lk)("i",{class:"iconfont icon-fanhui"},null,-1))),m={class:"wrap"},_=s((()=>(0,t.Lk)("div",{class:"el-upload__tip"},null,-1)));function f(e,l,a,s,f,b){const g=(0,t.g2)("el-option"),h=(0,t.g2)("el-select"),k=(0,t.g2)("el-form-item"),v=(0,t.g2)("el-cascader"),j=(0,t.g2)("el-input"),y=(0,t.g2)("el-input-number"),F=(0,t.g2)("el-date-picker"),w=(0,t.g2)("el-button"),V=(0,t.g2)("el-upload"),C=(0,t.g2)("el-form"),U=(0,t.g2)("el-col"),I=(0,t.g2)("el-row");return(0,t.uX)(),(0,t.CE)("div",u,[a.editId?((0,t.uX)(),(0,t.CE)("div",n,[p,(0,t.eW)(),(0,t.Lk)("span",{class:"back",onClick:l[1]||(l[1]=(...e)=>s.back&&s.back(...e))},[c,(0,t.eW)(" 返回 ")])])):((0,t.uX)(),(0,t.CE)("div",i,[(0,t.eW)(" 新建任务"+(0,r.v_)(a.editId)+" ",1),(0,t.Lk)("span",{class:"back",onClick:l[0]||(l[0]=(...e)=>s.back&&s.back(...e))},[d,(0,t.eW)(" 返回 ")])])),(0,t.Lk)("div",m,[(0,t.bF)(I,null,{default:(0,t.k6)((()=>[(0,t.bF)(U,{lg:16,md:20,sm:24,xs:24},{default:(0,t.k6)((()=>[(0,t.bF)(C,{model:s.project,"status-icon":"",ref:"form","label-width":"auto",onSubmit:l[15]||(l[15]=(0,o.D$)((()=>{}),["prevent"])),rules:s.rules},{default:(0,t.k6)((()=>[(0,t.bF)(k,{label:"所属项目",prop:"project_id"},{default:(0,t.k6)((()=>[(0,t.bF)(h,{modelValue:s.project.project_id,"onUpdate:modelValue":l[2]||(l[2]=e=>s.project.project_id=e),placeholder:"所属项目",clearable:"",filterable:"",onChange:s.handleProjectChange},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(s.projectInfoArr,(e=>((0,t.uX)(),(0,t.Wv)(g,{key:e.id,label:e.project_name,value:e.id},null,8,["label","value"])))),128))])),_:1},8,["modelValue","onChange"])])),_:1}),(0,t.bF)(k,{label:"项目模块",prop:"module_id"},{default:(0,t.k6)((()=>[(0,t.bF)(v,{modelValue:s.project.module_id,"onUpdate:modelValue":l[3]||(l[3]=e=>s.project.module_id=e),options:s.projectModuleTreeArr,width:"100%",clearable:"",filterable:"",props:s.moduleCascaderProps,"show-all-levels":!1,onChange:s.handleModuleChange},null,8,["modelValue","options","props","onChange"])])),_:1}),(0,t.bF)(k,{label:"任务名称",prop:"name"},{default:(0,t.k6)((()=>[(0,t.bF)(j,{modelValue:s.project.name,"onUpdate:modelValue":l[4]||(l[4]=e=>s.project.name=e),placeholder:"请输入任务名称",clearable:""},null,8,["modelValue"])])),_:1}),(0,t.bF)(k,{label:"任务描述",prop:"description"},{default:(0,t.k6)((()=>[(0,t.bF)(j,{type:"textarea",autosize:{minRows:4,maxRows:8},placeholder:"请输入备注",modelValue:s.project.description,"onUpdate:modelValue":l[5]||(l[5]=e=>s.project.description=e)},null,8,["modelValue"])])),_:1}),(0,t.bF)(k,{label:"任务类型",prop:"type"},{default:(0,t.k6)((()=>[(0,t.bF)(h,{modelValue:s.project.type,"onUpdate:modelValue":l[6]||(l[6]=e=>s.project.type=e),placeholder:"任务类型",clearable:"",filterable:""},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(s.projectTaskTypeArr,(e=>((0,t.uX)(),(0,t.Wv)(g,{key:e.value,label:e.label,value:e.value},null,8,["label","value"])))),128))])),_:1},8,["modelValue"])])),_:1}),(0,t.bF)(k,{label:"优先级",prop:"priority"},{default:(0,t.k6)((()=>[(0,t.bF)(h,{modelValue:s.project.priority,"onUpdate:modelValue":l[7]||(l[7]=e=>s.project.priority=e),placeholder:"优先级",clearable:"",filterable:""},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(s.projectTaskPriorityArr,(e=>((0,t.uX)(),(0,t.Wv)(g,{key:e.value,label:e.label,value:e.value},null,8,["label","value"])))),128))])),_:1},8,["modelValue"])])),_:1}),(0,t.bF)(k,{label:"任务状态",prop:"status"},{default:(0,t.k6)((()=>[(0,t.bF)(h,{modelValue:s.project.status,"onUpdate:modelValue":l[8]||(l[8]=e=>s.project.status=e),placeholder:"任务状态",clearable:"",filterable:""},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(s.projectTaskStatusArr,(e=>((0,t.uX)(),(0,t.Wv)(g,{key:e.value,label:e.label,value:e.value},null,8,["label","value"])))),128))])),_:1},8,["modelValue"])])),_:1}),(0,t.bF)(k,{label:"排配状态",prop:"assign_status"},{default:(0,t.k6)((()=>[(0,t.bF)(h,{modelValue:s.project.assign_status,"onUpdate:modelValue":l[9]||(l[9]=e=>s.project.assign_status=e),placeholder:"排配状态",clearable:"",filterable:""},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(s.projectTaskAssignStatus,(e=>((0,t.uX)(),(0,t.Wv)(g,{key:e.value,label:e.label,value:e.value},null,8,["label","value"])))),128))])),_:1},8,["modelValue"])])),_:1}),(0,t.bF)(k,{label:"评估人",prop:"evaluator_users",class:"selectClass"},{default:(0,t.k6)((()=>[(0,t.bF)(h,{modelValue:s.project.evaluator_users,"onUpdate:modelValue":l[10]||(l[10]=e=>s.project.evaluator_users=e),placeholder:"请选择评估人",clearable:"",filterable:"",multiple:!0},{default:(0,t.k6)((()=>[((0,t.uX)(!0),(0,t.CE)(t.FK,null,(0,t.pI)(s.userList,(e=>((0,t.uX)(),(0,t.Wv)(g,{key:e.id,label:e.nickname,value:e.id},null,8,["label","value"])))),128))])),_:1},8,["modelValue"])])),_:1}),(0,t.bF)(k,{label:"计划工时",prop:"plan_hour"},{default:(0,t.k6)((()=>[(0,t.bF)(y,{modelValue:s.project.plan_hour,"onUpdate:modelValue":l[11]||(l[11]=e=>s.project.plan_hour=e),min:"0",max:"999",label:"计划工时",precision:1,step:.5},null,8,["modelValue"])])),_:1}),(0,t.bF)(k,{label:"计划时间",prop:"plan_date"},{default:(0,t.k6)((()=>[(0,t.bF)(F,{modelValue:s.project.plan_date,"onUpdate:modelValue":l[12]||(l[12]=e=>s.project.plan_date=e),type:"daterange","range-separator":"-","start-placeholder":"计划开始时间","end-placeholder":"计划结束时间",size:"large",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD HH:mm:ss"},null,8,["modelValue"])])),_:1}),(0,t.bF)(k,{label:"备注",prop:"remark"},{default:(0,t.k6)((()=>[(0,t.bF)(j,{type:"textarea",autosize:{minRows:4,maxRows:8},placeholder:"请输入备注",modelValue:s.project.remark,"onUpdate:modelValue":l[13]||(l[13]=e=>s.project.remark=e)},null,8,["modelValue"])])),_:1}),(0,t.bF)(k,{label:"文件"},{default:(0,t.k6)((()=>[(0,t.bF)(V,{"file-list":s.project.file_list,"onUpdate:fileList":l[14]||(l[14]=e=>s.project.file_list=e),class:"upload-demo",action:s.uploader.action,multiple:"",headers:s.uploader.headers,"on-preview":s.handleUploadPreview,"on-remove":s.handleUploadRemove,"before-remove":s.handleUploadBeforeRemove,limit:s.uploader.limit,"on-exceed":s.handleExceed,"on-success":(e,l,a)=>s.handleUploadSuccess(e,l,a),"before-upload":s.beforeAvatarUpload},{tip:(0,t.k6)((()=>[_])),default:(0,t.k6)((()=>[(0,t.bF)(w,{type:"primary"},{default:(0,t.k6)((()=>[(0,t.eW)("文件上传")])),_:1})])),_:1},8,["file-list","action","headers","on-preview","on-remove","before-remove","limit","on-exceed","on-success","before-upload"])])),_:1}),(0,t.bF)(k,{class:"submit"},{default:(0,t.k6)((()=>[(0,t.bF)(w,{type:"primary",onClick:s.submitForm},{default:(0,t.k6)((()=>[(0,t.eW)("保 存")])),_:1},8,["onClick"]),(0,t.bF)(w,{onClick:s.resetForm},{default:(0,t.k6)((()=>[(0,t.eW)("重 置")])),_:1},8,["onClick"])])),_:1})])),_:1},8,["model","rules"])])),_:1})])),_:1})])])}a(44114);var b=a(34642),g=a(21397),h=a(50953),k=a(20163),v=a(77918),j=a(3888),y=a(51595),F=a(44748),w=a(95250),V=a(73337),C={props:{editId:{type:String,default:null}},setup(e,l){const a=(0,h.KR)({action:`${b["default"].baseURL}cms/file`,headers:{Authorization:`${(0,g.getToken)("access_token")}`},limit:3,fileList:[]}),r=(e,l)=>{let a="";e&&e.id&&(a=e.id,c.file_list=c.file_list.filter((e=>e.id!==a)))},o=e=>{console.log(e);const l=document.createElement("a");l.href=e.path,l.download=e.name,l.click()},s=(e,l)=>{k.nk.warning("文件最上传个数超过限制")},u=(e,l)=>v.s.confirm(`确定删除文件${e.name} 嘛 ?`).then((()=>!0),(()=>!1)),i=(e,l,a)=>{if(e&&e.length>0){const l=c.file_list.some((l=>l.id===e[0].id));if(l){k.nk.error("请不要上传重复文档!名字不同内容相同也不可以");const e=[];c.file_list.forEach((l=>{if(l.id){const a=c.file_list=c.file_list.filter((e=>e.id!==l.id));a||e.push(l)}else if(l.status&&"success"===l.status&&l.response&&l.response.length>0){const a=c.file_list=c.file_list.filter((e=>e.id!==l.response[0].id));a&&e.push(l.response[0])}})),c.file_list=e}else{const e=[];c.file_list.forEach((l=>{l.id?e.push(l):l.status&&"success"===l.status&&l.response&&l.response.length>0&&e.push(l.response[0])})),c.file_list=e}}},d=e=>!(e.size/1024/1024>20)||(k.nk.error("文件大小超过 20MB!"),!1),n=(0,h.KR)(null),p=(0,h.KR)(!1);console.log(e.editId);const c=(0,h.Kh)({id:"",project_id:"",module_id:"",name:"",description:"",type:"",priority:"",status:"",assign_status:"",evaluator_users:[],developer_users:[],plan_hour:"",plan_date:[],plan_begin_date:"",plan_end_date:"",actual_date:[],actual_begin_date:"",actual_end_date:"",remark:"",fileList:[]}),m=(0,h.KR)([]),_=(0,h.KR)([]),f=(0,h.KR)([]),C=(0,h.KR)([]),U=(0,h.KR)([]),I=(0,h.KR)([]),E=(0,h.KR)([]),R=(0,h.KR)([]),S={value:"id",label:"name",children:"children",checkStrictly:!0},T=(e,l)=>Object.keys(e).forEach((a=>{e[a]=l[a]||e[a]})),A=async e=>{R.value=await F["default"].getProjectModuleTree({projectId:e})},L=e=>{const l=new Date(e),a=l.getFullYear(),t=(l.getMonth()+1).toString().padStart(2,"0"),r=l.getDate().toString().padStart(2,"0");return`${a}-${t}-${r}`},K={project_id:[{message:"请选择项目",trigger:["blur","change"],required:!0}],module_id:[{validator:(e,l,a)=>{l||a(new Error("请选择项目"));const t=I.value.filter((e=>e.id===l));t&&t.length>0&&a(new Error("根节点为项目节点,不可选择")),a()},trigger:"blur,change",required:!0}],name:[{message:"请输入任务名称",trigger:["blur","change"],required:!0}],description:[{message:"请输入任务描述",trigger:["blur","change"],required:!0}],type:[{message:"请选择任务类型",trigger:["blur","change"],required:!0}],priority:[{message:"请选择优先级",trigger:["blur","change"],required:!0}],status:[{message:"请选择任务状态",trigger:["blur","change"],required:!0}],assign_status:[{message:"请选择排配状态",trigger:["blur","change"],required:!0}],evaluator_users:[{message:"请选择评估人",trigger:["blur","change"],required:!0}],plan_hour:[{message:"请输入计划工时",trigger:["blur","change"],required:!0},{validator:(e,l,a)=>{l<=0?a(new Error("计划工时必须大于 0")):a()},trigger:["blur","change"]}],plan_date:[{message:"请输入计划时间",trigger:["blur","change"],required:!0},{validator:(e,l,a)=>{if(!l||2!==l.length)return a(new Error("请选择完整的日期范围"));const t=L(new Date),r=L(l[0]);L(l[1]);r<t?a(new Error("计划开始时间不能小于今天")):a()},trigger:["blur","change"]}]};(0,t.sV)((()=>{M()}));const M=async()=>{e.editId?(await X(),R.value=await F["default"].getProjectModuleTree({projectId:c.project_id})):R.value=await F["default"].getProjectModuleTree({}),m.value=await y["default"].getSysDictItemListByType("project_task_status"),_.value=await y["default"].getSysDictItemListByType("project_task_assign_status"),f.value=await y["default"].getSysDictItemListByType("project_task_type"),C.value=await y["default"].getSysDictItemListByType("project_task_priority"),I.value=await j["default"].getProjectInfoList(""),E.value=await F["default"].getProjectModuleInfoList({});const l=await w["default"].getAdminUsers({count:30});l&&l.items&&(U.value=l.items)},X=async()=>{p.value=!0;const l=await V["default"].get(e.editId);if(T(c,l),c.plan_date=[],c.plan_date.push(`${c.plan_begin_date}`),c.plan_date.push(`${c.plan_end_date}`),c.evaluator_users){const e=c.evaluator_users.map((e=>Number(e.evaluator_id)));c.evaluator_users=e}c.value=l,l.file_list&&(c.file_list=l.file_list),p.value=!1},D=e=>{e&&e.length>0?c.module_id=e[e.length-1]:c.module_id=null},P=()=>{n.value.resetFields()},W=async a=>{console.log("submitForm"),console.log(c.file_list);const t=[];c.file_list&&c.file_list.length>0&&(c.file_list.forEach((e=>{t.push(e.id)})),c.upload_file_list=t),n.value.validate((async t=>{if(t){c.plan_begin_date=c.plan_date[0],c.plan_end_date=c.plan_date[1];let t={};e.editId?(t=await V["default"].edit(e.editId,c),l.emit("editClose")):(t=await V["default"].create(c),P(a)),t.code<window.MAX_SUCCESS_CODE&&k.nk.success(`${t.message}`)}else console.error("error submit!!"),k.nk.error("请将信息填写完整")}))},q=()=>{l.emit("editClose")};return{back:q,project:c,form:n,rules:K,resetForm:P,submitForm:W,projectTaskStatusArr:m,projectTaskAssignStatus:_,projectTaskTypeArr:f,projectTaskPriorityArr:C,userList:U,projectInfoArr:I,projectModuleArr:E,projectModuleTreeArr:R,moduleCascaderProps:S,handleProjectChange:A,handleModuleChange:D,uploader:a,handleUploadRemove:r,handleUploadPreview:o,handleExceed:s,handleUploadBeforeRemove:u,handleUploadSuccess:i,beforeAvatarUpload:d}}},U=a(66262);const I=(0,U.A)(C,[["render",f],["__scopeId","data-v-36df3d19"]]);var E=I}}]);
|