master
loveflow 11 months ago
parent 41339eeda4
commit 083c23729b

@ -426,6 +426,7 @@
} }
.canvasPointer { .canvasPointer {
cursor: pointer;
canvas { canvas {
cursor: pointer !important; cursor: pointer !important;
} }

@ -85,6 +85,7 @@ export default {
data() { data() {
return {}; return {};
}, },
methods: { methods: {
// //
pageSizeChange(item) { pageSizeChange(item) {
@ -113,12 +114,12 @@ export default {
height: calc(100% - 54px); height: calc(100% - 54px);
.el-table__body-wrapper { .el-table__body-wrapper {
height: calc(100% - 50px); height: calc(100% - 50px);
overflow: scroll; overflow-y: scroll;
&::-webkit-scrollbar-corner{ &::-webkit-scrollbar-corner {
background: transparent; background: transparent;
} }
&::-webkit-scrollbar { &::-webkit-scrollbar {
width: 6px; width: 0;
height: 6px; height: 6px;
} }

@ -1,16 +1,44 @@
export const commonMixins = { export const commonMixins = {
data() { data() {
return { return {
//男女
genderList: [
{
name: "男",
value: "1",
},
{
name: "女",
value: "0",
},
],
//是否
isNoList: [
{
name: "是",
value: "1",
},
{
name: "否",
value: "0",
},
],
//镇区
zhAreaList: [ zhAreaList: [
{ name: "招宝山街道", value: "330211001" }, { name: "招宝山街道", value: "330211000" },
{ name: "九龙湖镇", value: "330211101" }, { name: "九龙湖镇", value: "330211001" },
{ name: "澥浦镇", value: "330211100" }, { name: "澥浦镇", value: "330211002" },
{ name: "骆驼街道", value: "330211003" }, { name: "骆驼街道", value: "330211003" },
{ name: "庄市街道", value: "330211004" }, { name: "庄市街道", value: "330211004" },
{ name: "蛟川街道", value: "330211002" }, { name: "蛟川街道", value: "330211006" },
{ name: "贵驷街道", value: "330211005" }, { name: "贵驷街道", value: "330211005" },
], ],
riskTypeList: [ //风险异常,管控扣分项
riskList: [
{
name: "企业整改异常",
value: "0",
},
{ {
name: "流动人员异常", name: "流动人员异常",
value: "1", value: "1",
@ -39,188 +67,215 @@ export const commonMixins = {
name: "等保定级评审异常", name: "等保定级评审异常",
value: "7", value: "7",
}, },
{
name: "企业整改异常",
value: "8",
},
],
isNoList: [
{
name: "是",
value: "1",
},
{
name: "否",
value: "0",
},
], ],
infoTypeList: [ //要素明细
elementList: [
{ {
name: "短信提醒", name: "流动人员核查率异常",
value: "0", value: "0",
}, },
{ {
name: "超期提醒", name: "危险品使用人员资质异常",
value: "1", value: "1",
}, },
{ {
name: "申诉审核提醒", name: "夜间值班人员不足",
value: "2", value: "2",
}, },
{
name: "灭火器数量不达标",
value: "3",
},
], ],
pushList: [ //状态
stateList: [
{ {
name: "短信提醒", name: "未完成",
value: "0", value: "0",
}, },
{ {
name: "平台消息提醒", name: "整改中",
value: "1", value: "1",
}, },
{ {
name: "钉钉消息提醒", name: "已完成",
value: "2", value: "2",
}, },
], ],
riskList: [ //企业类型
cmyTypeList: [
{ {
name: "流动人员异常", name: "其他类型",
value: "0", value: "0",
}, },
{ {
name: "重点岗位资质异常", name: "精细化工企业",
value: "1", value: "1",
}, },
{ {
name: "人防配置情况异常", name: "石化源头企业",
value: "2", value: "2",
}, },
{ {
name: "消防设施设备异常", name: "合成材料企业",
value: "3", value: "3",
}, },
{
name: "高分子企业",
value: "4",
},
], ],
elementList: [ //处置方式
dealWayList: [
{ {
name: "流动人员核查率异常", name: "企业提醒",
value: "0", value: "0",
}, },
{ {
name: "危险品使用人员资质异常", name: "行政处罚",
value: "1", value: "1",
}, },
{ {
name: "夜间值班人员不足", name: "核实消警",
value: "2", value: "2",
}, },
{ {
name: "灭火器数量不达标", name: "现场核实",
value: "3", value: "3",
}, },
{
name: "现场检查",
value: "4",
},
], ],
pushObjList: [ //处置要求
dealRequireList: [
{ {
name: "企业对象", name: "自动反馈",
value: "0",
},
{
name: "人工反馈",
value: "1", value: "1",
}, },
],
//监管单位
unitList: [
{ {
name: "镇海区公安局", name: "镇海区公安局",
value: "2", value: "0",
}, },
{ {
name: "镇海区交通局", name: "镇海区交通局",
value: "3", value: "1",
}, },
{ {
name: "市场监督管理局", name: "市场监督管理局",
value: "4", value: "2",
}, },
{ {
name: "区大数据中心", name: "区大数据中心",
value: "5", value: "3",
}, },
], ],
remindList: [ //消息类型
infoTypeList: [
{ {
name: "到期前一天", name: "短信提醒",
value: "0", value: "0",
}, },
{ {
name: "到期前三天", name: "超期提醒",
value: "1", value: "1",
}, },
{ {
name: "到期前五天", name: "申诉审核提醒",
value: "2", value: "2",
}, },
], ],
unitList: [ //提醒方式==推送方式
tipWayList: [
{ {
name: "镇海区公安局", name: "钉钉",
value: "0",
},
{
name: "平台消息",
value: "1", value: "1",
}, },
{ {
name: "镇海区交通局", name: "短信",
value: "2", value: "2",
}, },
],
pushList: [
{ {
name: "市场监督管理局", name: "短信提醒",
value: "3", value: "0",
}, },
{ {
name: "区大数据中心", name: "平台消息提醒",
value: "4", value: "1",
},
{
name: "钉钉消息提醒",
value: "2",
}, },
], ],
personList: [ pushObjList: [
{ {
name: "杨怡伶", name: "企业对象",
value: "1", value: "1",
}, },
{ {
name: "李彦志", name: "镇海区公安局",
value: "2", value: "2",
}, },
{ {
name: "吴淑霞", name: "镇海区交通局",
value: "3", value: "3",
}, },
{ {
name: "张雅泰", name: "市场监督管理局",
value: "4", value: "4",
}, },
],
dealWayList: [
{ {
name: "企业提醒", name: "区大数据中心",
value: "1", value: "5",
},
{
name: "核实消警",
value: "2",
}, },
],
remindList: [
{ {
name: "现场核实", name: "到期前一天",
value: "3", value: "0",
}, },
{ {
name: "现场检查", name: "到期前三天",
value: "4", value: "1",
}, },
{ {
name: "行政处罚", name: "到期前五天",
value: "5", value: "2",
}, },
], ],
dealRequire: [ personList: [
{ {
name: "自动反馈", name: "杨怡伶",
value: "1", value: "1",
}, },
{ {
name: "人工反馈", name: "李彦志",
value: "2", value: "2",
}, },
{
name: "吴淑霞",
value: "3",
},
{
name: "张雅泰",
value: "4",
},
], ],
}; };
}, },

@ -10,7 +10,7 @@ export const tableListMixins = {
/* 分页参数 */ /* 分页参数 */
ipagination: { ipagination: {
currentPage: 1, currentPage: 1,
pageSize: 20, pageSize: 10,
pageSizes: ["10", "20", "30"], pageSizes: ["10", "20", "30"],
layout: "total, sizes, prev, pager, next, jumper", layout: "total, sizes, prev, pager, next, jumper",
total: 0, total: 0,
@ -45,7 +45,7 @@ export const tableListMixins = {
//模拟接口返回数据总数total //模拟接口返回数据总数total
let total = 40; let total = 40;
this.ipagination.total = total; this.ipagination.total = total;
//console.log(this.ipagination); console.log(this.ipagination);
let nameArr = [ let nameArr = [
"杨怡伶", "杨怡伶",
@ -90,22 +90,82 @@ export const tableListMixins = {
"叶依婷", "叶依婷",
]; ];
let cmyArr = [
"宁波市鼎瑞翔新材料科技有限公司",
"镇海石化海达发展有限责任公司",
"宁波四明化工有限公司",
"宁波特粒科技有限公司",
"宁波市镇海欣利工艺品有限公司",
"宁波安捷化工物流有限公司",
"宁波和盛达能源科技有限公司",
"宁波市镇海俞范三合电镀厂",
"宁波华梦贸易有限公司",
"英力士苯领高分子材料(宁波)有限公司",
"宁波市镇海金泰金属有限公司",
"宁波市银舟表面技术有限公司",
"图腾纺织(宁波)有限公司",
"宁波人健化学制药有限公司",
"宁波明峰检验检测研究院股份有限公司",
"宁波铝亿合金材料有限公司",
"宁波龙宝泰生环保科技有限公司",
"浙江杭州湾腈纶有限公司",
"镇海蛟川物业管理有限公司",
"宁波镇海炼化利安德化工销售有限公司",
];
let timeArr = [
"2023-02-26 10:08:36",
"2023-01-26 10:08:12",
"2023-02-26 09:08:36",
"2023-08-09 10:08:37",
"2023-07-12 10:11:16",
"2023-02-26 10:32:42",
"2023-03-26 09:08:36",
"2023-03-26 10:08:57",
"2023-04-26 10:08:28",
"2023-05-26 10:08:36",
"2023-05-26 10:32:18",
"2023-06-12 10:08:28",
"2023-03-12 10:08:31",
"2023-02-24 10:08:41",
"2023-02-12 09:08:47",
"2023-02-26 11:08:53",
"2023-05-26 09:10:58",
"2023-04-26 10:11:51",
"2023-03-26 10:09:29",
"2023-03-12 10:19:29",
];
//console.log(nameArr.length); //console.log(nameArr.length);
let nameIndex = (this.ipagination.currentPage - 1) * 10; let index = (this.ipagination.currentPage - 1) * 10;
for (let i = 0; i < 40; i++) { console.log(index);
let length = index + 10;
for (let i = index; i < length; i++) {
this.dataSource.push({ this.dataSource.push({
id: i + 1, id: i + 1,
name: nameArr[nameIndex + i], name: nameArr[index + i],
card: "32032119879876321" + i, card: "32032119879876321" + i,
phone: "186678879" + i, phone: "186678879" + i,
cmy: "海兴达化工有限公司" + i, cmy: cmyArr[i % 20],
cmyType: i % 5,
time: timeArr[i % 20],
risk: i % 8,
ys: i % 4,
unit: i % 4,
state: i % 3,
dealWay: i % 5,
dealRequire: i % 2,
street: "33021100" + (i % 7),
infoType: i % 3,
tipWay: i % 3,
tipnr: "经过应急管理局现场核查,消防设施无需整改",
gender: "男", gender: "男",
address: "来源地", address: "来源地",
isQ: "是", isQ: "是",
isD: "否", isD: "否",
personType: "未登记人员", personType: "未登记人员",
date: "2024-02-26 10:08:36", date: "2024-02-26 10:0" + (i % 10) + ":36",
sc: "正常", sc: "正常",
qyT: "企业类型" + i, qyT: "企业类型" + i,
car: "浙B9871" + i, car: "浙B9871" + i,
@ -128,10 +188,9 @@ export const tableListMixins = {
" 宁波镇海兴达化工有限公司仓库由于易燃物品存储不当,导致易燃物品燃烧发生火灾。仓库值班人员立即启动火灾预案,组织仓库管理人员、巡逻人员和保安救火,由于火势较大,现场配备的灭火器、消防栓无法迅速扑灭。", " 宁波镇海兴达化工有限公司仓库由于易燃物品存储不当,导致易燃物品燃烧发生火灾。仓库值班人员立即启动火灾预案,组织仓库管理人员、巡逻人员和保安救火,由于火势较大,现场配备的灭火器、消防栓无法迅速扑灭。",
flow: "宁波市北越石化有限公司-人员流动-异常" + i, flow: "宁波市北越石化有限公司-人员流动-异常" + i,
flowType: "流动人员异常", flowType: "流动人员异常",
state: i % 3,
node: "治安大队", node: "治安大队",
remarks: "加强管理", remarks: "加强管理",
street: "招宝山街道",
times: i + 1, times: i + 1,
total: i + 5, total: i + 5,
iszg: i % 3, iszg: i % 3,
@ -141,8 +200,6 @@ export const tableListMixins = {
jj: i % 3, jj: i % 3,
qyName: "海兴达化工有限公司" + (i % 3), qyName: "海兴达化工有限公司" + (i % 3),
sshs: "无", sshs: "无",
risk: i % 3,
unit: "治安大队",
}); });
} }
//console.log(this.dataSource); //console.log(this.dataSource);

@ -1,165 +1,48 @@
<template> <template>
<div class="juageApplyPanel"> <div class="juageApplyPanel">
<div class="flexSpaceBetween"> <div class="juageApplyHead">
<div class="tableOperator"></div> <gTab
<div class="searchWrap"> ref="gTabRef"
<el-form :inline="true" :model="queryParam" class="demo-form-inline"> :tabList="tabList"
<el-form-item label="消息类型:"> :curTab="curTab"
<el-select clearable v-model="queryParam.msg" placeholder=""> @tabClick="tabChange"
<el-option ></gTab>
v-for="item in msgList"
:label="item.name"
:key="item.name"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="请选择推送方式:">
<el-select clearable v-model="queryParam.cq" placeholder="">
<el-option
v-for="item in pushList"
:label="item.name"
:key="item.name"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="超期短信提醒:">
<el-select clearable v-model="queryParam.tx" placeholder="">
<el-option
v-for="item in isNoList"
:label="item.name"
:key="item.name"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="searchQuery"></el-button>
<el-button type="primary" plain @click="searchReset"
>重置</el-button
>
</el-form-item>
</el-form>
</div> </div>
<div class="juageApplyBody">
<component :is="content" @tabChange="tabChange"></component>
</div> </div>
<div class="tableWrap">
<gMainTable
border
stripe
ref="gMainTable"
:tableData="dataSource"
:columns="columns"
rowKey="id"
:pagination="ipagination"
@pageSizeChange="handlePageSizeChange"
@currentPageChange="handleCurrentPageChange"
>
<template v-slot:idSlot="{ scope }">
<span class="serialWrap">
{{ scope.row.id }}
</span>
</template>
<template v-slot:optSlot="{ scope }">
<span class="tableOPtBtn" @click="ruleSet(scope.row)">
规则配置
</span>
</template>
<template v-slot:isnSlot="{ scope }">
<gDict :options="isNoList" :value="scope.row.msg"></gDict>
</template>
<template v-slot:msgSlot="{ scope }">
<gDict :options="msgList" :value="scope.row.jj"></gDict>
</template>
</gMainTable>
</div>
<FormDialog
labelPosition="top"
ref="formDialog"
:formItems="formItems"
width="800px"
@formSubmit="formSubmit"
>
</FormDialog>
</div> </div>
</template> </template>
<script> <script>
import { tableListMixins } from "@/loveflow/mixins/tableListMixins"; import juageMap from "./juageMap.vue";
import { commonMixins } from "@/loveflow/mixins/commonMixins"; import juageTable from "./juageTable.vue";
export default { export default {
mixins: [tableListMixins, commonMixins], components: { juageTable, juageMap },
data() { data() {
return { return {
columns: [ tabList: [
{
slot: "idSlot",
prop: "id",
label: "序号",
attrs: {
width: 60,
},
},
{
prop: "risk",
label: "风险类型",
},
{
prop: "flowType",
label: "异常明细项",
},
{
slot: "waySlot",
prop: "way",
label: "处置方式",
},
{
prop: "deal",
label: "处置要求",
},
{ {
slot: "optSlot", name: "首次出现",
prop: "jj", value: "1",
label: "处置配置",
attrs: {
width: 140,
}, },
},
{
prop: "remarks",
label: "备注",
},
],
formItems: [
{ {
type: "select", name: "频繁出现",
itemAttrs: { value: "2",
label: "请选择处置要求",
span: 24,
rules: this.requiredItem,
},
attrs: {
model: "push",
value: "",
option: [],
style: {
width: "100%",
paddingRight: "16px",
},
},
}, },
], ],
curTab: "1",
content: "juageTable",
}; };
}, },
mounted() { mounted() {},
this.setFindItem("formItems", "push").attrs.option = this.dealWayList;
},
methods: { methods: {
ruleSet(obj) { tabChange(val) {
this.$refs.formDialog.openDialog("detail", obj, "推送规则设置"); if (val == "1") {
}, this.content = juageTable;
formSubmit(obj) { }
console.log(obj); if (val == "2") {
this.content = juageMap;
}
}, },
}, },
}; };
@ -170,13 +53,22 @@ export default {
height: 100%; height: 100%;
box-sizing: border-box; box-sizing: border-box;
overflow: hidden; overflow: hidden;
.tableWrap { .juageApplyHead {
.serialWrap { position: absolute;
padding: 2px 6px; display: flex;
border: solid 1px #9ed7e7; align-items: flex-end;
color: #33e6ff; height: 50px;
font-weight: bold; right: 24px;
border-radius: 2px; top: 0;
}
.juageApplyBody {
padding-top: vw(14);
display: flex;
flex-direction: column;
height: calc(100% - 100px);
overflow-y: scroll;
&::-webkit-scrollbar {
display: none;
} }
} }
} }

@ -0,0 +1,3 @@
<template>
<div class="juageMapPanel"></div>
</template>

@ -0,0 +1,150 @@
<template>
<div class="juageTablePanel">
<div class="flexSpaceBetween">
<div class="tableOperator"></div>
<div class="searchWrap">
<el-form :inline="true" :model="queryParam" class="demo-form-inline">
<el-form-item label="关键词:">
<el-input
v-model="queryParam.name"
placeholder="请输入企业名称"
></el-input>
</el-form-item>
<el-form-item label="风险类型:">
<el-select clearable v-model="queryParam.risk" placeholder="">
<el-option
v-for="item in riskList"
:label="item.name"
:key="item.name"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="要素异常明细:">
<el-select clearable v-model="queryParam.ys" placeholder="">
<el-option
v-for="item in elementList"
:label="item.name"
:key="item.name"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item style="margin-right: 0">
<el-button type="primary" @click="searchQuery"></el-button>
<el-button type="primary" plain @click="searchReset"
>重置</el-button
>
</el-form-item>
</el-form>
</div>
</div>
<div class="tableWrap">
<gMainTable
border
stripe
ref="gMainTable"
:tableData="dataSource"
:columns="columns"
rowKey="id"
:pagination="ipagination"
@pageSizeChange="handlePageSizeChange"
@currentPageChange="handleCurrentPageChange"
>
<template v-slot:idSlot="{ scope }">
<span class="serialWrap">
{{ scope.row.id }}
</span>
</template>
<template v-slot:riskSlot="{ scope }">
<gDict :options="riskList" :value="scope.row.risk"></gDict>
</template>
<template v-slot:ysSlot="{ scope }">
<gDict :options="elementList" :value="scope.row.ys"></gDict>
</template>
<template v-slot:jjSlot="{ scope }">
<div class="ybWrap" v-if="scope.row.jj == 0">
<div class="text">一般</div>
</div>
<div class="zdWrap" v-if="scope.row.jj == 1">
<div class="text">重点关注</div>
</div>
<div class="jjWrap" v-if="scope.row.jj == 2">
<div class="text">紧急</div>
</div>
</template>
</gMainTable>
</div>
</div>
</template>
<script>
import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
import { commonMixins } from "@/loveflow/mixins/commonMixins";
export default {
mixins: [tableListMixins, commonMixins],
data() {
return {
columns: [
{
slot: "idSlot",
prop: "id",
label: "序号",
attrs: {
width: 60,
},
},
{
prop: "cmy",
label: "企业名称",
},
{
slot: "riskSlot",
prop: "risk",
label: "违规事件",
},
{
slot: "ysSlot",
prop: "ys",
label: "要素异常明细项",
},
{
prop: "deal",
label: "类型",
},
{
slot: "jjSlot",
prop: "jj",
label: "紧急程度",
attrs: {
width: 140,
},
},
{
prop: "remarks",
label: "备注",
},
],
};
},
mounted() {},
methods: {},
};
</script>
<style lang="scss">
@import "@/loveflow/assets/index.scss";
.juageTablePanel {
height: 100%;
box-sizing: border-box;
overflow: hidden;
.tableWrap {
height: calc(100% - 50px);
.serialWrap {
padding: 2px 6px;
border: solid 1px #9ed7e7;
color: #33e6ff;
font-weight: bold;
border-radius: 2px;
}
}
}
</style>

@ -148,12 +148,12 @@ export default {
fontSize: 18, fontSize: 18,
}, },
}, },
formatter: `{label|监管企业总数}\n{value|${total}}`, formatter: `{label|${this.chartObj.name}}\n{value|${total}}`,
}, },
emphasis: { emphasis: {
label: { label: {
show: true, show: true,
formatter: `{label|监管企业总数}\n{value|${total}}`, formatter: `{label|${this.chartObj.name}}\n{value|${total}}`,
}, },
}, },
labelLine: { labelLine: {

@ -0,0 +1,152 @@
<template>
<div style="height: 100%; width: 100%" id="pieWrap">
<g-chart :echartdata="option"></g-chart>
</div>
</template>
<script>
export default {
props: {
chartObj: {
type: Object,
default: () => {
return {};
},
},
},
data() {
return {
option: {},
};
},
mounted() {
this.setOption();
},
methods: {
setOption() {
let temp = this.getHeight();
let height = parseInt(temp / 8);
console.log(height);
let point = this.chartObj.point; //
let total = this.chartObj.total;
this.option = {
tooltip: {
show: false,
},
title: {
//
show: true, //
text: this.chartObj.name,
textStyle: { fontSize: 12, color: "#D0DEEE" },
textAlign: "center",
left: "47%",
top: 2 * height + 20,
},
color: this.chartObj.color,
graphic: {
elements: [
{
type: "image",
style: {
image: this.chartObj.icon,
width: 4 * height,
height: 4 * height,
zIndex: 1,
},
left: "center",
top: 12 - height,
},
],
},
series: [
{
// name: '访1',
type: "pie",
radius: [height - 6, height],
center: ["center", height + 12],
data: [
{
value: total, //100%
itemStyle: {
normal: {
borderRadius: 15,
color: "#1B2221",
},
},
},
],
label: {
position: "center",
formatter: ((100 * point) / total).toFixed(0) + "%",
color: this.chartObj.color[0],
fontSize: 12,
},
labelLine: {
show: false,
},
},
{
// name: '访2',
type: "pie",
showEmptyCircle: true, //
radius: [height - 6, height],
center: ["center", height + 12],
avoidLabelOverlap: true, //
data: [
{
value: total,
itemStyle: {
borderRadius: 15, //
color: {
//
type: "linear",
colorStops: [
{
offset: 0,
color: this.chartObj.color[1], // 0%
},
{
offset: 1,
color: this.chartObj.color[2], // 100%
},
],
},
},
},
{
value: total, //
itemStyle: {
normal: {
color: "rgba(255,255,255,0)", //
},
},
},
],
label: {
show: false,
position: "center",
},
labelLine: {
show: false,
},
},
],
};
},
getHeight() {
let div = document.getElementById("pieWrap");
return div.clientHeight;
},
},
watch: {
chartObj: {
handler(newval) {
this.setOption();
},
deep: true,
// immediate: true,
},
},
};
</script>

@ -23,11 +23,19 @@
class="timeWrap" class="timeWrap"
ref="gTimeChangeRef" ref="gTimeChangeRef"
:tabList="tabList" :tabList="tabList"
:curTab="curTime" :curTab="curTab"
@tabClick="timeChange" @tabClick="tabChange"
></gTab> ></gTab>
<colWrap title="违法行为统计"> <colWrap title="违法行为统计">
<barOne :chartObj="brObj"></barOne> <barOne v-if="curTab == 1" :chartObj="brObj1"></barOne>
<div v-if="curTab == 2" class="wfxwWrap">
<div class="line" v-for="(line, index) in fkmbList" :key="index">
<div class="item" v-for="item in line" :key="item.name">
<pieTwo :chartObj="item"></pieTwo>
</div>
</div>
</div>
<pieWrap v-if="curTab == 3" :chartObj="brObj3"></pieWrap>
</colWrap> </colWrap>
</div> </div>
</div> </div>
@ -37,6 +45,7 @@
import colWrap from "../components/colWrap.vue"; import colWrap from "../components/colWrap.vue";
import barOne from "./bar.vue"; import barOne from "./bar.vue";
import pieWrap from "./pie.vue"; import pieWrap from "./pie.vue";
import pieTwo from "./pieTwo.vue";
import dpie from "./dpie.vue"; import dpie from "./dpie.vue";
export default { export default {
@ -45,21 +54,22 @@ export default {
barOne, barOne,
pieWrap, pieWrap,
dpie, dpie,
pieTwo,
}, },
data() { data() {
return { return {
curTime: "1", curTab: "1",
tabList: [ tabList: [
{ {
name: "当月", name: "时间",
value: "1", value: "1",
}, },
{ {
name: "近三月", name: "类型",
value: "2", value: "2",
}, },
{ {
name: "本年度", name: "地点",
value: "3", value: "3",
}, },
], ],
@ -79,7 +89,29 @@ export default {
yData: [13, 14, 13, 11, 13, 14, 12, 16, 12, 15], yData: [13, 14, 13, 11, 13, 14, 12, 16, 12, 15],
name: "要素数量统计", name: "要素数量统计",
}, },
brObj: {
blObj: {
color: [
"#48EEBD",
"#2B82F3",
"#66C3FF",
"#FFC052",
"#E4FEF0",
"#FF745A",
"#672BF3",
],
data: [
{ value: 421, name: "招宝山街道" },
{ value: 567, name: "九龙湖镇" },
{ value: 354, name: "澥浦镇" },
{ value: 212, name: "骆驼街道" },
{ value: 253, name: "庄市街道" },
{ value: 383, name: "蛟川街道" },
{ value: 288, name: "贵驷街道" },
],
name: "监管企业总数",
},
brObj1: {
xData: [ xData: [
"1月", "1月",
"2月", "2月",
@ -97,7 +129,69 @@ export default {
yData: [13, 14, 13, 11, 13, 14, 12, 16, 12, 15, 14, 11], yData: [13, 14, 13, 11, 13, 14, 12, 16, 12, 15, 14, 11],
name: "违法行为统计", name: "违法行为统计",
}, },
blObj: { fkmbList: [
[
{
name: "车辆违规",
total: 340,
point: 100,
icon: require("@/assets/images/topic/pie1b.png"),
color: ["#57F0FF", "#37A1CC", "#08FAC4"],
},
{
name: "出入异常",
total: 328,
point: 186,
icon: require("@/assets/images/topic/pie2b.png"),
color: ["#FFCE57", "#EB9104", "#FAC608"],
},
{
name: "危化品",
total: 435,
point: 261,
icon: require("@/assets/images/topic/pie4b.png"),
color: ["#FFE3E3", "#FF2C2C", "#FF6D6D"],
},
{
name: "列管物品",
total: 340,
point: 100,
icon: require("@/assets/images/topic/pie1b.png"),
color: ["#57F0FF", "#37A1CC", "#08FAC4"],
},
],
[
{
name: "偷窃",
total: 340,
point: 100,
icon: require("@/assets/images/topic/pie1b.png"),
color: ["#57F0FF", "#37A1CC", "#08FAC4"],
},
{
name: "赌博",
total: 328,
point: 186,
icon: require("@/assets/images/topic/pie2b.png"),
color: ["#FFCE57", "#EB9104", "#FAC608"],
},
{
name: "嫖娼",
total: 435,
point: 261,
icon: require("@/assets/images/topic/pie4b.png"),
color: ["#FFE3E3", "#FF2C2C", "#FF6D6D"],
},
{
name: "违禁",
total: 340,
point: 100,
icon: require("@/assets/images/topic/pie1b.png"),
color: ["#57F0FF", "#37A1CC", "#08FAC4"],
},
],
],
brObj3: {
color: [ color: [
"#48EEBD", "#48EEBD",
"#2B82F3", "#2B82F3",
@ -116,13 +210,14 @@ export default {
{ value: 383, name: "蛟川街道" }, { value: 383, name: "蛟川街道" },
{ value: 288, name: "贵驷街道" }, { value: 288, name: "贵驷街道" },
], ],
name: "监管企业总数", name: "违法行为总数",
}, },
}; };
}, },
methods: { methods: {
timeChange(val) { tabChange(val) {
console.log(val) this.curTab = val;
console.log(val);
if (val == "1") { if (val == "1") {
this.brObj.yData = [13, 14, 13, 11, 13, 14, 12, 16, 12, 15, 14, 11]; this.brObj.yData = [13, 14, 13, 11, 13, 14, 12, 16, 12, 15, 14, 11];
} }
@ -153,10 +248,22 @@ export default {
flex: 1; flex: 1;
.timeWrap { .timeWrap {
position: absolute; position: absolute;
top: 30px; top: 0;
right: 20px; right: 0;
z-index: 12; z-index: 12;
} }
.wfxwWrap {
display: flex;
flex-direction: column;
height: 100%;
.line {
flex: 1;
display: flex;
.item {
flex: 1;
}
}
}
} }
} }
} }

@ -17,10 +17,24 @@
placeholder="请输入企业名称" placeholder="请输入企业名称"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="消息类型:">
<el-form-item label="纳入重点监管时间:"> <el-select
clearable
v-model="queryParam.infoType"
placeholder=""
>
<el-option
v-for="item in infoTypeList"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="发送时间:">
<el-date-picker <el-date-picker
v-model="queryParam.time" v-model="queryParam.fstime"
type="datetimerange" type="datetimerange"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
@ -29,25 +43,9 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<template v-if="toggleSearchStatus"> <template v-if="toggleSearchStatus">
<el-form-item label="纳入次数:"> <el-form-item label="阅读时间:">
<div class="flex-center">
<el-input-number
:min="0"
v-model="queryParam.min"
placeholder=""
></el-input-number>
<span style="color: #495e70; padding: 0 4px">-</span>
<el-input-number
:min="0"
v-model="queryParam.max"
placeholder=""
></el-input-number>
</div>
</el-form-item>
<el-form-item label="风险清单生成时间:">
<el-date-picker <el-date-picker
v-model="queryParam.time" v-model="queryParam.ydtime"
type="datetimerange" type="datetimerange"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
@ -56,30 +54,46 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="流程状态:"> <el-form-item label="阅读状态:">
<el-select v-model="queryParam.type" placeholder="整改状态"> <el-select clearable v-model="queryParam.yd" placeholder="">
<el-option label="整改完成" value="1"></el-option> <el-option label="已阅读" value="1"></el-option>
<el-option label="正在整改" value="0"></el-option> <el-option label="未阅读" value="0"></el-option>
<el-option label="未整改" value="2"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="企业类型:"> <el-form-item label="企业类型:">
<el-select v-model="queryParam.type" placeholder=""> <el-select
<el-option label="精细化工企业" value="1"></el-option> clearable
<el-option label="石化源头企业" value="0"></el-option> v-model="queryParam.cmyType"
<el-option label="合成材料企业" value="2"></el-option> placeholder=""
>
<el-option
v-for="item in cmyTypeList"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="处置方式:"> <el-form-item label="提醒方式:">
<el-select v-model="queryParam.type" placeholder=""> <el-select
<el-option label="企业提醒" value="1"></el-option> clearable
<el-option label="核实消警" value="2"></el-option> v-model="queryParam.tiplWay"
placeholder=""
>
<el-option
v-for="item in tipWayList"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</template> </template>
<el-form-item> <el-form-item style="margin-right: 0">
<el-button type="primary" @click="searchQuery" <el-button type="primary" @click="searchQuery"
>查询</el-button >查询</el-button
> >
@ -105,15 +119,24 @@
</div> </div>
</div> </div>
<div class="tableWrap"> <div class="tableWrap">
<div class="wtzgPanel"> <div class="msgCenterPanel">
<div <div
class="wtzgWrap" class="msgCenterWrap"
v-for="(item, index) in dataSource" v-for="(item, index) in dataSource"
:key="item.id + index" :key="item.id + index"
> >
<div class="wtzgRow"> <div class="msgCenterRow">
<div class="wtzgCol"> <div class="msgCenterCol">
<div class="label">企业名称</div> <div class="label">消息类型</div>
<div class="value">
<gDict
:options="infoTypeList"
:value="item.infoType"
></gDict>
</div>
</div>
<div class="msgCenterCol">
<div class="label">关联企业</div>
<div <div
class="value qymc" class="value qymc"
style="color: #ffe6d9" style="color: #ffe6d9"
@ -124,58 +147,58 @@
{{ item.cmy }} {{ item.cmy }}
</div> </div>
</div> </div>
<div class="wtzgCol"> <div class="msgCenterCol">
<div class="label">整改状态</div> <div class="label">企业类型</div>
<div class="value"> <div class="value">
<span v-if="item.iszg == 0" style="color: #fda722" <gDict
>整改中</span :options="cmyTypeList"
> :value="item.cmyType"
<span v-if="item.iszg == 1" style="color: #4cf993" ></gDict>
>已完成整改</span
>
<span v-if="item.iszg == 2" style="color: #ff6262"
>超期整改</span
>
</div> </div>
</div> </div>
<div class="wtzgCol">
<div class="label">整改进度</div>
<div class="valueWrap">
<div class="rateBg">
<div
class="rate"
:style="{ width: item.rate + '%' }"
></div>
</div> </div>
<div class="rateWrap">{{ item.rate + "%" }}</div> <div class="msgCenterRow">
<div class="msgCenterCol">
<div class="label">阅读状态</div>
<div class="value">已阅读</div>
</div> </div>
<div class="msgCenterCol">
<div class="label">提醒方式</div>
<div class="value">
<gDict :options="tipWayList" :value="item.tipWay"></gDict>
</div> </div>
</div> </div>
<div class="wtzgRow"> <div class="msgCenterCol">
<div class="label">已整改内容</div> <div class="label">监管单位</div>
<div class="valueRow"> <div class="value">
<div <gDict :options="unitList" :value="item.unit"></gDict>
class="valueWrap"
v-for="(list, _index) in item.yList"
:key="list"
>
<div class="icon">{{ _index + 1 }}</div>
<div class="value">{{ list }}</div>
</div> </div>
</div> </div>
</div> </div>
<div class="wtzgRow"> <div class="msgCenterRow">
<div class="label">未整改内容</div> <div class="msgCenterCol">
<div class="valueRow"> <div class="label">发送时间</div>
<div <div class="value">{{ item.time }}</div>
class="valueWrap wtwzgValue" </div>
v-for="(list, _index) in item.wList" <div class="msgCenterCol">
:key="list" <div class="label">阅读时间</div>
> <div class="value">{{ item.time }}</div>
<div class="icon">{{ _index + 1 }}</div> </div>
<div class="value">{{ list }}</div> <div class="msgCenterCol">
<div class="label">处置方式</div>
<div class="value">
<gDict
:options="dealWayList"
:value="item.dealWay"
></gDict>
</div>
</div> </div>
</div> </div>
<div class="msgCenterRow">
<div class="msgCenterCol">
<div class="label">提醒内容</div>
<div class="value">{{ item.tipnr }}</div>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -201,9 +224,11 @@
<script> <script>
import tableMain from "../components/tableMain.vue"; import tableMain from "../components/tableMain.vue";
import { tableListMixins } from "@/loveflow/mixins/tableListMixins"; import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
import { commonMixins } from "@/loveflow/mixins/commonMixins";
export default { export default {
components: { tableMain }, components: { tableMain },
mixins: [tableListMixins], mixins: [tableListMixins, commonMixins],
data() { data() {
return { return {
backIcon: require("@/assets/images/topic/left.png"), backIcon: require("@/assets/images/topic/left.png"),
@ -215,28 +240,7 @@ export default {
], ],
}; };
}, },
created() { created() {},
this.dataSource = [];
for (let i = 0; i < 20; i++) {
this.dataSource.push({
cmy: "海兴达化工有限公司" + i,
iszg: i % 3,
rate: (i % 9) * 10,
yList: [
"流动人员异常",
"重点岗位资质异常",
"车辆违规异常",
"人防配置情况异常",
],
wList: [
"技防配置情况异常",
"企业应急预案制定异常",
"危化品车辆状态异常",
"人防设施情况异常",
],
});
}
},
methods: { methods: {
gotoPage(path) { gotoPage(path) {
this.$router.push({ this.$router.push({
@ -294,15 +298,15 @@ export default {
.tableWrap { .tableWrap {
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
.wtzgPanel { .msgCenterPanel {
overflow-y: scroll; overflow-y: scroll;
height: calc(100% - 50px); height: calc(100% - 50px);
&::-webkit-scrollbar { &::-webkit-scrollbar {
display: none; display: none;
} }
.wtzgWrap { .msgCenterWrap {
height: vw(108); height: vw(138);
background: url("~@/assets/images/team/wtzggzb.png") no-repeat background: url("~@/assets/images/team/wtzggzb.png") no-repeat
center center; center center;
background-size: 100% 100%; background-size: 100% 100%;
@ -310,11 +314,11 @@ export default {
flex-direction: column; flex-direction: column;
justify-content: space-evenly; justify-content: space-evenly;
margin-bottom: vw(16); margin-bottom: vw(16);
.wtzgRow { .msgCenterRow {
padding: 0 vw(14); padding: 0 vw(14);
display: flex; display: flex;
align-items: center; align-items: center;
.wtzgCol { .msgCenterCol {
display: flex; display: flex;
align-items: center; align-items: center;
flex: 1; flex: 1;

@ -60,7 +60,7 @@
<el-option label="核实消警" value="2"></el-option> <el-option label="核实消警" value="2"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item style="margin-right: 0">
<el-button type="primary" @click="searchQuery" <el-button type="primary" @click="searchQuery"
>查询</el-button >查询</el-button
> >

@ -49,7 +49,7 @@
></el-input-number> ></el-input-number>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item style="margin-right: 0">
<el-button type="primary" @click="searchQuery" <el-button type="primary" @click="searchQuery"
>查询</el-button >查询</el-button
> >

@ -28,11 +28,11 @@
<el-select <el-select
clearable clearable
style="width: 160px" style="width: 160px"
v-model="queryParam.type" v-model="queryParam.risk"
placeholder="" placeholder=""
> >
<el-option <el-option
v-for="item in riskTypeList" v-for="item in riskList"
:label="item.name" :label="item.name"
:key="item.name" :key="item.name"
:value="item.value" :value="item.value"
@ -81,7 +81,7 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item style="margin-right: 0">
<el-button type="primary" @click="searchQuery" <el-button type="primary" @click="searchQuery"
>查询</el-button >查询</el-button
> >
@ -136,6 +136,32 @@
<div class="text">紧急</div> <div class="text">紧急</div>
</div> </div>
</template> </template>
<template v-slot:riskSlot="{ scope }">
<gDict :options="riskList" :value="scope.row.risk"></gDict>
</template>
<template v-slot:ysSlot="{ scope }">
<gDict :options="elementList" :value="scope.row.ys"></gDict>
</template>
<template v-slot:unitSlot="{ scope }">
<gDict :options="unitList" :value="scope.row.unit"></gDict>
</template>
<template v-slot:stateSlot="{ scope }">
<div class="failWrap" v-if="scope.row.state == 0">
<div class="text">处理失败</div>
</div>
<div class="ingWrap" v-if="scope.row.state == 1">
<div class="text">进行中</div>
</div>
<div class="finishWrap" v-if="scope.row.state == 2">
<div class="text">处置完成</div>
</div>
</template>
<template v-slot:dealWaySlot="{ scope }">
<gDict
:options="dealWayList"
:value="scope.row.dealWay"
></gDict>
</template>
</gMainTable> </gMainTable>
</div> </div>
</div> </div>
@ -163,28 +189,30 @@ export default {
}, },
}, },
{ {
prop: "flowType", slot: "riskSlot",
prop: "risk",
label: "风险类型", label: "风险类型",
attrs: { attrs: {
width: 160, width: 170,
}, },
}, },
{ {
prop: "date", prop: "time",
label: "风险产生时间", label: "风险产生时间",
attrs: { attrs: {
width: 180, width: 180,
}, },
}, },
{ {
prop: "qyName", prop: "cmy",
label: "风险关联企业", label: "风险关联企业",
attrs: { attrs: {
width: 240, width: 240,
}, },
}, },
{ {
prop: "flowType", slot: "ysSlot",
prop: "ys",
label: "风险要素", label: "风险要素",
attrs: { attrs: {
width: 160, width: 160,
@ -198,7 +226,8 @@ export default {
}, },
}, },
{ {
prop: "node", slot: "unitSlot",
prop: "unit",
label: "监管单位", label: "监管单位",
attrs: { attrs: {
width: 160, width: 160,
@ -217,7 +246,7 @@ export default {
prop: "remarks", prop: "remarks",
label: "风险整改流程", label: "风险整改流程",
attrs: { attrs: {
width: 70, width: 120,
}, },
}, },
{ {
@ -232,7 +261,7 @@ export default {
prop: "msg", prop: "msg",
label: "是否超期整改", label: "是否超期整改",
attrs: { attrs: {
width: 70, width: 120,
}, },
}, },
{ {
@ -240,7 +269,7 @@ export default {
prop: "msg", prop: "msg",
label: "是否挂牌督办", label: "是否挂牌督办",
attrs: { attrs: {
width: 70, width: 120,
}, },
}, },
{ {
@ -251,7 +280,8 @@ export default {
}, },
}, },
{ {
prop: "way", slot: "dealWaySlot",
prop: "dealWay",
label: "处置方式", label: "处置方式",
attrs: { attrs: {
width: 140, width: 140,
@ -325,6 +355,10 @@ export default {
display: none; display: none;
} }
.tableWrap {
height: calc(100% - 60px);
}
.serialWrap { .serialWrap {
padding: 2px 6px; padding: 2px 6px;
border: solid 1px #9ed7e7; border: solid 1px #9ed7e7;
@ -366,6 +400,21 @@ export default {
background-size: 100% 100%; background-size: 100% 100%;
color: #ff6262; color: #ff6262;
} }
.failWrap {
display: flex;
align-items: center;
color: #ff6262;
}
.ingWrap {
display: flex;
align-items: center;
color: #4cf993;
}
.finishWrap {
display: flex;
align-items: center;
color: #30c4ff;
}
} }
} }
} }

@ -52,7 +52,7 @@
placeholder="请输入姓名、身份证" placeholder="请输入姓名、身份证"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item style="margin-right: 0">
<el-button type="primary" @click="searchQuery" <el-button type="primary" @click="searchQuery"
>查询</el-button >查询</el-button
> >
@ -135,7 +135,7 @@ export default {
label: "流程名称1", label: "流程名称1",
}, },
{ {
prop: "date", prop: "time",
label: "创建时间", label: "创建时间",
attrs: { attrs: {
width: 220, width: 220,
@ -173,7 +173,7 @@ export default {
label: "流程名称2", label: "流程名称2",
}, },
{ {
prop: "date", prop: "time",
label: "创建时间", label: "创建时间",
attrs: { attrs: {
width: 220, width: 220,
@ -206,7 +206,7 @@ export default {
label: "流程名称3", label: "流程名称3",
}, },
{ {
prop: "date", prop: "time",
label: "创建时间", label: "创建时间",
attrs: { attrs: {
width: 220, width: 220,
@ -252,7 +252,7 @@ export default {
label: "流程名称4", label: "流程名称4",
}, },
{ {
prop: "date", prop: "time",
label: "创建时间", label: "创建时间",
attrs: { attrs: {
width: 220, width: 220,

@ -1,9 +1,6 @@
<template> <template>
<div class="dpiePanel" id="dpieWrap"> <div class="dpiePanel" id="dpieWrap">
<div <div class="dpieLegend">
class="dpieLegend"
:style="{ width: 'calc(100% - ' + parseInt(4 * viewH) + 'px)' }"
>
<div class="dpieRow" v-for="item in data" :key="item.name"> <div class="dpieRow" v-for="item in data" :key="item.name">
<div class="flex-center"> <div class="flex-center">
<div <div
@ -316,7 +313,7 @@ export default {
position: absolute; position: absolute;
right: vw(30); right: vw(30);
height: 100%; height: 100%;
width: 70%; width: 200px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;

@ -1,7 +1,7 @@
<template> <template>
<div class="riskOverviewWrap"> <div class="riskOverviewWrap">
<div class="screenRow screenRowTop pb14"> <div class="screenRow screenRowTop pb14">
<div class="left mr16"> <div class="left canvasDefault mr14">
<div class="optWrap"> <div class="optWrap">
<timeSelect @ok="changeTime"></timeSelect> <timeSelect @ok="changeTime"></timeSelect>
</div> </div>
@ -11,7 +11,7 @@
</div> </div>
<div class="right"> <div class="right">
<div <div
class="leftWrap mr16" class="leftWrap mr14 canvasPointer"
@click="gotoPage('/teamWork/riskOverview/indexRisk')" @click="gotoPage('/teamWork/riskOverview/indexRisk')"
> >
<div class="screenMTop">企业风险总数</div> <div class="screenMTop">企业风险总数</div>
@ -35,13 +35,13 @@
</div> </div>
</div> </div>
<div <div
class="rightWrap" class="rightWrap canvasPointer"
@click="gotoPage('/teamWork/riskOverview/indexDuty')" @click="gotoPage('/teamWork/riskOverview/indexDuty')"
> >
<colWrap title="企业状态占比"> <colWrap title="企业状态占比">
<div class="zgztWrap"> <div class="zgztWrap">
<div class="top"> <div class="top">
<div class="item itemLeft mr16"> <div class="item itemLeft mr14">
<div class="nameWrap"> <div class="nameWrap">
<div class="icon"> <div class="icon">
<img src="@/assets/images/team/glztpj.png" /> <img src="@/assets/images/team/glztpj.png" />
@ -69,14 +69,14 @@
</div> </div>
</div> </div>
</div> </div>
<div class="screenRow screenRowMid pb14"> <div class="screenRow canvasDefault screenRowMid pb14">
<div class="left mr16"> <div class="left mr14">
<colWrap title="各类型企业监管占比"> <colWrap title="各类型企业监管占比">
<pieWrap :chartObj="qyjgObj"></pieWrap> <pieWrap :chartObj="qyjgObj"></pieWrap>
</colWrap> </colWrap>
</div> </div>
<div class="right"> <div class="right">
<div class="leftWrap mr16"> <div class="leftWrap mr14">
<colWrap title="街道监管企业占比"> <colWrap title="街道监管企业占比">
<pieWrap :chartObj="jdjgObj"></pieWrap> <pieWrap :chartObj="jdjgObj"></pieWrap>
</colWrap> </colWrap>
@ -89,9 +89,9 @@
</div> </div>
</div> </div>
<div class="screenRow screenRowBtm"> <div class="screenRow screenRowBtm">
<div class="left mr16"> <div class="left mr14">
<div <div
class="leftWrap mr16" class="leftWrap mr14 canvasPointer"
@click="gotoPage('/teamWork/riskOverview/indexDetail', '1')" @click="gotoPage('/teamWork/riskOverview/indexDetail', '1')"
> >
<colWrap title="高频扣分项"> <colWrap title="高频扣分项">
@ -99,7 +99,7 @@
</colWrap> </colWrap>
</div> </div>
<div <div
class="rightWrap" class="rightWrap canvasPointer"
@click="gotoPage('/teamWork/riskOverview/indexDetail', '2')" @click="gotoPage('/teamWork/riskOverview/indexDetail', '2')"
> >
<colWrap title="高频要素异常项"> <colWrap title="高频要素异常项">
@ -109,7 +109,7 @@
</div> </div>
<div class="right"> <div class="right">
<div <div
class="leftWrap mr16" class="leftWrap mr14 canvasPointer"
@click="gotoPage('/teamWork/riskOverview/indexDetail', '3')" @click="gotoPage('/teamWork/riskOverview/indexDetail', '3')"
> >
<colWrap title="连续2次纳入监管企业类型TOP"> <colWrap title="连续2次纳入监管企业类型TOP">
@ -117,7 +117,7 @@
</colWrap> </colWrap>
</div> </div>
<div <div
class="rightWrap mr16" class="rightWrap canvasPointer mr14"
@click="gotoPage('/teamWork/riskOverview/indexDetail', '3')" @click="gotoPage('/teamWork/riskOverview/indexDetail', '3')"
> >
<colWrap title="连续纳入监管企业TOP"> <colWrap title="连续纳入监管企业TOP">
@ -125,7 +125,7 @@
</colWrap> </colWrap>
</div> </div>
<div <div
class="rightWrap" class="rightWrap canvasPointer"
@click="gotoPage('/teamWork/riskOverview/indexDetail', '4')" @click="gotoPage('/teamWork/riskOverview/indexDetail', '4')"
> >
<colWrap title="连续两次未整改企业TOP"> <colWrap title="连续两次未整改企业TOP">

@ -92,6 +92,21 @@
详情 详情
</div> </div>
</template> </template>
<template v-slot:cmyTypeSlot="{ scope }">
<gDict
:options="cmyTypeList"
:value="scope.row.cmyType"
></gDict>
</template>
<template v-slot:riskSlot="{ scope }">
<gDict :options="riskList" :value="scope.row.risk"></gDict>
</template>
<template v-slot:streetSlot="{ scope }">
<gDict :options="zhAreaList" :value="scope.row.street"></gDict>
</template>
<template v-slot:ysSlot="{ scope }">
<gDict :options="elementList" :value="scope.row.ys"></gDict>
</template>
</gMainTable> </gMainTable>
</div> </div>
</div> </div>
@ -102,9 +117,11 @@
<script> <script>
import tableMain from "../components/tableMain.vue"; import tableMain from "../components/tableMain.vue";
import { tableListMixins } from "@/loveflow/mixins/tableListMixins"; import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
import { commonMixins } from "@/loveflow/mixins/commonMixins";
export default { export default {
components: { tableMain }, components: { tableMain },
mixins: [tableListMixins], mixins: [tableListMixins, commonMixins],
data() { data() {
return { return {
backIcon: require("@/assets/images/topic/left.png"), backIcon: require("@/assets/images/topic/left.png"),
@ -143,27 +160,36 @@ export default {
label: "企业名称", label: "企业名称",
}, },
{ {
prop: "qyT", slot: "cmyTypeSlot",
prop: "cmyType",
label: "企业类型", label: "企业类型",
attrs: {
width: 120,
},
}, },
{ {
prop: "times", prop: "times",
label: "纳入监管次数", label: "纳入监管次数",
}, },
{ {
prop: "date", prop: "time",
label: "本次纳入监管时间", label: "本次纳入监管时间",
attrs: { attrs: {
width: 220, width: 220,
}, },
}, },
{ {
slot: "streetSlot",
prop: "street", prop: "street",
label: "企业所属街道", label: "企业所属街道",
}, },
{ {
prop: "flowType", slot: "riskSlot",
prop: "risk",
label: "扣分项", label: "扣分项",
attrs: {
width: 170,
},
}, },
{ {
slot: "stateSlot", slot: "stateSlot",
@ -189,27 +215,32 @@ export default {
label: "企业名称", label: "企业名称",
}, },
{ {
prop: "qyT", slot: "cmyTypeSlot",
prop: "cmyType",
label: "企业类型", label: "企业类型",
attrs: {
width: 120,
},
}, },
{ {
prop: "times", prop: "times",
label: "纳入监管次数", label: "纳入监管次数",
}, },
{ {
prop: "date", prop: "time",
label: "本次纳入监管时间", label: "本次纳入监管时间",
attrs: { attrs: {
width: 220, width: 220,
}, },
}, },
{ slot: "streetSlot", prop: "street", label: "企业所属街道" },
{ {
prop: "street", slot: "ysSlot",
label: "企业所属街道", prop: "ys",
},
{
prop: "flowType",
label: "要素异常项", label: "要素异常项",
attrs: {
width: 180,
},
}, },
{ {
slot: "stateSlot", slot: "stateSlot",
@ -235,8 +266,12 @@ export default {
label: "企业名称", label: "企业名称",
}, },
{ {
prop: "qyT", slot: "cmyTypeSlot",
prop: "cmyType",
label: "企业类型", label: "企业类型",
attrs: {
width: 120,
},
}, },
{ {
prop: "times", prop: "times",
@ -247,24 +282,29 @@ export default {
label: "连续纳入监管次数", label: "连续纳入监管次数",
}, },
{ {
prop: "date", prop: "time",
label: "本次纳入监管时间", label: "本次纳入监管时间",
attrs: { attrs: {
width: 220, width: 220,
}, },
}, },
{ {
prop: "flowType", prop: "risk",
slot: "riskSlot",
label: "连续扣分项", label: "连续扣分项",
attrs: {
width: 170,
},
}, },
{ {
prop: "flowType", slot: "ysSlot",
prop: "ys",
label: "要素异常信息", label: "要素异常信息",
attrs: {
width: 180,
}, },
{
prop: "street",
label: "企业所属街道",
}, },
{ slot: "streetSlot", prop: "street", label: "企业所属街道" },
{ {
slot: "stateSlot", slot: "stateSlot",
prop: "state", prop: "state",
@ -289,11 +329,15 @@ export default {
label: "企业名称", label: "企业名称",
}, },
{ {
prop: "qyT", slot: "cmyTypeSlot",
prop: "cmyType",
label: "企业类型", label: "企业类型",
attrs: {
width: 120,
},
}, },
{ {
prop: "date", prop: "time",
label: "纳入监管时间", label: "纳入监管时间",
attrs: { attrs: {
width: 220, width: 220,
@ -308,13 +352,11 @@ export default {
label: "连续未整改次数", label: "连续未整改次数",
}, },
{ {
prop: "flowType", prop: "risk",
slot: "riskSlot",
label: "未整改项", label: "未整改项",
}, },
{ { slot: "streetSlot", prop: "street", label: "企业所属街道" },
prop: "street",
label: "企业所属街道",
},
{ {
prop: "remarks", prop: "remarks",
label: "备注", label: "备注",
@ -567,7 +609,6 @@ export default {
align-items: center; align-items: center;
color: #30c4ff; color: #30c4ff;
} }
.text { .text {
font-weight: 400; font-weight: 400;
font-size: 14px; font-size: 14px;

@ -24,25 +24,43 @@
</el-form-item> </el-form-item>
<el-form-item label="管控扣分项:"> <el-form-item label="管控扣分项:">
<el-select clearable v-model="queryParam.kf" placeholder=""> <el-select clearable v-model="queryParam.risk" placeholder="">
<el-option label="流动人员" value="1"></el-option> <el-option
<el-option label="企业整改" value="0"></el-option> v-for="item in riskList"
<el-option label="重点岗位" value="2"></el-option> :key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="处置方式:"> <el-form-item label="处置方式:">
<el-select clearable v-model="queryParam.way" placeholder=""> <el-select
<el-option label="企业提醒" value="1"></el-option> clearable
<el-option label="核实消警" value="2"></el-option> v-model="queryParam.dealWay"
placeholder=""
>
<el-option
v-for="item in dealWayList"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="监管单位:"> <el-form-item label="监管单位:">
<el-select clearable v-model="queryParam.dw" placeholder=""> <el-select clearable v-model="queryParam.unit" placeholder="">
<el-option label="区委网信办" value="1"></el-option> <el-option
<el-option label="区公安局" value="2"></el-option> v-for="item in unitList"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item style="margin-right: 0">
<el-button type="primary" @click="searchQuery" <el-button type="primary" @click="searchQuery"
>查询</el-button >查询</el-button
> >
@ -82,6 +100,27 @@
<div class="text">紧急</div> <div class="text">紧急</div>
</div> </div>
</template> </template>
<template v-slot:riskSlot="{ scope }">
<gDict :options="riskList" :value="scope.row.risk"></gDict>
</template>
<template v-slot:ysSlot="{ scope }">
<gDict :options="elementList" :value="scope.row.ys"></gDict>
</template>
<template v-slot:unitSlot="{ scope }">
<gDict :options="unitList" :value="scope.row.unit"></gDict>
</template>
<template v-slot:dealWaySlot="{ scope }">
<gDict
:options="dealWayList"
:value="scope.row.dealWay"
></gDict>
</template>
<template v-slot:dealRequireSlot="{ scope }">
<gDict
:options="dealRequireList"
:value="scope.row.dealRequire"
></gDict>
</template>
</gMainTable> </gMainTable>
</div> </div>
</div> </div>
@ -100,9 +139,11 @@
<script> <script>
import tableMain from "../components/tableMain.vue"; import tableMain from "../components/tableMain.vue";
import { tableListMixins } from "@/loveflow/mixins/tableListMixins"; import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
import { commonMixins } from "@/loveflow/mixins/commonMixins";
export default { export default {
components: { tableMain }, components: { tableMain },
mixins: [tableListMixins], mixins: [tableListMixins, commonMixins],
data() { data() {
return { return {
backIcon: require("@/assets/images/topic/left.png"), backIcon: require("@/assets/images/topic/left.png"),
@ -116,16 +157,24 @@ export default {
}, },
}, },
{ {
prop: "qyName", prop: "cmy",
label: "企业名称", label: "企业名称",
}, },
{ {
prop: "flowType", slot: "riskSlot",
prop: "risk",
label: "管控扣分项", label: "管控扣分项",
attrs: {
width: 170,
},
}, },
{ {
prop: "flowType", slot: "ysSlot",
label: "异常明细项", prop: "ys",
label: "异常明细",
attrs: {
width: 180,
},
}, },
{ {
prop: "remarks", prop: "remarks",
@ -142,7 +191,8 @@ export default {
}, },
}, },
{ {
prop: "node", slot: "unitSlot",
prop: "unit",
label: "监管单位", label: "监管单位",
attrs: { attrs: {
width: 140, width: 140,
@ -156,17 +206,19 @@ export default {
}, },
}, },
{ {
prop: "way", slot: "dealWaySlot",
prop: "dealWay",
label: "处置方式", label: "处置方式",
attrs: { attrs: {
width: 140, width: 140,
}, },
}, },
{ {
prop: "deal", slot: "dealRequireSlot",
prop: "dealRequire",
label: "处置要求", label: "处置要求",
attrs: { attrs: {
width: 140, width: 120,
}, },
}, },
{ {

@ -18,6 +18,7 @@
> >
<el-form-item label="关键词:"> <el-form-item label="关键词:">
<el-input <el-input
clearable
v-model="queryParam.key" v-model="queryParam.key"
placeholder="请输入企业名称" placeholder="请输入企业名称"
></el-input> ></el-input>
@ -61,30 +62,55 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="流程状态:"> <el-form-item label="整改状态:">
<el-select v-model="queryParam.type" placeholder="整改状态"> <el-select
<el-option label="整改完成" value="1"></el-option> clearable
<el-option label="正在整改" value="0"></el-option> v-model="queryParam.state"
<el-option label="未整改" value="2"></el-option> placeholder=""
>
<el-option
v-for="item in stateList"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="企业类型:"> <el-form-item label="企业类型:">
<el-select v-model="queryParam.type" placeholder=""> <el-select
<el-option label="精细化工企业" value="1"></el-option> clearable
<el-option label="石化源头企业" value="0"></el-option> v-model="queryParam.cmyType"
<el-option label="合成材料企业" value="2"></el-option> placeholder=""
>
<el-option
v-for="item in cmyTypeList"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="处置方式:"> <el-form-item label="处置方式:">
<el-select v-model="queryParam.type" placeholder=""> <el-select
<el-option label="企业提醒" value="1"></el-option> clearable
<el-option label="核实消警" value="2"></el-option> v-model="queryParam.dealWay"
placeholder=""
>
<el-option
v-for="item in dealWayList"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</template> </template>
<el-form-item> <el-form-item style="margin-right: 0">
<el-button type="primary" @click="searchQuery" <el-button type="primary" @click="searchQuery"
>查询</el-button >查询</el-button
> >
@ -164,6 +190,30 @@
<template v-slot:optSlot="{ scope }"> <template v-slot:optSlot="{ scope }">
<div class="clickText" @click="deal(scope.row)"></div> <div class="clickText" @click="deal(scope.row)"></div>
</template> </template>
<template v-slot:riskSlot="{ scope }">
<gDict :options="riskList" :value="scope.row.risk"></gDict>
</template>
<template v-slot:cmyTypeSlot="{ scope }">
<gDict
:options="cmyTypeList"
:value="scope.row.cmyType"
></gDict>
</template>
<template v-slot:ysSlot="{ scope }">
<gDict :options="elementList" :value="scope.row.ys"></gDict>
</template>
<template v-slot:dealWaySlot="{ scope }">
<gDict
:options="dealWayList"
:value="scope.row.dealWay"
></gDict>
</template>
<template v-slot:dealRequireSlot="{ scope }">
<gDict
:options="dealRequireList"
:value="scope.row.dealRequire"
></gDict>
</template>
</gMainTable> </gMainTable>
</div> </div>
</div> </div>
@ -182,9 +232,11 @@
<script> <script>
import tableMain from "../components/tableMain.vue"; import tableMain from "../components/tableMain.vue";
import { tableListMixins } from "@/loveflow/mixins/tableListMixins"; import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
import { commonMixins } from "@/loveflow/mixins/commonMixins";
export default { export default {
components: { tableMain }, components: { tableMain },
mixins: [tableListMixins], mixins: [tableListMixins, commonMixins],
data() { data() {
return { return {
backIcon: require("@/assets/images/topic/left.png"), backIcon: require("@/assets/images/topic/left.png"),
@ -205,21 +257,22 @@ export default {
}, },
}, },
{ {
prop: "qyT", slot: "cmyTypeSlot",
prop: "cmyType",
label: "企业类型", label: "企业类型",
attrs: { attrs: {
width: 120, width: 120,
}, },
}, },
{ {
prop: "date", prop: "time",
label: "纳入监管时间", label: "纳入监管时间",
attrs: { attrs: {
width: 180, width: 180,
}, },
}, },
{ {
prop: "date", prop: "time",
label: "清单生成时间", label: "清单生成时间",
attrs: { attrs: {
width: 180, width: 180,
@ -232,19 +285,20 @@ export default {
width: 180, width: 180,
}, },
}, },
{ {
prop: "flowType", slot: "riskSlot",
prop: "risk",
label: "管控扣分项", label: "管控扣分项",
attrs: { attrs: {
width: 120, width: 170,
}, },
}, },
{ {
prop: "flowType", slot: "ysSlot",
label: "要素异明细", prop: "ys",
label: "要素异常明细",
attrs: { attrs: {
width: 120, width: 180,
}, },
}, },
{ {
@ -264,7 +318,8 @@ export default {
}, },
}, },
{ {
prop: "way", slot: "dealWaySlot",
prop: "dealWay",
label: "处置方式", label: "处置方式",
attrs: { attrs: {
width: 120, width: 120,
@ -287,7 +342,8 @@ export default {
}, },
}, },
{ {
prop: "deal", slot: "dealRequireSlot",
prop: "dealRequire",
label: "处置要求", label: "处置要求",
attrs: { attrs: {
width: 120, width: 120,
@ -463,7 +519,7 @@ export default {
display: none; display: none;
} }
.tableWrap{ .tableWrap {
height: calc(100% - 60px); height: calc(100% - 60px);
} }

@ -74,7 +74,7 @@ export default {
}, },
grid: { grid: {
top: this.chartObj.gridTop || "20%", top: this.chartObj.gridTop || "20%",
bottom: this.chartObj.gridBtm || "10%", bottom: this.chartObj.gridBtm || "15%",
left: this.chartObj.gridLeft || "6%", left: this.chartObj.gridLeft || "6%",
right: "5%", right: "5%",
}, },

@ -4,30 +4,24 @@
<div class="tableOperator"></div> <div class="tableOperator"></div>
<div class="searchWrap"> <div class="searchWrap">
<el-form :inline="true" :model="queryParam" class="demo-form-inline"> <el-form :inline="true" :model="queryParam" class="demo-form-inline">
<el-form-item label="消息类型:"> <el-form-item label="处置方式:">
<el-select clearable v-model="queryParam.msg" placeholder=""> <el-select clearable v-model="queryParam.dealWay" placeholder="">
<el-option <el-option
v-for="item in msgList" v-for="item in dealWayList"
:label="item.name" :label="item.name"
:key="item.name" :key="item.name"
:value="item.value" :value="item.value"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="请选择推送方式:"> <el-form-item label="处置要求:">
<el-select clearable v-model="queryParam.cq" placeholder=""> <el-select
<el-option clearable
v-for="item in pushList" v-model="queryParam.dealRequire"
:label="item.name" placeholder=""
:key="item.name" >
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="超期短信提醒:">
<el-select clearable v-model="queryParam.tx" placeholder="">
<el-option <el-option
v-for="item in isNoList" v-for="item in dealRequireList"
:label="item.name" :label="item.name"
:key="item.name" :key="item.name"
:value="item.value" :value="item.value"
@ -63,11 +57,21 @@
<template v-slot:optSlot="{ scope }"> <template v-slot:optSlot="{ scope }">
<span class="tableOPtBtn" @click="ruleSet(scope.row)"> </span> <span class="tableOPtBtn" @click="ruleSet(scope.row)"> </span>
</template> </template>
<template v-slot:isnSlot="{ scope }">
<gDict :options="isNoList" :value="scope.row.msg"></gDict> <template v-slot:riskSlot="{ scope }">
<gDict :options="riskList" :value="scope.row.risk"></gDict>
</template>
<template v-slot:ysSlot="{ scope }">
<gDict :options="elementList" :value="scope.row.ys"></gDict>
</template>
<template v-slot:dealWaySlot="{ scope }">
<gDict :options="dealWayList" :value="scope.row.dealWay"></gDict>
</template> </template>
<template v-slot:msgSlot="{ scope }"> <template v-slot:dealRequireSlot="{ scope }">
<gDict :options="msgList" :value="scope.row.jj"></gDict> <gDict
:options="dealRequireList"
:value="scope.row.dealRequire"
></gDict>
</template> </template>
</gMainTable> </gMainTable>
</div> </div>
@ -99,20 +103,23 @@ export default {
}, },
}, },
{ {
slot: "riskSlot",
prop: "risk", prop: "risk",
label: "风险类型", label: "风险类型",
}, },
{ {
prop: "flowType", slot: "ysSlot",
prop: "ys",
label: "异常明细项", label: "异常明细项",
}, },
{ {
slot: "waySlot", slot: "dealWaySlot",
prop: "way", prop: "dealWay",
label: "处置方式", label: "处置方式",
}, },
{ {
prop: "deal", slot: "dealRequireSlot",
prop: "dealRequire",
label: "处置要求", label: "处置要求",
}, },
{ {

@ -5,19 +5,19 @@
<div class="searchWrap"> <div class="searchWrap">
<el-form :inline="true" :model="queryParam" class="demo-form-inline"> <el-form :inline="true" :model="queryParam" class="demo-form-inline">
<el-form-item label="消息类型:"> <el-form-item label="消息类型:">
<el-select clearable v-model="queryParam.msg" placeholder=""> <el-select clearable v-model="queryParam.infoType" placeholder="">
<el-option <el-option
v-for="item in msgList" v-for="item in infoTypeList"
:label="item.name" :label="item.name"
:key="item.name" :key="item.name"
:value="item.value" :value="item.value"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="请选择推送方式:"> <el-form-item label="推送方式:">
<el-select clearable v-model="queryParam.cq" placeholder=""> <el-select clearable v-model="queryParam.ts" placeholder="">
<el-option <el-option
v-for="item in pushList" v-for="item in tipWayList"
:label="item.name" :label="item.name"
:key="item.name" :key="item.name"
:value="item.value" :value="item.value"
@ -68,8 +68,14 @@
<template v-slot:isnSlot="{ scope }"> <template v-slot:isnSlot="{ scope }">
<gDict :options="isNoList" :value="scope.row.msg"></gDict> <gDict :options="isNoList" :value="scope.row.msg"></gDict>
</template> </template>
<template v-slot:msgSlot="{ scope }"> <template v-slot:infoTypeSlot="{ scope }">
<gDict :options="msgList" :value="scope.row.jj"></gDict> <gDict :options="infoTypeList" :value="scope.row.infoType"></gDict>
</template>
<template v-slot:riskSlot="{ scope }">
<gDict :options="riskList" :value="scope.row.risk"></gDict>
</template>
<template v-slot:tipWaySlot="{ scope }">
<gDict :options="tipWayList" :value="scope.row.tipWay"></gDict>
</template> </template>
</gMainTable> </gMainTable>
</div> </div>
@ -91,34 +97,6 @@ export default {
mixins: [tableListMixins, commonMixins], mixins: [tableListMixins, commonMixins],
data() { data() {
return { return {
msgList: [
{
name: "风险提醒",
value: "0",
},
{
name: "超期提醒",
value: "1",
},
{
name: "申诉核查提醒",
value: "2",
},
],
pushList: [
{
name: "短信提醒",
value: "0",
},
{
name: "平台消息提醒",
value: "1",
},
{
name: "钉钉消息提醒",
value: "2",
},
],
dqList: [ dqList: [
{ {
name: "到期前一天", name: "到期前一天",
@ -143,36 +121,32 @@ export default {
}, },
}, },
{ {
slot: "msgSlot", slot: "infoTypeSlot",
prop: "jj", prop: "infoType",
label: "消息类型", label: "消息类型",
}, },
{ {
prop: "flowType", slot: "riskSlot",
prop: "risk",
label: "管控扣分项", label: "管控扣分项",
}, },
{ {
prop: "flowType", prop: "node",
label: "推送对象", label: "推送对象",
}, },
{ {
prop: "way", slot: "tipWaySlot",
prop: "tipWay",
label: "推送方式", label: "推送方式",
}, },
{ {
prop: "date", prop: "time",
label: "推送时间", label: "推送时间",
attrs: {
width: 180,
},
}, },
{ {
slot: "isnSlot", slot: "isnSlot",
prop: "msg", prop: "msg",
label: "是否短信提醒", label: "是否短信提醒",
attrs: {
width: 70,
},
}, },
{ {
slot: "optSlot", slot: "optSlot",
@ -284,7 +258,7 @@ export default {
}; };
}, },
mounted() { mounted() {
this.setFindItem("formItems", "jb").attrs.option = this.pushList; this.setFindItem("formItems", "jb").attrs.option = this.infoTypeList;
this.setFindItem("formItems", "tdx").attrs.option = this.pushObjList; this.setFindItem("formItems", "tdx").attrs.option = this.pushObjList;
this.setFindItem("formItems", "dx").attrs.option = this.isNoList; this.setFindItem("formItems", "dx").attrs.option = this.isNoList;
this.setFindItem("formItems", "cq").attrs.option = this.dqList; this.setFindItem("formItems", "cq").attrs.option = this.dqList;

Loading…
Cancel
Save