Browse Source

优化

master
陈裕财 4 years ago
parent
commit
f4fb5c50f7
  1. 2
      src/views/xm/core/xmIteration/XmIterationInfo.vue
  2. 4
      src/views/xm/core/xmProduct/XmProductInfo.vue
  3. 4
      src/views/xm/core/xmProject/XmProjectInfo.vue
  4. 31
      src/views/xm/core/xmTask/XmTaskAdd.vue
  5. 2
      src/views/xm/core/xmTask/XmTaskCenter.vue
  6. 11
      src/views/xm/core/xmTask/XmTaskList.vue
  7. 2
      src/views/xm/core/xmTask/XmTaskListForProduct.vue
  8. 42
      src/views/xm/core/xmTask/XmTaskMng.vue
  9. 4
      src/views/xm/core/xmTask/XmTaskMngBatch.vue

2
src/views/xm/core/xmIteration/XmIterationInfo.vue

@ -37,7 +37,7 @@
<xm-project-complex v-if="infotype=='项目'" ref="xmProjectComplex" :xm-iteration="xmIteration"></xm-project-complex>
<xm-product-for-project-complex v-if="infotype=='产品'" ref="xmProductComplex" :xm-iteration="xmIteration"></xm-product-for-project-complex>
<xm-menu-mng v-if="infotype=='需求'" :xm-iteration="xmIteration" :disabled-mng="false"></xm-menu-mng>
<xm-task-mng v-if="infotype=='任务'" ref="xmTaskMng" work-item-type="task" :xm-iteration="xmIteration" ></xm-task-mng>
<xm-task-mng v-if="infotype=='任务'" ref="xmTaskMng" ptype="" queryScope="task" :xm-iteration="xmIteration" ></xm-task-mng>
<xm-question v-if="infotype=='缺陷'" :qtype="'bug'" :xm-iteration='xmIteration' ref="xmQuestion"></xm-question>
<xm-group-mng v-if="infotype=='团队'" :xm-iteration="xmIteration"></xm-group-mng>
<el-drawer title="选中团队成员" :visible.sync="groupUserVisible" size="50%" append-to-body :close-on-click-modal="false">

4
src/views/xm/core/xmProduct/XmProductInfo.vue

@ -136,11 +136,11 @@
<xm-iteration-for-project-complex v-if="infotype=='迭代'" ref="xmIterationMng" :xm-product="xmProduct"></xm-iteration-for-project-complex>
<xm-project-complex v-if="infotype=='项目'" ref="xmProjectForLink" :xm-product="xmProduct"></xm-project-complex>
<xm-menu-mng v-if="infotype=='需求'" :xm-product="xmProduct"></xm-menu-mng>
<xm-task-mng v-if="infotype=='任务'" work-item-type="task" ref="xmTaskMng" :xm-product="xmProduct" key="task"></xm-task-mng>
<xm-task-mng v-if="infotype=='任务'" ptype="1" queryScope="task" ref="xmTaskMng" :xm-product="xmProduct" key="task"></xm-task-mng>
<xm-question v-if="infotype=='缺陷'" :qtype="'bug'" :xm-product='xmProduct' ref="xmQuestion"></xm-question>
<xm-group-mng v-if="infotype=='团队'" :xm-product="xmProduct"></xm-group-mng>
<xm-file-mng v-if="infotype=='文档'" :xm-product="xmProduct"></xm-file-mng>
<xm-task-mng v-if="infotype=='计划'" ref="productPlan" work-item-type="productPlan" :xm-product="xmProduct" key="productPlan"></xm-task-mng>
<xm-task-mng v-if="infotype=='计划'" ref="productPlan" ptype="1" queryScope="planTask" :xm-product="xmProduct" key="productPlan"></xm-task-mng>
<!--<xm-phase-for-product v-if="infotype=='计划'" ref="xmPhaseMng" :xm-product="xmProduct" ></xm-phase-for-product> -->
<xm-test-case-exec-mng v-if="infotype=='测试计划'" :visible="infotype=='测试计划'" :xm-product='xmProduct' ref="xmQuestion"></xm-test-case-exec-mng>
<xm-menu-with-plan v-if="infotype=='需求监控'" ref="xmMenuWithPlan" :xm-product="xmProduct"></xm-menu-with-plan>

