master
loveflow 11 months ago
parent b750e32caa
commit 9903d0a842

@ -29,26 +29,40 @@ export default [
component: () =>
import("@/views/enterpriseTeamWork/riskOverview/indexDetail"),
},
{
path: "/teamWork/riskOverview/indexRisk",
path: "/teamWork/riskOverview/indexTask",
name: "riskOverview",
meta: {
head: false,
title: "风险共治清单",
title: "风险共治",
},
component: () =>
import("@/views/enterpriseTeamWork/riskOverview/indexRisk"),
},
{
path: "/teamWork/riskOverview/indexDuty",
name: "riskOverview",
meta: {
head: false,
title: "协同职责清单",
},
component: () =>
import("@/views/enterpriseTeamWork/riskOverview/indexDuty"),
component: () => import("@/views/enterpriseTeamWork/riskOverview/indexTask"),
redirect: "/",
children: [
{
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",
@ -152,7 +166,7 @@ export default [
name: "elementInfo",
meta: {
head: false,
title: "要素异常统计分析",
title: "统计分析",
},
component: () =>
import("@/views/enterpriseTeamWork/elementInfo/screen"),
@ -162,7 +176,7 @@ export default [
name: "elementInfo",
meta: {
head: false,
title: "要素异常研判应用",
title: "研判应用",
},
component: () =>
import("@/views/enterpriseTeamWork/elementInfo/juageApply"),

@ -34,10 +34,7 @@
</div>
</div>
</div>
<div
class="rightWrap canvasPointer"
@click="gotoPage('/teamWork/riskOverview/indexDuty')"
>
<div class="rightWrap canvasDefault">
<colWrap title="企业状态占比">
<div class="zgztWrap">
<div class="top">

@ -1,131 +1,119 @@
<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>
<div class="riskOverviewIndexDutyWrap">
<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 clearable v-model="queryParam.risk" placeholder="">
<el-option
v-for="item in riskList"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="处置方式:">
<el-select
clearable
v-model="queryParam.dealWay"
placeholder=""
<el-form-item label="管控扣分项:">
<el-select clearable v-model="queryParam.risk" placeholder="">
<el-option
v-for="item in riskList"
:key="item.value"
:label="item.name"
:value="item.value"
>
<el-option
v-for="item in dealWayList"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="监管单位:">
<el-select clearable v-model="queryParam.unit" placeholder="">
<el-option
v-for="item in unitList"
:key="item.value"
:label="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-option>
</el-select>
</el-form-item>
<el-form-item label="处置方式:">
<el-select
clearable
v-model="queryParam.dealWay"
placeholder=""
>
<el-option
v-for="item in dealWayList"
:key="item.value"
:label="item.name"
:value="item.value"
>
<el-button type="primary" plain @click="searchReset"
>重置</el-button
</el-option>
</el-select>
</el-form-item>
<el-form-item label="监管单位:">
<el-select clearable v-model="queryParam.unit" placeholder="">
<el-option
v-for="item in unitList"
:key="item.value"
:label="item.name"
:value="item.value"
>
</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"
>
<!-- :span-method="objectSpanMethod" -->
<template v-slot:idSlot="{ scope }">
<span class="serialWrap">
{{ scope.row.id }}
</span>
</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: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>
</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"
>
<!-- :span-method="objectSpanMethod" -->
<template v-slot:idSlot="{ scope }">
<span class="serialWrap">
{{ scope.row.id }}
</span>
</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: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>
</div>
</div>
</tableMain>
</div>
<FormDialog
labelPosition="top"
ref="formDialog"
@ -137,16 +125,14 @@
</div>
</template>
<script>
import tableMain from "../components/tableMain.vue";
import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
import { commonMixins } from "@/loveflow/mixins/commonMixins";
export default {
components: { tableMain },
components: {},
mixins: [tableListMixins, commonMixins],
data() {
return {
backIcon: require("@/assets/images/topic/left.png"),
columns: [
{
slot: "idSlot",
@ -337,12 +323,6 @@ export default {
sendMsg(obj) {
this.$message.success("提醒短信已发送");
},
goBack() {
this.$router.push({
path: "/teamWork/riskOverview",
});
},
//
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
let data = this.dataSource;
@ -387,7 +367,6 @@ export default {
<style lang="scss">
@import "@/loveflow/assets/index.scss";
.riskOverviewIndexDutyPanel {
padding: 16px;
height: 100%;
box-sizing: border-box;
color: #ffffff;
@ -396,30 +375,6 @@ export default {
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;

@ -1,30 +1,51 @@
<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
clearable
v-model="queryParam.key"
placeholder="请输入企业名称"
></el-input>
<div class="riskOverviewIndexRiskWrap">
<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
clearable
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 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-form-item label="风险清单生成时间:">
<el-date-picker
v-model="queryParam.time"
type="datetimerange"
@ -34,191 +55,155 @@
>
</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 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
v-model="queryParam.time"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="整改状态:">
<el-select
clearable
v-model="queryParam.state"
placeholder=""
<el-form-item label="整改状态:">
<el-select
clearable
v-model="queryParam.state"
placeholder=""
>
<el-option
v-for="item in stateList"
:key="item.value"
:label="item.name"
:value="item.value"
>
<el-option
v-for="item in stateList"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="企业类型:">
<el-select
clearable
v-model="queryParam.cmyType"
placeholder=""
<el-form-item label="企业类型:">
<el-select
clearable
v-model="queryParam.cmyType"
placeholder=""
>
<el-option
v-for="item in cmyTypeList"
:key="item.value"
:label="item.name"
:value="item.value"
>
<el-option
v-for="item in cmyTypeList"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="处置方式:">
<el-select
clearable
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-form-item>
</template>
<el-form-item style="margin-right: 0">
<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"
<el-form-item label="处置方式:">
<el-select
clearable
v-model="queryParam.dealWay"
placeholder=""
>
{{ toggleSearchStatus ? "收起" : "展开" }}
<i
:class="
toggleSearchStatus
? 'el-icon-arrow-up'
: 'el-icon-arrow-down'
"
></i>
</a>
<el-option
v-for="item in dealWayList"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select>
</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"
<el-form-item style="margin-right: 0">
<el-button type="primary" @click="searchQuery"></el-button>
<el-button type="primary" plain @click="searchReset"
>重置</el-button
>
发送超期提醒
</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>
<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>
<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>
<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>
</div>
</div>
</tableMain>
</div>
<FormDialog
labelPosition="top"
ref="formDialog"
@ -230,16 +215,14 @@
</div>
</template>
<script>
import tableMain from "../components/tableMain.vue";
import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
import { commonMixins } from "@/loveflow/mixins/commonMixins";
export default {
components: { tableMain },
components: {},
mixins: [tableListMixins, commonMixins],
data() {
return {
backIcon: require("@/assets/images/topic/left.png"),
columns: [
{
slot: "idSlot",
@ -465,18 +448,12 @@ export default {
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;
@ -485,30 +462,6 @@ export default {
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;

@ -0,0 +1,133 @@
<template>
<div class="indexTaskPanel">
<tableMain>
<div class="indexTaskWrap">
<div class="topHead">
<gTab
ref="gTabRef"
:tabList="tabList"
:curTab="curTab"
@tabClick="tabChange"
></gTab>
<div class="titleWrap">
<div class="backBtn" @click="goBack()">
<img :src="backIcon" />返回
</div>
</div>
</div>
<div class="btmBody">
<router-view></router-view>
</div>
</div>
</tableMain>
</div>
</template>
<script>
import tableMain from "../components/tableMain.vue";
export default {
components: {
tableMain,
},
data() {
return {
backIcon: require("@/assets/images/topic/left.png"),
tabList: [
{
name: "风险共治清单",
value: "1",
},
{
name: "协同职责清单",
value: "2",
},
],
curTab: "1",
};
},
mounted() {
this.tabChange("1");
},
methods: {
tabChange(val, obj) {
if (val == "1") {
//
this.gotoPage("/teamWork/riskOverview/indexRisk");
}
if (val == "2") {
//
this.gotoPage("/teamWork/riskOverview/indexDuty");
}
},
gotoPage(val) {
this.$router.push({
path: val,
});
},
goBack() {
this.$router.push({
path: "/teamWork/riskOverview",
});
},
},
};
</script>
<style lang="scss">
@import "@/loveflow/assets/index.scss";
.indexTaskPanel {
padding: 16px;
height: 100%;
box-sizing: border-box;
color: #ffffff;
overflow-y: scroll;
&::-webkit-scrollbar {
display: none;
}
.indexTaskWrap {
height: 100%;
display: flex;
flex-direction: column;
.titleWrap {
display: flex;
align-items: center;
height: 46px;
font-weight: 600;
font-size: 16px;
.backBtn {
display: flex;
align-items: center;
color: #ebfff4;
letter-spacing: 2px;
text-shadow: 0px 0px 9px rgba(21, 255, 195, 0.6);
img {
margin-right: 2px;
width: 20px;
height: 20px;
}
&:hover {
opacity: 0.8;
cursor: pointer;
}
}
}
.topHead {
display: flex;
align-items: flex-end;
justify-content: space-between;
height: 50px;
border-bottom: solid 1px rgba(91, 116, 140, 0.6);
}
.btmBody {
padding-top: vw(14);
display: flex;
flex-direction: column;
height: calc(100% - 40px);
overflow-y: scroll;
&::-webkit-scrollbar {
display: none;
}
}
}
}
</style>
Loading…
Cancel
Save