master
loveflow 11 months ago
parent 1e7b41945f
commit c0b9c58dd2

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

@ -216,6 +216,18 @@
background: url("~@/assets/images/base/plus.png") no-repeat center center; background: url("~@/assets/images/base/plus.png") no-repeat center center;
background-size: 100% 100%; background-size: 100% 100%;
} }
.delIcon {
height: vw(14);
width: vw(14);
background: url("~@/assets/images/base/del.png") no-repeat center center;
background-size: 100% 100%;
}
.editIcon {
height: vw(14);
width: vw(14);
background: url("~@/assets/images/base/edit.png") no-repeat center center;
background-size: 100% 100%;
}
.addBtn { .addBtn {
padding: vw(8) vw(18); padding: vw(8) vw(18);
font-size: vw(14); font-size: vw(14);
@ -249,4 +261,26 @@
cursor: pointer; cursor: pointer;
} }
} }
.commonBtn {
padding: vw(12) vw(22);
font-size: vw(14);
color: #ffffff;
background: url("~@/assets/images/base/delbtn.png") no-repeat center center;
background-size: 100% 100%;
&:hover {
opacity: 0.8;
cursor: pointer;
}
}
.resetStyle {
.el-select {
.el-input__inner {
border: none;
background: url("~@/assets/images/base/selectb.png") no-repeat center
center;
background-size: 100% 100%;
}
}
}
} }

@ -4,6 +4,7 @@
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
:width="width" :width="width"
:before-close="handleClose" :before-close="handleClose"
:close-on-click-modal="false"
> >
<el-form <el-form
ref="relForm" ref="relForm"

@ -154,6 +154,52 @@ export const commonMixins = {
value: "2", value: "2",
}, },
], ],
unitList: [
{
name: "镇海区公安局",
value: "1",
},
{
name: "镇海区交通局",
value: "2",
},
{
name: "市场监督管理局",
value: "3",
},
{
name: "区大数据中心",
value: "4",
},
],
personList: [
{
name: "杨怡伶",
value: "1",
},
{
name: "李彦志",
value: "2",
},
{
name: "吴淑霞",
value: "3",
},
{
name: "张雅泰",
value: "4",
},
],
dealWayList: [
{
name: "现场核实",
value: "1",
},
{
name: "电话确认",
value: "2",
},
],
}; };
}, },
created() {}, created() {},