4
src/views/xm/core/xmProject/XmProjectInfo.vue

@ -135,11 +135,11 @@
<xm-iteration-for-project-complex v-if="infotype=='迭代'" ref="xmIterationMng" :sel-project="selProject"></xm-iteration-for-project-complex>
<xm-product-for-project-complex v-if="infotype=='产品'" ref="xmProductComplex" :sel-project="selProject"></xm-product-for-project-complex>
<xm-menu-mng v-if="infotype=='需求'" :sel-project="selProject" :disabled-mng="false"></xm-menu-mng>
<xm-task-mng v-if="infotype=='任务'" ref="xmTaskMng" :sel-project="selProject" key="task"></xm-task-mng>
<xm-task-mng v-if="infotype=='任务'" ref="xmTaskMng" :sel-project="selProject" ptype="0" queryScope="task" key="task"></xm-task-mng>
<xm-question v-if="infotype=='缺陷'" :qtype="'bug'" :sel-project='selProject' ref="xmQuestion"></xm-question>
<xm-group-mng v-if="infotype=='团队'" :sel-project="selProject"></xm-group-mng>
<xm-file-mng v-if="infotype=='文档'" :sel-project="selProject"></xm-file-mng>
<xm-task-mng v-if="infotype=='计划'" ref="projectPlan" work-item-type="projectPlan" :sel-project="selProject" key="projectPlan"></xm-task-mng>
<xm-task-mng v-if="infotype=='计划'" ref="projectPlan" ptype="0" queryScope="planTask" :sel-project="selProject" key="projectPlan"></xm-task-mng>
<!-- <xm-phase-mng v-if="infotype=='计划'" ref="xmPhaseMng" :sel-project="selProject" ></xm-phase-mng> -->
<xm-test-case-exec-mng v-if="infotype=='测试计划'" :visible="infotype=='测试计划'" :sel-project='selProject' ref="xmQuestion"></xm-test-case-exec-mng>
<xm-menu-with-plan v-if="infotype=='需求监控'" ref="xmMenuWithPlan" :sel-project="selProject"></xm-menu-with-plan>

31
src/views/xm/core/xmTask/XmTaskAdd.vue

