Commit fa2a3f85 authored by yf's avatar yf

Merge branch 'develop' of http://git.censoft.com.cn/rongtong/rongtong-app into dev-yf'

parents 7a73ca0a 6bac48e8
......@@ -40,7 +40,7 @@ export default {
'riskAdd'
],
// 不需要展示底部tabbar的页面
noTab:["login", "login2", 'addCurrent','addPresent','addInherent','riskInherent',"choose-people","scan",'success','fail','warn','center','reset-pas-two','riskTaskList','riskBigDetail','riskView'],
noTab:["login", "login2", 'addCurrent','addPresent','addInherent','riskInherent',"choose-people","scan",'success','fail','warn','center','reset-pas-two','riskTaskList','riskBigDetail','riskView','resultPage'],
// cachePage预先定义的缓存页面
otherCache: [],
// 专门处理列表缓存的页面,这些页面缓存逻辑与其他缓存不一样去详情返回列表缓存,但是进入列表必须刷新,如何有需要缓存的列表请放到这里来。
......
......@@ -9,14 +9,14 @@ import './permission'
import Cookies from 'js-cookie'
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,
Step, Steps,Lazyload } from 'vant'
Step, Steps,Lazyload,Popover,Collapse, CollapseItem } from 'vant'
import 'lib-flexible/flexible'
import vueEsign from 'vue-esign'
Vue.use(vueEsign)
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)
.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(Lazyload)
.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)
Vue.use(DropdownMenu);
Vue.use(DropdownItem);
// 引用高德地图组件 main.js
......
......@@ -191,6 +191,11 @@ const routes = [{
name: 'taskDetail',
component: () => import('../views/riskProject/taskLedger/taskDetail.vue'),
},
{//任务台账
path: '/resultPage',
name: 'resultPage',
component: () => import('../views/riskProject/add/resultPage.vue'),
},
]
const router = new VueRouter({
......
......@@ -14,17 +14,14 @@
<van-field required clickable name="floorId" :value="form.floorId" label="所属楼层" placeholder="请选择"
@click="seletFloor('floor')" :rules="[{ required: true, message: '所属楼层不能为空' }]" />
<van-field readonly required name="roomName" :value="form.roomName" label="所属房间" placeholder="请输入"
<div style="display: flex;">
<van-field readonly required name="roomName" :value="form.roomName" label="所属房间" placeholder="请输入"
@click="seletRoom('room')" :rules="[{ required: true, message: '所属房间不能为空' }]" />
<van-field
required
clickable
name="name"
v-model="form.name"
label="风险源名称"
placeholder="请输入"
:rules="[{ required: true, message: '风险源名称不能为空' }]"
/>
<van-button style="color: #cccc;background-color: #f0f1f5;" icon="plus" type="info" @click="tjfjClcik"/>
</div>
<van-field required clickable name="name" 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: '风险因素不能为空' }]" />
......@@ -32,7 +29,9 @@
:rules="[{ required: true, message: '准事故类型不能为空' }]" />
<van-field readonly v-model="form.level" required name="level" label="风险等级" placeholder="请选择"
@click="seletGrade('level')" :rules="[{ required: true, message: '风险等级不能为空' }]" />
@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: '存在部位不能为空' }]" />
......@@ -167,6 +166,35 @@
@click="showTrouble = true"
: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-collapse-item>
<van-collapse-item title="风险模型配置" name="2">
<van-popover v-model="showPopover" trigger="click" :actions="columnsRiskRank"
@select="onSelect">
<template #reference>
<van-field v-model="possibleValue" readonly required name="level" label="发生的可能性"
placeholder="请选择" />
</template>
</van-popover>
<van-popover v-model="showPopoveSetRank" trigger="click" :actions="columnsSetRank"
@select="onSelectSetRank">
<template #reference>
<van-field v-model="severityValue" readonly required name="level" label="发生的可能性"
placeholder="请选择" />
</template>
</van-popover>
</van-collapse-item>
</van-collapse>
<van-row type="flex" justify="center" style="margin-top:10px">
<van-col span="6"><van-button size="small" plain type="info" @click="showGradeDialog = false">取消</van-button></van-col>
<van-col span="6"><van-button size="small" type="info" @click="goResultPage">开始测评</van-button></van-col>
</van-row>
</div>
</van-dialog>
<van-popup v-model="showTrouble" position="bottom">
<van-picker show-toolbar value-key="name" :columns="columnsTrouble" @confirm="onConTrouble"
@cancel="showTrouble = false" />
......@@ -235,6 +263,10 @@ export default {
},
data() {
return {
showPopoveSetRank: false,
activeNames: ["1"],
showPopover: false,
showGradeDialog: false,
taskId: "",
text: "添加固有风险",
id: "",
......@@ -270,10 +302,10 @@ export default {
columnsTrouble: [],
setRank: "", //风险定级
showSetRank: false,
columnsSetRank: ["矩阵式定级", "其他定级方式"],
columnsSetRank: ["矩阵式定级", "其他定级方式"],//严重程度
riskRank: "", // 风险等级
showRiskRank: false,
columnsRiskRank: ["重大风险", "较大风险", "一般风险", "较小风险"],
columnsRiskRank: [],//发生可能性
showSetRankMode: false, // 是否显示定级方式
setRankMode: "", // 定级方式文字
setRankModeImg: [], // 定级方式图片
......@@ -301,17 +333,22 @@ export default {
urgentImg: [], //应急措施图片
returnCause: "", // 退回原因
isShowreturnCause: false,
possibleValue: "",
possibleScore:0,
severityValue: "",
severityScore:0,
};
},
created() {
var userInfo = getUserInfo()
this.form.buildingIds = this.$route.params.id
this.form.planId = this.$route.params.planId
this.form.buildingName = '1号楼'
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.projectId = '测试项目',
this.form.level = this.$route.params.level ? this.$route.params.level :''
},
methods: {
seletFloor(name) {
......@@ -354,28 +391,14 @@ export default {
.then(res => {
console.log(res.data)
const arr = []
res.data.forEach(item=>{
arr.push({name:item.dictLabel})
res.data.forEach(item => {
arr.push({ name: item.dictLabel })
})
this.columnsTrouble = arr
})
.catch(() => {
this.$toast.fail("加载失败,请稍后再试");
});
// this.columnsTrouble = [
// {
// name: '人的因素',
// },
// {
// name: '物的因素',
// },
// {
// name: '环境因素',
// },
// {
// name: '管理因素',
// },
// ]
},
//准事故类型
seletType(name) {
......@@ -384,46 +407,75 @@ export default {
getFun(`/risk/plan/dict/data/list?dictType=risk_plan_type`)
.then(res => {
const arr = []
res.data.forEach(item=>{
arr.push({name:item.dictLabel})
res.data.forEach(item => {
arr.push({ name: item.dictLabel })
})
this.columnsTrouble = arr
})
.catch(() => {
this.$toast.fail("加载失败,请稍后再试");
});
},
//风险等级
seletGrade(name) {
// this.showTrouble = true
// this.riskName = name
// this.columnsTrouble = [
// {
// name: '物体打击',
// name: '重大风险',
// },
// {
// name: '车辆伤害',
// name: '较大风险',
// },
// {
// name: '起重伤害',
// name: '一般风险',
// },
// {
// name: '机械伤害',
// name: '较小风险',
// },
// ]
this.getGradeList('possibility')
this.getGradeList('severity')
this.showGradeDialog = true
},
seletGrade(name) {
this.showTrouble = true
this.riskName = name
this.columnsTrouble = [
{
name: '重大风险',
},
{
name: '较大风险',
},
{
name: '一般风险',
},
{
name: '较小风险',
},
]
//风险模型配置
getGradeList(type) {
// possibility 可能性 severity 严重性
getFun(`/risk/plan/matrix/${type}/list`).then(res => {
let arr = []
res.data.forEach(item => {
arr.push({ text: item.title, type: item.type, sort: item.sort, score: item.score })
})
if (type === 'possibility') {
this.columnsRiskRank = arr
} else {
this.columnsSetRank = arr
}
})
},
// //后果严重程度
// getConsequence(){
// getFun(`/risk/plan/matrix/${type}/list`).then(res=>{
// })
// },
onSelect(data) {
this.possibleValue = data.text
this.possibleScore = data.score
},
onSelectSetRank(data) {
this.severityValue = data.text
this.severityScore = data.score
},
//开始测评
goResultPage(){
this.$router.push({
name:'resultPage',
params:{
score:this.severityScore * this.possibleScore
}
})
},
performTasks() {
console.log('1233213 :>> ', 1233213);
......@@ -647,6 +699,16 @@ export default {
this.mainDutyPeopLe = value.userName;
this.showMainDutyPeopLe = false;
},
//添加房间
tjfjClcik(){
this.$router.push({
name:"riskView",
params:{
floorId:18,
isView:false
}
})
},
cancel() {
this.$router.go(-1);
......@@ -712,4 +774,12 @@ export default {
}
}
}
.dialogContain {
width: 100%;
height: 100%;
padding: 10px;
box-sizing: border-box;
}
</style>
......@@ -114,9 +114,8 @@ export default {
},
created() {
this.planId = this.$route.params.id || sessionStorage.getItem("planId");
this.buildingId = this.$route.params.buildingId;
this.buildingName = this.$route.params.buildingName;
console.log(this.buildingId, this.buildingName);
this.buildingId = this.$route.params.buildingId|| sessionStorage.getItem("buildingId");
this.buildingName = this.$route.params.buildingName|| sessionStorage.getItem("buildingName");
this.getRiskList(this.planId);
// this.postList();
},
......@@ -136,11 +135,17 @@ export default {
},
//新增固有风险
performTasks() {
sessionStorage.setItem('buildingId',this.buildingId)
sessionStorage.setItem('planId',this.planId)
sessionStorage.setItem('buildingName',this.buildingName)
this.$router.push({
name: "addInherent",
params: {
id: this.active,
planId: this.planId
planId: this.planId,
buildingId:this.buildingId,
buildingName:this.buildingName
}
});
},
......
<template>
<div class="wrapper">
<LHeader :text="text"></LHeader>
<div class="section">
<p>该次测评风险值为:</p>
<div>
<p style="font-weight: bold;font-size: 20px;">{{ score }}</p>
</div>
<p>本次评估结果评定为:{{ level }}</p>
<van-divider></van-divider>
<van-field readonly label="所属模型:" placeholder="ls风险矩阵评估模型" />
<van-field readonly label="风险发生可能性:" placeholder="一般情况不会发生" />
<van-field readonly label="后果严重程度" placeholder="轻微影响" />
<van-field readonly label="判定标准:" placeholder="见下图" />
</div>
<div style="display: flex;margin: 10px 16px 0px; padding-bottom: 16px">
<van-button block type="info" @click="sureClose">确认本次测评结果</van-button>
<van-button block plain type="info" @click="resetClose">取消</van-button>
</div>
</div>
</template>
<script>
import { getFun, postFun } from "@/service/table.js";
import LHeader from "@/components/header.vue";
export default {
name:'resultPage',
components:{
LHeader
},
data(){
return{
text:'测评结果',
score:0,
level:''
}
},
created(){
this.getResult()
},
methods:{
getResult(){
getFun(`/risk/plan/matrix/score/${this.$route.params.score}`).then(res=>{
this.level = res.data.level
this.score = res.data.max
})
},
resetClose(){
this.$router.push({
name:'addInherent',
params:{
level:''
}
})
},
sureClose(){
this.$router.push({
name:'addInherent',
params:{
level:this.level
}
})
}
}
}
</script>
<style lang="less" scoped>
.wrapper{
width: 100%;
height: 100%;
.section{
width: 100%;
height: 100%;
padding: 10px;
box-sizing: border-box;
background: #fff;
font-size: 14px;
}
}
</style>
\ No newline at end of file
......@@ -156,7 +156,49 @@
/>
</van-form>
</van-tab>
<van-tab title="风险清单"> </van-tab>
<van-tab title="风险清单">
<!-- <van-row v-for="item in riskList" :key="item.id">
<van-col span="24">
{{ item.name }}
</van-col>
</van-row> -->
<van-cell-group
inset
v-for="(item, index) in riskList"
:key="index"
>
<div style="font-size: 0.45rem;padding: 5px 0;">
{{ item.title }}
</div>
<van-row gutter="">
<van-col span="17">
<van-row gutter="">
<van-col span="9">风险名称:</van-col>
<van-col span="15">{{ item.name }}</van-col>
</van-row>
</van-col>
<van-col span="7">
<van-row
:style="{
color: '#03b615'
}"
>
{{ item.state }}
</van-row>
</van-col>
<van-col span="7">
<van-row
:style="{
color: '#03b615'
}"
>
<van-button icon="plus" @click="goColorDetail"></van-button>
</van-row>
</van-col>
</van-row>
</van-cell-group>
</van-tab>
<van-tab title="审核记录">
<div class="journal-wrap">
<van-cell-group inset>
......@@ -294,7 +336,8 @@ export default {
active: 0,
phase: 1,
form: {},
tabs: []
tabs: [],
riskList:[],
};
},
created() {
......@@ -302,12 +345,16 @@ export default {
var buildingId =
this.$route.params.buildingId || sessionStorage.getItem("buildingId");
this.postList(planId, buildingId);
this.getRiskTaskList(planId, buildingId)
},
methods: {
timestampToTimes(time) {
return timestampToTime(new Date(time), "DT2", true);
},
performTasks() {
sessionStorage.setItem('buildingId',this.messageList.riskBuildingListDtos[0].buildingId)
sessionStorage.setItem('planId',this.messageList.id)
sessionStorage.setItem('buildingName',this.messageList.riskBuildingListDtos[0].buildingName)
this.$router.push({
name: "riskInherent",
params: {
......@@ -325,6 +372,13 @@ export default {
}
});
},
//风险清单列表
getRiskTaskList(planId, buildingId){
getFun(`/risk/plan/inherent/list/${planId}/${buildingId}`).then(res=>{
console.log(res.data,'lll')
this.riskList = res.data
})
},
postList(id, buildingId) {
console.log(buildingId, "123");
this.$toast.loading({
......@@ -364,7 +418,7 @@ export default {
this.$router.push({
name: "risk-big-detail",
params: {
id: data.businessId || data.id
id: data.businessId || data.id,
}
});
this.showIndex = null;
......@@ -378,7 +432,19 @@ export default {
}
});
this.showIndex = null;
}
},
//固定资产
goColorDetail(){
// 楼层id: floorId
// 是否查看 : isView: true/false (true:查看,false:添加)
this.$router.push({
name:"riskView",
params:{
floorId:18,
isView:true
}
})
},
}
};
</script>
......
......@@ -12,7 +12,7 @@ export default {
name:'taskDetail',
data() {
return {
text: "任务单",
text: "固有风险列表",
}
},
components: {
......
......@@ -9,9 +9,9 @@ module.exports = {
proxy: { //配置跨域
'/app-api': {
// 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://localhost:8080/', //这里是后台的地址
// target: 'http://localhost:8080/', //这里是后台的地址
ws: true,
changOrigin: true, //允许跨域
// logLevel: 'debug', // 显示代理调试信息
......
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