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 @@
+
+
+
+
+
今日预警数
+
{{ todayCnt }} 个
+
+
+
本周预警数
+
{{ weekCnt}} 个
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
项目数
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
![]()
-
-
-
-
{{laborPersonnelTotal}} 人
-
{{staffText}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{prjPrcessTotal}} 个
-
{{prjPrcessText}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

-
-
- 西咸新区暨泾河新城2023年“安全生产月”启动仪式
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
![]()
+
+
+
+
{{ laborPersonnelTotal }} 人
+
+
{{ staffText }}
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
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 @@
+
+
+
+
+
+
+
+
+
+
-
-
目前进展:
-
{{ 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 @@
-
项目形象进度
+
项目形象进度
@@ -21,28 +21,33 @@
+
@@ -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 @@
-
-
-
-
-
-
-
-
-
-
+
@@ -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