master
loveflow 6 months ago
parent cc9d1ce887
commit 31f1df0f5c

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 569 B

@ -58,6 +58,17 @@
}
}
}
.el-input-number {
.el-input-number__decrease,
.el-input-number__increase {
height: 34px;
line-height: 34px;
border-right: 0.1px solid #495e70;
border-left: 0.1px solid #495e70;
background-color: rgba(0, 0, 0, 0);
}
}
}
}
.tableWrap {
@ -186,7 +197,9 @@
}
.el-button {
width: 70px;
padding: 0;
width: 96px;
height: 34px;
border: 1px solid #4a6072;
color: #fff;
border-radius: 0px !important;
@ -202,9 +215,9 @@
}
.el-form {
padding: 16px 0;
padding: 16px;
height: 100%;
background: url(/img/242112.6e40adf5.png) no-repeat;
background: url("~@/assets/images/base/form.png") no-repeat;
background-size: 100% 100%;
overflow-y: scroll;
&::-webkit-scrollbar {
@ -214,6 +227,7 @@
.el-form-item__label {
color: #fff;
line-height: normal;
padding: 0 0 4px;
}
.el-form-item__content {
.el-textarea__inner,
@ -222,12 +236,13 @@
border: 0.5px solid;
background: #3c4b4a;
color: #fff;
border-color: #5b748c;
}
/* 查询框点击颜色变化 */
.el-input__inner:focus,
.el-input__inner:hover {
border-color: #1b3736;
border-color: #5b748c;
}
}
}

