From fae97f54aba953713a6b155d198fe6e85457dc3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Tue, 29 Mar 2022 07:55:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xm/core/xmWorkItem/XmSubTaskList.vue | 243 +++++++++++++++++- 1 file changed, 237 insertions(+), 6 deletions(-) diff --git a/src/views/xm/core/xmWorkItem/XmSubTaskList.vue b/src/views/xm/core/xmWorkItem/XmSubTaskList.vue index 64343000..055da4fa 100644 --- a/src/views/xm/core/xmWorkItem/XmSubTaskList.vue +++ b/src/views/xm/core/xmWorkItem/XmSubTaskList.vue @@ -1,17 +1,72 @@ @@ -20,8 +75,9 @@ import Vue from "vue"; import util from "@/common/js/util"; //全局公共库 import treeTool from "@/common/js/treeTool"; //全局公共库 import { initSimpleDicts } from '@/api/mdp/meta/item'; //下拉框数据查询 - import { listXmTask ,addTask } from '@/api/xm/core/xmTask'; + import { listXmTask ,addTask,editXmTaskSomeFields,batchDelXmTask } from '@/api/xm/core/xmTask'; + import XmGroupDialog from '@/views/xm/core/xmGroup/XmGroupDialog';//修改界面 import { mapGetters } from 'vuex' export default { @@ -48,18 +104,35 @@ export default { this.initData(); }, 'xmTasks':function(){ - this.$emit("bugs-change",this.xmTasks) + this.$emit("tasks-change",this.xmTasks) } }, data() { return{ - load:{edit:false,list:false,add:false}, + load:{edit:false,list:false,add:false,del:false,}, xmTasks:[], + editForm:{}, + sels:[], + dicts: { + priority: [], + taskType: [], + planType: [], + priority: [], + xmTaskSettleSchemel: [], + taskState:[], + }, //下拉选择框的所有静态数据 params=[{categoryId:'0001',itemCode:'sex'}] 返回结果 {'sex':[{optionValue:'1',optionName:'男',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'女',seqOrder:'2',fp:'',isDefault:'0'}]} + + } }, //end data methods: { + + //选择行xmTask + selsChange: function (sels) { + this.sels = sels; + }, getXmTasks(){ listXmTask({menuId:this.parentXmMenu.menuId}).then(res=>{ var tips = res.data.tips; @@ -115,11 +188,169 @@ export default { }); }, + //查询时选择责任人 + selectCreateUserConfirm(groupUsers,option) { + if(option && option.action==='createUserid'){ + if (groupUsers && groupUsers.length > 0) { + var user= groupUsers[0]; + this.editXmTaskSomeFields(option.data,option.action,user) + } + } + + }, + editXmTaskSomeFields(row,fieldName,$event){ + var params={ids:[row.id]}; + if(this.sels.length>0){ + if(!this.sels.some(k=>k.id==row.id)){ + this.$notify({showClose:true,message:'请操作选中的行或者取消选中的行再操作其它行',type:'warning'}) + return; + } + params.ids=this.sels.map(i=>i.id) + } + if(fieldName==='menuId'){ + if($event){ + params[fieldName]=$event.menuId; + params.menuName=$event.menuName + params.productId=$event.productId + }else{ + return; + } + }else if(fieldName==='tagIds'){ + if($event){ + params[fieldName]=$event.map(i=>i.tagId).join(","); + params.tagNames=$event.map(i=>i.tagName).join(","); + }else{ + return; + } + }else if(fieldName==='workload'){ + params={...params,...$event} + }else if(fieldName==='executorUserid'){ + params.executorUserid=$event[0].userid + params.executorUsername=$event[0].username + }else if(fieldName==='createUserid'){ + params.createUserid=$event[0].userid + params.createUsername=$event[0].username + }else{ + params[fieldName]=$event + } + + editXmTaskSomeFields(params).then(res=>{ + var tips = res.data.tips; + if(tips.isOk){ + if(this.sels.length>0){ + this.sels.forEach(i=>{ + this.fieldTagVisible=false; + Object.assign(i,params) + }) + }else{ + Object.assign(row,params) + } + }else{ + this.$notify({showClose:true,message:tips.msg,type:tips.isOk?'success':'error'}) + } + }) + }, + + //批量删除xmTask + batchDel: function () { + if(this.sels.length==0){ + this.$notify.warning("请先选中要删除的记录") + return; + } + this.$confirm("确认删除选中记录吗?", "提示", { + type: "warning", + }).then(() => { + this.load.del = true; + batchDelXmTask(this.sels) + .then((res) => { + this.load.del = false; + var tips = res.data.tips; + if (tips.isOk) { + this.getXmTasks() + } + this.$notify({ + showClose: true, + message: tips.msg, + type: tips.isOk ? "success" : "error", + }); + }) + .catch((err) => (this.load.del = false)); + }); + }, + rowClick: function (row) { + this.editForm = row; + // this.$emit('row-click',row,);// @row-click="rowClick" + }, + + formatterPriorityDicts(cellValue){ + if(!cellValue && cellValue!=='0'){ + return [] + } + var key="priority"; + if(this.dicts[key]==undefined || this.dicts[key]==null || this.dicts[key].length==0 ){ + return [{id:cellValue,name:cellValue,className:'primary'}]; + } + var list=this.dicts[key].filter(i=>i.id==cellValue) + if(list.length>0){ + var data= {...list[0],className:'primary'} + if(data.id=='0'){ + data.className='danger' + }else if(data.id=='1'){ + data.className='warning' + }else if(data.id=='2'){ + data.className='success' + }else if(data.id=='3'){ + data.className='primary' + }else if(data.id=='4'){ + data.className='info' + }else{ + data.className='primary' + } + return [data]; + }else{ + return [{id:cellValue,name:cellValue,className:'primary'}] + } + + }, + formatterTaskStateDicts: function(cellValue){ + if(!cellValue && cellValue!=='0'){ + return [] + } + var key="taskState"; + if(this.dicts[key]==undefined || this.dicts[key]==null || this.dicts[key].length==0 ){ + return [{id:cellValue,name:cellValue,className:'primary'}]; + } + var list=this.dicts[key].filter(i=>i.id==cellValue) + if(list.length>0){ + var data= {...list[0],className:'primary'} + if(data.id=='0'){ + data.className='primary' + }else if(data.id=='1'){ + data.className='warning' + }else if(data.id=='2'){ + data.className='success' + }else if(data.id=='3'){ + data.className='info' + } else{ + data.className='danger' + } + return [data]; + }else{ + return [{id:cellValue,name:cellValue,className:'primary'}] + } + + }, }, //end methods components: { + + XmGroupDialog, }, mounted() { this.initData(); + + initSimpleDicts( "all", ["planType","taskType","priority","xmTaskSettleSchemel","priority","taskState" ]).then((res) => { + this.dicts = res.data.data; + }); }, };