update code
parent
db3b88db30
commit
5f33fc5fc5
|
@ -13,7 +13,11 @@
|
|||
<script src="https://cdn.makalu.cc/js/vue/vue.js"></script>
|
||||
<script src="https://unpkg.com/element-ui@2.15.13/lib/index.js"></script>
|
||||
<script src="https://cdn.makalu.cc/js/jquery/3.5.1/jquery.min.js"></script>
|
||||
<script crossorigin="anonymous" integrity="sha384-gb8mitZ44MWVFB3GKzmtx1OCjOh3Cj4mgusyTvNzl1Nu31l0em1FrApJindwVAe0" src="https://lib.baomitu.com/echarts/4.2.1/echarts.min.js"></script>
|
||||
<script src="./js/echarts.min.js"></script>
|
||||
<!--
|
||||
<script crossorigin="anonymous" integrity="sha384-gb8mitZ44MWVFB3GKzmtx1OCjOh3Cj4mgusyTvNzl1Nu31l0em1FrApJindwVAe0"
|
||||
src="https://lib.baomitu.com/echarts/4.2.1/echarts.min.js"></script>
|
||||
-->
|
||||
<script src="https://cdn.makalu.cc/js/echarts/china.js"></script>
|
||||
<script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&&type=webgl&ak=6zAD8CIavtzWnkGg0a7roush5maGMIPn"></script>
|
||||
<style type="text/css">
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -17,6 +17,7 @@ import materialSeal from './materialSeal/index'
|
|||
import costOut from './costOut/index'
|
||||
import checkDetection from './checkDetection/index'
|
||||
import video from './video/index'
|
||||
import plan from './plan/index'
|
||||
import {axios,download} from '@/utils/request'
|
||||
export default {
|
||||
project,
|
||||
|
@ -39,5 +40,6 @@ export default {
|
|||
checkDetection,
|
||||
http:axios,
|
||||
video,
|
||||
plan,
|
||||
downFile:download
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
|
||||
import request from '@/utils/request'
|
||||
|
||||
const listAllTop3=()=>{
|
||||
return request({
|
||||
url: `bgscreen/projectPlan/listAllTop3`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
const listAll=(type)=>{
|
||||
return request({
|
||||
url: `bgscreen/projectPlan/listAll/${type}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export default{
|
||||
listAllTop3,
|
||||
listAll
|
||||
}
|
|
@ -33,9 +33,13 @@ Vue.component("staff-survey-chart", {
|
|||
init(){
|
||||
this.getChartData()
|
||||
},
|
||||
chartClick(p){
|
||||
this.$emit("chart-click",p);
|
||||
},
|
||||
getChartData(){
|
||||
//品类金额占比 饼图
|
||||
var chChart = echarts.init(this.$refs.chart);
|
||||
chChart.on("click",this.chartClick)
|
||||
this.echart(chChart,this.data)
|
||||
},
|
||||
echart(chChart,chartData){
|
||||
|
@ -93,6 +97,7 @@ Vue.component("staff-survey-chart", {
|
|||
],
|
||||
yAxis: [
|
||||
{
|
||||
triggerEvent:true,
|
||||
type: 'category',
|
||||
axisLabel: {
|
||||
show: false, //让Y轴数据不显示
|
||||
|
@ -108,6 +113,7 @@ Vue.component("staff-survey-chart", {
|
|||
},
|
||||
data: [],
|
||||
},{
|
||||
triggerEvent:true,
|
||||
show: false,
|
||||
data: [],
|
||||
axisLine: {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div class="my-dialog">
|
||||
<transition name="el-zoom-in-top">
|
||||
<div class="popup-project-introduction-max" v-show="showDlg">
|
||||
<div class="popup-project-introduction-min" :style="{ 'width': width, 'height': height }">
|
||||
<div class="popup-project-introduction-min" :style="{ 'width': width, 'height': height }" v-loading="loading">
|
||||
<div class="popup-project-introduction-con">
|
||||
<div class="popup-project-introduction-title">
|
||||
<div style="width: 100%;">
|
||||
|
@ -43,6 +43,10 @@ export default {
|
|||
className:{
|
||||
type:String,
|
||||
default:'',
|
||||
},
|
||||
loading:{
|
||||
type:Boolean,
|
||||
default:false,
|
||||
}
|
||||
},
|
||||
data() {
|
||||
|
|
|
@ -29,7 +29,8 @@
|
|||
:maintitle="overviewTotal" :legend-opt="legendOpt1" :typedata="typeDistributionData"
|
||||
:text="overviewText" :height="230"></project-overview-chart>
|
||||
|
||||
<rank-chart :data="availabilityData" :showval="true" :height="300" :width="projectCategoryWidth"></rank-chart>
|
||||
<rank-chart :data="availabilityData" :showval="true" :height="300"
|
||||
:width="projectCategoryWidth"></rank-chart>
|
||||
|
||||
</module-one-2-1>
|
||||
<module-one-1-1 label="安全/质量管理">
|
||||
|
@ -37,8 +38,9 @@
|
|||
<div :class="qualityNav == 0 ? 'active' : ''" @click="qualityNavClick(0)">安全管理</div>
|
||||
<div :class="qualityNav == 1 ? 'active' : ''" @click="qualityNavClick(1)">质量管理</div>
|
||||
</div>
|
||||
<project-overview-chart :sp="'\n'" :maintitle="qualityNavTotal" :legend-opt="legendOpt2" :key="elKey"
|
||||
:typedata="dangersDatas" :text="qualityNavTitle" :height="220" style="top:0px"></project-overview-chart>
|
||||
<project-overview-chart :sp="'\n'" :maintitle="qualityNavTotal" :legend-opt="legendOpt2"
|
||||
:key="elKey" :typedata="dangersDatas" :text="qualityNavTitle" :height="220"
|
||||
style="top:0px"></project-overview-chart>
|
||||
</module-one-1-1>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
@ -75,13 +77,17 @@
|
|||
<el-col :span="12" style="position: relative;">
|
||||
<module-one-1-1 label="项目进度汇总">
|
||||
<img src="images/icon2001.png"
|
||||
style="position: absolute;cursor: pointer;right: 13px;top: 12px;" @click="doShowDlg2">
|
||||
style="position: absolute;cursor: pointer;right: 13px;top: 12px;"
|
||||
@click="doShowDlg2">
|
||||
<div class="warning-info-title" style="padding-left: 20px;">
|
||||
<div :class="prjProcessNav == 1 ? 'active' : ''" @click="doPrjProcess(1, '在建项目')">在建项目({{ getPrjCateCount(0) }})
|
||||
<div :class="prjProcessNav == 1 ? 'active' : ''" @click="doPrjProcess(1, '在建项目')">
|
||||
在建项目({{ getPrjCateCount(0) }})
|
||||
</div>
|
||||
<div :class="prjProcessNav == 2 ? 'active' : ''" @click="doPrjProcess(2, '拟建项目')">拟建项目({{ getPrjCateCount(1) }})
|
||||
<div :class="prjProcessNav == 2 ? 'active' : ''" @click="doPrjProcess(2, '拟建项目')">
|
||||
拟建项目({{ getPrjCateCount(1) }})
|
||||
</div>
|
||||
<div :class="prjProcessNav == 4 ? 'active' : ''" @click="doPrjProcess(4, '完成项目')">完成项目({{ getPrjCateCount(3) }})
|
||||
<div :class="prjProcessNav == 4 ? 'active' : ''" @click="doPrjProcess(4, '完成项目')">
|
||||
完成项目({{ getPrjCateCount(3) }})
|
||||
</div>
|
||||
</div>
|
||||
<el-row>
|
||||
|
@ -136,7 +142,7 @@
|
|||
</el-col>
|
||||
<el-col :span="16" :key="elSumKey">
|
||||
<staff-survey-chart :height="220" :unit="'个'" :data="prjPrcessData"
|
||||
:width="140"></staff-survey-chart>
|
||||
:width="140" @chart-click="planSummaryChartClick"></staff-survey-chart>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</module-one-1-1>
|
||||
|
@ -165,7 +171,9 @@
|
|||
<div class="glr-title">开累产值</div>
|
||||
<div class="labour-education">
|
||||
<div style="transform: scale(0.8);margin-left:-20px">
|
||||
<people-number :number="numberWithCommas((sumCost.totalMonth*1.0||0).toFixed(2))||'0.00'" unit="万元"></people-number>
|
||||
<people-number
|
||||
:number="numberWithCommas((sumCost.totalMonth * 1.0 || 0).toFixed(2)) || '0.00'"
|
||||
unit="万元"></people-number>
|
||||
</div>
|
||||
<div class="survey_content" style="position: absolute;right: 15px;top: -4px;">
|
||||
<div class="survey_content_img labour-education_bgd">
|
||||
|
@ -184,14 +192,18 @@
|
|||
<div class="glr-title">年度产值</div>
|
||||
<div class="labour-education">
|
||||
<div style="transform: scale(0.8);margin-left:-20px">
|
||||
<people-number :number="numberWithCommas((sumCost.curYear*1.0||0).toFixed(2))||'0.00'" unit="万元"></people-number>
|
||||
<people-number
|
||||
:number="numberWithCommas((sumCost.curYear * 1.0 || 0).toFixed(2)) || '0.00'"
|
||||
unit="万元"></people-number>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="glr-title">月度产值</div>
|
||||
<div class="labour-education">
|
||||
<div style="transform: scale(0.8);margin-left:-20px">
|
||||
<people-number :number="numberWithCommas((sumCost.curMonth*1.0||0).toFixed(2))||'0.00'" unit="万元"></people-number>
|
||||
<people-number
|
||||
:number="numberWithCommas((sumCost.curMonth * 1.0 || 0).toFixed(2)) || '0.00'"
|
||||
unit="万元"></people-number>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -492,6 +504,24 @@ export default {
|
|||
});
|
||||
},
|
||||
methods: {
|
||||
planSummaryChartClick(p){
|
||||
let idx=0;
|
||||
if(p.event.target.parent.style && p.event.target.parent.style.text){
|
||||
if(p.event.target.parent.style.text.includes("正常推进项目")){
|
||||
idx=2;
|
||||
}
|
||||
if(p.event.target.parent.style.text.includes("进度滞后项目")){
|
||||
idx=1;
|
||||
}
|
||||
|
||||
}else{
|
||||
idx=p.seriesIndex;
|
||||
}
|
||||
|
||||
if(idx==1||idx==2){
|
||||
this.$refs.dlg2.showDetailDialog(this.prjProcessNav,idx);
|
||||
}
|
||||
},
|
||||
sumCostOutByDeptId() {
|
||||
let dt = this.$dt(new Date());
|
||||
let postData = {
|
||||
|
@ -958,12 +988,15 @@ export default {
|
|||
position: relative;
|
||||
bottom: -8px;
|
||||
}
|
||||
|
||||
.number-unit {
|
||||
word-break: keep-all;
|
||||
}
|
||||
|
||||
.cost-out {
|
||||
.labour-education {
|
||||
height: 60px;
|
||||
|
||||
.people-number-con {
|
||||
padding: 0px;
|
||||
}
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
|
||||
<template>
|
||||
<MyDialog v-if="show" v-model="show" width="1600px" height="850px" ref="dlg" class="index-dlg3" :class="'font-size-'+fontSize">
|
||||
<MyDialog v-if="show" v-model="show" :loading="loading" width="1600px" height="850px" ref="dlg" class="index-dlg3" :class="'font-size-'+fontSize">
|
||||
<template slot="title">
|
||||
<div class="warning-info-title" style="padding-left: 20px;">
|
||||
<div class="warning-info-title" style="padding-left: 20px;" v-if="showType=='all'">
|
||||
<div :class="nav == 1 ? 'active' : ''" class="nav-item" @click="toggleNav(1)">在建项目({{ cnts[0] }})</div>
|
||||
<div :class="nav == 2 ? 'active' : ''" class="nav-item" @click="toggleNav(2)">拟建项目({{ cnts[1] }})</div>
|
||||
<div :class="nav == 4 ? 'active' : ''" class="nav-item" @click="toggleNav(4)">完成项目({{ cnts[2] }})</div>
|
||||
</div>
|
||||
<template v-else>{{ title }}({{ tableData.length }})</template>
|
||||
</template>
|
||||
<div class="font-size-tools">
|
||||
<i class="set-font-size font-size2" @click="fontSize = 2" :class="fontSize==2?'active':''">
|
||||
|
@ -47,7 +48,7 @@
|
|||
<div class="div-text">{{ it.projectName }}</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" style="display: flex;" v-if="nav!=4">
|
||||
<el-col :span="12" style="display: flex;" v-if="nav!=4||showType!='all'">
|
||||
<img src="images/title_icon.png"><span class="sp-lbl">目前状态:</span>
|
||||
<div class="div-text" :class="getState(it.projectSchedule)">{{ it.projectSchedule==1?'正常':'滞后' }}</div>
|
||||
</el-col>
|
||||
|
@ -115,7 +116,7 @@
|
|||
|
||||
</div>
|
||||
|
||||
<div v-if="tableData.length==0" style="text-align: center;margin-top:200px;">
|
||||
<div v-if="tableData.length==0 && !loading" style="text-align: center;margin-top:200px;">
|
||||
<img src="images/nodata.png" style="width: 240px;">
|
||||
<div style="text-align: center;">暂无数据</div>
|
||||
</div>
|
||||
|
@ -133,12 +134,16 @@ export default {
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
title:'',
|
||||
dataState:0,
|
||||
showType:'',
|
||||
quarterlyName:'',
|
||||
nav: 1,
|
||||
show: false,
|
||||
fontSize:0,
|
||||
cnts:[],
|
||||
tableData:[]
|
||||
tableData:[],
|
||||
loading:false
|
||||
};
|
||||
},
|
||||
|
||||
|
@ -178,10 +183,12 @@ export default {
|
|||
}),
|
||||
this.$api.schedule.selectByProjectType(n)
|
||||
];
|
||||
this.loading=true;
|
||||
this.$api.http.all(ajaxs).then(res=>{
|
||||
this.loading=false;
|
||||
let prjs=res[0].data||[];
|
||||
let tmps=res[1].data||[];
|
||||
this.tableData=prjs.map(it=>{
|
||||
let objs=prjs.map(it=>{
|
||||
it.projectName=it.project?.projectName||'';
|
||||
it.projectSchedule=it.project?.projectSchedule||'1';
|
||||
let objs=tmps.filter(item=>it.id==item.projectId);
|
||||
|
@ -191,6 +198,15 @@ export default {
|
|||
}
|
||||
return it;
|
||||
}).sort((a,b)=>b.projectSchedule-a.projectSchedule);
|
||||
if(this.showType=="all"){
|
||||
this.tableData=objs;
|
||||
}else{
|
||||
if(this.dataState==1){
|
||||
this.tableData=objs.filter(ob=>ob.projectSchedule!=1);
|
||||
}else{
|
||||
this.tableData=objs.filter(ob=>ob.projectSchedule==1);
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
|
@ -204,12 +220,14 @@ export default {
|
|||
this.$api.schedule.selectByProjectType(n),
|
||||
this.$api.buildNode.queryByProjectTypeNoTree(n)
|
||||
];
|
||||
this.loading=true;
|
||||
this.$api.http.all(ajaxs).then(res=>{
|
||||
this.loading=false;
|
||||
let prjs=res[0].data||[];
|
||||
let tmps=res[1].data||[];
|
||||
let nodes=res[2]||[];
|
||||
let findNodes=['01','02','03','04','05'];
|
||||
this.tableData=prjs.map(it=>{
|
||||
let objs=prjs.map(it=>{
|
||||
it.projectName=it.project?.projectName||'';
|
||||
it.projectSchedule=it.project?.projectSchedule||'1';
|
||||
let objs=tmps.filter(item=>it.id==item.projectId);
|
||||
|
@ -220,23 +238,56 @@ export default {
|
|||
it.nodes=this.$api.buildNode.toTree(nds);
|
||||
return it;
|
||||
}).sort((a,b)=>b.projectSchedule-a.projectSchedule);
|
||||
if(this.showType=="all"){
|
||||
this.tableData=objs;
|
||||
}else{
|
||||
if(this.dataState==1){
|
||||
this.tableData=objs.filter(ob=>ob.projectSchedule!=1);
|
||||
}else{
|
||||
this.tableData=objs.filter(ob=>ob.projectSchedule==1);
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
loadData4(n){
|
||||
this.loading=true;
|
||||
this.$api.schedule.selectByProjectType(n).then(d=>{
|
||||
this.tableData=(d.data||[]).map(it=>{
|
||||
this.loading=false;
|
||||
let objs=(d.data||[]).map(it=>{
|
||||
it.projectName=it.surProject?.projectName||''
|
||||
it.projectSchedule=it.surProject?.projectSchedule||'1'
|
||||
return it;
|
||||
}).sort((a,b)=>b.projectSchedule-a.projectSchedule);;
|
||||
if(this.showType=="all"){
|
||||
this.tableData=objs;
|
||||
}else{
|
||||
if(this.dataState==1){
|
||||
this.tableData=objs.filter(ob=>ob.projectSchedule!=1);
|
||||
}else{
|
||||
this.tableData=objs.filter(ob=>ob.projectSchedule==1);
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
showDialog(n,cnts) {
|
||||
this.loading=true;
|
||||
this.tableData=[]
|
||||
this.showType="all";
|
||||
this.cnts=cnts;
|
||||
this.nav=n;
|
||||
this.toggleNav(n);
|
||||
this.show = true
|
||||
}
|
||||
},
|
||||
showDetailDialog(n,type){
|
||||
this.loading=true;
|
||||
this.tableData=[]
|
||||
this.showType="detail";
|
||||
this.nav=n;
|
||||
this.dataState=type;
|
||||
this.toggleNav(n);
|
||||
this.title=["","在建项目","拟建项目","","完成项目"][n]+"-"+(type==1?'进度滞后项目':'正常推进项目');
|
||||
this.show=true;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
@ -5,6 +5,8 @@ import './style/index.less'
|
|||
import dayfilter from '@/utils/dayfilter'
|
||||
import {tryToJson} from '../utils/tools'
|
||||
import H265Player from '../components/h265-player/index'
|
||||
import { Loading } from 'element-ui';
|
||||
Loading.install(Vue);
|
||||
H265Player.install(Vue);
|
||||
dayfilter(Vue);
|
||||
const vue=new Vue();
|
||||
|
|
|
@ -13,7 +13,9 @@
|
|||
|
||||
<el-table v-show="nav == 0" :data="tableData1" class="mytable" height="500" style="width: 100%;background: transparent;"
|
||||
ref="fbsubordinateUnit">
|
||||
<el-table-column prop="num" label="序号" class-name="text-left" width="100"> </el-table-column>
|
||||
<el-table-column prop="num" label="序号" class-name="text-left" width="100">
|
||||
<template slot-scope="scope">{{ scope.$index+1}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="prj" label="项目名称" width="400" class-name="text-left"> </el-table-column>
|
||||
<el-table-column prop="detail" label="建设规模及主要工程内容" class-name="text-left">
|
||||
<template slot-scope="scope">
|
||||
|
@ -21,7 +23,7 @@
|
|||
</template>
|
||||
|
||||
</el-table-column>
|
||||
<el-table-column prop="prop" label="建设性质(新建/续建/前期)" width="100">
|
||||
<el-table-column prop="prop" label="建设性质" width="100">
|
||||
<template slot-scope="scope">
|
||||
<span style="color:red">{{ scope.row.prop }}</span>
|
||||
</template>
|
||||
|
@ -40,7 +42,9 @@
|
|||
<el-table v-show="nav == 1" :data="tableData2" class="mytable" height="500" style="width: 100%;background: transparent;"
|
||||
ref="fbsubordinateUnit">
|
||||
|
||||
<el-table-column prop="num" label="序号" class-name="text-left" width="100"> </el-table-column>
|
||||
<el-table-column prop="num" label="序号" class-name="text-left" width="100">
|
||||
<template slot-scope="scope">{{ scope.$index+1}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="prj" label="项目名称" width="400" class-name="text-left"> </el-table-column>
|
||||
<el-table-column prop="detail" label="建设规模及主要工程内容" class-name="text-left">
|
||||
<template slot-scope="scope">
|
||||
|
@ -48,7 +52,7 @@
|
|||
</template>
|
||||
|
||||
</el-table-column>
|
||||
<el-table-column prop="prop" label="建设性质(新建/续建/前期)" width="100">
|
||||
<el-table-column prop="prop" label="建设性质" width="100">
|
||||
<template slot-scope="scope">
|
||||
<span style="color:red">{{ scope.row.prop }}</span>
|
||||
</template>
|
||||
|
@ -210,13 +214,42 @@ export default {
|
|||
|
||||
]
|
||||
|
||||
this.initData();
|
||||
},
|
||||
|
||||
methods: {
|
||||
initData(){
|
||||
this.tableData1=[];
|
||||
this.tableData2=[];
|
||||
let ajaxs=[
|
||||
this.$api.plan.listAll(0),
|
||||
this.$api.plan.listAll(1),
|
||||
];
|
||||
this.$api.http.all(ajaxs).then(res=>{
|
||||
this.tableData1=this.convertData(res[0].data||[]);
|
||||
this.tableData2=this.convertData(res[1].data||[]);
|
||||
});
|
||||
},
|
||||
convertData(tmps){
|
||||
return tmps.map(it=>{
|
||||
return{
|
||||
prj:it.projectName,
|
||||
detail:it.content,
|
||||
prop:it.buildType,
|
||||
department:it.dept,
|
||||
startTime:it.startDate,
|
||||
endTime:it.endDate,
|
||||
taotal:it.totalInvestment,
|
||||
year:it.yearInvestment,
|
||||
...it
|
||||
}
|
||||
});
|
||||
},
|
||||
toggleNav(n) {
|
||||
this.nav = n;
|
||||
},
|
||||
showDialog(n) {
|
||||
this.initData();
|
||||
this.nav=n;
|
||||
this.show = true
|
||||
}
|
||||
|
|
|
@ -104,13 +104,16 @@
|
|||
<el-col :span="12">
|
||||
<module-one-1-2 label="项目推进明细">
|
||||
<el-row style="padding: 20px;" :key="elKey">
|
||||
<el-col :span="12">
|
||||
<el-col :span="12" style="position: relative;">
|
||||
<img src="images/icon2001.png"
|
||||
style="position: absolute;cursor: pointer;right: 24px;top: 12px;"
|
||||
@click="showPrjSummary">
|
||||
<div class="warning-info-title my-warning-info-title">
|
||||
<div :class="pushNav == 0 ? 'active' : ''" @click="doPushNav(0, '在建项目')">在建项目({{
|
||||
<div :class="pushNav == 1 ? 'active' : ''" @click="doPushNav(1, '在建项目')">在建项目({{
|
||||
getPrjCateCount(0) }})</div>
|
||||
<div :class="pushNav == 1 ? 'active' : ''" @click="doPushNav(1, '拟建项目')">拟建项目({{
|
||||
<div :class="pushNav == 2 ? 'active' : ''" @click="doPushNav(2, '拟建项目')">拟建项目({{
|
||||
getPrjCateCount(1) }})</div>
|
||||
<div :class="pushNav == 3 ? 'active' : ''" @click="doPushNav(3, '完成项目')">完成项目({{
|
||||
<div :class="pushNav == 4 ? 'active' : ''" @click="doPushNav(4, '完成项目')">完成项目({{
|
||||
getPrjCateCount(3) }})</div>
|
||||
</div>
|
||||
<el-row>
|
||||
|
@ -126,7 +129,7 @@
|
|||
</div>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<staff-survey-chart :height="220" unit=" " :data="pushData"
|
||||
<staff-survey-chart :height="220" unit=" " :data="pushData" @chart-click="planSummaryChartClick"
|
||||
:width="140"></staff-survey-chart>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -358,6 +361,7 @@
|
|||
<index-dlg1 ref="dlg1"></index-dlg1>
|
||||
<index-dlg2 ref="dlg2"></index-dlg2>
|
||||
<index-dlg3 ref="dlg3"></index-dlg3>
|
||||
<prj-summary-dlg ref="prjSummary"></prj-summary-dlg>
|
||||
<build-node-dlg ref="buildNodeDlg"></build-node-dlg>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -374,6 +378,7 @@ import '../components/screen-select'
|
|||
import indexDlg1 from './progress/indexDlg1'
|
||||
import indexDlg2 from './progress/indexDlg2'
|
||||
import indexDlg3 from './progress/indexDlg3'
|
||||
import PrjSummaryDlg from './index/indexDlg2.vue'
|
||||
import problemProgress from './progress/problemProgress.vue'
|
||||
import buildNodeDlg from './progress/buildNodeDlg.vue'
|
||||
export default {
|
||||
|
@ -382,7 +387,8 @@ export default {
|
|||
indexDlg2,
|
||||
indexDlg3,
|
||||
problemProgress,
|
||||
buildNodeDlg
|
||||
buildNodeDlg,
|
||||
PrjSummaryDlg
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
@ -393,7 +399,7 @@ export default {
|
|||
nodePLanData: [],
|
||||
assessData: [],
|
||||
pushUrl: 'images/company_6.png',
|
||||
pushNav: 0,
|
||||
pushNav: 1,
|
||||
pushText: '在建项目',
|
||||
pushCount: 35,
|
||||
pushData: [
|
||||
|
@ -452,6 +458,7 @@ export default {
|
|||
},
|
||||
created() {
|
||||
this.init()
|
||||
this.loadPlan();
|
||||
},
|
||||
mounted() {
|
||||
window.app = this;
|
||||
|
@ -473,6 +480,45 @@ export default {
|
|||
})
|
||||
},
|
||||
methods: {
|
||||
planSummaryChartClick(p){
|
||||
let idx=0;
|
||||
if(p.event.target.parent.style && p.event.target.parent.style.text){
|
||||
if(p.event.target.parent.style.text.includes("正常推进项目")){
|
||||
idx=2;
|
||||
}
|
||||
if(p.event.target.parent.style.text.includes("进度滞后项目")){
|
||||
idx=1;
|
||||
}
|
||||
|
||||
}else{
|
||||
idx=p.seriesIndex;
|
||||
}
|
||||
if(idx==1||idx==2){
|
||||
this.$refs.prjSummary.showDetailDialog(this.pushNav,idx);
|
||||
}
|
||||
},
|
||||
showPrjSummary(){
|
||||
this.$refs.prjSummary.showDialog(this.pushNav,[this.getPrjCateCount(0),this.getPrjCateCount(1),this.getPrjCateCount(3)])
|
||||
},
|
||||
loadPlan(){
|
||||
this.$api.plan.listAllTop3().then(d=>{
|
||||
let tmps=(d.data||[]).map(it=>{
|
||||
return{
|
||||
prj:it.projectName,
|
||||
detail:it.content,
|
||||
prop:it.buildType,
|
||||
department:it.dept,
|
||||
startTime:it.startDate,
|
||||
endTime:it.endDate,
|
||||
taotal:it.totalInvestment,
|
||||
year:it.yearInvestment,
|
||||
...it
|
||||
}
|
||||
});
|
||||
this.planData1=tmps.filter(d=>d.planType==0);
|
||||
this.planData2=tmps.filter(d=>d.planType==1);
|
||||
})
|
||||
},
|
||||
selectCompletionRate(){
|
||||
let postData = {}
|
||||
if (this.prjInfo.id == 0) {
|
||||
|
@ -486,8 +532,8 @@ export default {
|
|||
},
|
||||
selectScheduledAlerts() {
|
||||
let postData = {}
|
||||
if (this.prjInfo.id == 0) {
|
||||
postData.id = this.dept.id;
|
||||
if ((this.prjInfo?.id||0) == 0) {
|
||||
postData.id = this.dept?.id||0;
|
||||
} else {
|
||||
postData.projectId = this.prjInfo.id;
|
||||
}
|
||||
|
@ -585,6 +631,7 @@ export default {
|
|||
this.pushNav = n;
|
||||
this.pushText = t;
|
||||
this.pushUrl = ['images/company_6.png', 'images/company_5.png', 'images/company_4.png'][n]
|
||||
n--;
|
||||
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;
|
||||
|
@ -672,14 +719,14 @@ export default {
|
|||
}
|
||||
return 0;
|
||||
},
|
||||
groupByProjectCategory(detpId){
|
||||
this.$api.project.groupByProjectCategory(detpId,datas => {
|
||||
groupByProjectCategory(deptId) {
|
||||
this.$api.project.groupByProjectCategory(deptId, datas => {
|
||||
this.projectCategory = datas;
|
||||
this.pushCount = this.getPrjCateCount(0);
|
||||
this.prjPrcessTotal = 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.doPushNav(0, '在建项目');
|
||||
this.doPushNav(1, '在建项目');
|
||||
this.elKey++;
|
||||
});
|
||||
},
|
||||
|
|
|
@ -622,7 +622,7 @@ export default {
|
|||
}
|
||||
|
||||
this.videoListData = videoListData
|
||||
debugger
|
||||
|
||||
this.playVideo();
|
||||
|
||||
|
||||
|
@ -1338,7 +1338,7 @@ export default {
|
|||
this.oWebControl.JS_Disconnect().then(function () { }, function () { });
|
||||
},
|
||||
videoPlay(video) {
|
||||
debugger
|
||||
|
||||
//监控点位图数据处理
|
||||
// var VideoDistribution = this.VideoDistribution
|
||||
// for (var i = 0; i < VideoDistribution.length; i++) {
|
||||
|
|
|
@ -98,3 +98,13 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
.el-loading-mask{
|
||||
background-color: rgba(255,255,255,.4);
|
||||
.el-loading-spinner{
|
||||
.circular{
|
||||
right:unset;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue