Commit 8dafe2d8 authored by 13841799530's avatar 13841799530

冲突解决

解润东
2021102702
parents 369c69e2 c27c1d32
...@@ -15,12 +15,13 @@ import store from './store' ...@@ -15,12 +15,13 @@ import store from './store'
import './permission' import './permission'
import Cookies from 'js-cookie' import Cookies from 'js-cookie'
import { prefix } from '@/common/js/utils' import { prefix } from '@/common/js/utils'
import { 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 ,Area} from 'vant' import { 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 } from 'vant'
import 'lib-flexible/flexible' import 'lib-flexible/flexible'
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(Area) .use(Grid).use(GridItem).use(Skeleton).use(Col).use(Row).use(VanImage).use(Badge).use(NoticeBar).use(DatetimePicker).use(Step).use(Steps)
Vue.config.productionTip = false Vue.config.productionTip = false
new Vue({ new Vue({
router, router,
......
...@@ -253,24 +253,26 @@ const routes = [ ...@@ -253,24 +253,26 @@ const routes = [
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/my'), component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/my'),
}, },
{ {
path: '/danger', path: '/add-danger',
name: 'danger', name: 'add-danger',
meta: { meta: {
title:'隐患上报', title:'新增隐患',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/addDanger'), component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/addDanger/addDanger'),
}, },
{ {
path: '/add-danger', path: '/report-return',
name: 'add-danger', name: 'report-return',
meta: { meta: {
title:'新增隐患', title:'隐患上报已退回',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/addDanger/addDanger'), component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/reportReturn'),
}, },
{ {
path: '/confirme-danger', path: '/confirme-danger',
name: 'confirme-danger', name: 'confirme-danger',
...@@ -280,6 +282,16 @@ const routes = [ ...@@ -280,6 +282,16 @@ const routes = [
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/confirmeDanger'), component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/confirmeDanger'),
}, },
{
path: '/con-detail',
name: 'con-detail',
meta: {
title:'隐患确认详情',
index: 1
},
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/confirmeDanger/conDetail.vue'),
},
{ {
path: '/affirm-danger', path: '/affirm-danger',
name: 'affirm-danger', name: 'affirm-danger',
...@@ -307,6 +319,16 @@ const routes = [ ...@@ -307,6 +319,16 @@ const routes = [
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/changeDanger/changeInfo'), component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/changeDanger/changeInfo'),
}, },
{
path: '/change-detail',
name: 'change-detail',
meta: {
title:'隐患整改详情',
index: 1
},
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/changeDanger/changeDetail'),
},
{ {
path: '/review-danger', path: '/review-danger',
name: 'review-danger', name: 'review-danger',
...@@ -316,6 +338,17 @@ const routes = [ ...@@ -316,6 +338,17 @@ const routes = [
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/reviewDanger'), component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/reviewDanger'),
}, },
{
path: '/review-detail',
name: 'review-detail',
meta: {
title:'隐患复查详情',
index: 1
},
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/reviewDanger/reviewDetail'),
},
{ {
path: '/review-add', path: '/review-add',
name: 'review-add', name: 'review-add',
...@@ -325,6 +358,25 @@ const routes = [ ...@@ -325,6 +358,25 @@ const routes = [
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/reviewDanger/reviewAdd'), component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/reviewDanger/reviewAdd'),
}, },
{
path: '/stand-book',
name: 'stand-book',
meta: {
title:'隐患历史台账',
index: 1
},
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/standBook'),
},
{
path: '/normal-detail',
name: 'normal-detail',
meta: {
title:'隐患历史台账详情',
index: 1
},
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/standBook/normalDetail'),
},
{ {
path: '/risk', path: '/risk',
name: 'risk', name: 'risk',
...@@ -343,6 +395,17 @@ const routes = [ ...@@ -343,6 +395,17 @@ const routes = [
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAdd'), component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAdd'),
}, },
{
path: '/risk-return',
name: 'risk-return',
meta: {
title:'风险上报',
index: 1
},
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskReturn'),
},
{ {
path: '/risk-confirme', path: '/risk-confirme',
name: 'risk-confirme', name: 'risk-confirme',
...@@ -361,6 +424,42 @@ const routes = [ ...@@ -361,6 +424,42 @@ const routes = [
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskConfirme/riskAffirm'), component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskConfirme/riskAffirm'),
}, },
{
path: '/affirm-detail',
name: 'affirm-detail',
meta: {
title:'风险确认详情',
index: 1
},
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskConfirme/affirmDetail'),
},
{
path: '/risk-account',
name: 'risk-account',
meta: {
title:'风险历史台账',
index: 1
},
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAccount'),
},
{
path: '/risk-big-detail',
name: 'risk-big-detail',
meta: {
title:'风险历史台账',
index: 1
},
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAccount/riskBigDetail'),
},
] ]
......
<template> <template>
<div> <div>
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
<van-form <van-form
@submit="onSubmit" @submit="onSubmit"
:scroll-to-error="true" :scroll-to-error="true"
:show-error='false' :show-error="false"
validate-trigger="onSubmit" validate-trigger="onSubmit"
> >
<van-field
v-if="isShowreturnCause"
v-model="returnCause"
readonly
rows="1"
autosize=""
label="退回原因"
name="退回原因"
type="textarea"
/>
<van-field <van-field
v-model="gongcheng" readonly
clickable
name="所属工程名称" name="所属工程名称"
:value="projectName"
label="所属工程名称" label="所属工程名称"
placeholder="请选择" placeholder="请选择"
@click="showProjectName = true"
:rules="[{ required: true, message: '所属工程名称不能为空' }]" :rules="[{ required: true, message: '所属工程名称不能为空' }]"
/> />
<van-popup v-model="showProjectName" position="bottom">
<van-picker
show-toolbar
:columns="columnsProjectName"
@confirm="onConProjectName"
@cancel="showProjectName = false"
/>
</van-popup>
<van-field <van-field
v-model="fanwei" readonly
clickable
name="适用范围" name="适用范围"
:value="range"
label="适用范围" label="适用范围"
placeholder="请选择" placeholder="请选择"
:rules="[{ required: true, message: '使用范围不能为空' }]" @click="showRange = true"
:rules="[{ required: true, message: '适用范围不能为空' }]"
/> />
<van-popup v-model="showRange" position="bottom">
<van-picker
show-toolbar
:columns="columnsRange"
@confirm="onConRange"
@cancel="showRange = false"
/>
</van-popup>
<van-field <van-field
v-model="yinhuanleixing" readonly
clickable
name="隐患类型" name="隐患类型"
:value="type"
label="隐患类型" label="隐患类型"
placeholder="请选择" placeholder="请选择"
@click="showType = true"
:rules="[{ required: true, message: '隐患类型不能为空' }]" :rules="[{ required: true, message: '隐患类型不能为空' }]"
/> />
<van-popup v-model="showType" position="bottom">
<van-picker
show-toolbar
:columns="columnsType"
@confirm="onConType"
@cancel="showType = false"
/>
</van-popup>
<van-field <van-field
v-model="yinhuanxiangmu" readonly
clickable
name="隐患项目名称" name="隐患项目名称"
:value="dangerName"
label="隐患项目名称" label="隐患项目名称"
placeholder="请选择" placeholder="请选择"
@click="showDangerName = true"
:rules="[{ required: true, message: '隐患项目名称不能为空' }]" :rules="[{ required: true, message: '隐患项目名称不能为空' }]"
/> />
<van-popup v-model="showDangerName" position="bottom">
<van-picker
show-toolbar
:columns="columnsDangerName"
@confirm="onConDangerName"
@cancel="showDangerName = false"
/>
</van-popup>
<van-field <van-field
v-model="yinhuanbianhao" v-model="dangerNum"
readonly
name="隐患项目编号" name="隐患项目编号"
label="隐患项目编号" label="隐患项目编号"
placeholder="请选择" placeholder="请选择"
:rules="[{ required: true, message: '隐患项目编号不能为空' }]" :rules="[{ required: true, message: '隐患项目编号不能为空' }]"
/> />
<van-field <van-field
v-model="yinhuanjibie" v-model="dangerLevel"
readonly
name="隐患级别" name="隐患级别"
label="隐患级别" label="隐患级别"
placeholder="请选择" placeholder="请选择"
...@@ -55,17 +117,17 @@ ...@@ -55,17 +117,17 @@
readonly readonly
clickable clickable
name="隐患发现时间" name="隐患发现时间"
:value="timeval" :value="findTime"
label="隐患发现时间" label="隐患发现时间"
placeholder="点击选择日期" placeholder="点击选择日期"
@click="showCalendar = true" @click="showFindTime = true"
:rules="[{ required: true, message: '隐患发现时间不能为空' }]" :rules="[{ required: true, message: '隐患发现时间不能为空' }]"
/> />
<van-popup v-model="showCalendar" position="bottom"> <van-popup v-model="showFindTime" position="bottom">
<van-datetime-picker <van-datetime-picker
type="datetime" type="datetime"
@confirm="onConfirmrili" @confirm="onConFindTime"
@cancel="showCalendar = false" @cancel="showFindTime = false"
/> />
</van-popup> </van-popup>
...@@ -73,32 +135,42 @@ ...@@ -73,32 +135,42 @@
readonly readonly
clickable clickable
name="风险源" name="风险源"
:value="fengxiangval" :value="source"
label="风险源" label="风险源"
placeholder="请选择" placeholder="请选择"
@click="showPicker = true" @click="showSource = true"
:rules="[{ required: true, message: '风险源不能为空' }]" :rules="[{ required: true, message: '风险源不能为空' }]"
/> />
<van-popup v-model="showPicker" position="bottom"> <van-popup v-model="showSource" position="bottom">
<van-picker <van-picker
show-toolbar show-toolbar
:columns="columns" :columns="columnsSource"
@confirm="onConfirmfengxian" @confirm="onConSource"
@cancel="showPicker = false" @cancel="showSource = false"
/> />
</van-popup> </van-popup>
<van-field <van-field
v-model="fenxianmiaosu" readonly
rows="1" clickable
autosize name="风险源"
:value="source1"
label=" " label=" "
type="textarea" placeholder="请选择"
placeholder="请输入" @click="showSource1 = true"
:rules="[{ required: true, message: '风险源不能为空' }]"
/> />
<van-popup v-model="showSource1" position="bottom">
<van-picker
show-toolbar
:columns="columnsSource1"
@confirm="onConSource1"
@cancel="showSource1 = false"
/>
</van-popup>
<van-field <van-field
v-model="jianchabuwei" v-model="location"
name="检查部位" name="检查部位"
label="检查部位" label="检查部位"
placeholder="请输入" placeholder="请输入"
...@@ -106,7 +178,7 @@ ...@@ -106,7 +178,7 @@
/> />
<van-field <van-field
v-model="yinhuanmiaosu" v-model="describe"
rows="3" rows="3"
label="隐患描述" label="隐患描述"
name="隐患描述" name="隐患描述"
...@@ -134,16 +206,16 @@ ...@@ -134,16 +206,16 @@
readonly readonly
clickable clickable
name="隐患到期时间" name="隐患到期时间"
:value="daoqitimeval" :value="expireTime"
label="隐患到期时间" label="隐患到期时间"
placeholder="点击选择日期" placeholder="点击选择日期"
@click="daoqishowCalendar = true" @click="showExpireTime = true"
/> />
<van-popup v-model="daoqishowCalendar" position="bottom"> <van-popup v-model="showExpireTime" position="bottom">
<van-datetime-picker <van-datetime-picker
type="datetime" type="datetime"
@confirm="onConfirmdaoqi" @confirm="onConExpireTime"
@cancel="daoqishowCalendar = false" @cancel="showExpireTime = false"
/> />
</van-popup> </van-popup>
...@@ -151,17 +223,17 @@ ...@@ -151,17 +223,17 @@
readonly readonly
clickable clickable
name="隐患整改人" name="隐患整改人"
:value="zhenggairen" :value="recPeople"
label="隐患整改人" label="隐患整改人"
placeholder="请选择" placeholder="请选择"
@click="showPickerzhenggai = true" @click="showRecPeople = true"
/> />
<van-popup v-model="showPickerzhenggai" position="bottom"> <van-popup v-model="showRecPeople" position="bottom">
<van-picker <van-picker
show-toolbar show-toolbar
:columns="columnszhenggai" :columns="columnsRecPeople"
@confirm="onConfirmzhegngai" @confirm="onConRecPeople"
@cancel="showPickerzhenggai = false" @cancel="showRecPeople = false"
/> />
</van-popup> </van-popup>
...@@ -181,7 +253,7 @@ ...@@ -181,7 +253,7 @@
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { timestampToTime } from '@/utils/format' import { timestampToTime } from "@/utils/format";
export default { export default {
components: { components: {
LHeader LHeader
...@@ -189,55 +261,107 @@ export default { ...@@ -189,55 +261,107 @@ export default {
data() { data() {
return { return {
text: "新增隐患", text: "新增隐患",
gongcheng: "", projectName: "", // 所属工程
fanwei: "", showProjectName: false,
yinhuanleixing: "", columnsProjectName: ["工程1", "工程2", "工程3", "工程4"],
yinhuanxiangmu: "", range: "", //适用范围
yinhuanbianhao: "", showRange: false,
yinhuanjibie: "", columnsRange: ["适用范围1", "适用范围2", "适用范围3", "适用范围4"],
yinhuanfaxiantime: "", type: "", //隐患类型
timeval: "", showType: false,
showCalendar: false, columnsType: ["隐患类型1", "隐患类型2", "隐患类型3", "隐患类型4"],
fengxiangval: "", dangerName: "", //隐患项目名称
columns: ["人的因素", "物的因素", "环境因素", "管理因素"], showDangerName: false,
showPicker: false, columnsDangerName: [
fenxianmiaosu: "", "隐患项目名称1",
jianchabuwei: "", "隐患项目名称2",
yinhuanmiaosu: "", "隐患项目名称3",
"隐患项目名称4"
],
dangerNum: "", //隐患项目编号
dangerLevel: "", //隐患项目级别
findTime: "", //隐患发现时间
showFindTime: false,
source: "", // 风险源
showSource: false,
columnsSource: ["人的因素", "物的因素", "环境因素", "管理因素"],
source1: "", // 风险源第二个字段
showSource1: false,
columnsSource1: ["人的因素", "物的因素", "环境因素", "管理因素"],
location: "", // 检查部位
describe: "", // 隐患描述
uploaderImg: [], //图像上传 uploaderImg: [], //图像上传
uploaderVideo: [], //视频上传 uploaderVideo: [], //视频上传
daoqitimeval: "", expireTime: "", // 隐患到期时间
daoqishowCalendar: false, showExpireTime: false,
zhenggairen: "",
showPickerzhenggai: false, recPeople: "",
columnszhenggai: ["张三", "李四", "王五"] showRecPeople: false,
columnsRecPeople: ["张三", "李四", "王五"],
returnCause: "你这不行啊", // 退回原因
isShowreturnCause: false
}; };
}, },
mounted() {},
created() {
if (this.$route.query.status) {
this.isShowreturnCause = true;
this.text = "隐患上报退回"
}
},
methods: { methods: {
onSubmit(values) { onSubmit(values) {
console.log("submit", values); console.log("submit", values);
}, },
onConfirmrili(date) { // 所属工程名称
this.timeval = timestampToTime(date,'DT1',true) onConProjectName(value) {
this.showCalendar = false; this.projectName = value;
this.showProjectName = false;
}, },
onConfirmdaoqi(date) { // 适用范围
this.daoqitimeval = timestampToTime(date,'DT1',true) onConRange(value) {
this.daoqishowCalendar = false; this.range = value;
this.showRange = false;
}, },
onConfirmfengxian(value) { // 隐患类型
this.fengxiangval = value; onConType(value) {
this.showPicker = false; this.type = value;
this.showType = false;
}, },
onConfirmzhegngai(value) { // 隐患项目名称
onConDangerName(value) {
this.dangerName = value;
this.showDangerName = false;
},
// 隐患发现时间
onConFindTime(date) {
this.findTime = timestampToTime(date, "DT1", true);
this.showFindTime = false;
},
// 风险源
onConSource(value) {
this.source = value;
this.showSource = false;
},
// 风险源第二个字段
onConSource1(value) {
this.source1 = value;
this.showSource1 = false;
},
// 隐患到期时间
onConExpireTime(date) {
this.expireTime = timestampToTime(date, "DT1", true);
this.showExpireTime = false;
},
// 隐患整改人
onConRecPeople(value) {
this.zhenggairen = value; this.zhenggairen = value;
this.showPickerzhenggai = false; this.showPickerzhenggai = false;
}, },
cancel() { cancel() {
this.$router.go(-1); this.$router.go(-1);
}, }
} }
}; };
</script> </script>
......
...@@ -10,12 +10,23 @@ ...@@ -10,12 +10,23 @@
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
<div class="messgae-title">{{ item.noticeTitle }}</div> <van-row gutter="">
<div class="message-content"> <van-col span="7">所属工程名称:</van-col>
{{ item.upcomingUserName }},您好!您有一条来自{{ <van-col span="17">{{ item.project }}</van-col>
item.createUserName </van-row>
}}{{ item.noticeTitle }}相关的待处理任务... <van-row gutter="">
</div> <van-col span="7">隐患项目名称:</van-col>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患发现时间:</van-col>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index"> <van-overlay :show="showIndex == index">
...@@ -24,7 +35,7 @@ ...@@ -24,7 +35,7 @@
>详情</van-button >详情</van-button
> >
<van-button round type="info" @touchstart="goConfirm(item)" <van-button round type="info" @touchstart="goConfirm(item)"
>整改</van-button >确认</van-button
> >
</div> </div>
</van-overlay> </van-overlay>
...@@ -39,10 +50,10 @@ export default { ...@@ -39,10 +50,10 @@ export default {
return { return {
messageList: [ messageList: [
{ {
noticeTitle: "隐患上报消息", project: "朝阳区和平街14区简易住宅楼改造项目",
upcomingUserName: "张某某", subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
createUserName: "李某某", findTime: "2021-10-26 16:30:00",
noticeTitle: "重要任务" level: "一般隐患A"
} }
], ],
Loop: "", // 定时器 Loop: "", // 定时器
...@@ -55,9 +66,9 @@ export default { ...@@ -55,9 +66,9 @@ export default {
touchstart(index, item) { touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器 clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if(this.showIndex != null){ if (this.showIndex != null) {
this.showIndex = null; this.showIndex = null;
return return;
} }
this.Loop = setTimeout(() => { this.Loop = setTimeout(() => {
this.showIndex = index; this.showIndex = index;
...@@ -71,6 +82,7 @@ export default { ...@@ -71,6 +82,7 @@ export default {
// 详情 // 详情
goDetail(data) { goDetail(data) {
console.log(data); console.log(data);
this.$router.push("/change-detail");
this.showIndex = null; this.showIndex = null;
}, },
// 确认 // 确认
...@@ -93,9 +105,9 @@ export default { ...@@ -93,9 +105,9 @@ export default {
padding: 10px; padding: 10px;
font-size: 13px; font-size: 13px;
position: relative; position: relative;
.van-row{
.message-content { margin-bottom: .133333rem;
margin-top: 10px; line-height: .64rem;
} }
.van-overlay { .van-overlay {
position: absolute; position: absolute;
......
<template>
<div>
<LHeader :text="text"></LHeader>
<!-- 内容列表 -->
<div class="con-list">
<div class="cell-wrap">
<p>隐患上报</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-row gutter="">
<van-col span="7"
><span class="field-title">所属工程名称:</span></van-col
>
<van-col span="17">{{ item.project }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患项目名称:</span></van-col
>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患发现时间:</span></van-col
>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患级别:</span></van-col
>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 隐藏的字段 -->
<div v-show="reportOpen">
<van-row gutter="">
<van-col span="7"
><span class="field-title">试用范围:</span></van-col
>
<van-col span="17">{{ item.range }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患类型:</span></van-col
>
<van-col span="17">{{ item.type }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患项目编号</span>:</van-col
>
<van-col span="17">{{ item.dangerNum }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">风险源:</span></van-col
>
<van-col span="17">{{ item.source }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">风险源因素:</span></van-col
>
<van-col span="17">{{ item.source1 }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">检查部位:</span></van-col
>
<van-col span="17">{{ item.location }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患项目编号:</span></van-col
>
<van-col span="17">{{ item.dangerNum }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患描述:</span></van-col
>
<van-col span="17">{{ item.describe }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患照片:</span></van-col
>
<van-col span="17">{{ item.uploaderImg }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患视频:</span></van-col
>
<van-col span="17">{{ item.uploaderVideo }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患到期时间:</span></van-col
>
<van-col span="17">{{ item.expireTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患整改人:</span></van-col
>
<van-col span="17">{{ item.recPeople }}</van-col>
</van-row>
</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="reportReverse">
{{ reportOpenText }}
</div>
</div>
<div class="confirm-wrap">
<p>隐患认定</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患整改人:</span></van-col
>
<van-col span="17">{{ item.project }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患复查人:</span></van-col
>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">整改截止时间:</span></van-col
>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患复查人:</span></van-col
>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 隐藏的字段 -->
<div v-show="confirmOpen">
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患确认信息:</span></van-col
>
<van-col span="17">{{ item.range }}</van-col>
</van-row>
</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="confirmReverse">
{{ confirmOpenText }}
</div>
</div>
<div class="journal-wrap">
<p>日志信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-steps direction="vertical" :active="999">
<van-step>
<div class="step-wrap">
<van-row>
<van-col span="24"
><div class="info-title">日志信息</div></van-col
>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">审批人:</span></van-col
>
<van-col span="19">首华建设项目</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">节点</span></van-col
>
<van-col span="19">隐患上报</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">结果:</span></van-col
>
<van-col span="19">通过</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">部门:</span></van-col
>
<van-col span="19">首华建设项目部</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">时间:</span></van-col
>
<van-col span="19">2021-10-26 16:30:00</van-col>
</van-row>
</div>
</van-step>
</van-steps>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="journalReverse">
{{ journalOpenText }}
</div>
</div>
<div class="supervise-wrap">
<p>督办信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<div style="text-align: center;">暂无数据</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="superviseReverse" v-show="false">
{{ superviseOpenText }}
</div>
</div>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
export default {
components: {
LHeader
},
data() {
return {
text: "隐患整改详情",
reportOpen: false,
reportOpenText: "展开 ▼",
journalOpen: false,
journalOpenText: "展开 ▼",
superviseOpen: false,
superviseOpenText: "展开 ▼",
confirmOpen: false,
confirmOpenText: "展开 ▼",
reportList: [
{
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A",
range: "城市轨道交通工程",
type: "临时用电",
dangerNum: "0-03-06-0003",
source: "违规活动",
source1: "人的因素",
location: "临时用电",
describe: "没按规定放置插排",
uploaderImg: [],
uploaderVideo: [],
expireTime: "2021-10-26 16:30:00",
recPeople: "张三"
}
],
journalList: []
};
},
mounted() {},
methods: {
// 上报信息显示或隐藏
reportReverse() {
this.reportOpen = !this.reportOpen;
if (this.reportOpen) {
this.reportOpenText = "收起 ▲";
} else {
this.reportOpenText = "展开 ▼";
}
},
// 隐患认定显示或隐藏
confirmReverse () {
this.confirmOpen = !this.confirmOpen;
if (this.confirmOpen) {
this.confirmOpenText = "收起 ▲";
} else {
this.confirmOpenText = "展开 ▼";
}
},
// 日志信息显示或隐藏
journalReverse() {
this.journalOpen = !this.journalOpen;
if (this.journalOpen) {
// 显示所有数据
this.journalOpenText = "收起 ▲";
} else {
// 只渲染一条数据
this.journalOpenText = "展开 ▼";
}
},
// 督办信息显示或隐藏
superviseReverse() {
this.superviseOpen = !this.superviseOpen;
if (this.superviseOpen) {
// 显示所有数据
this.superviseOpenText = "收起 ▲";
} else {
// 只渲染一条数据
this.superviseOpenText = "展开 ▼";
}
}
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px 0.533333rem;
background-color: #f0f1f5;
.cell-wrap {
position: relative;
}
p {
font-size: 0.4rem;
font-weight: 600;
padding-left: 0.16rem;
margin: 0.186667rem 0;
color: #7f7f7f;
}
.van-cell-group--inset {
margin: 0;
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
position: relative;
.van-row {
margin-bottom: 0.133333rem;
line-height: 0.64rem;
}
}
.confirm-wrap {
position: relative;
}
.journal-wrap {
position: relative;
}
.supervise-wrap {
position: relative;
}
.info-title {
color: #2980f7;
font-weight: bolder;
}
.field-title {
color: black;
font-weight: bolder;
}
.more {
position: absolute;
bottom: 0.32rem;
right: 15px;
color: #2a80f7;
font-weight: bolder;
z-index: 99;
}
}
</style>
...@@ -55,7 +55,7 @@ export default { ...@@ -55,7 +55,7 @@ export default {
}, },
data() { data() {
return { return {
text: "隐患确认", text: "整改确认",
value: "", value: "",
uploaderImg: [], //图像上传 uploaderImg: [], //图像上传
uploaderVideo: [] //视频上传 uploaderVideo: [] //视频上传
......
<template>
<div>
<LHeader :text="text"></LHeader>
<!-- 内容列表 -->
<div class="con-list">
<div class="cell-wrap">
<p>隐患上报</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-row gutter="">
<van-col span="7"><span class="field-title">所属工程名称:</span></van-col>
<van-col span="17">{{ item.project }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患项目名称:</span></van-col>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患发现时间:</span></van-col>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患级别:</span></van-col>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 隐藏的字段 -->
<div v-show="reportOpen">
<van-row gutter="">
<van-col span="7"><span class="field-title">试用范围:</span></van-col>
<van-col span="17">{{ item.range }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患类型:</span></van-col>
<van-col span="17">{{ item.type }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患项目编号</span>:</van-col>
<van-col span="17">{{ item.dangerNum }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">风险源:</span></van-col>
<van-col span="17">{{ item.source }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">风险源因素:</span></van-col>
<van-col span="17">{{ item.source1 }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">检查部位:</span></van-col>
<van-col span="17">{{ item.location }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患项目编号:</span></van-col>
<van-col span="17">{{ item.dangerNum }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患描述:</span></van-col>
<van-col span="17">{{ item.describe }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患照片:</span></van-col>
<van-col span="17">{{ item.uploaderImg }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患视频:</span></van-col>
<van-col span="17">{{ item.uploaderVideo }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患到期时间:</span></van-col>
<van-col span="17">{{ item.expireTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患整改人:</span></van-col>
<van-col span="17">{{ item.recPeople }}</van-col>
</van-row>
</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="reportReverse">
{{ reportOpenText }}
</div>
</div>
<div class="journal-wrap">
<p>日志信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-steps direction="vertical" :active="999">
<van-step>
<div class="step-wrap">
<van-row>
<van-col span="24"
><div class="info-title">日志信息</div></van-col
>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">审批人:</span></van-col
>
<van-col span="19">首华建设项目</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">节点</span></van-col
>
<van-col span="19">隐患上报</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">结果:</span></van-col
>
<van-col span="19">通过</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">部门:</span></van-col
>
<van-col span="19">首华建设项目部</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">时间:</span></van-col
>
<van-col span="19">2021-10-26 16:30:00</van-col>
</van-row>
</div>
</van-step>
</van-steps>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="journalReverse">
{{ journalOpenText }}
</div>
</div>
<div class="supervise-wrap">
<p>督办信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<div style="text-align: center;">暂无数据</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="superviseReverse" v-show="false">
{{ superviseOpenText }}
</div>
</div>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
export default {
components: {
LHeader
},
data() {
return {
text: "隐患确认详情",
reportOpen: false,
reportOpenText: "展开 ▼",
journalOpen: false,
journalOpenText: "展开 ▼",
superviseOpen: false,
superviseOpenText: "展开 ▼",
reportList: [
{
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A",
range: "城市轨道交通工程",
type: "临时用电",
dangerNum: "0-03-06-0003",
source: "违规活动",
source1: "人的因素",
location: "临时用电",
describe: "没按规定放置插排",
uploaderImg: [],
uploaderVideo: [],
expireTime: "2021-10-26 16:30:00",
recPeople: "张三"
}
],
journalList: []
};
},
mounted() {},
methods: {
// 上报信息显示或隐藏
reportReverse() {
this.reportOpen = !this.reportOpen;
if (this.reportOpen) {
this.reportOpenText = "收起 ▲";
} else {
this.reportOpenText = "展开 ▼";
}
},
// 日志信息显示或隐藏
journalReverse() {
this.journalOpen = !this.journalOpen;
if (this.journalOpen) {
// 显示所有数据
this.journalOpenText = "收起 ▲";
} else {
// 只渲染一条数据
this.journalOpenText = "展开 ▼";
}
},
// 督办信息显示或隐藏
superviseReverse() {
this.superviseOpen = !this.superviseOpen;
if (this.superviseOpen) {
// 显示所有数据
this.superviseOpenText = "收起 ▲";
} else {
// 只渲染一条数据
this.superviseOpenText = "展开 ▼";
}
}
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px .533333rem;
background-color: #f0f1f5;
.cell-wrap {
position: relative;
}
p {
font-size: 0.4rem;
font-weight: 600;
padding-left: 0.16rem;
margin: 0.186667rem 0;
color: #7f7f7f;
}
.van-cell-group--inset {
margin: 0;
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
position: relative;
.van-row {
margin-bottom: .133333rem;
line-height: .64rem;
}
}
.journal-wrap {
position: relative;
}
.supervise-wrap{
position: relative;
}
.info-title {
color: #2980f7;
font-weight: bolder;
}
.field-title {
color: black;
font-weight: bolder;
}
.more {
position: absolute;
bottom: 0.32rem;
right: 15px;
color: #2a80f7;
font-weight: bolder;
z-index: 99;
}
}
</style>
...@@ -10,12 +10,23 @@ ...@@ -10,12 +10,23 @@
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
<div class="messgae-title">{{ item.noticeTitle }}</div> <van-row gutter="">
<div class="message-content"> <van-col span="7">所属工程名称:</van-col>
{{ item.upcomingUserName }},您好!您有一条来自{{ <van-col span="17">{{ item.project }}</van-col>
item.createUserName </van-row>
}}{{ item.noticeTitle }}相关的待处理任务... <van-row gutter="">
</div> <van-col span="7">隐患项目名称:</van-col>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患发现时间:</van-col>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index"> <van-overlay :show="showIndex == index">
...@@ -39,10 +50,10 @@ export default { ...@@ -39,10 +50,10 @@ export default {
return { return {
messageList: [ messageList: [
{ {
noticeTitle: "隐患上报消息", project: "朝阳区和平街14区简易住宅楼改造项目",
upcomingUserName: "张某某", subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
createUserName: "李某某", findTime: "2021-10-26 16:30:00",
noticeTitle: "重要任务" level: "一般隐患A"
} }
], ],
Loop: "", // 定时器 Loop: "", // 定时器
...@@ -55,9 +66,9 @@ export default { ...@@ -55,9 +66,9 @@ export default {
touchstart(index, item) { touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器 clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if(this.showIndex != null){ if (this.showIndex != null) {
this.showIndex = null; this.showIndex = null;
return return;
} }
this.Loop = setTimeout(() => { this.Loop = setTimeout(() => {
this.showIndex = index; this.showIndex = index;
...@@ -71,6 +82,7 @@ export default { ...@@ -71,6 +82,7 @@ export default {
// 详情 // 详情
goDetail(data) { goDetail(data) {
console.log(data); console.log(data);
this.$router.push("/con-detail");
this.showIndex = null; this.showIndex = null;
}, },
// 确认 // 确认
...@@ -93,8 +105,9 @@ export default { ...@@ -93,8 +105,9 @@ export default {
padding: 10px; padding: 10px;
font-size: 13px; font-size: 13px;
position: relative; position: relative;
.message-content { .van-row{
margin-top: 10px; margin-bottom: .133333rem;
line-height: .64rem;
} }
.van-overlay { .van-overlay {
position: absolute; position: absolute;
......
<template>
<div>
<LHeader :text="text"></LHeader>
<van-search v-model="searchValue" placeholder="搜索" @search="onSearch" />
<returned></returned>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import Returned from "./returned";
export default {
components: {
LHeader: LHeader,
Returned,
},
data() {
return {
text: "上报退回",
searchValue: ""
};
},
mounted() {},
methods: {
onSearch(val) {
console.log(val);
},
}
};
</script>
<style scoped>
/* @import url(); 引入css类 */
</style>
...@@ -10,12 +10,23 @@ ...@@ -10,12 +10,23 @@
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
<div class="messgae-title">{{ item.noticeTitle }}</div> <van-row gutter="">
<div class="message-content"> <van-col span="7">所属工程名称:</van-col>
{{ item.upcomingUserName }},您好!您有一条来自{{ <van-col span="17">{{ item.project }}</van-col>
item.createUserName </van-row>
}}{{ item.noticeTitle }}相关的待处理任务... <van-row gutter="">
</div> <van-col span="7">隐患项目名称:</van-col>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患发现时间:</van-col>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index"> <van-overlay :show="showIndex == index">
...@@ -23,16 +34,13 @@ ...@@ -23,16 +34,13 @@
<van-button round type="primary" @touchstart="goDetail(item)" <van-button round type="primary" @touchstart="goDetail(item)"
>详情</van-button >详情</van-button
> >
<van-button round type="info" @touchstart="goDelete(item)" <van-button round type="warning" @touchstart="goDelete(item)"
>修改</van-button >删除</van-button
> >
</div> </div>
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
<!-- 加号 -->
<div class="add" @click="goAdd">+</div>
</div> </div>
</template> </template>
...@@ -42,10 +50,10 @@ export default { ...@@ -42,10 +50,10 @@ export default {
return { return {
messageList: [ messageList: [
{ {
noticeTitle: "隐患上报消息", project: "朝阳区和平街14区简易住宅楼改造项目",
upcomingUserName: "张某某", subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
createUserName: "李某某", findTime: "2021-10-26 16:30:00",
noticeTitle: "重要任务" level: "一般隐患A"
} }
], ],
Loop: "", // 定时器 Loop: "", // 定时器
...@@ -54,21 +62,17 @@ export default { ...@@ -54,21 +62,17 @@ export default {
}, },
mounted() {}, mounted() {},
methods: { methods: {
read() {},
goAdd(){
this.$router.push('/add-danger');
},
read(){},
touchstart(index, item) { touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器 clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if(this.showIndex != null){ if (this.showIndex != null) {
this.showIndex = null; this.showIndex = null;
return return;
} }
this.Loop = setTimeout(() => { this.Loop = setTimeout(() => {
this.showIndex = index this.showIndex = index;
},300); // 这里的1000是指需要长按的时间,单位为ms }, 300); // 这里的1000是指需要长按的时间,单位为ms
}, },
touchend(index) { touchend(index) {
// 这个方法主要是用来将每次手指移出之后将计时器清零 // 这个方法主要是用来将每次手指移出之后将计时器清零
...@@ -76,59 +80,46 @@ export default { ...@@ -76,59 +80,46 @@ export default {
}, },
// 详情 // 详情
goDetail(data){ goDetail(data) {
console.log(data); console.log(data);
this.showIndex = null this.$router.push({
path: '/add-danger',
query: {status: "退回"}
});
this.showIndex = null;
}, },
// 删除 // 删除
goDelete(data){ goDelete(data) {
console.log(data); console.log(data);
this.showIndex = null this.showIndex = null;
}, }
} }
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
// 内容 .con-list {
.con-list { padding: 10px 10px 0;
padding: 10px 10px 0;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
margin-bottom: 10px; margin-bottom: 10px;
padding: 10px; padding: 10px;
font-size: 13px; font-size: 13px;
position: relative; position: relative;
.van-row{
.message-content { margin-bottom: .133333rem;
margin-top: 10px; line-height: .64rem;
}
} .van-overlay {
.van-overlay{ position: absolute;
position: absolute; .wrapper {
.wrapper {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-evenly; justify-content: space-evenly;
height: 100%; height: 100%;
} }
}
} }
} }
.add{ }
width: 1.333333rem;
height: 1.333333rem;
color: white;
font-weight: bold;
font-size: 1.48rem;
background-color: #02a7f0;
text-align: center;
line-height: 1.333333rem;
border-radius: 50%;
position: fixed;
right: .533333rem;
bottom: 1.866667rem;
}
</style> </style>
<template>
<div>
<LHeader :text="text"></LHeader>
<!-- 内容列表 -->
<div class="con-list">
<div class="cell-wrap">
<p>隐患上报</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-row gutter="">
<van-col span="7"
><span class="field-title">所属工程名称:</span></van-col
>
<van-col span="17">{{ item.project }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患项目名称:</span></van-col
>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患发现时间:</span></van-col
>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患级别:</span></van-col
>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 隐藏的字段 -->
<div v-show="reportOpen">
<van-row gutter="">
<van-col span="7"
><span class="field-title">试用范围:</span></van-col
>
<van-col span="17">{{ item.range }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患类型:</span></van-col
>
<van-col span="17">{{ item.type }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患项目编号</span>:</van-col
>
<van-col span="17">{{ item.dangerNum }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">风险源:</span></van-col
>
<van-col span="17">{{ item.source }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">风险源因素:</span></van-col
>
<van-col span="17">{{ item.source1 }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">检查部位:</span></van-col
>
<van-col span="17">{{ item.location }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患项目编号:</span></van-col
>
<van-col span="17">{{ item.dangerNum }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患描述:</span></van-col
>
<van-col span="17">{{ item.describe }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患照片:</span></van-col
>
<van-col span="17">{{ item.uploaderImg }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患视频:</span></van-col
>
<van-col span="17">{{ item.uploaderVideo }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患到期时间:</span></van-col
>
<van-col span="17">{{ item.expireTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患整改人:</span></van-col
>
<van-col span="17">{{ item.recPeople }}</van-col>
</van-row>
</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="reportReverse">
{{ reportOpenText }}
</div>
</div>
<div class="confirm-wrap">
<p>隐患认定</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患整改人:</span></van-col
>
<van-col span="17">{{ item.project }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患复查人:</span></van-col
>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">整改截止时间:</span></van-col
>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患复查人:</span></van-col
>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 隐藏的字段 -->
<div v-show="confirmOpen">
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患确认信息:</span></van-col
>
<van-col span="17">{{ item.range }}</van-col>
</van-row>
</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="confirmReverse">
{{ confirmOpenText }}
</div>
</div>
<div class="change-wrap">
<p>隐患整改</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-row gutter="">
<van-col span="7"
><span class="field-title">整改详情描述:</span></van-col
>
<van-col span="17">{{ item.project }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患照片:</span></van-col
>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患视频:</span></van-col
>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">创建时间:</span></van-col
>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
</van-cell-group>
</div>
<div class="journal-wrap">
<p>日志信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-steps direction="vertical" :active="999">
<van-step>
<div class="step-wrap">
<van-row>
<van-col span="24"
><div class="info-title">日志信息</div></van-col
>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">审批人:</span></van-col
>
<van-col span="19">首华建设项目</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">节点</span></van-col
>
<van-col span="19">隐患上报</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">结果:</span></van-col
>
<van-col span="19">通过</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">部门:</span></van-col
>
<van-col span="19">首华建设项目部</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">时间:</span></van-col
>
<van-col span="19">2021-10-26 16:30:00</van-col>
</van-row>
</div>
</van-step>
</van-steps>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="journalReverse">
{{ journalOpenText }}
</div>
</div>
<div class="supervise-wrap">
<p>督办信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<div style="text-align: center;">暂无数据</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="superviseReverse" v-show="false">
{{ superviseOpenText }}
</div>
</div>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
export default {
components: {
LHeader
},
data() {
return {
text: "隐患复查详情",
reportOpen: false,
reportOpenText: "展开 ▼",
journalOpen: false,
journalOpenText: "展开 ▼",
superviseOpen: false,
superviseOpenText: "展开 ▼",
confirmOpen: false,
confirmOpenText: "展开 ▼",
reportList: [
{
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A",
range: "城市轨道交通工程",
type: "临时用电",
dangerNum: "0-03-06-0003",
source: "违规活动",
source1: "人的因素",
location: "临时用电",
describe: "没按规定放置插排",
uploaderImg: [],
uploaderVideo: [],
expireTime: "2021-10-26 16:30:00",
recPeople: "张三"
}
],
journalList: []
};
},
mounted() {},
methods: {
// 上报信息显示或隐藏
reportReverse() {
this.reportOpen = !this.reportOpen;
if (this.reportOpen) {
this.reportOpenText = "收起 ▲";
} else {
this.reportOpenText = "展开 ▼";
}
},
// 隐患认定显示或隐藏
confirmReverse () {
this.confirmOpen = !this.confirmOpen;
if (this.confirmOpen) {
this.confirmOpenText = "收起 ▲";
} else {
this.confirmOpenText = "展开 ▼";
}
},
// 日志信息显示或隐藏
journalReverse() {
this.journalOpen = !this.journalOpen;
if (this.journalOpen) {
// 显示所有数据
this.journalOpenText = "收起 ▲";
} else {
// 只渲染一条数据
this.journalOpenText = "展开 ▼";
}
},
// 督办信息显示或隐藏
superviseReverse() {
this.superviseOpen = !this.superviseOpen;
if (this.superviseOpen) {
// 显示所有数据
this.superviseOpenText = "收起 ▲";
} else {
// 只渲染一条数据
this.superviseOpenText = "展开 ▼";
}
}
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px 0.533333rem;
background-color: #f0f1f5;
.cell-wrap {
position: relative;
}
p {
font-size: 0.4rem;
font-weight: 600;
padding-left: 0.16rem;
margin: 0.186667rem 0;
color: #7f7f7f;
}
.van-cell-group--inset {
margin: 0;
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
position: relative;
.van-row {
margin-bottom: 0.133333rem;
line-height: 0.64rem;
}
}
.confirm-wrap {
position: relative;
}
.journal-wrap {
position: relative;
}
.supervise-wrap {
position: relative;
}
.info-title {
color: #2980f7;
font-weight: bolder;
}
.field-title {
color: black;
font-weight: bolder;
}
.more {
position: absolute;
bottom: 0.32rem;
right: 15px;
color: #2a80f7;
font-weight: bolder;
z-index: 99;
}
}
</style>
...@@ -10,12 +10,23 @@ ...@@ -10,12 +10,23 @@
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
<div class="messgae-title">{{ item.noticeTitle }}</div> <van-row gutter="">
<div class="message-content"> <van-col span="7">所属工程名称:</van-col>
{{ item.upcomingUserName }},您好!您有一条来自{{ <van-col span="17">{{ item.project }}</van-col>
item.createUserName </van-row>
}}{{ item.noticeTitle }}相关的待处理任务... <van-row gutter="">
</div> <van-col span="7">隐患项目名称:</van-col>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患发现时间:</van-col>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index"> <van-overlay :show="showIndex == index">
...@@ -24,7 +35,7 @@ ...@@ -24,7 +35,7 @@
>详情</van-button >详情</van-button
> >
<van-button round type="info" @touchstart="goConfirm(item)" <van-button round type="info" @touchstart="goConfirm(item)"
>复查</van-button >确认</van-button
> >
</div> </div>
</van-overlay> </van-overlay>
...@@ -39,10 +50,10 @@ export default { ...@@ -39,10 +50,10 @@ export default {
return { return {
messageList: [ messageList: [
{ {
noticeTitle: "隐患上报消息", project: "朝阳区和平街14区简易住宅楼改造项目",
upcomingUserName: "张某某", subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
createUserName: "李某某", findTime: "2021-10-26 16:30:00",
noticeTitle: "重要任务" level: "一般隐患A"
} }
], ],
Loop: "", // 定时器 Loop: "", // 定时器
...@@ -55,9 +66,9 @@ export default { ...@@ -55,9 +66,9 @@ export default {
touchstart(index, item) { touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器 clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if(this.showIndex != null){ if (this.showIndex != null) {
this.showIndex = null; this.showIndex = null;
return return;
} }
this.Loop = setTimeout(() => { this.Loop = setTimeout(() => {
this.showIndex = index; this.showIndex = index;
...@@ -71,6 +82,7 @@ export default { ...@@ -71,6 +82,7 @@ export default {
// 详情 // 详情
goDetail(data) { goDetail(data) {
console.log(data); console.log(data);
this.$router.push("/review-detail");
this.showIndex = null; this.showIndex = null;
}, },
// 确认 // 确认
...@@ -93,9 +105,9 @@ export default { ...@@ -93,9 +105,9 @@ export default {
padding: 10px; padding: 10px;
font-size: 13px; font-size: 13px;
position: relative; position: relative;
.van-row{
.message-content { margin-bottom: .133333rem;
margin-top: 10px; line-height: .64rem;
} }
.van-overlay { .van-overlay {
position: absolute; position: absolute;
......
...@@ -2,41 +2,33 @@ ...@@ -2,41 +2,33 @@
<div> <div>
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
<van-search v-model="searchValue" placeholder="搜索" @search="onSearch" /> <van-search v-model="searchValue" placeholder="搜索" @search="onSearch" />
<van-tabs <van-tabs
v-model="active" v-model="active"
color="#247df7" color="#247df7"
title-inactive-colo="#d0d1d1" title-inactive-colo="#d0d1d1"
title-active-color="#000000" title-active-color="#000000"
> >
<van-tab title="待提交"> <van-tab title="正常">
<wait-submit></wait-submit> <normal-list></normal-list>
</van-tab>
<van-tab title="已提交">
<committed></committed>
</van-tab>
<van-tab title="已退回">
<returned></returned>
</van-tab> </van-tab>
<van-tab title="临期">临期</van-tab>
<van-tab title="超期">超期</van-tab>
</van-tabs> </van-tabs>
</div> </div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import WaitSubmit from "./waitSubmit"; import NormalList from "./normalList";
import Returned from "./returned";
import Committed from './committed';
export default { export default {
components: { components: {
LHeader: LHeader, LHeader,
WaitSubmit, NormalList
Returned,
Committed
}, },
data() { data() {
return { return {
text: "隐患上报", text: "隐患历史台账",
active: "1", active: "1",
searchValue: "" searchValue: ""
}; };
...@@ -45,10 +37,10 @@ export default { ...@@ -45,10 +37,10 @@ export default {
methods: { methods: {
onSearch(val) { onSearch(val) {
console.log(val); console.log(val);
}, }
} }
}; };
</script> </script>
<style scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
</style> </style>
<template>
<div>
<LHeader :text="text"></LHeader>
<!-- 内容列表 -->
<div class="con-list">
<div class="cell-wrap">
<p>隐患上报</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-row gutter="">
<van-col span="7"
><span class="field-title">所属工程名称:</span></van-col
>
<van-col span="17">{{ item.project }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患项目名称:</span></van-col
>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患发现时间:</span></van-col
>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患级别:</span></van-col
>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 隐藏的字段 -->
<div v-show="reportOpen">
<van-row gutter="">
<van-col span="7"
><span class="field-title">试用范围:</span></van-col
>
<van-col span="17">{{ item.range }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患类型:</span></van-col
>
<van-col span="17">{{ item.type }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患项目编号</span>:</van-col
>
<van-col span="17">{{ item.dangerNum }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">风险源:</span></van-col
>
<van-col span="17">{{ item.source }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">风险源因素:</span></van-col
>
<van-col span="17">{{ item.source1 }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">检查部位:</span></van-col
>
<van-col span="17">{{ item.location }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患项目编号:</span></van-col
>
<van-col span="17">{{ item.dangerNum }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患描述:</span></van-col
>
<van-col span="17">{{ item.describe }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患照片:</span></van-col
>
<van-col span="17">{{ item.uploaderImg }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患视频:</span></van-col
>
<van-col span="17">{{ item.uploaderVideo }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患到期时间:</span></van-col
>
<van-col span="17">{{ item.expireTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患整改人:</span></van-col
>
<van-col span="17">{{ item.recPeople }}</van-col>
</van-row>
</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="reportReverse">
{{ reportOpenText }}
</div>
</div>
<div class="confirm-wrap">
<p>隐患认定</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患整改人:</span></van-col
>
<van-col span="17">{{ item.project }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患复查人:</span></van-col
>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">整改截止时间:</span></van-col
>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患复查人:</span></van-col
>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 隐藏的字段 -->
<div v-show="confirmOpen">
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患确认信息:</span></van-col
>
<van-col span="17">{{ item.range }}</van-col>
</van-row>
</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="confirmReverse">
{{ confirmOpenText }}
</div>
</div>
<div class="change-wrap">
<p>隐患整改</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-row gutter="">
<van-col span="7"
><span class="field-title">整改详情描述:</span></van-col
>
<van-col span="17">{{ item.project }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患照片:</span></van-col
>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患视频:</span></van-col
>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">创建时间:</span></van-col
>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
</van-cell-group>
</div>
<div class="review-wrap">
<p>整改复查</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患照片:</span></van-col
>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">详情描述:</span></van-col
>
<van-col span="17">{{ item.project }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">复查结果:</span></van-col
>
<van-col span="17">{{ item.location }}</van-col>
</van-row>
</van-cell-group>
</div>
<div class="journal-wrap">
<p>日志信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-steps direction="vertical" :active="999">
<van-step>
<div class="step-wrap">
<van-row>
<van-col span="24"
><div class="info-title">日志信息</div></van-col
>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">审批人:</span></van-col
>
<van-col span="19">首华建设项目</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">节点</span></van-col
>
<van-col span="19">隐患上报</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">结果:</span></van-col
>
<van-col span="19">通过</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">部门:</span></van-col
>
<van-col span="19">首华建设项目部</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">时间:</span></van-col
>
<van-col span="19">2021-10-26 16:30:00</van-col>
</van-row>
</div>
</van-step>
</van-steps>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="journalReverse">
{{ journalOpenText }}
</div>
</div>
<div class="supervise-wrap">
<p>督办信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<div style="text-align: center;">暂无数据</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="superviseReverse" v-show="false">
{{ superviseOpenText }}
</div>
</div>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
export default {
components: {
LHeader
},
data() {
return {
text: "隐患历史台账详情",
reportOpen: false,
reportOpenText: "展开 ▼",
journalOpen: false,
journalOpenText: "展开 ▼",
superviseOpen: false,
superviseOpenText: "展开 ▼",
confirmOpen: false,
confirmOpenText: "展开 ▼",
reportList: [
{
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A",
range: "城市轨道交通工程",
type: "临时用电",
dangerNum: "0-03-06-0003",
source: "违规活动",
source1: "人的因素",
location: "临时用电",
describe: "没按规定放置插排",
uploaderImg: [],
uploaderVideo: [],
expireTime: "2021-10-26 16:30:00",
recPeople: "张三"
}
],
journalList: []
};
},
mounted() {},
methods: {
// 上报信息显示或隐藏
reportReverse() {
this.reportOpen = !this.reportOpen;
if (this.reportOpen) {
this.reportOpenText = "收起 ▲";
} else {
this.reportOpenText = "展开 ▼";
}
},
// 隐患认定显示或隐藏
confirmReverse () {
this.confirmOpen = !this.confirmOpen;
if (this.confirmOpen) {
this.confirmOpenText = "收起 ▲";
} else {
this.confirmOpenText = "展开 ▼";
}
},
// 日志信息显示或隐藏
journalReverse() {
this.journalOpen = !this.journalOpen;
if (this.journalOpen) {
// 显示所有数据
this.journalOpenText = "收起 ▲";
} else {
// 只渲染一条数据
this.journalOpenText = "展开 ▼";
}
},
// 督办信息显示或隐藏
superviseReverse() {
this.superviseOpen = !this.superviseOpen;
if (this.superviseOpen) {
// 显示所有数据
this.superviseOpenText = "收起 ▲";
} else {
// 只渲染一条数据
this.superviseOpenText = "展开 ▼";
}
}
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px 0.533333rem;
background-color: #f0f1f5;
.cell-wrap {
position: relative;
}
p {
font-size: 0.4rem;
font-weight: 600;
padding-left: 0.16rem;
margin: 0.186667rem 0;
color: #7f7f7f;
}
.van-cell-group--inset {
margin: 0;
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
position: relative;
.van-row {
margin-bottom: 0.133333rem;
line-height: 0.64rem;
}
}
.confirm-wrap {
position: relative;
}
.journal-wrap {
position: relative;
}
.supervise-wrap {
position: relative;
}
.info-title {
color: #2980f7;
font-weight: bolder;
}
.field-title {
color: black;
font-weight: bolder;
}
.more {
position: absolute;
bottom: 0.32rem;
right: 15px;
color: #2a80f7;
font-weight: bolder;
z-index: 99;
}
}
</style>
...@@ -10,12 +10,23 @@ ...@@ -10,12 +10,23 @@
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
<div class="messgae-title">{{ item.noticeTitle }}</div> <van-row gutter="">
<div class="message-content"> <van-col span="7">所属工程名称:</van-col>
{{ item.upcomingUserName }},您好!您有一条来自{{ <van-col span="17">{{ item.project }}</van-col>
item.createUserName </van-row>
}}{{ item.noticeTitle }}相关的待处理任务... <van-row gutter="">
</div> <van-col span="7">隐患项目名称:</van-col>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患发现时间:</van-col>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index"> <van-overlay :show="showIndex == index">
...@@ -23,63 +34,42 @@ ...@@ -23,63 +34,42 @@
<van-button round type="primary" @touchstart="goDetail(item)" <van-button round type="primary" @touchstart="goDetail(item)"
>详情</van-button >详情</van-button
> >
<van-button round type="info" @touchstart="goDelete(item)"
>修改</van-button
>
</div> </div>
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
<!-- 加号 -->
<div class="add" @click="goAdd">+</div>
</div> </div>
</template> </template>
<script> <script>
import { dangerReturn } from "@/service/danger";
export default { export default {
data() { data() {
return { return {
messageList: [ messageList: [
{ {
noticeTitle: "隐患上报消息", project: "朝阳区和平街14区简易住宅楼改造项目",
upcomingUserName: "张某某", subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
createUserName: "李某某", findTime: "2021-10-26 16:30:00",
noticeTitle: "重要任务" level: "一般隐患A"
} }
], ],
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null // 是否显示遮罩层 showIndex: null // 是否显示遮罩层
}; };
}, },
activated() { mounted() {},
this.postList()
},
methods: { methods: {
// 请求已退回列表数据 read() {},
postList(){
dangerReturn('hdreport/list').then(res =>{
if(res.code == 0){
console.log(res);
}
})
},
goAdd(){
this.$router.push('/add-danger');
},
read(){},
touchstart(index, item) { touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器 clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if(this.showIndex != null){ if (this.showIndex != null) {
this.showIndex = null; this.showIndex = null;
return return;
} }
this.Loop = setTimeout(() => { this.Loop = setTimeout(() => {
this.showIndex = index this.showIndex = index;
},300); // 这里的1000是指需要长按的时间,单位为ms }, 300); // 这里的1000是指需要长按的时间,单位为ms
}, },
touchend(index) { touchend(index) {
// 这个方法主要是用来将每次手指移出之后将计时器清零 // 这个方法主要是用来将每次手指移出之后将计时器清零
...@@ -87,59 +77,39 @@ export default { ...@@ -87,59 +77,39 @@ export default {
}, },
// 详情 // 详情
goDetail(data){ goDetail(data) {
console.log(data); console.log(data);
this.showIndex = null this.$router.push("/normal-detail");
}, this.showIndex = null;
// 删除
goDelete(data){
console.log(data);
this.showIndex = null
}, },
} }
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
// 内容 .con-list {
.con-list { padding: 10px 10px 0;
padding: 10px 10px 0;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
margin-bottom: 10px; margin-bottom: 10px;
padding: 10px; padding: 10px;
font-size: 13px; font-size: 13px;
position: relative; position: relative;
.van-row{
.message-content { margin-bottom: .133333rem;
margin-top: 10px; line-height: .64rem;
}
} .van-overlay {
.van-overlay{ position: absolute;
position: absolute; .wrapper {
.wrapper {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-evenly; justify-content: space-evenly;
height: 100%; height: 100%;
} }
}
} }
} }
.add{ }
width: 1.333333rem;
height: 1.333333rem;
color: white;
font-weight: bold;
font-size: 1.48rem;
background-color: #02a7f0;
text-align: center;
line-height: 1.333333rem;
border-radius: 50%;
position: fixed;
right: .533333rem;
bottom: 1.866667rem;
}
</style> </style>
...@@ -46,15 +46,15 @@ ...@@ -46,15 +46,15 @@
</div> </div>
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index" > <van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop > <div class="wrapper" @click.stop>
<van-button round type="info" @touchstart="goDetail(item)" <van-button round type="primary" @touchstart="goDetail(item)"
>详情</van-button >详情</van-button
> >
<van-button round type="danger" @touchstart="goDelete(item)" <van-button round type="info" @touchstart="goConfirm(item)"
>删除</van-button >整改</van-button
> >
</div> </div>
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
...@@ -100,7 +100,6 @@ export default { ...@@ -100,7 +100,6 @@ export default {
created() { created() {
this.getMessageList(); this.getMessageList();
this.unRead(); this.unRead();
}, },
methods: { methods: {
// 点击类别 // 点击类别
...@@ -132,7 +131,7 @@ export default { ...@@ -132,7 +131,7 @@ export default {
read(data) { read(data) {
console.log("触发了点击事件"); console.log("触发了点击事件");
// 判断showIndex是否等于null 如果不等于则先将showIndex改为null // 判断showIndex是否等于null 如果不等于则先将showIndex改为null
this.showIndex = null; this.showIndex = null;
if (data.status == "未读") { if (data.status == "未读") {
let formData = new FormData(); let formData = new FormData();
formData.append("ids", data.pid); formData.append("ids", data.pid);
...@@ -199,13 +198,16 @@ export default { ...@@ -199,13 +198,16 @@ export default {
touchstart(index, item) { touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器 clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if(this.showIndex != null){ if (this.showIndex != null) {
this.showIndex = null; this.showIndex = null;
return return;
} }
this.Loop = setTimeout(function() { this.Loop = setTimeout(
this.showIndex = index; function() {
}.bind(this), 300); // 这里的1000是指需要长按的时间,单位为ms this.showIndex = index;
}.bind(this),
300
); // 这里的1000是指需要长按的时间,单位为ms
}, },
touchend(index) { touchend(index) {
// 这个方法主要是用来将每次手指移出之后将计时器清零 // 这个方法主要是用来将每次手指移出之后将计时器清零
......
<template>
<div>
<LHeader :text="text"></LHeader>
<van-search v-model="searchValue" placeholder="搜索" @search="onSearch" />
<van-tabs
v-model="active"
color="#247df7"
title-inactive-colo="#d0d1d1"
title-active-color="#000000"
>
<van-tab title="重大风险">
<risk-big-list></risk-big-list>
</van-tab>
<van-tab title="一般风险">一般风险</van-tab>
</van-tabs>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import riskBigList from './riskBigList.vue';
export default {
components: {
LHeader,
riskBigList
},
data() {
return {
text: "风险历史台账",
active: "1",
searchValue: ""
};
},
mounted() {},
methods: {
onSearch(val) {
console.log(val);
}
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
</style>
<template>
<div>
<LHeader :text="text"></LHeader>
<!-- 内容列表 -->
<div class="con-list">
<div class="cell-wrap">
<p>风险上报</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-row gutter="">
<van-col span="7"><span class="field-title">所属工程名称:</span></van-col>
<van-col span="17">{{ item.project }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">风险因素:</span></van-col>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">风险源:</span></van-col>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">事故类型:</span></van-col>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 隐藏的字段 -->
<div v-show="reportOpen">
<van-row gutter="">
<van-col span="7"><span class="field-title">风险等级:</span></van-col>
<van-col span="17">{{ item.range }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">风险部位:</span></van-col>
<van-col span="17">{{ item.type }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">管控层级:</span></van-col>
<van-col span="17">{{ item.dangerNum }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">主责部门:</span></van-col>
<van-col span="17">{{ item.source }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">主责人员:</span></van-col>
<van-col span="17">{{ item.source1 }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">定级方式:</span></van-col>
<van-col span="17">{{ item.location }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">技术措施:</span></van-col>
<van-col span="17">{{ item.dangerNum }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">技术措施(附件):</span></van-col>
<van-col span="17">{{ item.describe }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">管理措施:</span></van-col>
<van-col span="17">{{ item.uploaderImg }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">管理措施(附件):</span></van-col>
<van-col span="17">{{ item.uploaderVideo }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">应急措施:</span></van-col>
<van-col span="17">{{ item.expireTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">应急措施(附件):</span></van-col>
<van-col span="17">{{ item.recPeople }}</van-col>
</van-row>
</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="reportReverse">
{{ reportOpenText }}
</div>
</div>
<div class="confirme-wrap">
<p>风险确认</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-row gutter="">
<van-col span="7"><span class="field-title">意见:</span></van-col>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">隐患确认信息:</span></van-col
>
<van-col span="17">{{ item.project }}</van-col>
</van-row>
</van-cell-group>
</div>
<div class="journal-wrap">
<p>日志信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-steps direction="vertical" :active="999">
<van-step>
<div class="step-wrap">
<van-row>
<van-col span="24"
><div class="info-title">日志信息</div></van-col
>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">审批人:</span></van-col
>
<van-col span="19">首华建设项目</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">节点</span></van-col
>
<van-col span="19">隐患上报</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">结果:</span></van-col
>
<van-col span="19">通过</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">部门:</span></van-col
>
<van-col span="19">首华建设项目部</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">时间:</span></van-col
>
<van-col span="19">2021-10-26 16:30:00</van-col>
</van-row>
</div>
</van-step>
</van-steps>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="journalReverse">
{{ journalOpenText }}
</div>
</div>
<div class="supervise-wrap">
<p>督办信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<div style="text-align: center;">暂无数据</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="superviseReverse" v-show="false">
{{ superviseOpenText }}
</div>
</div>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
export default {
components: {
LHeader
},
data() {
return {
text: "隐患历史台账",
reportOpen: false,
reportOpenText: "展开 ▼",
journalOpen: false,
journalOpenText: "展开 ▼",
superviseOpen: false,
superviseOpenText: "展开 ▼",
reportList: [
{
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A",
range: "城市轨道交通工程",
type: "临时用电",
dangerNum: "0-03-06-0003",
source: "违规活动",
source1: "人的因素",
location: "临时用电",
describe: "没按规定放置插排",
uploaderImg: [],
uploaderVideo: [],
expireTime: "2021-10-26 16:30:00",
recPeople: "张三"
}
],
journalList: []
};
},
mounted() {},
methods: {
// 上报信息显示或隐藏
reportReverse() {
this.reportOpen = !this.reportOpen;
if (this.reportOpen) {
this.reportOpenText = "收起 ▲";
} else {
this.reportOpenText = "展开 ▼";
}
},
// 日志信息显示或隐藏
journalReverse() {
this.journalOpen = !this.journalOpen;
if (this.journalOpen) {
// 显示所有数据
this.journalOpenText = "收起 ▲";
} else {
// 只渲染一条数据
this.journalOpenText = "展开 ▼";
}
},
// 督办信息显示或隐藏
superviseReverse() {
this.superviseOpen = !this.superviseOpen;
if (this.superviseOpen) {
// 显示所有数据
this.superviseOpenText = "收起 ▲";
} else {
// 只渲染一条数据
this.superviseOpenText = "展开 ▼";
}
}
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px .533333rem;
background-color: #f0f1f5;
.cell-wrap {
position: relative;
}
p {
font-size: 0.4rem;
font-weight: 600;
padding-left: 0.16rem;
margin: 0.186667rem 0;
color: #7f7f7f;
}
.van-cell-group--inset {
margin: 0;
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
position: relative;
.van-row {
margin-bottom: .133333rem;
line-height: .64rem;
}
}
.journal-wrap {
position: relative;
}
.supervise-wrap{
position: relative;
}
.info-title {
color: #2980f7;
font-weight: bolder;
}
.field-title {
color: black;
font-weight: bolder;
}
.more {
position: absolute;
bottom: 0.32rem;
right: 15px;
color: #2a80f7;
font-weight: bolder;
z-index: 99;
}
}
</style>
<template>
<div>
<!-- 内容列表 -->
<div class="con-list">
<van-cell-group
inset
v-for="(item, index) in messageList"
:key="index"
@click="read(item)"
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
<van-row gutter="">
<van-col span="7">所属工程名称:</van-col>
<van-col span="17">{{ item.project }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患项目名称:</van-col>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患发现时间:</van-col>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop>
<van-button round type="primary" @touchstart="goDetail(item)"
>详情</van-button
>
</div>
</van-overlay>
</van-cell-group>
</div>
</div>
</template>
<script>
export default {
data() {
return {
messageList: [
{
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A"
}
],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
};
},
mounted() {},
methods: {
read() {},
touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if (this.showIndex != null) {
this.showIndex = null;
return;
}
this.Loop = setTimeout(() => {
this.showIndex = index;
}, 300); // 这里的1000是指需要长按的时间,单位为ms
},
touchend(index) {
// 这个方法主要是用来将每次手指移出之后将计时器清零
clearInterval(this.Loop);
},
// 详情
goDetail(data) {
console.log(data);
this.$router.push("/risk-big-detail");
this.showIndex = null;
},
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px 0;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
position: relative;
.van-row{
margin-bottom: .133333rem;
line-height: .64rem;
}
.van-overlay {
position: absolute;
.wrapper {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
}
}
}
</style>
...@@ -7,22 +7,32 @@ ...@@ -7,22 +7,32 @@
:show-error="false" :show-error="false"
validate-trigger="onSubmit" validate-trigger="onSubmit"
> >
<van-field
v-if="isShowreturnCause"
v-model="returnCause"
readonly
rows="1"
autosize=""
label="退回原因"
name="退回原因"
type="textarea"
/>
<van-field <van-field
readonly readonly
clickable clickable
name="所属工程名称" name="所属工程名称"
:value="gongcheng" :value="projectName"
label="所属工程名称" label="所属工程名称"
placeholder="请选择" placeholder="请选择"
@click="showGongcheng = true" @click="showProjectName = true"
:rules="[{ required: true, message: '所属工程名称不能为空' }]" :rules="[{ required: true, message: '所属工程名称不能为空' }]"
/> />
<van-popup v-model="showGongcheng" position="bottom"> <van-popup v-model="showProjectName" position="bottom">
<van-picker <van-picker
show-toolbar show-toolbar
:columns="columnsGongcheng" :columns="columnsProjectName"
@confirm="onConGongcheng" @confirm="onConProjectName"
@cancel="showGongcheng = false" @cancel="showProjectName = false"
/> />
</van-popup> </van-popup>
...@@ -275,9 +285,9 @@ export default { ...@@ -275,9 +285,9 @@ export default {
data() { data() {
return { return {
text: "新增风险", text: "新增风险",
gongcheng: "", // 所属工程 projectName: "", // 所属工程
showGongcheng: false, showProjectName: false,
columnsGongcheng: ["工程1", "工程2", "工程3", "工程4"], columnsProjectName: ["工程1", "工程2", "工程3", "工程4"],
factor: "", //风险因素 factor: "", //风险因素
showFactor: false, showFactor: false,
columnsFactor: ["风险因素1", "风险因素2", "风险因素3", "风险因素4"], columnsFactor: ["风险因素1", "风险因素2", "风险因素3", "风险因素4"],
...@@ -309,17 +319,24 @@ export default { ...@@ -309,17 +319,24 @@ export default {
administrationImg:[],//管理措施图片 administrationImg:[],//管理措施图片
urgent:"", //应急措施文字 urgent:"", //应急措施文字
urgentImg:[],//应急措施图片 urgentImg:[],//应急措施图片
returnCause: "你这不行啊", // 退回原因
isShowreturnCause: false
}; };
}, },
mounted() {}, created() {
if (this.$route.query.status) {
this.isShowreturnCause = true;
this.text = "风险上报退回"
}
},
methods: { methods: {
onSubmit(values) { onSubmit(values) {
console.log("submit", values); console.log("submit", values);
}, },
// 所属工程名称 // 所属工程名称
onConGongcheng(value) { onConProjectName(value) {
this.gongcheng = value; this.projectName = value;
this.showGongcheng = false; this.showProjectName = false;
}, },
// 风险因素 // 风险因素
onConFactor(value) { onConFactor(value) {
......
<template>
<div>
<LHeader :text="text"></LHeader>
<!-- 内容列表 -->
<div class="con-list">
<div class="cell-wrap">
<p>风险上报</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-row gutter="">
<van-col span="7"
><span class="field-title">所属工程名称:</span></van-col
>
<van-col span="17">{{ item.project }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">风险因素:</span></van-col
>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">风险源:</span></van-col>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">事故类型:</span></van-col
>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 隐藏的字段 -->
<div v-show="reportOpen">
<van-row gutter="">
<van-col span="7"
><span class="field-title">风险等级:</span></van-col
>
<van-col span="17">{{ item.range }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">风险部位:</span></van-col
>
<van-col span="17">{{ item.type }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">管控层级:</span></van-col
>
<van-col span="17">{{ item.dangerNum }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">主责部门:</span></van-col
>
<van-col span="17">{{ item.source }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">主责人员:</span></van-col
>
<van-col span="17">{{ item.source1 }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">定级方式:</span></van-col
>
<van-col span="17">{{ item.location }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">技术措施:</span></van-col
>
<van-col span="17">{{ item.dangerNum }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">技术措施(附件):</span></van-col
>
<van-col span="17">{{ item.describe }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">管理措施:</span></van-col
>
<van-col span="17">{{ item.uploaderImg }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">管理措施(附件):</span></van-col
>
<van-col span="17">{{ item.uploaderVideo }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">应急措施:</span></van-col
>
<van-col span="17">{{ item.expireTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">应急措施(附件):</span></van-col
>
<van-col span="17">{{ item.recPeople }}</van-col>
</van-row>
</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="reportReverse">
{{ reportOpenText }}
</div>
</div>
<div class="journal-wrap">
<p>日志信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-steps direction="vertical" :active="999">
<van-step>
<div class="step-wrap">
<van-row>
<van-col span="24"
><div class="info-title">日志信息</div></van-col
>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">审批人:</span></van-col
>
<van-col span="19">首华建设项目</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">节点</span></van-col
>
<van-col span="19">隐患上报</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">结果:</span></van-col
>
<van-col span="19">通过</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">部门:</span></van-col
>
<van-col span="19">首华建设项目部</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">时间:</span></van-col
>
<van-col span="19">2021-10-26 16:30:00</van-col>
</van-row>
</div>
</van-step>
</van-steps>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="journalReverse">
{{ journalOpenText }}
</div>
</div>
<div class="supervise-wrap">
<p>督办信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<div style="text-align: center;">暂无数据</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="superviseReverse" v-show="false">
{{ superviseOpenText }}
</div>
</div>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
export default {
components: {
LHeader
},
data() {
return {
text: "风险确认详情",
reportOpen: false,
reportOpenText: "展开 ▼",
journalOpen: false,
journalOpenText: "展开 ▼",
superviseOpen: false,
superviseOpenText: "展开 ▼",
reportList: [
{
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A",
range: "城市轨道交通工程",
type: "临时用电",
dangerNum: "0-03-06-0003",
source: "违规活动",
source1: "人的因素",
location: "临时用电",
describe: "没按规定放置插排",
uploaderImg: [],
uploaderVideo: [],
expireTime: "2021-10-26 16:30:00",
recPeople: "张三"
}
],
journalList: []
};
},
mounted() {},
methods: {
// 上报信息显示或隐藏
reportReverse() {
this.reportOpen = !this.reportOpen;
if (this.reportOpen) {
this.reportOpenText = "收起 ▲";
} else {
this.reportOpenText = "展开 ▼";
}
},
// 日志信息显示或隐藏
journalReverse() {
this.journalOpen = !this.journalOpen;
if (this.journalOpen) {
// 显示所有数据
this.journalOpenText = "收起 ▲";
} else {
// 只渲染一条数据
this.journalOpenText = "展开 ▼";
}
},
// 督办信息显示或隐藏
superviseReverse() {
this.superviseOpen = !this.superviseOpen;
if (this.superviseOpen) {
// 显示所有数据
this.superviseOpenText = "收起 ▲";
} else {
// 只渲染一条数据
this.superviseOpenText = "展开 ▼";
}
}
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px 0.533333rem;
background-color: #f0f1f5;
.cell-wrap {
position: relative;
}
p {
font-size: 0.4rem;
font-weight: 600;
padding-left: 0.16rem;
margin: 0.186667rem 0;
color: #7f7f7f;
}
.van-cell-group--inset {
margin: 0;
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
position: relative;
.van-row {
margin-bottom: 0.133333rem;
line-height: 0.64rem;
}
}
.journal-wrap {
position: relative;
}
.supervise-wrap {
position: relative;
}
.info-title {
color: #2980f7;
font-weight: bolder;
}
.field-title {
color: black;
font-weight: bolder;
}
.more {
position: absolute;
bottom: 0.32rem;
right: 15px;
color: #2a80f7;
font-weight: bolder;
z-index: 99;
}
}
</style>
...@@ -10,12 +10,23 @@ ...@@ -10,12 +10,23 @@
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
<div class="messgae-title">{{ item.noticeTitle }}</div> <van-row gutter="">
<div class="message-content"> <van-col span="7">所属工程名称:</van-col>
{{ item.upcomingUserName }},您好!您有一条来自{{ <van-col span="17">{{ item.project }}</van-col>
item.createUserName </van-row>
}}{{ item.noticeTitle }}相关的待处理任务... <van-row gutter="">
</div> <van-col span="7">隐患项目名称:</van-col>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患发现时间:</van-col>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index"> <van-overlay :show="showIndex == index">
...@@ -39,10 +50,10 @@ export default { ...@@ -39,10 +50,10 @@ export default {
return { return {
messageList: [ messageList: [
{ {
noticeTitle: "隐患上报消息", project: "朝阳区和平街14区简易住宅楼改造项目",
upcomingUserName: "张某某", subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
createUserName: "李某某", findTime: "2021-10-26 16:30:00",
noticeTitle: "重要任务" level: "一般隐患A"
} }
], ],
Loop: "", // 定时器 Loop: "", // 定时器
...@@ -51,17 +62,17 @@ export default { ...@@ -51,17 +62,17 @@ export default {
}, },
mounted() {}, mounted() {},
methods: { methods: {
read(){}, read() {},
touchstart(index, item) { touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器 clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if(this.showIndex != null){ if (this.showIndex != null) {
this.showIndex = null; this.showIndex = null;
return return;
} }
this.Loop = setTimeout(() => { this.Loop = setTimeout(() => {
this.showIndex = index this.showIndex = index;
},300); // 这里的1000是指需要长按的时间,单位为ms }, 300); // 这里的1000是指需要长按的时间,单位为ms
}, },
touchend(index) { touchend(index) {
// 这个方法主要是用来将每次手指移出之后将计时器清零 // 这个方法主要是用来将每次手指移出之后将计时器清零
...@@ -69,59 +80,44 @@ export default { ...@@ -69,59 +80,44 @@ export default {
}, },
// 详情 // 详情
goDetail(data){ goDetail(data) {
console.log(data); console.log(data);
this.showIndex = null this.$router.push("/affirm-detail");
this.showIndex = null;
}, },
// 确认 // 确认
goConfirm(data){ goConfirm(data) {
this.$router.push("/risk-affirm") console.log(data);
this.showIndex = null this.$router.push("/risk-affirm");
}, this.showIndex = null;
}
} }
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
// 内容 .con-list {
.con-list { padding: 10px 10px 0;
padding: 10px 10px 0;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
margin-bottom: 10px; margin-bottom: 10px;
padding: 10px; padding: 10px;
font-size: 13px; font-size: 13px;
position: relative; position: relative;
.van-row{
.message-content { margin-bottom: .133333rem;
margin-top: 10px; line-height: .64rem;
}
} .van-overlay {
.van-overlay{ position: absolute;
position: absolute; .wrapper {
.wrapper {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-evenly; justify-content: space-evenly;
height: 100%; height: 100%;
} }
}
} }
} }
.add{ }
width: 1.333333rem;
height: 1.333333rem;
color: white;
font-weight: bold;
font-size: 1.48rem;
background-color: #02a7f0;
text-align: center;
line-height: 1.333333rem;
border-radius: 50%;
position: fixed;
right: .533333rem;
bottom: 1.866667rem;
}
</style> </style>
<template>
<div>
<LHeader :text="text"></LHeader>
<van-search v-model="searchValue" placeholder="搜索" @search="onSearch" />
<risk-returned></risk-returned>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import RiskReturned from "./riskReturned";
export default {
components: {
LHeader: LHeader,
RiskReturned,
},
data() {
return {
text: "上报退回",
searchValue: ""
};
},
mounted() {},
methods: {
onSearch(val) {
console.log(val);
},
}
};
</script>
<style scoped>
/* @import url(); 引入css类 */
</style>
...@@ -10,12 +10,23 @@ ...@@ -10,12 +10,23 @@
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
<div class="messgae-title">{{ item.noticeTitle }}</div> <van-row gutter="">
<div class="message-content"> <van-col span="7">所属工程名称:</van-col>
{{ item.upcomingUserName }},您好!您有一条来自{{ <van-col span="17">{{ item.project }}</van-col>
item.createUserName </van-row>
}}{{ item.noticeTitle }}相关的待处理任务... <van-row gutter="">
</div> <van-col span="7">隐患项目名称:</van-col>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患发现时间:</van-col>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index"> <van-overlay :show="showIndex == index">
...@@ -23,16 +34,13 @@ ...@@ -23,16 +34,13 @@
<van-button round type="primary" @touchstart="goDetail(item)" <van-button round type="primary" @touchstart="goDetail(item)"
>详情</van-button >详情</van-button
> >
<van-button round type="info" @touchstart="goDelete(item)" <van-button round type="warning" @touchstart="goDelete(item)"
>修改</van-button >删除</van-button
> >
</div> </div>
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
<!-- 加号 -->
<div class="add" @click="goAdd">+</div>
</div> </div>
</template> </template>
...@@ -42,10 +50,10 @@ export default { ...@@ -42,10 +50,10 @@ export default {
return { return {
messageList: [ messageList: [
{ {
noticeTitle: "隐患上报消息", project: "朝阳区和平街14区简易住宅楼改造项目",
upcomingUserName: "wang某某", subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
createUserName: "李某某", findTime: "2021-10-26 16:30:00",
noticeTitle: "重要任务" level: "一般隐患A"
} }
], ],
Loop: "", // 定时器 Loop: "", // 定时器
...@@ -54,21 +62,17 @@ export default { ...@@ -54,21 +62,17 @@ export default {
}, },
mounted() {}, mounted() {},
methods: { methods: {
read() {},
goAdd(){
this.$router.push('/add-danger');
},
read(){},
touchstart(index, item) { touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器 clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if(this.showIndex != null){ if (this.showIndex != null) {
this.showIndex = null; this.showIndex = null;
return return;
} }
this.Loop = setTimeout(() => { this.Loop = setTimeout(() => {
this.showIndex = index this.showIndex = index;
},300); // 这里的1000是指需要长按的时间,单位为ms }, 300); // 这里的1000是指需要长按的时间,单位为ms
}, },
touchend(index) { touchend(index) {
// 这个方法主要是用来将每次手指移出之后将计时器清零 // 这个方法主要是用来将每次手指移出之后将计时器清零
...@@ -76,59 +80,46 @@ export default { ...@@ -76,59 +80,46 @@ export default {
}, },
// 详情 // 详情
goDetail(data){ goDetail(data) {
console.log(data); console.log(data);
this.showIndex = null this.$router.push({
path: '/risk-add',
query: {status: "退回"}
});
this.showIndex = null;
}, },
// 删除 // 删除
goDelete(data){ goDelete(data) {
console.log(data); console.log(data);
this.showIndex = null this.showIndex = null;
}, }
} }
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
// 内容 .con-list {
.con-list { padding: 10px 10px 0;
padding: 10px 10px 0;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
margin-bottom: 10px; margin-bottom: 10px;
padding: 10px; padding: 10px;
font-size: 13px; font-size: 13px;
position: relative; position: relative;
.van-row{
.message-content { margin-bottom: .133333rem;
margin-top: 10px; line-height: .64rem;
}
} .van-overlay {
.van-overlay{ position: absolute;
position: absolute; .wrapper {
.wrapper {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-evenly; justify-content: space-evenly;
height: 100%; height: 100%;
} }
}
} }
} }
.add{ }
width: 1.333333rem;
height: 1.333333rem;
color: white;
font-weight: bold;
font-size: 1.48rem;
background-color: #02a7f0;
text-align: center;
line-height: 1.333333rem;
border-radius: 50%;
position: fixed;
right: .533333rem;
bottom: 1.866667rem;
}
</style> </style>
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
<van-cell value="风控分级管控" /> <van-cell value="风控分级管控" />
<van-grid :column-num="5"> <van-grid :column-num="5">
<van-grid-item <van-grid-item
@click="riskJump(item.path)" @click="riskJump(item.path)"
v-for="item in finalRiskList" v-for="item in finalRiskList"
:key="item.key" :key="item.key"
:icon="item.imgUrl" :icon="item.imgUrl"
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
<van-cell value="隐患排查治理" /> <van-cell value="隐患排查治理" />
<van-grid :column-num="5"> <van-grid :column-num="5">
<van-grid-item <van-grid-item
@click="dangerJump(item.path)" @click="dangerJump(item.path)"
v-for="item in finalDangerList" v-for="item in finalDangerList"
:key="item.key" :key="item.key"
:icon="item.imgUrl" :icon="item.imgUrl"
...@@ -131,13 +131,14 @@ export default { ...@@ -131,13 +131,14 @@ export default {
text: "风险上报" text: "风险上报"
}, },
{ {
key: "2", key: "3",
path:"/risk-confirme", path: "/risk-confirme",
imgUrl: require("@/assets/workbench/risk-confirm.png"), imgUrl: require("@/assets/workbench/risk-confirm.png"),
text: "风险确认" text: "风险确认"
}, },
{ {
key: "3", key: "4",
path: "/risk-account",
imgUrl: require("@/assets/workbench/risk-account.png"), imgUrl: require("@/assets/workbench/risk-account.png"),
text: "风险台账" text: "风险台账"
} }
...@@ -146,31 +147,32 @@ export default { ...@@ -146,31 +147,32 @@ export default {
// 隐患排查治理 // 隐患排查治理
{ {
key: "1", key: "1",
path: "/danger", // path: "/danger",
// path: "/add-danger", path: "/add-danger",
imgUrl: require("@/assets/workbench/danger-report.png"), imgUrl: require("@/assets/workbench/danger-report.png"),
text: "隐患上报" text: "隐患上报"
}, },
{ {
key: "2", key: "3",
path: "/confirme-danger", path: "/confirme-danger",
imgUrl: require("@/assets/workbench/danger-confirm.png"), imgUrl: require("@/assets/workbench/danger-confirm.png"),
text: "隐患确认" text: "隐患确认"
}, },
{ {
key: "3", key: "4",
path: "/change-danger", path: "/change-danger",
imgUrl: require("@/assets/workbench/danger-rectification.png"), imgUrl: require("@/assets/workbench/danger-rectification.png"),
text: "隐患整改" text: "隐患整改"
}, },
{ {
key: "4", key: "5",
path: "/review-danger", path: "/review-danger",
imgUrl: require("@/assets/workbench/danger-acceptance.png"), imgUrl: require("@/assets/workbench/danger-acceptance.png"),
text: "隐患复查" text: "隐患复查"
}, },
{ {
key: "5", key: "6",
path: "/stand-book",
imgUrl: require("@/assets/workbench/danger-account.png"), imgUrl: require("@/assets/workbench/danger-account.png"),
text: "隐患台账" text: "隐患台账"
} }
...@@ -243,12 +245,12 @@ export default { ...@@ -243,12 +245,12 @@ export default {
this.$router.push(path); this.$router.push(path);
} }
}, },
dangerJump(path){ dangerJump(path) {
if (path) { if (path) {
this.$router.push(path); this.$router.push(path);
} }
}, },
riskJump(path){ riskJump(path) {
if (path) { if (path) {
this.$router.push(path); this.$router.push(path);
} }
...@@ -267,6 +269,19 @@ export default { ...@@ -267,6 +269,19 @@ export default {
this.finalRiskList = [...this.riskList].filter(x => this.finalRiskList = [...this.riskList].filter(x =>
[...this.powerObj.风险分级管控].some(y => y.menuName === x.text) [...this.powerObj.风险分级管控].some(y => y.menuName === x.text)
); );
// 如果有隐患上报权限 则在添加一个 上报退回的权限
this.powerObj.风险分级管控.map(item => {
if (item.menuName == "风险上报") {
let obj = {
key: "2",
path: "/risk-return",
imgUrl: require("@/assets/workbench/plane-approval.png"),
text: "上报退回"
};
this.finalRiskList.splice(1, 0, obj);
}
});
} else { } else {
this.finalRiskList = []; this.finalRiskList = [];
} }
...@@ -275,9 +290,22 @@ export default { ...@@ -275,9 +290,22 @@ export default {
this.finalDangerList = [...this.dangerList].filter(x => this.finalDangerList = [...this.dangerList].filter(x =>
[...this.powerObj.隐患排查治理].some(y => y.menuName === x.text) [...this.powerObj.隐患排查治理].some(y => y.menuName === x.text)
); );
// 如果有隐患上报权限 则在添加一个 上报退回的权限
this.powerObj.隐患排查治理.map(item => {
if (item.menuName == "隐患上报") {
let obj = {
key: "2",
path: "/report-return",
imgUrl: require("@/assets/workbench/rectification-notice.png"),
text: "上报退回"
};
this.finalDangerList.splice(1, 0, obj);
}
});
} else { } else {
this.finalDangerList = []; this.finalDangerList = [];
} }
// this.finalDangerList = this.dangerList
// 安全监督检查 // 安全监督检查
if (this.powerObj.安全监督检查) { if (this.powerObj.安全监督检查) {
this.finalSafetyCheckList = [...this.safetyCheckList].filter(x => this.finalSafetyCheckList = [...this.safetyCheckList].filter(x =>
......
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