diff --git a/src/api/problemmodify/index.js b/src/api/problemmodify/index.js index 372dfde..69d8768 100644 --- a/src/api/problemmodify/index.js +++ b/src/api/problemmodify/index.js @@ -27,7 +27,6 @@ const safetySummaryByProject=(deptId,roleType)=>{ }) } - //质量整改-安全分类汇总(按项目) const qualitySummaryByProject=(deptId,roleType)=>{ return request({ @@ -36,6 +35,17 @@ const qualitySummaryByProject=(deptId,roleType)=>{ }) } -export default{ - safetySummary,qualitySummary,safetySummaryByProject,qualitySummaryByProject +//项目监测预警查询,用于大屏项目概况 +const getMonitAndWarning=(deptId,projectId=0)=>{ + return request({ + url: `bgscreen/problemmodify/getMonitAndWarning?deptId=${deptId}&projectId=${projectId}`, + method: 'get' + }) +} + + + + +export default{ + safetySummary,qualitySummary,safetySummaryByProject,qualitySummaryByProject,getMonitAndWarning } diff --git a/src/api/project/index.js b/src/api/project/index.js index 2ecc7e6..4126f8a 100644 --- a/src/api/project/index.js +++ b/src/api/project/index.js @@ -20,10 +20,70 @@ const getProgressProjects=()=>{ }) }; -export default{ - findProjectByDept, - getProjectBuildNode, - getProgressProjects +const groupByProjectCategory=(cb)=>{ + request({ + url:`bgscreen/project/groupByProjectCategory`, + method: 'get' + }).then(res=>{ + let objs=(res.data||[]).map(it=>{ + return { + id:it.deptName, + label:it.projectName, + schedule:it.projectSchedule, + cnt:it.deptId + } + }); + const getItems=(id,schedule)=>{ + let tmps=objs.filter(d=>d.id==id && d.schedule==schedule); + if(tmps.length>0){ + return tmps[0]; + } + return { + id:id,schedule:schedule,cnt:0 + } + } + let ret1= [getItems(1,1),getItems(1,2)]; + let ret2= [getItems(2,1),getItems(2,2)]; + let ret3= [getItems(3,1),getItems(3,2)]; + let rets= [ + ret1,ret2,ret3 + ]; + if(cb){ + cb(rets); + } + }); +}; + +const groupByCategory=(deptId,type)=>{ + return request({ + url: `bgscreen/project/groupByCategory`, + method: 'post', + data:{ + deptId:deptId, + id:type + } + }) +} + +const groupByLevel=(deptId,type)=>{ + return request({ + url: `bgscreen/project/groupByLevel`, + method: 'post', + data:{ + deptId:deptId, + id:type + } + }) +} + + +export default{ + findProjectByDept, + getProjectBuildNode, + getProgressProjects, + groupByProjectCategory, + groupByCategory, + groupByLevel } diff --git a/src/components/project-overview-chart.js b/src/components/project-overview-chart.js index 7c9d833..1e38c40 100644 --- a/src/components/project-overview-chart.js +++ b/src/components/project-overview-chart.js @@ -1,7 +1,7 @@ import Vue from 'vue' Vue.component("project-overview-chart", { template: ` -
+
@@ -124,20 +124,23 @@ Vue.component("project-overview-chart", { title: { text: this.maintitle||total_datas, subtext: this.text, - x: "85", - y: "89", + textAlign:'center', + top:'top', + itemGap :10, textStyle: { color: "#0dd2fd", fontSize: 24, fontWeight: "bold", - align: "center", - width: "200px", + align: "center", }, subtextStyle: { color: "#a5b5f0", fontSize: 12, align: "center", }, + padding:[95,0,0,110], + left:'left' + }, tooltip: { trigger: 'item', diff --git a/src/components/rank-chart.js b/src/components/rank-chart.js index 28040b4..8ffe944 100644 --- a/src/components/rank-chart.js +++ b/src/components/rank-chart.js @@ -10,6 +10,9 @@ Vue.component("rank-chart", { height:{ type:Number }, + width:{ + type:Number + }, showval:{ type:Boolean, default:false @@ -119,7 +122,7 @@ Vue.component("rank-chart", { fontSize:'14', }, name: { - width: this.showval?280:300, + width: this.width?this.width:this.showval?280:300, color: '#c6d9fa', padding:[0,0,0,10], fontSize:'16', diff --git a/src/pages/components/MonitAndWarning.vue b/src/pages/components/MonitAndWarning.vue new file mode 100644 index 0000000..8d71fcd --- /dev/null +++ b/src/pages/components/MonitAndWarning.vue @@ -0,0 +1,137 @@ + + + + + \ No newline at end of file diff --git a/src/pages/index.vue b/src/pages/index.vue index 7836836..11fefd7 100644 --- a/src/pages/index.vue +++ b/src/pages/index.vue @@ -1,162 +1,202 @@ - + diff --git a/src/pages/index/indexDlg2.vue b/src/pages/index/indexDlg2.vue index 49ab5df..5aab8fa 100644 --- a/src/pages/index/indexDlg2.vue +++ b/src/pages/index/indexDlg2.vue @@ -9,24 +9,34 @@
- - - - - - - - - -
+ + + + + + + + + + + + + + + +
@@ -52,16 +62,7 @@ 目前进展:
{{ it.date }}
- - - 滞后事项: -
{{ it.porgress }}
-
- - 存在问题: -
{{ it.question }}
-
-
+
@@ -117,15 +118,7 @@
{{ it.date}}
-
-
- 目前进展: -
{{ it.porgress }}
-
-
- 目前存在问题: -
{{ it.question }}
-
+
@@ -361,20 +354,7 @@ export default { position: absolute; top: -40px; right: 100px; - - .svg-icon { - width: 40px !important; - height: 40px !important; - cursor: pointer; - *{ - fill: #fff; - } - &.active{ - *{ - fill: aqua; - } - } - } + } } .popup-project-introduction-min { diff --git a/src/pages/progress/indexDlg1.vue b/src/pages/progress/indexDlg1.vue index 2734201..504ceac 100644 --- a/src/pages/progress/indexDlg1.vue +++ b/src/pages/progress/indexDlg1.vue @@ -4,24 +4,34 @@
- - - - - - - - - -
+ + + + + + + + + + + + + + + +
@@ -176,21 +186,7 @@ export default { .font-size-tools { position: absolute; top: -40px; - right: 100px; - - .svg-icon { - width: 40px !important; - height: 40px !important; - cursor: pointer; - *{ - fill: #fff; - } - &.active{ - *{ - fill: aqua; - } - } - } + right: 100px; } } diff --git a/src/pages/progress/indexDlg3.vue b/src/pages/progress/indexDlg3.vue index c392128..d2647ff 100644 --- a/src/pages/progress/indexDlg3.vue +++ b/src/pages/progress/indexDlg3.vue @@ -2,7 +2,7 @@
- + + - - - + + + + - + + + + d="M839 875H735.3l-74.1-198.7H358.6L288.7 875H185l276.8-726h100.4L839 875zM632.1 594.3L522.3 292.4c-3.4-9.7-7.2-26.6-11.3-50.6h-2.3c-3.4 21.9-7.4 38.7-11.7 50.6L388.1 594.3h244z" + fill="#fff" p-id="3687"> +
+
@@ -126,6 +132,7 @@
暂无数据
+
@@ -273,19 +280,6 @@ export default { position: absolute; top: 18px; right: 400px; - - .svg-icon { - width: 40px !important; - height: 40px !important; - cursor: pointer; - - &.active { - * { - fill: aqua; - } - } - - } } .popup-project-introduction-details { diff --git a/src/pages/projectDetail.vue b/src/pages/projectDetail.vue index 41d2b75..c2b8b79 100644 --- a/src/pages/projectDetail.vue +++ b/src/pages/projectDetail.vue @@ -356,33 +356,7 @@
- - -
-

今日预警数

-
8
-
-
-

本周预警数

-
28
-
-
- -
-
-
预警类型
-
-
- -
-
-
+
@@ -397,8 +371,11 @@ import '../components/module/module-one-1-2' import '../components/background_video' import '../components/header' import '../components/staff-survey-chart' - +import MonitAndWarning from './components/MonitAndWarning.vue' export default { + components:{ + MonitAndWarning + }, data() { return { dept:null, diff --git a/src/pages/projectProgress.vue b/src/pages/projectProgress.vue index 8304635..f5b0d87 100644 --- a/src/pages/projectProgress.vue +++ b/src/pages/projectProgress.vue @@ -83,12 +83,12 @@ - +
-
在建项目(100)
-
拟建项目(20)
-
验收项目(10)
+
在建项目({{ getPrjCateCount(0) }})
+
拟建项目({{ getPrjCateCount(1) }})
+
前期项目({{ getPrjCateCount(2) }})
@@ -268,6 +268,7 @@ export default { }, data() { return { + elKey:0, //节点完成率 completionData:[ {name:"泾河新城荟锦坊二期",cnt:50,step:'施工阶段'}, @@ -282,8 +283,8 @@ export default { pushText:'在建项目', pushCount:35, pushData:[ - { text:"正常推进项目", value:13 }, - { text:"进度滞后项目", value:22 }, + { text:"正常推进项目", value:0 }, + { text:"进度滞后项目", value:1 }, ], costIndex:0, direction:'right', @@ -328,18 +329,18 @@ export default { prjInfo:{}, scheduleInfo:null, projects:[], - + projectCategory:[] } }, created() { this.init() }, - mounted() { - this.$bus.$on("projectChange",res=>{ + mounted() { + this.$bus.$on("projectChange",res=>{ this.loadProjectConstructionProgress(); }); this.$bus.$on("loadProjects",prjs=>{ - this.projects=prjs; + this.projects=prjs; }) this.$bus.$on("deptChange",dept=>{ this.$api.quarterlyAssess.currentListByDept(dept.id).then(d=>{ @@ -396,26 +397,12 @@ export default { doPushNav(n,t){ this.pushNav=n; this.pushText=t; - this.pushCount=[35,21,0][n]; this.pushUrl=['images/company_6.png','images/company_5.png','images/company_4.png'][n] - if(n==0){ - this.pushData=[ - { text:"正常推进项目", value:13 }, - { text:"进度滞后项目", value:22 } - ] - } - if(n==1){ - this.pushData=[ - { text:"正常推进项目", value:4 }, - { text:"进度滞后项目", value:17 } - ] - } - if(n==2){ - this.pushData=[ - { text:"正常推进项目", value:0 }, - { text:"进度滞后项目", value:0 } - ] - } + this.pushCount=this.getPrjCateCount(n); + let item=this.projectCategory.length>n?this.projectCategory[n]:null; + this.pushData[0].value=item && item.length>0?item[0].cnt:0; + this.pushData[1].value=item && item.length>1?item[1].cnt:0; + this.elKey++; }, modifyLeftBtn(){ this.direction = 'left' @@ -484,7 +471,20 @@ export default { planMouseout(){ this.planInterval=setInterval(this.manufacturingPlanRoll,5000); }, - + getPrjCateCount(n){ + if(this.projectCategory.length0){ + let sum=0; + tmps.forEach(d=>{ + sum+=d.cnt; + }) + return sum; + } + return 0; + }, init(){ if(localStorage.length == 0){ var company = {text:'城投公司',id:1,type:1} @@ -498,7 +498,14 @@ export default { this.localStorage1 = JSON.parse(localStorage.getItem("company")) this.localStorage2 = JSON.parse(localStorage.getItem("project")) } - + this.$api.project.groupByProjectCategory(datas=>{ + this.projectCategory=datas; + this.pushCount=this.getPrjCateCount(0); + let item=this.projectCategory.length>0?this.projectCategory[0]:null; + this.pushData[0].value=item && item.length>0?item[0].cnt:0; + this.pushData[1].value=item && item.length>1?item[1].cnt:0; + this.elKey++; + }); //设备概况点击事件定时器 this.overviewInterval = setInterval(this.overviewClick,5000); //重大节点预期预警 diff --git a/src/pages/style/index.less b/src/pages/style/index.less index 552d6c0..6d35e22 100644 --- a/src/pages/style/index.less +++ b/src/pages/style/index.less @@ -1,3 +1,43 @@ .el-tooltip__popper{ max-width: 50%; +} +.font-size-tools{ +.set-font-size{ + cursor: pointer; + position: relative; + + &.active{ + color: aqua; + .svg-icon{ + *{ + fill: aqua; + } + } + } + .svg-icon{ + width: 40px !important; + height: 40px !important; + } + &.font-size2{ + &::after{ + content: "+"; + font-style: normal; + right: 0px; + font-weight: bold; + position: absolute; + font-size: 16px !important; + } + margin-right:4px; + } + &.font-size0{ + &::after{ + content: "-"; + font-style: normal; + right: 0px; + font-weight: bold; + position: absolute; + font-size: 16px !important; + } + } +} } \ No newline at end of file