@ -20,6 +20,12 @@ export default {
return [];
},
},
curTab: {
type: String,
default: () => {
return "";
},
},
},
data() {
return {
@ -28,6 +34,10 @@ export default {
},
mounted() {
this.curVal = this.tabList.length ? this.tabList[0]["value"] : "";
if (this.curTab) {
this.curVal = this.curTab;
}
//console.log("..................:", this.curTab);
},
methods: {
tabClick(val) {

@ -5,7 +5,12 @@
:width="width"
:before-close="handleClose"
>
<el-form ref="relForm" :model="model" :label-width="labelWidth">
<el-form
ref="relForm"
:model="model"
:label-width="labelWidth"
:label-position="labelPosition"
>
<el-row>
<el-col
:span="item.itemAttrs.span || 22"
@ -84,7 +89,7 @@
</el-select>
</template>
<template v-if="item.type === 'date'">
<template v-if="item.type === 'date' || item.type == 'datetime'">
<el-date-picker
v-bind="item.attrs || {}"
v-model.trim="model[item.attrs.model]"
@ -123,12 +128,19 @@ export default {
return [];
},
},
labelWidth: {
type: String,
default: () => {
return "100px";
},
},
labelPosition: {
type: String,
default: () => {
return "right";
},
},
cancelBtn: {
type: Boolean,
default: () => {

@ -26,6 +26,8 @@ export const tableListMixins = {
selectedRowKeys: [],
/* table选中records*/
selectionRows: [],
/* 查询折叠 */
toggleSearchStatus: false,
};
},
created() {
@ -43,7 +45,7 @@ export const tableListMixins = {
//模拟接口返回数据总数total
let total = 40;
this.ipagination.total = total;
console.log(this.ipagination);
//console.log(this.ipagination);
let nameArr = [
"杨怡伶",
@ -88,7 +90,7 @@ export const tableListMixins = {
"叶依婷",
];
console.log(nameArr.length);
//console.log(nameArr.length);
let nameIndex = (this.ipagination.currentPage - 1) * 10;
for (let i = 0; i < 40; i++) {
@ -97,13 +99,13 @@ export const tableListMixins = {
name: nameArr[nameIndex + i],
card: "32032119879876321" + i,
phone: "186678879" + i,
cmy: "测试公司名称" + i,
cmy: "海兴达化工有限公司" + i,
gender: "男",
address: "来源地",
isQ: "是",
isD: "否",
personType: "未登记人员",
date: "2024-02-26 22:22:22",
date: "2024-02-26 10:08:36",
sc: "正常",
qyT: "企业类型" + i,
car: "浙B9871" + i,
@ -128,6 +130,16 @@ export const tableListMixins = {
flowType: "流动人员异常",
state: i % 3,
node: "治安大队",
remarks: "加强管理",
street: "招宝山街道",
times: i + 1,
total: i + 5,
iszg: i % 2,
way: "企业提醒",
msg: i % 2,
deal: "人工反馈",
jj: i % 3,
qyName: "海兴达化工有限公司" + (i % 3),
});
}
//console.log(this.dataSource);
@ -175,5 +187,8 @@ export const tableListMixins = {
this.queryParam = {};
this.searchQuery();
},
handleToggleSearch() {
this.toggleSearchStatus = !this.toggleSearchStatus;
},
},
};

@ -19,6 +19,36 @@ export default [
component: () =>
import("@/views/enterpriseTeamWork/riskOverview/index"),
},
{
path: "/teamWork/riskOverview/indexDetail",
name: "riskOverview",
meta: {
head: false,
title: "风险概览详情",
},
component: () =>
import("@/views/enterpriseTeamWork/riskOverview/indexDetail"),
},
{
path: "/teamWork/riskOverview/indexRisk",
name: "riskOverview",
meta: {
head: false,
title: "风险共治清单",
},
component: () =>
import("@/views/enterpriseTeamWork/riskOverview/indexRisk"),
},
{
path: "/teamWork/riskOverview/indexDuty",
name: "riskOverview",
meta: {
head: false,
title: "协同职责清单",
},
component: () =>
import("@/views/enterpriseTeamWork/riskOverview/indexDuty"),
},
{
path: "/teamWork/riskHandle",
name: "riskHandle",
@ -26,8 +56,7 @@ export default [
head: true,
title: "风险处置",
},
component: () =>
import("@/views/enterpriseTeamWork/riskHandle/index"),
component: () => import("@/views/enterpriseTeamWork/riskHandle/index"),
},
{
path: "/teamWork/problemRectify",
@ -56,8 +85,7 @@ export default [
head: true,
title: "异常处置管理",
},
component: () =>
import("@/views/enterpriseTeamWork/errorHandle/index"),
component: () => import("@/views/enterpriseTeamWork/errorHandle/index"),
},
{
path: "/teamWork/problemAnalysis",

@ -4,7 +4,9 @@
<div class="riskTrim trIcon"></div>
<div class="riskTrim blIcon"></div>
<div class="riskTrim brIcon"></div>
<!-- <div class="enterpriseTeamWorkTableWrap"> -->
<slot></slot>
<!-- </div> -->
</div>
</template>
<script>
@ -30,6 +32,14 @@ export default {
background: url("~@/assets/images/topic/bg.png") no-repeat center center;
background-size: 100% 100%;
box-sizing: border-box;
/* .enterpriseTeamWorkTableWrap {
height: 100%;
overflow-y: scroll;
&::-webkit-scrollbar {
display: none;
}
} */
.topicMianBack {
display: flex;
align-items: center;

@ -10,7 +10,10 @@
</colWrap>
</div>
<div class="right">
<div class="leftWrap mr16">
<div
class="leftWrap mr16"
@click="gotoPage('/teamWork/riskOverview/indexRisk')"
>
<div class="screenMTop">企业风险总数</div>
<div class="screenMMid">
<div class="midTotalWrap">
@ -31,7 +34,10 @@
</div>
</div>
</div>
<div class="rightWrap">
<div
class="rightWrap"
@click="gotoPage('/teamWork/riskOverview/indexDuty')"
>
<colWrap title="企业状态占比">
<div class="zgztWrap">
<div class="top">
@ -84,29 +90,44 @@
</div>
<div class="screenRow screenRowBtm">
<div class="left mr16">
<div class="leftWrap mr16">
<div
class="leftWrap mr16"
@click="gotoPage('/teamWork/riskOverview/indexDetail', '1')"
>
<colWrap title="高频扣分项">
<barWrap :chartObj="gpkfObj"></barWrap>
</colWrap>
</div>
<div class="rightWrap">
<div
class="rightWrap"
@click="gotoPage('/teamWork/riskOverview/indexDetail', '2')"
>
<colWrap title="高频要素异常项">
<barWrap :chartObj="gpysObj"></barWrap>
</colWrap>
</div>
</div>
<div class="right">
<div class="leftWrap mr16">
<div
class="leftWrap mr16"
@click="gotoPage('/teamWork/riskOverview/indexDetail', '3')"
>
<colWrap title="连续2次纳入监管企业类型TOP">
<cardWrap :dataList="qllxList"></cardWrap>
</colWrap>
</div>
<div class="rightWrap mr16">
<div
class="rightWrap mr16"
@click="gotoPage('/teamWork/riskOverview/indexDetail', '3')"
>
<colWrap title="连续纳入监管企业TOP">
<listWrap :dataList="dataList"></listWrap>
</colWrap>
</div>
<div class="rightWrap">
<div
class="rightWrap"
@click="gotoPage('/teamWork/riskOverview/indexDetail', '4')"
>
<colWrap title="连续两次未整改企业TOP">
<listWrap :dataList="dataList"></listWrap>
</colWrap>
@ -293,6 +314,14 @@ export default {
];
}
},
gotoPage(path, val) {
this.$router.push({
path: path,
query: {
tab: val || "",
},
});
},
},
};
</script>

@ -0,0 +1,578 @@
<template>
<div class="riskOverviewIndexDetailPanel">
<tableMain>
<div class="riskOverviewIndexDetailWrap">
<div class="titleWrap">
<div class="backBtn" @click="goBack()">
<img :src="backIcon" />返回
</div>
</div>
<div class="topHead">
<gTab
ref="gTabRef"
:tabList="tabList"
:curTab="curTab"
@tabClick="tabChange"
></gTab>
</div>
<div class="btmBody">
<div class="leftWrap">
<div class="line" v-for="line in qyList" :key="line.name">
<div class="lineHead">
<div class="icon"></div>
<div class="name">{{ line.name }}</div>
<div class="value">{{ line.total }}</div>
</div>
<div class="lineBody">
<div
class="item"
:class="{ active: qyVal == item.value }"
v-for="item in line.list"
:key="item.name"
@click="qyClick(item.value)"
>
<div class="icon"></div>
<div class="name">{{ item.name }}</div>
<div class="value">{{ item.total }}</div>
</div>
</div>
</div>
<div class="line" v-for="line in jdList" :key="line.name">
<div class="lineHead">
<div class="icon"></div>
<div class="name">{{ line.name }}</div>
<div class="value">{{ line.total }}</div>
</div>
<div class="lineBody">
<div
class="item"
:class="{ active: jdVal == item.value }"
v-for="item in line.list"
:key="item.name"
@click="jdClick(item.value)"
>
<div class="icon"></div>
<div class="name">{{ item.name }}</div>
<div class="value">{{ item.total }}</div>
</div>
</div>
</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: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:optSlot="{ scope }">
<div class="clickText" @click="checkDetail(scope.row)">
详情
</div>
</template>
</gMainTable>
</div>
</div>
</div>
</tableMain>
</div>
</template>
<script>
import tableMain from "../components/tableMain.vue";
import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
export default {
components: { tableMain },
mixins: [tableListMixins],
data() {
return {
backIcon: require("@/assets/images/topic/left.png"),
disableMixinCreated: true,
//tabListvalue
tabList: [
{
name: "高频扣分项关联企业",
value: "1",
},
{
name: "高频要素异常关联企业",
value: "2",
},
{
name: "连续纳入整改企业",
value: "3",
},
{
name: "未整改企业",
value: "4",
},
],
columns: [],
columns1: [
{
slot: "idslot",
prop: "id",
label: "序号",
attrs: {
width: 60,
},
},
{
prop: "cmy",
label: "企业名称",
},
{
prop: "qyT",
label: "企业类型",
},
{
prop: "times",
label: "纳入监管次数",
},
{
prop: "date",
label: "本次纳入监管时间",
attrs: {
width: 220,
},
},
{
prop: "street",
label: "企业所属街道",
},
{
prop: "flowType",
label: "扣分项",
},
{
slot: "stateSlot",
prop: "state",
label: "整改状态",
},
{
prop: "remarks",
label: "备注",
},
],
columns2: [
{
slot: "idslot",
prop: "id",
label: "序号",
attrs: {
width: 60,
},
},
{
prop: "cmy",
label: "企业名称",
},
{
prop: "qyT",
label: "企业类型",
},
{
prop: "times",
label: "纳入监管次数",
},
{
prop: "date",
label: "本次纳入监管时间",
attrs: {
width: 220,
},
},
{
prop: "street",
label: "企业所属街道",
},
{
prop: "flowType",
label: "要素异常项",
},
{
slot: "stateSlot",
prop: "state",
label: "整改状态",
},
{
prop: "remarks",
label: "备注",
},
],
columns3: [
{
slot: "idslot",
prop: "id",
label: "序号",
attrs: {
width: 60,
},
},
{
prop: "cmy",
label: "企业名称",
},
{
prop: "qyT",
label: "企业类型",
},
{
prop: "times",
label: "纳入监管次数",
},
{
prop: "total",
label: "连续纳入监管次数",
},
{
prop: "date",
label: "本次纳入监管时间",
attrs: {
width: 220,
},
},
{
prop: "flowType",
label: "连续扣分项",
},
{
prop: "flowType",
label: "要素异常信息",
},
{
prop: "street",
label: "企业所属街道",
},
{
slot: "stateSlot",
prop: "state",
label: "整改状态",
},
{
prop: "remarks",
label: "备注",
},
],
columns4: [
{
slot: "idslot",
prop: "id",
label: "序号",
attrs: {
width: 60,
},
},
{
prop: "cmy",
label: "企业名称",
},
{
prop: "qyT",
label: "企业类型",
},
{
prop: "date",
label: "纳入监管时间",
attrs: {
width: 220,
},
},
{
prop: "times",
label: "纳入监管次数",
},
{
prop: "total",
label: "连续未整改次数",
},
{
prop: "flowType",
label: "未整改项",
},
{
prop: "street",
label: "企业所属街道",
},
{
prop: "remarks",
label: "备注",
},
],
curTab: "",
qyList: [
{
name: "企业类型",
total: 123,
list: [
{
name: "全部",
total: 123,
value: "0",
},
{
name: "精细化工企业",
total: 56,
value: "1",
},
{
name: "石化源头企业",
total: 50,
value: "2",
},
{
name: "合成材料企业",
total: 17,
value: "3",
},
],
},
],
qyVal: "0",
jdList: [
{
name: "所属街道",
total: 123,
list: [
{
name: "全部",
total: 123,
value: "0",
},
{
name: "招宝山街道",
total: 20,
value: "1",
},
{
name: "九龙湖镇",
total: 25,
value: "2",
},
{
name: "澥浦镇",
total: 25,
value: "3",
},
{
name: "骆驼街道",
total: 30,
value: "4",
},
{
name: "庄市街道",
total: 10,
value: "5",
},
{
name: "蛟川街道",
total: 13,
value: "6",
},
],
},
],
jdVal: "0",
};
},
created() {
this.curTab = this.$route.query.tab;
this.tabChange(this.curTab);
},
methods: {
tabChange(val) {
switch (val) {
case "1":
this.columns = this.columns1;
break;
case "2":
this.columns = this.columns2;
break;
case "3":
this.columns = this.columns3;
break;
case "4":
this.columns = this.columns4;
break;
}
this.searchQuery();
},
goBack() {
this.$router.push({
path: "/teamWork/riskOverview",
});
},
qyClick(val) {
this.qyVal = val;
},
jdClick(val) {
this.jdVal = val;
},
},
};
</script>
<style lang="scss">
@import "@/loveflow/assets/index.scss";
.riskOverviewIndexDetailPanel {
padding: 16px;
height: 100%;
box-sizing: border-box;
color: #ffffff;
overflow: hidden;
.riskOverviewIndexDetailWrap {
height: 100%;
display: flex;
flex-direction: column;
.titleWrap {
display: flex;
align-items: center;
height: 46px;
font-weight: 600;
font-size: 16px;
color: #ebfff4;
letter-spacing: 2px;
text-shadow: 0px 0px 9px rgba(21, 255, 195, 0.6);
border-bottom: solid 1px rgba(91, 116, 140, 0.6);
.backBtn {
display: flex;
align-items: center;
img {
margin-right: 2px;
width: 20px;
height: 20px;
}
&:hover {
opacity: 0.8;
cursor: pointer;
}
}
}
.topHead {
display: flex;
align-items: flex-end;
height: 50px;
border-bottom: solid 1px rgba(91, 116, 140, 0.6);
}
.btmBody {
padding-top: vw(14);
display: flex;
height: calc(100% - 100px);
.leftWrap {
padding: 14px;
width: 200px;
height: 100%;
margin-right: 16px;
background: url("~@/assets/images/team/glnav.png") no-repeat center
center;
background-size: 100% 100%;
box-sizing: border-box;
overflow-y: scroll;
&::-webkit-scrollbar {
display: none;
}
.line {
color: #ffffff;
.lineHead {
display: flex;
align-items: center;
font-weight: 600;
font-size: 16px;
background: url("~@/assets/images/team/glnavT.png") no-repeat center
center;
background-size: 100% 100%;
.icon {
width: 32px;
height: 38px;
background: url("~@/assets/images/team/glnavI.png") no-repeat
center center;
background-size: 100% 100%;
}
}
.lineBody {
padding: 12px;
font-weight: 400;
font-size: 14px;
.icon {
margin-right: 8px;
width: 6px;
height: 6px;
border-radius: 4px;
background-color: rgba(172, 251, 255, 0.5);
box-shadow: none;
}
.item {
display: flex;
align-items: center;
margin-bottom: 12px;
&.active {
color: #a8ffd9;
.icon {
background: #08fdb7;
box-shadow: 0px 0px 8px 1px rgba(44, 254, 230, 0.71);
}
}
&:hover {
cursor: pointer;
opacity: 0.8;
}
}
}
}
}
.tableWrap {
width: calc(100% - 216px);
height: 100%;
}
.serialWrap {
padding: 2px 6px;
border: solid 1px #9ed7e7;
color: #33e6ff;
font-weight: bold;
border-radius: 2px;
}
.failWrap {
display: flex;
align-items: center;
color: #ff6262;
}
.ingWrap {
display: flex;
align-items: center;
color: #4cf993;
}
.finishWrap {
display: flex;
align-items: center;
color: #30c4ff;
}
.text {
font-weight: 400;
font-size: 14px;
}
}
}
}
</style>

@ -0,0 +1,458 @@
<template>
<div class="riskOverviewIndexDutyPanel loveflow">
<tableMain>
<div class="riskOverviewIndexDutyWrap">
<div class="titleWrap">
<div class="backBtn" @click="goBack()">
<img :src="backIcon" />返回
</div>
</div>
<div class="btmBody">
<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 v-model="queryParam.kf" placeholder="">
<el-option label="流动人员" value="1"></el-option>
<el-option label="企业整改" value="0"></el-option>
<el-option label="重点岗位" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="处置方式">
<el-select v-model="queryParam.way" placeholder="">
<el-option label="企业提醒" value="1"></el-option>
<el-option label="核实消警" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="监管单位">
<el-select v-model="queryParam.dw" placeholder="">
<el-option label="区委网信办" value="1"></el-option>
<el-option label="区公安局" value="2"></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="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:iszgSlot="{ scope }">
<div class="gouWrap" v-if="scope.row.state == 0"></div>
</template>
<template v-slot:msgSlot="{ scope }">
<div
@click="sendMsg(scope.row)"
class="msgfWrap"
v-if="scope.row.msg == 0"
>
发送超期提醒
</div>
<div class="msgWrap" v-if="scope.row.msg == 1"></div>
</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>
<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:optSlot="{ scope }">
<div class="clickText" @click="deal(scope.row)"></div>
</template>
</gMainTable>
</div>
</div>
</div>
</tableMain>
<FormDialog
labelPosition="top"
ref="formDialog"
:formItems="formItems"
width="800px"
@formSubmit="formSubmit"
>
</FormDialog>
</div>
</template>
<script>
import tableMain from "../components/tableMain.vue";
import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
export default {
components: { tableMain },
mixins: [tableListMixins],
data() {
return {
backIcon: require("@/assets/images/topic/left.png"),
columns: [
{
slot: "idSlot",
prop: "id",
label: "序号",
attrs: {
width: 60,
},
},
{
prop: "qyName",
label: "企业名称",
},
{
prop: "flowType",
label: "管控扣分项",
},
{
prop: "flowType",
label: "异常明细项",
},
{
prop: "remarks",
label: "整改要求",
attrs: {
width: 120,
},
},
{
prop: "remarks",
label: "各单位分工责任",
attrs: {
width: 160,
},
},
{
prop: "node",
label: "监管单位",
attrs: {
width: 140,
},
},
{
prop: "name",
label: "责任人",
attrs: {
width: 140,
},
},
{
prop: "way",
label: "处置方式",
attrs: {
width: 140,
},
},
{
prop: "deal",
label: "处置要求",
attrs: {
width: 140,
},
},
{
slot: "jjSlot",
prop: "jj",
label: "紧急程度",
attrs: {
width: 140,
},
},
],
formItems: [
{
type: "datetime",
itemAttrs: {
label: "请输入挂牌日期:",
span: 12,
},
attrs: {
model: "date",
value: "",
placeholder: "",
style: {
paddingRight: "16px",
},
},
},
{
type: "select",
itemAttrs: {
label: "请选择督办级别:",
span: 12,
},
attrs: {
model: "jb",
value: "",
option: [
{
label: "一级",
value: "1",
},
{
label: "二级",
value: "2",
},
],
style: {
width: "100%",
},
},
},
{
type: "input",
itemAttrs: {
label: "请输入挂牌单位:",
span: 12,
},
attrs: {
model: "dw",
value: "",
placeholder: "",
style: {
paddingRight: "16px",
},
},
},
{
type: "input",
itemAttrs: {
label: "请输入挂牌文号:",
span: 12,
},
attrs: {
model: "dw",
value: "",
placeholder: "",
},
},
{
type: "input",
itemAttrs: {
label: "请输入督办要求:",
span: 12,
},
attrs: {
model: "dw",
value: "",
placeholder: "",
style: {
paddingRight: "16px",
},
},
},
{
type: "input",
itemAttrs: {
label: "请输入督办销号单位:",
span: 12,
},
attrs: {
model: "dw",
value: "",
placeholder: "",
},
},
],
};
},
methods: {
deal(obj) {
this.$refs.formDialog.openDialog("detail", obj, "挂牌督办");
},
formSubmit(obj) {
console.log(obj);
},
sendMsg(obj) {
this.$message.success("提醒短信已发送");
},
goBack() {
this.$router.push({
path: "/teamWork/riskOverview",
});
},
},
};
</script>
<style lang="scss">
@import "@/loveflow/assets/index.scss";
.riskOverviewIndexDutyPanel {
padding: 16px;
height: 100%;
box-sizing: border-box;
color: #ffffff;
overflow: hidden;
.riskOverviewIndexDutyWrap {
height: 100%;
display: flex;
flex-direction: column;
.titleWrap {
display: flex;
align-items: center;
height: 46px;
font-weight: 600;
font-size: 16px;
color: #ebfff4;
letter-spacing: 2px;
text-shadow: 0px 0px 9px rgba(21, 255, 195, 0.6);
border-bottom: solid 1px rgba(91, 116, 140, 0.6);
.backBtn {
display: flex;
align-items: center;
img {
margin-right: 2px;
width: 20px;
height: 20px;
}
&:hover {
opacity: 0.8;
cursor: pointer;
}
}
}
.btmBody {
padding-top: vw(14);
display: flex;
flex-direction: column;
height: calc(100% - 50px);
overflow-y: scroll;
&::-webkit-scrollbar {
display: none;
}
.serialWrap {
padding: 2px 6px;
border: solid 1px #9ed7e7;
color: #33e6ff;
font-weight: bold;
border-radius: 2px;
}
.gouWrap {
width: 38px;
height: 34px;
background: url("~@/assets/images/team/gou.png") no-repeat center center;
background-size: 100% 100%;
}
.msgfWrap {
display: flex;
align-items: center;
justify-content: center;
width: 112px;
height: 38px;
background: url("~@/assets/images/team/msgf.png") no-repeat center
center;
background-size: 100% 100%;
color: #ffffff;
&:hover {
cursor: pointer;
opacity: 0.8;
}
}
.msgWrap {
display: flex;
align-items: center;
justify-content: center;
width: 112px;
height: 38px;
background: url("~@/assets/images/team/msg.png") no-repeat center center;
background-size: 100% 100%;
color: #526b7f;
}
.failWrap {
display: flex;
align-items: center;
color: #ff6262;
}
.ingWrap {
display: flex;
align-items: center;
color: #4cf993;
}
.finishWrap {
display: flex;
align-items: center;
color: #30c4ff;
}
.text {
font-weight: 400;
font-size: 14px;
}
.ybWrap {
display: flex;
align-items: center;
justify-content: center;
width: 72px;
height: 28px;
background: url("~@/assets/images/team/yb.png") no-repeat center center;
background-size: 100% 100%;
color: #b5ffe4;
}
.zdWrap {
display: flex;
align-items: center;
justify-content: center;
width: 72px;
height: 28px;
background: url("~@/assets/images/team/zd.png") no-repeat center center;
background-size: 100% 100%;
color: #e3deff;
}
.jjWrap {
display: flex;
align-items: center;
justify-content: center;
width: 72px;
height: 28px;
background: url("~@/assets/images/team/jj.png") no-repeat center center;
background-size: 100% 100%;
color: #ff6262;
}
}
}
}
</style>

@ -0,0 +1,556 @@
<template>
<div class="riskOverviewIndexRiskPanel loveflow">
<tableMain>
<div class="riskOverviewIndexRiskWrap">
<div class="titleWrap">
<div class="backBtn" @click="goBack()">
<img :src="backIcon" />返回
</div>
</div>
<div class="btmBody">
<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.key"
placeholder="请输入企业名称"
></el-input>
</el-form-item>
<el-form-item label="纳入重点监管时间">
<el-date-picker
v-model="queryParam.time"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<template v-if="toggleSearchStatus">
<el-form-item label="纳入次数">
<div class="flex-center">
<el-input-number
:min="0"
v-model="queryParam.min"
placeholder=""
></el-input-number>
<span>-</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
v-model="queryParam.time"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="流程状态">
<el-select v-model="queryParam.type" placeholder="整改状态">
<el-option label="整改完成" value="1"></el-option>
<el-option label="正在整改" value="0"></el-option>
<el-option label="未整改" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="企业类型">
<el-select v-model="queryParam.type" placeholder="">
<el-option label="精细化工企业" value="1"></el-option>
<el-option label="石化源头企业" value="0"></el-option>
<el-option label="合成材料企业" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="处置方式">
<el-select v-model="queryParam.type" placeholder="">
<el-option label="企业提醒" value="1"></el-option>
<el-option label="核实消警" value="2"></el-option>
</el-select>
</el-form-item>
</template>
<el-form-item>
<el-button type="primary" @click="searchQuery"
>查询</el-button
>
<el-button type="primary" plain @click="searchReset"
>重置</el-button
>
<a
class="pointer"
@click="handleToggleSearch"
style="margin-left: 8px"
>
{{ toggleSearchStatus ? "收起" : "展开" }}
<i
:class="
toggleSearchStatus
? 'el-icon-arrow-up'
: 'el-icon-arrow-down'
"
></i>
</a>
</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:iszgSlot="{ scope }">
<div class="gouWrap" v-if="scope.row.state == 0"></div>
</template>
<template v-slot:msgSlot="{ scope }">
<div
@click="sendMsg(scope.row)"
class="msgfWrap"
v-if="scope.row.msg == 0"
>
发送超期提醒
</div>
<div class="msgWrap" v-if="scope.row.msg == 1"></div>
</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>
<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:optSlot="{ scope }">
<div class="clickText" @click="deal(scope.row)"></div>
</template>
</gMainTable>
</div>
</div>
</div>
</tableMain>
<FormDialog
labelPosition="top"
ref="formDialog"
:formItems="formItems"
width="800px"
@formSubmit="formSubmit"
>
</FormDialog>
</div>
</template>
<script>
import tableMain from "../components/tableMain.vue";
import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
export default {
components: { tableMain },
mixins: [tableListMixins],
data() {
return {
backIcon: require("@/assets/images/topic/left.png"),
columns: [
{
slot: "idSlot",
prop: "id",
label: "序号",
attrs: {
width: 60,
},
},
{
prop: "cmy",
label: "企业名称",
attrs: {
width: 220,
},
},
{
prop: "qyT",
label: "企业类型",
attrs: {
width: 120,
},
},
{
prop: "date",
label: "纳入监管时间",
attrs: {
width: 180,
},
},
{
prop: "date",
label: "清单生成时间",
attrs: {
width: 180,
},
},
{
prop: "date",
label: "整改截止时间",
attrs: {
width: 180,
},
},
{
prop: "flowType",
label: "管控扣分项",
attrs: {
width: 120,
},
},
{
prop: "flowType",
label: "要素异明细",
attrs: {
width: 120,
},
},
{
slot: "stateSlot",
prop: "state",
label: "整改状态",
attrs: {
width: 120,
},
},
{
slot: "iszgSlot",
prop: "iszg",
label: "申诉核实无需整改",
attrs: {
width: 160,
},
},
{
prop: "way",
label: "处置方式",
attrs: {
width: 120,
},
},
{
slot: "msgSlot",
prop: "msg",
label: "超期提醒",
attrs: {
width: 180,
},
},
{
slot: "optSlot",
prop: "address",
label: "挂牌督办",
attrs: {
width: 100,
},
},
{
prop: "deal",
label: "处置要求",
attrs: {
width: 120,
},
},
{
slot: "jjSlot",
prop: "jj",
label: "紧急程度",
attrs: {
width: 120,
},
},
],
formItems: [
{
type: "datetime",
itemAttrs: {
label: "请输入挂牌日期:",
span: 12,
},
attrs: {
model: "date",
value: "",
placeholder: "",
style: {
paddingRight: "16px",
},
},
},
{
type: "select",
itemAttrs: {
label: "请选择督办级别:",
span: 12,
},
attrs: {
model: "jb",
value: "",
option: [
{
label: "一级",
value: "1",
},
{
label: "二级",
value: "2",
},
],
style: {
width: "100%",
},
},
},
{
type: "input",
itemAttrs: {
label: "请输入挂牌单位:",
span: 12,
},
attrs: {
model: "dw",
value: "",
placeholder: "",
style: {
paddingRight: "16px",
},
},
},
{
type: "input",
itemAttrs: {
label: "请输入挂牌文号:",
span: 12,
},
attrs: {
model: "dw",
value: "",
placeholder: "",
},
},
{
type: "input",
itemAttrs: {
label: "请输入督办要求:",
span: 12,
},
attrs: {
model: "dw",
value: "",
placeholder: "",
style: {
paddingRight: "16px",
},
},
},
{
type: "input",
itemAttrs: {
label: "请输入督办销号单位:",
span: 12,
},
attrs: {
model: "dw",
value: "",
placeholder: "",
},
},
],
};
},
methods: {
deal(obj) {
this.$refs.formDialog.openDialog("detail", obj, "挂牌督办");
},
formSubmit(obj) {
console.log(obj);
},
sendMsg(obj) {
this.$message.success("提醒短信已发送");
},
goBack() {
this.$router.push({
path: "/teamWork/riskOverview",
});
},
},
};
</script>
<style lang="scss">
@import "@/loveflow/assets/index.scss";
.riskOverviewIndexRiskPanel {
padding: 16px;
height: 100%;
box-sizing: border-box;
color: #ffffff;
overflow: hidden;
.riskOverviewIndexRiskWrap {
height: 100%;
display: flex;
flex-direction: column;
.titleWrap {
display: flex;
align-items: center;
height: 46px;
font-weight: 600;
font-size: 16px;
color: #ebfff4;
letter-spacing: 2px;
text-shadow: 0px 0px 9px rgba(21, 255, 195, 0.6);
border-bottom: solid 1px rgba(91, 116, 140, 0.6);
.backBtn {
display: flex;
align-items: center;
img {
margin-right: 2px;
width: 20px;
height: 20px;
}
&:hover {
opacity: 0.8;
cursor: pointer;
}
}
}
.btmBody {
padding-top: vw(14);
display: flex;
flex-direction: column;
height: calc(100% - 50px);
overflow-y: scroll;
&::-webkit-scrollbar {
display: none;
}
.serialWrap {
padding: 2px 6px;
border: solid 1px #9ed7e7;
color: #33e6ff;
font-weight: bold;
border-radius: 2px;
}
.gouWrap {
width: 38px;
height: 34px;
background: url("~@/assets/images/team/gou.png") no-repeat center center;
background-size: 100% 100%;
}
.msgfWrap {
display: flex;
align-items: center;
justify-content: center;
width: 112px;
height: 38px;
background: url("~@/assets/images/team/msgf.png") no-repeat center
center;
background-size: 100% 100%;
color: #ffffff;
&:hover {
cursor: pointer;
opacity: 0.8;
}
}
.msgWrap {
display: flex;
align-items: center;
justify-content: center;
width: 112px;
height: 38px;
background: url("~@/assets/images/team/msg.png") no-repeat center center;
background-size: 100% 100%;
color: #526b7f;
}
.failWrap {
display: flex;
align-items: center;
color: #ff6262;
}
.ingWrap {
display: flex;
align-items: center;
color: #4cf993;
}
.finishWrap {
display: flex;
align-items: center;
color: #30c4ff;
}
.text {
font-weight: 400;
font-size: 14px;
}
.ybWrap {
display: flex;
align-items: center;
justify-content: center;
width: 72px;
height: 28px;
background: url("~@/assets/images/team/yb.png") no-repeat center center;
background-size: 100% 100%;
color: #b5ffe4;
}
.zdWrap {
display: flex;
align-items: center;
justify-content: center;
width: 72px;
height: 28px;
background: url("~@/assets/images/team/zd.png") no-repeat center center;
background-size: 100% 100%;
color: #e3deff;
}
.jjWrap {
display: flex;
align-items: center;
justify-content: center;
width: 72px;
height: 28px;
background: url("~@/assets/images/team/jj.png") no-repeat center center;
background-size: 100% 100%;
color: #ff6262;
}
}
}
}
</style>
Loading…
Cancel
Save