举牌验收大屏开发

dev_xd
lj7788@126.com 2025-08-01 13:47:19 +08:00
parent 1c1c89849d
commit 7144937b6a
18 changed files with 517 additions and 292 deletions

View File

@ -1,132 +1,204 @@
<template> <template>
<MyDialog v-if="show" v-model="show" width="960px" height="650px" class="project-checked-detail-dialog"> <MyDialog
<template slot="title">举牌验收详情</template> v-if="show"
<div class="detail-content scroll"> v-model="show"
<div class="data-row"> :width="dlgWidth"
<div class="data-label">验收时间:</div> :key="dpi"
<div class="data-content">{{ row.checkingDate }}</div> :height="dlgHeight"
</div> class="project-checked-detail-dialog"
<div class="data-row"> >
<div class="data-label">验收结果:</div> <template slot="title">举牌验收详情</template>
<div class="data-content"> <div class="detail-content scroll">
<span :class="'check-state check-state-' + row.checkResultColor">{{ <div class="data-row">
row.checkResultName }}</span> <div class="data-label">验收时间:</div>
</div> <div class="data-content">{{ row.checkingDate }}</div>
</div> </div>
<div class="data-row">
<div class="data-row"> <div class="data-label">验收结果:</div>
<div class="data-label">验收图片:</div> <div class="data-content">
<div class="data-content data-images"> <span :class="'check-state check-state-' + row.checkResultColor">{{
<div class="data-img" v-for="(it, index) in row.images" :key="index"> row.checkResultName
<el-image :src="it" :preview-src-list="row.images" fit="cover" /> }}</span>
</div>
</div>
</div>
<div class="data-row">
<div class="data-label">工序部位:</div>
<div class="data-content">{{ row.workingPosition }}</div>
</div>
<div class="data-row">
<div class="data-label">验收描述:</div>
<div class="data-content">{{ row.intro }}</div>
</div>
<div class="data-row">
<div class="data-label">班组长:</div>
<div class="data-content">{{ row.groupDeptUserName }}({{ row.groupDeptUser }})</div>
</div>
<div class="data-row">
<div class="data-label">技术员:</div>
<div class="data-content">{{ row.technicianUserName }}({{ row.technicianUserName }})</div>
</div>
<div class="data-row">
<div class="data-label">监理专员:</div>
<div class="data-content">{{ row.superviseUserName }}({{ row.superviseUserName }})</div>
</div>
<div class="data-row">
<div class="data-label">三方验收照:</div>
<div class="data-content check-images">
<div class="data-img" v-for="(it, index) in row.checkImages" :key="index">
<el-image :src="it" :preview-src-list="row.checkImages" fit="cover" />
</div>
</div>
</div>
</div> </div>
</MyDialog> </div>
<div class="data-row">
<div class="data-label">验收图片:</div>
<div class="data-content data-images">
<div class="data-img" v-for="(it, index) in row.images" :key="index">
<el-image :src="it" :preview-src-list="row.images" fit="cover" />
</div>
</div>
</div>
<div class="data-row">
<div class="data-label">工序部位:</div>
<div class="data-content">{{ row.workingPosition }}</div>
</div>
<div class="data-row">
<div class="data-label">验收描述:</div>
<div class="data-content">{{ row.intro }}</div>
</div>
<div class="data-row">
<div class="data-label">班组长:</div>
<div class="data-content">
{{ row.groupDeptUserName }}({{ row.groupDeptUser }})
</div>
</div>
<div class="data-row">
<div class="data-label">技术员:</div>
<div class="data-content">
{{ row.technicianUserName }}({{ row.technicianUserName }})
</div>
</div>
<div class="data-row">
<div class="data-label">监理专员:</div>
<div class="data-content">
{{ row.superviseUserName }}({{ row.superviseUserName }})
</div>
</div>
<div class="data-row">
<div class="data-label">三方验收照:</div>
<div class="data-content check-images">
<div
class="data-img"
v-for="(it, index) in row.checkImages"
:key="index"
>
<el-image
:src="it"
:preview-src-list="row.checkImages"
fit="cover"
/>
</div>
</div>
</div>
</div>
</MyDialog>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
loading: false, dpi: "",
show: false, loading: false,
row: null show: false,
} dlgWidth: "960px",
}, dlgHeight: "650px",
row: null,
};
},
methods: { methods: {
showDialog(data) { showDialog(data) {
this.row = data this.dpi = this.$dpi();
this.show = true window.addEventListener("resize", () => {
}, if (this.dpi != this.$dpi()) {
this.dpi = this.$dpi();
this.resize();
}
});
this.row = data;
this.show = true;
this.resize();
}, },
} resize() {
let is1K = this.$dpi() == "1K";
let is2K = this.$dpi() == "2K";
this.dlgWidth = is1K ? "960px" : is2K ? "1200px" : "1600px";
this.dlgHeight = is1K ? "650px" : is2K ? "800px" : "960px";
},
},
};
</script> </script>
<style lang="less"> <style lang="less">
.project-checked-detail-dialog { .project-checked-detail-dialog {
.popup-project-introduction-min { .popup-project-introduction-min {
.detail-content { .detail-content {
height: 500px; height: 500px;
overflow-y: auto; overflow-y: auto;
.data-row { .data-row {
display: flex; display: flex;
color: #3da2ff; color: #3da2ff;
line-height: 30px; line-height: 30px;
.data-label { .data-label {
min-width: 120px; min-width: 120px;
text-align: right; text-align: right;
color: #32e1e4; color: #32e1e4;
padding-right: 10px; padding-right: 10px;
}
.data-images,
.check-images {
width: 100%;
.data-img {
margin-right: 1%;
width: 32%;
display: inline-block;
}
}
.check-state {
display: inline-block;
line-height: 20px;
padding: 2px 4px;
border-radius: 4px;
&.check-state-1 {
color: #09f509;
background: #01b24954;
}
&.check-state-2 {
color: #192c64;
background: #6abee9;
}
}
}
} }
.data-images,
.check-images {
width: 100%;
.data-img {
margin-right: 1%;
width: 32%;
display: inline-block;
}
}
.check-state {
display: inline-block;
line-height: 20px;
padding: 2px 4px;
border-radius: 4px;
&.check-state-1 {
color: #09f509;
background: #01b24954;
}
&.check-state-2 {
color: #192c64;
background: #6abee9;
}
}
}
} }
@media (min-width: 1921px) and (max-width: 2560px) {
.detail-content {
height: 720px;
.data-row {
line-height: 36px;
font-size: 16px;
.data-label {
min-width: 140px;
}
.check-state {
line-height: 30px;
padding: 0px 10px;
border-radius: 6px;
}
}
}
}
@media (min-width: 2561px) {
.detail-content {
height: 870px;
.data-row {
line-height: 60px;
font-size: 24px;
.data-label {
min-width: 160px;
}
.check-state {
line-height: 60px;
padding: 0px 10px;
border-radius: 10px;
}
}
}
}
}
} }
</style> </style>

View File

@ -35,7 +35,7 @@
style="height: unset;cursor: pointer;"> style="height: unset;cursor: pointer;">
<div class="glr-login-number-bgd glr-login-number-red-bgd"></div> <div class="glr-login-number-bgd glr-login-number-red-bgd"></div>
<div class="glr-login-number analyse-login-numbe"> <div class="glr-login-number analyse-login-numbe">
<div><img src="images/text_red_spot.png" />{{ item.name }}</div> <div><img src="/cdn/bsimages/text_red_spot.png" />{{ item.name }}</div>
<div class="glr-rate-value glr-rate-red-value"> <div class="glr-rate-value glr-rate-red-value">
<template v-if="idx == 0"> <template v-if="idx == 0">
<span style="color: #c0dafb">{{ item.total }}</span> <span style="color: #c0dafb">{{ item.total }}</span>

View File

@ -111,7 +111,7 @@
</module-one-2-2> </module-one-2-2>
<module-one-1-2 label="节能减排趋势" class="energy-tendency"> <module-one-1-2 label="节能减排趋势" class="energy-tendency">
<el-col :span="8" class="et-chart1"> <el-col :span="8" class="et-chart1">
<img src="images/security1.gif" class="time-img" /> <img src="/cdn/bsimages/security1.gif" class="time-img" />
<my-chart :key="chartKey" id="energy-tendency-total" width="100%" height="100%" :render="renderChart4"></my-chart> <my-chart :key="chartKey" id="energy-tendency-total" width="100%" height="100%" :render="renderChart4"></my-chart>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="16">

View File

@ -56,6 +56,9 @@ Vue.prototype.$bus = vue;
Vue.prototype.$apiPath = process.env.VUE_APP_BASE_API; Vue.prototype.$apiPath = process.env.VUE_APP_BASE_API;
Vue.prototype.$dt = dayjs; Vue.prototype.$dt = dayjs;
Vue.prototype.$tryToJson = tryToJson; Vue.prototype.$tryToJson = tryToJson;
Vue.prototype.isLocal=()=>{
return location.href.indexOf('localhost')>-1
}
Vue.prototype.$toggleFullScreen = (el) => { Vue.prototype.$toggleFullScreen = (el) => {
if (document.fullscreenElement == el) { if (document.fullscreenElement == el) {
let screen = let screen =

View File

@ -35,7 +35,7 @@
<many-chart :dataList="moreData" v-if="moreData.length > 0"></many-chart> <many-chart :dataList="moreData" v-if="moreData.length > 0"></many-chart>
<div class="no-data" v-else> <div class="no-data" v-else>
<img src="images/nodata.png" class="no-data-img" /> <img src="/cdn/bsimages/nodata.png" class="no-data-img" />
<div style="text-align: center;" class="no-data-text">暂无数据</div> <div style="text-align: center;" class="no-data-text">暂无数据</div>
</div> </div>
</div> </div>

View File

@ -10,16 +10,17 @@
<template v-if="weekData.length == 0"> <template v-if="weekData.length == 0">
<div class="no-data"> <div class="no-data">
<div class="no-data-conten"> <div class="no-data-conten">
<img src="images/nodata.png" style="width: 240px;" /> <img src="/cdn/bsimages/nodata.png" style="width: 240px" />
<div class="no-data">暂无数据</div> <div class="no-data">暂无数据</div>
</div> </div>
</div> </div>
</template> </template>
<template v-else> <template v-else>
<div class="week-list scroll" :key="weekKey"> <div class="week-list scroll" :key="weekKey">
<div class="week-item" v-for="(it, index) in weekData" :key="index" @click="handleWeekItemClick(it, $event)"> <div class="week-item" v-for="(it, index) in weekData" :key="index"
@click="handleWeekItemClick(it, $event)">
<div class="item-left"> <div class="item-left">
<el-image :src="it.image" :preview-src-list="it.images" fit="cover" /> <el-image :src="it.image" :preview-src-list="it.images" fit="contain" />
</div> </div>
<div class="item-right"> <div class="item-right">
<div class="item-right-row"> <div class="item-right-row">
@ -33,48 +34,55 @@
</div> </div>
<div class="item-right-row"> <div class="item-right-row">
<div class="item-label">班组长:</div> <div class="item-label">班组长:</div>
<div class="item-data">{{ it.groupDeptUserName }}({{ it.groupDeptUser }})</div> <div class="item-data">
{{ it.groupDeptUserName }}({{ it.groupDeptUser }})
</div>
</div> </div>
<div class="item-right-row"> <div class="item-right-row">
<div class="item-label">技术员:</div> <div class="item-label">技术员:</div>
<div class="item-data">{{ it.technicianUserName }}({{ it.technicianUser }})</div> <div class="item-data">
{{ it.technicianUserName }}({{ it.technicianUser }})
</div>
</div> </div>
<div class="item-right-row"> <div class="item-right-row">
<div class="item-label">监理专员:</div> <div class="item-label">监理专员:</div>
<div class="item-data">{{ it.superviseUserName }}({{ it.superviseUser }})</div> <div class="item-data">
{{ it.superviseUserName }}({{ it.superviseUser }})
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
</module-one-2-1> </module-one-2-1>
</el-col> </el-col>
<el-col :span="18" class="h100"> <el-col :span="18" class="h100">
<module-one-2-3 label="举牌验收列表" class="h66 list-group"> <module-one-2-3 label="举牌验收列表" class="h66 list-group">
<div class="head-title-tab" :key="chart1Key"> <div class="head-title-tab" :key="chart1Key">
<div :class="nav == 1 ? 'head-nav active' : 'head-nav'" @click="doNav(1)">({{ <div :class="nav == 1 ? 'head-nav active' : 'head-nav'" @click="doNav(1)">
getCheckedCount(1) }})</div> 已验收({{ getCheckedCount(1) }})
<div :class="nav == 0 ? 'head-nav active' : 'head-nav'" @click="doNav(0)">({{ </div>
getCheckedCount(0) }})</div> <div :class="nav == 0 ? 'head-nav active' : 'head-nav'" @click="doNav(0)">
未验收({{ getCheckedCount(0) }})
</div>
</div> </div>
<template v-if="listData.length == 0"> <template v-if="listData.length == 0">
<div class="no-data"> <div class="no-data">
<div class="no-data-conten"> <div class="no-data-conten">
<img src="images/nodata.png" style="width: 240px;" /> <img src="/cdn/bsimages/nodata.png" style="width: 240px" />
<div class="no-data">暂无数据</div> <div class="no-data">暂无数据</div>
</div> </div>
</div> </div>
</template> </template>
<template v-else> <template v-else>
<div class="list-data scroll" :key="listKey"> <div class="list-data scroll" :key="listKey">
<div class="week-item" v-for="(it, index) in weekData" :key="index" @click="handleWeekItemClick(it, $event)"> <div class="week-item" v-for="(it, index) in listData" :key="index"
<div class="item-left" > @click="handleWeekItemClick(it, $event)">
<el-image :src="it.image" :preview-src-list="it.images" fit="cover" /> <div class="item-left">
<el-image :src="it.image" :preview-src-list="it.images" fit="contain" />
</div> </div>
<div class="item-right"> <div class="item-right">
<div class="item-right-row"> <div class="item-right-row">
@ -88,17 +96,23 @@
</div> </div>
<div class="item-right-row"> <div class="item-right-row">
<div class="item-label">班组长:</div> <div class="item-label">班组长:</div>
<div class="item-data">{{ it.groupDeptUserName }}({{ it.groupDeptUser }})</div> <div class="item-data">
{{ it.groupDeptUserName }}({{ it.groupDeptUser }})
</div>
</div> </div>
<div class="item-right-row"> <div class="item-right-row">
<div class="item-label">技术员:</div> <div class="item-label">技术员:</div>
<div class="item-data">{{ it.technicianUserName }}({{ it.technicianUser }})</div> <div class="item-data">
{{ it.technicianUserName }}({{ it.technicianUser }})
</div>
</div> </div>
<div class="item-right-row"> <div class="item-right-row">
<div class="item-label">监理专员:</div> <div class="item-label">监理专员:</div>
<div class="item-data">{{ it.superviseUserName }}({{ it.superviseUser }})</div> <div class="item-data">
{{ it.superviseUserName }}({{ it.superviseUser }})
</div>
</div> </div>
</div> </div>
</div> </div>
@ -106,14 +120,13 @@
<el-pagination layout="total,prev, pager, next" :hide-on-single-page="true" <el-pagination layout="total,prev, pager, next" :hide-on-single-page="true"
@current-change="handleCurrentChange" :total="total" :page-size="size" @current-change="handleCurrentChange" :total="total" :page-size="size"
:current-page.sync="index" class="bg-pagination"></el-pagination> :current-page.sync="index" class="bg-pagination"></el-pagination>
</template> </template>
</module-one-2-3> </module-one-2-3>
<module-one-1-3 label="举牌验收技术员统计" class="h33 group-technician"> <module-one-1-3 label="举牌验收技术员统计" class="h33 group-technician">
<template v-if="technicianData.length == 0"> <template v-if="technicianData.length == 0">
<div class="no-data"> <div class="no-data">
<div class="no-data-conten"> <div class="no-data-conten">
<img src="images/nodata.png" style="width: 240px;" /> <img src="/cdn/bsimages/nodata.png" style="width: 240px" />
<div class="no-data">暂无数据</div> <div class="no-data">暂无数据</div>
</div> </div>
</div> </div>
@ -130,10 +143,10 @@
<script> <script>
import debounce from "lodash.debounce"; import debounce from "lodash.debounce";
import projectCheckedDetailDialog from '@/views/check/projectCheckedDetailDialog.vue' import projectCheckedDetailDialog from "@/views/check/projectCheckedDetailDialog.vue";
export default { export default {
components: { components: {
projectCheckedDetailDialog projectCheckedDetailDialog,
}, },
data() { data() {
return { return {
@ -144,10 +157,8 @@ export default {
chart1Key: 0, chart1Key: 0,
chart1Height: 200, chart1Height: 200,
groupTotal: 0, groupTotal: 0,
groupLendOpt: { groupLendOpt: {},
}, groupData: [],
groupData: [
],
// //
chart2Key: 0, chart2Key: 0,
chart2Height: 200, chart2Height: 200,
@ -162,7 +173,7 @@ export default {
size: 9, size: 9,
index: 1, index: 1,
listKey: 10000, listKey: 10000,
} };
}, },
mounted() { mounted() {
this.$store.dispatch("ChangeNav", 403); this.$store.dispatch("ChangeNav", 403);
@ -187,40 +198,40 @@ export default {
}, },
methods: { methods: {
setOpts() { setOpts() {
let is1K = this.$dpi() == '1K' let is1K = this.$dpi() == "1K";
let is2K = this.$dpi() == '2K' let is2K = this.$dpi() == "2K";
this.groupLendOpt = { this.groupLendOpt = {
icon: 'rect', icon: "rect",
orient: 'horizontal', orient: "horizontal",
itemWidth: '50%', itemWidth: "50%",
left: 240, left: 240,
right: '10%', right: "10%",
itemWidth: 20, itemWidth: 20,
itemGap: 20, itemGap: 20,
itemHeight: 20, itemHeight: 20,
textStyle: { textStyle: {
padding: [0, 0, 0, 0], padding: [0, 0, 0, 0],
fontSize: is1K ? 10 : is2K ? 14 : 16, fontSize: is1K ? 10 : is2K ? 14 : 20,
color: '#c3dbfd', color: "#c3dbfd",
align: 'center', align: "center",
rich: { rich: {
name: { name: {
fontSize: is1K ? 10 : is2K ? 14 : 16, fontSize: is1K ? 10 : is2K ? 14 : 20,
color: '#c3dbfd', color: "#c3dbfd",
padding: [5, 2, 5, 2], padding: [5, 2, 5, 2],
}, },
percent: { percent: {
fontSize: is1K ? 10 : is2K ? 14 : 16, fontSize: is1K ? 10 : is2K ? 14 : 20,
color: '#4676FD', color: "#4676FD",
padding: [0, 2, 0, 2], padding: [0, 2, 0, 2],
}, },
}, },
}, },
} };
}, },
init() { init() {
if (!this.selProject) { if (!this.selProject) {
return return;
} }
this.chartKey++; this.chartKey++;
this.loadGroupData(); this.loadGroupData();
@ -230,23 +241,25 @@ export default {
this.doNav(1); this.doNav(1);
}, },
resize() { resize() {
let is1K = this.$dpi() == '1K' let is1K = this.$dpi() == "1K";
let is2K = this.$dpi() == '2K' let is2K = this.$dpi() == "2K";
this.chart1Height = is1K ? 230 : is2K ? 360 : 595 this.chart1Height = is1K ? 230 : is2K ? 360 : 595;
this.chart1Key++; this.chart1Key++;
this.chart2Key++; this.chart2Key++;
}, },
getCheckedCount(n) { getCheckedCount(n) {
let obj = this.groupData.find(item => item.name == (n == 1 ? '已验收' : '未验收')) let obj = this.groupData.find(
return obj ? obj.value : 0 (item) => item.name == (n == 1 ? "已验收" : "未验收")
);
return obj ? obj.value : 0;
}, },
showDetail(row){ showDetail(row) {
this.$refs.detailDlg.showDialog(row); this.$refs.detailDlg.showDialog(row);
}, },
handleWeekItemClick(row, event) { handleWeekItemClick(row, event) {
// //
const target = event.target; const target = event.target;
const imageContainer = event.currentTarget.querySelector('.item-left'); const imageContainer = event.currentTarget.querySelector(".item-left");
if (imageContainer && !imageContainer.contains(target)) { if (imageContainer && !imageContainer.contains(target)) {
this.showDetail(row); this.showDetail(row);
} }
@ -260,7 +273,7 @@ export default {
this.loadDataList(); this.loadDataList();
}, },
handleCurrentChange(n) { handleCurrentChange(n) {
this.index = n this.index = n;
this.loadDataList(); this.loadDataList();
}, },
loadDataList() { loadDataList() {
@ -269,10 +282,13 @@ export default {
checkResult: this.nav == 1 ? 99 : 100, checkResult: this.nav == 1 ? 99 : 100,
pageNum: this.index, pageNum: this.index,
pageSize: this.size, pageSize: this.size,
} };
this.$api.checked.listProjectChecked(param).then(res => { this.$api.checked.listProjectChecked(param).then((res) => {
this.total = res.total + 88; this.total = res.total + 20;
this.listData = this.mapData(res); this.listData = this.mapData(res);
for (let i = 0; i < 7; i++) {
this.listData.push(this.listData[0]);
}
this.listKey++; this.listKey++;
}); });
}, },
@ -282,34 +298,34 @@ export default {
remark: "lastWeek", remark: "lastWeek",
pageNum: 1, pageNum: 1,
pageSize: 100, pageSize: 100,
} };
this.$api.checked.listProjectChecked(param).then(res => { this.$api.checked.listProjectChecked(param).then((res) => {
this.weekData = this.mapData(res); this.weekData = this.mapData(res);
for (i = 0; i < 8; i++) { for (let i = 0; i < 8; i++) {
this.weekData.push(this.weekData[0]) this.weekData.push(this.weekData[0]);
} }
this.weekKey++; this.weekKey++;
}) });
}, },
mapData(res) { mapData(res) {
return (res.rows || []).map(item => { return (res.rows || []).map((item) => {
if (item.imageUrls) { if (item.imageUrls) {
item.images = item.imageUrls.split(','); item.images = item.imageUrls.split(",");
item.image = item.images[0]; item.image = item.images[0];
for(let i=0;i<6;i++){ for (let i = 0; i < 6; i++) {
item.images.push(item.images[0]) item.images.push(item.images[0]);
} }
} else { } else {
item.image = ""; item.image = "";
item.images = [] item.images = [];
} }
if (item.checkingFiles) { if (item.checkingFiles) {
item.checkImages = item.checkingFiles.split(','); item.checkImages = item.checkingFiles.split(",");
item.checkImage = item.images[0]; item.checkImage = item.images[0];
} else { } else {
item.checkImage = ""; item.checkImage = "";
item.checkImages = [] item.checkImages = [];
} }
if (item.checkResult == 1 && item.approveStatus == 100) { if (item.checkResult == 1 && item.approveStatus == 100) {
@ -324,82 +340,81 @@ export default {
}); });
}, },
loadGroupData() { loadGroupData() {
this.$api.checked.groupByStatus(this.selProject.id).then(res => { this.$api.checked.groupByStatus(this.selProject.id).then((res) => {
let cnt = 0; let cnt = 0;
let tmps = (res.data || []).map(it => { let tmps = (res.data || []).map((it) => {
return { return {
name: it.title, name: it.title,
value: it.cnt value: it.cnt,
} };
}); });
tmps.forEach(it => { tmps.forEach((it) => {
cnt += it.value; cnt += it.value;
}); });
this.groupData = tmps; this.groupData = tmps;
this.groupTotal = cnt; this.groupTotal = cnt;
this.chart1Key++; this.chart1Key++;
}) });
}, },
changeChart1(opt) { changeChart1(opt) {
if (this.$dpi() == '1K') { if (this.$dpi() == "1K") {
opt.legend[0].left = 200 opt.legend[0].left = 200;
return opt return opt;
} else if (this.$dpi() == '2K') { } else if (this.$dpi() == "2K") {
opt.legend[0].left = 360 opt.legend[0].left = 360;
return opt return opt;
} else { } else {
opt.legend[0].left = 500 opt.legend[0].left = 500;
return opt return opt;
} }
}, },
loadGroupByTechnician() { loadGroupByTechnician() {
this.$api.checked.groupByTechnician(this.selProject.id).then(res => { this.$api.checked.groupByTechnician(this.selProject.id).then((res) => {
this.technicianData = res; this.technicianData = res;
this.chart2Key++; this.chart2Key++;
}) });
}, },
renderChart2(opt) { renderChart2(opt) {
let is1K = this.$dpi() == '1K' let is1K = this.$dpi() == "1K";
let is2K = this.$dpi() == '2K' let is2K = this.$dpi() == "2K";
let option = { let option = {
grid: { grid: {
left: '5%', left: "5%",
right: '5%', right: "5%",
bottom: '0%', bottom: "0%",
top: '15%', top: "15%",
containLabel: true, containLabel: true,
}, },
tooltip: { tooltip: {
trigger: 'axis', trigger: "axis",
valueFormatter: (v) => { valueFormatter: (v) => {
return v return v;
}, },
textStyle: { textStyle: {
fontSize: is1K ? 12 : is2K ? 14 : 24, fontSize: is1K ? 12 : is2K ? 14 : 24,
}, },
}, },
legend: { legend: {
top: is1K ? '0%' : is2K ? '0%' : '0%', top: is1K ? "0%" : is2K ? "0%" : "0%",
left: 'center', left: "center",
itemWidth: is1K ? 25 : is2K ? 30 : 40, itemWidth: is1K ? 25 : is2K ? 30 : 40,
itemHeight: is1K ? 14 : is2K ? 20 : 20, itemHeight: is1K ? 14 : is2K ? 20 : 20,
itemGap: is1K ? 20 : is2K ? 30 : 40, itemGap: is1K ? 20 : is2K ? 30 : 40,
textStyle: { textStyle: {
color: '#fff', color: "#fff",
fontSize: is1K ? 14 : is2K ? 20 : 30, fontSize: is1K ? 14 : is2K ? 20 : 30,
}, },
}, },
xAxis: [ xAxis: [
{ {
type: 'category', type: "category",
data: this.technicianData.map((it) => it.name), data: this.technicianData.map((it) => it.name),
axisLabel: { axisLabel: {
width: is1K ? 60 : is2K ? 140 : 220, width: is1K ? 60 : is2K ? 140 : 220,
margin: 15, margin: 15,
fontSize: is1K ? 12 : is2K ? 14 : 22, fontSize: is1K ? 12 : is2K ? 14 : 22,
overflow: 'break', overflow: "break",
color: '#a2c8f9', color: "#a2c8f9",
}, },
splitLine: { splitLine: {
lineStyle: { lineStyle: {
@ -410,11 +425,11 @@ export default {
], ],
yAxis: [ yAxis: [
{ {
type: 'value', type: "value",
minInterval: 1, minInterval: 1,
axisLabel: { axisLabel: {
formatter: '{value}', formatter: "{value}",
color: '#2ec2b3', color: "#2ec2b3",
fontSize: is1K ? 12 : is2K ? 14 : 24, fontSize: is1K ? 12 : is2K ? 14 : 24,
}, },
splitLine: { splitLine: {
@ -426,49 +441,49 @@ export default {
], ],
series: [ series: [
{ {
name: '已验收', name: "已验收",
type: 'bar', type: "bar",
barGap: '0%', barGap: "0%",
barWidth: '20%', barWidth: "20%",
label: { label: {
show: true, show: true,
position: 'top', position: "top",
color: '#4DAAFC', color: "#4DAAFC",
fontSize: is1K ? 12 : is2K ? 14 : 24, fontSize: is1K ? 12 : is2K ? 14 : 24,
}, },
lineStyle: { lineStyle: {
color: '#7ddff2', color: "#7ddff2",
}, },
itemStyle: { itemStyle: {
color: '#4974ff', color: "#4974ff",
}, },
data: this.technicianData.map((it) => it.accepted), data: this.technicianData.map((it) => it.accepted),
}, },
{ {
name: '待验收', name: "待验收",
type: 'bar', type: "bar",
barGap: '0%', barGap: "0%",
barWidth: '20%', barWidth: "20%",
label: { label: {
show: true, show: true,
position: 'top', position: "top",
color: '#4DAAFC', color: "#4DAAFC",
fontSize: is1K ? 12 : is2K ? 14 : 24, fontSize: is1K ? 12 : is2K ? 14 : 24,
}, },
lineStyle: { lineStyle: {
color: '#006594', color: "#006594",
}, },
itemStyle: { itemStyle: {
color: '#52aef7', color: "#52aef7",
}, },
data: this.technicianData.map((it) => it.toBe), data: this.technicianData.map((it) => it.toBe),
}, },
], ],
} };
return option return option;
}, },
} },
} };
</script> </script>
<style lang="less"> <style lang="less">
@ -546,7 +561,6 @@ export default {
grid-template-rows: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr);
gap: 10px; gap: 10px;
} }
} }
} }
@ -563,7 +577,14 @@ export default {
.item-left { .item-left {
width: 40%; width: 40%;
height: 100%; height: 120px;
display: flex;
align-items: center;
justify-content: center;
.el-image {
height: 100%;
}
} }
.item-right { .item-right {
@ -577,9 +598,11 @@ export default {
flex-flow: row; flex-flow: row;
line-height: 24px; line-height: 24px;
position: relative; position: relative;
.item-label{
color: #32e1e4; .item-label {
color: #32e1e4;
} }
.check-state { .check-state {
display: inline-block; display: inline-block;
line-height: 20px; line-height: 20px;
@ -604,7 +627,130 @@ export default {
} }
} }
} }
}
@media (min-width: 1921px) and (max-width: 2560px) {
.chart1-group {
.chart-gif,
.chart-text {
left: 59px !important;
top: 95px !important;
width: 170px;
height: 170px;
.chart-text-title {
font-size: 30px;
}
.chart-text-sub-title {
font-size: 20px;
}
}
}
.list-group {
.module-ctx {
.list-data {
height: calc(100% - 150px);
}
}
}
.week-group {
.module-ctx {
height: calc(100% - 50px);
}
}
.group-technician {
.module-ctx {
height: calc(100% - 50px);
}
}
.week-item {
.item-left {
height: 190px;
}
.item-right {
font-size: 16px;
padding-left: 10px;
.item-right-row {
line-height: 30px;
.check-state {
line-height: 30px;
padding: 0px 10px;
border-radius: 5px;
}
}
}
}
}
@media (min-width: 2561px) {
.chart1-group {
.chart-gif,
.chart-text {
left: 79px !important;
top: 153px !important;
width: 290px;
height: 290px;
.chart-text-title {
font-size: 50px;
}
.chart-text-sub-title {
font-size: 30px;
}
}
}
.list-group {
.module-ctx {
.list-data {
height: calc(100% - 200px);
}
}
}
.week-group {
.module-ctx {
height: calc(100% - 60px);
}
}
.group-technician {
.module-ctx {
height: calc(100% - 60px);
}
}
.week-item {
.item-left {
height: 330px;
}
.item-right {
font-size: 24px;
padding-left: 20px;
.item-right-row {
line-height: 60px;
.check-state {
line-height: 60px;
padding: 0px 10px;
border-radius: 10px;
}
}
}
}
} }
} }
</style> </style>

View File

@ -2,7 +2,7 @@
<div class="project-detail main-page"> <div class="project-detail main-page">
<el-col :span="6" class="h100"> <el-col :span="6" class="h100">
<module-one-1-1 label="项目概况"> <module-one-1-1 label="项目概况">
<img src="images/icon2001.png" class="img-openwin" @click="showDetailDlg" /> <img src="/cdn/bsimages/icon2001.png" class="img-openwin" @click="showDetailDlg" />
<el-tooltip :content="selProject?.projectName || ''" placement="top"> <el-tooltip :content="selProject?.projectName || ''" placement="top">
<div class="glr-title prj-info-title">{{ selProject?.projectName || "" }}</div> <div class="glr-title prj-info-title">{{ selProject?.projectName || "" }}</div>
</el-tooltip> </el-tooltip>
@ -12,7 +12,7 @@
<div class="dept-title">建设单位</div> <div class="dept-title">建设单位</div>
<div v-if="deptType1 == null" class="dept-nodata"></div> <div v-if="deptType1 == null" class="dept-nodata"></div>
<div class="dept-info" v-else> <div class="dept-info" v-else>
<img class="dept-img" src="images/company_3.png" /> <img class="dept-img" src="/cdn/bsimages/company_3.png" />
<div class="dept-row"> <div class="dept-row">
<div class="dept-name" :title="deptType1.deptName">{{ deptType1.deptName }}</div> <div class="dept-name" :title="deptType1.deptName">{{ deptType1.deptName }}</div>
<div class="dept-leader-phone" :title="(deptType1.leader || '') + ' ' + (deptType1.phone || '')"> <div class="dept-leader-phone" :title="(deptType1.leader || '') + ' ' + (deptType1.phone || '')">
@ -26,7 +26,7 @@
<div class="dept-title">设计单位</div> <div class="dept-title">设计单位</div>
<div v-if="deptType2 == null" class="dept-nodata"></div> <div v-if="deptType2 == null" class="dept-nodata"></div>
<div class="dept-info" v-else> <div class="dept-info" v-else>
<img class="dept-img" src="images/company_2.png" /> <img class="dept-img" src="/cdn/bsimages/company_2.png" />
<div class="dept-row"> <div class="dept-row">
<div class="dept-name" :title="deptType2.deptName">{{ deptType2.deptName }}</div> <div class="dept-name" :title="deptType2.deptName">{{ deptType2.deptName }}</div>
<div class="dept-leader-phone" :title="(deptType2.leader || '') + ' ' + (deptType2.phone || '')"> <div class="dept-leader-phone" :title="(deptType2.leader || '') + ' ' + (deptType2.phone || '')">
@ -42,7 +42,7 @@
<div class="dept-title">总包单位</div> <div class="dept-title">总包单位</div>
<div v-if="deptType3.deptName == null" class="dept-nodata"></div> <div v-if="deptType3.deptName == null" class="dept-nodata"></div>
<div class="dept-info" v-else> <div class="dept-info" v-else>
<img class="dept-img" src="images/company_3.png" /> <img class="dept-img" src="/cdn/bsimages/company_3.png" />
<div class="dept-row"> <div class="dept-row">
<div class="dept-name">{{ deptType3.deptName }}</div> <div class="dept-name">{{ deptType3.deptName }}</div>
<div class="dept-leader-phone" :title="(deptType3.leader || '') + ' ' + (deptType3.phone || '')"> <div class="dept-leader-phone" :title="(deptType3.leader || '') + ' ' + (deptType3.phone || '')">
@ -56,7 +56,7 @@
<div class="dept-title">监理单位</div> <div class="dept-title">监理单位</div>
<div v-if="deptType4 == null" class="dept-nodata"></div> <div v-if="deptType4 == null" class="dept-nodata"></div>
<div class="dept-info" v-else> <div class="dept-info" v-else>
<img class="dept-img" src="images/company_11.png" /> <img class="dept-img" src="/cdn/bsimages/company_11.png" />
<div class="dept-row"> <div class="dept-row">
<div class="dept-name" :title="deptType4.deptName">{{ deptType4.deptName }}</div> <div class="dept-name" :title="deptType4.deptName">{{ deptType4.deptName }}</div>
<div class="dept-leader-phone" :title="(deptType4.leader || '') + ' ' + (deptType4.phone || '')"> <div class="dept-leader-phone" :title="(deptType4.leader || '') + ' ' + (deptType4.phone || '')">
@ -72,7 +72,7 @@
<div class="dept-title">检测单位</div> <div class="dept-title">检测单位</div>
<div v-if="deptType5 == null" class="dept-nodata"></div> <div v-if="deptType5 == null" class="dept-nodata"></div>
<div class="dept-info" v-else> <div class="dept-info" v-else>
<img class="dept-img" src="images/company_12.png" /> <img class="dept-img" src="/cdn/bsimages/company_12.png" />
<div class="dept-row"> <div class="dept-row">
<div class="dept-name" :title="deptType5.deptName">{{ deptType5.deptName }}</div> <div class="dept-name" :title="deptType5.deptName">{{ deptType5.deptName }}</div>
<div class="dept-leader-phone" :title="(deptType5.leader || '') + ' ' + (deptType5.phone || '')"> <div class="dept-leader-phone" :title="(deptType5.leader || '') + ' ' + (deptType5.phone || '')">
@ -87,7 +87,7 @@
<div class="dept-title">勘察单位</div> <div class="dept-title">勘察单位</div>
<div v-if="deptType6 == null" class="dept-nodata"></div> <div v-if="deptType6 == null" class="dept-nodata"></div>
<div class="dept-info" v-else> <div class="dept-info" v-else>
<img class="dept-img" src="images/company_10.png" /> <img class="dept-img" src="/cdn/bsimages/company_10.png" />
<div class="dept-row"> <div class="dept-row">
<div class="dept-name" :title="deptType6.deptName">{{ deptType6.deptName }}</div> <div class="dept-name" :title="deptType6.deptName">{{ deptType6.deptName }}</div>
<div class="dept-leader-phone" :title="(deptType6.leader || '') + ' ' + (deptType6.phone || '')"> <div class="dept-leader-phone" :title="(deptType6.leader || '') + ' ' + (deptType6.phone || '')">
@ -101,7 +101,7 @@
</div> </div>
</module-one-1-1> </module-one-1-1>
<module-one-1-1 label="劳务人员概况"> <module-one-1-1 label="劳务人员概况">
<img src="images/icon2001.png" class="img-openwin" v-if="attendanceTotal > 0" @click="doShowAttendanceDetail" /> <img src="/cdn/bsimages/icon2001.png" class="img-openwin" v-if="attendanceTotal > 0" @click="doShowAttendanceDetail" />
<div class="attendance-info warning-info"> <div class="attendance-info warning-info">
<div class="attendance-info-title warning-info-title"> <div class="attendance-info-title warning-info-title">
<div :class="attendanceNav == 0 ? 'active' : ''" @click="doAttendanceNav(0, '在岗人员')">在岗人员</div> <div :class="attendanceNav == 0 ? 'active' : ''" @click="doAttendanceNav(0, '在岗人员')">在岗人员</div>
@ -182,7 +182,7 @@
<div></div> <div></div>
<div class="modify-project-amount" @mouseout="costMouseout" @mouseover="costMouseover"> <div class="modify-project-amount" @mouseout="costMouseout" @mouseover="costMouseover">
<div class="modify-btn"> <div class="modify-btn">
<img src="images/foot_left.png" @click="modifyLeftBtn" /> <img src="/cdn/bsimages/foot_left.png" @click="modifyLeftBtn" />
</div> </div>
<div class="modify-content" id="modifyContent" v-if="selProject"> <div class="modify-content" id="modifyContent" v-if="selProject">
<div class="modify-content-overflow"> <div class="modify-content-overflow">
@ -324,7 +324,7 @@
</div> </div>
</div> </div>
<div class="modify-btn"> <div class="modify-btn">
<img src="images/foot_right.png" @click="modifyRightBtn" /> <img src="/cdn/bsimages/foot_right.png" @click="modifyRightBtn" />
</div> </div>
</div> </div>
<div class="prj-img-list"> <div class="prj-img-list">

View File

@ -2,7 +2,7 @@
<div class="project-labor main-page"> <div class="project-labor main-page">
<el-col :span="6" class="h100"> <el-col :span="6" class="h100">
<module-one-1-1 label="劳务人员概况" class="labor-base"> <module-one-1-1 label="劳务人员概况" class="labor-base">
<img src="images/icon2001.png" class="img-openwin" v-if="attendanceTotal > 0" @click="doShowAttendanceDetail" /> <img src="/cdn/bsimages/icon2001.png" class="img-openwin" v-if="attendanceTotal > 0" @click="doShowAttendanceDetail" />
<div class="attendance-info warning-info"> <div class="attendance-info warning-info">
<div class="attendance-info-title warning-info-title"> <div class="attendance-info-title warning-info-title">
<div :class="attendanceNav == 0 ? 'active' : ''" @click="doAttendanceNav(0, '在岗人员')">在岗人员</div> <div :class="attendanceNav == 0 ? 'active' : ''" @click="doAttendanceNav(0, '在岗人员')">在岗人员</div>

View File

@ -10,7 +10,7 @@
</div> </div>
<div class="scroll data-list" :key="dataKey"> <div class="scroll data-list" :key="dataKey">
<div v-if="rows.length == 0" style="text-align: center;" class="div-no-data"> <div v-if="rows.length == 0" style="text-align: center;" class="div-no-data">
<img src="images/nodata.png" style="width: 120px;" /> <img src="/cdn/bsimages/nodata.png" style="width: 120px;" />
<div style="text-align: center;font-size: 12px;color:#888;">暂无数据</div> <div style="text-align: center;font-size: 12px;color:#888;">暂无数据</div>
</div> </div>
<div v-for="(it, idx) in rows" :key="idx" class="data-item"> <div v-for="(it, idx) in rows" :key="idx" class="data-item">

View File

@ -20,7 +20,7 @@
</el-col> </el-col>
</module-one-1-1> </module-one-1-1>
<module-one-2-1 label="日常巡检"> <module-one-2-1 label="日常巡检">
<img src="images/icon2001.png" class="img-openwin" @click="showDlg(1)" /> <img src="/cdn/bsimages/icon2001.png" class="img-openwin" @click="showDlg(1)" />
<div class="div-item-chart"> <div class="div-item-chart">
<div class="data-item-chart"> <div class="data-item-chart">
<div class="total-info"> <div class="total-info">
@ -78,13 +78,13 @@
</el-col> </el-col>
<el-col :span="18" class="h100"> <el-col :span="18" class="h100">
<module-one-1-3 label="隐患类别统计"> <module-one-1-3 label="隐患类别统计">
<img src="images/icon2001.png" class="img-openwin" @click="showDlg(0)" /> <img src="/cdn/bsimages/icon2001.png" class="img-openwin" @click="showDlg(0)" />
<my-chart :key="chartKey2" id="project-safety-check-chart2" width="100%" height="100%" :render="renderChart2"></my-chart> <my-chart :key="chartKey2" id="project-safety-check-chart2" width="100%" height="100%" :render="renderChart2"></my-chart>
</module-one-1-3> </module-one-1-3>
<el-row class="el-right"> <el-row class="el-right">
<el-col :span="8"> <el-col :span="8">
<module-one-2-1 label="周检"> <module-one-2-1 label="周检">
<img src="images/icon2001.png" class="img-openwin" @click="showDlg(2)" /> <img src="/cdn/bsimages/icon2001.png" class="img-openwin" @click="showDlg(2)" />
<div class="div-item-chart"> <div class="div-item-chart">
<div class="data-item-chart"> <div class="data-item-chart">
<div class="total-info"> <div class="total-info">
@ -142,7 +142,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<module-one-2-1 label="月检"> <module-one-2-1 label="月检">
<img src="images/icon2001.png" class="img-openwin" @click="showDlg(3)" /> <img src="/cdn/bsimages/icon2001.png" class="img-openwin" @click="showDlg(3)" />
<div class="div-item-chart"> <div class="div-item-chart">
<div class="data-item-chart"> <div class="data-item-chart">
<div class="total-info"> <div class="total-info">
@ -200,7 +200,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<module-one-2-1 label="专项检查"> <module-one-2-1 label="专项检查">
<img src="images/icon2001.png" class="img-openwin" @click="showDlg(4)" /> <img src="/cdn/bsimages/icon2001.png" class="img-openwin" @click="showDlg(4)" />
<div class="div-item-chart"> <div class="div-item-chart">
<div class="data-item-chart"> <div class="data-item-chart">
<div class="total-info"> <div class="total-info">

View File

@ -10,7 +10,7 @@
</div> </div>
<div class="scroll data-list" :key="dataKey"> <div class="scroll data-list" :key="dataKey">
<div v-if="rows.length == 0" style="text-align: center;" class="div-no-data"> <div v-if="rows.length == 0" style="text-align: center;" class="div-no-data">
<img src="images/nodata.png" style="width: 120px;" /> <img src="/cdn/bsimages/nodata.png" style="width: 120px;" />
<div style="text-align: center;font-size: 12px;color:#888;">暂无数据</div> <div style="text-align: center;font-size: 12px;color:#888;">暂无数据</div>
</div> </div>
<div v-for="(it, idx) in rows" :key="idx" class="data-item"> <div v-for="(it, idx) in rows" :key="idx" class="data-item">

View File

@ -5,7 +5,7 @@
<div class="czz-number"> <div class="czz-number">
<div class="czz-number-content"> <div class="czz-number-content">
<div class="czz-number-img czz-number-img-blue"> <div class="czz-number-img czz-number-img-blue">
<img src="images/circle_icon_25.png" /> <img src="/cdn/bsimages/circle_icon_25.png" />
</div> </div>
<div class="survey_content_number"> <div class="survey_content_number">
<p>升降机总数</p> <p>升降机总数</p>
@ -16,7 +16,7 @@
</div> </div>
<div class="czz-number-content"> <div class="czz-number-content">
<div class="czz-number-img czz-number-img-green"> <div class="czz-number-img czz-number-img-green">
<img src="images/circle_icon_9.png" /> <img src="/cdn/bsimages/circle_icon_9.png" />
</div> </div>
<div class="survey_content_number"> <div class="survey_content_number">
<p>监控总数</p> <p>监控总数</p>
@ -37,7 +37,7 @@
<div :class="index == i ? 'list-con active' : 'list-con'"> <div :class="index == i ? 'list-con active' : 'list-con'">
<div class="list-top"> <div class="list-top">
<div class="list-img"> <div class="list-img">
<img src="images/list_img_tj.png" /> <img src="/cdn/bsimages/list_img_tj.png" />
</div> </div>
<div class="list-info"> <div class="list-info">
<div class="list-info-name"> <div class="list-info-name">
@ -219,7 +219,7 @@
<div class="glr-login-number-bgd glr-login-number-red-bgd"></div> <div class="glr-login-number-bgd glr-login-number-red-bgd"></div>
<div class="glr-login-number analyse-login-numbe"> <div class="glr-login-number analyse-login-numbe">
<div v-cloak> <div v-cloak>
<img src="images/text_red_spot.png" /> <img src="/cdn/bsimages/text_red_spot.png" />
{{ item.warnType }} {{ item.warnType }}
</div> </div>
<div class="glr-rate-value glr-rate-red-value"> <div class="glr-rate-value glr-rate-red-value">
@ -267,7 +267,7 @@
<div class="xhz-device-data-min" style="padding: 25px 10px"> <div class="xhz-device-data-min" style="padding: 25px 10px">
<div class="survey_content"> <div class="survey_content">
<div class="survey_content_img xhz-education_bgd"> <div class="survey_content_img xhz-education_bgd">
<img src="images/education_icon_5.png" /> <img src="/cdn/bsimages/education_icon_5.png" />
</div> </div>
</div> </div>
<div class="xhz-current-value-data"> <div class="xhz-current-value-data">
@ -282,7 +282,7 @@
<div class="xhz-device-data-min" style="padding: 25px 10px"> <div class="xhz-device-data-min" style="padding: 25px 10px">
<div class="survey_content"> <div class="survey_content">
<div class="survey_content_img xhz-education_bgd"> <div class="survey_content_img xhz-education_bgd">
<img src="images/education_icon_6.png" /> <img src="/cdn/bsimages/education_icon_6.png" />
</div> </div>
</div> </div>
<div class="xhz-current-value-data"> <div class="xhz-current-value-data">
@ -297,7 +297,7 @@
<div class="xhz-device-data-min" style="padding: 25px 10px"> <div class="xhz-device-data-min" style="padding: 25px 10px">
<div class="survey_content"> <div class="survey_content">
<div class="survey_content_img xhz-education_bgd"> <div class="survey_content_img xhz-education_bgd">
<img src="images/education_icon_7.png" /> <img src="/cdn/bsimages/education_icon_7.png" />
</div> </div>
</div> </div>
<div class="xhz-current-value-data"> <div class="xhz-current-value-data">
@ -312,7 +312,7 @@
<div class="xhz-device-data-min" style="padding: 25px 10px"> <div class="xhz-device-data-min" style="padding: 25px 10px">
<div class="survey_content"> <div class="survey_content">
<div class="survey_content_img xhz-education_bgd"> <div class="survey_content_img xhz-education_bgd">
<img src="images/education_icon_8.png" /> <img src="/cdn/bsimages/education_icon_8.png" />
</div> </div>
</div> </div>
<div class="xhz-current-value-data"> <div class="xhz-current-value-data">
@ -327,7 +327,7 @@
<div class="xhz-device-data-min" style="padding: 25px 10px"> <div class="xhz-device-data-min" style="padding: 25px 10px">
<div class="survey_content"> <div class="survey_content">
<div class="survey_content_img xhz-education_bgd"> <div class="survey_content_img xhz-education_bgd">
<img src="images/education_icon_9.png" /> <img src="/cdn/bsimages/education_icon_9.png" />
</div> </div>
</div> </div>
<div class="xhz-current-value-data"> <div class="xhz-current-value-data">
@ -342,7 +342,7 @@
<div class="xhz-device-data-min" style="padding: 25px 10px"> <div class="xhz-device-data-min" style="padding: 25px 10px">
<div class="survey_content"> <div class="survey_content">
<div class="survey_content_img xhz-education_bgd"> <div class="survey_content_img xhz-education_bgd">
<img src="images/education_icon_9.png" /> <img src="/cdn/bsimages/education_icon_9.png" />
</div> </div>
</div> </div>
<div class="xhz-current-value-data"> <div class="xhz-current-value-data">
@ -357,7 +357,7 @@
<div class="xhz-device-data-min" style="padding: 25px 10px"> <div class="xhz-device-data-min" style="padding: 25px 10px">
<div class="survey_content"> <div class="survey_content">
<div class="survey_content_img xhz-education_bgd"> <div class="survey_content_img xhz-education_bgd">
<img src="images/education_icon_10.png" /> <img src="/cdn/bsimages/education_icon_10.png" />
</div> </div>
</div> </div>
<div class="xhz-current-value-data"> <div class="xhz-current-value-data">
@ -372,7 +372,7 @@
<div class="xhz-device-data-min" style="padding: 25px 10px"> <div class="xhz-device-data-min" style="padding: 25px 10px">
<div class="survey_content"> <div class="survey_content">
<div class="survey_content_img xhz-education_bgd"> <div class="survey_content_img xhz-education_bgd">
<img src="images/education_icon_11.png" /> <img src="/cdn/bsimages/education_icon_11.png" />
</div> </div>
</div> </div>
<div class="xhz-current-value-data"> <div class="xhz-current-value-data">
@ -387,7 +387,7 @@
<div class="xhz-device-data-min" style="padding: 25px 10px"> <div class="xhz-device-data-min" style="padding: 25px 10px">
<div class="survey_content"> <div class="survey_content">
<div class="survey_content_img xhz-education_bgd"> <div class="survey_content_img xhz-education_bgd">
<img src="images/education_icon_12.png" /> <img src="/cdn/bsimages/education_icon_12.png" />
</div> </div>
</div> </div>
<div class="xhz-current-value-data"> <div class="xhz-current-value-data">
@ -402,7 +402,7 @@
<div class="xhz-device-data-min" style="padding: 25px 10px"> <div class="xhz-device-data-min" style="padding: 25px 10px">
<div class="survey_content"> <div class="survey_content">
<div class="survey_content_img xhz-education_bgd"> <div class="survey_content_img xhz-education_bgd">
<img src="images/education_icon_2.png" /> <img src="/cdn/bsimages/education_icon_2.png" />
</div> </div>
</div> </div>
<div class="xhz-current-value-data"> <div class="xhz-current-value-data">
@ -417,7 +417,7 @@
<div class="xhz-device-data-min" style="padding: 25px 10px"> <div class="xhz-device-data-min" style="padding: 25px 10px">
<div class="survey_content"> <div class="survey_content">
<div class="survey_content_img xhz-education_bgd"> <div class="survey_content_img xhz-education_bgd">
<img src="images/education_icon_13.png" /> <img src="/cdn/bsimages/education_icon_13.png" />
</div> </div>
</div> </div>
<div class="xhz-current-value-data"> <div class="xhz-current-value-data">

View File

@ -6,7 +6,7 @@
<el-col :span="5"> <el-col :span="5">
<div class="process-control-current-value-con"> <div class="process-control-current-value-con">
<div class="current-value-img"> <div class="current-value-img">
<img src="images/hj_wendu.png" /> <img src="/cdn/bsimages/hj_wendu.png" />
</div> </div>
<div class="process-control-current-value-data"> <div class="process-control-current-value-data">
<div>A相电压</div> <div>A相电压</div>
@ -20,7 +20,7 @@
<el-col :span="5"> <el-col :span="5">
<div class="process-control-current-value-con"> <div class="process-control-current-value-con">
<div class="current-value-img"> <div class="current-value-img">
<img src="images/hj_wendu.png" /> <img src="/cdn/bsimages/hj_wendu.png" />
</div> </div>
<div class="process-control-current-value-data"> <div class="process-control-current-value-data">
<div>B相电压</div> <div>B相电压</div>
@ -34,7 +34,7 @@
<el-col :span="5"> <el-col :span="5">
<div class="process-control-current-value-con"> <div class="process-control-current-value-con">
<div class="current-value-img"> <div class="current-value-img">
<img src="images/hj_wendu.png" /> <img src="/cdn/bsimages/hj_wendu.png" />
</div> </div>
<div class="process-control-current-value-data"> <div class="process-control-current-value-data">
<div>C相电压</div> <div>C相电压</div>
@ -48,7 +48,7 @@
<el-col :span="5"> <el-col :span="5">
<div class="process-control-current-value-con"> <div class="process-control-current-value-con">
<div class="current-value-img"> <div class="current-value-img">
<img src="images/huanjingweidu.png" /> <img src="/cdn/bsimages/huanjingweidu.png" />
</div> </div>
<div class="process-control-current-value-data"> <div class="process-control-current-value-data">
<div>零线温度</div> <div>零线温度</div>
@ -75,7 +75,7 @@
<el-col :span="5"> <el-col :span="5">
<div class="process-control-current-value-con"> <div class="process-control-current-value-con">
<div class="current-value-img"> <div class="current-value-img">
<img src="images/hj_dianliu.png" /> <img src="/cdn/bsimages/hj_dianliu.png" />
</div> </div>
<div class="process-control-current-value-data"> <div class="process-control-current-value-data">
<div>A相电流</div> <div>A相电流</div>
@ -89,7 +89,7 @@
<el-col :span="5"> <el-col :span="5">
<div class="process-control-current-value-con"> <div class="process-control-current-value-con">
<div class="current-value-img"> <div class="current-value-img">
<img src="images/hj_dianliu.png" /> <img src="/cdn/bsimages/hj_dianliu.png" />
</div> </div>
<div class="process-control-current-value-data"> <div class="process-control-current-value-data">
<div>B相电流</div> <div>B相电流</div>
@ -103,7 +103,7 @@
<el-col :span="5"> <el-col :span="5">
<div class="process-control-current-value-con"> <div class="process-control-current-value-con">
<div class="current-value-img"> <div class="current-value-img">
<img src="images/hj_dianliu.png" /> <img src="/cdn/bsimages/hj_dianliu.png" />
</div> </div>
<div class="process-control-current-value-data"> <div class="process-control-current-value-data">
<div>C相电流</div> <div>C相电流</div>

View File

@ -20,7 +20,7 @@
</el-col> </el-col>
</module-one-1-1> </module-one-1-1>
<module-one-2-1 label="日常巡检"> <module-one-2-1 label="日常巡检">
<img src="images/icon2001.png" class="img-openwin" @click="showDlg(1)" /> <img src="/cdn/bsimages/icon2001.png" class="img-openwin" @click="showDlg(1)" />
<div class="div-item-chart"> <div class="div-item-chart">
<div class="data-item-chart"> <div class="data-item-chart">
<div class="total-info"> <div class="total-info">
@ -78,13 +78,13 @@
</el-col> </el-col>
<el-col :span="18" class="h100"> <el-col :span="18" class="h100">
<module-one-1-3 label="隐患类别统计"> <module-one-1-3 label="隐患类别统计">
<img src="images/icon2001.png" class="img-openwin" @click="showDlg(0)" /> <img src="/cdn/bsimages/icon2001.png" class="img-openwin" @click="showDlg(0)" />
<my-chart :key="chartKey2" id="project-safety-check-chart2" width="100%" height="100%" :render="renderChart2"></my-chart> <my-chart :key="chartKey2" id="project-safety-check-chart2" width="100%" height="100%" :render="renderChart2"></my-chart>
</module-one-1-3> </module-one-1-3>
<el-row class="el-right"> <el-row class="el-right">
<el-col :span="8"> <el-col :span="8">
<module-one-2-1 label="周检"> <module-one-2-1 label="周检">
<img src="images/icon2001.png" class="img-openwin" @click="showDlg(2)" /> <img src="/cdn/bsimages/icon2001.png" class="img-openwin" @click="showDlg(2)" />
<div class="div-item-chart"> <div class="div-item-chart">
<div class="data-item-chart"> <div class="data-item-chart">
<div class="total-info"> <div class="total-info">
@ -142,7 +142,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<module-one-2-1 label="月检"> <module-one-2-1 label="月检">
<img src="images/icon2001.png" class="img-openwin" @click="showDlg(3)" /> <img src="/cdn/bsimages/icon2001.png" class="img-openwin" @click="showDlg(3)" />
<div class="div-item-chart"> <div class="div-item-chart">
<div class="data-item-chart"> <div class="data-item-chart">
<div class="total-info"> <div class="total-info">
@ -200,7 +200,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<module-one-2-1 label="专项检查"> <module-one-2-1 label="专项检查">
<img src="images/icon2001.png" class="img-openwin" @click="showDlg(4)" /> <img src="/cdn/bsimages/icon2001.png" class="img-openwin" @click="showDlg(4)" />
<div class="div-item-chart"> <div class="div-item-chart">
<div class="data-item-chart"> <div class="data-item-chart">
<div class="total-info"> <div class="total-info">

View File

@ -10,7 +10,7 @@
</div> </div>
</template> </template>
<div v-else style="text-align: center" class="div-no-data"> <div v-else style="text-align: center" class="div-no-data">
<img src="images/nodata.png" style="width: 120px" /> <img src="/cdn/bsimages/nodata.png" style="width: 120px" />
<div style="text-align: center; font-size: 12px; color: #888">暂无数据</div> <div style="text-align: center; font-size: 12px; color: #888">暂无数据</div>
</div> </div>
</div> </div>
@ -27,7 +27,7 @@
</video> </video>
</template> </template>
<div v-else style="text-align: center" class="div-no-data"> <div v-else style="text-align: center" class="div-no-data">
<img src="images/nodata.png" style="width: 120px" /> <img src="/cdn/bsimages/nodata.png" style="width: 120px" />
<div style="text-align: center; font-size: 12px; color: #888">暂无数据</div> <div style="text-align: center; font-size: 12px; color: #888">暂无数据</div>
</div> </div>
</module-one-3-3> </module-one-3-3>

View File

@ -3,7 +3,7 @@
<el-col :span="4" class="h100"> <el-col :span="4" class="h100">
<module-one-1-3 label="视频监控列表" @headerClick="showAllVideo"> <module-one-1-3 label="视频监控列表" @headerClick="showAllVideo">
<div v-if="videoMonitors.length == 0" style="text-align: center;margin-top: 20vh;"> <div v-if="videoMonitors.length == 0" style="text-align: center;margin-top: 20vh;">
<img src="images/nodata.png" style="width: 240px;" /> <img src="/cdn/bsimages/nodata.png" style="width: 240px;" />
<div style="text-align: center;">暂无数据</div> <div style="text-align: center;">暂无数据</div>
</div> </div>
<div class="video-list"> <div class="video-list">
@ -16,7 +16,7 @@
</el-col> </el-col>
<el-col :span="20" class="h100"> <el-col :span="20" class="h100">
<div v-if="videoMonitors.length == 0" style="text-align: center;margin-top: 20vh;"> <div v-if="videoMonitors.length == 0" style="text-align: center;margin-top: 20vh;">
<img src="images/nodata.png" style="width: 240px;" /> <img src="/cdn/bsimages/nodata.png" style="width: 240px;" />
<div style="text-align: center;">暂无数据</div> <div style="text-align: center;">暂无数据</div>
</div> </div>
<template v-else> <template v-else>

View File

@ -4,7 +4,11 @@ const sessionCache = {
return return
} }
if (key != null && value != null) { if (key != null && value != null) {
sessionStorage.setItem(key, value) try{
sessionStorage.setItem(key, value)
}catch(e){
console.log(e)
}
} }
}, },
get (key) { get (key) {

View File

@ -40,7 +40,7 @@
<el-dialog title="保存视点" :width="400" v-model="visible" :before-close="handleCancel" class="dialog-bim-setting-viewpoint" :destroy-on-close="true" :close-on-click-modal="false" :modal="false" :class="{ 'mobile-Model': isMobile }"> <el-dialog title="保存视点" :width="400" v-model="visible" :before-close="handleCancel" class="dialog-bim-setting-viewpoint" :destroy-on-close="true" :close-on-click-modal="false" :modal="false" :class="{ 'mobile-Model': isMobile }">
<el-form :model="form" :rules="formRules" ref="form" label-width="80px"> <el-form :model="form" :rules="formRules" ref="form" label-width="80px">
<el-form-item label="视点名称" prop="title"> <el-form-item label="视点名称" prop="title">
<el-input v-model="form.title" placeholder="请输入视点名称" :rules="[{ required: true, message: '请输入视点名称' }]" /> <el-input v-model="form.title" placeholder="请输入视点名称" :rules="[{ required: true, message: '请输入视点名称' }]" @keydown.stop @keyup.stop @keypress.stop/>
</el-form-item> </el-form-item>
<el-form-item label="缩略图"> <el-form-item label="缩略图">
<el-image style="width: 100%" :src="previewImage" :preview-src-list="[previewImage]" /> <el-image style="width: 100%" :src="previewImage" :preview-src-list="[previewImage]" />