dev_xd
姜玉琦 2025-03-14 00:15:25 +08:00
commit ac0c401534
18 changed files with 984 additions and 279 deletions

View File

@ -1,18 +1,19 @@
import {axios,download} from '@/utils/request'
import project from './project'
import weather from './weather'
import detail from './detail'
import dict from './dict'
import greenCarbon from './greenCarbon'
import videoMonitor from './videoMonitor'
import { axios, download } from "@/utils/request";
import project from "./project";
import weather from "./weather";
import detail from "./detail";
import dict from "./dict";
import greenCarbon from "./greenCarbon";
import videoMonitor from "./videoMonitor";
import safety from "./safety";
export default {
http:axios,
downFile:download,
http: axios,
downFile: download,
project,
weather,
detail,
dict,
greenCarbon,
videoMonitor
}
videoMonitor,
safety,
};

View File

@ -0,0 +1,42 @@
import request from "@/utils/request";
const groupByProblemType = (data) => {
return request({
url: `/manage/problemmodify/groupByProblemType`,
method: "post",
data,
});
};
const groupByDangerType = (data) => {
return request({
url: `/manage/problemmodify/groupByDangerType`,
method: "post",
data,
});
};
const listCountForBG = (data) => {
return request({
url: `/manage/problemmodify/listCountForBG`,
method: "get",
params: data,
});
};
const listForBG = (data) => {
data.pageSize = 5;
data.pageNum = 1;
return request({
url: `/manage/problemmodify/listForBG`,
method: "get",
params: data,
});
};
export default {
groupByProblemType,
groupByDangerType,
listCountForBG,
listForBG,
};

View File

