After Width: | Height: | Size: 277 B |
After Width: | Height: | Size: 425 B |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 371 B |
After Width: | Height: | Size: 10 KiB |
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 |
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 |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 13 KiB |
@ -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>
|