Browse Source

优化

master
陈裕财 3 years ago
parent
commit
093e0a3824
  1. 6
      src/views/xm/core/components/MdpSelectUserXm/index.vue
  2. 75
      src/views/xm/core/xmMenuWorkItem/XmSubTaskList.vue
  3. 8
      src/views/xm/core/xmTask/XmTaskEdit.vue
  4. 67
      src/views/xm/core/xmTaskWorkItem/XmSubTaskList.vue

6
src/views/xm/core/components/MdpSelectUserXm/index.vue

@ -14,7 +14,7 @@
</div>
<div v-if="disabled!==true" class="field-oper" :class="{disabled:disabled===true,enabled:disabled!==true}">
<slot name="oper">
<el-select v-model="myVal" @change="onSelectChange" :clearable="clearable" filterable value-key="userid">
<el-select v-model="myVal" @change="onSelectChange" :clearable="clearable" filterable value-key="userid" @visible-change="$emit('visible-change',$event)" @focus="$emit('focus',$event)" @blur="$emit('blur',$event)" @clear="$emit('blur',$event)" @click="$emit('click',$event)">
<el-option :value="myVal" disabled v-if="users && users.length>10">
<el-row><el-button :type="deptUserVisible?'':'primary'" @click.stop="deptUserVisible=false">常用用户</el-button> <el-button :type="deptUserVisible?'primary':''" @click.stop="deptUserVisible=true"></el-button><el-button v-if="projectId" :type="projectVisible?'primary':''" @click.stop="projectVisible=true"></el-button> </el-row>
@ -33,7 +33,7 @@
</el-option>
</el-select>
<slot name="extOper">
</slot>
</slot>
</div>
@ -94,7 +94,7 @@
},
watch:{
value:{
handler(){
handler(){
this.initData();
},
deep:true,

75
src/views/xm/core/xmMenuWorkItem/XmSubTaskList.vue

@ -67,7 +67,7 @@
show-overflow-tooltip
>
<template slot-scope="scope">
<mdp-select-user-xm userid-key="creatorUserid" username-key="creatorUsername" :project-id="scope.row.projectId" v-model="scope.row" @change="editXmTaskSomeFields(scope.row,'creatorUserid',$event)"></mdp-select-user-xm>
<mdp-select-user-xm @visible-change="selectVisible(scope.row,$event)" userid-key="creatorUserid" username-key="creatorUsername" :project-id="scope.row.projectId" v-model="scope.row" @change="editXmTaskSomeFields(scope.row,'creatorUserid',$event)"></mdp-select-user-xm>
</template>
</el-table-column>
@ -79,7 +79,7 @@
show-overflow-tooltip
>
<template slot-scope="scope">
<mdp-select-user-xm userid-key="executorUserid" username-key="executorUsername" :project-id="scope.row.projectId" v-model="scope.row" @change="editXmTaskSomeFields(scope.row,'executorUserid',$event)"></mdp-select-user-xm>
<mdp-select-user-xm @visible-change="selectVisible(scope.row,$event)" userid-key="executorUserid" username-key="executorUsername" :project-id="scope.row.projectId" v-model="scope.row" @change="selectExecUserConfirm(scope.row,'executorUserid',$event)"></mdp-select-user-xm>
</template>
</el-table-column>
</el-table>
@ -321,43 +321,7 @@ export default {
afterEditSubmit(row){
Object.assign(this.editForm,row)
},
//
selectCreateUserConfirm(groupUsers,option) {
if(option && option.action==='createUserid'){
if (groupUsers && groupUsers.length > 0) {
var user= groupUsers[0];
this.editXmTaskSomeFields(option.data,option.action,user)
}
}else if(option.action==='executorUserid'){
var user= groupUsers[0];
var params={}
var row=option.data;
params.taskId = row.id;
params.projectId=row.projectId
params.projectName=row.projectName
params.taskName=row.name
params.quoteStartTime=row.startTime
params.quoteEndTime=row.endTime
params.quoteAmount=row.budgetAt
params.quoteWorkload=row.budgetWorkload
params.userid=user.userid
params.username=user.username
addXmTaskExecuser(params).then(res=>{
var tips = res.data.tips
if(tips.isOk){
//this.searchXmTasks();
row.executorUserid=user.userid
row.executorUsername=user.username
row.exeUserids=user.userid
row.exeUsernames=user.username
}else{
this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:'error'})
}
})
}
},
},
editXmTaskSomeFields(row,fieldName,$event){
var params={ids:[row.id]};
if(this.sels.length>0){
@ -525,7 +489,38 @@ export default {
this.addForm.parentTaskid=task.id
this.addForm.parentTaskname=task.name
this.selectParentTaskVisible=false
}
},
//
selectExecUserConfirm(row,fieldName,users) {
var user= users[0];
var params={}
params.taskId = row.id;
params.projectId=row.projectId
params.projectName=row.projectName
params.taskName=row.name
params.quoteStartTime=row.startTime
params.quoteEndTime=row.endTime
params.quoteAmount=row.budgetAt
params.quoteWorkload=row.budgetWorkload
params.userid=user.userid
params.username=user.username
addXmTaskExecuser(params).then(res=>{
var tips = res.data.tips
if(tips.isOk){
row.executorUserid=user.userid
row.executorUsername=user.username
row.exeUserids=user.userid
row.exeUsernames=user.username
}else{
row.executorUserid=this.editFormBak.executorUserid
row.executorUsername=this.editFormBak.executorUsername
this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:'error'})
}
})
},
}, //end methods
components: {
XmTaskWorkloadRecordDialog,XmGroupDialog,'xm-task-edit':()=>import('../xmTask/XmTaskEdit'),XmPhaseSelect,MdpSelectUserXm,

8
src/views/xm/core/xmTask/XmTaskEdit.vue

@ -501,13 +501,7 @@
<!-- <el-drawer append-to-body :title="'技能要求'" :visible.sync="skillVisible" size="80%" append-to-body :close-on-click-modal="false">
<xm-skill-mng :visible="skillVisible" :task-id="editForm.id" @cancel="skillVisible=false" @getSkill="getSkill"></xm-skill-mng>
</el-drawer> -->
<el-drawer append-to-body title="选择执行人" :visible.sync="execGroupUserSelectVisible" size="60%" :close-on-click-modal="false">
<xm-group-select :pgClass="editForm.ptype" :xm-product="editForm.productId?{id:editForm.productId,productName:''}:null" :visible="execGroupUserSelectVisible" :sel-project="xmProject" :isSelectSingleUser="1" @user-confirm="execGroupUserSelectConfirm"></xm-group-select>
</el-drawer>
<el-drawer append-to-body title="选择负责人" :visible.sync="groupUserSelectVisible" size="60%" :close-on-click-modal="false">
<xm-group-select :xm-product="editForm.productId?{id:editForm.productId,productName:''}:null" :visible="groupUserSelectVisible" :sel-project="xmProject" :isSelectSingleUser="1" @user-confirm="groupUserSelectConfirm"></xm-group-select>
</el-drawer>
</el-drawer> -->
<el-drawer append-to-body title="新增技能" :visible.sync="skillVisible" size="60%" :close-on-click-modal="false">
<skill-mng :task-skills="taskSkills" :jump="true" @select-confirm="onTaskSkillsSelected"></skill-mng>
</el-drawer>

67
src/views/xm/core/xmTaskWorkItem/XmSubTaskList.vue

@ -68,7 +68,7 @@
show-overflow-tooltip
>
<template slot-scope="scope">
<mdp-select-user-xm userid-key="creatorUserid" username-key="creatorUsername" :project-id="scope.row.projectId" v-model="scope.row" @change="editXmTaskSomeFields(scope.row,'creatorUserid',$event)"></mdp-select-user-xm>
<mdp-select-user-xm @visible-change="selectVisible(scope.row,$event)" userid-key="creatorUserid" username-key="creatorUsername" :project-id="scope.row.projectId" v-model="scope.row" @change="editXmTaskSomeFields(scope.row,'creatorUserid',$event)"></mdp-select-user-xm>
</template>
</el-table-column>
@ -80,7 +80,7 @@
show-overflow-tooltip
>
<template slot-scope="scope">
<mdp-select-user-xm userid-key="executorUserid" username-key="executorUsername" :project-id="scope.row.projectId" v-model="scope.row" @change="editXmTaskSomeFields(scope.row,'executorUserid',$event)"></mdp-select-user-xm>
<mdp-select-user-xm @visible-change="selectVisible(scope.row,$event)" userid-key="executorUserid" username-key="executorUsername" :project-id="scope.row.projectId" v-model="scope.row" @change="selectExecUserConfirm(scope.row,'executorUserid',$event)"></mdp-select-user-xm>
</template>
</el-table-column>
</el-table>
@ -121,9 +121,7 @@
@submit="onEditXmTaskSomeFields"
@edit-fields="onEditXmTaskSomeFields"
></xm-task-edit>
</el-dialog>
<xm-group-dialog ref="xmGroupDialog" :isSelectSingleUser="true" :sel-project="linkProjectId?{id:linkProjectId}:(parentXmTask&&parentXmTask.projectId?{id:parentXmTask.projectId}:null)" :xm-product="parentXmTask?{id:parentXmTask.productId}:null" @user-confirm="selectCreateUserConfirm">
</xm-group-dialog>
</el-dialog>
<xm-task-workload-record-dialog ref="workloadRecordDialog" @submi="afterWorkloadSubmit" @edit-xm-task-some-fields="onEditXmTaskSomeFields" @submit="onWorkloadSubmit"></xm-task-workload-record-dialog>
</el-row>
</template>
@ -211,6 +209,41 @@ export default {
actEndTime: "",
uniInnerPrice:80,uniOutPrice:100,
},
editFormBak: {
id: "",
name: "",
parentTaskid: "",
parentTaskname: "",
projectId: "",
projectName: "",
level: "",
sortLevel: "",
executorUserid: "",
executorUsername: "",
preTaskid: "",
preTaskname: "",
startTime: "",
endTime: "",
milestone: "",
description: "",
remarks: "",
createUserid: "",
createUsername: "",
createTime: "",
rate: "",
budgetAt: "",
budgetWorkload: "",
actAt: "",
actWorkload: "",
taskState: "",
taskType: "",
taskClass: "",
toTaskCenter: "",
actStartTime: "",
actEndTime: "",
uniInnerPrice:80,uniOutPrice:100,
},
addForm:{name:''},
addFormRules:{
name: [
@ -296,16 +329,10 @@ 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)
}
}else if(option.action==='executorUserid'){
var user= groupUsers[0];
var params={}
var row=option.data;
selectExecUserConfirm(row,fieldName,users) {
var user= users[0];
var params={}
params.taskId = row.id;
params.projectId=row.projectId
params.projectName=row.projectName
@ -318,17 +345,17 @@ export default {
params.username=user.username
addXmTaskExecuser(params).then(res=>{
var tips = res.data.tips
if(tips.isOk){
//this.searchXmTasks();
if(tips.isOk){
row.executorUserid=user.userid
row.executorUsername=user.username
row.exeUserids=user.userid
row.exeUsernames=user.username
}else{
row.executorUserid=this.editFormBak.executorUserid
row.executorUsername=this.editFormBak.executorUsername
this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:'error'})
}
})
}
})
},
editXmTaskSomeFields(row,fieldName,$event){
@ -415,7 +442,7 @@ export default {
});
},
rowClick: function (row) {
this.editForm = row;
this.editForm = row;
this.editFormBak=Object.assign({},this.editForm)
// this.$emit('row-click',row,);// @row-click="rowClick"
},

Loading…
Cancel
Save