@ -0,0 +1,8 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3395">
<path
d="M90.664027 1023.902729C40.639065 1023.902729 0.048635 980.752543 0.048635 926.193155V91.273615C0.048635 41.980012 41.736104 0 90.664027 0h777.288443c48.927923 0 83.374937 41.980012 83.374937 91.273615V480.502924h-74.01354V72.989637H73.842768v877.630911H512V1023.902729H90.664027zM658.271818 753.299865a95.369226 95.369226 0 0 0 95.076682 95.076682 95.369226 95.369226 0 0 0 95.076682-95.076682A95.369226 95.369226 0 0 0 753.3485 658.223183 95.369226 95.369226 0 0 0 658.271818 753.299865z m353.538986 262.045963a33.78879 33.78879 0 0 1-0.804495 0.804495l-5.850873 2.413485a15.139133 15.139133 0 0 0-4.241883 1.755262c-5.19265 2.632893-7.67927 3.510524-11.701745 3.510523a67.138765 67.138765 0 0 1-11.921153-0.731359 26.840879 26.840879 0 0 1-15.065998-6.947911l-123.014599-122.210104a171.138028 171.138028 0 0 1-89.079538 24.281121c-94.857274 0-167.627504-72.331414-167.627504-166.603601 0-94.272187 72.77023-166.603601 167.627504-166.603601 94.857274 0 167.627504 72.40455 167.627504 166.603601 0 34.958965-10.01962 67.723852-28.59614 95.076682l121.844425 121.03993c13.457007 12.87192 13.822687 34.227606 0.804495 47.538341zM186.545204 475.529682a36.567955 36.567955 0 0 1 36.567955-36.567955h511.951364a36.567955 36.567955 0 0 1 0 73.135909h-511.951364a36.567955 36.567955 0 0 1-36.567955-36.567954z m0-219.407728a36.567955 36.567955 0 0 1 36.567955-36.567954h511.951364a36.567955 36.567955 0 0 1 0 73.135909h-511.951364a36.567955 36.567955 0 0 1-36.567955-36.567955z">
</path>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -92,7 +92,7 @@
<el-col :span="8" class="header-center">
<img class="prj-logo" :src="selProject.setting.orgLogo"
v-if="selProject && selProject.setting && selProject.setting.orgLogo" />
数字建安施工管理平台
{{ selProject?.setting?.orgName || '数字建安施工管理平台' }}
</el-col>
<el-col :span="8">
<div class="head-title-tab" style="display: inline-block">
@ -203,6 +203,9 @@ export default {
case 309:
this.$router.push("/videoMonitor");
break;
case 301:
this.$router.push("/safetyCheck");
break;
case 4:
this.$router.push("/prjQuality");
break;
@ -309,6 +312,7 @@ export default {
padding: 5px 40px;
position: relative;
top: -8px;
.prj-logo {
width: 40px;
height: 40px;
@ -362,6 +366,7 @@ export default {
.header-center {
font-size: 52px !important;
margin-top: 10px;
.prj-logo {
width: 50px;
height: 50px;

View File

@ -0,0 +1,42 @@
<template>
<div class="screen-one-3-1 screen-module">
<div class="module-title"><span>{{ label || '' }}</span></div>
<div class="module-ctx">
<slot></slot>
</div>
</div>
</template>
<script>
export default {
props: {
label: {
type: String,
default: ""
}
}
};
</script>
<style lang="less" scoped>
.screen-one-3-1 {
height: calc(33% - 20px);
margin: 20px;
position: relative;
&::after {
content: " ";
display: block;
position: absolute;
width: 100%;
height: 26px;
top: 0px;
background-repeat: no-repeat;
}
.module-title {
position: relative;
z-index: 9;
}
}
</style>

View File

@ -49,12 +49,19 @@ const routes = [
{
path: "/videoMonitor",
name: "videoMonitor",
meta: { nav: 23 },
meta: { nav: 309 },
component: () =>
import(/* webpackChunkName: "videoMonitor" */ "../views/videoMonitor.vue"),
import(
/* webpackChunkName: "videoMonitor" */ "../views/videoMonitor.vue"
),
},
{
path: "/safetyCheck",
name: "safetyCheck",
meta: { nav: 301 },
component: () =>
import(/* webpackChunkName: "safetyCheck" */ "../views/safetyCheck.vue"),
},
];
const router = new VueRouter({
mode: "hash",

View File

@ -1,160 +1,199 @@
import axios from 'axios'
import { Notification, MessageBox, Message, Loading } from 'element-ui'
import { getToken } from '@/utils/auth'
import errorCode from '@/utils/errorCode'
import axios from "axios";
import { Notification, MessageBox, Message, Loading } from "element-ui";
import { getToken } from "@/utils/auth";
import errorCode from "@/utils/errorCode";
import { tansParams, blobValidate } from "@/utils/ruoyi";
import cache from '@/plugins/cache'
import { saveAs } from 'file-saver'
import Cookies from 'js-cookie'
import cache from "@/plugins/cache";
import { saveAs } from "file-saver";
import Cookies from "js-cookie";
let downloadLoadingInstance;
// 是否显示重新登录
export let isRelogin = { show: false };
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8";
// 创建axios实例
const service = axios.create({
// axios中请求配置有baseURL选项表示请求URL公共部分
baseURL: process.env.VUE_APP_BASE_API,
// 超时
timeout: 200000
})
timeout: 200000,
});
// request拦截器
service.interceptors.request.use(config => {
service.interceptors.request.use(
(config) => {
// 是否需要设置 token
const isToken = (config.headers || {}).isToken === false
const isToken = (config.headers || {}).isToken === false;
// 是否需要防止数据重复提交
const isRepeatSubmit = (config.headers || {}).repeatSubmit === false
const isRepeatSubmit = (config.headers || {}).repeatSubmit === false;
if (getToken() && !isToken) {
config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
config.headers["Authorization"] = "Bearer " + getToken(); // 让每个请求携带自定义token 请根据实际情况自行修改
}
config.headers["proType"]=localStorage.getItem("proType")||"0";
config.headers["proType"] = localStorage.getItem("proType") || "0";
// get请求映射params参数
if (config.method === 'get' && config.params) {
let url = config.url + '?' + tansParams(config.params);
if (config.method === "get" && config.params) {
let url = config.url + "?" + tansParams(config.params);
url = url.slice(0, -1);
config.params = {};
config.url = url;
}
if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) {
if (
!isRepeatSubmit &&
(config.method === "post" || config.method === "put")
) {
const requestObj = {
url: config.url,
data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data,
time: new Date().getTime()
}
const sessionObj = cache.session.getJSON('sessionObj')
if (sessionObj === undefined || sessionObj === null || sessionObj === '') {
cache.session.setJSON('sessionObj', requestObj)
data:
typeof config.data === "object"
? JSON.stringify(config.data)
: config.data,
time: new Date().getTime(),
};
const sessionObj = cache.session.getJSON("sessionObj");
if (
sessionObj === undefined ||
sessionObj === null ||
sessionObj === ""
) {
cache.session.setJSON("sessionObj", requestObj);
} else {
const s_url = sessionObj.url; // 请求地址
const s_data = sessionObj.data; // 请求数据
const s_time = sessionObj.time; // 请求时间
const interval = 1000; // 间隔时间(ms),小于此时间视为重复提交
if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) {
const message = '数据正在处理,请勿重复提交';
console.warn("--->",s_data,requestObj.data,s_url)
return Promise.reject(new Error(message))
if (
s_data === requestObj.data &&
requestObj.time - s_time < interval &&
s_url === requestObj.url
) {
const message = "数据正在处理,请勿重复提交";
console.warn("--->", s_data, requestObj.data, s_url);
return Promise.reject(new Error(message));
} else {
cache.session.setJSON('sessionObj', requestObj)
cache.session.setJSON("sessionObj", requestObj);
}
}
}
return config
}, error => {
console.log(error)
Promise.reject(error)
})
return config;
},
(error) => {
console.log(error);
Promise.reject(error);
}
);
// 响应拦截器
service.interceptors.response.use(res => {
service.interceptors.response.use(
(res) => {
// 未设置状态码则默认成功状态
const code = res.data.code || 200;
// 获取错误信息
const msg = errorCode[code] || res.data.msg || errorCode['default']
const msg = errorCode[code] || res.data.msg || errorCode["default"];
// 二进制数据则直接返回
if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {
return res.data
if (
res.request.responseType === "blob" ||
res.request.responseType === "arraybuffer"
) {
return res.data;
}
if (code === 401) {
if (!isRelogin.show) {
isRelogin.show = true;
MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
isRelogin.show = false;
if(location.href.indexOf("localhost")>=0){
//location.href = `/#/login?redirect=${encodeURIComponent("/xdbs/")}`;
location.href=`http://localhost/#/login?redirect=${encodeURI('http://localhost:3000/xdbs/')}`
}else{
location.href = window.XDAPP+`#/login?redirect=${encodeURIComponent(window.XDBSAPP)}`;
MessageBox.confirm(
"登录状态已过期,您可以继续留在该页面,或者重新登录",
"系统提示",
{
confirmButtonText: "重新登录",
cancelButtonText: "取消",
type: "warning",
}
}).catch(() => {
)
.then(() => {
isRelogin.show = false;
if (location.href.indexOf("localhost") >= 0) {
//location.href = `/#/login?redirect=${encodeURIComponent("/xdbs/")}`;
location.href = `http://localhost/#/login?redirect=${encodeURI(
"http://localhost:3000/xdbs/"
)}`;
} else {
location.href =
window.XDAPP +
`#/login?redirect=${encodeURIComponent(window.XDBSAPP)}`;
}
})
.catch(() => {
isRelogin.show = false;
});
}
return Promise.reject('error')
return Promise.reject("error");
} else if (code === 500) {
if(msg.indexOf('重复提交')==-1){
Message({ message: msg, type: 'error' })
if (msg.indexOf("重复提交") == -1) {
Message({ message: msg, type: "error" });
}
return Promise.reject(new Error(msg))
return Promise.reject(new Error(msg));
} else if (code === 601) {
if(msg.indexOf('重复提交')==-1){
Message({ message: msg, type: 'warning' })
if (msg.indexOf("重复提交") == -1) {
Message({ message: msg, type: "warning" });
}
return Promise.reject('error')
return Promise.reject("error");
} else if (code !== 200) {
if(msg.indexOf('重复提交')==-1){
Notification.error({ title: msg })
if (msg.indexOf("重复提交") == -1) {
Notification.error({ title: msg });
}
return Promise.reject('error')
return Promise.reject("error");
} else {
return res.data
return res.data;
}
},
error => {
console.log('err' + error)
(error) => {
console.log("err" + error);
let { message } = error;
if (message == "Network Error") {
message = "后端接口连接异常";
} else if (message.includes("Request failed with status code")) {
message = "系统接口" + message.substr(message.length - 3) + "异常";
}
if(message.indexOf('重复提交')==-1){
Message({ message: message, type: 'error', duration: 5 * 1000 })
if (message.indexOf("重复提交") == -1) {
Message({ message: message, type: "error", duration: 5 * 1000 });
}
return Promise.reject(error)
return Promise.reject(error);
}
)
);
// 通用下载方法
export function download(url, params, filename, config={}) {
downloadLoadingInstance = Loading.service({ text: "正在下载数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", })
export function download(url, params, filename, config = {}) {
downloadLoadingInstance = Loading.service({
text: "正在下载数据,请稍候",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
return axios({
url:url,
method:"get",
params:params||{},
responseType: 'blob',
...config
}).then(async ({data}) => {
url: url,
method: "get",
params: params || {},
responseType: "blob",
...config,
})
.then(async ({ data }) => {
const isBlob = blobValidate(data);
if (isBlob) {
const blob = new Blob([data])
saveAs(blob, filename)
const blob = new Blob([data]);
saveAs(blob, filename);
} else {
const resText = await data.text();
const rspObj = JSON.parse(resText);
const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default']
const errMsg =
errorCode[rspObj.code] || rspObj.msg || errorCode["default"];
Message.error(errMsg);
}
downloadLoadingInstance.close();
}).catch((r) => {
console.error(r)
Message.error('下载文件出现错误,请联系管理员!')
downloadLoadingInstance.close();
})
.catch((r) => {
console.error(r);
Message.error("下载文件出现错误,请联系管理员!");
downloadLoadingInstance.close();
});
}
export { axios,service}
export default service
export { axios, service };
export default service;

View File

@ -51,9 +51,9 @@
</el-col>
<el-col :span="8">
<div class="chart-bg power-chart2">
<div class="chart-proc" :style="'height:'+leftPowerData[3]+'%'"></div>
<div class="chart-proc" :style="'height:' + leftPowerData[3] + '%'"></div>
<div class="data-top">
<div class="chart-data led-number">{{ (leftPowerData[1]/1000.0).toFixed(1) }}</div>
<div class="chart-data led-number">{{ (leftPowerData[1] / 1000.0).toFixed(1) }}</div>
<div class="chart-unit">(T CO₂)</div>
</div>
<div class="data-bottom">
@ -63,9 +63,9 @@
</el-col>
<el-col :span="8">
<div class="chart-bg power-chart3">
<div class="chart-proc" :style="'height:'+leftPowerData[4]+'%;'"></div>
<div class="chart-proc" :style="'height:' + leftPowerData[4] + '%;'"></div>
<div class="data-top">
<div class="chart-data led-number">{{ (leftPowerData[2]/1000.0).toFixed(1) }}</div>
<div class="chart-data led-number">{{ (leftPowerData[2] / 1000.0).toFixed(1) }}</div>
<div class="chart-unit">(T CO₂)</div>
</div>
<div class="data-bottom">
@ -87,7 +87,7 @@
碳排放预估总量(T CO₂)
</div>
<div class="td-number">
<people-number :number="(totalData[0]/1000.0).toFixed(1)" unit=""></people-number>
<people-number :number="(totalData[0] / 1000.0).toFixed(1)" unit=""></people-number>
</div>
</div>
</el-col>
@ -98,7 +98,7 @@
碳排放监测累计总量(T CO₂)
</div>
<div class="td-number">
<people-number :number="(totalData[1]/1000.0).toFixed(1)" unit=""></people-number>
<people-number :number="(totalData[1] / 1000.0).toFixed(1)" unit=""></people-number>
</div>
</div>
</el-col>
@ -109,7 +109,7 @@
当月碳排放监测量(T CO₂)
</div>
<div class="td-number">
<people-number :number="(totalData[2]/1000.0).toFixed(1)" unit=""></people-number>
<people-number :number="(totalData[2] / 1000.0).toFixed(1)" unit=""></people-number>
</div>
</div>
</el-col>
@ -167,8 +167,8 @@ export default {
curMonthData: [],
yearMonthData: {},
leftOilData: [0, 0, 0, 0],
leftPowerData:[0,0,0,40,60],
totalData:[0,0,0],
leftPowerData: [0, 0, 0, 40, 60],
totalData: [0, 0, 0],
}
},
mounted() {
@ -232,19 +232,19 @@ export default {
(Math.round(tmps[0].sumEstimateValue / 10000) + 1) * 10,
] : [0, 0, 0, 0];
tmps = this.allData.filter(it => it.factorType == 3);
this.leftPowerData=tmps.length>0?[
this.leftPowerData = tmps.length > 0 ? [
tmps[0].practicalValue,
tmps[0].sumPracticalValue,
tmps[0].sumEmissionReduction,
tmps[0].sumEstimateValue==0?0:tmps[0].sumPracticalValue*100/tmps[0].sumEstimateValue,
tmps[0].sumEstimateValue==0?0:tmps[0].sumEmissionReduction*100/tmps[0].sumEstimateValue,
tmps[0].sumEstimateValue == 0 ? 0 : tmps[0].sumPracticalValue * 100 / tmps[0].sumEstimateValue,
tmps[0].sumEstimateValue == 0 ? 0 : tmps[0].sumEmissionReduction * 100 / tmps[0].sumEstimateValue,
]:[0,0,0,0,0];
] : [0, 0, 0, 0, 0];
tmps = this.allData.filter(it => it.factorType == 0);
this.totalData[0]=tmps.length>0?tmps[0].sumEstimateValue:0;
this.totalData[1]=tmps.length>0?tmps[0].sumPracticalValue:0;
tmps=this.curMonthData.filter(it=>it.factorType==0);
this.totalData[2]=tmps.length>0?tmps[0].emissionReduction:0
this.totalData[0] = tmps.length > 0 ? tmps[0].sumEstimateValue : 0;
this.totalData[1] = tmps.length > 0 ? tmps[0].sumPracticalValue : 0;
tmps = this.curMonthData.filter(it => it.factorType == 0);
this.totalData[2] = tmps.length > 0 ? tmps[0].emissionReduction : 0
this.chartKey++;
});
},
@ -467,19 +467,19 @@ export default {
return option;
},
renderChart4() {
let sum=(objs)=>{
let res=0;
objs.forEach(it=>{
res+=(it||0);
let sum = (objs) => {
let res = 0;
objs.forEach(it => {
res += (it || 0);
});
return res;
}
let is1K = this.$dpi() == "1K";
let is2K = this.$dpi() == "2K";
let datas=[0,0,0];
datas[0]=this.yearMonthData.buildData?sum(this.yearMonthData.buildData.emissionReduction.datas):0;
datas[1]=this.yearMonthData.oilData?sum(this.yearMonthData.oilData.emissionReduction.datas):0;
datas[2]=this.yearMonthData.powerData?sum(this.yearMonthData.powerData.emissionReduction.datas):0;
let datas = [0, 0, 0];
datas[0] = this.yearMonthData.buildData ? sum(this.yearMonthData.buildData.emissionReduction.datas) : 0;
datas[1] = this.yearMonthData.oilData ? sum(this.yearMonthData.oilData.emissionReduction.datas) : 0;
datas[2] = this.yearMonthData.powerData ? sum(this.yearMonthData.powerData.emissionReduction.datas) : 0;
let option = {
legend: {
@ -555,7 +555,7 @@ export default {
},
tooltip: {
trigger: "axis",
valueFormatter: (v) => { return v?v:'- ' + 'T CO₂' },
valueFormatter: (v) => { return v ? v : '- ' + 'T CO₂' },
textStyle: {
fontSize: is1K ? 12 : is2K ? 14 : 24
},
@ -576,7 +576,7 @@ export default {
{
type: "category",
boundaryGap: false,
data: this.yearMonthData?.totalData?.emissionReduction?.titles||[],
data: this.yearMonthData?.totalData?.emissionReduction?.titles || [],
axisLabel: {
fontSize: is1K ? 12 : is2K ? 14 : 24,
color: "#a2c8f9"
@ -619,7 +619,7 @@ export default {
itemStyle: {
normal: { areaStyle: { type: "default", color: "#7ddff2", opacity: 0.1 } },
},
data: this.yearMonthData?.totalData?.estimate?.datas||[],
data: this.yearMonthData?.totalData?.estimate?.datas || [],
},
{
name: '碳排放',
@ -636,7 +636,7 @@ export default {
itemStyle: {
normal: { areaStyle: { type: "default", color: "#006594", opacity: 0.1 } },
},
data: this.yearMonthData?.totalData?.practical?.datas||[],
data: this.yearMonthData?.totalData?.practical?.datas || [],
},
{
name: '碳减排',
@ -653,7 +653,7 @@ export default {
itemStyle: {
normal: { areaStyle: { type: "default", color: "#7db800", opacity: 0.1 } },
},
data: this.yearMonthData?.totalData?.emissionReduction?.datas||[],
data: this.yearMonthData?.totalData?.emissionReduction?.datas || [],
},
],
};
@ -672,7 +672,7 @@ export default {
},
tooltip: {
trigger: "axis",
valueFormatter: (v) => { return v?v:' - ' + 'T CO₂' },
valueFormatter: (v) => { return v ? v : ' - ' + 'T CO₂' },
textStyle: {
fontSize: is1K ? 12 : is2K ? 14 : 24
},
@ -693,7 +693,7 @@ export default {
{
type: "category",
boundaryGap: false,
data: this.yearMonthData?.buildData?.emissionReduction?.titles||[],
data: this.yearMonthData?.buildData?.emissionReduction?.titles || [],
axisLabel: {
fontSize: is1K ? 12 : is2K ? 14 : 24,
color: "#a2c8f9"
@ -736,7 +736,7 @@ export default {
itemStyle: {
normal: { areaStyle: { type: "default", color: "#7ddff2", opacity: 0.1 } },
},
data:this.yearMonthData?.buildData?.estimate?.datas||[],
data: this.yearMonthData?.buildData?.estimate?.datas || [],
},
{
name: '碳排放',
@ -753,7 +753,7 @@ export default {
itemStyle: {
normal: { areaStyle: { type: "default", color: "#006594", opacity: 0.1 } },
},
data: this.yearMonthData?.buildData?.practical?.datas||[],
data: this.yearMonthData?.buildData?.practical?.datas || [],
},
{
name: '碳减排',
@ -770,10 +770,11 @@ export default {
itemStyle: {
normal: { areaStyle: { type: "default", color: "#7db800", opacity: 0.1 } },
},
data: this.yearMonthData?.buildData?.emissionReduction?.datas||[],
data: this.yearMonthData?.buildData?.emissionReduction?.datas || [],
},
],
};
console.log(option)
return option;
},
renderChart7() {
@ -789,7 +790,7 @@ export default {
},
tooltip: {
trigger: "axis",
valueFormatter: (v) => { return v?v:' - ' + 'T CO₂' },
valueFormatter: (v) => { return v ? v : ' - ' + 'T CO₂' },
textStyle: {
fontSize: is1K ? 12 : is2K ? 14 : 24
},
@ -810,7 +811,7 @@ export default {
{
type: "category",
boundaryGap: false,
data: this.yearMonthData?.oilData?.emissionReduction?.titles||[],
data: this.yearMonthData?.oilData?.emissionReduction?.titles || [],
axisLabel: {
fontSize: is1K ? 12 : is2K ? 14 : 24,
color: "#a2c8f9"
@ -853,7 +854,7 @@ export default {
itemStyle: {
normal: { areaStyle: { type: "default", color: "#7ddff2", opacity: 0.1 } },
},
data: this.yearMonthData?.oilData?.estimate?.datas||[],
data: this.yearMonthData?.oilData?.estimate?.datas || [],
},
{
name: '碳排放',
@ -870,7 +871,7 @@ export default {
itemStyle: {
normal: { areaStyle: { type: "default", color: "#006594", opacity: 0.1 } },
},
data: this.yearMonthData?.oilData?.practical?.datas||[],
data: this.yearMonthData?.oilData?.practical?.datas || [],
},
{
name: '碳减排',
@ -887,7 +888,7 @@ export default {
itemStyle: {
normal: { areaStyle: { type: "default", color: "#7db800", opacity: 0.1 } },
},
data: this.yearMonthData?.oilData?.emissionReduction?.datas||[],
data: this.yearMonthData?.oilData?.emissionReduction?.datas || [],
},
],
};
@ -906,7 +907,7 @@ export default {
},
tooltip: {
trigger: "axis",
valueFormatter: (v) => { return v?v:' - ' + 'T CO₂' },
valueFormatter: (v) => { return v ? v : ' - ' + 'T CO₂' },
textStyle: {
fontSize: is1K ? 12 : is2K ? 14 : 24
},
@ -927,7 +928,7 @@ export default {
{
type: "category",
boundaryGap: false,
data: this.yearMonthData?.powerData?.emissionReduction?.titles||[],
data: this.yearMonthData?.powerData?.emissionReduction?.titles || [],
axisLabel: {
fontSize: is1K ? 12 : is2K ? 14 : 24,
color: "#a2c8f9"
@ -970,7 +971,7 @@ export default {
itemStyle: {
normal: { areaStyle: { type: "default", color: "#7ddff2", opacity: 0.1 } },
},
data:this.yearMonthData?.powerData?.estimate?.datas||[],
data: this.yearMonthData?.powerData?.estimate?.datas || [],
},
{
name: '碳排放',
@ -987,7 +988,7 @@ export default {
itemStyle: {
normal: { areaStyle: { type: "default", color: "#006594", opacity: 0.1 } },
},
data: this.yearMonthData?.powerData?.practical?.datas||[],
data: this.yearMonthData?.powerData?.practical?.datas || [],
},
{
name: '碳减排',
@ -1004,7 +1005,7 @@ export default {
itemStyle: {
normal: { areaStyle: { type: "default", color: "#7db800", opacity: 0.1 } },
},
data: this.yearMonthData?.powerData?.emissionReduction?.datas||[],
data: this.yearMonthData?.powerData?.emissionReduction?.datas || [],
},
],
};

View File

@ -1,88 +1,99 @@
import Vue from 'vue'
import Api from '../api/index'
import dayjs from 'dayjs'
import './style/index.less'
import dayfilter from '@/utils/dayfilter'
import {tryToJson} from '../utils/tools'
import { Loading } from 'element-ui';
import Vue from "vue";
import Api from "../api/index";
import dayjs from "dayjs";
import "./style/index.less";
import dayfilter from "@/utils/dayfilter";
import { tryToJson } from "../utils/tools";
import { Loading } from "element-ui";
import moduleOne11 from '../components/module/module-one-1-1.vue'
import moduleOne12 from '../components/module/module-one-1-2.vue'
import moduleOne13 from '../components/module/module-one-1-3.vue'
import moduleOne21 from '../components/module/module-one-2-1.vue'
import moduleOne22 from '../components/module/module-one-2-2.vue'
import moduleOne23 from '../components/module/module-one-2-3.vue'
import peopleNumber from '@/components/people-number.vue'
import dictTag from '@/components/DictTag/index.vue'
import MyDialog from '@/components/MyDialog.vue'
import MyChart from '@/components/MyChart.vue'
import moduleOne11 from "../components/module/module-one-1-1.vue";
import moduleOne12 from "../components/module/module-one-1-2.vue";
import moduleOne13 from "../components/module/module-one-1-3.vue";
import moduleOne21 from "../components/module/module-one-2-1.vue";
import moduleOne22 from "../components/module/module-one-2-2.vue";
import moduleOne23 from "../components/module/module-one-2-3.vue";
import moduleOne31 from "../components/module/module-one-3-1.vue";
import peopleNumber from "@/components/people-number.vue";
import dictTag from "@/components/DictTag/index.vue";
import MyDialog from "@/components/MyDialog.vue";
import MyChart from "@/components/MyChart.vue";
import projectOverviewChart from "@/components/project-overview-chart.vue";
//import projectOverviewChart from '../components/project-overview-chart.vue'
//import peopleNumber from '../components/people-number.vue'
import header from '../components/header.vue'
import header from "../components/header.vue";
Loading.install(Vue);
//H265Player.install(Vue);
dayfilter(Vue);
const vue=new Vue();
Vue.component("screen-header",header)
Vue.component("module-one-1-1",moduleOne11)
Vue.component("module-one-1-2",moduleOne12)
Vue.component("module-one-1-3",moduleOne13)
Vue.component("module-one-2-1",moduleOne21)
Vue.component("module-one-2-2",moduleOne22)
Vue.component("module-one-2-3",moduleOne23)
Vue.component("people-number",peopleNumber)
Vue.component("my-chart",MyChart)
Vue.component("dict-tag",dictTag)
Vue.component("MyDialog",MyDialog)
Vue.prototype.$bus=new Vue();
const vue = new Vue();
Vue.component("screen-header", header);
Vue.component("module-one-1-1", moduleOne11);
Vue.component("module-one-1-2", moduleOne12);
Vue.component("module-one-1-3", moduleOne13);
Vue.component("module-one-2-1", moduleOne21);
Vue.component("module-one-2-2", moduleOne22);
Vue.component("module-one-2-3", moduleOne23);
Vue.component("module-one-3-1", moduleOne31);
Vue.component("people-number", peopleNumber);
Vue.component("my-chart", MyChart);
Vue.component("dict-tag", dictTag);
Vue.component("MyDialog", MyDialog);
Vue.component("project-overview-chart", projectOverviewChart);
Vue.prototype.$bus = new Vue();
//Vue.component("people-number",peopleNumber)
//Vue.component("project-overview-chart",projectOverviewChart)
Vue.prototype.$api=Api;
Vue.prototype.$bus=vue;
Vue.prototype.$apiPath=process.env.VUE_APP_BASE_API
Vue.prototype.$dt=dayjs;
Vue.prototype.$tryToJson=tryToJson
Vue.prototype.$toggleFullScreen=(el)=>{
if(document.fullscreenElement==el){
let screen = document.cancelFullScreen || document.webkitCancelFullScreen || document.mozCancelFullScreen || document.exitFullScreen
Vue.prototype.$api = Api;
Vue.prototype.$bus = vue;
Vue.prototype.$apiPath = process.env.VUE_APP_BASE_API;
Vue.prototype.$dt = dayjs;
Vue.prototype.$tryToJson = tryToJson;
Vue.prototype.$toggleFullScreen = (el) => {
if (document.fullscreenElement == el) {
let screen =
document.cancelFullScreen ||
document.webkitCancelFullScreen ||
document.mozCancelFullScreen ||
document.exitFullScreen;
if (typeof screen != "undefined" && screen) {
screen.call(document);
return;
}
}else{
let screen = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen
} else {
let screen =
el.requestFullScreen ||
el.webkitRequestFullScreen ||
el.mozRequestFullScreen ||
el.msRequestFullScreen;
if (typeof screen != "undefined" && screen) {
screen.call(el);
return;
}
}
}
Vue.prototype.$dpi=()=>{
let w=document.querySelector(".main-app").clientWidth;
return w>2561?"4K":w<1920?"1K":"2K";
}
Vue.filter('toDate',d=>{
return dayjs(d).format("YYYY-MM-DD")
};
Vue.prototype.$dpi = () => {
let w = document.querySelector(".main-app").clientWidth;
return w > 2561 ? "4K" : w < 1920 ? "1K" : "2K";
};
Vue.filter("toDate", (d) => {
return dayjs(d).format("YYYY-MM-DD");
});
Vue.filter('toDateTime',d=>{
return dayjs(d).format("YYYY-MM-DD HH:mm:ss")
Vue.filter("toDateTime", (d) => {
return dayjs(d).format("YYYY-MM-DD HH:mm:ss");
});
Vue.filter('toTime',d=>{
return dayjs(d).format("HH:mm:ss")
Vue.filter("toTime", (d) => {
return dayjs(d).format("HH:mm:ss");
});
window.__isfull__=false;
window.fullscreenInterval=setInterval(()=>{
if(document.fullscreenElement){
if(!window.__isfull__){
vue.$emit("fullscreen",true);
window.__isfull__=true;
window.__isfull__ = false;
window.fullscreenInterval = setInterval(() => {
if (document.fullscreenElement) {
if (!window.__isfull__) {
vue.$emit("fullscreen", true);
window.__isfull__ = true;
}
}else{
if(window.__isfull__){
vue.$emit("fullscreen",false);
window.__isfull__=false;
} else {
if (window.__isfull__) {
vue.$emit("fullscreen", false);
window.__isfull__ = false;
}
}
},500);
window.xdcaches={};
}, 500);
window.xdcaches = {};

View File

@ -320,7 +320,8 @@
合同工期
</p>
<div>
<span class="led-number">{{ selProject.projectTimeLimit || '' }}</span>
<span class="led-number">{{ selProject.projectTimeLimit || '' }}</span>
</div>
</div>
</div>
@ -854,7 +855,7 @@ export default {
}
.led-number {
font-size: 40px;
font-size: 36px;
}
}
}
@ -1150,7 +1151,7 @@ export default {
.led-number {
font-size: 50px;
font-size: 48px;
}
}
}
@ -1442,7 +1443,7 @@ export default {
font-size: 30px;
.led-number {
font-size: 70px;
font-size: 60px;
}
}
}
@ -1454,6 +1455,7 @@ export default {
.prj-img-list {
height: calc(100% - 190px);
.prj-img-nav {
.prj-img-nav-item {
line-height: 60px;
@ -1462,6 +1464,7 @@ export default {
font-size: 30px;
}
}
.el-carousel {
height: 100%;

View File

@ -0,0 +1,505 @@
<template>
<div class="project-safety-check main-page">
<el-col :span="6" class="h100">
<module-one-1-1 label="安全隐患排查" class="chart1-module">
<el-col :span="12" v-for="(it, idx) in chart1Data" :key="idx">
<div
class="equipment-list-min equipment-list-min_div quality-target-index-min quality-target-index-min_div">
<div class="czz-number-img czz-number-img-blue">
<svg-icon icon-class="notesearch"></svg-icon>
</div>
<div>
<div class="equipment-list-data equipment-list-data_div_top">
<span>{{ it.name }}</span>
</div>
<div class="equipment-list-data equipment-list-data_div_bottom">
<span class="sp-data">{{ it.value || 0 }}</span><span class="sp-unit"></span>
</div>
</div>
</div>
</el-col>
</module-one-1-1>
<module-one-2-1 label="日常巡检">
<div class="div-item-chart">
<div class="data-item-chart">
<div class="total-info">{{ item1Data.total }}<br />
<span class="sp-label">问题总数</span>
</div>
<div class="chart-gif chart-overview-gif"></div>
<my-chart :key="itemChartKey1" id="project-safety-check-item1" width="100%" height="100%"
:render="o => renderDataItem1(1)"></my-chart>
</div>
{{ item1Data.infos }}
</div>
</module-one-2-1>
</el-col>
<el-col :span="18" class="h100">
<module-one-1-3 label="隐患类别统计">
<my-chart :key="chartKey2" id="project-safety-check-chart2" width="100%" height="100%"
:render="renderChart2"></my-chart>
</module-one-1-3>
<el-row class="el-right">
<el-col :span="8">
<module-one-2-1 label="周检"></module-one-2-1>
</el-col>
<el-col :span="8">
<module-one-2-1 label="月检"></module-one-2-1>
</el-col>
<el-col :span="8">
<module-one-2-1 label="转型检查"></module-one-2-1>
</el-col>
</el-row>
</el-col>
</div>
</template>
<script>
export default {
data() {
return {
chartKey2: 0,
itemChartKey1: 0,
dpi: '',
selProject: null,
legendOpt1: {
icon: "rect",
textStyle: {
color: "#c3dbfd",
fontSize: 14,
rich: {
name: {
color: "#c3dbfd",
padding: [0, 20, 0, 0],
},
percent: {
color: "#4676FD"
},
},
},
},
overviewText: '问题数',
chart1Data: [],
chart2Data: [],
item1Data: {
total: 0,
datas: [],
infos: [],
},
item2Data: {
total: 0,
datas: [],
infos: [],
},
item3Data: {
total: 0,
datas: [],
infos: [],
},
item4Data: {
total: 0,
datas: [],
infos: [],
}
}
},
mounted() {
window.safetyApp = this;
this.$store.dispatch('ChangeNav', 301);
this.$bus.$on('projectChange', prj => {
this.selProject = prj;
this.init();
});
this.selProject = this.$store.getters.selProject;
this.init();
this.dpi = this.$dpi();
window.addEventListener("resize", () => {
if (this.dpi != this.$dpi()) {
this.dpi = this.$dpi();
this.chartKey++;
}
});
},
methods: {
init() {
if (!this.selProject) {
return;
}
let postData = {
projectId: this.selProject.id,
comId: this.selProject.comId
};
let ajaxs = [
this.$api.safety.groupByProblemType(postData),
this.$api.safety.groupByDangerType(postData),
this.$api.safety.listCountForBG({ ...postData, problemType: 1, infoType: 0 }),
this.$api.safety.listForBG({ ...postData, problemType: 1, infoType: 0 }),
this.$api.safety.listCountForBG({ ...postData, problemType: 2, infoType: 0 }),
this.$api.safety.listForBG({ ...postData, problemType: 2, infoType: 0 }),
this.$api.safety.listCountForBG({ ...postData, problemType: 3, infoType: 0 }),
this.$api.safety.listForBG({ ...postData, problemType: 3, infoType: 0 }),
this.$api.safety.listCountForBG({ ...postData, problemType: 4, infoType: 0 }),
this.$api.safety.listForBG({ ...postData, problemType: 4, infoType: 0 }),
];
this.$api.http.all(ajaxs).then(res => {
this.chart1Data = (res[0].data || []).map(it => {
return {
id: it.nickedInfo,
value: it.id,
name: it.problemType,
data: it
}
});
this.chart2Data = (res[1].data || []).map(it => {
return {
id: it.nickedInfo,
name: it.dangerType,
value1: it.id,
value2: it.comId,
}
});
this.showChart1();//
this.showChart2();//
this.makeItemData(this.item1Data, res[2].data)
this.makeItemData(this.item2Data, res[4].data)
this.makeItemData(this.item3Data, res[6].data)
this.makeItemData(this.item4Data, res[8].data)
this.itemChartKey1++;
});
},
showChart1(n) {
},
showChart2() {
this.chartKey2++;
},
makeItemData(item, res) {
let labels = ['问题总数', '待整改', '待复检', '复检驳回', '整改完成', '超时整改'];
item.total = res[0].id;
let total = res[0].id;
item.datas = [];
for (let i = 1; i < 5; i++) {
item.datas.push({
name: labels[i],
value: res[i].id
});
}
item.infos = [];
for (let i = 0; i < res.length; i++) {
item.infos.push({
name: labels[i],
value: res[i].id,
percent: total == 0 ? 0 : (res[i].id / total * 100.0).toFixed(1)
});
}
},
renderDataItem1() {
let option = {
color: ["#71BCC4", "#EEBE47", "#5EA85D", "#5B84EB", "#E76168"],
series: [
{
type: 'pie',
radius: ['40%', '70%'],
padAngle: 1,
itemStyle: {
borderRadius: 5
}, emphasis: {
label: {
show: false,
}
},
label: {
show: false
},
labelLine: {
show: false
},
data: this.item1Data.datas
}
]
};
console.log("--->", this.item1Data.datas)
return option;
},
renderChart2(opt) {
let is1K = this.$dpi() == "1K";
let is2K = this.$dpi() == "2K";
let option = {
grid: {
left: "5%",
right: "5%",
bottom: "0%",
top: "15%",
containLabel: true,
},
tooltip: {
trigger: "axis",
valueFormatter: (v) => { return v },
textStyle: {
fontSize: is1K ? 12 : is2K ? 14 : 24
},
},
legend: {
top: is1K ? '0%' : is2K ? '0%' : '0%',
left: 'center',
itemWidth: is1K ? 25 : is2K ? 30 : 40,
itemHeight: is1K ? 14 : is2K ? 20 : 20,
itemGap: is1K ? 20 : is2K ? 30 : 40,
textStyle: {
color: "#fff",
fontSize: is1K ? 14 : is2K ? 20 : 30,
}
},
xAxis: [
{
type: "category",
data: this.chart2Data.map(it => it.name.replace(/[“”]/g, "'")),
axisLabel: {
width: 60,
rotate: 15,
fontSize: is1K ? 12 : is2K ? 14 : 24,
overflow: "break",
color: "#a2c8f9"
},
splitLine: {
lineStyle: {
opacity: 0.1
}
}
},
],
yAxis: [
{
type: "value",
minInterval: 1,
axisLabel: {
formatter: '{value}',
color: "#2ec2b3",
fontSize: is1K ? 12 : is2K ? 14 : 24
},
splitLine: {
lineStyle: {
opacity: 0.1
}
},
},
],
series: [
{
name: '问题数',
type: "bar",
barGap: '0%',
barWidth: '20%',
label: {
show: true,
position: "top",
color: "#4DAAFC",
fontSize: is1K ? 12 : is2K ? 14 : 24
},
lineStyle: {
color: "#7ddff2",
},
itemStyle: {
normal: { areaStyle: { type: "default", color: "#7ddff2", opacity: 0.1 } },
},
data: this.chart2Data.map(it => it.value1),
},
{
name: '待改数',
type: "bar",
barGap: '0%',
barWidth: '20%',
label: {
show: true,
position: "top",
color: "#4DAAFC",
fontSize: is1K ? 12 : is2K ? 14 : 24
},
lineStyle: {
color: "#006594",
},
itemStyle: {
normal: { areaStyle: { type: "default", color: "#006594", opacity: 0.1 } },
},
data: this.chart2Data.map(it => it.value2),
}
],
};
return option;
}
}
}
</script>
<style lang="less">
.project-safety-check {
.screen-one-1-3 {
height: calc(33% - 20px) !important;
}
.el-right {
height: calc(66% - 20px) !important;
.el-col-8 {
height: 100%;
.screen-one-2-1 {
margin: 0px 20px;
height: calc(100% - 0px) !important;
}
}
}
.chart1-module {
.el-col-12 {
height: 50%;
width: 50%;
display: flex;
.czz-number-img {
display: flex;
width: 80px;
height: 80px;
align-items: center;
justify-content: center;
svg {
width: 30px !important;
height: 30px !important;
fill: #00aaff59 !important;
}
}
.equipment-list-data_div_top {
span {
font-size: 14px;
color: #cbdaff;
font-weight: normal;
}
}
.equipment-list-data_div_bottom {
margin-top: 10px;
.sp-data {
font-size: 20px;
}
.sp-unit {
font-size: 14px;
color: #cbdaff;
font-weight: normal;
}
}
}
}
.div-item-chart {
position: relative;
height: 230px;
.data-item-chart {
height: 230px;
width: 230px;
display: inline-block;
position: relative;
.total-info {
position: absolute;
font-size: 20px;
top: calc(50% - 20px);
left: calc(50% - 50px);
display: inline-block;
width: 100px;
height: 40px;
text-align: center;
.sp-label {
font-size: 14px;
}
}
.chart-overview-gif {
width: 80px;
height: 80px;
top: calc(50% - 40px);
left: calc(50% - 40px);
}
}
}
@media (min-width: 1921px) and (max-width: 2560px) {
.chart1-module {
.el-col-12 {
.czz-number-img {
display: flex;
width: 100px;
height: 100px;
svg {
width: 40px !important;
height: 40px !important;
}
}
.equipment-list-data_div_top {
span {
font-size: 24px;
}
}
.equipment-list-data_div_bottom {
margin-top: 20px;
.sp-data {
font-size: 32px;
}
.sp-unit {
font-size: 24px;
}
}
}
}
}
@media (min-width: 2561px) {
.chart1-module {
.el-col-12 {
.czz-number-img {
display: flex;
width: 160px;
height: 160px;
svg {
width: 60px !important;
height: 60px !important;
}
}
.equipment-list-data_div_top {
span {
font-size: 32px;
}
}
.equipment-list-data_div_bottom {
margin-top: 20px;
.sp-data {
font-size: 40px;
}
.sp-unit {
font-size: 32px;
}
}
}
}
}
}
</style>

View File

@ -102,4 +102,11 @@ public interface SmzSspProblemmodifyMapper
* @return
*/
public List<SmzSspProblemmodify> groupByDangerType(SmzSspProblemmodify where);
/**
*
* @param where
* @return
*/
public List<SmzSspProblemmodify> getListCountBG(SmzSspProblemmodify where);
}

View File

@ -300,7 +300,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</update>
<sql id="countUserWhere">
<if test="problemType != null and problemType != ''"> and a,problemType = #{problemType}</if>
<if test="problemType != null and problemType != ''"> and a.problemType = #{problemType}</if>
<if test="dangerType != null and dangerType != ''"> and a.danger_type = #{dangerType}</if>
<if test="createTime != null "> and date(a.createTime) &gt;= date(#{createTime})</if>
<if test="updateTime != null "> and date(a.updateTime) &lt;= date(#{updateTime})</if>
@ -331,6 +331,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="countUserWhere"></include>
</select>
<select id="getListCountBG" parameterType="SmzSspProblemmodify" resultMap="SmzSspProblemmodifyResult">
select 'a' projectName, count(1) id ,'全部' remark from smz_ssp_problemmodify a where a.projectId=#{projectId} and a.comId=#{comId} and a.infoType=#{infoType} and a.isDel=0
<include refid="countUserWhere"></include>
union
select 'b' projectName, count(1) id,'待整改' remark from smz_ssp_problemmodify a where a.projectId=#{projectId} and a.comId=#{comId} and a.infoType=#{infoType} and a.isDel=0 and a.checkState in (0)
<include refid="countUserWhere"></include>
union
select 'c' projectName, count(1) id,'待复检' remark from smz_ssp_problemmodify a where a.projectId=#{projectId} and a.comId=#{comId} and a.infoType=#{infoType} and a.isDel=0 and a.checkState in (1)
<include refid="countUserWhere"></include>
union
select 'd' projectName, count(1) id,'驳回' remark from smz_ssp_problemmodify a where a.projectId=#{projectId} and a.comId=#{comId} and a.infoType=#{infoType} and a.isDel=0 and a.checkState in (3)
<include refid="countUserWhere"></include>
union
select 'e' projectName, count(1) id,'完成' remark from smz_ssp_problemmodify a where a.projectId=#{projectId} and a.comId=#{comId} and a.infoType=#{infoType} and a.isDel=0 and a.checkState in (4)
<include refid="countUserWhere"></include>
union
select 'f' projectName, count(1) id,'整改超时' remark from smz_ssp_problemmodify a where a.projectId=#{projectId} and a.comId=#{comId} and a.infoType=#{infoType} and a.isDel=0 and a.checkState not in (4) and date(a.nickedTime) &lt;= curdate()
<include refid="countUserWhere"></include>
</select>
<select id="getWxListCount" parameterType="SmzSspProblemmodify" resultType="Map">
select ssp.checkState, count(1) as total from smz_ssp_problemmodify ssp
<where>

View File

@ -338,7 +338,7 @@ public class SmzSspProblemmodifyController extends BaseController
@RequiresPermissions("trouble:problemmodify:list")
@GetMapping("/listCountForBG")
public AjaxResult listCountForBG(SmzSspProblemmodify where){
List<SmzSspProblemmodify> result=smzSspProblemmodifyService.getListCount(where);
List<SmzSspProblemmodify> result=smzSspProblemmodifyService.getListCountBG(where);
return AjaxResult.success(result);
}

View File

@ -106,4 +106,10 @@ public interface ISmzSspProblemmodifyService
*/
public List<SmzSspProblemmodify> groupByDangerType(SmzSspProblemmodify where);
/**
*
* @param where
* @return
*/
public List<SmzSspProblemmodify> getListCountBG(SmzSspProblemmodify where);
}

View File

@ -92,7 +92,7 @@ public class SmzSspAuditinfoServiceImpl implements ISmzSspAuditinfoService
SmzSspProblemmodify smzSspProblemmodify = new SmzSspProblemmodify();
smzSspProblemmodify.setId(smzSspAuditinfo.getMainId());
// (0待审1通过2驳回)
//0待整改1待复检2复检驳回3复检通过)
//0待整改1待复检3复检驳回4复检通过)
if("0".equals(smzSspAuditinfo.getProcessState())){
smzSspProblemmodify.setCheckState(CheckStateEnums.DFJ.getCode());
}else if("1".equals(smzSspAuditinfo.getProcessState())){

View File

@ -188,5 +188,14 @@ public class SmzSspProblemmodifyServiceImpl implements ISmzSspProblemmodifyServi
public List<SmzSspProblemmodify> groupByDangerType(SmzSspProblemmodify where) {
return smzSspProblemmodifyMapper.groupByDangerType(where);
}
/**
*
* @param where
* @return
*/
@Override
public List<SmzSspProblemmodify> getListCountBG(SmzSspProblemmodify where) {
return smzSspProblemmodifyMapper.getListCountBG(where);
}
}