From d370ebf7b13086b222521eb39a43ccfa8b355e00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Sun, 6 Mar 2022 18:32:41 +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 --- src/api/xm/core/xmProject.js | 72 +++++++++++++++++++ src/views/xm/core/xmProject/XmProjectEdit.vue | 12 +--- src/views/xm/core/xmProject/XmProjectMng.vue | 58 +++++++++++---- .../xm/core/xmProject/XmProjectOverview.vue | 8 +-- 4 files changed, 121 insertions(+), 29 deletions(-) diff --git a/src/api/xm/core/xmProject.js b/src/api/xm/core/xmProject.js index 69f72d81..128cb97b 100644 --- a/src/api/xm/core/xmProject.js +++ b/src/api/xm/core/xmProject.js @@ -46,3 +46,75 @@ export const createProjectCode = params => { return axios.post(`${base}/xm/core/ export const unDelXmProject = params => { return axios.post(`${base}/xm/core/xmProject/unDel`, params); }; +export const getDefOptions= ()=>{ + + var options={ + "projectStatus" : [ { + "optionValue" : "0", + "optionName" : "初始" + }, { + "optionValue" : "1", + "optionName" : "售前" + }, { + "optionValue" : "2", + "optionName" : "立项中" + }, { + "optionValue" : "3", + "optionName" : "实施中" + }, { + "optionValue" : "4", + "optionName" : "暂停中" + }, { + "optionValue" : "5", + "optionName" : "结项中" + }, { + "optionValue" : "6", + "optionName" : "已结项" + }, { + "optionValue" : "7", + "optionName" : "售后" + }, { + "optionValue" : "8", + "optionName" : "已完成" + }, { + "optionValue" : "9", + "optionName" : "已关闭" + } ], + "projectType" : [ { + "optionValue" : "0", + "optionName" : "it-新建-瀑布" + }, { + "optionValue" : "2", + "optionName" : "it-新建-敏捷" + }, { + "optionValue" : "1", + "optionName" : "it-存量-瀑布" + } ], + "priority" : [ { + "optionValue" : "zyx", + "optionName" : "最优先" + }, { + "optionValue" : "yb", + "optionName" : "一般优先" + }, { + "optionValue" : "ksh", + "optionName" : "可稍缓" + } ], + "urgencyLevel" : [ { + "optionValue" : "1", + "optionName" : "非常紧急" + }, { + "optionValue" : "3", + "optionName" : "一般紧急" + }, { + "optionValue" : "2", + "optionName" : "紧急" + }, { + "optionValue" : "4", + "optionName" : "低" + } ] + } + return options; +} + + diff --git a/src/views/xm/core/xmProject/XmProjectEdit.vue b/src/views/xm/core/xmProject/XmProjectEdit.vue index 5a4f3a4e..c26d58e8 100644 --- a/src/views/xm/core/xmProject/XmProjectEdit.vue +++ b/src/views/xm/core/xmProject/XmProjectEdit.vue @@ -168,7 +168,7 @@ import config from "@/common/config"; //全局公共库 import { listOption } from '@/api/mdp/meta/itemOption';//下拉框数据查询 - import { editXmProject } from '@/api/xm/core/xmProject'; + import { editXmProject,getDefOptions } from '@/api/xm/core/xmProject'; import { uploadBase64 } from '@/api/mdp/arc/image'; import { mapGetters } from 'vuex'; @@ -275,8 +275,7 @@ totalReceivables:function(){ return this.editForm.totalReceivables }, - calcProjectStatusStep(){ - debugger; + calcProjectStatusStep(){ if(this.options['projectStatus'] && this.editForm){ var index=this.options['projectStatus'].findIndex(i=>{ if(i.optionValue==this.editForm.status){ @@ -367,12 +366,7 @@ filters: { ids: [], }, - options:{ - projectType:[], - urgencyLevel:[], - priority:[], - projectStatus:[], - },//下拉选择框的所有静态数据 params=[{categoryId:'0001',itemCode:'sex'}] 返回结果 {'sex':[{optionValue:'1',optionName:'男',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'女',seqOrder:'2',fp:'',isDefault:'0'}]} + options: getDefOptions(),//下拉选择框的所有静态数据 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, add: false, del: false, edit: false },//查询中... editFormRules: { name: [{ diff --git a/src/views/xm/core/xmProject/XmProjectMng.vue b/src/views/xm/core/xmProject/XmProjectMng.vue index df3c89ce..64f04586 100644 --- a/src/views/xm/core/xmProject/XmProjectMng.vue +++ b/src/views/xm/core/xmProject/XmProjectMng.vue @@ -104,29 +104,38 @@ 复制 删除 -
-
- {{p.totalBugCnt==null?0:p.totalBugCnt}} - 缺陷 -
-
- {{p.totalFileCnt==null?0:p.totalFileCnt}} - 文档 +
+ +
+ + {{p.totalActWorkload==null?0:parseInt(p.totalActWorkload/8)}} + / + {{p.totalPlanWorkload==null?0:parseInt(p.totalPlanWorkload/8)}} + + 工作量
-
+
{{p.totalCompleteTaskCnt==null?0:p.totalCompleteTaskCnt}} / {{p.totalTaskCnt==null?0:p.totalTaskCnt}} - 任务完成 + 任务 +
+
+ + {{p.totalClosedBugCnt==null?0:p.totalClosedBugCnt}} + / + {{p.totalBugCnt==null?0:p.totalBugCnt}} + + 缺陷
@@ -270,8 +279,8 @@ import util from '@/common/js/util';//全局公共库 //import Sticky from '@/components/Sticky' // 粘性header组件 import config from "@/common/config"; //全局公共库 - //import { listOption } from '@/api/mdp/meta/itemOption';//下拉框数据查询 - import { listXmProject, editStatus, delXmProject, batchDelXmProject,copyTo,createProjectCode } from '@/api/xm/core/xmProject'; + import { listOption } from '@/api/mdp/meta/itemOption';//下拉框数据查询 + import { listXmProject, editStatus, delXmProject, batchDelXmProject,copyTo,createProjectCode ,getDefOptions} from '@/api/xm/core/xmProject'; import { addXmMyFocus , delXmMyFocus } from '@/api/xm/core/xmMyFocus'; import XmProjectAdd from './XmProjectAdd';//新增界面 import XmProjectEdit from './XmProjectEdit';//修改界面 @@ -334,7 +343,7 @@ }, load:{ list: false, edit: false, del: false, add: false },//查询中... sels: [],//列表选中数据 - options:{},//下拉选择框的所有静态数据 params=[{categoryId:'0001',itemCode:'sex'}] 返回结果 {'sex':[{optionValue:'1',optionName:'男',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'女',seqOrder:'2',fp:'',isDefault:'0'}]} + options: getDefOptions(),//下拉选择框的所有静态数据 params=[{categoryId:'0001',itemCode:'sex'}] 返回结果 {'sex':[{optionValue:'1',optionName:'男',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'女',seqOrder:'2',fp:'',isDefault:'0'}]} addFormVisible: false,//新增xmProject界面是否显示 //新增xmProject界面初始化数据 @@ -765,6 +774,18 @@ } this.$notify({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' }); }) + }, + formatProjectStatus(status){ + if(this.options['projectStatus'] && this.options['projectStatus'].length>0 ){ + var sts=this.options['projectStatus'].find(i=>i.optionValue==status) + if(sts){ + return sts.optionName + }else{ + return status; + } + }else{ + return status; + } } /**end 自定义函数请在上面加**/ @@ -784,6 +805,15 @@ this.filters.productName=this.$route.params.productName; } this.$nextTick(() => { + listOption([{categoryId:'all',itemCode:'projectType'},{categoryId:'all',itemCode:'urgencyLevel'},{categoryId:'all',itemCode:'priority'},{categoryId:'all',itemCode:'projectStatus'}] ).then(res=>{ + if(res.data.tips.isOk){ + + this.options['projectType']=res.data.data.projectType + this.options['urgencyLevel']=res.data.data.urgencyLevel + this.options['priority']=res.data.data.priority + this.options['projectStatus']=res.data.data.projectStatus + } + }); this.maxTableHeight = util.calcTableMaxHeight(this.$refs.table1.$el); this.showInfo = false; this.getXmProjects(); diff --git a/src/views/xm/core/xmProject/XmProjectOverview.vue b/src/views/xm/core/xmProject/XmProjectOverview.vue index 318d7183..f1c58501 100644 --- a/src/views/xm/core/xmProject/XmProjectOverview.vue +++ b/src/views/xm/core/xmProject/XmProjectOverview.vue @@ -267,6 +267,7 @@ import util from "@/common/js/util"; // 全局公共库 import { mapGetters } from "vuex"; import { listOption } from '@/api/mdp/meta/itemOption';//下拉框数据查询 + import { getDefOptions} from '@/api/xm/core/xmProject'; export default { computed: { @@ -365,12 +366,7 @@ export default { return { isActive: true, maxTableHeight:300, - options:{ - projectType:[], - urgencyLevel:[], - priority:[], - projectStatus:[], - },//下拉选择框的所有静态数据 params=[{categoryId:'0001',itemCode:'sex'}] 返回结果 {'sex':[{optionValue:'1',optionName:'男',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'女',seqOrder:'2',fp:'',isDefault:'0'}]} + options: getDefOptions(),//下拉选择框的所有静态数据 params=[{categoryId:'0001',itemCode:'sex'}] 返回结果 {'sex':[{optionValue:'1',optionName:'男',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'女',seqOrder:'2',fp:'',isDefault:'0'}]} }; },