Commit 8dafe2d8 authored by 13841799530's avatar 13841799530

冲突解决

解润东
2021102702
parents 369c69e2 c27c1d32
......@@ -15,12 +15,13 @@ import store from './store'
import './permission'
import Cookies from 'js-cookie'
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'
Vue.use(Divider).use(Popup).use(Overlay).use(Loading).use(Dialog).use(Toast).use(ContactCard).use(Form).use(AddressEdit).use(AddressList).use(Field).use(CellGroup).use(Cell).use(SwipeCell).use(Icon).use(Stepper).use(Card).use(Button).use(Swipe).use(SwipeItem).use(PullRefresh).use(List).use(Tab).use(Tabs).use(GoodsAction).use(GoodsActionIcon).use(GoodsActionButton).use(SubmitBar).use(Checkbox).use(CheckboxGroup).use(Search).use(Picker).use(Uploader).use(Notify)
.use(ContactList).use(Calendar).use(Radio).use(RadioGroup).use(Tag).use(Tabbar).use(TabbarItem).use(Sticky)
.use(Grid).use(GridItem).use(Skeleton).use(Col).use(Row).use(VanImage).use(Badge).use(NoticeBar).use(DatetimePicker).use(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
new Vue({
router,
......
......@@ -253,24 +253,26 @@ const routes = [
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/my'),
},
{
path: '/danger',
name: 'danger',
path: '/add-danger',
name: 'add-danger',
meta: {
title:'隐患上报',
title:'新增隐患',
index: 1
},
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/addDanger'),
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/addDanger/addDanger'),
},
{
path: '/add-danger',
name: 'add-danger',
path: '/report-return',
name: 'report-return',
meta: {
title:'新增隐患',
title:'隐患上报已退回',
index: 1
},
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/addDanger/addDanger'),
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/reportReturn'),
},
{
path: '/confirme-danger',
name: 'confirme-danger',
......@@ -280,6 +282,16 @@ const routes = [
},
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',
name: 'affirm-danger',
......@@ -307,6 +319,16 @@ const routes = [
},
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',
name: 'review-danger',
......@@ -316,6 +338,17 @@ const routes = [
},
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',
name: 'review-add',
......@@ -325,6 +358,25 @@ const routes = [
},
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',
name: 'risk',
......@@ -343,6 +395,17 @@ const routes = [
},
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',
name: 'risk-confirme',
......@@ -361,6 +424,42 @@ const routes = [
},
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>
<div>
<LHeader :text="text"></LHeader>
<van-form
@submit="onSubmit"
:scroll-to-error="true"
:show-error='false'
:show-error="false"
validate-trigger="onSubmit"
>
<van-field
v-if="isShowreturnCause"
v-model="returnCause"
readonly
rows="1"
autosize=""
label="退回原因"
name="退回原因"
type="textarea"
/>
<van-field
v-model="gongcheng"
readonly
clickable
name="所属工程名称"
:value="projectName"
label="所属工程名称"
placeholder="请选择"
@click="showProjectName = true"
: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
v-model="fanwei"
readonly
clickable
name="适用范围"
:value="range"
label="适用范围"
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
v-model="yinhuanleixing"
readonly
clickable
name="隐患类型"
:value="type"
label="隐患类型"
placeholder="请选择"
@click="showType = true"
: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
v-model="yinhuanxiangmu"
readonly
clickable
name="隐患项目名称"
:value="dangerName"
label="隐患项目名称"
placeholder="请选择"
@click="showDangerName = true"
: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
v-model="yinhuanbianhao"
v-model="dangerNum"
readonly
name="隐患项目编号"
label="隐患项目编号"
placeholder="请选择"
:rules="[{ required: true, message: '隐患项目编号不能为空' }]"
/>
<van-field
v-model="yinhuanjibie"
v-model="dangerLevel"
readonly
name="隐患级别"
label="隐患级别"
placeholder="请选择"
......@@ -55,17 +117,17 @@
readonly
clickable
name="隐患发现时间"
:value="timeval"
:value="findTime"
label="隐患发现时间"
placeholder="点击选择日期"
@click="showCalendar = true"
@click="showFindTime = true"
:rules="[{ required: true, message: '隐患发现时间不能为空' }]"
/>
<van-popup v-model="showCalendar" position="bottom">
<van-popup v-model="showFindTime" position="bottom">
<van-datetime-picker
type="datetime"
@confirm="onConfirmrili"
@cancel="showCalendar = false"
@confirm="onConFindTime"
@cancel="showFindTime = false"
/>
</van-popup>
......@@ -73,32 +135,42 @@
readonly
clickable
name="风险源"
:value="fengxiangval"
:value="source"
label="风险源"
placeholder="请选择"
@click="showPicker = true"
@click="showSource = true"
:rules="[{ required: true, message: '风险源不能为空' }]"
/>
<van-popup v-model="showPicker" position="bottom">
<van-popup v-model="showSource" position="bottom">
<van-picker
show-toolbar
:columns="columns"
@confirm="onConfirmfengxian"
@cancel="showPicker = false"
:columns="columnsSource"
@confirm="onConSource"
@cancel="showSource = false"
/>
</van-popup>
<van-field
v-model="fenxianmiaosu"
rows="1"
autosize
readonly
clickable
name="风险源"
:value="source1"
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
v-model="jianchabuwei"
v-model="location"
name="检查部位"
label="检查部位"
placeholder="请输入"
......@@ -106,7 +178,7 @@
/>
<van-field
v-model="yinhuanmiaosu"
v-model="describe"
rows="3"
label="隐患描述"
name="隐患描述"
......@@ -134,16 +206,16 @@
readonly
clickable
name="隐患到期时间"
:value="daoqitimeval"
:value="expireTime"
label="隐患到期时间"
placeholder="点击选择日期"
@click="daoqishowCalendar = true"
@click="showExpireTime = true"
/>
<van-popup v-model="daoqishowCalendar" position="bottom">
<van-popup v-model="showExpireTime" position="bottom">
<van-datetime-picker
type="datetime"
@confirm="onConfirmdaoqi"
@cancel="daoqishowCalendar = false"
@confirm="onConExpireTime"
@cancel="showExpireTime = false"
/>
</van-popup>
......@@ -151,17 +223,17 @@
readonly
clickable
name="隐患整改人"
:value="zhenggairen"
:value="recPeople"
label="隐患整改人"
placeholder="请选择"
@click="showPickerzhenggai = true"
@click="showRecPeople = true"
/>
<van-popup v-model="showPickerzhenggai" position="bottom">
<van-popup v-model="showRecPeople" position="bottom">
<van-picker
show-toolbar
:columns="columnszhenggai"
@confirm="onConfirmzhegngai"
@cancel="showPickerzhenggai = false"
:columns="columnsRecPeople"
@confirm="onConRecPeople"
@cancel="showRecPeople = false"
/>
</van-popup>
......@@ -181,7 +253,7 @@
<script>
import LHeader from "@/components/header.vue";
import { timestampToTime } from '@/utils/format'
import { timestampToTime } from "@/utils/format";
export default {
components: {
LHeader
......@@ -189,55 +261,107 @@ export default {
data() {
return {
text: "新增隐患",
gongcheng: "",
fanwei: "",
yinhuanleixing: "",
yinhuanxiangmu: "",
yinhuanbianhao: "",
yinhuanjibie: "",
yinhuanfaxiantime: "",
timeval: "",
showCalendar: false,
fengxiangval: "",
columns: ["人的因素", "物的因素", "环境因素", "管理因素"],
showPicker: false,
fenxianmiaosu: "",
jianchabuwei: "",
yinhuanmiaosu: "",
projectName: "", // 所属工程
showProjectName: false,
columnsProjectName: ["工程1", "工程2", "工程3", "工程4"],
range: "", //适用范围
showRange: false,
columnsRange: ["适用范围1", "适用范围2", "适用范围3", "适用范围4"],
type: "", //隐患类型
showType: false,
columnsType: ["隐患类型1", "隐患类型2", "隐患类型3", "隐患类型4"],
dangerName: "", //隐患项目名称
showDangerName: false,
columnsDangerName: [
"隐患项目名称1",
"隐患项目名称2",
"隐患项目名称3",
"隐患项目名称4"
],
dangerNum: "", //隐患项目编号
dangerLevel: "", //隐患项目级别
findTime: "", //隐患发现时间
showFindTime: false,
source: "", // 风险源
showSource: false,
columnsSource: ["人的因素", "物的因素", "环境因素", "管理因素"],
source1: "", // 风险源第二个字段
showSource1: false,
columnsSource1: ["人的因素", "物的因素", "环境因素", "管理因素"],
location: "", // 检查部位
describe: "", // 隐患描述
uploaderImg: [], //图像上传
uploaderVideo: [], //视频上传
daoqitimeval: "",
daoqishowCalendar: false,
zhenggairen: "",
showPickerzhenggai: false,
columnszhenggai: ["张三", "李四", "王五"]
expireTime: "", // 隐患到期时间
showExpireTime: false,
recPeople: "",
showRecPeople: false,
columnsRecPeople: ["张三", "李四", "王五"],
returnCause: "你这不行啊", // 退回原因
isShowreturnCause: false
};
},
mounted() {},
created() {
if (this.$route.query.status) {
this.isShowreturnCause = true;
this.text = "隐患上报退回"
}
},
methods: {
onSubmit(values) {
console.log("submit", values);
},
onConfirmrili(date) {
this.timeval = timestampToTime(date,'DT1',true)
this.showCalendar = false;
// 所属工程名称
onConProjectName(value) {
this.projectName = value;
this.showProjectName = false;
},
onConfirmdaoqi(date) {
this.daoqitimeval = timestampToTime(date,'DT1',true)
this.daoqishowCalendar = false;
// 适用范围
onConRange(value) {
this.range = value;
this.showRange = false;
},
onConfirmfengxian(value) {
this.fengxiangval = value;
this.showPicker = false;
// 隐患类型
onConType(value) {
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.showPickerzhenggai = false;
},
cancel() {
this.$router.go(-1);
},
}
}
};
</script>
......
......@@ -10,12 +10,23 @@
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
<div class="messgae-title">{{ item.noticeTitle }}</div>
<div class="message-content">
{{ item.upcomingUserName }},您好!您有一条来自{{
item.createUserName
}}{{ item.noticeTitle }}相关的待处理任务...
</div>
<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">
......@@ -24,7 +35,7 @@
>详情</van-button
>
<van-button round type="info" @touchstart="goConfirm(item)"
>整改</van-button
>确认</van-button
>
</div>
</van-overlay>
......@@ -39,10 +50,10 @@ export default {
return {
messageList: [
{
noticeTitle: "隐患上报消息",
upcomingUserName: "张某某",
createUserName: "李某某",
noticeTitle: "重要任务"
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A"
}
],
Loop: "", // 定时器
......@@ -55,9 +66,9 @@ export default {
touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if(this.showIndex != null){
if (this.showIndex != null) {
this.showIndex = null;
return
return;
}
this.Loop = setTimeout(() => {
this.showIndex = index;
......@@ -71,6 +82,7 @@ export default {
// 详情
goDetail(data) {
console.log(data);
this.$router.push("/change-detail");
this.showIndex = null;
},
// 确认
......@@ -93,9 +105,9 @@ export default {
padding: 10px;
font-size: 13px;
position: relative;
.message-content {
margin-top: 10px;
.van-row{
margin-bottom: .133333rem;
line-height: .64rem;
}
.van-overlay {
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 {
},
data() {
return {
text: "隐患确认",
text: "整改确认",
value: "",
uploaderImg: [], //图像上传
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 @@
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
<div class="messgae-title">{{ item.noticeTitle }}</div>
<div class="message-content">
{{ item.upcomingUserName }},您好!您有一条来自{{
item.createUserName
}}{{ item.noticeTitle }}相关的待处理任务...
</div>
<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">
......@@ -39,10 +50,10 @@ export default {
return {
messageList: [
{
noticeTitle: "隐患上报消息",
upcomingUserName: "张某某",
createUserName: "李某某",
noticeTitle: "重要任务"
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A"
}
],
Loop: "", // 定时器
......@@ -55,9 +66,9 @@ export default {
touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if(this.showIndex != null){
if (this.showIndex != null) {
this.showIndex = null;
return
return;
}
this.Loop = setTimeout(() => {
this.showIndex = index;
......@@ -71,6 +82,7 @@ export default {
// 详情
goDetail(data) {
console.log(data);
this.$router.push("/con-detail");
this.showIndex = null;
},
// 确认
......@@ -93,8 +105,9 @@ export default {
padding: 10px;
font-size: 13px;
position: relative;
.message-content {
margin-top: 10px;
.van-row{
margin-bottom: .133333rem;
line-height: .64rem;
}
.van-overlay {
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 @@
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
<div class="messgae-title">{{ item.noticeTitle }}</div>
<div class="message-content">
{{ item.upcomingUserName }},您好!您有一条来自{{
item.createUserName
}}{{ item.noticeTitle }}相关的待处理任务...
</div>
<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">
......@@ -23,16 +34,13 @@
<van-button round type="primary" @touchstart="goDetail(item)"
>详情</van-button
>
<van-button round type="info" @touchstart="goDelete(item)"
>修改</van-button
<van-button round type="warning" @touchstart="goDelete(item)"
>删除</van-button
>
</div>
</van-overlay>
</van-cell-group>
</div>
<!-- 加号 -->
<div class="add" @click="goAdd">+</div>
</div>
</template>
......@@ -42,10 +50,10 @@ export default {
return {
messageList: [
{
noticeTitle: "隐患上报消息",
upcomingUserName: "张某某",
createUserName: "李某某",
noticeTitle: "重要任务"
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A"
}
],
Loop: "", // 定时器
......@@ -54,21 +62,17 @@ export default {
},
mounted() {},
methods: {
goAdd(){
this.$router.push('/add-danger');
},
read(){},
read() {},
touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if(this.showIndex != null){
if (this.showIndex != null) {
this.showIndex = null;
return
return;
}
this.Loop = setTimeout(() => {
this.showIndex = index
},300); // 这里的1000是指需要长按的时间,单位为ms
this.showIndex = index;
}, 300); // 这里的1000是指需要长按的时间,单位为ms
},
touchend(index) {
// 这个方法主要是用来将每次手指移出之后将计时器清零
......@@ -76,59 +80,46 @@ export default {
},
// 详情
goDetail(data){
goDetail(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);
this.showIndex = null
},
this.showIndex = null;
}
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
// 内容
.con-list {
padding: 10px 10px 0;
.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;
.message-content {
margin-top: 10px;
}
.van-overlay{
position: absolute;
.wrapper {
.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%;
}
}
}
}
.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>
<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 @@
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
<div class="messgae-title">{{ item.noticeTitle }}</div>
<div class="message-content">
{{ item.upcomingUserName }},您好!您有一条来自{{
item.createUserName
}}{{ item.noticeTitle }}相关的待处理任务...
</div>
<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">
......@@ -24,7 +35,7 @@
>详情</van-button
>
<van-button round type="info" @touchstart="goConfirm(item)"
>复查</van-button
>确认</van-button
>
</div>
</van-overlay>
......@@ -39,10 +50,10 @@ export default {
return {
messageList: [
{
noticeTitle: "隐患上报消息",
upcomingUserName: "张某某",
createUserName: "李某某",
noticeTitle: "重要任务"
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A"
}
],
Loop: "", // 定时器
......@@ -55,9 +66,9 @@ export default {
touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if(this.showIndex != null){
if (this.showIndex != null) {
this.showIndex = null;
return
return;
}
this.Loop = setTimeout(() => {
this.showIndex = index;
......@@ -71,6 +82,7 @@ export default {
// 详情
goDetail(data) {
console.log(data);
this.$router.push("/review-detail");
this.showIndex = null;
},
// 确认
......@@ -93,9 +105,9 @@ export default {
padding: 10px;
font-size: 13px;
position: relative;
.message-content {
margin-top: 10px;
.van-row{
margin-bottom: .133333rem;
line-height: .64rem;
}
.van-overlay {
position: absolute;
......
......@@ -2,41 +2,33 @@
<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="待提交">
<wait-submit></wait-submit>
</van-tab>
<van-tab title="已提交">
<committed></committed>
</van-tab>
<van-tab title="已退回">
<returned></returned>
<van-tab title="正常">
<normal-list></normal-list>
</van-tab>
<van-tab title="临期">临期</van-tab>
<van-tab title="超期">超期</van-tab>
</van-tabs>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import WaitSubmit from "./waitSubmit";
import Returned from "./returned";
import Committed from './committed';
import NormalList from "./normalList";
export default {
components: {
LHeader: LHeader,
WaitSubmit,
Returned,
Committed
LHeader,
NormalList
},
data() {
return {
text: "隐患上报",
text: "隐患历史台账",
active: "1",
searchValue: ""
};
......@@ -45,10 +37,10 @@ export default {
methods: {
onSearch(val) {
console.log(val);
},
}
}
};
</script>
<style scoped>
<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="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 @@
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
<div class="messgae-title">{{ item.noticeTitle }}</div>
<div class="message-content">
{{ item.upcomingUserName }},您好!您有一条来自{{
item.createUserName
}}{{ item.noticeTitle }}相关的待处理任务...
</div>
<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">
......@@ -23,63 +34,42 @@
<van-button round type="primary" @touchstart="goDetail(item)"
>详情</van-button
>
<van-button round type="info" @touchstart="goDelete(item)"
>修改</van-button
>
</div>
</van-overlay>
</van-cell-group>
</div>
<!-- 加号 -->
<div class="add" @click="goAdd">+</div>
</div>
</template>
<script>
import { dangerReturn } from "@/service/danger";
export default {
data() {
return {
messageList: [
{
noticeTitle: "隐患上报消息",
upcomingUserName: "张某某",
createUserName: "李某某",
noticeTitle: "重要任务"
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A"
}
],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
};
},
activated() {
this.postList()
},
mounted() {},
methods: {
// 请求已退回列表数据
postList(){
dangerReturn('hdreport/list').then(res =>{
if(res.code == 0){
console.log(res);
}
})
},
goAdd(){
this.$router.push('/add-danger');
},
read(){},
read() {},
touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if(this.showIndex != null){
if (this.showIndex != null) {
this.showIndex = null;
return
return;
}
this.Loop = setTimeout(() => {
this.showIndex = index
},300); // 这里的1000是指需要长按的时间,单位为ms
this.showIndex = index;
}, 300); // 这里的1000是指需要长按的时间,单位为ms
},
touchend(index) {
// 这个方法主要是用来将每次手指移出之后将计时器清零
......@@ -87,59 +77,39 @@ export default {
},
// 详情
goDetail(data){
goDetail(data) {
console.log(data);
this.showIndex = null
},
// 删除
goDelete(data){
console.log(data);
this.showIndex = null
this.$router.push("/normal-detail");
this.showIndex = null;
},
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
// 内容
.con-list {
padding: 10px 10px 0;
.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;
.message-content {
margin-top: 10px;
}
.van-overlay{
position: absolute;
.wrapper {
.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%;
}
}
}
}
.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>
......@@ -46,15 +46,15 @@
</div>
<!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index" >
<div class="wrapper" @click.stop >
<van-button round type="info" @touchstart="goDetail(item)"
>详情</van-button
>
<van-button round type="danger" @touchstart="goDelete(item)"
>删除</van-button
>
<van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop>
<van-button round type="primary" @touchstart="goDetail(item)"
>详情</van-button
>
<van-button round type="info" @touchstart="goConfirm(item)"
>整改</van-button
>
</div>
</van-overlay>
</van-cell-group>
......@@ -100,7 +100,6 @@ export default {
created() {
this.getMessageList();
this.unRead();
},
methods: {
// 点击类别
......@@ -132,7 +131,7 @@ export default {
read(data) {
console.log("触发了点击事件");
// 判断showIndex是否等于null 如果不等于则先将showIndex改为null
this.showIndex = null;
this.showIndex = null;
if (data.status == "未读") {
let formData = new FormData();
formData.append("ids", data.pid);
......@@ -199,13 +198,16 @@ export default {
touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if(this.showIndex != null){
if (this.showIndex != null) {
this.showIndex = null;
return
return;
}
this.Loop = setTimeout(function() {
this.showIndex = index;
}.bind(this), 300); // 这里的1000是指需要长按的时间,单位为ms
this.Loop = setTimeout(
function() {
this.showIndex = index;
}.bind(this),
300
); // 这里的1000是指需要长按的时间,单位为ms
},
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 @@
:show-error="false"
validate-trigger="onSubmit"
>
<van-field
v-if="isShowreturnCause"
v-model="returnCause"
readonly
rows="1"
autosize=""
label="退回原因"
name="退回原因"
type="textarea"
/>
<van-field
readonly
clickable
name="所属工程名称"
:value="gongcheng"
:value="projectName"
label="所属工程名称"
placeholder="请选择"
@click="showGongcheng = true"
@click="showProjectName = true"
:rules="[{ required: true, message: '所属工程名称不能为空' }]"
/>
<van-popup v-model="showGongcheng" position="bottom">
<van-popup v-model="showProjectName" position="bottom">
<van-picker
show-toolbar
:columns="columnsGongcheng"
@confirm="onConGongcheng"
@cancel="showGongcheng = false"
:columns="columnsProjectName"
@confirm="onConProjectName"
@cancel="showProjectName = false"
/>
</van-popup>
......@@ -275,9 +285,9 @@ export default {
data() {
return {
text: "新增风险",
gongcheng: "", // 所属工程
showGongcheng: false,
columnsGongcheng: ["工程1", "工程2", "工程3", "工程4"],
projectName: "", // 所属工程
showProjectName: false,
columnsProjectName: ["工程1", "工程2", "工程3", "工程4"],
factor: "", //风险因素
showFactor: false,
columnsFactor: ["风险因素1", "风险因素2", "风险因素3", "风险因素4"],
......@@ -309,17 +319,24 @@ export default {
administrationImg:[],//管理措施图片
urgent:"", //应急措施文字
urgentImg:[],//应急措施图片
returnCause: "你这不行啊", // 退回原因
isShowreturnCause: false
};
},
mounted() {},
created() {
if (this.$route.query.status) {
this.isShowreturnCause = true;
this.text = "风险上报退回"
}
},
methods: {
onSubmit(values) {
console.log("submit", values);
},
// 所属工程名称
onConGongcheng(value) {
this.gongcheng = value;
this.showGongcheng = false;
onConProjectName(value) {
this.projectName = value;
this.showProjectName = false;
},
// 风险因素
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 @@
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
<div class="messgae-title">{{ item.noticeTitle }}</div>
<div class="message-content">
{{ item.upcomingUserName }},您好!您有一条来自{{
item.createUserName
}}{{ item.noticeTitle }}相关的待处理任务...
</div>
<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">
......@@ -39,10 +50,10 @@ export default {
return {
messageList: [
{
noticeTitle: "隐患上报消息",
upcomingUserName: "张某某",
createUserName: "李某某",
noticeTitle: "重要任务"
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A"
}
],
Loop: "", // 定时器
......@@ -51,17 +62,17 @@ export default {
},
mounted() {},
methods: {
read(){},
read() {},
touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if(this.showIndex != null){
if (this.showIndex != null) {
this.showIndex = null;
return
return;
}
this.Loop = setTimeout(() => {
this.showIndex = index
},300); // 这里的1000是指需要长按的时间,单位为ms
this.showIndex = index;
}, 300); // 这里的1000是指需要长按的时间,单位为ms
},
touchend(index) {
// 这个方法主要是用来将每次手指移出之后将计时器清零
......@@ -69,59 +80,44 @@ export default {
},
// 详情
goDetail(data){
goDetail(data) {
console.log(data);
this.showIndex = null
this.$router.push("/affirm-detail");
this.showIndex = null;
},
// 确认
goConfirm(data){
this.$router.push("/risk-affirm")
this.showIndex = null
},
goConfirm(data) {
console.log(data);
this.$router.push("/risk-affirm");
this.showIndex = null;
}
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
// 内容
.con-list {
padding: 10px 10px 0;
.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;
.message-content {
margin-top: 10px;
}
.van-overlay{
position: absolute;
.wrapper {
.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%;
}
}
}
}
.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>
<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 @@
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
<div class="messgae-title">{{ item.noticeTitle }}</div>
<div class="message-content">
{{ item.upcomingUserName }},您好!您有一条来自{{
item.createUserName
}}{{ item.noticeTitle }}相关的待处理任务...
</div>
<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">
......@@ -23,16 +34,13 @@
<van-button round type="primary" @touchstart="goDetail(item)"
>详情</van-button
>
<van-button round type="info" @touchstart="goDelete(item)"
>修改</van-button
<van-button round type="warning" @touchstart="goDelete(item)"
>删除</van-button
>
</div>
</van-overlay>
</van-cell-group>
</div>
<!-- 加号 -->
<div class="add" @click="goAdd">+</div>
</div>
</template>
......@@ -42,10 +50,10 @@ export default {
return {
messageList: [
{
noticeTitle: "隐患上报消息",
upcomingUserName: "wang某某",
createUserName: "李某某",
noticeTitle: "重要任务"
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A"
}
],
Loop: "", // 定时器
......@@ -54,21 +62,17 @@ export default {
},
mounted() {},
methods: {
goAdd(){
this.$router.push('/add-danger');
},
read(){},
read() {},
touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
if(this.showIndex != null){
if (this.showIndex != null) {
this.showIndex = null;
return
return;
}
this.Loop = setTimeout(() => {
this.showIndex = index
},300); // 这里的1000是指需要长按的时间,单位为ms
this.showIndex = index;
}, 300); // 这里的1000是指需要长按的时间,单位为ms
},
touchend(index) {
// 这个方法主要是用来将每次手指移出之后将计时器清零
......@@ -76,59 +80,46 @@ export default {
},
// 详情
goDetail(data){
goDetail(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);
this.showIndex = null
},
this.showIndex = null;
}
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
// 内容
.con-list {
padding: 10px 10px 0;
.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;
.message-content {
margin-top: 10px;
}
.van-overlay{
position: absolute;
.wrapper {
.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%;
}
}
}
}
.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>
......@@ -46,7 +46,7 @@
<van-cell value="风控分级管控" />
<van-grid :column-num="5">
<van-grid-item
@click="riskJump(item.path)"
@click="riskJump(item.path)"
v-for="item in finalRiskList"
:key="item.key"
:icon="item.imgUrl"
......@@ -60,7 +60,7 @@
<van-cell value="隐患排查治理" />
<van-grid :column-num="5">
<van-grid-item
@click="dangerJump(item.path)"
@click="dangerJump(item.path)"
v-for="item in finalDangerList"
:key="item.key"
:icon="item.imgUrl"
......@@ -131,13 +131,14 @@ export default {
text: "风险上报"
},
{
key: "2",
path:"/risk-confirme",
key: "3",
path: "/risk-confirme",
imgUrl: require("@/assets/workbench/risk-confirm.png"),
text: "风险确认"
},
{
key: "3",
key: "4",
path: "/risk-account",
imgUrl: require("@/assets/workbench/risk-account.png"),
text: "风险台账"
}
......@@ -146,31 +147,32 @@ export default {
// 隐患排查治理
{
key: "1",
path: "/danger",
// path: "/add-danger",
// path: "/danger",
path: "/add-danger",
imgUrl: require("@/assets/workbench/danger-report.png"),
text: "隐患上报"
},
{
key: "2",
key: "3",
path: "/confirme-danger",
imgUrl: require("@/assets/workbench/danger-confirm.png"),
text: "隐患确认"
},
{
key: "3",
key: "4",
path: "/change-danger",
imgUrl: require("@/assets/workbench/danger-rectification.png"),
text: "隐患整改"
},
{
key: "4",
key: "5",
path: "/review-danger",
imgUrl: require("@/assets/workbench/danger-acceptance.png"),
text: "隐患复查"
},
{
key: "5",
key: "6",
path: "/stand-book",
imgUrl: require("@/assets/workbench/danger-account.png"),
text: "隐患台账"
}
......@@ -243,12 +245,12 @@ export default {
this.$router.push(path);
}
},
dangerJump(path){
dangerJump(path) {
if (path) {
this.$router.push(path);
}
},
riskJump(path){
riskJump(path) {
if (path) {
this.$router.push(path);
}
......@@ -267,6 +269,19 @@ export default {
this.finalRiskList = [...this.riskList].filter(x =>
[...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 {
this.finalRiskList = [];
}
......@@ -275,9 +290,22 @@ export default {
this.finalDangerList = [...this.dangerList].filter(x =>
[...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 {
this.finalDangerList = [];
}
// this.finalDangerList = this.dangerList
// 安全监督检查
if (this.powerObj.安全监督检查) {
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