Browse Source

优化

master
陈裕财 4 years ago
parent
commit
4c4cd7c2ac
  1. 9
      src/views/xm/core/xmMenu/XmMenuSelect.vue
  2. 2
      src/views/xm/core/xmMenuWorkItem/XmSubMenuList.vue
  3. 42
      src/views/xm/core/xmMenuWorkItem/XmSubTaskList.vue
  4. 27
      src/views/xm/core/xmProject/XmProjectEdit.vue
  5. 6
      src/views/xm/core/xmProject/XmProjectForLinkComplex.vue
  6. 29
      src/views/xm/core/xmTaskWorkItem/XmSubTaskList.vue

9
src/views/xm/core/xmMenu/XmMenuSelect.vue

@ -221,6 +221,12 @@
} }
}, },
xmItertaion(){ xmItertaion(){
if(this.iterationFilterType){
this.filters.iterationFilterType=this.iterationFilterType
}
if(this.xmIteration){
this.filters.iteration=this.xmIteration
}
this.getXmMenus(); this.getXmMenus();
}, },
@ -546,6 +552,9 @@
if(this.iterationFilterType){ if(this.iterationFilterType){
this.filters.iterationFilterType=this.iterationFilterType this.filters.iterationFilterType=this.iterationFilterType
} }
if(this.xmIteration){
this.filters.iteration=this.xmIteration
}
if(this.taskFilterType){ if(this.taskFilterType){
this.filters.taskFilterType=this.taskFilterType this.filters.taskFilterType=this.taskFilterType

2
src/views/xm/core/xmMenuWorkItem/XmSubMenuList.vue

@ -23,7 +23,7 @@
<el-row> <el-row>
<el-table :data="xmMenus" :max-height="400" highlight-current-row v-loading="load.list" @selection-change="selsChange" @row-click="rowClick"> <el-table :data="xmMenus" :max-height="400" highlight-current-row v-loading="load.list" @selection-change="selsChange" @row-click="rowClick">
<el-table-column type="selection" label="全选"></el-table-column> <el-table-column type="selection" label="全选"></el-table-column>
<el-table-column prop="menuName" label="名称" min-width="150"></el-table-column>
<el-table-column prop="menuName" label="名称" min-width="250"></el-table-column>
<el-table-column prop="status" label="状态" min-width="80" sortable> <el-table-column prop="status" label="状态" min-width="80" sortable>
<template slot-scope="scope"> <template slot-scope="scope">
<div class="cell-text"> <div class="cell-text">

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

@ -6,6 +6,7 @@
</div> </div>
任务 任务
<span style="float:right;"> <span style="float:right;">
<el-button @click="getXmTasks" type="primary" icon="el-icon-search" plain></el-button>
<el-button @click="batchDel" type="danger" icon="el-icon-delete" plain></el-button> <el-button @click="batchDel" type="danger" icon="el-icon-delete" plain></el-button>
</span> </span>
</el-row> </el-row>
@ -83,6 +84,17 @@
</el-table> </el-table>
</el-row> </el-row>
<el-dialog title="新增任务" :visible.sync="addFormVisible" append-to-body modal-append-to-body>
<el-form :model="addForm" :rules="addFormRules">
<el-form-item label="任务名称">
<el-input v-model="addForm.name" autocomplete="off" ></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="addFormVisible = false"> </el-button>
<el-button type="primary" @click="addXmTask"> </el-button>
</div>
</el-dialog>
<xm-group-dialog ref="xmGroupDialog" :isSelectSingleUser="true" :sel-project="linkProjectId?{id:linkProjectId}:null" :xm-product="parentXmMenu?{id:parentXmMenu.productId}:null" @user-confirm="selectCreateUserConfirm"> <xm-group-dialog ref="xmGroupDialog" :isSelectSingleUser="true" :sel-project="linkProjectId?{id:linkProjectId}:null" :xm-product="parentXmMenu?{id:parentXmMenu.productId}:null" @user-confirm="selectCreateUserConfirm">
</xm-group-dialog> </xm-group-dialog>
<xm-task-workload-record-dialog ref="workloadRecordDialog" @submi="afterWorkloadSubmit" @edit-xm-task-some-fields="onEditXmTaskSomeFields" @submit="onWorkloadSubmit"></xm-task-workload-record-dialog> <xm-task-workload-record-dialog ref="workloadRecordDialog" @submi="afterWorkloadSubmit" @edit-xm-task-some-fields="onEditXmTaskSomeFields" @submit="onWorkloadSubmit"></xm-task-workload-record-dialog>
@ -132,7 +144,14 @@ export default {
return{ return{
load:{edit:false,list:false,add:false,del:false,}, load:{edit:false,list:false,add:false,del:false,},
xmTasks:[], xmTasks:[],
editForm:{},
editForm:{name:''},
addForm:{name:''},
addFormRules: {
name: [
{ required: true, message: '任务名称不能为空', trigger: 'change' }
],
},
addFormVisible:false,
sels:[], sels:[],
dicts: { dicts: {
priority: [], priority: [],
@ -177,18 +196,18 @@ export default {
this.getXmTasks(); this.getXmTasks();
} }
}, },
addXmTask(name){
var task={name:name,menuId:this.parentXmMenu.menuId,menuName:this.parentXmMenu.menuName,productId:this.parentXmMenu.productId,iterationId:this.parentXmMenu.iterationId,iterationName:this.parentXmMenu.iterationName}
addXmTask(){
var task={...this.addForm,menuId:this.parentXmMenu.menuId,menuName:this.parentXmMenu.menuName,productId:this.parentXmMenu.productId,iterationId:this.parentXmMenu.iterationId,iterationName:this.parentXmMenu.iterationName}
task.priority='3' task.priority='3'
task.verNum=this.parentXmMenu.sinceVersion; task.verNum=this.parentXmMenu.sinceVersion;
task.pverNum=this.parentXmMenu.sinceVersion; task.pverNum=this.parentXmMenu.sinceVersion;
task.askUserid=this.userInfo.userid
task.askUsername=this.userInfo.username
task.createUserid=this.userInfo.userid
task.createUsername=this.userInfo.username
task.qtype="1" task.qtype="1"
task.ntype="0" task.ntype="0"
task.ptype="0" task.ptype="0"
task.id=null; task.id=null;
task.name=name
task.sortLevel=this.parentXmMenu.seqNo
task.projectId=this.linkProjectId task.projectId=this.linkProjectId
addTask(task).then((res) => { addTask(task).then((res) => {
this.load.edit=false this.load.edit=false
@ -196,19 +215,14 @@ export default {
if(tips.isOk){ if(tips.isOk){
this.$emit('submit',res.data.data);// @submit="afterAddSubmit" this.$emit('submit',res.data.data);// @submit="afterAddSubmit"
this.xmTasks.push(res.data.data) this.xmTasks.push(res.data.data)
this.addFormVisible=false;
} }
this.$notify({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' }); this.$notify({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err => this.load.edit=false); }).catch( err => this.load.edit=false);
}, },
showAdd() { showAdd() {
this.$prompt('请输入任务标题', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
}).then(({ value }) => {
this.addXmTask(value);
}).catch(() => {
});
this.addForm.name=this.parentXmMenu.menuName
this.addFormVisible=true;
}, },
// //

27
src/views/xm/core/xmProject/XmProjectEdit.vue

@ -25,15 +25,15 @@
<el-form-item label="项目代号" prop="code" v-if="opType==='add'"> <el-form-item label="项目代号" prop="code" v-if="opType==='add'">
<el-input v-model="editForm.code" placeholder="项目代号,不可为空" > <el-input v-model="editForm.code" placeholder="项目代号,不可为空" >
<template slot="append"> <template slot="append">
<el-button type="text" @click.native="createProjectCode">自动生成</el-button>
<el-button type="primary" @click.native="createProjectCode">自动生成</el-button>
</template> </template>
</el-input> </el-input>
<font color="blue" style="font-size:10px;">项目代号为合同上的项目代号甲乙方共享;项目内部编号为 &nbsp;代号-四位随机码</font> <font color="blue" style="font-size:10px;">项目代号为合同上的项目代号甲乙方共享;项目内部编号为 &nbsp;代号-四位随机码</font>
</el-form-item> </el-form-item>
<el-form-item label="名称" prop="name" v-if="opType==='add'">
<el-form-item label="名称" prop="name" v-show="opType==='add'">
<el-input v-model="editForm.name" placeholder="项目名称" ></el-input> <el-input v-model="editForm.name" placeholder="项目名称" ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目代号|名称" prop="name" v-if="opType!=='add'">
<el-form-item label="项目代号|名称" prop="name" v-show="opType!=='add'">
<el-input v-model="editForm.code" placeholder="项目代号,不可为空" style="width:20%;" ></el-input><el-input style="width:80%;" v-model="editForm.name" placeholder="" ></el-input> <el-input v-model="editForm.code" placeholder="项目代号,不可为空" style="width:20%;" ></el-input><el-input style="width:80%;" v-model="editForm.name" placeholder="" ></el-input>
<font color="blue" style="font-size:10px;">项目代号为合同上的项目代号甲乙方共享;项目内部编号为 &nbsp;代号-四位随机码</font> <font color="blue" style="font-size:10px;">项目代号为合同上的项目代号甲乙方共享;项目内部编号为 &nbsp;代号-四位随机码</font>
@ -215,6 +215,7 @@
</el-form> </el-form>
</el-row> </el-row>
<el-row> <el-row>
<el-button type="text" @click.native="handleCancel" >关闭</el-button>
<el-button v-loading="load.edit" type="primary" @click.native="editSubmit" :disabled="load.edit==true">提交</el-button> <el-button v-loading="load.edit" type="primary" @click.native="editSubmit" :disabled="load.edit==true">提交</el-button>
<span v-if="opType!=='add'" style="float:right;"> <span v-if="opType!=='add'" style="float:right;">
<el-button icon="el-icon-star-on" type="success" @click="handleCommand({type:'sendToProcessApprova',data:editForm,bizKey:'xm_project_start_approva'})">立项申请</el-button> <el-button icon="el-icon-star-on" type="success" @click="handleCommand({type:'sendToProcessApprova',data:editForm,bizKey:'xm_project_start_approva'})">立项申请</el-button>
@ -359,7 +360,7 @@
} }
}, },
}, },
props:['selProject','visible','xmProject','opType'/**add、edit */],
props:['selProject','visible','xmProduct','opType'/**add、edit */],
watch: { watch: {
'visible':function(visible) { 'visible':function(visible) {
if(visible==true){ if(visible==true){
@ -518,9 +519,6 @@
) { ) {
this.editForm.startTime = this.dateRanger[0] ; this.editForm.startTime = this.dateRanger[0] ;
this.editForm.endTime = this.dateRanger[1] ; this.editForm.endTime = this.dateRanger[1] ;
}else{
this.$notify({showClose: true, message: "请输入开始日期和结束日期", type: 'error' });
return;
} }
this.$refs.editForm.validate((valid) => { this.$refs.editForm.validate((valid) => {
if (valid) { if (valid) {
@ -531,14 +529,19 @@
func=addXmProject; func=addXmProject;
} }
let params = Object.assign({}, this.editForm); let params = Object.assign({}, this.editForm);
if(this.xmProduct && this.xmProduct.id){
params.links=[{productId:this.xmProduct.id}]
}
params.planIuserWorkload=this.autoParams.planIuserWorkload params.planIuserWorkload=this.autoParams.planIuserWorkload
params.planOuserWorkload=this.autoParams.planOuserWorkload params.planOuserWorkload=this.autoParams.planOuserWorkload
params.planWorkload=this.autoParams.planWorkload params.planWorkload=this.autoParams.planWorkload
func(params).then((res) => { func(params).then((res) => {
this.load.edit=false; this.load.edit=false;
var tips=res.data.tips; var tips=res.data.tips;
if(tips.isOk){
this.selProject=Object.assign(this.selProject,res.data.data)
if(tips.isOk){
if(this.selProject && this.opType!=='add'){
Object.assign(this.selProject,res.data.data)
}
this.$emit('submit',res.data.data);// @submit="afterEditSubmit" this.$emit('submit',res.data.data);// @submit="afterEditSubmit"
} }
this.$notify({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' }); this.$notify({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' });
@ -801,11 +804,11 @@
}, },
createProjectCode(){
createProjectCode(){
createProjectCode({}).then(res=>{ createProjectCode({}).then(res=>{
var tips=res.data.tips; var tips=res.data.tips;
if(tips.isOk){
this.editForm.code=res.data.data
if(tips.isOk){
this.$set(this.editForm,'code',res.data.data)
} }
this.$notify({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' }); this.$notify({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' });
}) })

6
src/views/xm/core/xmProject/XmProjectForLinkComplex.vue

@ -116,9 +116,11 @@ import XmIterationLinkForProject from '../xmIterationLink/XmIterationLinkForProj
this.showPanel=tab.name this.showPanel=tab.name
}, },
afterProjectAddSubmit(project){ afterProjectAddSubmit(project){
this.$refs.xmProjectSelect.xmProjects.push(project)
this.$refs.xmProjectSelect.rowClick(project);
this.projectAddVisible=false; this.projectAddVisible=false;
if(this.$refs.xmProjectSelect){
this.$refs.xmProjectSelect.xmProjects.push(project)
this.$refs.xmProjectSelect.rowClick(project);
}
} }
},//end methods },//end methods
components: { components: {

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

@ -78,7 +78,17 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-row> </el-row>
<el-dialog title="新增任务" :visible.sync="editFormVisible">
<el-form :model="editForm" :rules="editFormRules">
<el-form-item label="任务名称">
<el-input v-model="editForm.name" autocomplete="off" ></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false"> </el-button>
<el-button type="primary" @click="dialogFormVisible = false"> </el-button>
</div>
</el-dialog>
<xm-group-dialog ref="xmGroupDialog" :isSelectSingleUser="true" :sel-project="linkProjectId?{id:linkProjectId}:null" :xm-product="parentXmTask?{id:parentXmTask.productId}:null" @user-confirm="selectCreateUserConfirm"> <xm-group-dialog ref="xmGroupDialog" :isSelectSingleUser="true" :sel-project="linkProjectId?{id:linkProjectId}:null" :xm-product="parentXmTask?{id:parentXmTask.productId}:null" @user-confirm="selectCreateUserConfirm">
</xm-group-dialog> </xm-group-dialog>
<xm-task-workload-record-dialog ref="workloadRecordDialog" @submi="afterWorkloadSubmit" @edit-xm-task-some-fields="onEditXmTaskSomeFields" @submit="onWorkloadSubmit"></xm-task-workload-record-dialog> <xm-task-workload-record-dialog ref="workloadRecordDialog" @submi="afterWorkloadSubmit" @edit-xm-task-some-fields="onEditXmTaskSomeFields" @submit="onWorkloadSubmit"></xm-task-workload-record-dialog>
@ -129,6 +139,11 @@ export default {
load:{edit:false,list:false,add:false,del:false,}, load:{edit:false,list:false,add:false,del:false,},
xmTasks:[], xmTasks:[],
editForm:{}, editForm:{},
editFormRules:{
name: [
{ required: true, message: '任务名称不能为空', trigger: 'change' }
],
},
sels:[], sels:[],
dicts: { dicts: {
priority: [], priority: [],
@ -138,7 +153,7 @@ export default {
xmTaskSettleSchemel: [], xmTaskSettleSchemel: [],
taskState:[], taskState:[],
}, // params=[{categoryId:'0001',itemCode:'sex'}] {'sex':[{optionValue:'1',optionName:'',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'',seqOrder:'2',fp:'',isDefault:'0'}]} }, // params=[{categoryId:'0001',itemCode:'sex'}] {'sex':[{optionValue:'1',optionName:'',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'',seqOrder:'2',fp:'',isDefault:'0'}]}
editFormVisible:false,
} }
@ -193,15 +208,7 @@ export default {
}).catch( err => this.load.edit=false); }).catch( err => this.load.edit=false);
}, },
showAdd(ntype) { showAdd(ntype) {
this.ntype=ntype;
this.$prompt('请输入'+(ntype==='0'?'子任务':'子计划')+'标题', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
}).then(({ value }) => {
this.addXmTask(value);
}).catch(() => {
});
this.ntype=ntype;
}, },
// //

Loading…
Cancel
Save