Commit fb06516e authored by wei's avatar wei

Merge branch 'dev-lv' into develop

parents f4a16cce b15a0cfc
...@@ -63,8 +63,8 @@ export default { ...@@ -63,8 +63,8 @@ export default {
"riskAssess", "riskAssess",
"riskApprove", "riskApprove",
"taskList", "taskList",
"taskDetail" "taskDetail",
"riskBigDetail"
], ],
// cachePage预先定义的缓存页面 // cachePage预先定义的缓存页面
otherCache: [], otherCache: [],
......
<template>
<div>
<!-- 搜索 -->
<!-- <van-sticky offset-top="0">
<div class="content-wrap">
<div class="search-wrap">
<van-search v-model="searchVal" placeholder="搜索" @input="onInput"/>
</div>
</div>
</van-sticky> -->
<div style="margin-bottom: 1.4rem;">
<van-tree-select :items="listdata" :active-id.sync="activeId" :main-active-index.sync="activeIndex" @click-item="clickItem">
</van-tree-select>
</div>
<!-- 底部信息 -->
<footer class="footer">
<van-cell-group>
<div class="operate">
<van-button size="small" ttype="info" plain native-type="button"
style="border-radius: 5px; background-color: #f0f1f5;" @click.native="cancel">取消
</van-button>
<van-button size="small" type="info" native-type="button"
style="margin:0 10px 0 20px;border-radius: 5px;" @click.native="save">保存
</van-button>
</div>
</van-cell-group>
</footer>
</div>
</template>
<script>
import { debounce } from "@/utils/common.js";
export default {
props: {
listdata: {
type: Array,
default: () => [],
}
},
components: {
// LHeader
},
created() {
},
data() {
return {
text: "选择人员",
activeId: 1,
activeIndex: 0,
seletedItem:{}
};
},
methods: {
// 待搜索框内容发生变化
onInput: debounce(function () {
}, 800),
selData(e) {
this.itemSel = e
},
clickItem(data) {
console.log(data, 'llll')
this.seletedItem = data
},
save() {
this.$emit('saveSlect', this.seletedItem)
},
cancel() {
this.$emit('closeSlect')
}
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
// 搜索
.content-wrap {
padding: 10px;
background-color: #f0f1f5;
}
.search-wrap {
margin: 0.26667rem;
.van-search {
border-radius: 5px;
padding: 5px 12px;
}
.van-search__content {
background-color: #ffffff;
}
}
.upStep {
.van-cell-group {
display: flex;
height: 1.2rem;
align-items: center;
.upStep-btn {
width: 25%;
text-align: center;
display: flex;
span {
width: 1.866667rem;
background-color: #1989fa;
text-align: center;
display: inline-block;
color: white;
height: 0.8rem;
line-height: 0.8rem;
font-size: 0.346667rem;
border-radius: 0.08rem;
}
}
.upStep-content {
width: 75%;
height: 0.8rem;
line-height: 0.8rem;
padding-left: 0.42667rem;
box-sizing: border-box;
font-size: 14px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
.dept-list-wrap {
margin-top: 0.266667rem;
}
.people-wrap {
margin-top: 0.266667rem;
/deep/ .van-radio__label {
display: flex;
align-items: center;
}
}
.footer {
width: 100%;
height: 1.4rem;
z-index: 9;
position: fixed;
bottom: 0px;
box-shadow: 0px 8px 15px #000;
.van-cell-group {
height: 100%;
.selected {
height: 1.066667rem;
display: flex;
align-items: center;
padding-left: 10px;
border-bottom: 1px solid #cacbcb;
.selected-title {
color: #4187f7;
}
.selected-content {
width: 80%;
padding-left: 10px;
box-sizing: border-box;
}
}
.operate {
height: 1.333333rem;
display: flex;
justify-content: flex-end;
align-items: center;
.van-button {
width: 1.6rem;
}
}
}
}
</style>
\ No newline at end of file
<template>
<div>
<!-- 搜索 -->
<van-sticky offset-top="0">
<div class="content-wrap">
<div class="search-wrap">
<van-search v-model="searchVal" placeholder="搜索" @input="onInput"/>
</div>
</div>
</van-sticky>
<div style="margin-bottom: 1.4rem;">
<van-checkbox-group v-model="checkbox">
<!-- <van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getInsideUser()"
> -->
<van-checkbox style="margin: 0px 10px;" v-for="(item,index) in listdata" :name="item.dictLabel" :key="index" @click="selData(item)">
<van-cell :title="item.dictValue" />
</van-checkbox>
<!-- </van-list> -->
</van-checkbox-group>
</div>
<!-- 底部信息 -->
<footer class="footer">
<van-cell-group>
<div class="operate">
<van-button
size="small"
ttype="info"
plain
native-type="button"
style="border-radius: 5px; background-color: #f0f1f5;"
@click.native="cancel"
>取消
</van-button
>
<van-button
size="small"
type="info"
native-type="button"
style="margin:0 10px 0 20px;border-radius: 5px;"
@click.native="save"
>保存
</van-button
>
</div>
</van-cell-group>
</footer>
</div>
</template>
<script>
import {debounce} from "@/utils/common.js";
export default {
props:{
listdata:{
type:Array,
default:()=>[],
}
},
components: {
// LHeader
},
created() {
},
data() {
return {
text: "选择人员",
personName: "",
searchVal: "",
checkbox:[],
pageSize: 20,
pageNum: 1,
loading: false,
finished: false,
projectList:[],
itemSel:{
}
};
},
methods: {
// 待搜索框内容发生变化
onInput: debounce(function () {
this.projectList=[]
this.pageNum=1
this.finished = false
this.loading = true
this.getInsideUser();
}, 800),
selData(e){
this.itemSel=e
},
save() {
this.$emit('saveSlect', this.checkbox)
},
cancel() {
this.$emit('closeSlect')
}
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
// 搜索
.content-wrap {
padding: 10px;
background-color: #f0f1f5;
}
.search-wrap {
margin: 0.26667rem;
.van-search {
border-radius: 5px;
padding: 5px 12px;
}
.van-search__content {
background-color: #ffffff;
}
}
.upStep {
.van-cell-group {
display: flex;
height: 1.2rem;
align-items: center;
.upStep-btn {
width: 25%;
text-align: center;
display: flex;
span {
width: 1.866667rem;
background-color: #1989fa;
text-align: center;
display: inline-block;
color: white;
height: 0.8rem;
line-height: 0.8rem;
font-size: 0.346667rem;
border-radius: 0.08rem;
}
}
.upStep-content {
width: 75%;
height: 0.8rem;
line-height: 0.8rem;
padding-left: 0.42667rem;
box-sizing: border-box;
font-size: 14px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
.dept-list-wrap {
margin-top: 0.266667rem;
}
.people-wrap {
margin-top: 0.266667rem;
/deep/ .van-radio__label {
display: flex;
align-items: center;
}
}
.footer {
width: 100%;
height: 1.4rem;
z-index: 9;
position: fixed;
bottom: 0px;
box-shadow: 0px 8px 15px #000;
.van-cell-group {
height: 100%;
.selected {
height: 1.066667rem;
display: flex;
align-items: center;
padding-left: 10px;
border-bottom: 1px solid #cacbcb;
.selected-title {
color: #4187f7;
}
.selected-content {
width: 80%;
padding-left: 10px;
box-sizing: border-box;
}
}
.operate {
height: 1.333333rem;
display: flex;
justify-content: flex-end;
align-items: center;
.van-button {
width: 1.6rem;
}
}
}
}
</style>
\ No newline at end of file
...@@ -9,14 +9,14 @@ import './permission' ...@@ -9,14 +9,14 @@ import './permission'
import Cookies from 'js-cookie' import Cookies from 'js-cookie'
import util from './api/util.js' import util from './api/util.js'
import {DropdownMenu, DropdownItem, Divider, Popup, Overlay, Loading, Dialog, ContactCard, Form, AddressEdit, AddressList, Field, CellGroup, Cell, SwipeCell, Icon, Stepper, Card, Checkbox, CheckboxGroup, Button, Swipe, SwipeItem, PullRefresh, List, Tab, Tabs, GoodsAction, GoodsActionIcon, GoodsActionButton, SubmitBar, Toast ,Search,Picker,Uploader,Notify ,ContactList,Calendar,Radio,RadioGroup,Tag,Tabbar,TabbarItem,Sticky, Grid, GridItem,Skeleton,Col,Row, Image as VanImage, Badge,NoticeBar,DatetimePicker, import {DropdownMenu, DropdownItem, Divider, Popup, Overlay, Loading, Dialog, ContactCard, Form, AddressEdit, AddressList, Field, CellGroup, Cell, SwipeCell, Icon, Stepper, Card, Checkbox, CheckboxGroup, Button, Swipe, SwipeItem, PullRefresh, List, Tab, Tabs, GoodsAction, GoodsActionIcon, GoodsActionButton, SubmitBar, Toast ,Search,Picker,Uploader,Notify ,ContactList,Calendar,Radio,RadioGroup,Tag,Tabbar,TabbarItem,Sticky, Grid, GridItem,Skeleton,Col,Row, Image as VanImage, Badge,NoticeBar,DatetimePicker,
Step, Steps,Lazyload,Popover,Collapse, CollapseItem } from 'vant' Step, Steps,Lazyload,Popover,Collapse, CollapseItem,TreeSelect } from 'vant'
import 'lib-flexible/flexible' import 'lib-flexible/flexible'
import vueEsign from 'vue-esign' import vueEsign from 'vue-esign'
Vue.use(vueEsign) Vue.use(vueEsign)
Vue.prototype.util = util Vue.prototype.util = util
Vue.use(Divider).use(Popup).use(Overlay).use(Loading).use(Dialog).use(Toast).use(ContactCard).use(Form).use(AddressEdit).use(AddressList).use(Field).use(CellGroup).use(Cell).use(SwipeCell).use(Icon).use(Stepper).use(Card).use(Button).use(Swipe).use(SwipeItem).use(PullRefresh).use(List).use(Tab).use(Tabs).use(GoodsAction).use(GoodsActionIcon).use(GoodsActionButton).use(SubmitBar).use(Checkbox).use(CheckboxGroup).use(Search).use(Picker).use(Uploader).use(Notify) Vue.use(Divider).use(Popup).use(Overlay).use(Loading).use(Dialog).use(Toast).use(ContactCard).use(Form).use(AddressEdit).use(AddressList).use(Field).use(CellGroup).use(Cell).use(SwipeCell).use(Icon).use(Stepper).use(Card).use(Button).use(Swipe).use(SwipeItem).use(PullRefresh).use(List).use(Tab).use(Tabs).use(GoodsAction).use(GoodsActionIcon).use(GoodsActionButton).use(SubmitBar).use(Checkbox).use(CheckboxGroup).use(Search).use(Picker).use(Uploader).use(Notify)
.use(ContactList).use(Calendar).use(Radio).use(RadioGroup).use(Tag).use(Tabbar).use(TabbarItem).use(Sticky) .use(ContactList).use(Calendar).use(Radio).use(RadioGroup).use(Tag).use(Tabbar).use(TabbarItem).use(Sticky)
.use(Grid).use(GridItem).use(Skeleton).use(Col).use(Row).use(VanImage).use(Badge).use(NoticeBar).use(DatetimePicker).use(Step).use(Steps).use(Popover).use(Lazyload).use(Collapse).use(CollapseItem) .use(Grid).use(GridItem).use(Skeleton).use(Col).use(Row).use(VanImage).use(Badge).use(NoticeBar).use(DatetimePicker).use(Step).use(Steps).use(Popover).use(Lazyload).use(Collapse).use(CollapseItem).use(TreeSelect)
Vue.use(DropdownMenu); Vue.use(DropdownMenu);
Vue.use(DropdownItem); Vue.use(DropdownItem);
// 引用高德地图组件 main.js // 引用高德地图组件 main.js
......
...@@ -166,6 +166,11 @@ const routes = [{ ...@@ -166,6 +166,11 @@ const routes = [{
name: 'addPresent', name: 'addPresent',
component: () => import('../views/riskProject/add/addPresent.vue'), component: () => import('../views/riskProject/add/addPresent.vue'),
}, },
{//现状风险详情
path: '/presentDetail',
name: 'presentDetail',
component: () => import('../views/riskProject/taskLedger/presentDetail.vue'),
},
{//风险评估列表详情页 {//风险评估列表详情页
path: '/riskBigDetail', path: '/riskBigDetail',
name: 'riskBigDetail', name: 'riskBigDetail',
......
<template> <template>
<div> <div>
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
<van-form <van-form @submit="onSubmit" :scroll-to-error="true" :show-error="false" validate-trigger="onSubmit">
@submit="onSubmit" <div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
:scroll-to-error="true" <img src="@/assets/accidentIcon/bookmark.svg" alt=""
:show-error="false" style="position: relative;top: 32%;transform: translateY(-50%);" />
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> </div>
<van-field <van-field readonly required name="userName" :value="form.userName" label="评估人" placeholder="请输入" />
readonly <van-field readonly required name="projectId" :value="form.projectId" label="所属项目" placeholder="请输入" />
required <van-field readonly required name="buildingName" :value="form.buildingName" label="所属建筑物" placeholder="请输入" />
name="userName"
:value="form.userName"
label="评估人"
placeholder="请输入"
/>
<van-field
readonly
required
name="projectId"
:value="form.projectId"
label="所属项目"
placeholder="请输入"
/>
<van-field
readonly
required
name="buildingName"
:value="form.buildingName"
label="所属建筑物"
placeholder="请输入"
/>
<van-field <van-field required clickable name="floorName" :value="form.floorName" label="所属楼层" placeholder="请选择"
required @click="seletFloor('floor')" :rules="[{ required: true, message: '所属楼层不能为空' }]" />
clickable
name="floorName"
:value="form.floorName"
label="所属楼层"
placeholder="请选择"
@click="seletFloor('floor')"
:rules="[{ required: true, message: '所属楼层不能为空' }]"
/>
<div style="display: flex;"> <div style="display: flex;">
<van-field <van-field readonly required name="roomName" :value="form.roomName" label="所属房间" placeholder="请输入"
readonly @click="seletRoom('room')" :rules="[{ required: true, message: '所属房间不能为空' }]" />
required <van-button style="color: #cccc;background-color: #f0f1f5;" icon="plus" type="info" native-type="button"
name="roomName" @click="tjfjClcik" />
: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> </div>
<van-field <van-field required clickable name="name" v-model="form.name" label="风险源名称" placeholder="请输入"
required :rules="[{ required: true, message: '风险源名称不能为空' }]" />
clickable <van-field v-model="form.factor" readonly required name="factor" label="风险因素" placeholder="请选择"
name="name" @click="seletFactor('factor')" :rules="[{ required: true, message: '风险因素不能为空' }]" />
v-model="form.name"
label="风险源名称"
placeholder="请输入"
:rules="[{ required: true, message: '风险源名称不能为空' }]"
/>
<van-field
v-model="form.factor"
required
name="factor"
label="风险因素"
placeholder="请选择"
@click="seletFactor('factor')"
:rules="[{ required: true, message: '风险因素不能为空' }]"
/>
<van-field <van-field readonly v-model="form.type" required name="type" label="准事故类型" placeholder="请选择"
v-model="form.type" @click="seletType('type')" :rules="[{ required: true, message: '准事故类型不能为空' }]" />
required
name="type"
label="准事故类型"
placeholder="请选择"
@click="seletType('type')"
:rules="[{ required: true, message: '准事故类型不能为空' }]"
/>
<van-field <van-field readonly v-model="form.level" required name="level" label="风险等级" placeholder="请选择" @click="seletGrade"
readonly :rules="[{ required: true, message: '风险等级不能为空' }]" />
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="请选择" <!-- <van-field readonly v-model="form.level" required name="level" label="风险等级" placeholder="请选择"
@click="seletGrade('level')" :rules="[{ required: true, message: '风险等级不能为空' }]" /> --> @click="seletGrade('level')" :rules="[{ required: true, message: '风险等级不能为空' }]" /> -->
<van-field <van-field required name="presenceLocation" v-model="form.presenceLocation" label="存在部位" placeholder="请输入"
required :rules="[{ required: true, message: '存在部位不能为空' }]" />
name="presenceLocation"
v-model="form.presenceLocation"
label="存在部位"
placeholder="请输入"
:rules="[{ required: true, message: '存在部位不能为空' }]"
/>
<div <div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
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> </div>
<van-field name="hdPicture1" label="风险源图片"> <van-field name="hdPicture1" label="风险源图片">
<template #input> <template #input>
<van-uploader <van-uploader @delete="deleteFile(...arguments, 'uploaderImg')" multiple :max-count="5" upload-text="最多上传五个"
@delete="deleteFile(...arguments, 'uploaderImg')" v-model="uploaderImg">
multiple
:max-count="5"
upload-text="最多上传五个"
v-model="uploaderImg"
>
<template slot="default"> <template slot="default">
<!-- 11111111111 --> <!-- 11111111111 -->
<div <div style="
style="
width: 2.13333rem; width: 2.13333rem;
height: 2.13333rem; height: 2.13333rem;
background: #f7f8fa; background: #f7f8fa;
...@@ -154,53 +56,28 @@ ...@@ -154,53 +56,28 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-direction: column; 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> <span class="van-uploader__upload-text">最多上传五个</span>
</div> </div>
</template> </template>
</van-uploader> </van-uploader>
</template> </template>
</van-field> </van-field>
<div <div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
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> </div>
<van-field <van-field v-model="form.measuresProject" name="measuresProject" label="技术措施" type="textarea" rows="1" autosize
v-model="form.measuresProject" placeholder="请输入" />
name="measuresProject"
label="技术措施"
type="textarea"
rows="1"
autosize
placeholder="请输入"
/>
<van-field name="measuresProjectFile[]" label=" "> <van-field name="measuresProjectFile[]" label=" ">
<template #input> <template #input>
<van-uploader <van-uploader multiple :max-count="5" upload-text="最多上传五个" v-model="measuresProjectFile" accept="file"
multiple result-type="file" @delete="deleteFile(...arguments, 'measuresProjectFile')">
:max-count="5"
upload-text="最多上传五个"
v-model="measuresProjectFile"
accept="file"
result-type="file"
@delete="deleteFile(...arguments, 'measuresProjectFile')"
>
<template slot="default"> <template slot="default">
<!-- 11111111111 --> <!-- 11111111111 -->
<div <div style="
style="
width: 2.13333rem; width: 2.13333rem;
height: 2.13333rem; height: 2.13333rem;
background: #f7f8fa; background: #f7f8fa;
...@@ -208,53 +85,28 @@ ...@@ -208,53 +85,28 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-direction: column; 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> <span class="van-uploader__upload-text">最多上传五个</span>
</div> </div>
</template> </template>
</van-uploader> </van-uploader>
</template> </template>
</van-field> </van-field>
<div <div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
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> </div>
<van-field <van-field v-model="form.measuresAdministration" name="measuresAdministration" label="管理措施" type="textarea" rows="1"
v-model="form.measuresAdministration" autosize placeholder="请输入" />
name="measuresAdministration"
label="管理措施"
type="textarea"
rows="1"
autosize
placeholder="请输入"
/>
<van-field name="measuresAdministrationFile[]" label=" "> <van-field name="measuresAdministrationFile[]" label=" ">
<template #input> <template #input>
<van-uploader <van-uploader multiple :max-count="5" upload-text="最多上传五个" v-model="measuresAdministrationFile" accept="file"
multiple result-type="file" @delete="deleteFile(...arguments, 'measuresAdministrationFile')">
:max-count="5"
upload-text="最多上传五个"
v-model="measuresAdministrationFile"
accept="file"
result-type="file"
@delete="deleteFile(...arguments, 'measuresAdministrationFile')"
>
<template slot="default"> <template slot="default">
<!-- 11111111111 --> <!-- 11111111111 -->
<div <div style="
style="
width: 2.13333rem; width: 2.13333rem;
height: 2.13333rem; height: 2.13333rem;
background: #f7f8fa; background: #f7f8fa;
...@@ -262,53 +114,28 @@ ...@@ -262,53 +114,28 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-direction: column; 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> <span class="van-uploader__upload-text">最多上传五个</span>
</div> </div>
</template> </template>
</van-uploader> </van-uploader>
</template> </template>
</van-field> </van-field>
<div <div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
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> </div>
<van-field <van-field v-model="form.measuresEmergency" name="measuresEmergency" label="应急措施" type="textarea" rows="1" autosize
v-model="form.measuresEmergency" placeholder="请输入" />
name="measuresEmergency"
label="应急措施"
type="textarea"
rows="1"
autosize
placeholder="请输入"
/>
<van-field name="measuresEmergencyFile[]" label=" "> <van-field name="measuresEmergencyFile[]" label=" ">
<template #input> <template #input>
<van-uploader <van-uploader multiple :max-count="5" upload-text="最多上传五个" v-model="measuresEmergencyFile" accept="file"
multiple result-type="file" @delete="deleteFile(...arguments, 'measuresEmergencyFile')">
:max-count="5"
upload-text="最多上传五个"
v-model="measuresEmergencyFile"
accept="file"
result-type="file"
@delete="deleteFile(...arguments, 'measuresEmergencyFile')"
>
<template slot="default"> <template slot="default">
<!-- 11111111111 --> <!-- 11111111111 -->
<div <div style="
style="
width: 2.13333rem; width: 2.13333rem;
height: 2.13333rem; height: 2.13333rem;
background: #f7f8fa; background: #f7f8fa;
...@@ -316,27 +143,17 @@ ...@@ -316,27 +143,17 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-direction: column; 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> <span class="van-uploader__upload-text">最多上传五个</span>
</div> </div>
</template> </template>
</van-uploader> </van-uploader>
</template> </template>
</van-field> </van-field>
<div <div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
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> </div>
<!-- <van-field <!-- <van-field
...@@ -350,121 +167,73 @@ ...@@ -350,121 +167,73 @@
@click="showTrouble = true" @click="showTrouble = true"
:rules="[{ required: true, message: '事故类型不能为空' }]" :rules="[{ required: true, message: '事故类型不能为空' }]"
/> --> /> -->
<van-dialog <van-dialog v-model="showGradeDialog" title="风险评测配置" :show-cancel-button="false" :show-confirm-button="false">
v-model="showGradeDialog"
title="风险评测配置"
:show-cancel-button="false"
:show-confirm-button="false"
>
<div class="dialogContain"> <div class="dialogContain">
<van-collapse v-model="activeNames"> <van-collapse v-model="activeNames">
<van-collapse-item title="风险模型" name="1"> <van-collapse-item title="风险模型" name="1">
<van-field <van-field readonly required name="level" label="当前风险模型" placeholder="LS风险矩阵评估模型" />
readonly
required
name="level"
label="当前风险模型"
placeholder="LS风险矩阵评估模型"
/>
</van-collapse-item> </van-collapse-item>
<van-collapse-item title="风险模型配置" name="2"> <van-collapse-item title="风险模型配置" name="2">
<van-popover <van-popover v-model="showPopover" trigger="click" :actions="columnsRiskRank" @select="onSelect">
v-model="showPopover"
trigger="click"
:actions="columnsRiskRank"
@select="onSelect"
>
<template #reference> <template #reference>
<van-field <van-field v-model="possibleValue" readonly required name="level" label="发生的可能性" placeholder="请选择" />
v-model="possibleValue"
readonly
required
name="level"
label="发生的可能性"
placeholder="请选择"
/>
</template> </template>
</van-popover> </van-popover>
<van-popover <van-popover v-model="showPopoveSetRank" trigger="click" :actions="columnsSetRank"
v-model="showPopoveSetRank" @select="onSelectSetRank">
trigger="click"
:actions="columnsSetRank"
@select="onSelectSetRank"
>
<template #reference> <template #reference>
<van-field <van-field v-model="severityValue" readonly required name="level" label="后果严重程度" placeholder="请选择" />
v-model="severityValue"
readonly
required
name="level"
label="后果严重程度"
placeholder="请选择"
/>
</template> </template>
</van-popover> </van-popover>
</van-collapse-item> </van-collapse-item>
</van-collapse> </van-collapse>
<van-row type="flex" justify="center" style="margin-top:10px"> <van-row type="flex" justify="center" style="margin-top:10px">
<van-col span="6" <van-col span="6"><van-button size="small" plain native-type="button" type="info"
><van-button @click="showGradeDialog = false">取消</van-button></van-col>
size="small" <van-col span="6"><van-button size="small" type="info" native-type="button"
plain @click="goResultPage">开始测评</van-button></van-col>
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> </van-row>
</div> </div>
</van-dialog> </van-dialog>
<van-popup v-model="showTrouble" position="bottom"> <van-popup v-model="showTrouble" position="bottom">
<van-picker <van-picker show-toolbar value-key="name" :columns="columnsTrouble" @confirm="onConTrouble"
show-toolbar @cancel="showTrouble = false" />
value-key="name"
:columns="columnsTrouble"
@confirm="onConTrouble"
@cancel="showTrouble = false"
/>
</van-popup> </van-popup>
<van-popup v-model="showSource" position="bottom"> <van-popup v-model="showSource" position="bottom">
<van-picker <van-picker show-toolbar value-key="name" :columns="columnsSource" @confirm="onConSource"
show-toolbar @cancel="showSource = false" />
value-key="name" </van-popup>
:columns="columnsSource" <!-- 楼层弹出层 -->
@confirm="onConSource" <van-popup v-model="ShowfloorList" position="bottom" :style="{ height: '100%' }">
@cancel="showSource = false" <selectFloor :listdata="floorSource" @closeSlect="closeSlectfloor" @saveSlect="saveSlectfloor"></selectFloor>
/> </van-popup>
<!-- 风险源弹出层 -->
<van-popup v-model="ShowSelectList" position="bottom" :style="{ height: '100%' }">
<selectList :listdata="columnsTrouble" @closeSlect="closeSlect" @saveSlect="saveSlect"></selectList>
</van-popup>
<!-- 准事故类型 -->
<van-popup v-model="ShowAccidentList" position="bottom" :style="{ height: '100%' }">
<selectList :listdata="columnsAccident" @closeSlect="closeSlectAccident" @saveSlect="saveSlectAccident">
</selectList>
</van-popup> </van-popup>
<div style="margin: 16px 16px 0"> <div style="margin: 16px 16px 0">
<van-button round block type="info" native-type="submit" <van-button round block type="info" native-type="submit">上报</van-button>
>上报</van-button
>
</div> </div>
</van-form> </van-form>
<div style="margin: 10px 16px 0px; padding-bottom: 16px"> <div style="margin: 10px 16px 0px; padding-bottom: 16px">
<van-button round block type="warning" @click.native="cancel" <van-button round block type="warning" @click.native="cancel">取消</van-button>
>取消</van-button
>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import SelectList from "@/components/selectList.vue";
import selectFloor from "@/components/selectFloor.vue";
// import selectPeople from "@/views/riskTask/selectPeople/index.vue"; // import selectPeople from "@/views/riskTask/selectPeople/index.vue";
import { getUserInfo, getLocalUserInfo } from "@/utils/userInfo"; import { getUserInfo, getLocalUserInfo } from "@/utils/userInfo";
import { getFun, postFun } from "@/service/table.js"; import { getFun, postFun } from "@/service/table.js";
// import { // import {
// getFormList, // getFormList,
// postHdSource, // postHdSource,
...@@ -477,7 +246,9 @@ import { getFun, postFun } from "@/service/table.js"; ...@@ -477,7 +246,9 @@ import { getFun, postFun } from "@/service/table.js";
export default { export default {
name: "addInherent", name: "addInherent",
components: { components: {
LHeader LHeader,
SelectList,
selectFloor
}, },
activated() { activated() {
this.showSetRank = false; // 再次关闭弹出层 以防万一 this.showSetRank = false; // 再次关闭弹出层 以防万一
...@@ -501,21 +272,25 @@ export default { ...@@ -501,21 +272,25 @@ export default {
this.$bus.$off("riskLevelBus"); this.$bus.$off("riskLevelBus");
}); });
}, },
beforeRouteEnter(to, from, next){ beforeRouteEnter(to, from, next) {
if(from.name=='riskInherent'){ if (from.name == 'riskInherent') {
sessionStorage.setItem('inherenForm','') sessionStorage.setItem('inherenForm', '')
sessionStorage.setItem('level','') sessionStorage.setItem('level', '')
} }
next() next()
}, },
beforeRouteLeave(to, from, next) { beforeRouteLeave(to, from, next) {
if (to.name != "riskInherent") { if (to.name != "riskInherent") {
sessionStorage.setItem('inherenForm',JSON.stringify(this.form)) sessionStorage.setItem('inherenForm', JSON.stringify(this.form))
} }
next(); next();
}, },
data() { data() {
return { return {
ShowfloorList: false,
floorSource: [],
ShowAccidentList: false,
ShowSelectList: false,
showPopoveSetRank: false, showPopoveSetRank: false,
activeNames: ["1"], activeNames: ["1"],
showPopover: false, showPopover: false,
...@@ -549,6 +324,7 @@ export default { ...@@ -549,6 +324,7 @@ export default {
showSource: false, showSource: false,
columnsSource: [], columnsSource: [],
trouble: "", //事故类型 trouble: "", //事故类型
columnsAccident: [],
showTrouble: false, showTrouble: false,
columnsTrouble: [], columnsTrouble: [],
setRank: "", //风险定级 setRank: "", //风险定级
...@@ -603,31 +379,79 @@ export default { ...@@ -603,31 +379,79 @@ export default {
this.form.deptName = userInfo.dept.deptName; this.form.deptName = userInfo.dept.deptName;
(this.form.projectId = "测试项目") (this.form.projectId = "测试项目")
}, },
mounted(){ mounted() {
if(sessionStorage.getItem('inherenForm')!=''){ if (sessionStorage.getItem('inherenForm') != '') {
this.form=JSON.parse(sessionStorage.getItem('inherenForm')) this.form = JSON.parse(sessionStorage.getItem('inherenForm'))
this.form.level = sessionStorage.getItem('level') this.form.level = sessionStorage.getItem('level')
} }
this.getFloor()
this.getFXYS()
this.getZSGLX()
}, },
methods: { methods: {
seletFloor(name) { renameKeyInTree(data, oldKey, newKey) {
this.$toast.loading({
message: "加载中...", let arr = data.map(item => {
forbidClick: true, const newItem = { ...item };
loadingType: "spinner",
duration: 0 if (item.hasOwnProperty(oldKey)) {
newItem[newKey] = newItem[oldKey];
delete newItem[oldKey];
}
if (newItem.children && newItem.children.length > 0) {
newItem.children = this.renameKeyInTree(newItem.children, oldKey, newKey);
}
return newItem;
}); });
this.userPrefix = name;
return arr;
},
getFloor() {
getFun(`/risk/plan/floor/list/${this.form.buildingIds}`) getFun(`/risk/plan/floor/list/${this.form.buildingIds}`)
.then(res => { .then(res => {
this.$toast.clear(); // this.$toast.clear();
this.showSource = true; // this.showSource = true;
this.columnsSource = res.data; let newArr = this.renameKeyInTree(res.data,'name','text')
this.floorSource = newArr;
}) })
.catch(() => { .catch(() => {
this.$toast.fail("加载失败,请稍后再试"); this.$toast.fail("加载失败,请稍后再试");
}); });
}, },
getFXYS() {
getFun(`/risk/plan/dict/data/list?dictType=risk_plan_factor`)
.then(res => {
this.columnsTrouble = res.data;
})
.catch(() => {
this.$toast.fail("加载失败,请稍后再试");
});
},
getZSGLX() {
getFun(`/risk/plan/dict/data/list?dictType=risk_plan_type`)
.then(res => {
this.columnsAccident = res.data;
})
.catch(() => {
this.$toast.fail("加载失败,请稍后再试");
});
},
seletFloor(name) {
// this.$toast.loading({
// message: "加载中...",
// forbidClick: true,
// loadingType: "spinner",
// duration: 0
// });
this.ShowfloorList = true
this.userPrefix = name;
},
seletRoom(name) { seletRoom(name) {
this.$toast.loading({ this.$toast.loading({
message: "加载中...", message: "加载中...",
...@@ -648,55 +472,19 @@ export default { ...@@ -648,55 +472,19 @@ export default {
}, },
//风险因素 //风险因素
seletFactor(name) { seletFactor(name) {
this.showTrouble = true; // this.showTrouble = true;
this.riskName = name; this.riskName = name;
getFun(`/risk/plan/dict/data/list?dictType=risk_plan_factor`) this.ShowSelectList = true
.then(res => {
console.log(res.data);
const arr = [];
res.data.forEach(item => {
arr.push({ name: item.dictLabel });
});
this.columnsTrouble = arr;
})
.catch(() => {
this.$toast.fail("加载失败,请稍后再试");
});
}, },
//准事故类型 //准事故类型
seletType(name) { seletType(name) {
this.showTrouble = true; // this.showTrouble = true;
this.riskName = name; this.riskName = name;
getFun(`/risk/plan/dict/data/list?dictType=risk_plan_type`) this.ShowAccidentList = true
.then(res => {
const arr = [];
res.data.forEach(item => {
arr.push({ name: item.dictLabel });
});
this.columnsTrouble = arr;
})
.catch(() => {
this.$toast.fail("加载失败,请稍后再试");
});
}, },
//风险等级 //风险等级
seletGrade(name) { seletGrade(name) {
// this.showTrouble = true
// this.riskName = name
// this.columnsTrouble = [
// {
// name: '重大风险',
// },
// {
// name: '较大风险',
// },
// {
// name: '一般风险',
// },
// {
// name: '较小风险',
// },
// ]
this.getGradeList("possibility"); this.getGradeList("possibility");
this.getGradeList("severity"); this.getGradeList("severity");
this.showGradeDialog = true; this.showGradeDialog = true;
...@@ -727,6 +515,27 @@ export default { ...@@ -727,6 +515,27 @@ export default {
// }) // })
// }, // },
closeSlectfloor() {
this.ShowfloorList = false
},
saveSlectfloor(data) {
this.form.floorName = data.text
this.ShowfloorList = false
},
closeSlect() {
this.ShowSelectList = false
},
saveSlect(data) {
this.form.factor = data.join(',');
this.ShowSelectList = false
},
closeSlectAccident() {
this.ShowAccidentList = false
},
saveSlectAccident(data) {
this.form.type = data.join(',');
this.ShowAccidentList = false
},
onSelect(data) { onSelect(data) {
this.possibleValue = data.text; this.possibleValue = data.text;
this.possibleScore = data.score; this.possibleScore = data.score;
......
<template> <template>
<div> <div>
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
<van-form <van-form @submit="onSubmit" :scroll-to-error="true" :show-error="false" validate-trigger="onSubmit">
@submit="onSubmit" <div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
:scroll-to-error="true" <img src="@/assets/accidentIcon/bookmark.svg" alt=""
:show-error="false" style="position: relative;top: 32%;transform: translateY(-50%);">
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> </div>
<van-field <van-field readonly required name="userName" :value="form.userName" label="评估人" placeholder="请输入" />
readonly <van-field readonly required name="projectId" :value="form.projectId" label="所属项目" placeholder="请输入" />
required <van-field readonly required name="buildingName" :value="form.buildingName" label="所属建筑物" placeholder="请输入" />
name="userName"
:value="form.userName"
label="评估人"
placeholder="请输入"
/>
<van-field
readonly
required
name="projectId"
:value="form.projectId"
label="所属项目"
placeholder="请输入"
/>
<van-field
readonly
required
name="buildingName"
:value="form.buildingName"
label="所属建筑物"
placeholder="请输入"
/>
<van-field <van-field required clickable name="floorId" :value="form.floorId" label="所属楼层" placeholder="请选择"
required @click="seletFloor('floor')" :rules="[{ required: true, message: '所属楼层不能为空' }]" />
clickable
name="floorId"
:value="form.floorId"
label="所属楼层"
placeholder="请选择"
@click="seletFloor('floor')"
:rules="[{ required: true, message: '所属楼层不能为空' }]"
/>
<van-field <van-field readonly required name="roomName" :value="form.roomName" label="所属房间" placeholder="请输入"
readonly @click="seletRoom('room')" :rules="[{ required: true, message: '所属房间不能为空' }]" />
required
name="roomName"
:value="form.roomName"
label="所属房间"
placeholder="请输入"
@click="seletRoom('room')"
:rules="[{ required: true, message: '所属房间不能为空' }]"
/>
<van-field <van-field required name="name" v-model="form.name" label="风险源名称" placeholder="请输入"
required :rules="[{ required: true, message: '风险源名称不能为空' }]" />
name="name" <van-field readonly v-model="form.factor" required name="factor" label="风险因素" placeholder="请选择"
v-model="form.name" @click="seletFactor('factor')" :rules="[{ required: true, message: '风险因素不能为空' }]" />
label="风险源名称"
placeholder="请输入"
:rules="[{ required: true, message: '风险源名称不能为空' }]"
/>
<van-field
v-model="form.factor"
required
name="factor"
label="风险因素"
placeholder="请选择"
@click="seletFactor('factor')"
:rules="[{ required: true, message: '风险因素不能为空' }]"
/>
<van-field <van-field readonly v-model="form.type" required name="type" label="准事故类型" placeholder="请选择" @click="seletType('type')"
v-model="form.type" :rules="[{ required: true, message: '准事故类型不能为空' }]" />
required
name="type"
label="准事故类型"
placeholder="请选择"
@click="seletType('type')"
:rules="[{ required: true, message: '准事故类型不能为空' }]"
/>
<!-- <van-field <!-- <van-field
readonly readonly
...@@ -96,35 +35,24 @@ ...@@ -96,35 +35,24 @@
@click="seletGrade('level')" @click="seletGrade('level')"
:rules="[{ required: true, message: '风险等级不能为空' }]" :rules="[{ required: true, message: '风险等级不能为空' }]"
/> --> /> -->
<van-field readonly v-model="form.level" required name="level" label="风险等级" placeholder="请选择" <van-field readonly v-model="form.level" required name="level" label="风险管控措施评价" placeholder="请选择"
@click="seletGrade" :rules="[{ required: true, message: '风险等级不能为空' }]" /> @click="seletGrade" :rules="[{ required: true, message: '风险等级不能为空' }]" />
<van-field <van-field required name="presenceLocation" v-model="form.presenceLocation" label="存在部位" placeholder="请输入"
required :rules="[{ required: true, message: '存在部位不能为空' }]" />
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;" > <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> </div>
<van-field name="hdPicture1" label="风险源图片" > <van-field name="hdPicture1" label="风险源图片">
<template #input> <template #input>
<van-uploader <van-uploader @delete="deleteFile(...arguments, 'uploaderImg')" multiple :max-count="5"
@delete="deleteFile(...arguments, 'uploaderImg')" upload-text="最多上传五个" v-model="uploaderImg">
multiple
:max-count="5"
upload-text="最多上传五个"
v-model="uploaderImg"
>
<template slot="default"> <template slot="default">
<!-- 11111111111 --> <!-- 11111111111 -->
<div <div style="
style="
width: 2.13333rem; width: 2.13333rem;
height: 2.13333rem; height: 2.13333rem;
background: #f7f8fa; background: #f7f8fa;
...@@ -132,49 +60,28 @@ ...@@ -132,49 +60,28 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-direction: column; flex-direction: column;
" ">
> <img src="@/assets/upload/pic.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<img <span class="van-uploader__upload-text">最多上传五个</span>
src="@/assets/upload/pic.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
<span class="van-uploader__upload-text"
>最多上传五个</span
>
</div> </div>
</template> </template>
</van-uploader> </van-uploader>
</template> </template>
</van-field> </van-field>
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;" > <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> </div>
<van-field <van-field v-model="form.measuresProject" name="measuresProject" label="技术措施" type="textarea" rows="1" autosize
v-model="form.measuresProject" placeholder="请输入" />
name="measuresProject"
label="技术措施"
type="textarea"
rows="1"
autosize
placeholder="请输入"
/>
<van-field name="measuresProjectFile[]" label=" "> <van-field name="measuresProjectFile[]" label=" ">
<template #input> <template #input>
<van-uploader <van-uploader multiple :max-count="5" upload-text="最多上传五个" v-model="measuresProjectFile" accept="file"
multiple result-type="file" @delete="deleteFile(...arguments, 'measuresProjectFile')">
:max-count="5"
upload-text="最多上传五个"
v-model="measuresProjectFile"
accept="file"
result-type="file"
@delete="deleteFile(...arguments, 'measuresProjectFile')"
>
<template slot="default"> <template slot="default">
<!-- 11111111111 --> <!-- 11111111111 -->
<div <div style="
style="
width: 2.13333rem; width: 2.13333rem;
height: 2.13333rem; height: 2.13333rem;
background: #f7f8fa; background: #f7f8fa;
...@@ -182,49 +89,28 @@ ...@@ -182,49 +89,28 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-direction: column; flex-direction: column;
" ">
> <img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<img <span class="van-uploader__upload-text">最多上传五个</span>
src="@/assets/upload/file.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
<span class="van-uploader__upload-text"
>最多上传五个</span
>
</div> </div>
</template> </template>
</van-uploader> </van-uploader>
</template> </template>
</van-field> </van-field>
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;" > <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> </div>
<van-field <van-field v-model="form.measuresAdministration" name="measuresAdministration" label="管理措施" type="textarea"
v-model="form.measuresAdministration" rows="1" autosize placeholder="请输入" />
name="measuresAdministration"
label="管理措施"
type="textarea"
rows="1"
autosize
placeholder="请输入"
/>
<van-field name="measuresAdministrationFile[]" label=" "> <van-field name="measuresAdministrationFile[]" label=" ">
<template #input> <template #input>
<van-uploader <van-uploader multiple :max-count="5" upload-text="最多上传五个" v-model="measuresAdministrationFile"
multiple accept="file" result-type="file" @delete="deleteFile(...arguments, 'measuresAdministrationFile')">
:max-count="5"
upload-text="最多上传五个"
v-model="measuresAdministrationFile"
accept="file"
result-type="file"
@delete="deleteFile(...arguments, 'measuresAdministrationFile')"
>
<template slot="default"> <template slot="default">
<!-- 11111111111 --> <!-- 11111111111 -->
<div <div style="
style="
width: 2.13333rem; width: 2.13333rem;
height: 2.13333rem; height: 2.13333rem;
background: #f7f8fa; background: #f7f8fa;
...@@ -232,49 +118,28 @@ ...@@ -232,49 +118,28 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-direction: column; flex-direction: column;
" ">
> <img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<img <span class="van-uploader__upload-text">最多上传五个</span>
src="@/assets/upload/file.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
<span class="van-uploader__upload-text"
>最多上传五个</span
>
</div> </div>
</template> </template>
</van-uploader> </van-uploader>
</template> </template>
</van-field> </van-field>
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;" > <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> </div>
<van-field <van-field v-model="form.measuresEmergency" name="measuresEmergency" label="应急措施" type="textarea" rows="1"
v-model="form.measuresEmergency" autosize placeholder="请输入" />
name="measuresEmergency"
label="应急措施"
type="textarea"
rows="1"
autosize
placeholder="请输入"
/>
<van-field name="measuresEmergencyFile[]" label=" "> <van-field name="measuresEmergencyFile[]" label=" ">
<template #input> <template #input>
<van-uploader <van-uploader multiple :max-count="5" upload-text="最多上传五个" v-model="measuresEmergencyFile" accept="file"
multiple result-type="file" @delete="deleteFile(...arguments, 'measuresEmergencyFile')">
:max-count="5"
upload-text="最多上传五个"
v-model="measuresEmergencyFile"
accept="file"
result-type="file"
@delete="deleteFile(...arguments, 'measuresEmergencyFile')"
>
<template slot="default"> <template slot="default">
<!-- 11111111111 --> <!-- 11111111111 -->
<div <div style="
style="
width: 2.13333rem; width: 2.13333rem;
height: 2.13333rem; height: 2.13333rem;
background: #f7f8fa; background: #f7f8fa;
...@@ -282,24 +147,18 @@ ...@@ -282,24 +147,18 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-direction: column; flex-direction: column;
" ">
> <img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<img <span class="van-uploader__upload-text">最多上传五个</span>
src="@/assets/upload/file.png"
alt=""
style="width: 0.64rem; height: 0.64rem"
/>
<span class="van-uploader__upload-text"
>最多上传五个</span
>
</div> </div>
</template> </template>
</van-uploader> </van-uploader>
</template> </template>
</van-field> </van-field>
<!-- v-if="this.$route.params.isView" --> <!-- v-if="this.$route.params.isView" -->
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;" > <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> </div>
<!-- <van-field <!-- <van-field
...@@ -314,40 +173,37 @@ ...@@ -314,40 +173,37 @@
:rules="[{ required: true, message: '事故类型不能为空' }]" :rules="[{ required: true, message: '事故类型不能为空' }]"
/> --> /> -->
<van-popup v-model="showTrouble" position="bottom"> <van-popup v-model="showTrouble" position="bottom">
<van-picker <van-picker show-toolbar value-key="name" :columns="columnsTrouble" @confirm="onConTrouble"
show-toolbar @cancel="showTrouble = false" />
value-key="name"
:columns="columnsTrouble"
@confirm="onConTrouble"
@cancel="showTrouble = false"
/>
</van-popup> </van-popup>
<van-popup v-model="showSource" position="bottom"> <van-popup v-model="showSource" position="bottom">
<van-picker <van-picker show-toolbar value-key="name" :columns="columnsSource" @confirm="onConSource"
show-toolbar @cancel="showSource = false" />
value-key="name" </van-popup>
:columns="columnsSource"
@confirm="onConSource" <!-- 风险源弹出层 -->
@cancel="showSource = false" <van-popup v-model="ShowSelectList" position="bottom" :style="{ height: '100%' }">
/> <selectList :listdata="columnsTrouble" @closeSlect="closeSlect" @saveSlect="saveSlect"></selectList>
</van-popup>
<!-- 准事故类型 -->
<van-popup v-model="ShowAccidentList" position="bottom" :style="{ height: '100%' }">
<selectList :listdata="columnsAccident" @closeSlect="closeSlectAccident" @saveSlect="saveSlectAccident">
</selectList>
</van-popup> </van-popup>
<!-- v-if="this.$route.params.isView" --> <!-- v-if="this.$route.params.isView" -->
<div style="margin: 16px 16px 0" > <div style="margin: 16px 16px 0">
<van-button round block type="info" native-type="submit" <van-button round block type="info" native-type="submit">上报</van-button>
>上报</van-button
>
</div> </div>
</van-form> </van-form>
<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"> <div class="dialogContain">
<van-collapse v-model="activeNames"> <van-collapse v-model="activeNames">
<van-collapse-item title="风险模型" name="1"> <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>
<van-collapse-item title="风险模型配置" name="2"> <van-collapse-item title="风险模型配置" name="2">
<van-popover v-model="showPopover" trigger="click" :actions="columnsRiskRank" <van-popover v-model="showPopover" trigger="click" :actions="columnsRiskRank" @select="onSelect">
@select="onSelect">
<template #reference> <template #reference>
<van-field v-model="possibleValue" readonly required name="level" label="发生的可能性" <van-field v-model="possibleValue" readonly required name="level" label="发生的可能性"
placeholder="请选择" /> placeholder="请选择" />
...@@ -363,24 +219,24 @@ ...@@ -363,24 +219,24 @@
</van-collapse-item> </van-collapse-item>
</van-collapse> </van-collapse>
<van-row type="flex" justify="center" style="margin-top:10px"> <van-row type="flex" justify="center" style="margin-top:10px">
<van-col span="6"><van-button size="small" plain type="info" @click="showGradeDialog = false">取消</van-button></van-col> <van-col span="6"><van-button size="small" plain type="info"
@click="showGradeDialog = false">取消</van-button></van-col>
<van-col span="6"><van-button size="small" type="info" @click="goResultPage">开始测评</van-button></van-col> <van-col span="6"><van-button size="small" type="info" @click="goResultPage">开始测评</van-button></van-col>
</van-row> </van-row>
</div> </div>
</van-dialog> </van-dialog>
<!-- v-if="this.$route.params.isView" --> <!-- v-if="this.$route.params.isView" -->
<div style="margin: 10px 16px 0px; padding-bottom: 16px"> <div style="margin: 10px 16px 0px; padding-bottom: 16px">
<van-button round block type="warning" @click.native="cancel" <van-button round block type="warning" @click.native="cancel">取消</van-button>
>取消</van-button
>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import SelectList from "@/components/selectList.vue";
// import selectPeople from "@/views/riskTask/selectPeople/index.vue"; // import selectPeople from "@/views/riskTask/selectPeople/index.vue";
import { getUserInfo, getLocalUserInfo} from '@/utils/userInfo' import { getUserInfo, getLocalUserInfo } from '@/utils/userInfo'
import { getFun, postFun } from "@/service/table.js"; import { getFun, postFun } from "@/service/table.js";
// import { // import {
// getFormList, // getFormList,
...@@ -399,21 +255,24 @@ export default { ...@@ -399,21 +255,24 @@ export default {
activated() { activated() {
}, },
beforeRouteEnter(to, from, next){ beforeRouteEnter(to, from, next) {
if(from.name=='addCurrent'){ if (from.name == 'addCurrent') {
sessionStorage.setItem('presentForm','') sessionStorage.setItem('presentForm', '')
sessionStorage.setItem('level','') sessionStorage.setItem('level', '')
} }
next() next()
}, },
beforeRouteLeave(to, from, next) { beforeRouteLeave(to, from, next) {
if (to.name != "riskInherent") { if (to.name != "riskInherent") {
sessionStorage.setItem('presentForm',JSON.stringify(this.form)) sessionStorage.setItem('presentForm', JSON.stringify(this.form))
} }
next(); next();
}, },
data() { data() {
return { return {
ShowAccidentList: false,
ShowSelectList: false,
columnsAccident: [],
showPopoveSetRank: false, showPopoveSetRank: false,
activeNames: ["1"], activeNames: ["1"],
showPopover: false, showPopover: false,
...@@ -421,9 +280,9 @@ export default { ...@@ -421,9 +280,9 @@ export default {
taskId: "", taskId: "",
text: "添加现状风险", text: "添加现状风险",
id: "", id: "",
isTimely:1, isTimely: 1,
active:0, active: 0,
form:{ form: {
}, },
projectId: "", // 所属工程 projectId: "", // 所属工程
...@@ -447,7 +306,7 @@ export default { ...@@ -447,7 +306,7 @@ export default {
columnsSetRank: ["矩阵式定级", "其他定级方式"], columnsSetRank: ["矩阵式定级", "其他定级方式"],
riskRank: "", // 风险等级 riskRank: "", // 风险等级
showRiskRank: false, showRiskRank: false,
columnsRiskRank: ["重大风险", "较大风险", "一般风险", "较小风险" ], columnsRiskRank: ["重大风险", "较大风险", "一般风险", "较小风险"],
showSetRankMode: false, // 是否显示定级方式 showSetRankMode: false, // 是否显示定级方式
setRankMode: "", // 定级方式文字 setRankMode: "", // 定级方式文字
setRankModeImg: [], // 定级方式图片 setRankModeImg: [], // 定级方式图片
...@@ -476,102 +335,99 @@ export default { ...@@ -476,102 +335,99 @@ export default {
returnCause: "", // 退回原因 returnCause: "", // 退回原因
isShowreturnCause: false, isShowreturnCause: false,
possibleValue: "", possibleValue: "",
possibleScore:0, possibleScore: 0,
severityValue: "", severityValue: "",
severityScore:0, severityScore: 0,
}; };
}, },
created() { created() {
var userInfo=getUserInfo() var userInfo = getUserInfo()
this.form.buildingIds=this.$route.params.id this.form.buildingIds = this.$route.params.id
this.form.planId=this.$route.params.planId this.form.planId = this.$route.params.planId
this.form.floorId = this.$route.params.floorId this.form.floorId = this.$route.params.floorId
this.form.roomId = this.$route.params.roomId this.form.roomId = this.$route.params.roomId
this.form.inherentId = this.$route.params.id this.form.inherentId = this.$route.params.id
this.form.roomName = this.$route.params.roomName this.form.roomName = this.$route.params.roomName
this.form.buildingName = '1号楼' this.form.buildingName = '1号楼'
this.form.userId=userInfo.userId this.form.userId = userInfo.userId
this.form.userName=userInfo.userName this.form.userName = userInfo.userName
this.form.deptName=userInfo.dept.deptName this.form.deptName = userInfo.dept.deptName
this.form.projectId='测试项目' this.form.projectId = '测试项目'
}, },
mounted(){ mounted() {
if(sessionStorage.getItem('presentForm')!=''){ if (sessionStorage.getItem('presentForm') != '') {
this.form=JSON.parse(sessionStorage.getItem('presentForm')) this.form = JSON.parse(sessionStorage.getItem('presentForm'))
this.form.level = sessionStorage.getItem('level') this.form.level = sessionStorage.getItem('level')
} }
this.getFXYS();
this.getZSGLX();
}, },
methods: { methods: {
seletFloor(name){ getFXYS() {
getFun(`/risk/plan/dict/data/list?dictType=risk_plan_factor`)
.then(res => {
this.columnsTrouble = res.data;
})
.catch(() => {
this.$toast.fail("加载失败,请稍后再试");
});
},
getZSGLX() {
getFun(`/risk/plan/dict/data/list?dictType=risk_plan_type`)
.then(res => {
this.columnsAccident = res.data;
})
.catch(() => {
this.$toast.fail("加载失败,请稍后再试");
});
},
seletFloor(name) {
this.$toast.loading({ this.$toast.loading({
message: "加载中...", message: "加载中...",
forbidClick: true, forbidClick: true,
loadingType: "spinner", loadingType: "spinner",
duration: 0, duration: 0,
}); });
this.userPrefix=name this.userPrefix = name
getFun(`/risk/plan/floor/list/${this.form.buildingIds}`).then((res) => { getFun(`/risk/plan/floor/list/${this.form.buildingIds}`).then((res) => {
this.$toast.clear() this.$toast.clear()
this.showSource=true this.showSource = true
this.columnsSource=res.data this.columnsSource = res.data
}).catch(() => { }).catch(() => {
this.$toast.fail("加载失败,请稍后再试"); this.$toast.fail("加载失败,请稍后再试");
}); });
}, },
seletRoom(name){ seletRoom(name) {
this.$toast.loading({ this.$toast.loading({
message: "加载中...", message: "加载中...",
forbidClick: true, forbidClick: true,
loadingType: "spinner", loadingType: "spinner",
duration: 0, duration: 0,
}); });
this.userPrefix=name this.userPrefix = name
getFun(`/risk/plan/room/list/${this.form.floorId}`).then((res) => { getFun(`/risk/plan/room/list/${this.form.floorId}`).then((res) => {
this.$toast.clear() this.$toast.clear()
this.showSource=true this.showSource = true
this.columnsSource=res.data this.columnsSource = res.data
}).catch(() => { }).catch(() => {
this.$toast.fail("加载失败,请稍后再试"); this.$toast.fail("加载失败,请稍后再试");
}); });
}, },
seletFactor(name){ //风险因素
this.showTrouble=true seletFactor(name) {
this.riskName=name // this.showTrouble = true;
this.columnsTrouble=[ this.riskName = name;
{ this.ShowSelectList = true
name:'人的因素', },
}, //准事故类型
{ seletType(name) {
name:'物的因素', // this.showTrouble = true;
}, this.riskName = name;
{ this.ShowAccidentList = true
name:'环境因素',
},
{
name:'管理因素',
},
]
},
seletType(name){
this.showTrouble=true
this.riskName=name
this.columnsTrouble=[
{
name:'物体打击',
},
{
name:'车辆伤害',
},
{
name:'起重伤害',
},
{
name:'机械伤害',
},
]
}, },
seletGrade(name){ seletGrade(name) {
this.getGradeList('possibility') this.getGradeList('possibility')
this.getGradeList('severity') this.getGradeList('severity')
this.showGradeDialog = true this.showGradeDialog = true
...@@ -592,6 +448,20 @@ export default { ...@@ -592,6 +448,20 @@ export default {
}) })
}, },
closeSlect() {
this.ShowSelectList = false
},
saveSlect(data) {
this.form.factor = data.join(',');
this.ShowSelectList = false
},
closeSlectAccident() {
this.ShowAccidentList = false
},
saveSlectAccident(data) {
this.form.type = data.join(',');
this.ShowAccidentList = false
},
onSelect(data) { onSelect(data) {
this.possibleValue = data.text this.possibleValue = data.text
this.possibleScore = data.score this.possibleScore = data.score
...@@ -601,15 +471,15 @@ export default { ...@@ -601,15 +471,15 @@ export default {
this.severityScore = data.score this.severityScore = data.score
}, },
//开始测评 //开始测评
goResultPage(){ goResultPage() {
this.$router.push({ this.$router.push({
name:'resultPage', name: 'resultPage',
params:{ params: {
score:this.severityScore * this.possibleScore score: this.severityScore * this.possibleScore
} }
}) })
}, },
performTasks(){ performTasks() {
}, },
// 点击预览图 // 点击预览图
...@@ -649,34 +519,34 @@ export default { ...@@ -649,34 +519,34 @@ export default {
}, },
onSubmit(values) { onSubmit(values) {
// console.log('%c [ values ]-592', 'font-size:13px; background:pink; color:#bf2c9f;', values) // console.log('%c [ values ]-592', 'font-size:13px; background:pink; color:#bf2c9f;', values)
var formDataJson=this.jsonToFormData(this.form) var formDataJson = this.jsonToFormData(this.form)
// let url = "/risk/plan/inherent"; // let url = "/risk/plan/inherent";
let url = "/risk/plan/existing"; let url = "/risk/plan/existing";
values.hdPicture1.forEach((item) => { values.hdPicture1.forEach((item) => {
if (item.file) { if (item.file) {
formDataJson.append("pictureFile[]", item.file); formDataJson.append("pictureFile[]", item.file);
}else{ } else {
formDataJson.append("pictureFile[]", item.fileId); formDataJson.append("pictureFile[]", item.fileId);
} }
}); });
values['measuresProjectFile[]'].forEach((item) => { values['measuresProjectFile[]'].forEach((item) => {
if (item.file) { if (item.file) {
formDataJson.append("measuresProjectFile[]", item.file); formDataJson.append("measuresProjectFile[]", item.file);
}else{ } else {
formDataJson.append("measuresProjectFile[]", item.fileId); formDataJson.append("measuresProjectFile[]", item.fileId);
} }
}); });
values['measuresEmergencyFile[]'].forEach((item) => { values['measuresEmergencyFile[]'].forEach((item) => {
if (item.file) { if (item.file) {
formDataJson.append("measuresEmergencyFile[]", item.file); formDataJson.append("measuresEmergencyFile[]", item.file);
}else{ } else {
formDataJson.append("measuresEmergencyFile[]", item.fileId); formDataJson.append("measuresEmergencyFile[]", item.fileId);
} }
}); });
values['measuresAdministrationFile[]'].forEach((item) => { values['measuresAdministrationFile[]'].forEach((item) => {
if (item.file) { if (item.file) {
formDataJson.append("measuresAdministrationFile[]", item.file); formDataJson.append("measuresAdministrationFile[]", item.file);
}else{ } else {
formDataJson.append("measuresAdministrationFile[]", item.fileId); formDataJson.append("measuresAdministrationFile[]", item.fileId);
} }
}); });
...@@ -818,15 +688,15 @@ export default { ...@@ -818,15 +688,15 @@ export default {
// 选择作业人 // 选择作业人
goSelPeoTwo(val) { goSelPeoTwo(val) {
this.peopleName=val this.peopleName = val
this.show = true; this.show = true;
}, },
onClose() { onClose() {
this.show = false; this.show = false;
}, },
onSave(e) { onSave(e) {
this.projectDirector=e[0].loginName this.projectDirector = e[0].loginName
this.projectDirectorName=e[0].userName this.projectDirectorName = e[0].userName
this.show = false; this.show = false;
}, },
}, },
...@@ -846,6 +716,7 @@ export default { ...@@ -846,6 +716,7 @@ export default {
.con-list { .con-list {
padding: 0; padding: 0;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
margin-bottom: 0.26667rem; margin-bottom: 0.26667rem;
...@@ -856,13 +727,16 @@ export default { ...@@ -856,13 +727,16 @@ export default {
box-shadow: 0px 0px 10px 2px #f3f3f3; box-shadow: 0px 0px 10px 2px #f3f3f3;
width: 90%; width: 90%;
margin: 0.4rem auto; margin: 0.4rem auto;
.van-row { .van-row {
font-size: 0.4rem; font-size: 0.4rem;
line-height: 0.8rem; line-height: 0.8rem;
margin-bottom: 0; margin-bottom: 0;
} }
.van-overlay { .van-overlay {
position: absolute; position: absolute;
.wrapper { .wrapper {
display: flex; display: flex;
align-items: center; align-items: center;
...@@ -871,5 +745,5 @@ export default { ...@@ -871,5 +745,5 @@ export default {
} }
} }
} }
} }
</style> </style>
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
<van-tabs v-model="active" @change="tabList" color="#2980f7" animated> <van-tabs v-model="active" @change="tabList" color="#2980f7" animated>
<van-tab :title="buildingName"> <van-tab :title="buildingName">
<van-dropdown-menu z-index="1000"> <van-dropdown-menu z-index="1000">
<van-dropdown-item v-model="value0" @change="changeBuild" :options="option0" get-container="body" />
<van-dropdown-item v-model="value1" @change="changeFloor" :options="option1" get-container="body" /> <van-dropdown-item v-model="value1" @change="changeFloor" :options="option1" get-container="body" />
<van-dropdown-item v-model="value2" @change="changeRoom" :options="option2" get-container="body" /> <van-dropdown-item v-model="value2" @change="changeRoom" :options="option2" get-container="body" />
</van-dropdown-menu> </van-dropdown-menu>
...@@ -97,8 +98,10 @@ export default { ...@@ -97,8 +98,10 @@ export default {
planId: 0, planId: 0,
buildingId: 0, buildingId: 0,
buildingName: "", buildingName: "",
value0:'',
value1: 0, value1: 0,
value2: 0, value2: 0,
option0:[],
option1: [], option1: [],
option2: [], option2: [],
isHaveNews: false, isHaveNews: false,
...@@ -108,7 +111,8 @@ export default { ...@@ -108,7 +111,8 @@ export default {
showIndex: null, // 是否显示遮罩层, showIndex: null, // 是否显示遮罩层,
active: 1, active: 1,
form: {}, form: {},
tabs: [] tabs: [],
floorListData:[]
}; };
}, },
created() { created() {
...@@ -127,7 +131,7 @@ export default { ...@@ -127,7 +131,7 @@ export default {
arr.forEach(item => { arr.forEach(item => {
arrList.push({ arrList.push({
text: item.name, text: item.name,
value: item.id value: item.id || item.name
}); });
}); });
return arrList; return arrList;
...@@ -189,9 +193,10 @@ export default { ...@@ -189,9 +193,10 @@ export default {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
getFun(`/risk/plan/floor/list/${id}`) getFun(`/risk/plan/floor/list/${id}`)
.then(res => { .then(res => {
this.option1 = this.changeData(res.data); this.floorListData = res.data
this.value1 = res.data[0].id || 0; this.option0 = this.changeData(res.data)
resolve(res.data); this.value0 = res.data[0].name || ''
this.changeBuild(res.data[0].name )
}) })
.catch(() => { .catch(() => {
this.$toast.fail("加载失败,请稍后再试"); this.$toast.fail("加载失败,请稍后再试");
...@@ -249,6 +254,15 @@ export default { ...@@ -249,6 +254,15 @@ export default {
let room = await this.roomList(floor[0].id); let room = await this.roomList(floor[0].id);
let risk = await this.riskList(this.planId, value); let risk = await this.riskList(this.planId, value);
}, },
changeBuild(name){
let arr = this.floorListData.map((item)=>{
if(item.name == name){
return item.children
}
});
this.option1 = this.changeData(arr[0])
this.value1 = this.changeData(arr[0]).id
},
async changeFloor() { async changeFloor() {
let room = await this.roomList(this.value1); let room = await this.roomList(this.value1);
let risk = await this.riskList(this.planId, this.buildingId, this.value1, this.value2); let risk = await this.riskList(this.planId, this.buildingId, this.value1, this.value2);
......
<template> <template>
<div> <div>
<!-- 搜索 --> <!-- 搜索 -->
<van-sticky offset-top="0">
<div class="content-wrap"> <div class="content-wrap">
<div class="search-wrap"> <div class="search-wrap">
<van-search v-model="searchVal" placeholder="搜索" @input="onInput"/> <van-search v-model="searchVal" placeholder="搜索" @input="onInput"/>
</div> </div>
</div> </div>
</van-sticky>
<div style="margin-bottom: 1.4rem;"> <div style="margin-bottom: 1.4rem;">
<van-radio-group v-model="radio"> <van-radio-group v-model="radio">
<van-list <van-list
......
...@@ -228,15 +228,15 @@ ...@@ -228,15 +228,15 @@
<van-col span="7" <van-col span="7"
><span class="field-title">任务节点:</span></van-col ><span class="field-title">任务节点:</span></van-col
> >
<van-col span="17">{{ item.taskName }}</van-col> <van-col span="17">{{ item.taskName }}{{
item.taskResult && item.taskResult == 1 ? "(审批通过)" : "(审批否决)"
}}</van-col>
</van-row> </van-row>
<van-row v-show="item.taskResult"> <van-row v-show="item.taskResult">
<van-col span="7" <van-col span="7"
><span class="field-title">审批结果</span></van-col ><span class="field-title">审批意见</span></van-col
> >
<van-col span="17">{{ <van-col span="17">{{item.taskOpinion}}</van-col>
item.taskResult == 1 ? "审批通过" : "审批否决"
}}</van-col>
</van-row> </van-row>
<!-- <van-row> <!-- <van-row>
<van-col span="7" <van-col span="7"
...@@ -566,7 +566,6 @@ export default { ...@@ -566,7 +566,6 @@ export default {
}, },
//执行任务 //执行任务
performTasks() { performTasks() {
console.log(this.messageList, "LLLL");
sessionStorage.setItem( sessionStorage.setItem(
"buildingId", "buildingId",
this.messageList.riskBuildingListDtos[0].buildingId this.messageList.riskBuildingListDtos[0].buildingId
...@@ -758,7 +757,8 @@ export default { ...@@ -758,7 +757,8 @@ export default {
this.$router.push({ this.$router.push({
name: "taskDetail", name: "taskDetail",
params: { params: {
id: item.id id: item.id,
floorId:item.floorId
} }
}); });
} }
......
...@@ -3,18 +3,16 @@ ...@@ -3,18 +3,16 @@
<van-sticky offset-top="0"> <van-sticky offset-top="0">
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
</van-sticky> </van-sticky>
<van-tabs <van-sticky offset-top="1.5rem">
v-model="active" <van-search v-model="searchValue" show-action placeholder="请输入搜索内容" @search="onSearch">
color="#2980f7" <template #action>
animated <div @click="onSearch">搜索</div>
:sticky="true" </template>
> </van-search>
<van-tab title="排序"> </van-sticky>
<template #title> 排序 <van-icon name="down" /></template> <div class="con-list">
<div class="con-list" > <van-cell-group v-for="(item, index) in taskList" :key="index" inset @click="touchstart(index, item)">
<van-cell-group v-for="(item,index) in taskList" :key="index" inset @click="touchstart(index, item)" > <div style="font-size: 0.45rem;padding: 5px 0;">{{ item.name }}</div>
<div style="font-size: 0.45rem;padding: 5px 0;">{{item.name}}</div>
<van-row gutter=""> <van-row gutter="">
<van-col span="17"> <van-col span="17">
<van-row gutter=""> <van-row gutter="">
...@@ -23,28 +21,21 @@ ...@@ -23,28 +21,21 @@
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="9">处理人员:</van-col> <van-col span="9">处理人员:</van-col>
<van-col span="15">{{item.leaderUserName}}</van-col> <van-col span="15">{{ item.leaderUserName }}</van-col>
</van-row> </van-row>
</van-col> </van-col>
<van-col span="7" :style="{'color':'#03b615'}"> <van-col span="7" :style="{ 'color': '#03b615' }">
{{item.state}} {{ item.state }}
</van-col> </van-col>
</van-row> </van-row>
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index"> <van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop="showIndex = null"> <div class="wrapper" @click.stop="showIndex = null">
<van-button round type="primary" @click="goDetail(item)" <van-button round type="primary" @click="goDetail(item)">详情</van-button>
>详情</van-button
>
</div> </div>
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
</van-tab>
<van-tab title="筛选">
<template #title> 筛选 <van-icon name="filter-o" /></template>
</van-tab>
</van-tabs>
</div> </div>
</template> </template>
...@@ -53,11 +44,12 @@ import LHeader from "@/components/header.vue"; ...@@ -53,11 +44,12 @@ import LHeader from "@/components/header.vue";
import { timestampToTime, generateId } from "@/utils/format"; import { timestampToTime, generateId } from "@/utils/format";
import { getFun, postFun } from "@/service/table.js"; import { getFun, postFun } from "@/service/table.js";
export default { export default {
name:'taskLedger',//任务台账 name: 'taskLedger',//任务台账
data() { data() {
return { return {
text:'任务台账', text: '任务台账',
active: 0, active: 0,
searchValue: '',
showIndex: null, // 是否显示遮罩层, showIndex: null, // 是否显示遮罩层,
taskList: [], // 是否显示遮罩层, taskList: [], // 是否显示遮罩层,
} }
...@@ -72,10 +64,10 @@ export default { ...@@ -72,10 +64,10 @@ export default {
timestampToTimes(time) { timestampToTimes(time) {
return timestampToTime(new Date(time), "DT2", true); return timestampToTime(new Date(time), "DT2", true);
}, },
getList(){ getList() {
getFun('/risk/plan/details/list').then(res=>{ getFun('/risk/plan/details/list').then(res => {
console.log('%c [ res ]-77', 'font-size:13px; background:pink; color:#bf2c9f;', res) console.log('%c [ res ]-77', 'font-size:13px; background:pink; color:#bf2c9f;', res)
this.taskList=res.data this.taskList = res.data
}) })
}, },
//点击列表 //点击列表
...@@ -87,26 +79,32 @@ export default { ...@@ -87,26 +79,32 @@ export default {
this.showIndex = index; this.showIndex = index;
}, },
// 详情 // 详情
goDetail(item){ goDetail(item) {
this.$router.push({ this.$router.push({
name: "riskTaskList", name: "riskTaskList",
params: { params: {
id:item.id, id: item.id,
}, },
}); });
},
onSearch(searchValue) {
} }
}, },
} }
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.wrap{ .wrap {
height: 100vh; height: 100vh;
width: 100vw; width: 100vw;
} }
.con-list {
.con-list {
padding: 0; padding: 0;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
margin-bottom: 0.26667rem; margin-bottom: 0.26667rem;
...@@ -117,13 +115,16 @@ export default { ...@@ -117,13 +115,16 @@ export default {
box-shadow: 0px 0px 10px 2px #f3f3f3; box-shadow: 0px 0px 10px 2px #f3f3f3;
width: 90%; width: 90%;
margin: 0.4rem auto; margin: 0.4rem auto;
.van-row { .van-row {
font-size: 0.4rem; font-size: 0.4rem;
line-height: 0.8rem; line-height: 0.8rem;
margin-bottom: 0; margin-bottom: 0;
} }
.van-overlay { .van-overlay {
position: absolute; position: absolute;
.wrapper { .wrapper {
display: flex; display: flex;
align-items: center; align-items: center;
...@@ -132,5 +133,5 @@ export default { ...@@ -132,5 +133,5 @@ export default {
} }
} }
} }
} }
</style> </style>
<template>
<div>
<van-sticky offset-top="0">
<LHeader :text="text"></LHeader>
</van-sticky>
<van-form :scroll-to-error="true" :show-error="false" validate-trigger="onSubmit">
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative;top: 32%;transform: translateY(-50%);">
风险信息
</div>
<van-field readonly required label="评估人" placeholder="请输入" />
<van-field readonly required label="所属项目" placeholder="请输入" />
<van-field readonly required label="所属建筑物" placeholder="请输入" />
<van-field required clickable name="floorId" label="所属楼层" placeholder="请选择"
:rules="[{ required: true, message: '所属楼层不能为空' }]" />
<div style="display: flex;">
<van-field readonly required name="roomName" label="所属房间" placeholder="请输入"
:rules="[{ required: true, message: '所属房间不能为空' }]" />
<!-- <van-button style="color: #cccc;background-color: #f0f1f5;" icon="plus" type="info" /> -->
</div>
<van-field required clickable name="name" label="风险源名称" placeholder="请输入"
:rules="[{ required: true, message: '风险源名称不能为空' }]" />
<van-field required name="factor" label="风险因素" placeholder="请选择"
:rules="[{ required: true, message: '风险因素不能为空' }]" />
<van-field required name="type" label="准事故类型" placeholder="请选择"
:rules="[{ required: true, message: '准事故类型不能为空' }]" />
<van-field required name="presenceLocation" label="存在部位" placeholder="请输入"
:rules="[{ required: true, message: '存在部位不能为空' }]" />
<van-field readonly required name="level" label="风险管控措施评价" placeholder="请选择"
:rules="[{ required: true, message: '风险等级不能为空' }]" />
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative;top: 32%;transform: translateY(-50%);">
风险源图片
</div>
<van-field name="hdPicture1" label="风险源图片">
<template #input>
<van-uploader multiple :max-count="5" disabled upload-text="最多上传五个" v-model="uploaderImg">
<template slot="default">
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
">
<img src="@/assets/upload/pic.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
</van-uploader>
</template>
</van-field>
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative;top: 32%;transform: translateY(-50%);">
现有技术措施
</div>
<van-field disabled name="measuresProject" label="技术措施" type="textarea" rows="1" autosize placeholder="请输入" />
<van-field name="measuresProjectFile[]" label=" ">
<template #input>
<van-uploader disabled multiple :max-count="5" upload-text="最多上传五个" v-model="measuresProjectFile"
accept="file" result-type="file" @delete="deleteFile(...arguments, 'measuresProjectFile')">
<template slot="default">
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
</van-uploader>
</template>
</van-field>
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative;top: 32%;transform: translateY(-50%);">
现有管理措施
</div>
<van-field disabled name="measuresAdministration" label="管理措施" type="textarea" rows="1" autosize
placeholder="请输入" />
<van-field name="measuresAdministrationFile[]" label=" ">
<template #input>
<van-uploader disabled multiple :max-count="5" upload-text="最多上传五个" v-model="measuresAdministrationFile"
accept="file" result-type="file" @delete="deleteFile(...arguments, 'measuresAdministrationFile')">
<template slot="default">
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
</van-uploader>
</template>
</van-field>
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative;top: 32%;transform: translateY(-50%);">
现有应急措施
</div>
<van-field disabled name="measuresEmergency" label="应急措施" type="textarea" rows="1" autosize placeholder="请输入" />
<van-field name="measuresEmergencyFile[]" label=" ">
<template #input>
<van-uploader disabled multiple :max-count="5" upload-text="最多上传五个" v-model="measuresEmergencyFile"
accept="file" result-type="file" @delete="deleteFile(...arguments, 'measuresEmergencyFile')">
<template slot="default">
<div style="
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
">
<img src="@/assets/upload/file.png" alt="" style="width: 0.64rem; height: 0.64rem" />
<span class="van-uploader__upload-text">最多上传五个</span>
</div>
</template>
</van-uploader>
</template>
</van-field>
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
<img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative;top: 32%;transform: translateY(-50%);">
参考依据
</div>
</van-form>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
export default {
// props: ["presentList"],
components: {
LHeader
},
data() {
return {
showPopoveSetRank: false,
activeNames: ["1"],
showPopover: false,
showGradeDialog: false,
taskId: "",
text: "现状风险详情",
id: "",
isTimely: 1,
active: 0,
form: {
},
projectId: "", // 所属工程
projectName: "", // 所属工程
projectDirectorName: "", // 所属工程
projectDirector: "", // 所属工程
showProjectName: false,
show: false,
columnsProjectName: [],
factor: "", //风险因素
showFactor: false,
columnsFactor: [],
messageList: [
{
title: '回显风险源名称',
time: '2022-12-12',
name: 'Mr.周',
state: 1
}
],
source: "", //风险源
userPrefix: "", //风险源
showSource: false,
columnsSource: [],
trouble: "", //事故类型
showTrouble: false,
columnsTrouble: [],
setRank: "", //风险定级
showSetRank: false,
columnsSetRank: ["矩阵式定级", "其他定级方式"],//严重程度
riskRank: "", // 风险等级
showRiskRank: false,
columnsRiskRank: [],//发生可能性
showSetRankMode: false, // 是否显示定级方式
setRankMode: "", // 定级方式文字
setRankModeImg: [], // 定级方式图片
uploaderImg: [], // 定级方式图片
location: "", //风险部位
control: "", //管控层级
riskName: "", //管控层级
showControl: false,
columnsControl: ["项目级", "企业级"],
mainDutyDept: "", // 主责部门
mainDutyDeptId: "",
showMainDutyDept: false,
columnsMainDutyDept: [],
mainDutyPeopLe: "", // 主责人员
mainDutyPeopLeId: "",
showMainDutyPeopLe: false,
columnsMainDutyPeopLe: [],
technology: "", //技术措施文字
technologyImg: [], //技术措施图片
administration: "", //管理措施文字
measuresAdministrationFile: [], //管理措施图片
measuresProjectFile: [], //管理措施图片
measuresEmergencyFile: [], //管理措施图片
urgent: "", //应急措施文字
urgentImg: [], //应急措施图片
returnCause: "", // 退回原因
isShowreturnCause: false,
possibleValue: "",
possibleScore: 0,
severityValue: "",
severityScore: 0,
};
},
created() {
// this.form.buildingIds = this.$route.params.buildingId ||sessionStorage.getItem("buildingId")
// this.form.planId = this.$route.params.planId||sessionStorage.getItem("planId")
// this.form.buildingName = this.$route.params.buildingName||sessionStorage.getItem("buildingName")
// this.form.userId = userInfo.userId
// this.form.userName = userInfo.userName
// this.form.deptName = userInfo.dept.deptName
// this.form.projectId = '测试项目',
// this.form.level = this.$route.params.level ? this.$route.params.level :''
},
methods: {
},
watch: {
},
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 0;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
margin-bottom: 0.26667rem;
padding: 0.25rem;
font-size: 0.4rem;
position: relative;
border-radius: 4%;
box-shadow: 0px 0px 10px 2px #f3f3f3;
width: 90%;
margin: 0.4rem auto;
.van-row {
font-size: 0.4rem;
line-height: 0.8rem;
margin-bottom: 0;
}
.van-overlay {
position: absolute;
.wrapper {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
}
}
}
.dialogContain {
width: 100%;
height: 100%;
padding: 10px;
box-sizing: border-box;
}
</style>
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
:rules="[{ required: true, message: '风险源名称不能为空' }]" /> :rules="[{ required: true, message: '风险源名称不能为空' }]" />
<van-field v-model="InherentRisk.factor" required name="factor" label="风险因素" placeholder="请选择" <van-field v-model="InherentRisk.factor" required name="factor" label="风险因素" placeholder="请选择"
:rules="[{ required: true, message: '风险因素不能为空' }]" /> :rules="[{ required: true, message: '风险因素不能为空' }]" />
<van-field v-model="InherentRisk.type" required name="type" label="准事故类型" placeholder="请选择" @click="seletType('type')" <van-field v-model="InherentRisk.type" required name="type" label="准事故类型" placeholder="请选择"
:rules="[{ required: true, message: '准事故类型不能为空' }]" /> :rules="[{ required: true, message: '准事故类型不能为空' }]" />
<van-field readonly v-model="InherentRisk.level" required name="level" label="风险等级" placeholder="请选择" <van-field readonly v-model="InherentRisk.level" required name="level" label="风险等级" placeholder="请选择"
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"> <div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
<img src="@/assets/accidentIcon/bookmark.svg" alt="" <img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative;top: 32%;transform: translateY(-50%);"> style="position: relative;top: 32%;transform: translateY(-50%);">
技术措施 应有技术措施
</div> </div>
<van-field disabled v-model="InherentRisk.measuresProject" name="measuresProject" label="技术措施" type="textarea" rows="1" autosize <van-field disabled v-model="InherentRisk.measuresProject" name="measuresProject" label="技术措施" type="textarea" rows="1" autosize
placeholder="请输入" /> placeholder="请输入" />
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"> <div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
<img src="@/assets/accidentIcon/bookmark.svg" alt="" <img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative;top: 32%;transform: translateY(-50%);"> style="position: relative;top: 32%;transform: translateY(-50%);">
管理措施 应有管理措施
</div> </div>
<van-field disabled v-model="InherentRisk.measuresAdministration" name="measuresAdministration" label="管理措施" type="textarea" <van-field disabled v-model="InherentRisk.measuresAdministration" name="measuresAdministration" label="管理措施" type="textarea"
rows="1" autosize placeholder="请输入" /> rows="1" autosize placeholder="请输入" />
...@@ -115,7 +115,7 @@ ...@@ -115,7 +115,7 @@
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"> <div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;">
<img src="@/assets/accidentIcon/bookmark.svg" alt="" <img src="@/assets/accidentIcon/bookmark.svg" alt=""
style="position: relative;top: 32%;transform: translateY(-50%);"> style="position: relative;top: 32%;transform: translateY(-50%);">
应急措施 应有应急措施
</div> </div>
<van-field disabled v-model="InherentRisk.measuresEmergency" name="measuresEmergency" label="应急措施" type="textarea" rows="1" <van-field disabled v-model="InherentRisk.measuresEmergency" name="measuresEmergency" label="应急措施" type="textarea" rows="1"
autosize placeholder="请输入" /> autosize placeholder="请输入" />
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
</div> </div>
</van-tab> </van-tab>
<van-tab title="四色图" name="c"> <van-tab title="四色图" name="c">
<drawCanvas :isView="true"/> <drawCanvas :isView="true" :floorId="floorId"/>
</van-tab> </van-tab>
</van-tabs> </van-tabs>
</div> </div>
...@@ -72,7 +72,8 @@ export default { ...@@ -72,7 +72,8 @@ export default {
activeName: 'a', activeName: 'a',
quoRiskList: [],//现状风险列表 quoRiskList: [],//现状风险列表
InherentRisk: {},//固有风险 InherentRisk: {},//固有风险
inherentId: '' inherentId: '',
floorId:'',
} }
}, },
components: { components: {
...@@ -81,11 +82,12 @@ export default { ...@@ -81,11 +82,12 @@ export default {
TabDetail TabDetail
}, },
created() { created() {
this.inherentId = this.$route.params.id this.inherentId = this.$route.params.id ||sessionStorage.getItem('inherntId')
this.floorId = this.$route.params.floorId
}, },
mounted() { mounted() {
this.getInherentRiskList(this.$route.params.id) this.getInherentRiskList(this.inherentId)
this.getQuoRiskList(this.$route.params.id) this.getQuoRiskList(this.inherentId)
}, },
methods: { methods: {
getInherentRiskList(inherentId){ getInherentRiskList(inherentId){
...@@ -102,25 +104,19 @@ export default { ...@@ -102,25 +104,19 @@ export default {
return timestampToTime(new Date(time), "DT1", true); return timestampToTime(new Date(time), "DT1", true);
}, },
goDetail(item){ goDetail(item){
console.log(item,'???') sessionStorage.setItem('inherntId',this.inherentId)
this.$router.push({ this.$router.push({
name:'taskDetail', name:'presentDetail',
params:{ params:{
isView:false, isView:false,
// buildingId:,
// planId:,
// floorId:,
// roomId:,
// inherentId:,
// roomName:,
} }
}) })
}, },
onClick(name){ onClick(name){
if(name==='a'){ if(name==='a'){
this.getQuoRiskList(this.$route.params.id) this.getQuoRiskList(this.inherentId)
}else if(name==='b'){ }else if(name==='b'){
this.getInherentRiskList(this.$route.params.id) this.getInherentRiskList(this.inherentId)
} }
} }
}, },
......
...@@ -8,9 +8,9 @@ module.exports = { ...@@ -8,9 +8,9 @@ module.exports = {
//以上的ip和端口是我们本机的;下面为需要跨域的 //以上的ip和端口是我们本机的;下面为需要跨域的
proxy: { //配置跨域 proxy: { //配置跨域
'/app-api': { '/app-api': {
target: 'http://192.168.4.232:8080/', //这里是后台的地址 // target: 'http://192.168.4.232:8080/', //这里是后台的地址
// target: 'http://192.168.15.124:8080/', //这里是杨帆的地址 // target: 'http://192.168.15.124:8080/', //这里是杨帆的地址
// target: 'http://192.168.10.137:8080/', //这里是昊哥的地址 target: 'http://192.168.10.137:8080/', //这里是昊哥的地址
// target: 'http://192.168.10.36:8080/', //这里是昊哥的地址 // target: 'http://192.168.10.36:8080/', //这里是昊哥的地址
// target: 'http://localhost:8080/', //这里是后台的地址 // target: 'http://localhost:8080/', //这里是后台的地址
ws: true, 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