@ -213,7 +213,8 @@ export default {
}, },
methods: { methods: {
add() { add() {
this.$refs.formDialog.openDialog("other", {}, "推送规则设置"); this.$emit("tabChange", "31");
//this.$refs.formDialog.openDialog("other", {}, "");
}, },
edit(obj) { edit(obj) {
this.$refs.formDialog.openDialog("other", obj, "编辑推送规则设置"); this.$refs.formDialog.openDialog("other", obj, "编辑推送规则设置");

@ -0,0 +1,278 @@
<template>
<div>
<div class="dealWayCreatePanel">
<div class="titleWrap">
<div class="backBtn" @click="gotoPage()">
<img :src="backIcon" />返回
</div>
</div>
<div class="dealWayCreateWrap">
<div class="line">
<div class="item">
<div class="label">处置方式</div>
<div class="value">{{ info.way }}</div>
</div>
</div>
<div class="line">
<div class="item">
<div class="label">处置流程</div>
<div class="value">{{ info.nr }}</div>
</div>
</div>
<div class="line">
<div class="item">
<div class="label">任务单</div>
<div class="value flex-item-center">
<div class="mr20 flex-item-center pointer" @click="selectDel()">
<div
class="checkIcon"
:class="{ checkIconActive: checkIconActive }"
></div>
<div class="">{{ info.task }}</div>
</div>
<div class="flex">
<div class="addBtn flex-center mr16" @click="add">
<div class="plusIcon mr4"></div>
<div>新增模板</div>
</div>
<div class="addBtn flex-center mr16" @click="edit(info)">
<div class="editIcon mr4"></div>
<div>编辑</div>
</div>
<el-popconfirm
icon="el-icon-info"
icon-color="red"
title="确定删除当前选择项目吗?"
@confirm="del(info)"
>
<div slot="reference" class="addBtn flex-center">
<div class="delIcon mr4"></div>
<div>删除</div>
</div>
</el-popconfirm>
</div>
</div>
</div>
</div>
</div>
</div>
<FormDialog
labelPosition="top"
ref="formDialog"
:formItems="formItems"
width="800px"
@formSubmit="formSubmit"
>
</FormDialog>
</div>
</template>
<script>
import { commonMixins } from "@/loveflow/mixins/commonMixins";
export default {
mixins: [commonMixins],
data() {
return {
formItems: [
{
type: "select",
itemAttrs: {
label: "请选择风险类型",
span: 12,
rules: this.$rules.requiredItem,
},
attrs: {
model: "risk",
value: "",
option: [],
style: {
width: "100%",
paddingRight: "16px",
},
},
},
{
type: "select",
itemAttrs: {
label: "请选择要素异常明细",
span: 12,
rules: this.$rules.requiredItem,
},
attrs: {
model: "ys",
value: "",
option: [],
style: {
width: "100%",
},
},
},
{
type: "select",
itemAttrs: {
label: "处置方式",
span: 12,
rules: this.$rules.requiredItem,
},
attrs: {
model: "way",
value: "",
option: [],
style: {
width: "100%",
paddingRight: "16px",
},
},
},
{
type: "select",
itemAttrs: {
label: "请选择监管单位",
span: 12,
rules: this.$rules.requiredItem,
},
attrs: {
model: "unit",
value: "",
option: [],
style: {
width: "100%",
},
},
},
{
type: "textarea",
itemAttrs: {
label: "请输入整改内容",
span: 24,
rules: this.$rules.requiredItem,
},
attrs: {
model: "nr",
rows: 2,
value: "",
},
},
{
type: "textarea",
itemAttrs: {
label: "请输入整改要求",
span: 24,
rules: this.$rules.requiredItem,
},
attrs: {
model: "yq",
rows: 2,
value: "",
},
},
],
backIcon: require("@/assets/images/topic/left.png"),
info: {
task: "任务单",
way: "企业提醒",
nr: "以任务单形式派发给指定工作人员,工作人员将处置结果以及企业整改结果反馈到系统中以办结业务",
},
checkIconActive: false,
};
},
mounted() {
this.setFindItem("formItems", "risk").attrs.option = this.riskList;
this.setFindItem("formItems", "ys").attrs.option = this.elementList;
this.setFindItem("formItems", "way").attrs.option = this.dealWayList;
this.setFindItem("formItems", "unit").attrs.option = this.unitList;
},
methods: {
gotoPage() {
this.$emit("tabChange", "3");
},
selectDel() {
this.checkIconActive = !this.checkIconActive;
},
add() {
this.$refs.formDialog.openDialog("other", {}, "推送规则设置");
},
edit(obj) {
this.$refs.formDialog.openDialog("other", obj, "编辑推送规则设置");
},
del(item) {
this.$message({
message: item.nr,
type: "success",
});
},
formSubmit(obj) {
console.log(obj);
},
},
};
</script>
<style lang="scss">
@import "@/loveflow/assets/index.scss";
.dealWayCreatePanel {
.backBtn {
display: flex;
align-items: center;
&:hover {
opacity: 0.8;
cursor: pointer;
}
}
.dealWayCreateWrap {
padding: vw(16);
height: vw(160);
background: url("~@/assets/images/team/urHead.png") no-repeat center center;
background-size: 100% 100%;
display: flex;
flex-direction: column;
justify-content: space-evenly;
.line {
display: flex;
align-items: center;
.item {
flex: 1;
display: flex;
align-items: center;
margin-bottom: vw(16);
.label {
width: vw(70);
font-size: vw(14);
color: #d0deee;
}
.value {
flex: 1;
font-size: vw(14);
color: #ffffff;
display: flex;
.icon {
width: vw(36);
height: vw(36);
background-size: 100% 100%;
background-position: center center;
}
}
}
}
.checkIcon {
margin-right: 6px;
width: vw(24);
height: vw(24);
border: solid 1px #edf4ff;
border-radius: 2px;
&.checkIconActive {
width: vw(24);
height: vw(24);
background: url("~@/assets/images/base/check.png") no-repeat center
center;
background-size: vw(32) vw(32);
}
&:hover {
opacity: 0.8;
cursor: pointer;
}
}
}
}
</style>

@ -27,6 +27,7 @@ import msgPushModel from "./msgPushModel.vue";
import msgPushModelDd from "./msgPushModelDd.vue"; import msgPushModelDd from "./msgPushModelDd.vue";
import urgencyWrap from "./urgency.vue"; import urgencyWrap from "./urgency.vue";
import dealWay from "./dealWay.vue"; import dealWay from "./dealWay.vue";
import dealWayCreate from "./dealWayCreate.vue";
import dealRequire from "./msgPush.vue"; import dealRequire from "./msgPush.vue";
export default { export default {
@ -35,6 +36,7 @@ export default {
msgPush, msgPush,
urgencyWrap, urgencyWrap,
dealWay, dealWay,
dealWayCreate,
dealRequire, dealRequire,
msgPushDetail, msgPushDetail,
msgPushModel, msgPushModel,
@ -66,6 +68,7 @@ export default {
}, },
methods: { methods: {
tabChange(val) { tabChange(val) {
console.log("主页tab:", val);
if (val == "1") { if (val == "1") {
this.content = msgPush; this.content = msgPush;
} }
@ -87,6 +90,9 @@ export default {
if (val == "3") { if (val == "3") {
this.content = dealWay; this.content = dealWay;
} }
if (val == "31") {
this.content = dealWayCreate;
}
if (val == "4") { if (val == "4") {
this.content = dealRequire; this.content = dealRequire;
} }

@ -0,0 +1,107 @@
<template>
<div class="urNodeWrap resetStyle">
<div class="urNodeTop">
<div class="label">{{ obj.label }}</div>
<div class="indicate" v-if="show"></div>
</div>
<div class="urNodeLine">
<div class="label">请选择单位</div>
<div class="">
<el-select clearable v-model="obj.unit" placeholder="">
<el-option
v-for="item in obj.unitList"
:label="item.name"
:key="item.name"
:value="item.value"
></el-option>
</el-select>
</div>
</div>
<div class="urNodeLine">
<div class="label">请选择人员</div>
<div class="">
<el-select clearable v-model="obj.person" placeholder="">
<el-option
v-for="item in obj.personList"
:label="item.name"
:key="item.name"
:value="item.value"
></el-option>
</el-select>
</div>
</div>
</div>
</template>
<script>
export default {
props: {
obj: {
type: Object,
default: () => {
return {};
},
},
show: {
type: Boolean,
default: () => {
return true;
},
},
},
data() {
return {};
},
created() {
console.log(this.obj);
},
};
</script>
<style lang="scss">
@import "@/loveflow/assets/index.scss";
.urNodeWrap {
.urNodeTop {
display: flex;
align-items: center;
margin-bottom: vw(14);
.label {
display: flex;
align-items: center;
justify-content: center;
width: vw(280);
height: vw(54);
background: url("~@/assets/images/team/urnode.png") no-repeat center
center;
background-size: 100% 100%;
}
.indicate {
width: vw(150);
height: vw(10);
background: url("~@/assets/images/team/indicate.png") no-repeat center
center;
background-size: 100% 100%;
}
}
.urNodeLine {
display: flex;
align-items: center;
margin-bottom: vw(14);
.label {
margin-left: vw(8);
font-weight: 400;
font-size: vw(14);
color: #eaf6ff;
}
.el-select {
height: vw(34);
width: vw(180);
.el-input__inner {
height: vw(34);
color: #ffffff;
font-size: vw(14);
}
}
}
}
</style>

@ -0,0 +1,270 @@
<template>
<div class="urgencyPanel">
<div class="urgencyHead">
<div class="urgencyLine" v-for="item in list" :key="item.id">
<div class="urgencyTitleWrap">
<div
class="urgencyTitle"
:style="{ backgroundImage: `url(${item.icon})` }"
></div>
<div class="urgencyNr">{{ item.nr }}</div>
</div>
<div
class="urgencyBtnWrap"
:style="{ backgroundImage: `url(${item.btn})` }"
@click="flowSet(item)"
>
流程设置
</div>
</div>
</div>
<div class="urgencyBody" v-if="title">
<div class="topWrap">{{ title }}处置流程</div>
<div class="btnWrap">
<div class="addBtn flex-center" @click="add">
<div class="plusIcon mr4"></div>
<div>新增处置节点</div>
</div>
</div>
<div class="urNodePanel">
<el-row :gutter="20">
<el-col
class="mb16"
:span="6"
v-for="(item, index) in nodeList"
:key="item.label"
>
<urNodeWrap
:ref="'index' + index"
:show="index != nodeList.length - 1"
:obj="item"
></urNodeWrap>
</el-col>
</el-row>
</div>
</div>
<div class="formBtnOptWrap" v-if="title">
<span class="editBtn" @click="sure"></span>
</div>
</div>
</template>
<script>
import { commonMixins } from "@/loveflow/mixins/commonMixins";
import urNodeWrap from "./urNodeWrap";
export default {
components: { urNodeWrap },
mixins: [commonMixins, urNodeWrap],
data() {
return {
list: [
{
id: "1",
title: "一般",
icon: require("@/assets/images/team/uryb.png"),
nr: "系统判断后自动推送到指定的处置工作人员账号,处置工作人员处置结束后系统自动办结归档。",
btn: require("@/assets/images/team/urybbtn.png"),
},
{
id: "2",
title: "重点",
icon: require("@/assets/images/team/urzd.png"),
nr: "经人工研判后推送到指定的处置工作人员账号,支持事件信息自动抄送提醒至相关部门领导,处置完毕后,系统自动推送钉消息给部门领导。",
btn: require("@/assets/images/team/urzdbtn.png"),
},
{
id: "3",
title: "紧急",
icon: require("@/assets/images/team/urjj.png"),
nr: "经人工研判后推送到指定的处置工作人员账号,同时,支持事件信息自动抄送提醒至相关部门领导,处置完毕后,系统自动推送钉消息给部门领导。",
btn: require("@/assets/images/team/urjjbtn.png"),
},
],
title: "",
nodeList: [],
};
},
created() {
this.nodeList = [];
},
methods: {
flowSet(obj) {
this.title = obj.title;
},
add() {
let length = this.nodeList.length + 1;
let obj = {
label: "流程" + this.numberToChinese(length),
unit: "",
person: "",
unitList: this.unitList,
personList: this.personList,
};
this.nodeList.push(obj);
},
sure() {
console.log(this.nodeList);
},
numberToChinese(num) {
var chnNumChar = [
"零",
"一",
"二",
"三",
"四",
"五",
"六",
"七",
"八",
"九",
];
var chnUnitSection = ["", "万", "亿", "万亿", "亿亿"];
var chnUnitChar = ["", "十", "百", "千"];
var unitPos = 0;
var strIns = "",
chnStr = "";
var needZero = false;
if (num === 0) {
return chnNumChar[0];
}
while (num > 0) {
var section = num % 10000;
if (needZero) {
chnStr = chnNumChar[0] + chnStr;
}
strIns = this.sectionToChinese(section);
strIns += section !== 0 ? chnUnitSection[unitPos] : chnUnitSection[0];
chnStr = strIns + chnStr;
needZero = section < 1000 && section > 0;
num = Math.floor(num / 10000);
unitPos++;
}
return chnStr;
},
sectionToChinese(section) {
var chnNumChar = [
"零",
"一",
"二",
"三",
"四",
"五",
"六",
"七",
"八",
"九",
];
var chnUnitSection = ["", "万", "亿", "万亿", "亿亿"];
var chnUnitChar = ["", "十", "百", "千"];
var strIns = "",
chnStr = "";
var unitPos = 0;
var zero = true;
while (section > 0) {
var v = section % 10;
if (v === 0) {
if (!zero) {
zero = true;
chnStr = chnNumChar[v] + chnStr;
}
} else {
zero = false;
strIns = chnNumChar[v];
strIns += chnUnitChar[unitPos];
chnStr = strIns + chnStr;
}
unitPos++;
section = Math.floor(section / 10);
}
return chnStr;
},
},
};
</script>
<style lang="scss">
@import "@/loveflow/assets/index.scss";
.urgencyPanel {
height: 100%;
overflow-y: hidden;
box-sizing: border-box;
.urgencyHead {
padding: 0 vw(20);
display: flex;
flex-direction: column;
justify-content: space-evenly;
height: 180px;
background: url("~@/assets/images/team/urHead.png") no-repeat center center;
background-size: 100% 100%;
.urgencyLine {
display: flex;
.urgencyTitleWrap {
flex: 1;
display: flex;
align-items: center;
font-weight: 400;
font-size: vw(16);
color: #ebf7ff;
.urgencyTitle {
margin-right: vw(14);
width: vw(115);
height: vw(36);
background-size: 100% 100%;
background-position: center center;
}
}
.urgencyBtnWrap {
display: flex;
justify-content: center;
align-items: center;
width: vw(104);
height: vw(50);
background-size: 100% 100%;
background-position: center center;
font-size: vw(16);
&:hover {
opacity: 0.8;
cursor: pointer;
}
}
}
}
.urgencyBody {
height: calc(100% - 240px);
margin-top: vw(16);
background: url("~@/assets/images/team/urBody.png") no-repeat center center;
background-size: 100% 100%;
.topWrap {
margin: 0 14px;
height: 40px;
line-height: 40px;
font-weight: 500;
font-size: vw(16);
color: #ffe6d9;
text-shadow: 0px 0px 8px rgba(255, 119, 52, 0.5);
border-bottom: solid 1px rgba(91, 116, 140, 0.6);
}
.btnWrap {
margin: 10px 14px;
width: vw(140);
}
.urNodePanel {
height: calc(100% - 90px);
margin: 0 14px 14px;
overflow-y: scroll;
&::-webkit-scrollbar {
display: none;
}
}
}
.formBtnOptWrap {
height: 40px;
display: flex;
justify-content: flex-end;
align-items: center;
}
}
</style>
Loading…
Cancel
Save