Browse Source

优化

master
陈裕财 4 years ago
parent
commit
746f6086cc
  1. 4
      config/index.js
  2. 12
      src/views/xm/core/xmProduct/XmProductInfo.vue
  3. 8
      src/views/xm/core/xmProject/XmProjectInfo.vue
  4. 2067
      src/views/xm/core/xmTask/XmPhase.vue
  5. 65
      src/views/xm/core/xmTask/XmPlan.vue
  6. 60
      src/views/xm/core/xmTask/XmTaskMng.vue

4
config/index.js

@ -10,7 +10,7 @@ module.exports = {
assetsSubDirectory: '',
assetsPublicPath: '/',
proxyTable: {
/**
'/api/m1/xm': {
target: 'http://localhost:7067',
changeOrigin: true,
@ -18,7 +18,7 @@ module.exports = {
'^/api/m1/xm': '/xm'
}
},
/**
'/api/m1/sys': {
target: 'http://localhost:7015',
changeOrigin: true,

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

@ -25,10 +25,11 @@
<el-menu-item label="需求" index="需求">
<span slot="title"><i class="el-icon-document" ></i>需求</span>
</el-menu-item>
<!--
<el-menu-item index="项目任务">
<span slot="title"><i class="el-icon-s-operation"></i>任务</span>
</el-menu-item>
-->
<!--
<el-submenu index="任务">
<template slot="title"><i class="el-icon-s-operation"></i>任务</template>
@ -69,10 +70,11 @@
<span slot="title"><i class="el-icon-video-camera"></i>项目计划</span>
</el-menu-item>
</el-submenu >
-->
<el-menu-item index="项目计划">
<span slot="title"><i class="el-icon-odometer"></i>计划</span>
</el-menu-item>
-->
<el-submenu index="财务" class="hidden-sm-and-down">
<template slot="title"><i class="el-icon-coin"></i>财务</template>
<el-menu-item index="合同管理">
@ -164,9 +166,9 @@
<xm-group-mng v-if="infotype=='项目团队'" pgClass="0" :xm-product="xmProduct" key="projectGroup"></xm-group-mng>
<xm-group-mng v-if="infotype=='产品团队'" pgClass="1" :xm-product="xmProduct" key="productGroup"></xm-group-mng>
<xm-file-mng v-if="infotype=='文档'" :xm-product="xmProduct"></xm-file-mng>
<xm-task-mng v-if="infotype=='产品计划'" ref="productPlan" ptype="1" queryScope="planTask" :xm-product="xmProduct" key="productPlan"></xm-task-mng>
<xm-plan v-if="infotype=='产品计划'" ref="productPlan" ptype="1" queryScope="planTask" :xm-product="xmProduct" key="productPlan"></xm-plan>
<xm-task-mng v-if="infotype=='项目计划'" ref="projectPlan" ptype="0" queryScope="planTask" :xm-product="xmProduct" key="projectPlan"></xm-task-mng>
<xm-plan v-if="infotype=='项目计划'" ref="projectPlan" ptype="0" queryScope="planTask" :xm-product="xmProduct" key="projectPlan"></xm-plan>
<!--<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>
@ -195,6 +197,7 @@
import { mapGetters } from 'vuex';
import xmTaskMng from '../xmTask/XmTaskMng';
import xmPlan from '../xmTask/XmPlan';
import xmGroupMng from '../xmGroup/XmGroupMng';
import xmGroupSelect from '../xmGroup/XmGroupSelect';
@ -450,6 +453,7 @@
XmProjectForLinkComplex,
XmProjectForLink,
XmReport,
xmPlan,
//
},
mounted() {

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

@ -24,9 +24,11 @@
<el-menu-item index="产品" class="hidden-sm-and-down">
<span slot="title"><i class="el-icon-s-flag" ></i>产品</span>
</el-menu-item>
<!--
<el-menu-item label="需求" index="需求">
<span slot="title"><i class="el-icon-document"></i>需求</span>
</el-menu-item>
-->
<el-menu-item index="任务">
<span slot="title"><i class="el-icon-s-operation"></i>任务</span>
</el-menu-item>
@ -127,7 +129,7 @@
<xm-question v-if="infotype=='缺陷'" :qtype="'1'" :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" ptype="0" queryScope="planTask" :sel-project="selProject" key="projectPlan"></xm-task-mng>
<xm-plan v-if="infotype=='计划'" ref="projectPlan" ptype="0" queryScope="planTask" :sel-project="selProject" key="projectPlan"></xm-plan>
<!-- <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>
@ -167,7 +169,6 @@
import xmBudget from './XmProjectBudgetCost';
import xmContract from '../xmContract/XmContractMng';
import xmEnvList from '../xmProjectEnvList/XmProjectEnvListMng';
import xmPhaseMng from '../xmPhase/XmPhaseMng';
import xmMenuMng from '../xmMenu/XmMenuMng';
import xmMenuWithPlan from '../xmMenu/XmMenuWithPlan';
import xmProjectStateMng from '../xmProjectState/XmProjectStateMng';
@ -177,6 +178,7 @@
import XmProductForLinkComplex from '../xmProduct/XmProductForLinkComplex.vue';
import XmReport from '@/views/xm/rpt/reportIndex';
import XmPlan from '../xmTask/XmPlan.vue';
export default {
props: ["selProject","visible"],
@ -375,7 +377,6 @@
},//end methods
components: {
xmTaskMng,
xmPhaseMng,
xmGroupMng,
xmExchange,
xmQuestion,
@ -396,6 +397,7 @@
XmProjectOverviewComplex,
XmProductForLinkComplex,
XmReport,
XmPlan,
//
},
mounted() {

2067
src/views/xm/core/xmTask/XmPhase.vue
File diff suppressed because it is too large
View File

65
src/views/xm/core/xmTask/XmPlan.vue

@ -0,0 +1,65 @@
<template>
<section>
<el-row>
<el-col :span="8">
<xm-phase :xm-product="xmProduct" :sel-project="selProject" queryScope="plan" @row-click="onPhaseRowClick"></xm-phase>
</el-col>
<el-col :span="16">
<xm-task-mng :xm-product="xmProduct" :sel-project="selProject" queryScope="task" :parent-task="parentTask"></xm-task-mng>
</el-col>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
import { initSimpleDicts } from '@/api/mdp/meta/item';//
import { mapGetters } from 'vuex'
import XmProjectSelect from '@/views/xm/core/components/XmProjectSelect';//
import XmPhase from '@/views/xm/core/xmTask/XmPhase';//
import XmTaskMng from '@/views/xm/core/xmTask/XmTaskMng';//
export default {
components: {
XmProjectSelect,XmPhase,XmTaskMng
},
props:['xmProduct','selProject'],
computed: {
...mapGetters([
'userInfo','roles'
]),
},
watch: {
},
data() {
return {
parentTask:null,
xmProject:null,
dicts:{},// params=[{categoryId:'0001',itemCode:'sex'}] {'sex':[{optionValue:'1',optionName:'',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'',seqOrder:'2',fp:'',isDefault:'0'}]}
load:{ list: false, edit: false, del: false, add: false },//...
dateRanger:[],
maxTableHeight:300,
visible:false,
}//end return
},//end data
methods: {
onPhaseRowClick(task){
this.parentTask=task
}
},//end method
mounted() {
}//end mounted
}
</script>
<style scoped>
</style>

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

@ -112,48 +112,11 @@
<span style="float:right;">
<el-popover
placement="top-start"
title="选择创建计划/任务的方式"
title="选择任务的方式"
width="300"
trigger="hover"
>
<el-row>
<el-col :span="24" style="padding-top: 5px">
<div class="icon" :style="{backgroundColor: '#E6A23C'}">
<i :class=" 'el-icon-odometer' " ></i>
</div>
<el-button
v-if="isTaskCenter != '1' && isMy != '1'"
@click="showMenu"
type="primary"
icon="el-icon-plus"
>由用户故事快速创建计划 (推荐)</el-button
>
</el-col>
<el-col :span="24" style="padding-top: 5px">
<div class="icon" :style="{backgroundColor: '#E6A23C'}">
<i :class=" 'el-icon-odometer' " ></i>
</div>
<el-button
v-if="isTaskCenter != '1' && isMy != '1'"
@click="showTaskTemplate"
icon="el-icon-plus"
>从模板快速导入计划 </el-button
>
</el-col>
<el-col :span="24" style="padding-top: 5px">
<div class="icon" :style="{backgroundColor: '#E6A23C'}">
<i :class=" 'el-icon-odometer' " ></i>
</div>
<el-button
v-if="isTaskCenter != '1' && isMy != '1'"
@click="showAdd('1')"
icon="el-icon-plus"
>直接创建计划</el-button
>
</el-col>
<el-col :span="24" style="padding-top: 5px">
<div class="icon" :style="{backgroundColor: '#409EFF'}">
<i :class=" 'el-icon-s-operation' " ></i>
@ -193,9 +156,6 @@
</el-row>
<el-button
slot="reference"
v-if="
queryScope=='plan'||queryScope=='planTask'
"
type="primary"
round
icon="el-icon-plus"
@ -408,7 +368,7 @@
prop="name"
class-name="title"
fixed="left"
label="名称(点击详情)"
label="任务名称"
min-width="300" show-overflow-tooltip
>
<template slot-scope="scope">
@ -421,10 +381,7 @@
<div class="tool-bar">
<span class="u-btn">
<el-button v-if="scope.row.ntype==='1'" @click="showSubAdd( scope.row,scope.$index,'0')" icon="el-icon-plus" title="新建任务" circle plain size="mini"> </el-button>
<el-button v-if="scope.row.ntype==='1'" :style="{backgroundColor: '#E6A23C'}" @click="showSubAdd( scope.row,scope.$index,'1')" icon="el-icon-plus" title="新建计划" circle plain size="mini"> </el-button>
<el-button v-if="scope.row.ntype==='0'" @click="showEdit( scope.row,scope.$index)" icon="el-icon-edit" title="编辑任务" circle plain size="mini"> </el-button>
<el-button @click="showEdit( scope.row,scope.$index)" icon="el-icon-edit" title="编辑任务" circle plain size="mini"> </el-button>
</span>
</div>
</template>
@ -949,7 +906,6 @@ import xmExecuserMng from "../xmTaskExecuser/XmTaskExecuserForTask";
import xmSkillMng from "../xmTaskSkill/XmTaskSkillMng";
import skillMng from "@/views/xm/core/skill/skillMng";
import { batchAddSkill } from "@/api/xm/core/xmTaskSkill";
import xmPhaseMng from "../xmPhase/XmPhaseSelect";
import { sn } from "@/common/js/sequence";
import xmTaskTemplateMng from "../xmTaskTemplate/XmTaskTemplateMng";
import xmExchangeMng from "../xmExchange/XmExchangeMng";
@ -1009,6 +965,7 @@ export default {
},
props: [
"parentTask",
"selProject",
"isTaskCenter",
"isMy",
@ -1040,6 +997,9 @@ export default {
xmIteration: function () {
this.getXmTasks();
},
"parentTask.id":function(){
this.searchXmTasks();
}
},
data() {
const beginDate = new Date();
@ -1172,7 +1132,6 @@ export default {
skillIds: [],
taskSkills: [],
taskTemplateVisible: false,
parentTask: null,
projectInfoVisible: false,
menuVisible: false,
menuDetailVisible: false,
@ -1547,7 +1506,6 @@ export default {
if(!this.checkCanAdd()){
return;
}
this.parentTask = null;
this.addForm.ntype=ntype;
this.addFormVisible = true;
},
@ -2307,6 +2265,9 @@ export default {
if(this.queryScope=="planTask"||this.queryScope=='plan'){
params.lvls=this.filters.lvls
}
if(this.parentTask && this.parentTask.id){
params.parentTaskid=this.parentTask.id
}
return params;
},
loadXmTaskLazy(tree, treeNode, resolve) {
@ -2526,7 +2487,6 @@ export default {
xmExecuserMng,
xmSkillMng,
skillMng,
xmPhaseMng,
xmTaskTemplateMng,
XmProjectSelect,
xmExchangeMng,

Loading…
Cancel
Save