@ -8,19 +8,19 @@
<el-radio :disabled="parentTask&&parentTask.id&&parentTask.ntype==='0'" v-model="addForm.ntype" label="1">计划项</el-radio>
<el-radio v-model="addForm.ntype" label="0">任务</el-radio>
</el-form-item>
<el-form-item v-if="addForm.ptype==='0'" label="归属项目" prop="projectId">
<el-tag>{{addForm.projectName}}</el-tag>
</el-form-item>
<el-form-item v-if="addForm.ptype==='1'" label="归属产品" prop="productId">
<el-tag>{{addForm.productName}}</el-tag>
</el-form-item>
<el-form-item label="上级" prop="parentTaskname">
<el-tag v-if="addForm.parentTaskid" @close="clearParentTask" closable >{{addForm.parentTaskname}}</el-tag>
<el-button type="text" @click.stop="selectParentTaskVisible=true" >选上级</el-button><font color="red" style="font-size:12px;">&nbsp;&nbsp;,便</font>
</el-form-item>
<el-form-item label="名称" prop="name">
<el-row>
<el-col :span="24">
<el-input style="width:100%;" v-model="addForm.name" placeholder="名称" ></el-input>
<br>
<el-tooltip content="归属项目"><el-tag>{{addForm.projectName}}</el-tag></el-tooltip>
</el-col>
</el-row>
<el-form-item label="名称" prop="name">
<el-input style="width:100%;" v-model="addForm.name" placeholder="名称" ></el-input>
</el-form-item>
<el-form-item label="序号" prop="sortLevel">
<el-input v-model="addForm.sortLevel" style="width:30%;" placeholder="如1.0或者1.2.3等" ></el-input> <el-checkbox v-model="addForm.milestone" :true-label="1" :false-label="0">里程碑</el-checkbox>
@ -167,11 +167,11 @@
</el-drawer>
<el-drawer title="选中任务" :visible.sync="selectTaskVisible" size="60%" append-to-body :close-on-click-modal="false">
<xm-task-list :sel-project="xmProject" @task-selected="onSelectedTask"></xm-task-list>
<xm-task-list check-scope="task" query-scope="planTask" :sel-project="xmProject" :xm-product="xmProduct" :ptype="addForm.ptype" @task-selected="onSelectedTask"></xm-task-list>
</el-drawer>
<el-drawer title="选中上级" :visible.sync="selectParentTaskVisible" size="60%" append-to-body :close-on-click-modal="false">
<xm-task-list check-scope="plan" :sel-project="xmProject" @task-selected="onSelectedParentTask"></xm-task-list>
<xm-task-list check-scope="plan" query-scope="plan" :sel-project="xmProject" :xm-product="xmProduct" :ptype="addForm.ptype" @task-selected="onSelectedParentTask"></xm-task-list>
</el-drawer>
<el-drawer append-to-body title="需求明细" :visible.sync="menuDetailVisible" size="60%" :close-on-click-modal="false">
<xm-menu-rich-detail :visible="menuDetailVisible" :reload="true" :xm-menu="{menuId:addForm.menuId,menuName:addForm.menuName}" ></xm-menu-rich-detail>
@ -216,7 +216,7 @@
}
}
},
props:['xmTask','visible','xmProject','projectPhase',"parentTask"],
props:['xmTask','visible','xmProject','xmProduct',"parentTask","ptype"],
watch: {
'xmTask':function( xmTask ) {
},
@ -505,12 +505,16 @@
this.addForm.parentTaskname=this.parentTask.name;
this.addForm.taskType=this.parentTask.taskType
this.addForm.planType=this.parentTask.planType
this.addForm.ptype=this.parentTask.ptype
}
if(this.xmProject){
this.addForm.projectId=this.xmProject.id
this.addForm.projectName=this.xmProject.name
}
if(this.xmProduct){
this.addForm.productId=this.xmProduct.id
this.addForm.productName=this.xmProduct.productName
}
if(this.parentTask && this.parentTask.id){
if(this.parentTask.childrenCnt){
this.addForm.sortLevel=this.parentTask.sortLevel+"."+(this.parentTask.childrenCnt+1)
@ -527,6 +531,9 @@
if(!this.addForm.uniOutPrice){
this.addForm.uniOutPrice=100
}
if(!this.parentTask || !this.parentTask.id){
this.addForm.ptype=this.ptype
}
this.addForm.createUserid=this.userInfo.userid
this.addForm.createUsername=this.userInfo.username;
this.addForm.executorUserid=this.userInfo.userid

2
src/views/xm/core/xmTask/XmTaskCenter.vue

@ -1,7 +1,7 @@
<template>
<section>
<el-row class="xm-task">
<xm-task-mng :is-task-center="1" work-item-type="task"></xm-task-mng>
<xm-task-mng :is-task-center="1" ptype="0" ntype="0"></xm-task-mng>
</el-row>
</section>
</template>

11
src/views/xm/core/xmTask/XmTaskList.vue

@ -7,8 +7,8 @@
placement="right"
width="400"
trigger="click">
<xm-project-select v-if="!selProject||!selProject.id" :auto-select="true" :xm-iteration="xmIteration" :xm-product="xmProduct" @row-click="onProjectRowClick"></xm-project-select>
<el-link type="warning" slot="reference" v-if="!selProject||!selProject.id" icon="el-icon-search"><font style="font-size:14px;">{{filters.selProject?filters.selProject.name:'选择项目'}}</font></el-link>
<xm-project-select v-if="ptype==='0' && (!selProject||!selProject.id)" :auto-select="true" :xm-iteration="xmIteration" :xm-product="xmProduct" @row-click="onProjectRowClick"></xm-project-select>
<el-link type="warning" slot="reference" v-if="ptype==='0' && (!selProject||!selProject.id)" icon="el-icon-search"><font style="font-size:14px;">{{filters.selProject?filters.selProject.name:'选择项目'}}</font></el-link>
</el-popover>
<el-select v-model="filters.taskType" placeholder="请选择任务类型" clearable @change="changeTaskType">
@ -110,7 +110,7 @@
},
},
props: ["selProject",'isMultiSelect','xmProduct','xmIteration','checkScope'/**task/all/plan */,'queryScope'/**task/all/plan */,],
props: ["selProject",'isMultiSelect','xmProduct','xmIteration','checkScope'/**task/planTask/plan */,'queryScope'/**task/planTask/plan */,"ptype"],
watch: {
"selkey": function(val) {
// console.log("");
@ -238,7 +238,7 @@
params=this.getParams(params)
if(this.queryScope=='all'){
if(this.queryScope=='planTask'){
params.isTop="1"
params.withParents="1"
}else if(this.queryScope=='plan'){
@ -251,6 +251,9 @@
params.isTop="1"
params.withParents="1"
}
if(this.ptype){
params.ptype=this.ptype
}
getTask(params).then((res) => {
var tips=res.data.tips;
if(tips.isOk){

2
src/views/xm/core/xmTask/XmTaskListForProduct.vue

@ -1,6 +1,6 @@
<template>
<section>
<xm-task-mng :xm-product="xmProduct" work-item-type="task"></xm-task-mng>
<xm-task-mng :xm-product="xmProduct" ptype="1" ntype="0"></xm-task-mng>
</section>
</template>

42
src/views/xm/core/xmTask/XmTaskMng.vue

@ -772,9 +772,10 @@
>
<xm-task-add
:xm-project="currentProject"
:project-phase="currentProjectPhase"
:xm-product="xmProduct"
:xm-task="addForm"
:parent-task="parentTask"
:ptype="ptype"
:visible="addFormVisible"
@cancel="addFormVisible = false"
@submit="afterAddSubmit"
@ -1124,7 +1125,8 @@ export default {
"menuName",
"xmProduct",
"xmIteration",
"workItemType"//task/projectPlan/productPlan
"ptype",//0-1-all/
"queryScope",//planTask,task,plan,,
],
watch: {
selProject: function (oval, val) {
@ -1383,15 +1385,19 @@ export default {
params.orderBy = orderBys.join(",");
}
params=this.getParams(params)
if(this.workItemType=='projectPlan'){
if(this.queryScope==='planTask'){
params.isTop="1"
params.withParents="1"
}else if(this.workItemType=='productPlan'){
}else if(this.queryScope==='plan'){
params.isTop="1"
params.withParents="1"
}else{
params.ntype="1"
}else if(this.queryScope==='task'){
params.ntype="0"
}
if(this.ptype){
params.ptype=this.ptype
}
getTask(params)
.then((res) => {
var tips = res.data.tips;
@ -1579,14 +1585,26 @@ export default {
}
return true;
}else{
if(!this.filters.selProject || !this.filters.selProject.id){
this.$notify({
showClose: true,
message: "请先选择项目",
type: "warning",
});
return false;
if(this.ptype==='0'){
if(!this.filters.selProject || !this.filters.selProject.id){
this.$notify({
showClose: true,
message: "请先选择项目",
type: "warning",
});
return false;
}else if(this.ptype==='1'){
if( !this.xmProduct && this.xmProduct.id){
this.$notify({
showClose: true,
message: "请先选择产品",
type: "warning",
});
return false;
}
}
}
}
return true;

4
src/views/xm/core/xmTask/XmTaskMngBatch.vue

@ -345,7 +345,7 @@ export default {
},
},
props: ["selProject", "visible","workItemType","xmTasks"],
props: ["selProject", "visible","ptype","xmTasks","queryScope"],
watch: {
selProject: function (oval, val) {
this.filters.selProject = this.selProject;
@ -527,7 +527,7 @@ export default {
}
this.load.list=true
params=this.getParams(params)
if(this.workItemType=='projectPlan'){
if(this.ptype=='projectPlan'){
params.isTop = "1";
params.withParents = "1";
}else{

Loading…
Cancel
Save