Commit 37e23fbf authored by dlkong's avatar dlkong

Merge branch 'develop' into dev_kdl

parents e0d02a23 4ceac299
......@@ -26,7 +26,7 @@ import tabBar from "@/components/TabBar";
export default {
components: {
tabBar,
tabBar
},
data() {
return {
......@@ -36,32 +36,58 @@ export default {
headH: "",
screenH: "",
transitionName: "slide-left",
cachePage: [
'riskAdd'
],
cachePage: ["riskAdd"],
// 不需要展示底部tabbar的页面
noTab:["login", "login2", 'addCurrent','addPresent','addInherent','riskInherent',"choose-people","scan",'success','fail','warn','center','reset-pas-two','riskTaskList','riskBigDetail','riskView','resultPage'],
noTab: [
"login",
"login2",
"addCurrent",
"addPresent",
"addInherent",
"riskInherent",
"choose-people",
"scan",
"success",
"fail",
"warn",
"center",
"reset-pas-two",
"riskTaskList",
"riskBigDetail",
"riskView",
"resultPage",
"riskAppvoreText"
],
// cachePage预先定义的缓存页面
otherCache: [],
// 专门处理列表缓存的页面,这些页面缓存逻辑与其他缓存不一样去详情返回列表缓存,但是进入列表必须刷新,如何有需要缓存的列表请放到这里来。
listCache:['insert-danger','confirme-danger','change-danger','review-danger','stand-book','major-danger','delay-approval',
'my-delay','risk-account','risk-confirme','my-delay'],
listCache: [
"insert-danger",
"confirme-danger",
"change-danger",
"review-danger",
"stand-book",
"major-danger",
"delay-approval",
"my-delay",
"risk-account",
"risk-confirme",
"my-delay"
]
// 'report-return', 'risk-return', 风险和隐患的上报退回不需要缓存
};
},
mounted() {
// 这个配合列表路由使用缓存初始缓存页面
this.otherCache=[...this.cachePage];
this.otherCache = [...this.cachePage];
let tabH =
document
.getElementsByTagName("html")[0]
.style.fontSize.split("px")[0] * 1.33333;
document.getElementsByTagName("html")[0].style.fontSize.split("px")[0] *
1.33333;
let sH = document.documentElement.clientHeight;
this.headH =
document
.getElementsByTagName("html")[0]
.style.fontSize.split("px")[0] * 1.5;
document.getElementsByTagName("html")[0].style.fontSize.split("px")[0] *
1.5;
+"px";
this.appHeight = sH - tabH + "px";
this.tabH = tabH + "px";
......@@ -69,23 +95,24 @@ export default {
},
computed: {
showTab() {
return !this.noTab.includes(
this.$route.name
);
},
return !this.noTab.includes(this.$route.name);
}
},
methods:{
methods: {
// 处理缓存的方法
handleCache(roterFromName, roterToName, markRoterName){
if(roterToName == markRoterName){
handleCache(roterFromName, roterToName, markRoterName) {
if (roterToName == markRoterName) {
// 从定义缓存列表中移除
if(this.cachePage.findIndex(item => item == roterFromName) != -1){
this.cachePage.splice(this.cachePage.findIndex(item => item == roterFromName), 1)
if (this.cachePage.findIndex(item => item == roterFromName) != -1) {
this.cachePage.splice(
this.cachePage.findIndex(item => item == roterFromName),
1
);
}
}else{
} else {
// 判断有无路由 加入缓存
if(this.cachePage.findIndex(item => item == roterFromName) == -1){
this.cachePage.push(roterFromName)
if (this.cachePage.findIndex(item => item == roterFromName) == -1) {
this.cachePage.push(roterFromName);
}
}
}
......@@ -93,29 +120,36 @@ export default {
watch: {
$route(to, from) {
// 列表操作去除缓存,刷新列表页
if(from.name == 'confirme-danger' || to.name=='confirme-danger'){ // 隐患整改页面缓存处理
this.handleCache('confirme-danger', to.name, 'affirm-danger')
}else if(from.name == 'change-danger' || to.name=='change-danger'){ // 隐患整改页面缓存处理
this.handleCache('change-danger', to.name, 'change-info')
}else if(from.name == 'review-danger' || to.name=='review-danger'){ // 隐患复查页面缓存处理
this.handleCache('review-danger', to.name, 'review-add')
}else if(from.name == 'major-danger' || to.name=='major-danger'){ // 企业审批页面缓存处理
this.handleCache('major-danger', to.name, 'major-survey')
}else if(from.name == 'risk-confirme' || to.name=='risk-confirme'){ // 风险确认页面缓存处理
this.handleCache('risk-confirme', to.name, 'risk-affirm')
if (from.name == "confirme-danger" || to.name == "confirme-danger") {
// 隐患整改页面缓存处理
this.handleCache("confirme-danger", to.name, "affirm-danger");
} else if (from.name == "change-danger" || to.name == "change-danger") {
// 隐患整改页面缓存处理
this.handleCache("change-danger", to.name, "change-info");
} else if (from.name == "review-danger" || to.name == "review-danger") {
// 隐患复查页面缓存处理
this.handleCache("review-danger", to.name, "review-add");
} else if (from.name == "major-danger" || to.name == "major-danger") {
// 企业审批页面缓存处理
this.handleCache("major-danger", to.name, "major-survey");
} else if (from.name == "risk-confirme" || to.name == "risk-confirme") {
// 风险确认页面缓存处理
this.handleCache("risk-confirme", to.name, "risk-affirm");
}
// 列表页面动态添加缓存
if(from.name=='save-workbench'){
if (from.name == "save-workbench") {
// 如何使从工作台进入列表页面在cachePage里添加页面
if((!this.cachePage.includes(to.name))&&this.listCache.includes(to.name)){
this.cachePage.push(to.name)
if (
!this.cachePage.includes(to.name) &&
this.listCache.includes(to.name)
) {
this.cachePage.push(to.name);
}
}
if(to.name=='save-workbench'){
if (to.name == "save-workbench") {
// 如何回到工作台默认恢复预定义缓存页面
this.cachePage=[...this.otherCache];
this.cachePage = [...this.otherCache];
}
// 有主级到次级
......@@ -127,15 +161,14 @@ export default {
} else {
this.transitionName = ""; //同级无过渡效果
}
},
},
}
}
};
</script>
<style lang="less">
body{
background-color: #f0f1f5;
body {
background-color: #f0f1f5;
}
#app {
font-family: "Avenir", Helvetica, Arial, sans-serif;
......@@ -174,8 +207,6 @@ background-color: #f0f1f5;
// background-color: #f0f1f5;
// overflow: auto;
width: 100%;
height: auto;
-webkit-overflow-scrolling: touch;
......
......@@ -23,7 +23,7 @@ export default {
data() {
return {
active: "0",
active: localStorage.getItem('active')?localStorage.getItem('active'):1,
tabBarList: [
{
key: "1",
......@@ -53,11 +53,11 @@ export default {
};
},
mounted() {
this.active = this.index
// this.active = this.index
},
methods: {
onChange(index) {
this.active = index;
localStorage.setItem('active',index);
if(this.active==index){
this.tabBarList.forEach((item)=>{
if(item.name==this.active){
......
<template>
<div style="width:100%">
<LHeader :text="text"></LHeader>
<!-- 搜索 -->
<div class="content-wrap">
<!-- <div class="search-wrap">
......@@ -70,7 +69,6 @@
</template>
<script>
import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table";
import { getUserInfo } from "@/utils/userInfo";
import { debounce } from "@/utils/common.js";
......@@ -78,9 +76,6 @@ import { Toast } from "vant";
export default {
name: "select-people",
components: {
LHeader
},
created() {
this.getInsideUser(getUserInfo().secondaryUnit);
},
......@@ -106,7 +101,7 @@ export default {
this.resultName = this.allDeptList.find(
item => item.deptId == this.result
).deptName;
this.$emit("changeDept", this.result);
this.$emit("changeDept", this.result, this.resultName);
},
// 查询内部人员
getInsideUser(id, val) {
......
......@@ -5,197 +5,202 @@ Vue.use(VueRouter)
const routes = [{
path: '/',
redirect: '/login'
},
// 登录页
{
},
// 登录页
{
path: '/login',
name: 'login',
component: () => import('../views/login.vue'),
},
// 我的地盘页面
{
},
// 我的地盘页面
{
path: '/my',
name: 'my',
component: () => import('../views/my'),
},
{
},
{
path: '/my-role',
name: 'my-role',
meta: {
title: '我的权限'
},
component: () => import('@/views/my/role')
},
{
},
{
path: '/my-reset-pas',
name: 'my-reset-pas',
meta: {
title: '修改密码'
},
component: () => import('@/views/my/resetPas')
},
// 安全工作台页面
{
},
// 安全工作台页面
{
path: '/save-workbench',
name: 'save-workbench',
component: () => import('../views/saveWorkbench'),
},
// 创建任务页面
{
},
// 创建任务页面
{
path: '/create-task',
name: 'create-task',
component: () => import('../views/createTask'),
},
// 选择任务类型
{
},
// 选择任务类型
{
path: '/task-type',
name: 'task-type',
component: () => import('../views/createTask/taskSubPage/taskType.vue'),
},
// 选择作业任务
{
},
// 选择作业任务
{
path: '/work-task',
name: 'work-task',
component: () => import('../views/createTask/taskSubPage/workTask'),
},
// 选择作业综合班
{
},
// 选择作业综合班
{
path: '/work-class',
name: 'work-class',
component: () => import('../views/createTask/taskSubPage/workClass'),
},
// 选择作业综合组
{
},
// 选择作业综合组
{
path: '/work-group',
name: 'work-group',
component: () => import('../views/createTask/taskSubPage/workGroup'),
},
// 选择作业负责人
{
},
// 选择作业负责人
{
path: '/work-leader',
name: 'work-leader',
component: () => import('../views/createTask/taskSubPage/workLeader'),
},
// 选择作业其他人员
{
},
// 选择作业其他人员
{
path: '/work-other-per',
name: 'work-other-per',
component: () => import('../views/createTask/taskSubPage/workOtherPer'),
},
// 选择微流域
{
},
// 选择微流域
{
path: '/micro-watersh',
name: 'micro-watersh',
component: () => import('../views/createTask/taskSubPage/microWatersh'),
},
// 选择管段
{
},
// 选择管段
{
path: '/pipe-section',
name: 'pipe-section',
component: () => import('../views/createTask/taskSubPage/pipeSection'),
},
// 选择车牌号
{
},
// 选择车牌号
{
path: '/license-plate',
name: 'license-plate',
component: () => import('../views/createTask/taskSubPage/licensePlate'),
},
// 选择手杆爬行器
{
},
// 选择手杆爬行器
{
path: '/work-device',
name: 'work-device',
component: () => import('../views/createTask/taskSubPage/workDevice'),
},
},
//风险项目新增
{
//风险项目新增
{
path: '/riskAdd',
name: 'riskAdd',
component: () => import('../views/riskProject/add'),
},
//风险项目管理
{
},
//风险项目管理
{
path: '/riskManage',
name: 'riskManage',
component: () => import('../views/riskProject/manage'),
},
//风险评估
{
},
//风险评估
{
path: '/riskAssess',
name: 'riskAssess',
component: () => import('../views/riskProject/assess'),
},
//风险审批
{
},
//风险审批
{
path: '/riskApprove',
name: 'riskApprove',
component: () => import('../views/riskProject/approve'),
},
//风险台账
{
},
//风险台账
{
path: '/riskLedger',
name: 'riskLedger',
component: () => import('../views/riskProject/ledger'),
},
//任务单
{
},
//任务单
{
path: '/riskTaskList',
name: 'riskTaskList',
component: () => import('../views/riskProject/add/taskList.vue'),
},
//固有风险列表
{
},
//固有风险列表
{
path: '/riskInherent',
name: 'riskInherent',
component: () => import('../views/riskProject/add/inherentRisks.vue'),
},
//新增固有风险
{
},
//新增固有风险
{
path: '/addInherent',
name: 'addInherent',
component: () => import('../views/riskProject/add/addInherent.vue'),
},
{//编辑固有风险
},
{//编辑固有风险
path: '/addCurrent',
name: 'addCurrent',
component: () => import('../views/riskProject/add/addCurrent.vue'),
},
{//新增现状风险
},
{//新增现状风险
path: '/addPresent ',
name: 'addPresent',
component: () => import('../views/riskProject/add/addPresent.vue'),
},
{//风险评估列表详情页
},
{//风险评估列表详情页
path: '/riskBigDetail',
name: 'riskBigDetail',
component: () => import('../views/riskProject/assess/riskBigDetail.vue'),
},
{//执行情况管理
},
{//执行情况管理
path: '/riskExecution',
name: 'riskExecution',
component: () => import('../views/riskProject/execution/index.vue'),
},
{//四色图
},
{//四色图
path: '/riskView',
name: 'riskView',
component: () => import('../views/drawCanvas/riskView.vue'),
},
{//任务台账
},
{//任务台账
path: '/taskLedger',
name: 'taskLedger',
component: () => import('../views/riskProject/taskLedger/index.vue'),
},
{//任务台账
},
{//任务台账
path: '/taskDetail',
name: 'taskDetail',
component: () => import('../views/riskProject/taskLedger/taskDetail.vue'),
},
{//任务台账
},
{//任务台账
path: '/resultPage',
name: 'resultPage',
component: () => import('../views/riskProject/add/resultPage.vue'),
},
},
{//任务台账
path: '/riskAppvoreText',
name: 'riskAppvoreText',
component: () => import('../views/riskProject/add/riskAppvoreText.vue'),
}
]
const router = new VueRouter({
......
......@@ -300,14 +300,7 @@ export default {
factor: "", //风险因素
showFactor: false,
columnsFactor: [],
messageList: [
{
title: '回显风险源名称',
time: '2022-12-12',
name: 'Mr.周',
state: 1
}
],
messageList: [],
source: "", //风险源
userPrefix: "", //风险源
showSource: false,
......
......@@ -183,15 +183,15 @@
<van-popover v-model="showPopoveSetRank" trigger="click" :actions="columnsSetRank"
@select="onSelectSetRank">
<template #reference>
<van-field v-model="severityValue" readonly required name="level" label="发生的可能性"
<van-field v-model="severityValue" readonly required name="level" label="后果严重程度"
placeholder="请选择" />
</template>
</van-popover>
</van-collapse-item>
</van-collapse>
<van-row type="flex" justify="center" style="margin-top:10px">
<van-col span="6"><van-button size="small" plain type="info" @click="showGradeDialog = false">取消</van-button></van-col>
<van-col span="6"><van-button size="small" type="info" @click="goResultPage">开始测评</van-button></van-col>
<van-col span="6"><van-button size="small" plain native-type="button" type="info" @click="showGradeDialog = false">取消</van-button></van-col>
<van-col span="6"><van-button size="small" type="info" native-type="button" @click="goResultPage">开始测评</van-button></van-col>
</van-row>
</div>
</van-dialog>
......
......@@ -86,7 +86,7 @@
:rules="[{ required: true, message: '准事故类型不能为空' }]"
/>
<van-field
<!-- <van-field
readonly
v-model="form.level"
required
......@@ -95,7 +95,9 @@
placeholder="请选择"
@click="seletGrade('level')"
:rules="[{ required: true, message: '风险等级不能为空' }]"
/>
/> -->
<van-field readonly v-model="form.level" required name="level" label="风险等级" placeholder="请选择"
@click="seletGrade" :rules="[{ required: true, message: '风险等级不能为空' }]" />
<van-field
required
......@@ -295,7 +297,7 @@
</van-uploader>
</template>
</van-field>
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;" >
<div v-if="this.$route.params.isView" style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;" >
<img src="@/assets/accidentIcon/bookmark.svg" alt="" style="position: relative;top: 32%;transform: translateY(-50%);" >
参考依据
</div>
......@@ -330,13 +332,42 @@
/>
</van-popup>
<div style="margin: 16px 16px 0">
<div style="margin: 16px 16px 0" v-if="this.$route.params.isView" >
<van-button round block type="info" native-type="submit"
>上报</van-button
>
</div>
</van-form>
<div style="margin: 10px 16px 0px; padding-bottom: 16px">
<van-dialog v-model="showGradeDialog" title="风险评测配置" :show-cancel-button="false" :show-confirm-button="false" >
<div class="dialogContain">
<van-collapse v-model="activeNames">
<van-collapse-item title="风险模型" name="1">
<van-field readonly required name="level" label="当前风险模型" placeholder="LS风险矩阵评估模型" />
</van-collapse-item>
<van-collapse-item title="风险模型配置" name="2">
<van-popover v-model="showPopover" trigger="click" :actions="columnsRiskRank"
@select="onSelect">
<template #reference>
<van-field v-model="possibleValue" readonly required name="level" label="发生的可能性"
placeholder="请选择" />
</template>
</van-popover>
<van-popover v-model="showPopoveSetRank" trigger="click" :actions="columnsSetRank"
@select="onSelectSetRank">
<template #reference>
<van-field v-model="severityValue" readonly required name="level" label="后果严重程度"
placeholder="请选择" />
</template>
</van-popover>
</van-collapse-item>
</van-collapse>
<van-row type="flex" justify="center" style="margin-top:10px">
<van-col span="6"><van-button size="small" plain type="info" @click="showGradeDialog = false">取消</van-button></van-col>
<van-col span="6"><van-button size="small" type="info" @click="goResultPage">开始测评</van-button></van-col>
</van-row>
</div>
</van-dialog>
<div v-if="this.$route.params.isView" style="margin: 10px 16px 0px; padding-bottom: 16px">
<van-button round block type="warning" @click.native="cancel"
>取消</van-button
>
......@@ -393,6 +424,10 @@ export default {
},
data() {
return {
showPopoveSetRank: false,
activeNames: ["1"],
showPopover: false,
showGradeDialog: false,
taskId: "",
text: "添加现状风险",
id: "",
......@@ -459,6 +494,10 @@ export default {
urgentImg: [], //应急措施图片
returnCause: "", // 退回原因
isShowreturnCause: false,
possibleValue: "",
possibleScore:0,
severityValue: "",
severityScore:0,
};
},
created() {
......@@ -546,22 +585,42 @@ export default {
]
},
seletGrade(name){
this.showTrouble=true
this.riskName=name
this.columnsTrouble=[
{
name:'重大风险',
},
{
name:'较大风险',
this.getGradeList('possibility')
this.getGradeList('severity')
this.showGradeDialog = true
},
//风险模型配置
getGradeList(type) {
// possibility 可能性 severity 严重性
getFun(`/risk/plan/matrix/${type}/list`).then(res => {
let arr = []
res.data.forEach(item => {
arr.push({ text: item.title, type: item.type, sort: item.sort, score: item.score })
})
if (type === 'possibility') {
this.columnsRiskRank = arr
} else {
this.columnsSetRank = arr
}
})
},
{
name:'一般风险',
onSelect(data) {
this.possibleValue = data.text
this.possibleScore = data.score
},
{
name:'较小风险',
onSelectSetRank(data) {
this.severityValue = data.text
this.severityScore = data.score
},
]
//开始测评
goResultPage(){
this.$router.push({
name:'resultPage',
params:{
score:this.severityScore * this.possibleScore
}
})
},
performTasks(){
......
......@@ -86,8 +86,8 @@
<van-field
required
clickable
name="deptId"
:value="form.deptId"
name="deptName"
:value="form.deptName"
label="评估小组选择"
placeholder="请选择"
@click="selectDept()"
......@@ -208,10 +208,10 @@
>{{ item[filedName] }}</van-checkbox
>
</van-checkbox-group>
<div>
<van-button type="primary" @click="checkAll">全选</van-button>
<van-button type="info" @click="toggleAll">反选</van-button>
</div>
<div style="display: flex;justify-content: space-around;">
<van-button native-type="button" type="primary" v-on:click="checkAll">全选</van-button>
<van-button native-type="button" type="info" @click="toggleAll">反选</van-button>
</div>
</van-popup>
......@@ -416,19 +416,9 @@ export default {
});
},
onRiskList(value) {
console.log(
"%c [ value ]-331",
"font-size:13px; background:pink; color:#bf2c9f;",
value
);
if (this.filedName == "nickName") {
this.form.workUserIds = this.filterField("userId", value).join();
this.form.workUserNames = this.filterField("nickName", value).join();
console.log(
"%c [ this.form.workUserNames ]-334",
"font-size:13px; background:pink; color:#bf2c9f;",
this.form.workUserNames
);
} else {
this.form.buildingIds = this.filterField("id", value).join();
this.form.buildingNames = this.filterField("name", value).join();
......@@ -440,9 +430,10 @@ export default {
selectDept() {
this.projectDept = true;
},
changeDept(id) {
changeDept(id, name) {
console.log(id);
this.form.deptId = id;
this.form.deptName = name;
},
closeDept() {
console.log(this.form.deptId);
......
......@@ -14,7 +14,7 @@
<div class="con-list">
<van-cell-group inset v-for="(item, index) in messageList" :key="index" @click="touchstart(index, item)">
<div style="font-size: 0.45rem;padding: 5px 0;">
{{ item.title }}
{{ item.name }}
</div>
<van-row gutter="">
<van-col span="17">
......
......@@ -14,7 +14,7 @@
finished-text="没有更多了"
@load="getInsideUser()"
>
<van-radio v-for="item in projectList" :name="item.id" :key="item.id" @click="selData(item)">
<van-radio style="margin: 0px 10px;" v-for="item in projectList" :name="item.id" :key="item.id" @click="selData(item)">
<van-cell :title="item.name" />
</van-radio>
</van-list>
......
<template>
<div>
<LHeader text="备注"></LHeader>
<van-field
v-model="messageText"
rows="10"
autosize
label="备注信息"
type="textarea"
maxlength="500"
placeholder="请输入备注信息"
show-word-limit
/>
<div
style="display: flex;
justify-content: space-around;
background-color: #fff;
border-top: 1px solid #e3e3e3;
height: 1.5rem;
width: 100%;
text-align: center;
position: fixed;
bottom: 0;"
>
<div
@click="appvore"
style="color: #4bced0;font-size: 14px;font-weight: 600;"
>
<div style="font-size: 22px;"><van-icon name="success" /></div>
<div>保存</div>
</div>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table.js";
export default {
name: "risk-appvore-text",
components: {
LHeader
},
data() {
return {
messageText: null,
result: null,
buildingIds: [],
planId: 0
};
},
created() {
this.result = this.$route.params.result;
this.buildingIds = this.$route.params.buildingIds;
this.planId = this.$route.params.planId;
},
methods: {
//审批
appvore() {
var buildingDtos = [];
for (let i = 0; i < this.buildingIds.length; i++) {
var buildingDto = {
buildingId: this.buildingIds[0],
taskResult: this.result,
taskOpinion: this.messageText
};
buildingDtos[i] = buildingDto;
}
console.log(buildingDtos);
var params = {
id: this.planId,
taskResult: this.result,
taskOpinion: this.messageText,
buildingDtos: buildingDtos
};
postFun("/risk/plan/approve", params)
.then(res => {
console.log(res);
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
this.$router.replace({
name: "riskApprove",
params: {}
});
}
},
watch: {}
};
</script>
......@@ -33,46 +33,121 @@
</div>
</van-grid-item>
</van-grid>
<van-steps :active="phase" active-icon="success" active-color="#38f" style="margin: 0.26rem 0;">
<van-step name="1">任务发起</van-step>
<van-step name="2">风险评估</van-step>
<van-step name="3">评估审核</van-step>
<van-step name="4">项目完成</van-step>
<van-steps
:active="status"
active-icon="success"
active-color="#38f"
style="margin: 0.26rem 0;"
>
<van-step>任务发起</van-step>
<van-step>风险评估</van-step>
<van-step>评估审核</van-step>
<van-step>项目完成</van-step>
</van-steps>
<van-tabs v-model="active" color="#2980f7" animated :sticky="true" offset-top="2.93rem">
<van-tabs v-model="active" color="#2980f7" animated offset-top="2.93rem">
<van-tab title="任务详情">
<van-form :scroll-to-error="true" :show-error="false" validate-trigger="onSubmit">
<van-field readonly name="createUserName" :value="form.createUserName" label="创建人员" input-align="right"
:rules="[{ required: true, message: '创建人员不能为空' }]" />
<van-field readonly name="createDeptName" :value="form.createDeptName" label="创建单位" input-align="right"
:rules="[{ required: true, message: '创建单位不能为空' }]" />
<van-field readonly name="projectName" :value="form.projectName" label="任务名称" input-align="right"
:rules="[{ required: true, message: '任务名称不能为空' }]" />
<van-form
:scroll-to-error="true"
:show-error="false"
validate-trigger="onSubmit"
>
<van-field
readonly
name="createUserName"
:value="form.createUserName"
label="创建人员"
input-align="right"
:rules="[{ required: true, message: '创建人员不能为空' }]"
/>
<van-field
readonly
name="createDeptName"
:value="form.createDeptName"
label="创建单位"
input-align="right"
:rules="[{ required: true, message: '创建单位不能为空' }]"
/>
<van-field
readonly
name="projectName"
:value="form.projectName"
label="任务名称"
input-align="right"
:rules="[{ required: true, message: '任务名称不能为空' }]"
/>
<van-field readonly name="projectName" :value="form.projectName" label="关联项目" input-align="right"
:rules="[{ required: true, message: '关联项目不能为空' }]" />
<van-field
readonly
name="projectName"
:value="form.projectName"
label="关联项目"
input-align="right"
:rules="[{ required: true, message: '关联项目不能为空' }]"
/>
<van-field readonly name="buildingNames" :value="form.buildingNames" label="评估楼栋" input-align="right"
:rules="[{ required: true, message: '评估楼栋不能为空' }]" />
<van-field
readonly
name="buildingNames"
:value="form.buildingNames"
label="评估楼栋"
input-align="right"
:rules="[{ required: true, message: '评估楼栋不能为空' }]"
/>
<van-field readonly name="deptName" :value="form.deptName" label="评估小组选择" input-align="right"
:rules="[{ required: true, message: '评估小组不能为空' }]" />
<van-field
readonly
name="deptName"
:value="form.deptName"
label="评估小组选择"
input-align="right"
:rules="[{ required: true, message: '评估小组不能为空' }]"
/>
<van-field readonly name="leaderUserName" :value="form.leaderUserName" label="评估小组组长" input-align="right"
:rules="[{ required: true, message: '评估小组组长不能为空' }]" />
<van-field
readonly
name="leaderUserName"
:value="form.leaderUserName"
label="评估小组组长"
input-align="right"
:rules="[{ required: true, message: '评估小组组长不能为空' }]"
/>
<van-field clickable name="workUserNames" :value="form.workUserNames" label="评估成员" input-align="right"
:rules="[{ required: true, message: '评估成员不能为空' }]" />
<van-field
clickable
name="workUserNames"
:value="form.workUserNames"
label="评估成员"
input-align="right"
:rules="[{ required: true, message: '评估成员不能为空' }]"
/>
<van-field v-model="form.startTime" readonly name="location" label="任务开始时间" input-align="right" :formatter="() => {
<van-field
v-model="form.startTime"
readonly
name="location"
label="任务开始时间"
input-align="right"
:formatter="
() => {
return timestampToTimes(form.startTime);
}
" :rules="[{ required: true, message: '任务开始时间不能为空' }]" />
"
:rules="[{ required: true, message: '任务开始时间不能为空' }]"
/>
<van-field v-model="form.endTime" readonly name="location" label="任务结束时间" :formatter="() => {
<van-field
v-model="form.endTime"
readonly
name="location"
label="任务结束时间"
:formatter="
() => {
return timestampToTimes(form.endTime);
}
" input-align="right" :rules="[{ required: true, message: '任务结束时间不能为空' }]" />
"
input-align="right"
:rules="[{ required: true, message: '任务结束时间不能为空' }]"
/>
</van-form>
</van-tab>
<van-tab title="风险清单">
......@@ -84,11 +159,24 @@
</van-dropdown-menu>
</van-sticky>
<div style="overflow-y: auto;">
<van-cell-group inset v-for="(item, index) in riskList" :key="index">
<van-row type="flex" justify="space-between" style="margin-top:10px;">
<van-cell-group
inset
v-for="(item, index) in riskList"
:key="index"
>
<van-row
type="flex"
justify="space-between"
style="margin-top:10px;"
>
<van-col span="22" @click="toRiskDetail(item)">
<van-col span="5">
<van-image width="46" height="46" src="https://img01.yzcdn.cn/vant/cat.jpeg" />
<van-image
width="46"
height="46"
src="https://img01.yzcdn.cn/vant/cat.jpeg"
/>
<van-image width="46" height="46" :src="item.avatar" />
</van-col>
<van-col span="17">
<van-row gutter="">
......@@ -98,21 +186,26 @@
</van-col>
</van-col>
<van-col span="2">
<van-row :style="{
<van-row
:style="{
color: '#03b615'
}">
}"
>
<van-icon name="arrow" size="26px" @click="goColorDetail" />
</van-row>
</van-col>
</van-row>
</van-cell-group>
</div>
</van-tab>
<van-tab title="审核记录">
<div class="journal-wrap">
<van-cell-group inset>
<van-steps direction="vertical" :active="99999" v-if="riskLogList.length > 0">
<van-steps
direction="vertical"
:active="99999"
v-if="riskLogList.length > 0"
>
<van-step v-for="(item, index) in riskLogList" :key="index">
<div class="step-wrap">
<van-row>
......@@ -123,15 +216,21 @@
</van-col>
</van-row>
<van-row>
<van-col span="7"><span class="field-title">操作人:</span></van-col>
<van-col span="7"
><span class="field-title">操作人:</span></van-col
>
<van-col span="17">{{ item.approvalUserName }}</van-col>
</van-row>
<van-row>
<van-col span="7"><span class="field-title">审批结果:</span></van-col>
<van-col span="7"
><span class="field-title">审批结果:</span></van-col
>
<van-col span="17">{{ item.taskName }}</van-col>
</van-row>
<van-row>
<van-col span="7"><span class="field-title">岗位:</span></van-col>
<van-col span="7"
><span class="field-title">岗位:</span></van-col
>
<van-col span="17">{{ item.taskResult }}</van-col>
</van-row>
<!-- <van-row>
......@@ -150,13 +249,15 @@
</div>
</van-tab>
<van-tab title="风险评估报告">
<div style="height: 1.5rem;
<div
style="height: 1.5rem;
background-color: #fff;
border-bottom: 1px solid #97999a;
display: flex;
justify-content: space-between;
line-height: 1.5rem;
">
"
>
<div><van-icon name="column" size="26px" /></div>
<div style="flex-grow:1;line-height: 0.6rem">
<div>风险评估报告.PDF</div>
......@@ -166,13 +267,15 @@
<van-icon name="arrow" size="26px" />
</div>
</div>
<div style="height: 1.5rem;
<div
style="height: 1.5rem;
background-color: #fff;
border-bottom: 1px solid #97999a;
display: flex;
justify-content: space-between;
line-height: 1.5rem;
">
"
>
<div><van-icon name="column" size="26px" /></div>
<div style="flex-grow:1;line-height: 0.6rem">
<div>风险评估报告.PDF</div>
......@@ -185,7 +288,9 @@
</van-tab>
</van-tabs>
</div>
<div style="display: flex;
<div
v-show="pathAuth == 'riskAssess' && (status == 0 || status == 1)"
style="display: flex;
justify-content: space-around;
background-color: #fff;
border-top: 1px solid #e3e3e3;
......@@ -193,8 +298,12 @@
width: 100%;
text-align: center;
position: fixed;
bottom: 0;">
<div @click="performTasks" style="color: #4bced0;font-size: 14px;font-weight: 600;">
bottom: 0;"
>
<div
@click="performTasks"
style="color: #4bced0;font-size: 14px;font-weight: 600;"
>
<div style="font-size: 22px;"><van-icon name="plus" /></div>
<div>执行任务</div>
</div>
......@@ -203,6 +312,190 @@
<div>任务完成</div>
</div> -->
</div>
<div
v-show="pathAuth == 'riskManage' && status == 0"
style="display: flex;
justify-content: space-around;
background-color: #fff;
border-top: 1px solid #e3e3e3;
height: 1.5rem;
width: 100%;
text-align: center;
position: fixed;
bottom: 0;"
>
<div
@click="editTask"
style="color: #4bced0;font-size: 14px;font-weight: 600;"
>
<div style="font-size: 22px;">
<van-icon name="edit" />
</div>
<div>修改任务</div>
</div>
<div
@click="delTask"
style="color: #ec808d;font-size: 14px;font-weight: 600;"
>
<div style="font-size: 22px;"><van-icon name="cross" /></div>
<div>删除任务</div>
</div>
</div>
<div
v-show="pathAuth == 'riskApprove' && status == 2"
style="display: flex;
justify-content: space-around;
background-color: #fff;
border-top: 1px solid #e3e3e3;
height: 1.5rem;
width: 100%;
text-align: center;
position: fixed;
bottom: 0;"
>
<div
@click="approveTask(1)"
style="color: #4bced0;font-size: 14px;font-weight: 600;"
>
<div style="font-size: 22px;">
<van-icon name="success" />
</div>
<div>审批通过</div>
</div>
<div
@click="unApproveTask"
style="color: #ec808d;font-size: 14px;font-weight: 600;"
>
<div style="font-size: 22px;"><van-icon name="cross" /></div>
<div>审批否决</div>
</div>
</div>
<!-- 否决弹出层 -->
<van-popup
v-model="isShowAppvoreList"
closeable
round
position="right"
:style="{ width: '90%', height: '100%' }"
>
<van-cell-group title="审批否决">
<!-- 内容列表 -->
<div class="con-list">
<van-checkbox-group v-model="checkValue">
<van-cell-group
inset
v-for="(item, index) in buildingList"
:key="index"
>
<van-row gutter="">
<van-col span="2">
<van-checkbox :name="item.buildingId" />
</van-col>
<van-col span="14">{{ item.buildingName }}</van-col>
<van-col
span="8"
:style="{
color:
item.status == 'wait'
? '#F79648'
: item.status == 'finish'
? '#03B615'
: '#FF041D'
}"
>{{
item.status == "wait"
? "待评估"
: item.status == "finish"
? "已完成"
: "已退回"
}}</van-col
>
</van-row>
<van-row>
<van-col span="18">
<van-row gutter="">
<van-col span="8">创 建 人:</van-col>
<van-col span="16">{{ item.createUserName }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="8">处理人员:</van-col>
<van-col span="16">{{ item.workUserNames }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="8">发起时间:</van-col>
<van-col span="16"
>{{ timestampToTimes(item.startTime) }}
</van-col>
</van-row>
</van-col>
<van-col span="6">
<van-row>
<van-button
type="info"
size="mini"
@click="
{
checkValue = [item.buildingId];
approveTask(0);
}
"
>审批否决</van-button
>
</van-row></van-col
>
</van-row>
</van-cell-group>
</van-checkbox-group>
<div
style="display: flex;
justify-content: space-around;
background-color: #fff;
border-top: 1px solid #e3e3e3;
height: 1.5rem;
width: 100%;
text-align: center;
position: fixed;
bottom: 0;"
>
<div
@click="
{
checkValue = [];
isShowAppvoreList = false;
}
"
style="color: #FB6260;font-size: 14px;font-weight: 600;"
>
<div style="font-size: 22px;"><van-icon name="cross" /></div>
<div>返回</div>
</div>
<div
@click="approveTask(0)"
style="color: #4bced0;font-size: 14px;font-weight: 600;"
>
<div style="font-size: 22px;"><van-icon name="success" /></div>
<div>确认</div>
</div>
</div>
<div
style="
width: 100%;
text-align: center;
font-size: 0.48rem;
position: fixed;
top: 30%;
"
v-if="buildingList['length'] == 0"
>
暂无数据
</div>
</div>
</van-cell-group>
</van-popup>
</div>
</template>
......@@ -219,48 +512,64 @@ export default {
return {
text: "任务单",
searchValue: "",
messageText: "",
checkValue: [],
isAll: false,
plan: 0,
showIndex: false,
isShowAppvoreList: false,
isShowText: false,
isHaveNews: false,
messageList: [],
riskLogList: [],
buildingList: [],
Loop: "", // 定时器
showIndex: null, // 是否显示遮罩层,
active: 0,
phase: 1,
status: 0,
pathAuth: "",
form: {},
tabs: [],
riskList: [],
value1: 0,
value2: 'a',
value3: '1',
value2: "a",
value3: "1",
option1: [
{ text: '楼栋', value: 0 },
{ text: '全部', value: 1 },
{ text: "楼栋", value: 0 },
{ text: "全部", value: 1 }
],
option2: [
{ text: '楼层', value: 'a' },
{ text: '全部', value: 'b' },
{ text: "楼层", value: "a" },
{ text: "全部", value: "b" }
],
option3: [
{ text: '房间', value: '1' },
{ text: '全部', value: '2' },
],
{ text: "房间", value: "1" },
{ text: "全部", value: "2" }
]
};
},
created() {
var planId = this.$route.params.id || sessionStorage.getItem("planId");
this.planId = this.$route.params.id || sessionStorage.getItem("planId");
var buildingId =
this.$route.params.buildingId || sessionStorage.getItem("buildingId");
this.postList(planId, buildingId);
this.getRiskTaskList(planId, buildingId)
this.pathAuth = sessionStorage.getItem("pathAuth");
this.postList(this.planId, buildingId);
this.getRiskTaskList(this.planId, buildingId);
},
methods: {
timestampToTimes(time) {
return timestampToTime(new Date(time), "DT2", true);
},
//执行任务
performTasks() {
sessionStorage.setItem('buildingId', this.messageList.riskBuildingListDtos[0].buildingId)
sessionStorage.setItem('planId', this.messageList.id)
sessionStorage.setItem('buildingName', this.messageList.riskBuildingListDtos[0].buildingName)
sessionStorage.setItem(
"buildingId",
this.messageList.riskBuildingListDtos[0].buildingId
);
sessionStorage.setItem("planId", this.messageList.id);
sessionStorage.setItem(
"buildingName",
this.messageList.riskBuildingListDtos[0].buildingName
);
this.$router.push({
name: "riskInherent",
params: {
......@@ -270,6 +579,54 @@ export default {
}
});
},
//修改任务
editTask() {
//TODO 修改任务
console.log("修改任务");
},
//删除任务
delTask() {
//TODO 删除任务
console.log("删除任务");
},
//审批通过
approveTask(result) {
//TODO 审批通过
this.$router.push({
name: "riskAppvoreText",
params: {
planId: this.planId,
buildingIds: this.checkValue,
result: result
}
});
console.log("审批通过");
},
//审批否决
unApproveTask() {
if (this.isAll) {
this.approveTask(0);
} else {
this.lookdetail(this.planId);
}
//TODO 审批否决
console.log("审批否决");
},
//否决楼栋列表
lookdetail(id) {
this.isShowAppvoreList = true;
getFun("/risk/plan/allocation/building/list/" + id)
.then(res => {
console.log(res);
this.buildingList = res.data;
this.checkValue = this.buildingList.map(item => item.buildingId);
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
handadd() {
this.$router.push({
name: "riskAdd",
......@@ -280,10 +637,12 @@ export default {
},
//风险清单列表
getRiskTaskList(planId, buildingId) {
if (buildingId) {
getFun(`/risk/plan/inherent/list/${planId}/${buildingId}`).then(res => {
console.log(res.data, 'lll')
this.riskList = res.data
})
console.log(res.data, "lll");
this.riskList = res.data;
});
}
},
postList(id, buildingId) {
console.log(buildingId, "123");
......@@ -301,7 +660,39 @@ export default {
this.messageList = res.data || res.rows;
console.log(this.messageList);
this.form = this.messageList.detailsDto;
this.checkValue = this.messageList.riskBuildingListDtos.map(
item => item.buildingId
);
this.riskLogList = this.messageList.approveListDtos;
console.log(this.messageList.statusKey, 111);
switch (this.messageList.statusKey) {
case "CREATE_TASK":
case "WAIT_START":
this.status = 0;
break;
case "RUNNING":
case "WAIT_RETURN":
this.status = 1;
break;
case "WAIT_LEADER_APPROVE":
case "WAIT_LEADER_RETURN":
this.status = 2;
this.isAll = false;
break;
case "WAIT_APPROVE":
this.status = 2;
this.isAll = true;
break;
case "REVOKE":
case "FINISH":
case "PROJECT_REPORT":
this.status = 3;
break;
default:
this.status = 0;
break;
}
})
.catch(() => {
this.$toast.clear();
......@@ -324,7 +715,7 @@ export default {
this.$router.push({
name: "risk-big-detail",
params: {
id: data.businessId || data.id,
id: data.businessId || data.id
}
});
this.showIndex = null;
......@@ -349,17 +740,17 @@ export default {
floorId: 18,
isView: true
}
})
});
},
//风险清单列表点击
toRiskDetail(item) {
console.log(item,'LLLL')
console.log(item, "LLLL");
this.$router.push({
name:"taskDetail",
params:{
id:item.id
name: "taskDetail",
params: {
id: item.id
}
})
});
}
}
};
......
......@@ -175,6 +175,7 @@ export default {
// buildingId: item.buildingId
}
});
sessionStorage.setItem("pathAuth", "riskApprove");
sessionStorage.setItem("planId", item.id);
sessionStorage.setItem("buildingId", "");
}
......
......@@ -278,20 +278,10 @@ export default {
}
});
sessionStorage.setItem("planId", item.id);
sessionStorage.setItem("pathAuth", "riskAssess");
sessionStorage.setItem("buildingId", item.buildingId);
this.showIndex = false;
},
// 详情
goDetail(data) {
this.$router.push({
name: "riskBigDetail",
params: {
id: data.businessId || data.id
}
});
this.showIndex = false;
},
// 确认
goConfirm(data) {
this.$router.push({
......
......@@ -6,37 +6,51 @@
</van-sticky>
<div style="margin-bottom: 1.5rem;">
<van-grid :column-num="3" style="background-color: #fff;">
<van-grid-item >
<van-grid-item>
<div>发起人员:</div>
<div>{{messageList.createUserName}}</div>
<div>{{ messageList.createUserName }}</div>
</van-grid-item>
<van-grid-item >
<van-grid-item>
<div>项目负责人:</div>
<div>{{messageList.leaderUserName}}</div>
<div>{{ messageList.leaderUserName }}</div>
</van-grid-item>
<van-grid-item >
<van-grid-item>
<div>任务状态:</div>
<div>{{messageList.status}}</div>
<div>{{ messageList.status }}</div>
</van-grid-item>
<van-grid-item >
<van-grid-item>
<div>开始时间:</div>
<div>{{timestampToTimes(messageList.startTime)||messageList.startTime}}</div>
<div>
{{
timestampToTimes(messageList.startTime) || messageList.startTime
}}
</div>
</van-grid-item>
<van-grid-item >
<van-grid-item>
<div>结束时间:</div>
<div>{{timestampToTimes(messageList.endTime)||messageList.endTime}}</div>
<div>
{{ timestampToTimes(messageList.endTime) || messageList.endTime }}
</div>
</van-grid-item>
</van-grid>
<van-steps :active="active" active-icon="success" active-color="#38f" style="margin: 0.26rem 0;">
<van-steps
:active="active"
active-icon="success"
active-color="#38f"
style="margin: 0.26rem 0;"
>
<van-step>任务发起</van-step>
<van-step>风险评估</van-step>
<van-step>评估审核</van-step>
<van-step>项目完成</van-step>
</van-steps>
<van-tabs v-model="active" color="#2980f7"
<van-tabs
v-model="active"
color="#2980f7"
animated
:sticky="true"
offset-top="2.93rem">
offset-top="2.93rem"
>
<van-tab title="任务详情">
<van-form
:scroll-to-error="true"
......@@ -95,16 +109,17 @@
:rules="[{ required: true, message: '事故类型不能为空' }]"
/>
<van-field
v-model="form.startTime"
readonly
name="location"
label="任务开始时间"
input-align="right"
:formatter="()=>{
return timestampToTimes(form.startTime)
}"
:formatter="
() => {
return timestampToTimes(form.startTime);
}
"
:rules="[{ required: true, message: '任务开始时间不能为空' }]"
/>
......@@ -113,9 +128,11 @@
readonly
name="location"
label="任务结束时间"
:formatter="()=>{
return timestampToTimes(form.endTime)
}"
:formatter="
() => {
return timestampToTimes(form.endTime);
}
"
input-align="right"
:rules="[{ required: true, message: '任务结束时间不能为空' }]"
/>
......@@ -130,34 +147,41 @@
/>
</van-form>
</van-tab>
<van-tab title="风险清单">
</van-tab>
<van-tab title="风险清单"> </van-tab>
<van-tab title="审核记录">
<div class="journal-wrap">
<van-cell-group inset >
<van-steps direction="vertical" :active="99999" v-if="riskLogList.length>0">
<van-cell-group inset>
<van-steps
direction="vertical"
:active="99999"
v-if="riskLogList.length > 0"
>
<van-step v-for="(item, index) in riskLogList" :key="index">
<div class="step-wrap">
<van-row>
<van-col span="24"><div class="info-title">{{timestampToTimes(item.startTime)}}</div></van-col>
<van-col span="24"
><div class="info-title">
{{ timestampToTimes(item.startTime) }}
</div></van-col
>
</van-row>
<van-row>
<van-col span="7"
><span class="field-title">操作人:</span></van-col
>
<van-col span="17">{{item.approvalUserName}}</van-col>
<van-col span="17">{{ item.approvalUserName }}</van-col>
</van-row>
<van-row>
<van-col span="7"
><span class="field-title">审批结果:</span></van-col
>
<van-col span="17">{{item.taskName}}</van-col>
<van-col span="17">{{ item.taskName }}</van-col>
</van-row>
<van-row>
<van-col span="7"
><span class="field-title">岗位:</span></van-col
>
<van-col span="17">{{item.taskResult}}</van-col>
<van-col span="17">{{ item.taskResult }}</van-col>
</van-row>
<!-- <van-row>
<van-col span="7"
......@@ -168,47 +192,54 @@
</div>
</van-step>
</van-steps>
<div style="text-align: center;" v-if="riskLogList.length == 0">暂无数据</div>
<div style="text-align: center;" v-if="riskLogList.length == 0">
暂无数据
</div>
</van-cell-group>
</div>
</van-tab>
<van-tab title="风险评估报告">
<div style="height: 1.5rem;
<div
style="height: 1.5rem;
background-color: #fff;
border-bottom: 1px solid #97999a;
display: flex;
justify-content: space-between;
line-height: 1.5rem;
">
<div><van-icon name="column" size="26px"/></div>
"
>
<div><van-icon name="column" size="26px" /></div>
<div style="flex-grow:1;line-height: 0.6rem">
<div>风险评估报告.PDF</div>
<div>2019-3-21 10:23 100KB</div>
</div>
<div>
<van-icon name="arrow" size="26px"/>
<van-icon name="arrow" size="26px" />
</div>
</div>
<div style="height: 1.5rem;
<div
style="height: 1.5rem;
background-color: #fff;
border-bottom: 1px solid #97999a;
display: flex;
justify-content: space-between;
line-height: 1.5rem;
">
<div><van-icon name="column" size="26px"/></div>
"
>
<div><van-icon name="column" size="26px" /></div>
<div style="flex-grow:1;line-height: 0.6rem">
<div>风险评估报告.PDF</div>
<div>2019-3-21 10:23 100KB</div>
</div>
<div>
<van-icon name="arrow" size="26px"/>
<van-icon name="arrow" size="26px" />
</div>
</div>
</van-tab>
</van-tabs>
</div>
<div style="display: flex;
<div
style="display: flex;
justify-content: space-around;
background-color: #fff;
border-top: 1px solid #e3e3e3;
......@@ -216,8 +247,12 @@
width: 100%;
text-align: center;
position: fixed;
bottom: 0;">
<div @click="performTasks" style="color: #4bced0;font-size: 14px;font-weight: 600;">
bottom: 0;"
>
<div
@click="performTasks"
style="color: #4bced0;font-size: 14px;font-weight: 600;"
>
<div style="font-size: 22px;"><van-icon name="plus" /></div>
<div>执行任务</div>
</div>
......@@ -227,16 +262,16 @@
</div> -->
</div>
</div>
</template>
</template>
<script>
import LHeader from "@/components/header.vue";
import { timestampToTime, generateId } from "@/utils/format";
import { getFun, postFun } from "@/service/table.js";
export default {
name:'riskBigDetail',
<script>
import LHeader from "@/components/header.vue";
import { timestampToTime, generateId } from "@/utils/format";
import { getFun, postFun } from "@/service/table.js";
export default {
name: "riskBigDetail",
components: {
LHeader,
LHeader
},
data() {
return {
......@@ -244,54 +279,51 @@
searchValue: "",
isHaveNews: false,
messageList: [],
riskLogList:[],
riskLogList: [],
Loop: "", // 定时器
showIndex: null, // 是否显示遮罩层,
active: 0,
form:{
},
tabs: [
],
form: {},
tabs: []
};
},
created() {
var planId=this.$route.params.id || sessionStorage.getItem('planId')
var planId = this.$route.params.id || sessionStorage.getItem("planId");
this.postList(planId);
},
methods: {
timestampToTimes(time){
return timestampToTime(new Date(time),"DT2", true)
timestampToTimes(time) {
return timestampToTime(new Date(time), "DT2", true);
},
performTasks(){
performTasks() {
this.$router.push({
name: "riskInherent",
params: {
id:this.messageList.id
},
})
id: this.messageList.id
}
});
},
handadd(){
handadd() {
this.$router.push({
name: "riskAdd",
params: {
title:'新增'
},
})
title: "新增"
}
});
},
postList(id) {
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
duration: 0
});
getFun(`/risk/plan/details/${id}`)
.then((res) => {
.then(res => {
this.$toast.clear();
this.messageList =res.data||res.rows;
this.form= this.messageList.detailsDto
this.riskLogList= this.messageList.approveListDtos
this.messageList = res.data || res.rows;
this.form = this.messageList.detailsDto;
this.riskLogList = this.messageList.approveListDtos;
})
.catch(() => {
this.$toast.clear();
......@@ -309,48 +341,36 @@
}
this.showIndex = index;
},
// 详情
goDetail(data) {
this.$router.push({
name: "riskBigDetail",
params: {
id: data.businessId||data.id,
},
});
sessionStorage.setItem('planId',data.id)
this.showIndex = null;
},
// 确认
goConfirm(data) {
this.$router.push({
name: "risk-affirm",
params: {
data: data,
},
data: data
}
});
this.showIndex = null;
},
},
};
</script>
<style lang="less" scoped>
#app {
font-family: "";
color: #2c3e50
}
}
};
</script>
<style lang="less" scoped>
#app {
font-family: "";
color: #2c3e50;
}
.cell-wrap {
.cell-wrap {
position: relative;
}
p {
}
p {
font-size: 0.4rem;
font-weight: none;
padding-left: 0.16rem;
margin: 0.186667rem 0;
color: #7f7f7f;
}
.van-cell-group--inset {
}
.van-cell-group--inset {
margin: 0;
margin-bottom: 10px;
padding: 10px;
......@@ -360,28 +380,27 @@
margin-bottom: 0.133333rem;
line-height: 0.64rem;
}
}
.journal-wrap {
}
.journal-wrap {
position: relative;
}
.supervise-wrap {
}
.supervise-wrap {
position: relative;
}
.info-title {
}
.info-title {
color: #2980f7;
font-weight: none;
}
.field-title {
}
.field-title {
color: black;
font-weight: none;
}
.more {
}
.more {
position: absolute;
bottom: 0.32rem;
right: 15px;
color: #2a80f7;
font-weight: none;
z-index: 99;
}
</style>
\ No newline at end of file
}
</style>
......@@ -277,6 +277,7 @@ export default {
buildingId: item.buildingId
}
});
sessionStorage.setItem("pathAuth", "riskExecution");
sessionStorage.setItem("planId", item.id);
sessionStorage.setItem("buildingId", item.buildingId);
this.showIndex = false;
......
......@@ -40,20 +40,24 @@
:key="index"
@click="touchstart(index, item)"
>
<div style="font-size: 0.45rem;padding: 5px 0;">{{item.name}}</div>
<div style="font-size: 0.45rem;padding: 5px 0;">
{{ item.name }}
</div>
<van-row gutter="">
<van-col span="17">
<van-row gutter="">
<van-col span="9">发起时间:</van-col>
<van-col span="15">{{timestampToTimes(item.startTime)||item.startTime }}</van-col>
<van-col span="15">{{
timestampToTimes(item.startTime) || item.startTime
}}</van-col>
</van-row>
<van-row gutter="">
<van-col span="9">处理人员:</van-col>
<van-col span="15">{{ item.leaderUserName }}</van-col>
</van-row>
</van-col>
<van-col span="7" :style="{'color':'#03b615'}">
<van-col span="7" :style="{ color: '#03b615' }">
{{ item.state }}
</van-col>
</van-row>
......@@ -67,7 +71,6 @@
<van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop="showIndex = null">
<van-button round type="primary" @click="goDetail(item)"
>详情</van-button
>
<!-- <van-button round type="info" @click="goConfirm(item)" v-show="active==0"
......@@ -84,86 +87,87 @@
position: fixed;
top: 30%;
"
v-if="messageList['length']==0"
v-if="messageList['length'] == 0"
>
暂无数据
</div>
</div>
<!-- 暂无数据 -->
<!-- {{messageList}} -->
</van-tab>
</van-tabs>
<div style="width: 60px;position: fixed;right: 5%;top: 80%;" @click="handadd">
<img src="@/assets/accidentIcon/add.svg" alt="" width="100%" >
<div
style="width: 60px;position: fixed;right: 5%;top: 80%;"
@click="handadd"
>
<img src="@/assets/accidentIcon/add.svg" alt="" width="100%" />
</div>
</div>
</template>
</template>
<script>
import LHeader from "@/components/header.vue";
import { timestampToTime, generateId } from "@/utils/format";
import { getFun, postFun } from "@/service/table.js";
<script>
import LHeader from "@/components/header.vue";
import { timestampToTime, generateId } from "@/utils/format";
import { getFun, postFun } from "@/service/table.js";
// import { postriskConList } from "@/service/risk";
export default {
name:'risk-confirme',
export default {
name: "risk-confirme",
components: {
LHeader,
LHeader
},
data() {
return {
text: "任务管理",
searchValue: "",
isHaveNews: false,
messageList: [
],
messageList: [],
Loop: "", // 定时器
showIndex: null, // 是否显示遮罩层,
active: 0,
tabs: [
{
title: "待执行",
api: "/risk/plan/create/list?status=wait",
api: "/risk/plan/create/list?status=wait"
},
{
title: "执行中",
api: "/risk/plan/create/list?status=running",
api: "/risk/plan/create/list?status=running"
},
{
title: "已执行",
api: "/risk/plan/create/list?status=finish",
},
],
api: "/risk/plan/create/list?status=finish"
}
]
};
},
created() {
this.postList();
},
methods: {
timestampToTimes(time){
return timestampToTime(new Date(time),"DT1", true)
timestampToTimes(time) {
return timestampToTime(new Date(time), "DT1", true);
},
handadd(){
handadd() {
this.$router.push({
name: "riskAdd",
params: {
title:'新增'
},
})
title: "新增"
}
});
},
postList(select = "") {
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
duration: 0
});
// let formdata = new FormData();
// formdata.append("select", select);
getFun(this.tabs[this.active]['api'])
.then((res) => {
getFun(this.tabs[this.active]["api"])
.then(res => {
this.$toast.clear();
this.messageList =res.data||res.rows;
this.messageList = res.data || res.rows;
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
......@@ -191,10 +195,11 @@
this.$router.push({
name: "riskTaskList",
params: {
id: data.businessId ||data.id,
},
id: data.businessId || data.id
}
});
sessionStorage.setItem('planId',data.id)
sessionStorage.setItem("pathAuth", "riskManage");
sessionStorage.setItem("planId", data.id);
this.showIndex = null;
},
// 确认
......@@ -202,22 +207,21 @@
this.$router.push({
name: "risk-affirm",
params: {
data: data,
},
data: data
}
});
this.showIndex = null;
},
},
};
</script>
<style lang="less" scoped>
}
}
};
</script>
#app {
<style lang="less" scoped>
#app {
font-family: "";
color: #2c3e50;
}
.con-list {
}
.con-list {
padding: 0;
background-color: #f0f1f5;
.van-cell-group--inset {
......@@ -245,9 +249,8 @@
}
}
}
}
/deep/.van-tab__pane{
}
/deep/.van-tab__pane {
min-height: 8rem;
}
</style>
\ No newline at end of file
}
</style>
......@@ -11,34 +11,29 @@
>
<van-tab title="排序">
<template #title> 排序 <van-icon name="down" /></template>
<div
class="con-list"
>
<van-cell-group
inset
@click="touchstart(0)"
>
<div style="font-size: 0.45rem;padding: 5px 0;">项目评估任务单1</div>
<div class="con-list" >
<van-cell-group v-for="(item,index) in taskList" :key="index" inset @click="touchstart(index, item)" >
<div style="font-size: 0.45rem;padding: 5px 0;">{{item.name}}</div>
<van-row gutter="">
<van-col span="17">
<van-row gutter="">
<van-col span="9">发起时间:</van-col>
<van-col span="15">2023-07-05</van-col>
<van-col span="15">{{ timestampToTimes(item.startTime) }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="9">处理人员:</van-col>
<van-col span="15">孔德龙</van-col>
<van-col span="15">{{item.leaderUserName}}</van-col>
</van-row>
</van-col>
<van-col span="7" :style="{'color':'#03b615'}">
发起
{{item.state}}
</van-col>
</van-row>
<!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == 0">
<van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop="showIndex = null">
<van-button round type="primary" @click="goDetail()"
<van-button round type="primary" @click="goDetail(item)"
>详情</van-button
>
</div>
......@@ -55,7 +50,8 @@
<script type="text/ecmascript-6">
import LHeader from "@/components/header.vue";
import { timestampToTime, generateId } from "@/utils/format";
import { getFun, postFun } from "@/service/table.js";
export default {
name:'taskLedger',//任务台账
data() {
......@@ -63,15 +59,25 @@ export default {
text:'任务台账',
active: 0,
showIndex: null, // 是否显示遮罩层,
taskList: [], // 是否显示遮罩层,
}
},
components: {
LHeader,
},
mounted() {
this.getList()
},
methods: {
timestampToTimes(time) {
return timestampToTime(new Date(time), "DT2", true);
},
getList(){
getFun('/risk/plan/details/list').then(res=>{
console.log('%c [ res ]-77', 'font-size:13px; background:pink; color:#bf2c9f;', res)
this.taskList=res.data
})
},
//点击列表
touchstart(index, item) {
if (this.showIndex != null) {
......@@ -81,11 +87,11 @@ export default {
this.showIndex = index;
},
// 详情
goDetail(){
goDetail(item){
this.$router.push({
name: "taskDetail",
name: "riskTaskList",
params: {
id:'',
id:item.id,
},
});
}
......
<template>
<div>
<van-form :scroll-to-error="true" :show-error="false" validate-trigger="onSubmit">
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative;top: 32%;transform: translateY(-50%);">
风险信息
</div>
<van-field readonly required :value="InherentRisk.userName" label="评估人" placeholder="请输入" />
<van-field readonly required :value="InherentRisk.projectName" label="所属项目" placeholder="请输入" />
<van-field readonly required :value="InherentRisk.buildingName" label="所属建筑物" placeholder="请输入" />
<van-field required clickable name="floorId" :value="InherentRisk.floorId" label="所属楼层" placeholder="请选择"
:rules="[{ required: true, message: '所属楼层不能为空' }]" />
<div style="display: flex;">
<van-field readonly required name="roomName" :value="InherentRisk.roomName" label="所属房间" placeholder="请输入"
:rules="[{ required: true, message: '所属房间不能为空' }]" />
<van-button style="color: #cccc;background-color: #f0f1f5;" icon="plus" type="info" />
</div>
<van-field required clickable name="name" v-model="InherentRisk.factor" label="风险源名称" placeholder="请输入"
:rules="[{ required: true, message: '风险源名称不能为空' }]" />
<van-field v-model="InherentRisk.factor" required name="factor" label="风险因素" placeholder="请选择"
:rules="[{ required: true, message: '风险因素不能为空' }]" />
<van-field v-model="InherentRisk.type" required name="type" label="准事故类型" placeholder="请选择" @click="seletType('type')"
:rules="[{ required: true, message: '准事故类型不能为空' }]" />
<van-field readonly v-model="InherentRisk.level" required name="level" label="风险等级" placeholder="请选择"
:rules="[{ required: true, message: '风险等级不能为空' }]" />
<van-field required name="presenceLocation" v-model="InherentRisk.presenceLocation" label="存在部位" placeholder="请输入"
:rules="[{ required: true, message: '存在部位不能为空' }]" />
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative;top: 32%;transform: translateY(-50%);">
风险源图片
</div>
<van-field name="hdPicture1" label="风险源图片">
<template #input>
<van-uploader multiple :max-count="5"
upload-text="最多上传五个" v-model="uploaderImg">
<template slot="default">
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
">
<img src="@/assets/upload/pic.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
</van-uploader>
</template>
</van-field>
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative;top: 32%;transform: translateY(-50%);">
技术措施
</div>
<van-field v-model="InherentRisk.measuresProject" name="measuresProject" label="技术措施" type="textarea" rows="1" autosize
placeholder="请输入" />
<van-field name="measuresProjectFile[]" label=" ">
<template #input>
<van-uploader multiple :max-count="5" upload-text="最多上传五个" v-model="measuresProjectFile" accept="file"
result-type="file" @delete="deleteFile(...arguments, 'measuresProjectFile')">
<template slot="default">
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
</van-uploader>
</template>
</van-field>
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative;top: 32%;transform: translateY(-50%);">
管理措施
</div>
<van-field v-model="InherentRisk.measuresAdministration" name="measuresAdministration" label="管理措施" type="textarea"
rows="1" autosize placeholder="请输入" />
<van-field name="measuresAdministrationFile[]" label=" ">
<template #input>
<van-uploader multiple :max-count="5" upload-text="最多上传五个" v-model="measuresAdministrationFile"
accept="file" result-type="file" @delete="deleteFile(...arguments, 'measuresAdministrationFile')">
<template slot="default">
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
</van-uploader>
</template>
</van-field>
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative;top: 32%;transform: translateY(-50%);">
应急措施
</div>
<van-field v-model="InherentRisk.measuresEmergency" name="measuresEmergency" label="应急措施" type="textarea" rows="1"
autosize placeholder="请输入" />
<van-field name="measuresEmergencyFile[]" label=" ">
<template #input>
<van-uploader multiple :max-count="5" upload-text="最多上传五个" v-model="measuresEmergencyFile" accept="file"
result-type="file" @delete="deleteFile(...arguments, 'measuresEmergencyFile')">
<template slot="default">
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
</van-uploader>
</template>
</van-field>
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative;top: 32%;transform: translateY(-50%);">
参考依据
</div>
</van-form>
</div>
</template>
<script>
export default {
props: ["InherentRisk"],
data() {
return {
showPopoveSetRank: false,
activeNames: ["1"],
showPopover: false,
showGradeDialog: false,
taskId: "",
text: "添加固有风险",
id: "",
isTimely: 1,
active: 0,
form: {
},
projectId: "", // 所属工程
projectName: "", // 所属工程
projectDirectorName: "", // 所属工程
projectDirector: "", // 所属工程
showProjectName: false,
show: false,
columnsProjectName: [],
factor: "", //风险因素
showFactor: false,
columnsFactor: [],
messageList: [
{
title: '回显风险源名称',
time: '2022-12-12',
name: 'Mr.周',
state: 1
}
],
source: "", //风险源
userPrefix: "", //风险源
showSource: false,
columnsSource: [],
trouble: "", //事故类型
showTrouble: false,
columnsTrouble: [],
setRank: "", //风险定级
showSetRank: false,
columnsSetRank: ["矩阵式定级", "其他定级方式"],//严重程度
riskRank: "", // 风险等级
showRiskRank: false,
columnsRiskRank: [],//发生可能性
showSetRankMode: false, // 是否显示定级方式
setRankMode: "", // 定级方式文字
setRankModeImg: [], // 定级方式图片
uploaderImg: [], // 定级方式图片
location: "", //风险部位
control: "", //管控层级
riskName: "", //管控层级
showControl: false,
columnsControl: ["项目级", "企业级"],
mainDutyDept: "", // 主责部门
mainDutyDeptId: "",
showMainDutyDept: false,
columnsMainDutyDept: [],
mainDutyPeopLe: "", // 主责人员
mainDutyPeopLeId: "",
showMainDutyPeopLe: false,
columnsMainDutyPeopLe: [],
technology: "", //技术措施文字
technologyImg: [], //技术措施图片
administration: "", //管理措施文字
measuresAdministrationFile: [], //管理措施图片
measuresProjectFile: [], //管理措施图片
measuresEmergencyFile: [], //管理措施图片
urgent: "", //应急措施文字
urgentImg: [], //应急措施图片
returnCause: "", // 退回原因
isShowreturnCause: false,
possibleValue: "",
possibleScore: 0,
severityValue: "",
severityScore: 0,
};
},
created() {
// this.form.buildingIds = this.$route.params.buildingId ||sessionStorage.getItem("buildingId")
// this.form.planId = this.$route.params.planId||sessionStorage.getItem("planId")
// this.form.buildingName = this.$route.params.buildingName||sessionStorage.getItem("buildingName")
// this.form.userId = userInfo.userId
// this.form.userName = userInfo.userName
// this.form.deptName = userInfo.dept.deptName
// this.form.projectId = '测试项目',
// this.form.level = this.$route.params.level ? this.$route.params.level :''
},
methods: {
},
watch: {
},
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 0;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
margin-bottom: 0.26667rem;
padding: 0.25rem;
font-size: 0.4rem;
position: relative;
border-radius: 4%;
box-shadow: 0px 0px 10px 2px #f3f3f3;
width: 90%;
margin: 0.4rem auto;
.van-row {
font-size: 0.4rem;
line-height: 0.8rem;
margin-bottom: 0;
}
.van-overlay {
position: absolute;
.wrapper {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
}
}
}
.dialogContain {
width: 100%;
height: 100%;
padding: 10px;
box-sizing: border-box;
}
</style>
......@@ -4,29 +4,32 @@
<LHeader :text="text"></LHeader>
</van-sticky>
<div class="section">
<van-tabs v-model="activeName" color="#2980f7" animated >
<van-tabs v-model="activeName" color="#2980f7" animated @click="onClick">
<van-tab title="固有风险信息" name="a">
<TabDetail :InherentRisk="InherentRisk"/>
</van-tab>
<van-tab title="现状风险" name="b">
<van-cell-group
inset
v-for="(item, index) in quoRiskList"
:key="index"
>
<div class="quolist">
<van-cell-group style="padding: 10px;box-sizing: border-box;background-color: #fff;margin: 8px;border-radius: 10px;" v-for="(item, index) in quoRiskList" :key="index" @click="goDetail(item)">
<div style="font-size: 0.45rem;padding: 5px 0;">
{{ item.name }}
</div>
<van-row gutter="">
<van-row gutter="4">
<van-col span="17">
<van-row gutter="">
<van-col span="9">创建人:</van-col>
<van-col span="15">{{ item.leaderUserName }}</van-col>
<van-col span="9">风险系数:</van-col>
<van-col span="15">{{ item.coefficient }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="9">创建时间:</van-col>
<van-col span="15">{{
timestampToTimes(item.createTime)
}}</van-col>
</van-row>
<van-row gutter="">
<van-col span="9">发起时间</van-col>
<van-col span="9">风险描述</van-col>
<van-col span="15">{{
timestampToTimes(item.startTime)
item.describe
}}</van-col>
</van-row>
</van-col>
......@@ -34,20 +37,21 @@
<van-row>
{{ item.state }}
</van-row>
<van-row>
<van-button
type="info"
size="mini"
@click="todetail(index, item)"
>{{ active == 2 ? "去处理" : "去审批" }}</van-button
>
<van-row type="flex" style="flex-direction: column;align-items: center;">
<van-col>
<van-image round width="34" height="34" src="https://img01.yzcdn.cn/vant/cat.jpeg" />
</van-col>
<van-col>
{{ item.userName }}
</van-col>
</van-row>
</van-col>
</van-row>
</van-cell-group>
</div>
</van-tab>
<van-tab title="四色图" name="c">
<drawCanvas/>
<drawCanvas />
</van-tab>
</van-tabs>
</div>
......@@ -57,33 +61,67 @@
<script type="text/ecmascript-6">
import LHeader from "@/components/header.vue";
import drawCanvas from '@/views/drawCanvas/riskView.vue'
import TabDetail from "./tabDetail.vue"
import { getFun, postFun } from "@/service/table.js";
import { timestampToTime } from "@/utils/format";
export default {
name: 'taskDetail',
data() {
return {
text: "固有风险列表",
activeName: 'a',
quoRiskList:[],//现状风险列表
InherentRisk:[],//固有风险
inherentId:''
quoRiskList: [],//现状风险列表
InherentRisk: {},//固有风险
inherentId: ''
}
},
components: {
LHeader,
drawCanvas
drawCanvas,
TabDetail
},
created(){
created() {
this.inherentId = this.$route.params.id
},
mounted() {
this.getInherentRiskList(this.$route.params.id)
this.getQuoRiskList(this.$route.params.id)
},
methods: {
getQuoRiskList(inherentId){
getFun(`/risk/plan/existing/list/${inherentId}`).then(res=>{
getInherentRiskList(inherentId){
getFun(`/risk/plan/inherent/details/${inherentId}`).then(res=>{
this.InherentRisk= res.data
})
},
getQuoRiskList(inherentId) {
getFun(`/risk/plan/existing/list/${inherentId}`).then(res => {
this.quoRiskList = res.data
})
},
timestampToTimes(time) {
return timestampToTime(new Date(time), "DT2", true);
},
goDetail(item){
console.log(item,'???')
this.$router.push({
name:'addPresent',
params:{
isView:false,
// buildingId:,
// planId:,
// floorId:,
// roomId:,
// inherentId:,
// roomName:,
}
})
},
onClick(name){
if(name==='a'){
this.getQuoRiskList(this.$route.params.id)
}else if(name==='b'){
this.getInherentRiskList(this.$route.params.id)
}
}
},
}
......@@ -100,4 +138,8 @@ export default {
height: 100%;
overflow-y: auto;
}
.quolist{
padding: 10px;
box-sizing: border-box;
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment