Commit a1d4c276 authored by kaitly205422@163.com's avatar kaitly205422@163.com

风险巡查问题修改

parent 0797b5bf
......@@ -7,8 +7,8 @@ module.exports = {
'plugin:vue/essential'
],
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
'no-console': 'off',
'no-debugger': 'off'
},
parserOptions: {
parser: 'babel-eslint'
......
......@@ -127,7 +127,6 @@ export default {
this.cachePage.push(roterFromName);
}
}
console.log(this.cachePage, 'cach')
},
},
watch: {
......@@ -150,6 +149,8 @@ export default {
this.handleCache("risk-confirme", to.name, "risk-affirm");
} else if (to.name == 'taskLedger' || from.name == 'taskLedger') {
this.handleCache("riskTaskList", to.name, "taskLedger");
} else if (to.name == 'riskView' || from.name == 'riskInherent') {
this.handleCache("addInherent", to.name, "riskInherent");
}
// 列表页面动态添加缓存
......
......@@ -96,6 +96,5 @@ export const rotateBase64Img = (src, edg, callback) => {
}
};
} catch (e) {
console.log(e);
}
};
......@@ -347,21 +347,23 @@ export default {
this.layoutData = res.data;
this.layoutDataStr = JSON.stringify(this.layoutData);
res.data.forEach((item) => {
item.position = JSON.parse(item.position);
item.position.i = item.id;
item.position.id = item.id;
if (!this.showHeader) {
item.position.isDraggable = false;
item.position.isResizable = false;
if (item.position) {
item.position = JSON.parse(item.position);
item.position.i = item.id;
item.position.id = item.id;
if (!this.showHeader) {
item.position.isDraggable = false;
item.position.isResizable = false;
}
if (!this.isViews) {
//添加页面不显示颜色
item.position.c = "#e6e5e5";
} else {
item.position.c = item.color;
}
this.layout.push(item.position);
this.updateLayoutHeight();
}
if (!this.isViews) {
//添加页面不显示颜色
item.position.c = "#e6e5e5";
} else {
item.position.c = item.color;
}
this.layout.push(item.position);
this.updateLayoutHeight();
});
// console.log(res.data);
}
......@@ -469,8 +471,8 @@ export default {
const max = Math.max(
...this.layoutData.map((x) => {
let data = x.position;
if (!data) return 0;
if (typeof x.position == "string") {
// x.position.y + x.position.h
data = JSON.parse(x.position);
}
return data.y + data.h;
......@@ -490,8 +492,8 @@ export default {
// 拖动时判断layoutHeight是否需要更新
item.x = (x / this.W) * 12;
item.y = y / 30;
item.x = (newX / this.W) * 12;
item.y = newY / 30;
item.x = (x / this.W) * 12;
item.y = y / 30;
debounce(this.updateLayoutHeight)();
// if (top > this.layoutHeight) {
// this.layoutHeight = top;
......@@ -555,11 +557,13 @@ export default {
});
//修改房间后返回清掉房间的值
var inherenForm = JSON.parse(sessionStorage.getItem("inherenForm"));
if (inherenForm) {
inherenForm.roomName = "";
inherenForm.roomId = "";
sessionStorage.setItem("inherenForm", JSON.stringify(inherenForm));
if (sessionStorage.getItem("inherenForm")) {
var inherenForm = JSON.parse(sessionStorage.getItem("inherenForm"));
if (inherenForm) {
inherenForm.roomName = "";
inherenForm.roomId = "";
sessionStorage.setItem("inherenForm", JSON.stringify(inherenForm));
}
}
//保存
let data = this.layoutData;
......@@ -757,7 +761,8 @@ export default {
}
.north {
position: fixed;
/* position: fixed; */
position: absolute;
display: inline-block;
top: 1.5rem;
right: 0.5rem;
......
......@@ -5,7 +5,7 @@
</van-sticky>
<!-- tab标签 -->
<template v-if="tabs.length">
<van-tabs v-model="active" color="#2980f7" animated @click="tabClick" :sticky="true" offset-top="1.5rem">
<van-tabs v-model="active" color="#2980f7" animated @change="tabClick" :sticky="true" offset-top="1.5rem">
<van-tab v-for="(i, key) in tabs" :key="key" :title="i.title">
<!-- 内容列表 -->
<div class="con-list">
......@@ -143,6 +143,9 @@ export default {
this.loadingTabs()
},
methods: {
tabClick() {
this.showIndex = null;
},
loadingTabs() {
getFun("/risk/currentRiskPatrolDetail/detailList", { projectId: this.id, patrolId: this.$route.query.patrolId }).then(res => {
const tabs = new Set(res.rows.map(x => x.type));
......
......@@ -3,218 +3,84 @@
<LHeader :text="text"></LHeader>
<van-tabs v-model="active" @change="tabList" color="#2980f7" animated>
<van-tab title="固有风险信息">
<van-form
@submit="onSubmit"
:scroll-to-error="true"
:show-error="false"
validate-trigger="onSubmit"
>
<div
style="
<van-form @submit="onSubmit" :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%)"
/>
">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative; top: 32%; transform: translateY(-50%)" />
固有风险信息
</div>
<van-field
readonly
required
name="userName"
:value="form.userName"
label="评估人"
placeholder="请输入"
/>
<van-field
readonly
required
name="projectName"
:value="form.projectName"
label="所属项目"
placeholder="请输入"
/>
<van-field
readonly
required
name="buildingName"
:value="form.buildingName"
label="所属建筑物"
placeholder="请输入 "
/>
<van-field readonly required name="userName" :value="form.userName" label="评估人" placeholder="请输入" />
<van-field readonly required name="projectName" :value="form.projectName" label="所属项目" placeholder="请输入" />
<van-field readonly required name="buildingName" :value="form.buildingName" label="所属建筑物" placeholder="请输入 " />
<div style="display: flex">
<van-field
required
clickable
name="floorName"
:value="form.floorName"
label="所属楼层"
placeholder="请选择"
@click="seletFloor('floor')"
:rules="[{ required: true, message: '所属楼层不能为空' }]"
/>
<van-button
style="color: #cccc; background-color: #f0f1f5"
icon="plus"
type="info"
native-type="button"
@click="createFloor"
/>
<van-field required clickable name="floorName" :value="form.floorName" label="所属楼层" placeholder="请选择"
@click="seletFloor('floor')" :rules="[{ required: true, message: '所属楼层不能为空' }]" />
<van-button style="color: #cccc; background-color: #f0f1f5" icon="plus" type="info" native-type="button"
@click="createFloor" />
</div>
<div style="display: flex">
<van-field
readonly
required
name="roomName"
:value="form.roomName"
label="所属房间"
placeholder="请输入"
@click="seletRoom('room')"
:rules="[{ required: true, message: '所属房间不能为空' }]"
/>
<van-button
style="color: #cccc; background-color: #f0f1f5"
icon="plus"
type="info"
native-type="button"
@click="tjfjClcik"
/>
<van-field readonly required name="roomName" :value="form.roomName" label="所属房间" placeholder="请输入"
@click="seletRoom('room')" :rules="[{ required: true, message: '所属房间不能为空' }]" />
<van-button style="color: #cccc; background-color: #f0f1f5" icon="plus" type="info" native-type="button"
@click="tjfjClcik" />
</div>
<van-field
required
clickable
name="name"
v-model="form.name"
label="危险源名称"
placeholder="请输入"
:rules="[{ required: true, message: '危险源名称不能为空' }]"
/>
<van-field required clickable name="name" v-model="form.name" label="危险源名称" placeholder="请输入"
:rules="[{ required: true, message: '危险源名称不能为空' }]" />
<!-- 单选 -->
<van-field
readonly
required
clickable
name="pointType"
v-model="form.pointType"
label="风险点类型"
placeholder="请选择"
@click="selectData('pointType', true)"
:rules="[{ required: true, message: '风险点类型不能为空' }]"
/>
<van-field
required
label="是否为特种设备"
v-show="form.pointType == '设备设施类'"
>
<van-field readonly required clickable name="pointType" v-model="form.pointType" label="风险点类型" placeholder="请选择"
@click="selectData('pointType', true)" :rules="[{ required: true, message: '风险点类型不能为空' }]" />
<van-field required label="是否为特种设备" v-show="form.pointType == '设备设施类'">
<template #input>
<van-radio-group
v-model="form.specialEquipment"
direction="horizontal"
>
<van-radio-group v-model="form.specialEquipment" direction="horizontal">
<van-radio :name="true"></van-radio>
<van-radio :name="false"></van-radio>
</van-radio-group>
</template>
</van-field>
<van-field
v-if="form.specialEquipment == true"
clickable
name="pointType"
v-model="form.equipmentNumber"
label="特种设备的证书号码"
placeholder="请选择"
/>
<van-field v-if="form.specialEquipment == true" clickable name="pointType" v-model="form.equipmentNumber"
label="特种设备的证书号码" placeholder="请选择" />
<!-- 多选 -->
<van-field
v-model="form.safetyWarningSigns"
readonly
required
name="safetyWarningSigns"
label="安全警示标志"
placeholder="请选择"
@click="selectData('safetyWarningSigns', false)"
:rules="[{ required: true, message: '安全警示标志不能为空' }]"
/>
<van-field
v-model="form.factor"
readonly
required
name="factor"
label="风险因素"
placeholder="请选择"
@click="selectData('factor', false)"
:rules="[{ required: true, message: '风险因素不能为空' }]"
/>
<van-field v-model="form.safetyWarningSigns" readonly required name="safetyWarningSigns" label="安全警示标志"
placeholder="请选择" @click="selectData('safetyWarningSigns', false)"
:rules="[{ required: true, message: '安全警示标志不能为空' }]" />
<van-field v-model="form.factor" readonly required name="factor" label="风险因素" placeholder="请选择"
@click="selectData('factor', false)" :rules="[{ required: true, message: '风险因素不能为空' }]" />
<van-field
readonly
v-model="form.type"
required
name="type"
label="准事故类型"
placeholder="请选择"
@click="selectData('type', false)"
:rules="[{ required: true, message: '准事故类型不能为空' }]"
/>
<van-field readonly v-model="form.type" required name="type" label="准事故类型" placeholder="请选择"
@click="selectData('type', false)" :rules="[{ required: true, message: '准事故类型不能为空' }]" />
<van-field
readonly
v-model="form.level"
required
name="level"
label="风险等级"
placeholder="请选择"
@click="seletGrade"
:rules="[{ required: true, message: '风险等级不能为空' }]"
/>
<van-field readonly v-model="form.level" required name="level" label="风险等级" placeholder="请选择"
@click="seletGrade" :rules="[{ required: true, message: '风险等级不能为空' }]" />
<!-- <van-field readonly v-model="form.level" required name="level" label="风险等级" placeholder="请选择"
@click="seletGrade('level')" :rules="[{ required: true, message: '风险等级不能为空' }]" /> -->
<van-field
required
name="presenceLocation"
v-model="form.presenceLocation"
label="存在部位"
placeholder="请输入"
:rules="[{ required: true, message: '存在部位不能为空' }]"
/>
<van-field required name="presenceLocation" v-model="form.presenceLocation" label="存在部位" placeholder="请输入"
:rules="[{ required: true, message: '存在部位不能为空' }]" />
<div
style="
<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%)"
/>
">
<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
@delete="deleteFile(...arguments, 'pictureFile')"
multiple
:max-count="5"
upload-text="最多上传五个"
v-model="uploaderImg"
>
<van-uploader @delete="deleteFile(...arguments, 'pictureFile')" multiple :max-count="5" upload-text="最多上传五个"
v-model="uploaderImg">
<template slot="default">
<!-- 11111111111 -->
<div
style="
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
......@@ -222,61 +88,36 @@
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src="@/assets/upload/pic.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
">
<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="
<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%)"
/>
">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative; top: 32%; transform: translateY(-50%)" />
应采取的管控措施
</div>
<van-field label="技术措施">
<template #input>
<van-field
v-model="form.measuresProject"
name="measuresProject"
label=""
type="textarea"
rows="3"
autosize
placeholder="请输入"
style="padding-left: 0; padding-top: 0"
/>
<van-field v-model="form.measuresProject" name="measuresProject" label="" type="textarea" rows="3" autosize
placeholder="请输入" style="padding-left: 0; padding-top: 0" />
</template>
</van-field>
<van-field name="measuresProjectFile[]" label="技术措施附件">
<template #input>
<van-uploader
multiple
:max-count="5"
upload-text="最多上传五个"
v-model="measuresProjectFile"
accept="file"
@delete="deleteFile(...arguments, 'measuresProjectFile')"
>
<van-uploader multiple :max-count="5" upload-text="最多上传五个" v-model="measuresProjectFile" accept="file"
@delete="deleteFile(...arguments, 'measuresProjectFile')">
<template slot="default">
<div
style="
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
......@@ -284,13 +125,8 @@
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src="@/assets/upload/file.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
......@@ -299,31 +135,16 @@
</van-field>
<van-field label="管理措施">
<template #input>
<van-field
v-model="form.measuresAdministration"
name="measuresAdministration"
label=""
type="textarea"
rows="3"
autosize
placeholder="请输入"
style="padding-left: 0; padding-top: 0"
/>
<van-field v-model="form.measuresAdministration" name="measuresAdministration" label="" type="textarea"
rows="3" autosize placeholder="请输入" style="padding-left: 0; padding-top: 0" />
</template>
</van-field>
<van-field name="measuresAdministrationFile[]" label="管理措施附件">
<template #input>
<van-uploader
multiple
:max-count="5"
upload-text="最多上传五个"
v-model="measuresAdministrationFile"
accept="file"
@delete="deleteFile(...arguments, 'measuresAdministrationFile')"
>
<van-uploader multiple :max-count="5" upload-text="最多上传五个" v-model="measuresAdministrationFile"
accept="file" @delete="deleteFile(...arguments, 'measuresAdministrationFile')">
<template slot="default">
<div
style="
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
......@@ -331,13 +152,8 @@
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src="@/assets/upload/file.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
......@@ -346,32 +162,17 @@
</van-field>
<van-field label="应急措施">
<template #input>
<van-field
v-model="form.measuresEmergency"
name="measuresEmergency"
label=""
type="textarea"
rows="3"
autosize
placeholder="请输入"
style="padding-left: 0; padding-top: 0"
/>
<van-field v-model="form.measuresEmergency" name="measuresEmergency" label="" type="textarea" rows="3"
autosize placeholder="请输入" style="padding-left: 0; padding-top: 0" />
</template>
</van-field>
<van-field name="measuresEmergencyFile[]" label="应急措施附件">
<template #input>
<van-uploader
multiple
:max-count="5"
upload-text="最多上传五个"
v-model="measuresEmergencyFile"
accept="file"
@delete="deleteFile(...arguments, 'measuresEmergencyFile')"
>
<van-uploader multiple :max-count="5" upload-text="最多上传五个" v-model="measuresEmergencyFile" accept="file"
@delete="deleteFile(...arguments, 'measuresEmergencyFile')">
<template slot="default">
<!-- 11111111111 -->
<div
style="
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
......@@ -379,13 +180,8 @@
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src="@/assets/upload/file.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
......@@ -393,66 +189,27 @@
</template>
</van-field>
<van-field
v-model="form.measuresDeptName"
name="measuresDeptName"
label="管控责任单位 "
type="input"
rows="1"
autosize
placeholder="请输入"
list="measure-deptname"
@input="measuresDeptNameChange"
/>
<van-field v-model="form.measuresDeptName" name="measuresDeptName" label="管控责任单位 " type="input" rows="1"
autosize placeholder="请输入" list="measure-deptname" @input="measuresDeptNameChange" />
<datalist id="measure-deptname">
<option
:value="item.measuresDeptName"
v-for="item in measureDeptList"
:key="item.measuresDeptName"
></option>
<option :value="item.measuresDeptName" v-for="item in measureDeptList" :key="item.measuresDeptName"></option>
</datalist>
<van-field
v-model="form.measuresUserName"
name="measuresUserName"
label="管控责任人 "
type="input"
rows="1"
autosize
placeholder="请输入"
list="measure-name"
@input="measuresUserNameChange"
/>
<van-field v-model="form.measuresUserName" name="measuresUserName" label="管控责任人 " type="input" rows="1" autosize
placeholder="请输入" list="measure-name" @input="measuresUserNameChange" />
<datalist id="measure-name">
<option
v-for="item in measureNameList"
:key="item.measuresUserName"
:value="item.measuresUserName"
></option>
<option v-for="item in measureNameList" :key="item.measuresUserName" :value="item.measuresUserName"></option>
</datalist>
<van-field
v-model="form.measuresUserPhone"
name="measuresUserPhone"
label="管控责任人联系方式"
type="input"
rows="1"
autosize
placeholder="请输入"
maxlength="11"
/>
<van-field v-model="form.measuresUserPhone" name="measuresUserPhone" label="管控责任人联系方式" type="input" rows="1"
autosize placeholder="请输入" maxlength="11" />
<div
style="
<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%)"
/>
">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative; top: 32%; transform: translateY(-50%)" />
重大危险源管理
</div>
......@@ -463,70 +220,33 @@
<span style="margin-left: 10px; color: green"></span>
</template>
</van-field>
<van-field
:disabled="!form.majorHazardSource"
v-model="form.hazardSourceName"
:required="form.majorHazardSource"
name="hazardSourceName"
label="危险源名称 "
type="textarea"
rows="1"
autosize
placeholder="请输入"
:key="form.majorHazardSource + '123'"
:rules="
form.majorHazardSource
? [{ required: true, message: '危险源名称不能为空' }]
: []
"
/>
<van-field
label="重大危险源描述"
:disabled="!form.majorHazardSource"
:required="form.majorHazardSource"
>
<van-field :disabled="!form.majorHazardSource" v-model="form.hazardSourceName"
:required="form.majorHazardSource" name="hazardSourceName" label="危险源名称 " type="textarea" rows="1" autosize
placeholder="请输入" :key="form.majorHazardSource + '123'" :rules="form.majorHazardSource
? [{ required: true, message: '危险源名称不能为空' }]
: []
" />
<van-field label="重大危险源描述" :disabled="!form.majorHazardSource" :required="form.majorHazardSource">
<template #input>
<van-field
:disabled="!form.majorHazardSource"
v-model="form.majorHazardSourceDescription"
name="majorHazardSourceDescription"
type="textarea"
rows="3"
autosize
placeholder="请输入"
:key="form.majorHazardSource + '456'"
:rules="
form.majorHazardSource
? [{ required: true, message: '重大危险源描述不能为空' }]
: []
"
style="padding-left: 0; padding-top: 0"
/>
<van-field :disabled="!form.majorHazardSource" v-model="form.majorHazardSourceDescription"
name="majorHazardSourceDescription" type="textarea" rows="3" autosize placeholder="请输入"
:key="form.majorHazardSource + '456'" :rules="form.majorHazardSource
? [{ required: true, message: '重大危险源描述不能为空' }]
: []
" style="padding-left: 0; padding-top: 0" />
</template>
</van-field>
<van-field
:disabled="!form.majorHazardSource"
:required="form.majorHazardSource"
readonly
clickable
name="referenceBasis"
:value="form.referenceBasis == 'null' ? '' : form.referenceBasis"
label="判断依据"
placeholder="请选择"
:key="form.majorHazardSource + '789'"
:rules="
form.majorHazardSource
? [{ required: true, message: '判断依据不能为空' }]
: []
"
@click="
() => {
if (form.majorHazardSource) {
selectData('referenceBasis', false);
}
}
"
/>
<van-field :disabled="!form.majorHazardSource" :required="form.majorHazardSource" readonly clickable
name="referenceBasis" :value="form.referenceBasis == 'null' ? '' : form.referenceBasis" label="判断依据"
placeholder="请选择" :key="form.majorHazardSource + '789'" :rules="form.majorHazardSource
? [{ required: true, message: '判断依据不能为空' }]
: []
" @click="() => {
if (form.majorHazardSource) {
selectData('referenceBasis', false);
}
}
" />
<!-- <div
style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
......@@ -538,214 +258,95 @@
判断依据
</div> -->
<van-dialog
v-model="showGradeDialog"
title="风险评测配置"
:show-cancel-button="false"
:show-confirm-button="false"
>
<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-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"
>
<van-popover v-model="showPopover" trigger="click" :actions="columnsRiskRank" @select="onSelect">
<template #reference>
<van-field
v-model="possibleValue"
readonly
required
name="level"
label="发生的可能性"
placeholder="请选择"
/>
<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"
>
<van-popover v-model="showPopoveSetRank" trigger="click" :actions="columnsSetRank"
@select="onSelectSetRank">
<template #reference>
<van-field
v-model="severityValue"
readonly
required
name="level"
label="后果严重程度"
placeholder="请选择"
/>
<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
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-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>
<!-- 楼层弹出层 -->
<van-popup
v-model="ShowfloorList"
position="bottom"
:style="{ height: '100%' }"
>
<selectFloor
v-if="ShowfloorList"
:listdata="floorSource"
@closeSlect="closeSlectfloor"
@saveSlect="saveSlectfloor"
></selectFloor>
<van-popup v-model="ShowfloorList" position="bottom" :style="{ height: '100%' }">
<selectFloor v-if="ShowfloorList" :listdata="floorSource" @closeSlect="closeSlectfloor"
@saveSlect="saveSlectfloor"></selectFloor>
</van-popup>
<!-- 单选弹出层 -->
<van-popup v-model="showSelect" position="bottom">
<van-picker
v-if="showSelect"
show-toolbar
value-key="dictValue"
:columns="columnsData"
@confirm="saveSelect"
@cancel="showSelect = false"
/>
<van-picker v-if="showSelect" show-toolbar value-key="dictValue" :columns="columnsData" @confirm="saveSelect"
@cancel="showSelect = false" />
</van-popup>
<!-- 复选弹出层 -->
<van-popup
v-model="showCheckSelect"
position="bottom"
:style="{ height: '100%' }"
>
<selectList
v-if="showCheckSelect"
:listdata="columnsCheckData"
@closeSlect="showCheckSelect = false"
@saveSlect="saveCheckSelect"
></selectList>
<van-popup v-model="showCheckSelect" position="bottom" :style="{ height: '100%' }">
<selectList v-if="showCheckSelect" :listdata="columnsCheckData" @closeSlect="showCheckSelect = false"
@saveSlect="saveCheckSelect"></selectList>
</van-popup>
<!-- 房间弹出层 -->
<van-popup v-model="showSource" position="bottom">
<van-picker
v-if="showSource"
show-toolbar
value-key="name"
:columns="columnsSource"
@confirm="onConSource"
@cancel="showSource = false"
/>
<van-picker v-if="showSource" show-toolbar value-key="name" :columns="columnsSource" @confirm="onConSource"
@cancel="showSource = false" />
</van-popup>
<!-- 管控责任单位 -->
<van-popup
v-model="measuresDept"
position="bottom"
:style="{ height: '100%' }"
>
<div
class="van-picker__toolbar"
style="position: absolute; width: 100%; top: 0"
>
<button
type="button"
class="van-picker__cancel"
v-on:click="
{
form.measuresDeptId = 0;
projectDept = false;
}
"
>
取消</button
><button
type="button"
class="van-picker__confirm"
@click="closeDept"
>
<van-popup v-model="measuresDept" position="bottom" :style="{ height: '100%' }">
<div class="van-picker__toolbar" style="position: absolute; width: 100%; top: 0">
<button type="button" class="van-picker__cancel" v-on:click="
{
form.measuresDeptId = 0;
projectDept = false;
}
">
取消</button><button type="button" class="van-picker__confirm" @click="closeDept">
确认
</button>
</div>
<div style="display: flex; margin-top: 44px">
<selectDept
v-if="measuresDept"
@changeDept="changeDept"
></selectDept>
<selectDept v-if="measuresDept" @changeDept="changeDept"></selectDept>
</div>
</van-popup>
<!-- 管控责任人 -->
<van-popup v-model="showTrouble" position="bottom">
<van-picker
show-toolbar
value-key="nickName"
:columns="columnsTrouble"
@confirm="onConTrouble"
@cancel="showTrouble = false"
/>
<van-picker show-toolbar value-key="nickName" :columns="columnsTrouble" @confirm="onConTrouble"
@cancel="showTrouble = false" />
</van-popup>
<div style="margin: 16px 16px 0">
<van-button
round
block
type="info"
@click="onSubmit('save', $event)"
>保存</van-button
>
<van-button round block type="info" @click="onSubmit('save', $event)">保存</van-button>
</div>
<div style="margin: 16px 16px 0">
<van-button
:loading="loadingStatus"
:loading-text="loadingText"
round
block
type="info"
native-type="submit"
>提交</van-button
>
<van-button :loading="loadingStatus" :loading-text="loadingText" round block type="info"
native-type="submit">提交</van-button>
</div>
</van-form>
<div style="margin: 10px 16px 0px; padding-bottom: 16px">
<van-button round block type="warning" @click.native="cancel"
>取消</van-button
>
<van-button round block type="warning" @click.native="cancel">取消</van-button>
</div>
</van-tab>
<van-tab title="现状风险">
<div class="con-list">
<van-cell-group
inset
v-for="(item, index) in messageList"
@click="touchstart(index, item)"
:key="item.id"
>
<van-cell-group inset v-for="(item, index) in messageList" @click="touchstart(index, item)" :key="item.id">
<div style="font-size: 0.45rem; padding: 5px 0">
{{ item.name }}
</div>
......@@ -772,34 +373,25 @@
</van-row>
<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="danger" @click="delInherent(item)"
>删除</van-button
>
<van-button round type="primary" @click="goDetail(item)">编辑</van-button>
<van-button round type="danger" @click="delInherent(item)">删除</van-button>
</div>
</van-overlay>
</van-cell-group>
<div
style="
<div style="
width: 100%;
text-align: center;
font-size: 0.48rem;
position: fixed;
top: 30%;
"
v-if="messageList['length'] == 0"
>
" v-if="messageList['length'] == 0">
暂无数据
</div>
</div>
</van-tab>
</van-tabs>
<div
v-if="active != 0"
style="
<div v-if="active != 0" style="
display: flex;
justify-content: space-around;
background-color: #fff;
......@@ -809,85 +401,43 @@
text-align: center;
position: fixed;
bottom: 0;
"
>
<div
@click="performTasks"
style="color: #4bced0; font-size: 14px; font-weight: 600"
>
">
<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>
</div>
<!-- 楼层弹出层 -->
<van-popup
v-model="ShowfloorList"
position="bottom"
:style="{ height: '100%' }"
>
<selectFloor
:listdata="floorSource"
@closeSlect="closeSlectfloor"
@saveSlect="saveSlectfloor"
></selectFloor>
<van-popup v-model="ShowfloorList" position="bottom" :style="{ height: '100%' }">
<selectFloor :listdata="floorSource" @closeSlect="closeSlectfloor" @saveSlect="saveSlectfloor"></selectFloor>
</van-popup>
<!-- 单选弹出层 -->
<van-popup v-model="showSelect" position="bottom">
<van-picker
show-toolbar
value-key="dictValue"
:columns="columnsData"
@confirm="saveSelect"
@cancel="showSelect = false"
/>
<van-picker show-toolbar value-key="dictValue" :columns="columnsData" @confirm="saveSelect"
@cancel="showSelect = false" />
</van-popup>
<!-- 复选弹出层 -->
<van-popup
v-model="showCheckSelect"
position="bottom"
:style="{ height: '100%' }"
>
<selectList
v-if="showCheckSelect"
:listdata="columnsCheckData"
@closeSlect="showCheckSelect = false"
@saveSlect="saveCheckSelect"
></selectList>
<van-popup v-model="showCheckSelect" position="bottom" :style="{ height: '100%' }">
<selectList v-if="showCheckSelect" :listdata="columnsCheckData" @closeSlect="showCheckSelect = false"
@saveSlect="saveCheckSelect"></selectList>
</van-popup>
<!-- 房间弹出层 -->
<van-popup v-model="showSource" position="bottom">
<van-picker
show-toolbar
value-key="name"
:columns="columnsSource"
@confirm="onConSource"
@cancel="showSource = false"
/>
<van-picker show-toolbar value-key="name" :columns="columnsSource" @confirm="onConSource"
@cancel="showSource = false" />
</van-popup>
<!-- 管控责任单位 -->
<van-popup
v-model="measuresDept"
position="bottom"
:style="{ height: '100%' }"
>
<div
class="van-picker__toolbar"
style="position: absolute; width: 100%; top: 0"
>
<button
type="button"
class="van-picker__cancel"
v-on:click="
{
form.measuresDeptId = 0;
projectDept = false;
}
"
>
取消</button
><button type="button" class="van-picker__confirm" @click="closeDept">
<van-popup v-model="measuresDept" position="bottom" :style="{ height: '100%' }">
<div class="van-picker__toolbar" style="position: absolute; width: 100%; top: 0">
<button type="button" class="van-picker__cancel" v-on:click="
{
form.measuresDeptId = 0;
projectDept = false;
}
">
取消</button><button type="button" class="van-picker__confirm" @click="closeDept">
确认
</button>
</div>
......@@ -900,13 +450,8 @@
</div>
<!-- 管控责任人 -->
<van-popup v-model="showTrouble" position="bottom">
<van-picker
show-toolbar
value-key="nickName"
:columns="columnsTrouble"
@confirm="onConTrouble"
@cancel="showTrouble = false"
/>
<van-picker show-toolbar value-key="nickName" :columns="columnsTrouble" @confirm="onConTrouble"
@cancel="showTrouble = false" />
</van-popup>
</div>
</template>
......@@ -990,7 +535,9 @@ export default {
id: "",
isTimely: 1,
active: 0,
form: {},
form: {
buildingId: ""
},
projectId: "", // 所属工程
projectName: "", // 所属工程
projectDirectorName: "", // 所属工程
......@@ -1061,6 +608,9 @@ export default {
}
},
mounted() {
if (sessionStorage.getItem("buildingId")) {
this.form.buildingId = sessionStorage.getItem("buildingId");
}
if (sessionStorage.getItem("inherenForm") != "") {
this.form = JSON.parse(sessionStorage.getItem("inherenForm"));
this.form.level = sessionStorage.getItem("level");
......@@ -1422,7 +972,6 @@ export default {
},
// 点击预览图
clickPre(e) {
console.log(e);
if (e.filePath) {
this.videoUrl = e.filePath;
} else {
......
<!-- 新建项目/新建楼宇-->
<template>
<div class="project-component">
<LHeader text="新增楼层" :customBack="toCancel"></LHeader>
<van-form
@submit="onSubmit"
:scroll-to-error="true"
:show-error="false"
validate-trigger="onSubmit"
>
<van-form @submit="onSubmit" :scroll-to-error="true" :show-error="false" validate-trigger="onSubmit">
<van-field
label="楼层"
required
:rules="[{ required: true, message: '请填写楼层名称' }]"
>
<template #input>
<van-radio-group v-model="form.type" direction="horizontal">
<van-radio name="地上">地上</van-radio>
<van-radio name="地下">地下</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field
label="楼层名称"
v-model="form.name"
required
:rules="[{ required: true, message: '请填写楼层名称' }]"
><template #right-icon><span></span></template></van-field>
<van-field label="楼层" required :rules="[{ required: true, message: '请填写楼层名称' }]">
<template #input>
<van-radio-group v-model="form.type" direction="horizontal">
<van-radio name="地上">地上</van-radio>
<van-radio name="地下">地下</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field label="楼层名称" v-model="form.name" required :rules="[{ required: true, message: '请填写楼层名称' }]"><template
#right-icon><span></span></template></van-field>
<div class="action-btns">
<van-button
class="confirm-btn"
:loading="loadingStatus"
:loading-text="loadingText"
round
block
type="info"
native-type="submit"
>
<van-button class="confirm-btn" :loading="loadingStatus" :loading-text="loadingText" round block type="info"
native-type="submit">
保存
</van-button>
......@@ -54,7 +33,6 @@
</van-form>
</div>
</template>
<script>
......@@ -65,11 +43,11 @@ export default {
LHeader,
},
props: {
buildingId:{
type:Number,
buildingId: {
type: String,
}
},
destroyed(){
destroyed() {
this.toCancel()
},
data() {
......@@ -80,26 +58,27 @@ export default {
};
},
methods: {
toCancel(data=null){
this.$emit('close',data)
toCancel(data = null) {
this.$emit('close', data)
},
onSubmit(values){
if(!this.buildingId){
return;
}
this.form.buildingId = this.buildingId
this.form.name = this.form.name+''
postFun('/risk/plan/floor', this.form)
onSubmit(values) {
console.log(this.buildingId)
if (!this.buildingId) {
return;
}
this.form.buildingId = this.buildingId
this.form.name = this.form.name + ''
postFun('/risk/plan/floor', this.form)
.then(res => {
this.$toast.clear();
this.$toast.success({
message: "提交成功",
duration: 2000
});
this.toCancel(res.data)
this.toCancel(res.data)
})
.catch(() => {
this.$emit('close')
this.$emit('close')
});
}
}
......@@ -107,7 +86,6 @@ export default {
</script>
<style lang="less" scoped>
.project-component {
position: fixed;
width: 100vw;
......@@ -116,16 +94,19 @@ export default {
left: 0;
z-index: 100;
background: #fff;
.van-form{
.van-form {
height: calc(100vh - 1.6rem);
overflow: auto;
}
.action-btns {
margin-top: 1rem;
padding: 0 0.5rem;
.cancel-btn {
margin-top: 0.3rem;
}
}
.action-btns {
margin-top: 1rem;
padding: 0 0.5rem;
.cancel-btn {
margin-top: 0.3rem;
}
}
}
</style>
......@@ -3,219 +3,83 @@
<LHeader :text="text">
<span slot="right" @click="toImport">导入</span>
</LHeader>
<van-form
@submit="onSubmit"
:scroll-to-error="true"
:show-error="false"
validate-trigger="onSubmit"
ref="formEle"
>
<div
style="
<van-form @submit="onSubmit" :scroll-to-error="true" :show-error="false" validate-trigger="onSubmit" ref="formEle">
<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%)"
/>
">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative; top: 32%; transform: translateY(-50%)" />
固有风险信息
</div>
<van-field
readonly
required
name="userName"
:value="form.userName"
label="评估人"
placeholder="请输入"
/>
<van-field
readonly
required
name="projectName"
:value="form.projectName"
label="所属项目"
placeholder="请输入"
/>
<van-field
readonly
required
name="buildingName"
:value="form.buildingName"
label="所属建筑物"
placeholder="请输入 "
/>
<van-field readonly required name="userName" :value="form.userName" label="评估人" placeholder="请输入" />
<van-field readonly required name="projectName" :value="form.projectName" label="所属项目" placeholder="请输入" />
<van-field readonly required name="buildingName" :value="form.buildingName" label="所属建筑物" placeholder="请输入 " />
<div style="display: flex">
<van-field
required
clickable
name="floorName"
:value="form.floorName"
label="所属楼层"
placeholder="请选择"
@click="seletFloor('floor')"
:rules="[{ required: true, message: '所属楼层不能为空' }]"
/>
<van-button
style="color: #cccc; background-color: #f0f1f5"
icon="plus"
type="info"
native-type="button"
@click="isFloor = true"
/>
<van-field required clickable name="floorName" :value="form.floorName" label="所属楼层" placeholder="请选择"
@click="seletFloor('floor')" :rules="[{ required: true, message: '所属楼层不能为空' }]" />
<van-button style="color: #cccc; background-color: #f0f1f5" icon="plus" type="info" native-type="button"
@click="isFloor = true" />
</div>
<div style="display: flex">
<van-field
readonly
required
name="roomName"
:value="form.roomName"
label="所属房间"
placeholder="请输入"
@click="seletRoom('room')"
:rules="[{ required: true, message: '所属房间不能为空' }]"
/>
<van-button
style="color: #cccc; background-color: #f0f1f5"
icon="plus"
type="info"
native-type="button"
@click="tjfjClcik"
/>
<van-field readonly required name="roomName" :value="form.roomName" label="所属房间" placeholder="请输入"
@click="seletRoom('room')" :rules="[{ required: true, message: '所属房间不能为空' }]" />
<van-button style="color: #cccc; background-color: #f0f1f5" icon="plus" type="info" native-type="button"
@click="tjfjClcik" />
</div>
<van-field
required
clickable
name="name"
v-model="form.name"
label="危险源名称"
placeholder="请输入"
:rules="[{ required: true, message: '危险源名称不能为空' }]"
/>
<van-field required clickable name="name" v-model="form.name" label="危险源名称" placeholder="请输入"
:rules="[{ required: true, message: '危险源名称不能为空' }]" />
<!-- 单选 -->
<van-field
readonly
required
clickable
name="pointType"
v-model="form.pointType"
label="风险点类型"
placeholder="请选择"
@click="selectData('pointType', true)"
:rules="[{ required: true, message: '风险点类型不能为空' }]"
/>
<van-field
required
label="是否为特种设备"
v-show="form.pointType == '设备设施类'"
>
<van-field readonly required clickable name="pointType" v-model="form.pointType" label="风险点类型" placeholder="请选择"
@click="selectData('pointType', true)" :rules="[{ required: true, message: '风险点类型不能为空' }]" />
<van-field required label="是否为特种设备" v-show="form.pointType == '设备设施类'">
<template #input>
<van-radio-group
v-model="form.specialEquipment"
direction="horizontal"
>
<van-radio-group v-model="form.specialEquipment" direction="horizontal">
<van-radio :name="true"></van-radio>
<van-radio :name="false"></van-radio>
</van-radio-group>
</template>
</van-field>
<van-field
v-if="form.specialEquipment == true"
clickable
name="pointType"
v-model="form.equipmentNumber"
label="特种设备的证书号码"
placeholder="请选择"
/>
<van-field v-if="form.specialEquipment == true" clickable name="pointType" v-model="form.equipmentNumber"
label="特种设备的证书号码" placeholder="请选择" />
<!-- 多选 -->
<van-field
v-model="form.safetyWarningSigns"
readonly
required
name="safetyWarningSigns"
label="安全警示标志"
placeholder="请选择"
@click="selectData('safetyWarningSigns', false)"
:rules="[{ required: true, message: '安全警示标志不能为空' }]"
/>
<van-field
v-model="form.factor"
readonly
required
name="factor"
label="风险因素"
placeholder="请选择"
@click="selectData('factor', false)"
:rules="[{ required: true, message: '风险因素不能为空' }]"
/>
<van-field v-model="form.safetyWarningSigns" readonly required name="safetyWarningSigns" label="安全警示标志"
placeholder="请选择" @click="selectData('safetyWarningSigns', false)"
:rules="[{ required: true, message: '安全警示标志不能为空' }]" />
<van-field v-model="form.factor" readonly required name="factor" label="风险因素" placeholder="请选择"
@click="selectData('factor', false)" :rules="[{ required: true, message: '风险因素不能为空' }]" />
<van-field
readonly
v-model="form.type"
required
name="type"
label="准事故类型"
placeholder="请选择"
@click="selectData('type', false)"
:rules="[{ required: true, message: '准事故类型不能为空' }]"
/>
<van-field readonly v-model="form.type" required name="type" label="准事故类型" placeholder="请选择"
@click="selectData('type', false)" :rules="[{ required: true, message: '准事故类型不能为空' }]" />
<van-field
readonly
v-model="form.level"
required
name="level"
label="风险等级"
placeholder="请选择"
@click="seletGrade"
:rules="[{ required: true, message: '风险等级不能为空' }]"
/>
<van-field readonly v-model="form.level" required name="level" label="风险等级" placeholder="请选择" @click="seletGrade"
:rules="[{ required: true, message: '风险等级不能为空' }]" />
<!-- <van-field readonly v-model="form.level" required name="level" label="风险等级" placeholder="请选择"
@click="seletGrade('level')" :rules="[{ required: true, message: '风险等级不能为空' }]" /> -->
<van-field
required
name="presenceLocation"
v-model="form.presenceLocation"
label="存在部位"
placeholder="请输入"
:rules="[{ required: true, message: '存在部位不能为空' }]"
/>
<van-field required name="presenceLocation" v-model="form.presenceLocation" label="存在部位" placeholder="请输入"
:rules="[{ required: true, message: '存在部位不能为空' }]" />
<div
style="
<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%)"
/>
">
<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
@delete="deleteFile(...arguments, 'pictureFile')"
multiple
:max-count="5"
upload-text="最多上传五个"
v-model="uploaderImg"
>
<van-uploader @delete="deleteFile(...arguments, 'pictureFile')" multiple :max-count="5" upload-text="最多上传五个"
v-model="uploaderImg">
<template slot="default">
<div
style="
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
......@@ -223,61 +87,36 @@
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src="@/assets/upload/pic.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
">
<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="
<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%)"
/>
">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative; top: 32%; transform: translateY(-50%)" />
应采取的管控措施
</div>
<van-field label="技术措施">
<template #input>
<van-field
v-model="form.measuresProject"
name="measuresProject"
label=""
type="textarea"
rows="3"
autosize
placeholder="请输入"
style="padding-left: 0; padding-top: 0"
/>
<van-field v-model="form.measuresProject" name="measuresProject" label="" type="textarea" rows="3" autosize
placeholder="请输入" style="padding-left: 0; padding-top: 0" />
</template>
</van-field>
<van-field name="measuresProjectFile[]" label="技术措施附件">
<template #input>
<van-uploader
multiple
:max-count="5"
upload-text="最多上传五个"
v-model="measuresProjectFile"
accept="file"
@delete="deleteFile(...arguments, 'measuresProjectFile')"
>
<van-uploader multiple :max-count="5" upload-text="最多上传五个" v-model="measuresProjectFile" accept="file"
@delete="deleteFile(...arguments, 'measuresProjectFile')">
<template slot="default">
<div
style="
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
......@@ -285,13 +124,8 @@
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src="@/assets/upload/file.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
......@@ -300,31 +134,16 @@
</van-field>
<van-field label="管理措施">
<template #input>
<van-field
v-model="form.measuresAdministration"
name="measuresAdministration"
label=""
type="textarea"
rows="3"
autosize
placeholder="请输入"
style="padding-left: 0; padding-top: 0"
/>
<van-field v-model="form.measuresAdministration" name="measuresAdministration" label="" type="textarea" rows="3"
autosize placeholder="请输入" style="padding-left: 0; padding-top: 0" />
</template>
</van-field>
<van-field name="measuresAdministrationFile[]" label="管理措施附件">
<template #input>
<van-uploader
multiple
:max-count="5"
upload-text="最多上传五个"
v-model="measuresAdministrationFile"
accept="file"
@delete="deleteFile(...arguments, 'measuresAdministrationFile')"
>
<van-uploader multiple :max-count="5" upload-text="最多上传五个" v-model="measuresAdministrationFile" accept="file"
@delete="deleteFile(...arguments, 'measuresAdministrationFile')">
<template slot="default">
<div
style="
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
......@@ -332,13 +151,8 @@
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src="@/assets/upload/file.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
......@@ -347,32 +161,17 @@
</van-field>
<van-field label="应急措施">
<template #input>
<van-field
v-model="form.measuresEmergency"
name="measuresEmergency"
label=""
type="textarea"
rows="3"
autosize
placeholder="请输入"
style="padding-left: 0; padding-top: 0"
/>
<van-field v-model="form.measuresEmergency" name="measuresEmergency" label="" type="textarea" rows="3" autosize
placeholder="请输入" style="padding-left: 0; padding-top: 0" />
</template>
</van-field>
<van-field name="measuresEmergencyFile[]" label="应急措施附件">
<template #input>
<van-uploader
multiple
:max-count="5"
upload-text="最多上传五个"
v-model="measuresEmergencyFile"
accept="file"
@delete="deleteFile(...arguments, 'measuresEmergencyFile')"
>
<van-uploader multiple :max-count="5" upload-text="最多上传五个" v-model="measuresEmergencyFile" accept="file"
@delete="deleteFile(...arguments, 'measuresEmergencyFile')">
<template slot="default">
<!-- 11111111111 -->
<div
style="
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
......@@ -380,78 +179,34 @@
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src="@/assets/upload/file.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
">
<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>
<van-field
v-model="form.measuresDeptName"
name="measuresDeptName"
label="管控责任单位 "
type="input"
rows="1"
autosize
placeholder="请输入"
list="measure-deptname"
@input="measuresDeptNameChange"
/>
<van-field v-model="form.measuresDeptName" name="measuresDeptName" label="管控责任单位 " type="input" rows="1" autosize
placeholder="请输入" list="measure-deptname" @input="measuresDeptNameChange" />
<datalist id="measure-deptname">
<option
:value="item.measuresDeptName"
v-for="item in measureDeptList"
:key="item.measuresDeptName"
></option>
<option :value="item.measuresDeptName" v-for="item in measureDeptList" :key="item.measuresDeptName"></option>
</datalist>
<van-field
v-model="form.measuresUserName"
name="measuresUserName"
label="管控责任人 "
type="input"
rows="1"
autosize
placeholder="请输入"
list="measure-name"
@input="measuresUserNameChange"
/>
<van-field v-model="form.measuresUserName" name="measuresUserName" label="管控责任人 " type="input" rows="1" autosize
placeholder="请输入" list="measure-name" @input="measuresUserNameChange" />
<datalist id="measure-name">
<option
v-for="item in measureNameList"
:key="item.measuresUserName"
:value="item.measuresUserName"
></option>
<option v-for="item in measureNameList" :key="item.measuresUserName" :value="item.measuresUserName"></option>
</datalist>
<van-field
v-model="form.measuresUserPhone"
name="measuresUserPhone"
label="管控责任人联系方式"
type="input"
rows="1"
autosize
placeholder="请输入"
maxlength="11"
/>
<div
style="
<van-field v-model="form.measuresUserPhone" name="measuresUserPhone" label="管控责任人联系方式" type="input" rows="1"
autosize placeholder="请输入" maxlength="11" />
<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%)"
/>
">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative; top: 32%; transform: translateY(-50%)" />
重大危险源管理
</div>
......@@ -462,219 +217,93 @@
<span style="margin-left: 10px; color: green"></span>
</template>
</van-field>
<van-field
:disabled="!form.majorHazardSource"
v-model="form.hazardSourceName"
:required="form.majorHazardSource"
name="hazardSourceName"
label="危险源名称 "
type="textarea"
rows="1"
autosize
placeholder="请输入"
:key="form.majorHazardSource + '456'"
:rules="
form.majorHazardSource
? [{ required: true, message: '危险源名称不能为空' }]
: []
"
/>
<van-field
label="重大危险源描述"
:disabled="!form.majorHazardSource"
:required="form.majorHazardSource"
>
<van-field :disabled="!form.majorHazardSource" v-model="form.hazardSourceName" :required="form.majorHazardSource"
name="hazardSourceName" label="危险源名称 " type="textarea" rows="1" autosize placeholder="请输入"
:key="form.majorHazardSource + '456'" :rules="form.majorHazardSource
? [{ required: true, message: '危险源名称不能为空' }]
: []
" />
<van-field label="重大危险源描述" :disabled="!form.majorHazardSource" :required="form.majorHazardSource">
<template #input>
<van-field
:disabled="!form.majorHazardSource"
v-model="form.majorHazardSourceDescription"
name="majorHazardSourceDescription"
label=""
type="textarea"
rows="3"
autosize
placeholder="请输入"
:key="form.majorHazardSource + '123'"
:rules="
form.majorHazardSource
? [{ required: true, message: '重大危险源描述不能为空' }]
: []
"
style="padding-left: 0; padding-top: 0"
/>
<van-field :disabled="!form.majorHazardSource" v-model="form.majorHazardSourceDescription"
name="majorHazardSourceDescription" label="" type="textarea" rows="3" autosize placeholder="请输入"
:key="form.majorHazardSource + '123'" :rules="form.majorHazardSource
? [{ required: true, message: '重大危险源描述不能为空' }]
: []
" style="padding-left: 0; padding-top: 0" />
</template>
</van-field>
<van-field
:disabled="!form.majorHazardSource"
:required="form.majorHazardSource"
readonly
clickable
name="referenceBasis"
:value="form.referenceBasis == 'null' ? '' : form.referenceBasis"
label="判断依据"
placeholder="请选择"
:key="form.majorHazardSource + '7'"
:rules="
form.majorHazardSource
? [{ required: true, message: '判断依据不能为空' }]
: []
"
@click="
() => {
if (form.majorHazardSource) {
selectData('referenceBasis', false);
}
}
"
/>
<van-dialog
v-model="showGradeDialog"
title="风险评测配置"
:show-cancel-button="false"
:show-confirm-button="false"
>
<van-field :disabled="!form.majorHazardSource" :required="form.majorHazardSource" readonly clickable
name="referenceBasis" :value="form.referenceBasis == 'null' ? '' : form.referenceBasis" label="判断依据"
placeholder="请选择" :key="form.majorHazardSource + '7'" :rules="form.majorHazardSource
? [{ required: true, message: '判断依据不能为空' }]
: []
" @click="() => {
if (form.majorHazardSource) {
selectData('referenceBasis', false);
}
}
" />
<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-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"
>
<van-popover v-model="showPopover" trigger="click" :actions="columnsRiskRank" @select="onSelect">
<template #reference>
<van-field
v-model="possibleValue"
readonly
required
name="level"
label="发生的可能性"
placeholder="请选择"
/>
<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"
>
<van-popover v-model="showPopoveSetRank" trigger="click" :actions="columnsSetRank"
@select="onSelectSetRank">
<template #reference>
<van-field
v-model="severityValue"
readonly
required
name="level"
label="后果严重程度"
placeholder="请选择"
/>
<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
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-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>
<!-- 楼层弹出层 -->
<van-popup
v-model="ShowfloorList"
position="bottom"
:style="{ height: '100%' }"
>
<selectFloor
:listdata="floorSource"
@closeSlect="closeSlectfloor"
@saveSlect="saveSlectfloor"
></selectFloor>
<van-popup v-model="ShowfloorList" position="bottom" :style="{ height: '100%' }">
<selectFloor :listdata="floorSource" @closeSlect="closeSlectfloor" @saveSlect="saveSlectfloor"></selectFloor>
</van-popup>
<!-- 单选弹出层 -->
<van-popup v-model="showSelect" position="bottom">
<van-picker
show-toolbar
value-key="dictValue"
:columns="columnsData"
@confirm="saveSelect"
@cancel="showSelect = false"
/>
<van-picker show-toolbar value-key="dictValue" :columns="columnsData" @confirm="saveSelect"
@cancel="showSelect = false" />
</van-popup>
<!-- 复选弹出层 -->
<van-popup
v-model="showCheckSelect"
position="bottom"
:style="{ height: '100%' }"
>
<selectList
v-if="showCheckSelect"
:listdata="columnsCheckData"
@closeSlect="showCheckSelect = false"
@saveSlect="saveCheckSelect"
></selectList>
<van-popup v-model="showCheckSelect" position="bottom" :style="{ height: '100%' }">
<selectList v-if="showCheckSelect" :listdata="columnsCheckData" @closeSlect="showCheckSelect = false"
@saveSlect="saveCheckSelect"></selectList>
</van-popup>
<!-- 房间弹出层 -->
<van-popup v-model="showSource" position="bottom">
<van-picker
v-if="showSource"
show-toolbar
value-key="name"
:columns="columnsSource"
@confirm="onConSource"
@cancel="showSource = false"
/>
<van-picker v-if="showSource" show-toolbar value-key="name" :columns="columnsSource" @confirm="onConSource"
@cancel="showSource = false" />
</van-popup>
<!-- 管控责任单位 -->
<van-popup
v-model="measuresDept"
position="bottom"
:style="{ height: '100%' }"
>
<div
class="van-picker__toolbar"
style="position: absolute; width: 100%; top: 0"
>
<button
type="button"
class="van-picker__cancel"
v-on:click="
{
form.measuresDeptId = 0;
projectDept = false;
}
"
>
取消</button
><button type="button" class="van-picker__confirm" @click="closeDept">
<van-popup v-model="measuresDept" position="bottom" :style="{ height: '100%' }">
<div class="van-picker__toolbar" style="position: absolute; width: 100%; top: 0">
<button type="button" class="van-picker__cancel" v-on:click="
{
form.measuresDeptId = 0;
projectDept = false;
}
">
取消</button><button type="button" class="van-picker__confirm" @click="closeDept">
确认
</button>
</div>
......@@ -683,46 +312,24 @@
</div>
</van-popup>
<div v-if="isFloor">
<addFloor @close="closeFloor" :buildingId="form.buildingId" />
<addFloor @close="closeFloor" :buildingId="form.buildingIds" />
</div>
<!-- 管控责任人 -->
<van-popup v-model="showTrouble" position="bottom">
<van-picker
show-toolbar
value-key="nickName"
:columns="columnsTrouble"
@confirm="onConTrouble"
@cancel="showTrouble = false"
/>
<van-picker show-toolbar value-key="nickName" :columns="columnsTrouble" @confirm="onConTrouble"
@cancel="showTrouble = false" />
</van-popup>
<div style="margin: 16px 16px 0">
<van-button
:loading="loadingStatus"
:loading-text="loadingTextSave"
round
block
type="info"
@click="onSubmit('save', $event)"
>保存</van-button
>
<van-button :loading="loadingStatus" round block type="info" @click="onSubmit('save', $event)">保存</van-button>
</div>
<div style="margin: 16px 16px 0">
<van-button
:loading="loadingStatus"
:loading-text="loadingText"
round
block
type="info"
native-type="submit"
>提交</van-button
>
<van-button :loading="loadingStatus" :loading-text="loadingText" round block type="info"
native-type="submit">提交</van-button>
</div>
</van-form>
<div style="margin: 10px 16px 0px; padding-bottom: 16px">
<van-button round block type="warning" @click.native="cancel"
>取消</van-button
>
<van-button round block type="warning" @click.native="cancel">取消</van-button>
</div>
</div>
</template>
......@@ -754,19 +361,19 @@ export default {
this.taskId = this.$route.params.taskId;
this.postReturnEcho();
}
this.getList();
// this.getList();
this.$bus.$on("riskLevelBus", (res) => {
this.showSetRank = false; // 再次关闭弹出层 以防万一
console.log(Boolean(res));
if (res) {
this.riskRank = res;
} else {
this.setRank = "";
}
// 销毁一下监听事件 不然会越加越多
this.$bus.$off("riskLevelBus");
});
// this.$bus.$on("riskLevelBus", (res) => {
// this.showSetRank = false; // 再次关闭弹出层 以防万一
// console.log(Boolean(res));
// if (res) {
// this.riskRank = res;
// } else {
// this.setRank = "";
// }
// // 销毁一下监听事件 不然会越加越多
// this.$bus.$off("riskLevelBus");
// });
},
beforeRouteEnter(to, from, next) {
if (from.name == "riskInherent") {
......@@ -816,6 +423,8 @@ export default {
active: 0,
form: {
specialEquipment: "",
floorName: "",
floorId: ""
},
projectId: "", // 所属工程
projectName: "", // 所属工程
......@@ -876,13 +485,14 @@ export default {
};
},
created() {
console.log(this.$route)
var userInfo = getUserInfo();
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.buildingName = sessionStorage.getItem("buildingName") ||
this.$route.params.buildingName;
this.form.projectId = sessionStorage.getItem("projectId");
this.form.projectName = sessionStorage.getItem("projectName");
this.form.userId = userInfo.userId;
......@@ -943,6 +553,7 @@ export default {
const floors = [].concat(
this.floorSource.map((x) => x.children).flat()
);
const currentFloor = floors.find((x) => x.id === data);
if (currentFloor) {
this.saveSlectfloor(currentFloor);
......@@ -1131,7 +742,7 @@ export default {
});
},
//风险点
clickRiskDot() {},
clickRiskDot() { },
// //后果严重程度
// getConsequence(){
// getFun(`/risk/plan/matrix/${type}/list`).then(res=>{
......@@ -1168,11 +779,9 @@ export default {
});
},
performTasks() {
console.log("1233213 :>> ", 1233213);
},
// 点击预览图
clickPre(e) {
console.log(e);
if (e.filePath) {
this.videoUrl = e.filePath;
} else {
......@@ -1180,7 +789,6 @@ export default {
}
},
async deleteFile(val, detail, key) {
// console.log(val,detail)
if (val.fileId) {
let formdata = new FormData();
this.form[key].splice(detail.index, 1);
......
......@@ -217,7 +217,7 @@
<van-popup v-model="measuresDept" position="bottom" :style="{ height: '100%' }">
<div class="van-picker__toolbar" style="position: absolute;width: 100%;top: 0;">
<button type="button" class="van-picker__cancel" v-on:click="
{
{
form.measuresDeptId = 0;
projectDept = false;
}
......@@ -726,7 +726,6 @@ export default {
performTasks() { },
// 点击预览图
clickPre(e) {
console.log(e);
if (e.filePath) {
this.videoUrl = e.filePath;
} else {
......
<template>
<div>
<LHeader :text="text"></LHeader>
<van-form
@submit="onSubmit"
:scroll-to-error="true"
:show-error="false"
validate-trigger="onSubmit"
>
<div
style="
<van-form @submit="onSubmit" :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%)"
/>
">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative; top: 32%; transform: translateY(-50%)" />
服务项目信息
</div>
<van-field
readonly
required
name="userName"
:value="form.userName"
label="创建人员"
placeholder="请输入"
:rules="[{ required: true, message: '创建人员不能为空' }]"
/>
<van-field
readonly
required
name="createDeptName"
:value="form.createDeptName"
label="创建单位"
placeholder="请输入"
:rules="[{ required: true, message: '创建单位不能为空' }]"
/>
<van-field
required
name="name"
v-model="form.name"
label="任务名称"
placeholder="请输入"
:rules="[{ required: true, message: '任务名称不能为空' }]"
/>
<van-field readonly required name="userName" :value="form.userName" label="创建人员" placeholder="请输入"
:rules="[{ required: true, message: '创建人员不能为空' }]" />
<van-field readonly required name="createDeptName" :value="form.createDeptName" label="创建单位" placeholder="请输入"
:rules="[{ required: true, message: '创建单位不能为空' }]" />
<van-field required name="name" v-model="form.name" label="任务名称" placeholder="请输入"
:rules="[{ required: true, message: '任务名称不能为空' }]" />
<div style="display: flex">
<van-field
required
readonly
name="projectName"
:value="form.projectName"
label="关联项目"
placeholder="请选择"
@click="show = true"
:rules="[{ required: true, message: '关联项目不能为空' }]"
/>
<van-button
style="color: #cccc; background-color: #f0f1f5"
icon="plus"
type="info"
native-type="button"
@click="createProject"
/>
<van-field required readonly name="projectName" :value="form.projectName" label="关联项目" placeholder="请选择"
@click="show = true" :rules="[{ required: true, message: '关联项目不能为空' }]" />
<van-button style="color: #cccc; background-color: #f0f1f5" icon="plus" type="info" native-type="button"
@click="createProject" />
</div>
<van-field
required
name="projectBusiness"
v-model="form.projectBusiness"
label="业态"
placeholder="请选择业态"
:rules="[{ required: true, message: '业态不能为空' }]"
readonly
@click="selectBusiness"
/>
<van-field
required
name="businessStatus"
label="经营状态"
placeholder="请选择"
:rules="[{ required: true, message: '经营状态不能为空' }]"
>
<van-field required name="projectBusiness" v-model="form.projectBusiness" label="业态" placeholder="请选择业态"
:rules="[{ required: true, message: '业态不能为空' }]" readonly @click="selectBusiness" />
<van-field required name="businessStatus" label="经营状态" placeholder="请选择"
:rules="[{ required: true, message: '经营状态不能为空' }]">
<template #input>
<van-radio-group v-model="form.businessStatus" direction="horizontal">
<van-radio name="自营">自营</van-radio>
......@@ -92,21 +36,12 @@
</van-radio-group>
</template>
</van-field>
<van-field
required
name="propertyManagement"
label="是否为物业"
placeholder="请选择"
:rules="[{
validator:(val)=>val=='',
message:'是否为物业不能为空'
}]"
>
<van-field required name="propertyManagement" label="是否为物业" placeholder="请选择" :rules="[{
validator: (val) => val == '',
message: '是否为物业不能为空'
}]">
<template #input>
<van-radio-group
v-model="form.propertyManagement"
direction="horizontal"
>
<van-radio-group v-model="form.propertyManagement" direction="horizontal">
<van-radio :name="true"></van-radio>
<van-radio :name="false"></van-radio>
</van-radio-group>
......@@ -122,93 +57,35 @@
/>
</van-popup> -->
<div style="display: flex">
<van-field
required
readonly
name="buildingNames"
:value="form.buildingNames"
label="评估楼栋"
placeholder="请输入"
@click="getRiskList()"
:rules="[{ required: true, message: '评估楼栋不能为空' }]"
/>
<van-button
style="color: #cccc; background-color: #f0f1f5"
icon="plus"
type="info"
native-type="button"
@click="createBuilding"
/>
<van-field required readonly name="buildingNames" :value="form.buildingNames" label="评估楼栋" placeholder="请输入"
@click="getRiskList()" :rules="[{ required: true, message: '评估楼栋不能为空' }]" />
<van-button style="color: #cccc; background-color: #f0f1f5" icon="plus" type="info" native-type="button"
@click="createBuilding" />
</div>
<div
style="
<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%)"
/>
">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative; top: 32%; transform: translateY(-50%)" />
任务组织与分配
</div>
<van-field
required
readonly
name="deptName"
:value="form.deptName"
label="评估小组选择"
placeholder="请选择"
@click="selectDept()"
:rules="[{ required: true, message: '评估小组不能为空' }]"
/>
<van-field required readonly name="deptName" :value="form.deptName" label="评估小组选择" placeholder="请选择"
@click="selectDept()" :rules="[{ required: true, message: '评估小组不能为空' }]" />
<van-field
required
readonly
name="leaderUserName"
:value="form.leaderUserName"
label="评估小组组长"
placeholder="请选择"
@click="getLeaderUserList('leaderUser')"
:rules="[{ required: true, message: '评估小组组长不能为空' }]"
/>
<van-field required readonly name="leaderUserName" :value="form.leaderUserName" label="评估小组组长" placeholder="请选择"
@click="getLeaderUserList('leaderUser')" :rules="[{ required: true, message: '评估小组组长不能为空' }]" />
<van-field
required
readonly
name="workUserNames"
:value="form.workUserNames"
label="评估小组成员"
placeholder="请选择"
@click="getExecuteUser()"
:rules="[{ required: true, message: '评估小组成员不能为空' }]"
/>
<van-field required readonly name="workUserNames" :value="form.workUserNames" label="评估小组成员" placeholder="请选择"
@click="getExecuteUser()" :rules="[{ required: true, message: '评估小组成员不能为空' }]" />
<van-field
:value="form.startTime"
readonly
required
name="startTime"
label="任务开始时间"
placeholder="请选择"
@click="selectBeginTime('startTime')"
:rules="[{ required: true, message: '任务开始时间不能为空' }]"
/>
<van-field :value="form.startTime" readonly required name="startTime" label="任务开始时间" placeholder="请选择"
@click="selectBeginTime('startTime')" :rules="[{ required: true, message: '任务开始时间不能为空' }]" />
<van-field
:value="form.endTime"
readonly
required
name="endTime"
label="任务结束时间"
@click="selectBeginTime('endTime')"
placeholder="请选择"
:rules="[{ required: true, message: '任务结束时间不能为空' }]"
/>
<van-field :value="form.endTime" readonly required name="endTime" label="任务结束时间" @click="selectBeginTime('endTime')"
placeholder="请选择" :rules="[{ required: true, message: '任务结束时间不能为空' }]" />
<!-- <van-popup v-model="showControl" position="bottom">
<van-picker
......@@ -230,99 +107,47 @@
:rules="[{ required: true, message: '事审批负责人不能为空' }]"
/> -->
<van-popup v-model="showTrouble" position="bottom">
<van-picker
show-toolbar
value-key="nickName"
:columns="columnsTrouble"
@confirm="onConTrouble"
@cancel="showTrouble = false"
/>
<van-picker show-toolbar value-key="nickName" :columns="columnsTrouble" @confirm="onConTrouble"
@cancel="showTrouble = false" />
</van-popup>
<van-popup v-model="business.show" position="bottom">
<van-picker
show-toolbar
value-key="dictLabel"
:columns="business.columns"
@confirm="business.toConfirm"
@cancel="business.show = false"
/>
<van-picker show-toolbar value-key="dictLabel" :columns="business.columns" @confirm="business.toConfirm"
@cancel="business.show = false" />
</van-popup>
<van-popup v-model="show" position="bottom" :style="{ height: '100%' }">
<selectPeople @onClose="onClose" @onSave="onSave"></selectPeople>
</van-popup>
<van-popup
v-model="riskModel"
position="bottom"
:style="{ height: '100%' }"
>
<div
class="van-picker__toolbar"
style="position: absolute; width: 100%; top: 0"
>
<button
type="button"
class="van-picker__cancel"
v-on:click="riskModel = false"
>
取消</button
><button
type="button"
class="van-picker__confirm"
@click="onRiskList(riskList)"
>
<van-popup v-model="riskModel" position="bottom" :style="{ height: '100%' }">
<div class="van-picker__toolbar" style="position: absolute; width: 100%; top: 0">
<button type="button" class="van-picker__cancel" v-on:click="riskModel = false">
取消</button><button type="button" class="van-picker__confirm" @click="onRiskList(riskList)">
确认
</button>
</div>
<div style="display: flex; margin-top: 44px">
<van-checkbox-group
v-model="riskList"
ref="checkboxGroup"
class="building-select"
style="width: 100%; font-size: 18px"
>
<van-checkbox
shape="square"
style="margin: 10px 0px"
v-for="item in riskModelList"
:key="item.id"
:name="item"
>{{ item[filedName] }}</van-checkbox
>
<van-checkbox-group v-model="riskList" ref="checkboxGroup" class="building-select"
style="width: 100%; font-size: 18px">
<van-checkbox shape="square" style="margin: 10px 0px" v-for="item in riskModelList" :key="item.id"
:name="item">{{ item[filedName] }}</van-checkbox>
</van-checkbox-group>
</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
>
<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>
<!-- 选择项目小组 -->
<van-popup
v-model="projectDept"
position="bottom"
:style="{ height: '100%' }"
>
<div
class="van-picker__toolbar"
style="position: absolute; width: 100%; top: 0"
>
<button
type="button"
class="van-picker__cancel"
v-on:click="
{
form.deptId = 0;
projectDept = false;
}
"
>
取消</button
><button type="button" class="van-picker__confirm" @click="closeDept">
<van-popup v-model="projectDept" position="bottom" :style="{ height: '100%' }">
<div class="van-picker__toolbar" style="position: absolute; width: 100%; top: 0">
<button type="button" class="van-picker__cancel" v-on:click="
{
form.deptId = 0;
projectDept = false;
}
">
取消</button><button type="button" class="van-picker__confirm" @click="closeDept">
确认
</button>
</div>
......@@ -333,39 +158,21 @@
<!-- 选择时间弹出层 -->
<van-popup v-model="showTime" position="bottom">
<van-datetime-picker
type="date"
@confirm="onConTime"
@cancel="showTime = false"
:min-date="minDate"
v-model="currentDate"
/>
<van-datetime-picker type="date" @confirm="onConTime" @cancel="showTime = false" :min-date="minDate"
v-model="currentDate" />
</van-popup>
<div style="margin: 16px 16px 0">
<van-button
:loading="loadingStatus"
:loading-text="loadingText"
round
block
type="info"
native-type="submit"
>提交</van-button
>
<van-button :loading="loadingStatus" :loading-text="loadingText" round block type="info"
native-type="submit">提交</van-button>
</div>
</van-form>
<div style="margin: 10px 16px 0px; padding-bottom: 16px">
<van-button round block type="warning" @click.native="cancel"
>取消</van-button
>
<van-button round block type="warning" @click.native="cancel">取消</van-button>
</div>
<CreateComponent
v-if="createComponentData.visible"
@close="createComponentData.close"
@confirm="createComponentData.confirm"
:type="createComponentData.type"
:projectId="createComponentData.projectId"
/>
<CreateComponent v-if="createComponentData.visible" @close="createComponentData.close"
@confirm="createComponentData.confirm" :type="createComponentData.type"
:projectId="createComponentData.projectId" />
</div>
</template>
......@@ -416,8 +223,8 @@ export default {
form: {
name: "",
projectBusiness: "",
businessStatus:'',
propertyManagement:''
businessStatus: '',
propertyManagement: ''
},
projectId: "", // 所属工程
projectName: "", // 所属工程
......@@ -488,9 +295,9 @@ export default {
});
},
methods: {
valFn(val){
valFn(val) {
console.log(val);
return val==''
return val == ''
},
// 业态
businessConfirm(value) {
......@@ -708,7 +515,6 @@ export default {
}
},
onSubmit(values) {
debugger
// this.$toast.loading({
// message: "加载中...",
// forbidClick: true,
......
<template>
<div class="assess-model">
<div> <LHeader :text="title"></LHeader></div>
<div>
<LHeader :text="title"></LHeader>
</div>
<div class="assess-model-container">
<div class="assess-model-select-title"><span>选择影响因素</span></div>
<van-checkbox-group class="assess-model-select" v-model="effectValue">
<van-checkbox
v-for="(item) in effectList"
:key="item.dictLabel"
:name="item.dictLabel"
shape="square"
>
<van-icon slot="icon"
slot-scope="props" :name="props.checked?'success':''" />
<van-checkbox v-for="(item) in effectList" :key="item.dictLabel" :name="item.dictLabel" shape="square">
<van-icon slot="icon" slot-scope="props" :name="props.checked ? 'success' : ''" />
{{ item.dictLabel }}
</van-checkbox>
</van-checkbox-group>
</div>
<footer class="assess-model-footer">
<van-button round type="info" @click="toNext">下一步</van-button>
<footer class="assess-model-footer">
<van-button round type="info" @click="toNext">下一步</van-button>
</footer>
</div>
</template>
......@@ -25,86 +21,88 @@
<script>
import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table";
export default {
components:{
LHeader
},
data(){
return {
title:'影响因素',
effectList: [],
effectValue:[]
export default {
components: {
LHeader
},
data() {
return {
title: '影响因素',
effectList: [],
effectValue: []
}
},
mounted() {
const present = localStorage.getItem('presentForm')
let presentForm = present ? JSON.parse(present) : null;
if (this.$store.state.assessModel.step1) {
this.effectValue = this.$store.state.assessModel.step1.split(",")
} else if (presentForm && presentForm.factorItems) { // 用户刷新
this.$store.commit('SET_ASSESS_STEP1', presentForm.factorItems);
this.$store.commit('SET_ASSESS_STEP2', presentForm.evaluationItemIds);
}
this.getData()
},
beforeRouteLeave(to, form, next) {
if (to.name === 'addPresent') {
this.$store.commit('SET_ASSESS_STEP1', '')
}
next()
},
methods: {
toNext() {
let effectValue = this.effectList.filter(x => this.effectValue.includes(x.dictLabel))
if (effectValue.length) {
effectValue = effectValue.map(x => x.dictLabel)
}
},
mounted(){
const present = localStorage.getItem('presentForm')
let presentForm =present ?JSON.parse(present):null;
if(this.$store.state.assessModel.step1){
this.effectValue = this.$store.state.assessModel.step1.split(",")
}else if(presentForm&&presentForm.factorItems){ // 用户刷新
this.$store.commit('SET_ASSESS_STEP1',presentForm.factorItems);
this.$store.commit('SET_ASSESS_STEP2',presentForm.evaluationItemIds);
if (this.effectValue.length == 0) {
this.$toast("请先选择影响因素")
return;
}
this.getData()
this.$store.commit('SET_ASSESS_STEP1', effectValue.join(','))
// 保存数据
this.$router.push({
path: '/assess/model/step2',
query: {
ids: effectValue.join(',')
}
})
},
beforeRouteLeave(to,form,next){
// console.log(e);
if(to.name==='addPresent'){
this.$store.commit('SET_ASSESS_STEP1','')
}
next()
getData() {
getFun('/risk/plan/dict/data/list', {
dictType: 'evaluation_model_classification'
}).then(res => {
// console.log(res);
if (res.code !== 200) return;
this.effectList = res.data;
}).catch(() => {
this.$toast('网络请求错误')
})
},
destroy() {
},
methods:{
toNext(){
let effectValue = this.effectList.filter(x=>this.effectValue.includes(x.dictLabel))
if(effectValue.length){
effectValue = effectValue.map(x=>x.dictLabel)
}
if(this.effectValue.length == 0){
this.$toast("请先选择影响因素")
return;
}
this.$store.commit('SET_ASSESS_STEP1',effectValue.join(','))
// 保存数据
this.$router.push({
path: '/assess/model/step2',
query:{
ids:effectValue.join(',')
}
})
},
getData(){
getFun('/risk/plan/dict/data/list',{
dictType:'evaluation_model_classification'
}).then(res=>{
// console.log(res);
if(res.code!==200) return;
this.effectList = res.data;
}).catch(()=>{
this.$toast('网络请求错误')
})
},
destroy(){
},
}
}
}
</script>
<style lang="less" scoped>
.assess-model{
.assess-model {
background: #fff;
z-index: 10;
.assess-model-select-title{
.assess-model-select-title {
font-weight: 400;
font-size: 14px;
color: rgba(69,90,100,.6);
color: rgba(69, 90, 100, .6);
padding: 0.6rem 0.7rem;
}
.assess-model-container{
.assess-model-container {
height: calc(100% - 1.5rem);
overflow: auto;
}
.assess-model-footer{
.assess-model-footer {
width: 100%;
height: 1.4rem;
z-index: 9;
......@@ -112,16 +110,19 @@ import { getFun, postFun } from "@/service/table";
bottom: 0px;
text-align: center;
line-height: 1rem;
.van-button{
.van-button {
width: 90%;
margin: 0 auto;
}
}
}
.van-checkbox-group{
.van-checkbox-group {
padding: 0 1rem;
box-sizing: border-box;
.van-checkbox{
.van-checkbox {
background: #fff;
margin-bottom: 0.4rem;
padding: 0.4rem;
......@@ -129,22 +130,24 @@ import { getFun, postFun } from "@/service/table";
box-shadow: 1px 1px 3px 1px #dddddd;
color: #1c1c1c;
text-align: center;
::v-deep .van-icon{
::v-deep .van-icon {
border-radius: 0.08rem;
border:none;
border: none;
background: transparent;
color: #1989fa;
}
::v-deep .van-checkbox__label{
::v-deep .van-checkbox__label {
flex: 1;
text-align: center;
font-size: 0.45rem;
transform: translateX(-20px);
}
}
.van-checkbox[aria-checked="true"]{
box-shadow: 1px 1px 3px 1px #38fc;
.van-checkbox[aria-checked="true"] {
box-shadow: 1px 1px 3px 1px #38fc;
}
}
</style>
\ No newline at end of file
}</style>
\ No newline at end of file
......@@ -2,134 +2,47 @@
<div>
<LHeader :text="text"></LHeader>
<keep-alive>
<van-form
@submit="onSubmit"
: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%);"
/>
<van-form @submit="onSubmit" :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
name="userName"
v-model="form.userName"
label="评估人"
placeholder="请输入"
/>
<van-field
readonly
required
name="projectName"
v-model="form.projectName"
label="所属项目"
placeholder="请输入"
/>
<van-field
readonly
required
name="buildingName"
v-model="form.buildingName"
label="所属建筑物"
placeholder="请输入 "
/>
<van-field readonly required name="userName" v-model="form.userName" label="评估人" placeholder="请输入" />
<van-field readonly required name="projectName" v-model="form.projectName" label="所属项目" placeholder="请输入" />
<van-field readonly required name="buildingName" v-model="form.buildingName" label="所属建筑物" placeholder="请输入 " />
<van-field
readonly
required
clickable
name="floorName"
v-model="form.floorName"
label="所属楼层"
placeholder="请选择"
:rules="[{ required: true, message: '所属楼层不能为空' }]"
/>
<van-field readonly required clickable name="floorName" v-model="form.floorName" label="所属楼层" placeholder="请选择"
:rules="[{ required: true, message: '所属楼层不能为空' }]" />
<div style="display: flex;">
<van-field
readonly
required
name="roomName"
v-model="form.roomName"
label="所属房间"
placeholder="请输入"
:rules="[{ required: true, message: '所属房间不能为空' }]"
/>
<van-field readonly required name="roomName" v-model="form.roomName" label="所属房间" placeholder="请输入"
:rules="[{ required: true, message: '所属房间不能为空' }]" />
</div>
<van-field
readonly
required
clickable
name="name"
v-model="form.name"
label="危险源名称"
placeholder="请输入"
:rules="[{ required: true, message: '危险源名称不能为空' }]"
/>
<van-field
v-model="form.factor"
readonly
required
name="factor"
label="风险因素"
placeholder="请选择"
:rules="[{ required: true, message: '风险因素不能为空' }]"
/>
<van-field readonly required clickable name="name" v-model="form.name" label="危险源名称" placeholder="请输入"
:rules="[{ required: true, message: '危险源名称不能为空' }]" />
<van-field v-model="form.factor" readonly required name="factor" label="风险因素" placeholder="请选择"
:rules="[{ required: true, message: '风险因素不能为空' }]" />
<van-field
readonly
v-model="form.type"
required
name="type"
label="准事故类型"
placeholder="请选择"
:rules="[{ required: true, message: '准事故类型不能为空' }]"
/>
<van-field readonly v-model="form.type" required name="type" label="准事故类型" placeholder="请选择"
:rules="[{ required: true, message: '准事故类型不能为空' }]" />
<van-field
readonly
required
name="presenceLocation"
v-model="form.presenceLocation"
label="存在部位"
placeholder="请输入"
:rules="[{ required: true, message: '存在部位不能为空' }]"
/>
<van-field readonly required name="presenceLocation" v-model="form.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 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
disabled
@delete="deleteFile(...arguments, 'pictureFile')"
multiple
:max-count="5"
upload-text="最多上传五个"
v-model="uploaderImg"
>
<van-uploader disabled @delete="deleteFile(...arguments, 'pictureFile')" multiple :max-count="5"
upload-text="最多上传五个" v-model="uploaderImg">
<template slot="default">
<!-- 11111111111 -->
<div
style="
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
......@@ -137,58 +50,31 @@
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src="@/assets/upload/pic.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
">
<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 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 label="技术措施">
<template #input>
<van-field
readonly
v-model="form.measuresProject"
name="measuresProject"
label=""
type="textarea"
rows="3"
autosize
placeholder="请输入"
style="padding-left: 0;padding-top: 0;"
/>
<van-field readonly v-model="form.measuresProject" name="measuresProject" label="" type="textarea" rows="3"
autosize placeholder="请输入" style="padding-left: 0;padding-top: 0;" />
</template>
</van-field>
<van-field name="measuresProjectFile[]" label="技术措施附件">
<template #input>
<van-uploader
multiple
disabled
:max-count="5"
upload-text="最多上传五个"
v-model="measuresProjectFile"
accept="file"
@delete="deleteFile(...arguments, 'measuresProjectFile')"
>
<van-uploader multiple disabled :max-count="5" upload-text="最多上传五个" v-model="measuresProjectFile"
accept="file" @delete="deleteFile(...arguments, 'measuresProjectFile')">
<template slot="default">
<div
style="
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
......@@ -196,13 +82,8 @@
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src="@/assets/upload/file.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
......@@ -212,33 +93,16 @@
<van-field label="管理措施">
<template #input>
<van-field
readonly
v-model="form.measuresAdministration"
name="measuresAdministration"
label=""
type="textarea"
rows="3"
autosize
placeholder="请输入"
style="padding-left: 0;padding-top: 0;"
/>
<van-field readonly v-model="form.measuresAdministration" name="measuresAdministration" label=""
type="textarea" rows="3" autosize placeholder="请输入" style="padding-left: 0;padding-top: 0;" />
</template>
</van-field>
<van-field name="measuresAdministrationFile[]" label="管理措施附件">
<template #input>
<van-uploader
multiple
disabled
:max-count="5"
upload-text="最多上传五个"
v-model="measuresAdministrationFile"
accept="file"
@delete="deleteFile(...arguments, 'measuresAdministrationFile')"
>
<van-uploader multiple disabled :max-count="5" upload-text="最多上传五个" v-model="measuresAdministrationFile"
accept="file" @delete="deleteFile(...arguments, 'measuresAdministrationFile')">
<template slot="default">
<div
style="
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
......@@ -246,13 +110,8 @@
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src="@/assets/upload/file.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
......@@ -261,34 +120,17 @@
</van-field>
<van-field label="应急措施">
<template #input>
<van-field
readonly
v-model="form.measuresEmergency"
name="measuresEmergency"
label=""
type="textarea"
rows="3"
autosize
placeholder="请输入"
style="padding-left: 0;padding-top: 0;"
/>
<van-field readonly v-model="form.measuresEmergency" name="measuresEmergency" label="" type="textarea"
rows="3" autosize placeholder="请输入" style="padding-left: 0;padding-top: 0;" />
</template>
</van-field>
<van-field name="measuresEmergencyFile[]" label="应急措施附件">
<template #input>
<van-uploader
disabled
multiple
:max-count="5"
upload-text="最多上传五个"
v-model="measuresEmergencyFile"
accept="file"
@delete="deleteFile(...arguments, 'measuresEmergencyFile')"
>
<van-uploader disabled multiple :max-count="5" upload-text="最多上传五个" v-model="measuresEmergencyFile"
accept="file" @delete="deleteFile(...arguments, 'measuresEmergencyFile')">
<template slot="default">
<!-- 11111111111 -->
<div
style="
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
......@@ -296,13 +138,8 @@
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src="@/assets/upload/file.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
......@@ -310,190 +147,72 @@
</template>
</van-field>
<van-field
v-model="form.measuresDeptName"
name="measuresDeptName"
label="管控责任单位 "
type="textarea"
rows="1"
autosize
placeholder="请输入"
readonly
/>
<van-field
v-model="form.measuresUserName"
name="measuresUserName"
label="管控责任人 "
type="textarea"
rows="1"
autosize
placeholder="请输入"
readonly
/>
<van-field
v-model="form.measuresUserPhone"
name="measuresUserPhone"
label="管控责任人联系方式"
type="textarea"
rows="1"
autosize
placeholder="请输入"
maxlength="11"
readonly
/>
<van-field
readonly
clickable
name="referenceBasis"
:value="form.referenceBasis"
label="判断依据"
placeholder="请选择"
/>
<van-field
readonly
v-model="form.level"
required
name="level"
label="风险等级"
placeholder="请选择"
:rules="[{ required: true, message: '风险等级不能为空' }]"
/>
<van-dialog
v-model="showGradeDialog"
title="风险评测配置"
:show-cancel-button="false"
:show-confirm-button="false"
>
<van-field v-model="form.measuresDeptName" name="measuresDeptName" label="管控责任单位 " type="textarea" rows="1"
autosize placeholder="请输入" readonly />
<van-field v-model="form.measuresUserName" name="measuresUserName" label="管控责任人 " type="textarea" rows="1"
autosize placeholder="请输入" readonly />
<van-field v-model="form.measuresUserPhone" name="measuresUserPhone" label="管控责任人联系方式" type="textarea" rows="1"
autosize placeholder="请输入" maxlength="11" readonly />
<van-field readonly clickable name="referenceBasis" :value="form.referenceBasis" label="判断依据" placeholder="请选择" />
<van-field readonly v-model="form.level" required name="level" label="风险等级" placeholder="请选择"
:rules="[{ required: true, message: '风险等级不能为空' }]" />
<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-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"
>
<van-popover v-model="showPopover" trigger="click" :actions="columnsRiskRank" @select="onSelect">
<template #reference>
<van-field
v-model="possibleValue"
readonly
required
name="level"
label="发生的可能性"
placeholder="请选择"
/>
<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"
>
<van-popover v-model="showPopoveSetRank" trigger="click" :actions="columnsSetRank"
@select="onSelectSetRank">
<template #reference>
<van-field
v-model="severityValue"
readonly
required
name="level"
label="后果严重程度"
placeholder="请选择"
/>
<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 native-type="button" type="info"
>取消</van-button
></van-col
>
<van-col span="6"
><van-button size="small" type="info" native-type="button"
>开始测评</van-button
></van-col
>
<van-col span="6"><van-button size="small" plain native-type="button" type="info">取消</van-button></van-col>
<van-col span="6"><van-button size="small" type="info" native-type="button">开始测评</van-button></van-col>
</van-row>
</div>
</van-dialog>
<!-- 楼层弹出层 -->
<van-popup
v-model="ShowfloorList"
position="bottom"
:style="{ height: '100%' }"
>
<selectFloor
:listdata="floorSource"
@closeSlect="closeSlectfloor"
@saveSlect="saveSlectfloor"
></selectFloor>
<van-popup v-model="ShowfloorList" position="bottom" :style="{ height: '100%' }">
<selectFloor :listdata="floorSource" @closeSlect="closeSlectfloor" @saveSlect="saveSlectfloor"></selectFloor>
</van-popup>
<!-- 单选弹出层 -->
<van-popup v-model="showSelect" position="bottom">
<van-picker
show-toolbar
value-key="dictValue"
:columns="columnsData"
@confirm="saveSelect"
@cancel="showSelect = false"
/>
<van-picker show-toolbar value-key="dictValue" :columns="columnsData" @confirm="saveSelect"
@cancel="showSelect = false" />
</van-popup>
<!-- 复选弹出层 -->
<van-popup
v-model="showCheckSelect"
position="bottom"
:style="{ height: '100%' }"
>
<selectList
:listdata="columnsCheckData"
@closeSlect="showCheckSelect = false"
@saveSlect="saveCheckSelect"
></selectList>
<van-popup v-model="showCheckSelect" position="bottom" :style="{ height: '100%' }">
<selectList :listdata="columnsCheckData" @closeSlect="showCheckSelect = false" @saveSlect="saveCheckSelect">
</selectList>
</van-popup>
<!-- 房间弹出层 -->
<van-popup v-model="showSource" position="bottom">
<van-picker
show-toolbar
value-key="name"
:columns="columnsSource"
@confirm="onConSource"
@cancel="showSource = false"
/>
<van-picker show-toolbar value-key="name" :columns="columnsSource" @confirm="onConSource"
@cancel="showSource = false" />
</van-popup>
<!-- 管控责任单位 -->
<van-popup
v-model="measuresDept"
position="bottom"
:style="{ height: '100%' }"
>
<div
class="van-picker__toolbar"
style="position: absolute;width: 100%;top: 0;"
>
<button
type="button"
class="van-picker__cancel"
v-on:click="
{
form.measuresDeptId = 0;
projectDept = false;
}
"
>
取消</button
><button type="button" class="van-picker__confirm">
<van-popup v-model="measuresDept" position="bottom" :style="{ height: '100%' }">
<div class="van-picker__toolbar" style="position: absolute;width: 100%;top: 0;">
<button type="button" class="van-picker__cancel" v-on:click="
{
form.measuresDeptId = 0;
projectDept = false;
}
">
取消</button><button type="button" class="van-picker__confirm">
确认
</button>
</div>
......@@ -503,13 +222,8 @@
</van-popup>
<!-- 管控责任人 -->
<van-popup v-model="showTrouble" position="bottom">
<van-picker
show-toolbar
value-key="nickName"
:columns="columnsTrouble"
@confirm="onConTrouble"
@cancel="showTrouble = false"
/>
<van-picker show-toolbar value-key="nickName" :columns="columnsTrouble" @confirm="onConTrouble"
@cancel="showTrouble = false" />
</van-popup>
</van-form>
</keep-alive>
......@@ -619,7 +333,7 @@ export default {
this.$route.params.existingId || sessionStorage.getItem("existingId");
this.postReturnEcho();
},
mounted() {},
mounted() { },
methods: {
// 请求详情数据
postReturnEcho() {
......@@ -831,15 +545,14 @@ export default {
name: "resultPage",
params: {
score: this.severityScore * this.possibleScore,
possibleValue:this.possibleValue,
severityValue:this.severityValue,
possibleValue: this.possibleValue,
severityValue: this.severityValue,
}
});
},
performTasks() {},
performTasks() { },
// 点击预览图
clickPre(e) {
console.log(e);
if (e.filePath) {
this.videoUrl = e.filePath;
} else {
......
<template>
<div>
<van-form
@submit="onSubmit"
:scroll-to-error="true"
:show-error="false"
validate-trigger="onSubmit"
>
<div
style="
<van-form @submit="onSubmit" :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%)"
/>
">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative; top: 32%; transform: translateY(-50%)" />
风险信息
</div>
<van-field
readonly
required
name="userName"
:value="form.userName"
label="评估人"
placeholder="请输入"
/>
<van-field
readonly
required
name="projectName"
:value="form.projectName"
label="所属项目"
placeholder="请输入"
/>
<van-field
readonly
required
name="buildingName"
:value="form.buildingName"
label="所属建筑物"
placeholder="请输入 "
/>
<van-field readonly required name="userName" :value="form.userName" label="评估人" placeholder="请输入" />
<van-field readonly required name="projectName" :value="form.projectName" label="所属项目" placeholder="请输入" />
<van-field readonly required name="buildingName" :value="form.buildingName" label="所属建筑物" placeholder="请输入 " />
<van-field
readonly
required
clickable
name="floorName"
:value="form.floorName"
label="所属楼层"
placeholder="请选择"
:rules="[{ required: true, message: '所属楼层不能为空' }]"
/>
<van-field readonly required clickable name="floorName" :value="form.floorName" label="所属楼层" placeholder="请选择"
:rules="[{ required: true, message: '所属楼层不能为空' }]" />
<div style="display: flex">
<van-field
readonly
required
name="roomName"
:value="form.roomName"
label="所属房间"
placeholder="请输入"
:rules="[{ required: true, message: '所属房间不能为空' }]"
/>
<van-field readonly required name="roomName" :value="form.roomName" label="所属房间" placeholder="请输入"
:rules="[{ required: true, message: '所属房间不能为空' }]" />
</div>
<van-field
readonly
required
clickable
name="name"
v-model="form.name"
label="危险源名称"
placeholder="请输入"
:rules="[{ required: true, message: '危险源名称不能为空' }]"
/>
<van-field readonly required clickable name="name" v-model="form.name" label="危险源名称" placeholder="请输入"
:rules="[{ required: true, message: '危险源名称不能为空' }]" />
<!-- 单选 -->
<van-field
readonly
required
clickable
name="pointType"
v-model="form.pointType"
label="风险点类型"
placeholder="请选择"
:rules="[{ required: true, message: '风险点类型不能为空' }]"
/>
<van-field
required
label="是否为特种设备"
v-show="form.pointType == '设备设施类'"
>
<van-field readonly required clickable name="pointType" v-model="form.pointType" label="风险点类型" placeholder="请选择"
:rules="[{ required: true, message: '风险点类型不能为空' }]" />
<van-field required label="是否为特种设备" v-show="form.pointType == '设备设施类'">
<template #input>
<van-radio-group
v-model="form.specialEquipment"
direction="horizontal"
>
<van-radio-group v-model="form.specialEquipment" direction="horizontal">
<van-radio :name="true"></van-radio>
<van-radio :name="false"></van-radio>
</van-radio-group>
</template>
</van-field>
<van-field
v-if="form.specialEquipment == true"
clickable
name="pointType"
v-model="form.equipmentNumber"
label="特种设备的证书号码"
placeholder="请选择"
/>
<van-field v-if="form.specialEquipment == true" clickable name="pointType" v-model="form.equipmentNumber"
label="特种设备的证书号码" placeholder="请选择" />
<!-- 多选 -->
<van-field
v-model="form.safetyWarningSigns"
readonly
required
name="safetyWarningSigns"
label="安全警示标志"
placeholder="请选择"
:rules="[{ required: true, message: '安全警示标志不能为空' }]"
/>
<van-field
v-model="form.factor"
readonly
required
name="factor"
label="风险因素"
placeholder="请选择"
:rules="[{ required: true, message: '风险因素不能为空' }]"
/>
<van-field v-model="form.safetyWarningSigns" readonly required name="safetyWarningSigns" label="安全警示标志"
placeholder="请选择" :rules="[{ required: true, message: '安全警示标志不能为空' }]" />
<van-field v-model="form.factor" readonly required name="factor" label="风险因素" placeholder="请选择"
:rules="[{ required: true, message: '风险因素不能为空' }]" />
<van-field
readonly
v-model="form.type"
required
name="type"
label="准事故类型"
placeholder="请选择"
:rules="[{ required: true, message: '准事故类型不能为空' }]"
/>
<van-field readonly v-model="form.type" required name="type" label="准事故类型" placeholder="请选择"
:rules="[{ required: true, message: '准事故类型不能为空' }]" />
<van-field
readonly
v-model="form.level"
required
name="level"
label="风险等级"
placeholder="请选择"
:rules="[{ required: true, message: '风险等级不能为空' }]"
/>
<van-field readonly v-model="form.level" required name="level" label="风险等级" placeholder="请选择"
:rules="[{ required: true, message: '风险等级不能为空' }]" />
<van-field
readonly
required
name="presenceLocation"
v-model="form.presenceLocation"
label="存在部位"
placeholder="请输入"
:rules="[{ required: true, message: '存在部位不能为空' }]"
/>
<van-field readonly required name="presenceLocation" v-model="form.presenceLocation" label="存在部位" placeholder="请输入"
:rules="[{ required: true, message: '存在部位不能为空' }]" />
<div
style="
<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%)"
/>
">
<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
@delete="deleteFile(...arguments, 'pictureFile')"
multiple
disabled
:max-count="5"
upload-text="最多上传五个"
v-model="uploaderImg"
>
<van-uploader @delete="deleteFile(...arguments, 'pictureFile')" multiple disabled :max-count="5"
upload-text="最多上传五个" v-model="uploaderImg">
<template slot="default">
<!-- 11111111111 -->
<div
style="
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
......@@ -199,63 +77,36 @@
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src="@/assets/upload/pic.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
">
<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="
<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%)"
/>
">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative; top: 32%; transform: translateY(-50%)" />
应采取的管控措施
</div>
<van-field label="技术措施">
<template #input>
<van-field
readonly
v-model="form.measuresProject"
name="measuresProject"
label=""
type="textarea"
rows="3"
autosize
placeholder="请输入"
style="padding-left: 0; padding-top: 0"
/>
<van-field readonly v-model="form.measuresProject" name="measuresProject" label="" type="textarea" rows="3"
autosize placeholder="请输入" style="padding-left: 0; padding-top: 0" />
</template>
</van-field>
<van-field name="measuresProjectFile[]" label="技术措施附件">
<template #input>
<van-uploader
multiple
disabled
:max-count="5"
upload-text="最多上传五个"
v-model="measuresProjectFile"
accept="file"
@delete="deleteFile(...arguments, 'measuresProjectFile')"
>
<van-uploader multiple disabled :max-count="5" upload-text="最多上传五个" v-model="measuresProjectFile" accept="file"
@delete="deleteFile(...arguments, 'measuresProjectFile')">
<template slot="default">
<div
style="
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
......@@ -263,13 +114,8 @@
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src="@/assets/upload/file.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
......@@ -279,33 +125,16 @@
<van-field label="管理措施">
<template #input>
<van-field
readonly
v-model="form.measuresAdministration"
name="measuresAdministration"
label=""
type="textarea"
rows="3"
autosize
placeholder="请输入"
style="padding-left: 0; padding-top: 0"
/>
<van-field readonly v-model="form.measuresAdministration" name="measuresAdministration" label="" type="textarea"
rows="3" autosize placeholder="请输入" style="padding-left: 0; padding-top: 0" />
</template>
</van-field>
<van-field name="measuresAdministrationFile[]" label="管理措施附件">
<template #input>
<van-uploader
multiple
disabled
:max-count="5"
upload-text="最多上传五个"
v-model="measuresAdministrationFile"
accept="file"
@delete="deleteFile(...arguments, 'measuresAdministrationFile')"
>
<van-uploader multiple disabled :max-count="5" upload-text="最多上传五个" v-model="measuresAdministrationFile"
accept="file" @delete="deleteFile(...arguments, 'measuresAdministrationFile')">
<template slot="default">
<div
style="
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
......@@ -313,13 +142,8 @@
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src="@/assets/upload/file.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
......@@ -328,34 +152,17 @@
</van-field>
<van-field label="应急措施">
<template #input>
<van-field
readonly
v-model="form.measuresEmergency"
name="measuresEmergency"
label=""
type="textarea"
rows="3"
autosize
placeholder="请输入"
style="padding-left: 0; padding-top: 0"
/>
<van-field readonly v-model="form.measuresEmergency" name="measuresEmergency" label="" type="textarea" rows="3"
autosize placeholder="请输入" style="padding-left: 0; padding-top: 0" />
</template>
</van-field>
<van-field name="measuresEmergencyFile[]" label="应急措施附件">
<template #input>
<van-uploader
multiple
disabled
:max-count="5"
upload-text="最多上传五个"
v-model="measuresEmergencyFile"
accept="file"
@delete="deleteFile(...arguments, 'measuresEmergencyFile')"
>
<van-uploader multiple disabled :max-count="5" upload-text="最多上传五个" v-model="measuresEmergencyFile"
accept="file" @delete="deleteFile(...arguments, 'measuresEmergencyFile')">
<template slot="default">
<!-- 11111111111 -->
<div
style="
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
......@@ -363,13 +170,8 @@
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src="@/assets/upload/file.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
......@@ -377,51 +179,21 @@
</template>
</van-field>
<van-field
v-model="form.measuresDeptName"
name="measuresDeptName"
label="管控责任单位 "
type="textarea"
rows="1"
autosize
placeholder="请输入"
readonly
/>
<van-field
v-model="form.measuresUserName"
name="measuresUserName"
label="管控责任人 "
type="textarea"
rows="1"
autosize
placeholder="请输入"
readonly
/>
<van-field
v-model="form.measuresUserPhone"
name="measuresUserPhone"
label="管控责任人联系方式"
type="textarea"
rows="1"
autosize
placeholder="请输入"
maxlength="11"
readonly
/>
<van-field v-model="form.measuresDeptName" name="measuresDeptName" label="管控责任单位 " type="textarea" rows="1" autosize
placeholder="请输入" readonly />
<van-field v-model="form.measuresUserName" name="measuresUserName" label="管控责任人 " type="textarea" rows="1" autosize
placeholder="请输入" readonly />
<van-field v-model="form.measuresUserPhone" name="measuresUserPhone" label="管控责任人联系方式" type="textarea" rows="1"
autosize placeholder="请输入" maxlength="11" readonly />
<div
style="
<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%)"
/>
">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative; top: 32%; transform: translateY(-50%)" />
重大危险源管理
</div>
<van-field name="majorHazardSource" label="是否为重大危险源">
......@@ -431,42 +203,18 @@
<span style="margin-left: 10px; color: green"></span>
</template>
</van-field>
<van-field
readonly
v-model="form.hazardSourceName"
name="hazardSourceName"
label="危险源名称 "
type="textarea"
rows="1"
autosize
placeholder="请输入"
/>
<van-field readonly v-model="form.hazardSourceName" name="hazardSourceName" label="危险源名称 " type="textarea" rows="1"
autosize placeholder="请输入" />
<van-field label="重大危险源描述" :required="form.majorHazardSource">
<template #input>
<van-field
readonly
v-model="form.majorHazardSourceDescription"
name="majorHazardSourceDescription"
label=""
type="textarea"
rows="3"
autosize
placeholder="请输入"
style="padding-left: 0; padding-top: 0"
/>
<van-field readonly v-model="form.majorHazardSourceDescription" name="majorHazardSourceDescription" label=""
type="textarea" rows="3" autosize placeholder="请输入" style="padding-left: 0; padding-top: 0" />
</template>
</van-field>
<van-field
readonly
clickable
name="referenceBasis"
:value="form.referenceBasis"
label="判断依据"
placeholder="请选择"
:rules="[{ required: true, message: '判断依据不能为空' }]"
/>
<van-field readonly clickable name="referenceBasis" :value="form.referenceBasis" label="判断依据" placeholder="请选择"
:rules="[{ required: true, message: '判断依据不能为空' }]" />
</van-form>
</div>
</template>
......@@ -591,7 +339,7 @@ export default {
this.postReturnEcho();
}
},
mounted() {},
mounted() { },
methods: {
timestampToTimes(time) {
return timestampToTime(new Date(time), "DT2", true);
......@@ -839,7 +587,6 @@ export default {
},
// 点击预览图
clickPre(e) {
console.log(e);
if (e.filePath) {
this.videoUrl = e.filePath;
} else {
......
......@@ -229,7 +229,6 @@ export default {
});
})
.catch(err => {
console.log("err==>>", err);
});
},
workBenchList() {
......
......@@ -9,11 +9,11 @@ module.exports = {
proxy: {
//配置跨域
"/app-api": {
target: "http://192.168.4.232:8080/", //这里是后台的地址
// target: "http://192.168.4.232:8080/", //这里是后台的地址
// target: "http://localhost:8080/", //这里是后台的地址
// target: 'http://192.168.15.124:8080/', //这里是杨帆的地址
// target: "http://192.168.14.152:8080/", //这里是鲍德的地址
// target: "http://192.168.15.230:8080/", //这里是晓静的地址
target: "http://192.168.15.230:8080/", //这里是晓晋的地址
// target: 'http://localhost:8081/', //这里是后台的地址
// target: 'http://127.0.0.1:8080', //这里是后台的地址
ws: true,
......
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