master
loveflow 8 months ago
parent 348fc633c4
commit 04c0f7ad21

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

@ -78,7 +78,7 @@ export const tableListMixins = {
},
],
detail:
" 宁波镇海兴达化工有限公司仓库由于易燃物品存储不当,导致易燃物品燃烧发生火灾。仓库值班人员立即启动火灾预案,组织仓库管理人员、巡逻人员和保安救火,由于火势较大,现场配备的灭火器、消防栓无法迅速扑灭。在紧急情况下值班长立即拨打“119”报警待消防中队进场后约21点20分火势被扑灭。经消防中队确认火灾造成仓库10公斤易燃物品XXX、2卷防水卷材被烧毁1人轻伤。",
" 宁波镇海兴达化工有限公司仓库由于易燃物品存储不当,导致易燃物品燃烧发生火灾。仓库值班人员立即启动火灾预案,组织仓库管理人员、巡逻人员和保安救火,由于火势较大,现场配备的灭火器、消防栓无法迅速扑灭。",
});
}
//console.log(this.dataSource);

@ -45,6 +45,7 @@ export default {
@import "@/loveflow/assets/index.scss";
.loveflowscreen {
height: 100%;
flex: 1;
.tableWrap {
height: 100%;
}

@ -0,0 +1,123 @@
<template>
<div class="loveflowscreen tableCustomPanel">
<div class="ajTableWrap">
<div class="cusWrap" v-for="item in dataSource" :key="item.id">
<div class="line">
<div class="item">
<div class="label">案件名称</div>
<div class="value">{{ item.yType }}</div>
</div>
<div class="item">
<div class="label">案件类型</div>
<div class="value">{{ item.qyT }}</div>
</div>
</div>
<div class="line">
<div class="item">
<div class="label">企业类型</div>
<div class="value">{{ item.qyT }}</div>
</div>
<div class="item">
<div class="label">主办单位</div>
<div class="value">{{ item.qyT }}</div>
</div>
</div>
<div class="line">
<div class="item">
<div class="label">案情简介</div>
<div class="value">{{ item.qyT }}</div>
</div>
</div>
</div>
</div>
<div class="tableWrap customTableWrap">
<gScreenTable
stripe
ref="gScreenTable"
:tableData="dataSource"
:columns="column"
rowKey="id"
:pagination="ipagination"
@pageSizeChange="handlePageSizeChange"
@currentPageChange="handleCurrentPageChange"
>
</gScreenTable>
</div>
</div>
</template>
<script>
import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
export default {
mixins: [tableListMixins],
data() {
return {
column: [
{
prop: "id",
label: "查处点",
},
],
disableMixinCreated: true,
};
},
created() {
this.ipagination.pageSize = 20;
this.ipagination.pageSizes = [];
this.ipagination.layout = "total, prev, pager, next";
this.loadData();
},
};
</script>
<style lang="scss">
@import "@/loveflow/assets/index.scss";
.tableCustomPanel {
height: 100%;
.ajTableWrap {
height: calc(100% - 40px);
overflow: scroll;
&::-webkit-scrollbar {
display: none;
}
.cusWrap {
margin-top: 10px;
display: flex;
flex-direction: column;
height: vw(58);
background: url("~@/assets/images/topic/nbzatb.png") no-repeat center
center;
background-size: 100% 100%;
padding: 0 8px;
.line {
flex: 1;
display: flex;
align-items: center;
.item {
font-size: vw(12);
display: flex;
align-items: center;
flex: 1;
.label {
color: #d0deee;
}
.value {
flex: 1;
color: #ffffff;
}
}
}
}
}
.customTableWrap {
height: 100%;
.gScreenTableWrap {
height: auto;
.screenTable {
display: none;
}
}
}
}
</style>

@ -4,20 +4,96 @@
<div class="inSecurityCmyDetailWrap">
<div class="screenRow screenRowTop mb14">
<div class="screenLeft mr16">
<colWrap title="矛盾纠纷"></colWrap>
<colWrap title="矛盾纠纷">
<jfTable></jfTable>
</colWrap>
</div>
<div class="screenMid mr16">
<colWrap title="异常信息">
<ycTable></ycTable>
</colWrap>
</div>
<div class="screenRight">
<colWrap title="特种设备">
<div class="tzsbWrap">
<div class="line" v-for="(line, index) in tzsbList" :key="index">
<div
class="item"
v-for="item in line"
:key="item.name"
:style="{ backgroundImage: 'url(' + item.icon + ')' }"
>
<div class="value">{{ item.value }}</div>
<div class="name">{{ item.name }}</div>
</div>
</div>
</div>
</colWrap>
</div>
<div class="screenMid mr16"></div>
<div class="screenRight"></div>
</div>
<div class="screenRow screenRowMid mb14">
<div class="screenLeft mr16"></div>
<div class="screenMid mr16"></div>
<div class="screenRight"></div>
<div class="screenLeft mr16">
<colWrap title="劳资纠纷">
<jfTable></jfTable>
</colWrap>
</div>
<div class="screenMid mr16">
<div class="screenMTop">企业治安环境指数</div>
<div class="screenMMid">
<div class="midTotalWrap">
<stmWrap></stmWrap>
</div>
</div>
</div>
<div class="screenRight">
<colWrap title="原材料被盗">
<jfTable></jfTable>
</colWrap>
</div>
</div>
<div class="screenRow screenRowBtm">
<div class="screenLeft mr16"></div>
<div class="screenMid mr16"></div>
<div class="screenRight mr16"></div>
<div class="screenLeft mr16">
<div class="left mr14">
<colWrap title="应急预案">
<listWrap :dataList="yjList"></listWrap>
</colWrap>
</div>
<div class="mid mr14">
<colWrap title="人防数据">
<div class="rfsjWrap">
<div class="item" v-for="item in rfList" :key="item.name">
<div class="icon">
<img :src="item.icon" />
</div>
<div class="name">{{ item.name }}</div>
<div class="value">{{ item.value.toLocaleString() }}</div>
</div>
</div>
</colWrap>
</div>
<div class="right">
<colWrap title="物防数据">
<listWrap :dataList="wfList"></listWrap>
</colWrap>
</div>
</div>
<div class="screenMid mr16">
<colWrap title="重点岗位人员身份">
<tableWrap :columns="column"></tableWrap>
</colWrap>
</div>
<div class="screenRight">
<div class="left mr14">
<colWrap title="技防数据">
<listWrap :dataList="wfList"></listWrap>
</colWrap>
</div>
<div class="right">
<colWrap title="案件信息">
<ajTable></ajTable>
</colWrap>
</div>
</div>
</div>
</div>
</div>
@ -25,18 +101,217 @@
<script>
import headWrap from "@/views/home/head.vue";
import colWrap from "../components/colWrap.vue";
//import subCol from "../components/subCol.vue";
import jfTable from "./jfTable.vue";
import ycTable from "./ycTable.vue";
import ajTable from "./ajTable.vue";
import listWrap from "./listWrap.vue";
import tableWrap from "../components/tableWrap.vue";
import stmWrap from "../components/stm.vue";
export default {
components: { colWrap, headWrap },
components: {
colWrap,
headWrap,
jfTable,
ycTable,
listWrap,
ajTable,
tableWrap,
stmWrap,
},
data() {
return {
companyName: "",
tzsbList: [
[
{
icon: require("@/assets/images/topic/ingl.png"),
name: "锅炉类设备",
value: 567,
},
{
icon: require("@/assets/images/topic/inyl.png"),
name: "压力容器类设备",
value: 678,
},
{
icon: require("@/assets/images/topic/indt.png"),
name: "电梯类设备",
value: 2318,
},
],
[
{
icon: require("@/assets/images/topic/ingd.png"),
name: "压力管道类设备",
value: 3187,
},
{
icon: require("@/assets/images/topic/inqz.png"),
name: "起重机械设备",
value: 387,
},
{
icon: require("@/assets/images/topic/inqt.png"),
name: "其他特种设备",
value: 2317,
},
],
],
yjList: [
{
name: "消防应急预案",
value: 23145,
unit: "份",
},
{
name: "食品卫生应急预案",
value: 23145,
unit: "份",
},
{
name: "停水停电应急预案",
value: 23145,
unit: "份",
},
{
name: "防范被盗应急预案",
value: 23145,
unit: "份",
},
{
name: "自然灾害应急预案",
value: 23145,
unit: "份",
},
{
name: "作业事故应急预案",
value: 23145,
unit: "份",
},
{
name: "反恐防暴应急预案",
value: 23145,
unit: "份",
},
],
wfList: [
{
name: "消火栓",
value: 23145,
unit: "套",
},
{
name: "灭火器",
value: 23145,
unit: "套",
},
{
name: "逃生绳",
value: 23145,
unit: "套",
},
{
name: "防毒面具",
value: 23145,
unit: "套",
},
{
name: "防爆警棍",
value: 23145,
unit: "套",
},
{
name: "防爆桶",
value: 23145,
unit: "套",
},
{
name: "盾牌钢叉",
value: 23145,
unit: "套",
},
{
name: "防刺服",
value: 23145,
unit: "套",
},
],
jfList: [
{
name: "视频监控",
value: 23145,
},
{
name: "车辆道闸",
value: 23145,
},
{
name: "人脸摄像头",
value: 23145,
},
{
name: "电子脉冲",
value: 23145,
},
{
name: "周界报警",
value: 23145,
},
{
name: "人行闸机",
value: 23145,
},
{
name: "人脸门禁系统",
value: 23145,
},
],
rfList: [
{
icon: require("@/assets/images/topic/rfzb.png"),
name: "值班人员",
value: 23187,
},
{
icon: require("@/assets/images/topic/rfzb.png"),
name: "逻辑人员",
value: 23187,
},
{
icon: require("@/assets/images/topic/rfzb.png"),
name: "应急处理人员",
value: 23187,
},
],
column: [
{
prop: "id",
label: "序号",
},
{
prop: "date",
label: "姓名",
},
{
prop: "name",
label: "身份证号",
},
{
prop: "isQ",
label: "岗位类型",
},
{
prop: "personType",
label: "备注",
},
],
};
},
mounted() {
this.companyName = this.$route.query.car;
},
created() {},
};
</script>
<style lang="scss" scoped>
@ -57,6 +332,162 @@ export default {
flex-direction: column;
justify-content: space-between;
box-sizing: border-box;
overflow: hidden;
.screenRow {
display: flex;
.screenLeft {
flex: 1;
display: flex;
}
.screenMid {
width: vw(550);
flex: 1;
display: flex;
}
.screenRight {
flex: 1;
display: flex;
}
}
.screenRowTop {
height: 35%;
.tzsbWrap {
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-evenly;
.line {
display: flex;
justify-content: space-evenly;
.item {
width: vw(164);
height: vw(106);
background-position: center center;
background-size: 100% 100%;
background-repeat: no-repeat;
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: center;
.name {
font-size: vw(14);
color: #d0deee;
}
.value {
font-weight: 500;
font-size: vw(16);
color: #e3feff;
}
}
}
}
}
.screenRowMid {
height: 25%;
.screenMid {
flex-direction: column;
position: relative;
flex: 1;
background: url("~@/assets/images/topic/stmbg.png") no-repeat center
center;
background-size: 100% 100%;
.screenMTop {
display: flex;
align-items: center;
justify-content: center;
height: vw(46);
background: url("~@/assets/images/topic/stmt.png") no-repeat center
center;
background-size: 100% 100%;
font-weight: bold;
font-size: vw(16);
color: #ffffff;
}
.screenMMid {
position: absolute;
bottom: vw(10);
width: 100%;
height: vw(104);
background: url("~@/assets/images/topic/stzp.png") no-repeat center
center;
background-size: 100% 100%;
display: flex;
justify-content: center;
.midTotalWrap {
position: absolute;
bottom: vw(2);
width: vw(200);
height: vw(200);
}
}
}
}
.screenRowBtm {
height: 40%;
.screenLeft {
display: flex;
.left {
flex: 1.6;
display: flex;
flex-direction: column;
}
.mid {
display: flex;
flex: 1;
flex-direction: column;
.rfsjWrap {
height: calc(100% - 28px);
display: flex;
flex-direction: column;
justify-content: space-evenly;
.item {
margin-bottom: vw(10);
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
background: url("~@/assets/images/topic/rfb.png") no-repeat center
center;
background-size: 100% 100%;
.icon {
width: vw(50);
height: vw(50);
img {
width: 100%;
height: 100%;
}
}
.name {
font-weight: 500;
font-size: vw(12);
color: #ffffff;
}
.value {
font-size: vw(18);
color: #f3fff9;
}
}
}
}
.right {
display: flex;
flex: 1.2;
}
}
.screenMid {
display: flex;
}
.screenRight {
.left {
display: flex;
flex: 1;
}
.right {
flex: 1.5;
display: flex;
}
}
}
}
}
</style>

@ -0,0 +1,103 @@
<template>
<div class="loveflowscreen tableCustomPanel">
<div class="jfTableWrap">
<div class="cusWrap" v-for="(item, index) in dataSource" :key="item.id">
<div class="line">
<div class="num">{{ index + 1 }}</div>
<div class="detail">{{ item.detail }}</div>
</div>
</div>
</div>
<div class="tableWrap">
<gScreenTable
stripe
ref="gScreenTable"
:tableData="dataSource"
:columns="column"
rowKey="id"
:pagination="ipagination"
@pageSizeChange="handlePageSizeChange"
@currentPageChange="handleCurrentPageChange"
>
</gScreenTable>
</div>
</div>
</template>
<script>
import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
export default {
mixins: [tableListMixins],
data() {
return {
column: [
{
prop: "id",
label: "查处点",
},
],
disableMixinCreated: true,
};
},
created() {
this.ipagination.pageSize = 6;
this.ipagination.pageSizes = [];
this.ipagination.layout = "total, prev, pager, next";
this.loadData();
},
};
</script>
<style lang="scss">
@import "@/loveflow/assets/index.scss";
.tableCustomPanel {
height: 100%;
.jfTableWrap {
height: calc(100% - 30px);
overflow: scroll;
&::-webkit-scrollbar {
display: none;
}
.cusWrap {
margin-top: 10px;
display: flex;
flex-direction: column;
height: vw(50);
background: url("~@/assets/images/topic/nbzatb.png") no-repeat center
center;
background-size: 100% 100%;
padding: 0 8px;
.line {
flex: 1;
display: flex;
align-items: center;
.num {
display: flex;
align-items: center;
justify-content: center;
width: vw(18);
height: vw(18);
font-weight: 600;
font-size: vw(14);
color: #d9e7ff;
border: solid 1px #d9e7ff;
border-radius: 2px;
}
.detail {
padding-left: vw(10);
flex: 1;
font-weight: 400;
font-size: vw(12);
color: #ffffff;
}
}
}
}
.tableWrap {
height: 100%;
.gScreenTableWrap {
display: none;
}
}
}
</style>

@ -0,0 +1,76 @@
<template>
<div class="inSecurityListWrap">
<div class="line" v-for="(item, index) in dataList" :key="item.id">
<div class="nameWrap">
<div class="num">{{ index + 1 }}</div>
<div class="name">{{ item.name }}</div>
</div>
<div class="value">{{ item.value.toLocaleString() + item.unit }}</div>
</div>
</div>
</template>
<script>
export default {
props: {
dataList: {
type: Array,
default: () => {
return [];
},
},
},
data() {
return {};
},
created() {},
};
</script>
<style lang="scss">
@import "@/loveflow/assets/index.scss";
.inSecurityListWrap {
height: 100%;
overflow: scroll;
display: flex;
flex-direction: column;
&::-webkit-scrollbar {
display: none;
}
.line {
display: flex;
align-items: center;
justify-content: space-between;
flex: 1;
padding: 0 vw(10);
&:nth-child(odd) {
background-color: rgba(108, 128, 151, 0.1);
}
.nameWrap {
display: flex;
}
.num {
display: flex;
align-items: center;
justify-content: center;
width: vw(18);
height: vw(18);
margin-right: vw(6);
font-weight: 400;
font-size: vw(12);
color: #9cffc8;
border: solid 1px #9cffc8;
border-radius: 2px;
}
.name {
font-weight: 400;
font-size: vw(12);
color: #ffffff;
}
.value {
font-weight: 400;
font-size: vw(12);
color: #9cffc8;
}
}
}
</style>

@ -0,0 +1,113 @@
<template>
<div class="loveflowscreen tableCustomPanel">
<div class="ycTableWrap">
<div class="cusWrap" v-for="item in dataSource" :key="item.id">
<div class="line">
<div class="item">
<div class="label">异常类型</div>
<div class="value">{{ item.yType }}</div>
</div>
<div class="item">
<div class="label">时间</div>
<div class="value">{{ item.qyT }}</div>
</div>
</div>
<div class="line">
<div class="item">
<div class="label">企业类型</div>
<div class="value">{{ item.qyT }}</div>
</div>
</div>
</div>
</div>
<div class="tableWrap customTableWrap">
<gScreenTable
stripe
ref="gScreenTable"
:tableData="dataSource"
:columns="column"
rowKey="id"
:pagination="ipagination"
@pageSizeChange="handlePageSizeChange"
@currentPageChange="handleCurrentPageChange"
>
</gScreenTable>
</div>
</div>
</template>
<script>
import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
export default {
mixins: [tableListMixins],
data() {
return {
column: [
{
prop: "id",
label: "查处点",
},
],
disableMixinCreated: true,
};
},
created() {
this.ipagination.pageSize = 20;
this.ipagination.pageSizes = [];
this.ipagination.layout = "total, prev, pager, next";
this.loadData();
},
};
</script>
<style lang="scss">
@import "@/loveflow/assets/index.scss";
.tableCustomPanel {
height: 100%;
.ycTableWrap {
height: calc(100% - 40px);
overflow: scroll;
&::-webkit-scrollbar {
display: none;
}
.cusWrap {
margin-top: 10px;
display: flex;
flex-direction: column;
height: vw(58);
background: url("~@/assets/images/topic/nbzatb.png") no-repeat center center;
background-size: 100% 100%;
padding: 0 8px;
.line {
flex: 1;
display: flex;
align-items: center;
.item {
font-size: vw(12);
display: flex;
align-items: center;
flex: 1;
.label {
color: #d0deee;
}
.value {
flex: 1;
color: #ffffff;
}
}
}
}
}
.customTableWrap {
height: 100%;
.gScreenTableWrap {
height: auto;
.screenTable {
display: none;
}
}
}
}
</style>
Loading…
Cancel
Save