Commit 7a15b5b0 authored by 13841799530's avatar 13841799530

Merge branch 'develop' of http://git.censoft.com.cn/BCDH-HSE/bcdh-app into develop

parents 747e09e0 b80a7c33
...@@ -32,6 +32,7 @@ new Vue({ ...@@ -32,6 +32,7 @@ new Vue({
Vue.prototype.$md5 = md5; Vue.prototype.$md5 = md5;
Vue.prototype.prefix = prefix; Vue.prototype.prefix = prefix;
Vue.prototype.$bus = new Vue;
Array.prototype.remove = function(val) { Array.prototype.remove = function(val) {
var index = this.indexOf(val); var index = this.indexOf(val);
......
...@@ -26,8 +26,7 @@ import CreateOrder from '../views/CreateOrder.vue' ...@@ -26,8 +26,7 @@ import CreateOrder from '../views/CreateOrder.vue'
Vue.use(VueRouter) Vue.use(VueRouter)
const routes = [ const routes = [{
{
path: '/', path: '/',
name: 'home', name: 'home',
redirect: '/login2' redirect: '/login2'
...@@ -38,7 +37,7 @@ const routes = [ ...@@ -38,7 +37,7 @@ const routes = [
meta: { meta: {
index: 2 index: 2
}, },
component: () => import(/* webpackChunkName: "login" */ '../views/Login.vue'), component: () => import( /* webpackChunkName: "login" */ '../views/Login.vue'),
}, },
{ {
path: '/home', path: '/home',
...@@ -46,7 +45,7 @@ const routes = [ ...@@ -46,7 +45,7 @@ const routes = [
meta: { meta: {
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "home" */ '../views/Home.vue'), component: () => import( /* webpackChunkName: "home" */ '../views/Home.vue'),
}, },
{ {
path: '/cart', path: '/cart',
...@@ -54,7 +53,7 @@ const routes = [ ...@@ -54,7 +53,7 @@ const routes = [
meta: { meta: {
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "cart" */ '../views/Cart.vue'), component: () => import( /* webpackChunkName: "cart" */ '../views/Cart.vue'),
}, },
{ {
path: '/category', path: '/category',
...@@ -62,7 +61,7 @@ const routes = [ ...@@ -62,7 +61,7 @@ const routes = [
meta: { meta: {
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "category" */ '../views/Category.vue'), component: () => import( /* webpackChunkName: "category" */ '../views/Category.vue'),
}, },
{ {
path: '/product-list', path: '/product-list',
...@@ -70,7 +69,7 @@ const routes = [ ...@@ -70,7 +69,7 @@ const routes = [
meta: { meta: {
index: 2 index: 2
}, },
component: () => import(/* webpackChunkName: "product-list" */ '../views/ProductList.vue'), component: () => import( /* webpackChunkName: "product-list" */ '../views/ProductList.vue'),
}, },
{ {
path: '/product/:id', path: '/product/:id',
...@@ -78,7 +77,7 @@ const routes = [ ...@@ -78,7 +77,7 @@ const routes = [
meta: { meta: {
index: 3 index: 3
}, },
component: () => import(/* webpackChunkName: "product" */ '../views/ProductDetail.vue'), component: () => import( /* webpackChunkName: "product" */ '../views/ProductDetail.vue'),
}, },
{ {
path: '/user', path: '/user',
...@@ -86,7 +85,7 @@ const routes = [ ...@@ -86,7 +85,7 @@ const routes = [
meta: { meta: {
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "user" */ '../views/User.vue'), component: () => import( /* webpackChunkName: "user" */ '../views/User.vue'),
}, },
{ {
path: '/order', path: '/order',
...@@ -94,7 +93,7 @@ const routes = [ ...@@ -94,7 +93,7 @@ const routes = [
meta: { meta: {
index: 2 index: 2
}, },
component: () => import(/* webpackChunkName: "order" */ '../views/Order.vue'), component: () => import( /* webpackChunkName: "order" */ '../views/Order.vue'),
}, },
{ {
path: '/order-detail', path: '/order-detail',
...@@ -102,7 +101,7 @@ const routes = [ ...@@ -102,7 +101,7 @@ const routes = [
meta: { meta: {
index: 3 index: 3
}, },
component: () => import(/* webpackChunkName: "order-detail" */ '../views/OrderDetail.vue'), component: () => import( /* webpackChunkName: "order-detail" */ '../views/OrderDetail.vue'),
}, },
{ {
path: '/setting', path: '/setting',
...@@ -110,7 +109,7 @@ const routes = [ ...@@ -110,7 +109,7 @@ const routes = [
meta: { meta: {
index: 2 index: 2
}, },
component: () => import(/* webpackChunkName: "setting" */ '../views/Setting.vue'), component: () => import( /* webpackChunkName: "setting" */ '../views/Setting.vue'),
}, },
{ {
path: '/address', path: '/address',
...@@ -118,7 +117,7 @@ const routes = [ ...@@ -118,7 +117,7 @@ const routes = [
meta: { meta: {
index: 2 index: 2
}, },
component: () => import(/* webpackChunkName: "address" */ '../views/Address.vue'), component: () => import( /* webpackChunkName: "address" */ '../views/Address.vue'),
}, },
{ {
path: '/address-edit', path: '/address-edit',
...@@ -126,7 +125,7 @@ const routes = [ ...@@ -126,7 +125,7 @@ const routes = [
meta: { meta: {
index: 3 index: 3
}, },
component: () => import(/* webpackChunkName: "address-edit" */ '../views/AddressEdit.vue'), component: () => import( /* webpackChunkName: "address-edit" */ '../views/AddressEdit.vue'),
}, },
{ {
path: '/about', path: '/about',
...@@ -134,7 +133,7 @@ const routes = [ ...@@ -134,7 +133,7 @@ const routes = [
meta: { meta: {
index: 2 index: 2
}, },
component: () => import(/* webpackChunkName: "about" */ '../views/About.vue'), component: () => import( /* webpackChunkName: "about" */ '../views/About.vue'),
}, },
{ {
path: '/create-order', path: '/create-order',
...@@ -142,88 +141,88 @@ const routes = [ ...@@ -142,88 +141,88 @@ const routes = [
meta: { meta: {
index: 2 index: 2
}, },
component: () => import(/* webpackChunkName: "create-order" */ '../views/CreateOrder.vue'), component: () => import( /* webpackChunkName: "create-order" */ '../views/CreateOrder.vue'),
}, },
{ {
path: '/checked', path: '/checked',
name: 'checked', name: 'checked',
meta: { meta: {
title:'检查执行', title: '检查执行',
index: 3 index: 3
}, },
component: () => import(/* webpackChunkName: "create-order" */ '../views/checked'), component: () => import( /* webpackChunkName: "create-order" */ '../views/checked'),
}, },
{ {
path: '/problem', path: '/problem',
name: 'problem', name: 'problem',
meta: { meta: {
title:'问题上报', title: '问题上报',
index: 3 index: 3
}, },
component: () => import(/* webpackChunkName: "create-order" */ '../views/checked/problem'), component: () => import( /* webpackChunkName: "create-order" */ '../views/checked/problem'),
}, },
{ {
path: '/list', path: '/list',
name: 'list', name: 'list',
meta: { meta: {
title:'检查问题', title: '检查问题',
index: 3 index: 3
}, },
component: () => import(/* webpackChunkName: "create-order" */ '../views/checked/problem/list'), component: () => import( /* webpackChunkName: "create-order" */ '../views/checked/problem/list'),
}, },
{ {
path: '/note', path: '/note',
name: 'note', name: 'note',
meta: { meta: {
title:'问题记录', title: '问题记录',
index: 3 index: 3
}, },
component: () => import(/* webpackChunkName: "create-order" */ '../views/checked/problem/note'), component: () => import( /* webpackChunkName: "create-order" */ '../views/checked/problem/note'),
}, },
{ {
path: '/formwork', path: '/formwork',
name: 'formwork', name: 'formwork',
meta: { meta: {
title:'问题上报表', title: '问题上报表',
index: 3 index: 3
}, },
component: () => import(/* webpackChunkName: "create-order" */ '../views/checked/problem/formwork'), component: () => import( /* webpackChunkName: "create-order" */ '../views/checked/problem/formwork'),
}, },
{ {
path: '/correct', path: '/correct',
name: 'correct', name: 'correct',
meta: { meta: {
title:'检查记录', title: '检查记录',
index: 3 index: 3
}, },
component: () => import(/* webpackChunkName: "create-order" */ '../views/correct'), component: () => import( /* webpackChunkName: "create-order" */ '../views/correct'),
}, },
{ {
path: '/notice', path: '/notice',
name: 'notice', name: 'notice',
meta: { meta: {
title:'整改通知', title: '整改通知',
index: 3 index: 3
}, },
component: () => import(/* webpackChunkName: "create-order" */ '../views/notice'), component: () => import( /* webpackChunkName: "create-order" */ '../views/notice'),
}, },
{ {
path: '/noticeList', path: '/noticeList',
name: 'noticeList', name: 'noticeList',
meta: { meta: {
title:'整改通知管理列表', title: '整改通知管理列表',
index: 3 index: 3
}, },
component: () => import(/* webpackChunkName: "create-order" */ '../views/notice/noticeList'), component: () => import( /* webpackChunkName: "create-order" */ '../views/notice/noticeList'),
}, },
{ {
path: '/sign', path: '/sign',
name: 'sign', name: 'sign',
meta: { meta: {
title:'电子签名', title: '电子签名',
index: 3 index: 3
}, },
component: () => import(/* webpackChunkName: "create-order" */ '../views/notice/noticeList/sign'), component: () => import( /* webpackChunkName: "create-order" */ '../views/notice/noticeList/sign'),
}, },
// 登录页 // 登录页
{ {
...@@ -232,16 +231,16 @@ const routes = [ ...@@ -232,16 +231,16 @@ const routes = [
meta: { meta: {
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/Login2.vue'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/Login2.vue'),
}, },
// 消息中心 // 消息中心
{ {
path: '/message-center', path: '/message-center',
name: 'message-center', name: 'message-center',
meta: { meta: {
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/messageCenter'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/messageCenter'),
}, },
// 安全工作台页面 // 安全工作台页面
{ {
...@@ -250,7 +249,7 @@ const routes = [ ...@@ -250,7 +249,7 @@ const routes = [
meta: { meta: {
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/saveWorkbench'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/saveWorkbench'),
}, },
// 我的地盘页面 // 我的地盘页面
{ {
...@@ -259,7 +258,7 @@ const routes = [ ...@@ -259,7 +258,7 @@ const routes = [
meta: { meta: {
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/my'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/my'),
}, },
...@@ -267,209 +266,233 @@ const routes = [ ...@@ -267,209 +266,233 @@ const routes = [
path: '/add-danger', path: '/add-danger',
name: 'add-danger', name: 'add-danger',
meta: { meta: {
title:'新增隐患', title: '新增隐患',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/addDanger/addDanger'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/addDanger/addDanger'),
}, },
{ {
path: '/report-return', path: '/choose-people',
name: 'report-return', name: 'choose-people',
meta: { meta: {
title:'隐患上报已退回', title: '新增隐患',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/reportReturn'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/addDanger/manyChoosePeo'),
}, },
{ {
path: '/confirme-danger', path: '/report-return',
name: 'confirme-danger', name: 'report-return',
meta: { meta: {
title:'隐患确认', title: '隐患上报已退回',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/confirmeDanger'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/reportReturn'),
}, },
{ {
path: '/con-detail', path: '/confirme-danger',
name: 'con-detail', name: 'confirme-danger',
meta: { meta: {
title:'隐患确认详情', title: '隐患确认',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/confirmeDanger/conDetail.vue'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/confirmeDanger'),
}, },
{ {
path: '/affirm-danger', path: '/affirm-danger',
name: 'affirm-danger', name: 'affirm-danger',
meta: { meta: {
title:'隐患确认表单', title: '隐患确认表单',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/confirmeDanger/confirmeDanger'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/confirmeDanger/confirmeDanger'),
}, },
{ {
path: '/change-danger', path: '/change-danger',
name: 'change-danger', name: 'change-danger',
meta: { meta: {
title:'隐患整改', title: '隐患整改',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/changeDanger'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/changeDanger'),
}, },
{ {
path: '/change-info', path: '/change-info',
name: 'change-info', name: 'change-info',
meta: { meta: {
title:'隐患整改表单', title: '隐患整改表单',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/changeDanger/changeInfo'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/changeDanger/changeInfo'),
}, },
{ {
path: '/change-detail', path: '/review-danger',
name: 'change-detail', name: 'review-danger',
meta: { meta: {
title:'隐患整改详情', title: '隐患复查',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/changeDanger/changeDetail'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/reviewDanger'),
}, },
{ {
path: '/review-danger', path: '/review-add',
name: 'review-danger', name: 'review-add',
meta: { meta: {
title:'隐患复查', title: '隐患复查新增',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/reviewDanger'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/reviewDanger/reviewAdd'),
}, },
{ {
path: '/review-detail', path: '/stand-book',
name: 'review-detail', name: 'stand-book',
meta: { meta: {
title:'隐患复查详情', title: '隐患历史台账',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/reviewDanger/reviewDetail'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/standBook'),
}, },
{ {
path: '/review-add', path: '/normal-detail',
name: 'review-add', name: 'normal-detail',
meta: { meta: {
title:'隐患复查新增', title: '隐患历史台账详情',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/reviewDanger/reviewAdd'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/standBook/normalDetail'),
}, },
// 隐患督办列表
{ {
path: '/stand-book', path: '/supervise-danger',
name: 'stand-book', name: 'supervise-danger',
meta: { meta: {
title:'隐患历史台账', title: '隐患督办',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/standBook'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/superviseDanger'),
}, },
// 重大隐患列表
{ {
path: '/normal-detail', path: '/major-danger',
name: 'normal-detail', name: 'major-danger',
meta: {
title: '重大隐患',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/majorDanger'),
},
// 延期审批
{
path: '/delay-approval',
name: 'delay-approval',
meta: {
title: '延期审批',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/delayApproval'),
},
// 项目经理督办
{
path: '/manager-danger',
name: 'manager-danger',
meta: { meta: {
title:'隐患历史台账详情', title: '项目经理督办',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/danger/standBook/normalDetail'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/managerDanger'),
}, },
{ {
path: '/risk', path: '/risk',
name: 'risk', name: 'risk',
meta: { meta: {
title:'风险', title: '风险',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/risk'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk'),
}, },
{ {
path: '/risk-add', path: '/risk-add',
name: 'risk-add', name: 'risk-add',
meta: { meta: {
title:'风险上报', title: '风险上报',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAdd'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAdd'),
}, },
{ {
path: '/risk-return', path: '/risk-return',
name: 'risk-return', name: 'risk-return',
meta: { meta: {
title:'风险上报', title: '风险上报',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskReturn'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskReturn'),
}, },
{ {
path: '/risk-confirme', path: '/risk-confirme',
name: 'risk-confirme', name: 'risk-confirme',
meta: { meta: {
title:'风险确认', title: '风险确认',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskConfirme'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskConfirme'),
}, },
{ {
path: '/risk-affirm', path: '/risk-affirm',
name: 'risk-affirm', name: 'risk-affirm',
meta: { meta: {
title:'风险确认', title: '风险确认',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskConfirme/riskAffirm'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskConfirme/riskAffirm'),
}, },
{ {
path: '/affirm-detail', path: '/affirm-detail',
name: 'affirm-detail', name: 'affirm-detail',
meta: { meta: {
title:'风险确认详情', title: '风险确认详情',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskConfirme/affirmDetail'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskConfirme/affirmDetail'),
}, },
{ {
path: '/risk-account', path: '/risk-account',
name: 'risk-account', name: 'risk-account',
meta: { meta: {
title:'风险历史台账', title: '风险历史台账',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAccount'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAccount'),
}, },
{ {
path: '/risk-big-detail', path: '/risk-big-detail',
name: 'risk-big-detail', name: 'risk-big-detail',
meta: { meta: {
title:'风险历史台账', title: '风险历史台账',
index: 1 index: 1
}, },
component: () => import(/* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAccount/riskBigDetail'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAccount/riskBigDetail'),
}, },
] ]
const router = new VueRouter({ const router = new VueRouter({
......
...@@ -2,166 +2,216 @@ import request from '@/utils/axios' ...@@ -2,166 +2,216 @@ import request from '@/utils/axios'
// 隐患上报模块 // 隐患上报模块
// 请求新增表单数据信息的 // 请求新增表单数据信息的
export function getFormList(url,params) { export function getFormList(url, params) {
return request({ return request({
url: url, url: url,
method: 'get', method: 'get',
params params
}) })
} }
// 隐患类型 // 隐患类型
export function postHdTyp(url,data) { export function postHdTyp(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: 'post',
data data
}) })
} }
// 隐患项目名称 // 隐患项目名称
export function postHdName(url,data) { export function postHdName(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: 'post',
data data
}) })
} }
// 隐患项目编号和隐患级别 // 隐患项目编号和隐患级别
export function postHdInventories(url,data) { export function postHdInventories(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: 'post',
data data
}) })
} }
// 风险源带出来的字段 // 风险源带出来的字段
export function postHdRiskSource(url,data) { export function postHdRiskSource(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: 'post',
data data
}) })
} }
// 隐患整改人接口 // 隐患整改人接口
export function postHdShowPeople(url,data) { export function postHdShowPeople(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: 'post',
data data
}) })
} }
// 隐患上报保存接口 // 隐患上报保存接口
export function postHdReportAdd(url,data) { export function postHdReportAdd(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: 'post',
data data
}) })
} }
// 隐患上报已退回列表 // 隐患上报已退回列表
export function dangerReturn(url,data) { export function dangerReturn(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: 'post',
data data
}) })
} }
// 隐患上报已退回删除 // 隐患上报已退回删除
export function dangerReturnDel(url,data) { export function dangerReturnDel(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: 'post',
data data
}) })
} }
// 隐患上报已退回 回显所有数据接口 // 隐患上报已退回 回显所有数据接口
export function dangerReturnEcho(url,data) { export function dangerReturnEcho(url, data) {
return request({ return request({
url: url, url: url,
method: 'get', method: 'get',
data data
}) })
}
// 隐患上报已退回 保存接口
export function dangerReturnAdd(url, data) {
return request({
url: url,
method: 'get',
data
})
} }
// 隐患确认模块 // 隐患确认模块
// 隐患确认列表 // 隐患确认列表
export function dangerConfirm(url,data) { export function dangerConfirm(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: 'post',
data data
}) })
} }
// 隐患确认form表单列表数据 // 隐患确认form表单列表数据
export function getConfirmFormList(url,params) { export function getConfirmFormList(url, params) {
return request({ return request({
url: url, url: url,
method: 'get', method: 'get',
params params
}) })
} }
// 隐患确认提交 // 隐患确认提交
export function dangerConSub(url,data) { export function dangerConSub(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: 'post',
data data
}) })
} }
// 隐患整改模块 // 隐患整改模块
// 隐患整改列表 // 隐患整改列表
export function dangerRect(url,data) { export function dangerRect(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: 'post',
data data
}) })
} }
// 隐患整改 有退回原因的 // 隐患整改 有退回原因的
export function dangerRectReturn(url,params) { export function dangerRectReturn(url, params) {
return request({ return request({
url: url, url: url,
method: 'get', method: 'get',
params params
}) })
} }
// 隐患整改保存 没有退回原因 // 隐患整改保存 没有退回原因
export function dangerRectAdd(url,data) { export function dangerRectAdd(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: 'post',
data data
}) })
} }
// 整改复查模块 // 整改复查模块
// 整改复查列表 // 整改复查列表
export function dangerReview(url,data) { export function dangerReview(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: 'post',
data data
}) })
} }
// 整改复查保存 // 整改复查保存
export function dangerReviewAdd(url,data) { export function dangerReviewAdd(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: 'post',
data data
}) })
} }
// 隐患历史台账模块 // 隐患历史台账模块
export function dangerStandBook(url,data) { export function dangerStandBook(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: 'post',
data data
}) })
}
// 隐患各种台账详情模块
export function standBookDetail(url, data) {
return request({
url: url,
method: 'post',
data
})
} }
//重大隐患台账
export function majorList(url, data) {
return request({
url: url,
method: 'post',
data
})
}
//隐患督办
export function superviseList(url, data) {
return request({
url: url,
method: 'post',
data
})
}
//经理督办
export function superviseSABList(url, data) {
return request({
url: url,
method: 'post',
data
})
}
/*接口对接1 START*/
/*接口对接1 END*/
\ No newline at end of file
import request from '@/utils/axios'
// 风险上报模块
// 请求新增表单数据信息的
export function getFormList(url,params) {
return request({
url: url,
method: 'get',
params
})
}
// 风险源
export function postHdSource(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 事故类型
export function postHdType(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 主责人员
export function postHdPeople(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 风险上报提交
export function postReAdd(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 风险确认列表
export function postriskConList(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 风险确认保存
export function postriskConAdd(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 风险退回列表
export function postriskConReturn(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 风险退回列表 删除
export function postriskConReDel(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 风险退回重新上报 退回原因接口
export function postriskConiCause(url,data) {
return request({
url: url,
method: 'get',
data
})
}
// 风险台账
export function postriskBook(url,data) {
return request({
url: url,
method: 'post',
data
})
}
/*接口对接1 START*/
/*接口对接1 END*/
...@@ -103,8 +103,8 @@ export default { ...@@ -103,8 +103,8 @@ export default {
.login { .login {
background-size: cover; background-size: cover;
background-repeat: no-repeat; background-repeat: no-repeat;
// background-position: center; background-position: center;
// background-attachment: fixed; background-attachment: fixed;
.login-logo { .login-logo {
width: 120px; width: 120px;
margin: 22% auto 0px; margin: 22% auto 0px;
......
...@@ -159,11 +159,13 @@ ...@@ -159,11 +159,13 @@
name="dangerSource" name="dangerSource"
:value="source1" :value="source1"
label=" " label=" "
placeholder="请选择"
@click="showSource1 = true" @click="showSource1 = true"
placeholder="请选择"
:rules="[{ required: true, message: '风险源不能为空' }]" :rules="[{ required: true, message: '风险源不能为空' }]"
/> />
<van-popup v-model="showSource1" position="bottom"> <!-- @click="goSelectTwo" -->
<van-popup v-model="showSource1" position="bottom">
<van-picker <van-picker
show-toolbar show-toolbar
value-key="riskSource" value-key="riskSource"
...@@ -194,7 +196,6 @@ ...@@ -194,7 +196,6 @@
<van-field <van-field
name="hdPicture1" name="hdPicture1"
label="隐患照片" label="隐患照片"
:rules="[{ required: true, message: '请上传图像' }]"
> >
<template #input> <template #input>
<van-uploader v-model="uploaderImg" /> <van-uploader v-model="uploaderImg" />
...@@ -267,7 +268,7 @@ import { ...@@ -267,7 +268,7 @@ import {
postHdRiskSource, postHdRiskSource,
postHdShowPeople, postHdShowPeople,
postHdReportAdd, postHdReportAdd,
dangerReturnEcho dangerReturnEcho,
} from "@/service/danger"; } from "@/service/danger";
export default { export default {
components: { components: {
...@@ -320,10 +321,14 @@ export default { ...@@ -320,10 +321,14 @@ export default {
showRecPeople: false, showRecPeople: false,
columnsRecPeople: [], columnsRecPeople: [],
isShowreturnCause: false, isShowreturnCause: false,
returnCause: "你这不行啊" // 退回原因 returnCause: "" // 退回原因
}; };
}, },
mounted(){
// this.$bus.$on("sourceAyy", res =>{
// console.log(res.join(","));
// })
},
methods: { methods: {
onSubmit(values) { onSubmit(values) {
console.log("submit", values); console.log("submit", values);
...@@ -349,6 +354,11 @@ export default { ...@@ -349,6 +354,11 @@ export default {
loadingType: "spinner", loadingType: "spinner",
duration: 0 duration: 0
}); });
url =
// if(this.taskId){
// url = `/hdreport/editSave/${this.taskId}`
// }
postHdReportAdd("/hdreport/add", formdata) postHdReportAdd("/hdreport/add", formdata)
.then(res => { .then(res => {
this.$toast.clear(); this.$toast.clear();
...@@ -395,7 +405,31 @@ export default { ...@@ -395,7 +405,31 @@ export default {
dangerReturnEcho(`/hdreport/edit/${this.taskId}`) dangerReturnEcho(`/hdreport/edit/${this.taskId}`)
.then(res => { .then(res => {
this.$toast.clear(); this.$toast.clear();
console.log(res); let msg = res.data.hdReport
// 对数据进行赋值
this.returnCause = res.data.reason;
this.projectId = msg.proId;
// 对所属工程数组筛选出 相同id 的工程名
let name = this.columnsProjectName.filter(item =>{
return item.id == msg.proId
})
this.projectName = name[0].projectName
this.range = msg.hdRange
this.type = msg.hdType
this.dangerName = msg.hdProjectName
this.dangerNum = msg.hdProjectId
this.dangerLevel = msg.hdLev
this.findTime = msg.hdDiscoveryTime
this.source = msg.dangerId
this.source1 = msg.dangerSource
this.location = msg.hdPosition
this.describe = msg.hdDescribe
this.hdPicture1 = msg.hdPicture1
this.hdVideo1 = msg.hdVideo1
this.expireTime = msg.hdExpirationTime
this.recPeople = msg.rectificationUser
}) })
.catch(() => { .catch(() => {
this.$toast.clear(); this.$toast.clear();
...@@ -417,6 +451,10 @@ export default { ...@@ -417,6 +451,10 @@ export default {
onConRange(value) { onConRange(value) {
this.range = value.hdRange; this.range = value.hdRange;
this.showRange = false; this.showRange = false;
this.type = ""
this.dangerName = ""
this.dangerNum = ""
this.dangerLevel = ""
// 去请求隐患类型的数据 // 去请求隐患类型的数据
postHdTyp(`/hdreport/showHdType/${this.range}`).then(res => { postHdTyp(`/hdreport/showHdType/${this.range}`).then(res => {
this.columnsType = res.data; this.columnsType = res.data;
...@@ -426,6 +464,9 @@ export default { ...@@ -426,6 +464,9 @@ export default {
onConType(value) { onConType(value) {
this.type = value.hdType; this.type = value.hdType;
this.showType = false; this.showType = false;
this.dangerName = ""
this.dangerNum = ""
this.dangerLevel = ""
// 请求隐患项目名称的数据 // 请求隐患项目名称的数据
console.log(this.range); console.log(this.range);
postHdName(`/hdreport/showHdName/${this.range}/${this.type}`).then( postHdName(`/hdreport/showHdName/${this.range}/${this.type}`).then(
...@@ -467,6 +508,19 @@ export default { ...@@ -467,6 +508,19 @@ export default {
this.source1 = value.riskSource; this.source1 = value.riskSource;
this.showSource1 = false; this.showSource1 = false;
}, },
// goSelectTwo(){
// if(this.source){
// // 跳转到多选页面
// this.$router.push({
// name: "choose-people",
// params:{
// source:this.source
// }
// })
// }else{
// this.$toast("请先选择风险源");
// }
// },
// 隐患到期时间 // 隐患到期时间
onConExpireTime(date) { onConExpireTime(date) {
this.expireTime = timestampToTime(date, "DT1", true); this.expireTime = timestampToTime(date, "DT1", true);
......
<template>
<div>
<LHeader :text="text"></LHeader>
<!-- 内容列表 -->
<van-checkbox-group v-model="result">
<van-cell-group>
<van-cell
v-for="(item, index) in messageList"
clickable
:key="item.index"
:title="item.riskSource"
@click="toggle(index)"
>
<template #right-icon>
<van-checkbox :name="item.riskSource" ref="checkboxes" />
</template>
</van-cell>
</van-cell-group>
</van-checkbox-group>
<div class="footer-con">
<div style="color: #1989fa;">已选择: {{result.length}}</div>
<div>
<van-button type="info" @click="confirm">确定</van-button>
</div>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import { postHdRiskSource } from "@/service/danger";
export default {
components: {
LHeader
},
data() {
return {
text: "选择风险源",
source: "",
messageList: [],
result: []
};
},
created() {
this.source = this.$route.params.source
console.log(this.source);
if(this.source){
this.getList()
}
},
methods: {
// 请求数据
getList(){
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
let formdata = new FormData();
formdata.append("factor", this.source);
postHdRiskSource("/riskSource/list", formdata).then(res => {
this.$toast.clear();
this.messageList = res.data;
}).catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
toggle(index) {
this.$refs.checkboxes[index].toggle();
},
confirm() {
console.log(this.result);
this.$bus.$emit("sourceAyy",this.result)
this.$router.go(-1)
},
// 请求风险源对应的数据
}
};
</script>
<style lang="less" scoped>
.footer-con {
height: 1.333333rem;
width: 100%;
background-color: white;
padding: 0 0.266667rem;
box-sizing: border-box;
position: fixed;
bottom: 0;
display: flex;
align-items: center;
justify-content: space-between;
}
</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="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>
...@@ -115,6 +115,12 @@ export default { ...@@ -115,6 +115,12 @@ export default {
// 详情 // 详情
goDetail(data) { goDetail(data) {
console.log(data); console.log(data);
this.$router.push({
name: "normal-detail",
params: {
id: data.taskId
}
});
this.showIndex = null; this.showIndex = null;
}, },
// 确认 // 确认
......
<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>
...@@ -93,7 +93,6 @@ export default { ...@@ -93,7 +93,6 @@ export default {
dangerConfirm("/confirm/list").then(res =>{ dangerConfirm("/confirm/list").then(res =>{
this.$toast.clear(); this.$toast.clear();
this.messageList = res.rows this.messageList = res.rows
console.log(this.messageList);
}).catch(() => { }).catch(() => {
this.$toast.clear(); this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试"); this.$toast.fail("加载失败,请稍后再试");
...@@ -117,7 +116,12 @@ export default { ...@@ -117,7 +116,12 @@ export default {
// 详情 // 详情
goDetail(data) { goDetail(data) {
console.log(data); console.log(data);
this.$router.push("/con-detail"); this.$router.push({
name: "normal-detail",
params: {
id: data.taskId
}
});
this.showIndex = null; this.showIndex = null;
}, },
// 确认 // 确认
......
<template> <template>
<div> <div>
<!-- 内容列表 --> <LHeader :text="text"></LHeader>
<van-search v-model="searchValue" placeholder="搜索" @search="onSearch" />
<!-- 内容列表 -->
<!-- 接口对接4 START -->
<div class="con-list"> <div class="con-list">
<van-cell-group <van-cell-group
inset inset
...@@ -10,10 +13,12 @@ ...@@ -10,10 +13,12 @@
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
<van-row gutter=""> <van-row gutter="">
<van-col span="7">所属工程名称:</van-col> <van-col span="7">所属工程名称:</van-col>
<van-col span="17">{{ item.project }}</van-col> <van-col span="17">{{ item.proId }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7">隐患项目名称:</van-col> <van-col span="7">隐患项目名称:</van-col>
<van-col span="17">{{ item.subject }}</van-col> <van-col span="17">{{ item.subject }}</van-col>
...@@ -26,7 +31,7 @@ ...@@ -26,7 +31,7 @@
<van-col span="7">隐患级别:</van-col> <van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.level }}</van-col> <van-col span="17">{{ item.level }}</van-col>
</van-row> </van-row>
<!-- *接口对接4 END -->
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index"> <van-overlay :show="showIndex == index">
...@@ -34,35 +39,75 @@ ...@@ -34,35 +39,75 @@
<van-button round type="primary" @touchstart="goDetail(item)" <van-button round type="primary" @touchstart="goDetail(item)"
>详情</van-button >详情</van-button
> >
<van-button round type="warning" @touchstart="goDelete(item)"
>删除</van-button
>
</div> </div>
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue";
import { postriskBook } from "@/service/risk";
/*接口对接2 START*/
// 例子:
// import {
// getFormList,
// postHdTyp,
// postHdName,
// postHdInventories,
// postHdRiskSource,
// postHdShowPeople,
// postHdReportAdd,
// dangerReturnEcho,
// } from "@/service/danger";
/*接口对接2 END*/
export default { export default {
components: {
LHeader,
},
data() { data() {
return { return {
messageList: [ text: "延期审批",
{ searchValue: "",
project: "朝阳区和平街14区简易住宅楼改造项目", messageList: [],
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A"
}
],
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null // 是否显示遮罩层 showIndex: null // 是否显示遮罩层
}; };
}, },
mounted() {}, created() {
this.getList();
},
methods: { methods: {
read() {}, getList() {
/*接口对接3 START*/
// 例子:
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
postriskBook("/riskMain/doneList")
.then(res => {
this.$toast.clear();
this.messageList = res.rows
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
/*接口对接3 END*/
},
onSearch(val) {
console.log(val);
},
touchstart(index, item) { touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器 clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
...@@ -83,16 +128,13 @@ export default { ...@@ -83,16 +128,13 @@ export default {
goDetail(data) { goDetail(data) {
console.log(data); console.log(data);
this.$router.push({ this.$router.push({
name: 'risk-add', name: "risk-big-detail",
params: {status: "退回"} params: {
}); id: data.businessId
}
});
this.showIndex = null; this.showIndex = null;
}, },
// 删除
goDelete(data) {
console.log(data);
this.showIndex = null;
}
} }
}; };
</script> </script>
......
<template>
<div>
<LHeader :text="text"></LHeader>
<van-search v-model="searchValue" placeholder="搜索" @search="onSearch" />
<!-- 内容列表 -->
<!-- 接口对接4 START -->
<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.businessId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患项目名称:</van-col>
<van-col span="17">{{ item.proId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.hdLev }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">发现时间:</van-col>
<van-col span="17">{{ item.startDate }}</van-col>
</van-row>
<!-- *接口对接4 END -->
<!-- 长按显示遮罩层 -->
<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>
import LHeader from "@/components/header.vue";
import { majorList } from "@/service/danger";
/*接口对接2 START*/
// 例子:
// import {
// getFormList,
// postHdTyp,
// postHdName,
// postHdInventories,
// postHdRiskSource,
// postHdShowPeople,
// postHdReportAdd,
// dangerReturnEcho,
// } from "@/service/danger";
/*接口对接2 END*/
export default {
components: {
LHeader,
},
data() {
return {
text: "重大隐患",
searchValue: "",
messageList: [],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
};
},
created() {
this.getList();
},
methods: {
getList() {
/*接口对接3 START*/
// 例子:
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
majorList("/majorapprove/list")
.then(res => {
this.$toast.clear();
this.messageList = res.rows
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
/*接口对接3 END*/
},
onSearch(val) {
console.log(val);
},
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({
name: "risk-big-detail",
params: {
id: data.businessId
}
});
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>
<template> <template>
<div> <div>
<!-- 内容列表 --> <LHeader :text="text"></LHeader>
<van-search v-model="searchValue" placeholder="搜索" @search="onSearch" />
<!-- 内容列表 -->
<!-- 接口对接4 START -->
<div class="con-list"> <div class="con-list">
<van-cell-group <van-cell-group
inset inset
...@@ -10,23 +13,24 @@ ...@@ -10,23 +13,24 @@
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
<van-row gutter=""> <van-row gutter="">
<van-col span="7">所属工程名称:</van-col> <van-col span="7">隐患编号:</van-col>
<van-col span="17">{{ item.project }}</van-col> <van-col span="17">{{ item.processInstanceId }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7">隐患项目名称:</van-col> <van-col span="7">隐患项目名称:</van-col>
<van-col span="17">{{ item.subject }}</van-col> <van-col span="17">{{ item.projectName }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7">隐患发现时间:</van-col> <van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.findTime }}</van-col> <van-col span="17">{{ item.hdLev }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7">隐患级别:</van-col> <van-col span="7">隐患发现时间:</van-col>
<van-col span="17">{{ item.level }}</van-col> <van-col span="17">{{ item.createTime }}</van-col>
</van-row> </van-row>
<!-- *接口对接4 END -->
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index"> <van-overlay :show="showIndex == index">
...@@ -38,28 +42,71 @@ ...@@ -38,28 +42,71 @@
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue";
import { superviseSABList } from "@/service/danger";
/*接口对接2 START*/
// 例子:
// import {
// getFormList,
// postHdTyp,
// postHdName,
// postHdInventories,
// postHdRiskSource,
// postHdShowPeople,
// postHdReportAdd,
// dangerReturnEcho,
// } from "@/service/danger";
/*接口对接2 END*/
export default { export default {
components: {
LHeader,
},
data() { data() {
return { return {
messageList: [ text: "项目经理督办",
{ searchValue: "",
project: "朝阳区和平街14区简易住宅楼改造项目", messageList: [],
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A"
}
],
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null // 是否显示遮罩层 showIndex: null // 是否显示遮罩层
}; };
}, },
mounted() {}, created() {
this.getList();
},
methods: { methods: {
read() {}, getList() {
/*接口对接3 START*/
// 例子:
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
superviseSABList("/supervise/SABlist")
.then(res => {
this.$toast.clear();
this.messageList = res.rows
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
/*接口对接3 END*/
},
onSearch(val) {
console.log(val);
},
touchstart(index, item) { touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器 clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
...@@ -79,10 +126,14 @@ export default { ...@@ -79,10 +126,14 @@ export default {
// 详情 // 详情
goDetail(data) { goDetail(data) {
console.log(data); console.log(data);
this.$router.push("/risk-big-detail"); this.$router.push({
name: "risk-big-detail",
params: {
id: data.businessId
}
});
this.showIndex = null; this.showIndex = null;
}, },
} }
}; };
</script> </script>
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="5">超期标识:</van-col> <van-col span="5">超期标识:</van-col>
<van-col span="19">{{ item.dueDate | formatTime }}</van-col> <van-col span="19">{{ item | formatTime }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="5">状态:</van-col> <van-col span="5">状态:</van-col>
...@@ -116,7 +116,12 @@ export default { ...@@ -116,7 +116,12 @@ export default {
// 详情 // 详情
goDetail(data) { goDetail(data) {
console.log(data); console.log(data);
this.$router.push("/review-detail"); this.$router.push({
name: "normal-detail",
params: {
id: data.taskId
}
});
this.showIndex = null; this.showIndex = null;
}, },
// 确认 // 确认
...@@ -132,13 +137,14 @@ export default { ...@@ -132,13 +137,14 @@ export default {
} }
}, },
filters: { filters: {
formatTime: function(val) { formatTime: function(row) {
if (new Date(val).getTime() <= new Date().getTime()) { if (new Date(row.dueDate).getTime() <= row.rectificationTime) {
return "超期"; return "超期";
} else if ( } else if (
new Date(val).getTime() >= new Date().getTime() && new Date(row.dueDate).getTime() >= row.rectificationTime &&
new Date(val).getTime() <= new Date().getTime() + 259200000 new Date(row.dueDate).getTime() - 259200000 <= row.rectificationTime
) { ) {
//三天
return "临期"; return "临期";
} else { } else {
return "正常"; return "正常";
......
<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>
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
inset inset
v-for="(item, index) in messageList" v-for="(item, index) in messageList"
:key="index" :key="index"
@click="read(item)"
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
...@@ -34,7 +33,7 @@ ...@@ -34,7 +33,7 @@
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="5">超期标识:</van-col> <van-col span="5">超期标识:</van-col>
<van-col span="19">{{ item.dueDate | formatTime }}</van-col> <van-col span="19">{{ item | formatTime }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="5">状态:</van-col> <van-col span="5">状态:</van-col>
...@@ -86,7 +85,7 @@ export default { ...@@ -86,7 +85,7 @@ export default {
loadingType: "spinner", loadingType: "spinner",
duration: 0 duration: 0
}); });
dangerStandBook("/review/list") dangerStandBook("/hdreport/doneList")
.then(res => { .then(res => {
this.$toast.clear(); this.$toast.clear();
this.messageList = res.rows; this.messageList = res.rows;
...@@ -115,9 +114,26 @@ export default { ...@@ -115,9 +114,26 @@ export default {
// 详情 // 详情
goDetail(data) { goDetail(data) {
console.log(data); console.log(data);
this.$router.push("/normal-detail"); this.$router.push({
name: "normal-detail",
params:{
id: data.businessId
}
});
this.showIndex = null; this.showIndex = null;
}, },
},
filters: {
formatTime: function(row) {
if (row.dueDate <= row.rectificationTime) {
return "超期"
} else if (row.dueDate >= row.rectificationTime && row.dueDate - 259200000 <= row.rectificationTime) {
//三天
return "临期"
} else {
return "正常"
}
}
} }
}; };
</script> </script>
......
...@@ -5,30 +5,30 @@ ...@@ -5,30 +5,30 @@
<div class="con-list"> <div class="con-list">
<div class="cell-wrap"> <div class="cell-wrap">
<p>隐患上报</p> <p>隐患上报</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index"> <van-cell-group inset>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">所属工程名称:</span></van-col ><span class="field-title">所属工程名称:</span></van-col
> >
<van-col span="17">{{ item.project }}</van-col> <van-col span="17">{{ hdReport.proId }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患项目名称:</span></van-col ><span class="field-title">隐患项目名称:</span></van-col
> >
<van-col span="17">{{ item.subject }}</van-col> <van-col span="17">{{ hdReport.hdProjectName }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患发现时间:</span></van-col ><span class="field-title">隐患发现时间:</span></van-col
> >
<van-col span="17">{{ item.findTime }}</van-col> <van-col span="17">{{ hdReport.hdDiscoveryTime }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患级别:</span></van-col ><span class="field-title">隐患级别:</span></van-col
> >
<van-col span="17">{{ item.level }}</van-col> <van-col span="17">{{ hdReport.hdLev }}</van-col>
</van-row> </van-row>
<!-- 隐藏的字段 --> <!-- 隐藏的字段 -->
...@@ -37,73 +37,67 @@ ...@@ -37,73 +37,67 @@
<van-col span="7" <van-col span="7"
><span class="field-title">试用范围:</span></van-col ><span class="field-title">试用范围:</span></van-col
> >
<van-col span="17">{{ item.range }}</van-col> <van-col span="17">{{ hdReport.hdRange }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患类型:</span></van-col ><span class="field-title">隐患类型:</span></van-col
> >
<van-col span="17">{{ item.type }}</van-col> <van-col span="17">{{ hdReport.hdType }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患项目编号</span>:</van-col ><span class="field-title">隐患项目编号</span>:</van-col
> >
<van-col span="17">{{ item.dangerNum }}</van-col> <van-col span="17">{{ hdReport.hdProjectId }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">风险源:</span></van-col ><span class="field-title">风险源:</span></van-col
> >
<van-col span="17">{{ item.source }}</van-col> <van-col span="17">{{ hdReport.dangerSource }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">风险源因素:</span></van-col ><span class="field-title">风险源因素:</span></van-col
> >
<van-col span="17">{{ item.source1 }}</van-col> <van-col span="17">{{ hdReport.dangerId }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">检查部位:</span></van-col ><span class="field-title">检查部位:</span></van-col
> >
<van-col span="17">{{ item.location }}</van-col> <van-col span="17">{{ hdReport.hdPosition }}</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>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患描述:</span></van-col ><span class="field-title">隐患描述:</span></van-col
> >
<van-col span="17">{{ item.describe }}</van-col> <van-col span="17">{{ hdReport.hdDescribe }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患照片:</span></van-col ><span class="field-title">隐患照片:</span></van-col
> >
<van-col span="17">{{ item.uploaderImg }}</van-col> <van-col span="17">{{ hdReport.hdPicture }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患视频:</span></van-col ><span class="field-title">隐患视频:</span></van-col
> >
<van-col span="17">{{ item.uploaderVideo }}</van-col> <van-col span="17">{{ hdReport.hdVideo }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患到期时间:</span></van-col ><span class="field-title">隐患到期时间:</span></van-col
> >
<van-col span="17">{{ item.expireTime }}</van-col> <van-col span="17">{{ hdReport.hdExpirationTime }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患整改人:</span></van-col ><span class="field-title">隐患整改人:</span></van-col
> >
<van-col span="17">{{ item.recPeople }}</van-col> <van-col span="17">{{ hdReport.rectificationUser }}</van-col>
</van-row> </van-row>
</div> </div>
</van-cell-group> </van-cell-group>
...@@ -113,117 +107,109 @@ ...@@ -113,117 +107,109 @@
</div> </div>
</div> </div>
<div class="confirm-wrap"> <div class="confirm-wrap" v-if="hdConfirm">
<p>隐患认定</p> <p>隐患认定</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index"> <van-cell-group inset >
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患整改人:</span></van-col ><span class="field-title">隐患整改人:</span></van-col
> >
<van-col span="17">{{ item.project }}</van-col> <van-col span="17">{{ hdConfirm.rectificationUser }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患复查人:</span></van-col ><span class="field-title">隐患复查人:</span></van-col
> >
<van-col span="17">{{ item.subject }}</van-col> <van-col span="17">{{ hdConfirm.rectificationReview }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">整改截止时间:</span></van-col ><span class="field-title">整改截止时间:</span></van-col
> >
<van-col span="17">{{ item.findTime }}</van-col> <van-col span="17">{{ hdConfirm.endTime }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患复查人:</span></van-col ><span class="field-title">意见:</span></van-col
> >
<van-col span="17">{{ item.level }}</van-col> <van-col span="17">{{ hdConfirm.confirmOpinion }}</van-col>
</van-row> </van-row>
<!-- 隐藏的字段 --> <!-- <div v-show="confirmOpen">
<div v-show="confirmOpen">
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患确认信息:</span></van-col ><span class="field-title">隐患确认信息:</span></van-col
> >
<van-col span="17">{{ item.range }}</van-col> <van-col span="17">{{ hdConfirm.confirmOpinion }}</van-col>
</van-row> </van-row>
</div> </div> -->
</van-cell-group> </van-cell-group>
<!-- 展开 --> <!-- <div class="more" @click="confirmReverse">
<div class="more" @click="confirmReverse">
{{ confirmOpenText }} {{ confirmOpenText }}
</div> </div> -->
</div> </div>
<div class="change-wrap"> <div class="change-wrap" v-if="hdRectificationList.length>0">
<p>隐患整改</p> <p>隐患整改</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index"> <van-cell-group inset v-for="(item, index) in hdRectificationList" :key="index">
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">整改详情描述:</span></van-col ><span class="field-title">整改详情描述:</span></van-col
> >
<van-col span="17">{{ item.project }}</van-col> <van-col span="17">{{ item.details }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患照片:</span></van-col ><span class="field-title">隐患照片:</span></van-col
> >
<van-col span="17">{{ item.subject }}</van-col> <van-col span="17">{{ item.rePicture }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患视频:</span></van-col ><span class="field-title">隐患视频:</span></van-col
> >
<van-col span="17">{{ item.level }}</van-col> <van-col span="17">{{ item.reVideo }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">创建时间:</span></van-col ><span class="field-title">创建时间:</span></van-col
> >
<van-col span="17">{{ item.findTime }}</van-col> <van-col span="17">{{ item.creatTime }}</van-col>
</van-row> </van-row>
</van-cell-group> </van-cell-group>
</div> </div>
<div class="review-wrap"> <div class="review-wrap" v-if="hdReviewList.length>0">
<p>整改复查</p> <p>整改复查</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index"> <van-cell-group inset v-for="(item, index) in hdReviewList" :key="index">
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">隐患照片:</span></van-col ><span class="field-title">隐患照片:</span></van-col
> >
<van-col span="17">{{ item.subject }}</van-col> <van-col span="17">{{ item.reviewPicture }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">详情描述:</span></van-col ><span class="field-title">详情描述:</span></van-col
> >
<van-col span="17">{{ item.project }}</van-col> <van-col span="17">{{ item.reviewDetails }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">复查结果:</span></van-col ><span class="field-title">复查结果:</span></van-col
> >
<van-col span="17">{{ item.location }}</van-col> <van-col span="17">{{ item.reviewResult == 1? "合格":"不合格"}}</van-col>
</van-row> </van-row>
</van-cell-group> </van-cell-group>
</div> </div>
<div class="journal-wrap"> <div class="journal-wrap">
<p>日志信息</p> <p>日志信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index"> <van-cell-group inset >
<van-steps direction="vertical" :active="999"> <van-steps direction="vertical" :active="99999" v-if="hdLogList.length>0">
<van-step> <van-step v-for="(item, index) in hdLogList" :key="index">
<div class="step-wrap"> <div class="step-wrap">
<van-row> <van-row>
<van-col span="24" <van-col span="24"
...@@ -234,49 +220,92 @@ ...@@ -234,49 +220,92 @@
<van-col span="5" <van-col span="5"
><span class="field-title">审批人:</span></van-col ><span class="field-title">审批人:</span></van-col
> >
<van-col span="19">首华建设项目</van-col> <van-col span="19">{{item.userName}}</van-col>
</van-row> </van-row>
<van-row> <van-row>
<van-col span="5" <van-col span="5"
><span class="field-title">节点</span></van-col ><span class="field-title">节点</span></van-col
> >
<van-col span="19">隐患上报</van-col> <van-col span="19">{{item.logNode}}</van-col>
</van-row> </van-row>
<van-row> <van-row>
<van-col span="5" <van-col span="5"
><span class="field-title">结果:</span></van-col ><span class="field-title">结果:</span></van-col
> >
<van-col span="19">通过</van-col> <van-col span="19">{{item.logResult}}</van-col>
</van-row> </van-row>
<van-row> <van-row>
<van-col span="5" <van-col span="5"
><span class="field-title">部门:</span></van-col ><span class="field-title">部门:</span></van-col
> >
<van-col span="19">首华建设项目部</van-col> <van-col span="19">{{item.deptName}}</van-col>
</van-row> </van-row>
<van-row> <van-row>
<van-col span="5" <van-col span="5"
><span class="field-title">时间:</span></van-col ><span class="field-title">时间:</span></van-col
> >
<van-col span="19">2021-10-26 16:30:00</van-col> <van-col span="19">{{item.createTime}}</van-col>
</van-row> </van-row>
</div> </div>
</van-step> </van-step>
</van-steps> </van-steps>
<div style="text-align: center;" v-if="hdLogList.length == 0">暂无数据</div>
</van-cell-group> </van-cell-group>
<!-- 展开 --> <!-- 展开 -->
<div class="more" @click="journalReverse"> <div class="more" @click="journalReverse" v-show="hdLogList.length>0">
{{ journalOpenText }} {{ journalOpenText }}
</div> </div>
</div> </div>
<div class="supervise-wrap"> <div class="supervise-wrap">
<p>督办信息</p> <p>督办信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index"> <van-cell-group inset >
<div style="text-align: center;">暂无数据</div> <van-steps direction="vertical" :active="99999" v-if="instructionsList.length>0">
<van-step v-for="(item, index) in instructionsList" :key="index">
<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">{{item.userName}}</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">节点:</span></van-col
>
<van-col span="19">{{item.logNode}}</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">结果:</span></van-col
>
<van-col span="19">{{item.logResult}}</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">部门:</span></van-col
>
<van-col span="19">{{item.deptName}}</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">时间:</span></van-col
>
<van-col span="19">{{item.createTime}}</van-col>
</van-row>
</div>
</van-step>
</van-steps>
<div style="text-align: center;" v-if="instructionsList.length == 0">暂无数据</div>
</van-cell-group> </van-cell-group>
<!-- 展开 --> <!-- 展开 -->
<div class="more" @click="superviseReverse" v-show="false"> <div class="more" @click="superviseReverse" v-show="instructionsList.length>0">
{{ superviseOpenText }} {{ superviseOpenText }}
</div> </div>
</div> </div>
...@@ -286,12 +315,14 @@ ...@@ -286,12 +315,14 @@
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { standBookDetail } from "@/service/danger";
export default { export default {
components: { components: {
LHeader LHeader
}, },
data() { data() {
return { return {
id: "",
text: "隐患历史台账详情", text: "隐患历史台账详情",
reportOpen: false, reportOpen: false,
reportOpenText: "展开 ▼", reportOpenText: "展开 ▼",
...@@ -302,34 +333,53 @@ export default { ...@@ -302,34 +333,53 @@ export default {
confirmOpen: false, confirmOpen: false,
confirmOpenText: "展开 ▼", confirmOpenText: "展开 ▼",
reportList: [ hdReport:"",
{ hdConfirm:"",
project: "朝阳区和平街14区简易住宅楼改造项目", hdMajorApproveList:[], // 重大隐患审批 先不做
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。", hdRectificationList:[],
findTime: "2021-10-26 16:30:00", hdReviewList:[],
level: "一般隐患A", hdLogList:[],
range: "城市轨道交通工程", beifenhdLogList:[],
type: "临时用电", instructionsList:[],
dangerNum: "0-03-06-0003", beifeninstructionsList:[]
source: "违规活动",
source1: "人的因素",
location: "临时用电",
describe: "没按规定放置插排",
uploaderImg: [],
uploaderVideo: [],
expireTime: "2021-10-26 16:30:00",
recPeople: "张三"
}
],
journalList: []
}; };
}, },
mounted() {}, created() {
this.id = this.$route.params.id;
if (this.id) {
this.postDetail();
}
},
methods: { methods: {
// 请求台账信息
postDetail() {
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
standBookDetail(`/hdreport/hdDetailsApp/${this.id}`)
.then(res => {
this.$toast.clear();
this.hdReport = res.data.hdReport
this.hdConfirm = res.data.hdConfirm
this.hdRectificationList = res.data.hdRectificationList
this.hdReviewList = res.data.hdReviewList
this.beifenhdLogList = res.data.hdLogList
this.hdLogList = this.beifenhdLogList.slice(0,1)
this.beifeninstructionsList = res.data.instructionsList
this.instructionsList = this.beifeninstructionsList.slice(0,1)
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
// 上报信息显示或隐藏 // 上报信息显示或隐藏
reportReverse() { reportReverse() {
this.reportOpen = !this.reportOpen; this.reportOpen = !this.reportOpen;
if (this.reportOpen) { if (this.reportOpen) {
this.reportOpenText = "收起 ▲"; this.reportOpenText = "收起 ▲";
} else { } else {
...@@ -337,8 +387,8 @@ export default { ...@@ -337,8 +387,8 @@ export default {
} }
}, },
// 隐患认定显示或隐藏 // 隐患认定显示或隐藏
confirmReverse () { confirmReverse() {
this.confirmOpen = !this.confirmOpen; this.confirmOpen = !this.confirmOpen;
if (this.confirmOpen) { if (this.confirmOpen) {
this.confirmOpenText = "收起 ▲"; this.confirmOpenText = "收起 ▲";
} else { } else {
...@@ -352,9 +402,13 @@ export default { ...@@ -352,9 +402,13 @@ export default {
if (this.journalOpen) { if (this.journalOpen) {
// 显示所有数据 // 显示所有数据
this.journalOpenText = "收起 ▲"; this.journalOpenText = "收起 ▲";
// 显示所有数据
this.hdLogList = this.beifenhdLogList
} else { } else {
// 只渲染一条数据
this.journalOpenText = "展开 ▼"; this.journalOpenText = "展开 ▼";
// 只显示第一个数据
this.hdLogList = this.beifenhdLogList.slice(0,1)
} }
}, },
// 督办信息显示或隐藏 // 督办信息显示或隐藏
...@@ -363,9 +417,11 @@ export default { ...@@ -363,9 +417,11 @@ export default {
if (this.superviseOpen) { if (this.superviseOpen) {
// 显示所有数据 // 显示所有数据
this.superviseOpenText = "收起 ▲"; this.superviseOpenText = "收起 ▲";
this.instructionsList = this.beifeninstructionsList
} else { } else {
// 只渲染一条数据 // 只渲染一条数据
this.superviseOpenText = "展开 ▼"; this.superviseOpenText = "展开 ▼";
this.instructionsList = this.beifeninstructionsList.slice(0,1)
} }
} }
} }
......
<template> <template>
<div> <div>
<!-- 内容列表 --> <LHeader :text="text"></LHeader>
<van-search v-model="searchValue" placeholder="搜索" @search="onSearch" />
<!-- 内容列表 -->
<!-- 接口对接4 START -->
<div class="con-list"> <div class="con-list">
<van-cell-group <van-cell-group
inset inset
v-for="(item, index) in messageList" v-for="(item, index) in messageList"
:key="index" :key="index"
@click="read(item)"
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
<van-row gutter=""> <van-row gutter="">
<van-col span="7">所属工程名称:</van-col> <van-col span="7">隐患编号:</van-col>
<van-col span="17">{{ item.project }}</van-col> <van-col span="17">{{ item.processInstanceId }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7">隐患项目名称:</van-col> <van-col span="7">隐患项目名称:</van-col>
<van-col span="17">{{ item.subject }}</van-col> <van-col span="17">{{ item.projectName }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7">隐患发现时间:</van-col> <van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.findTime }}</van-col> <van-col span="17">{{ item.hdLev }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7">隐患级别:</van-col> <van-col span="7">隐患发现时间:</van-col>
<van-col span="17">{{ item.level }}</van-col> <van-col span="17">{{ item.createTime }}</van-col>
</van-row> </van-row>
<!-- *接口对接4 END -->
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index"> <van-overlay :show="showIndex == index">
...@@ -34,35 +37,75 @@ ...@@ -34,35 +37,75 @@
<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="goConfirm(item)"
>确认</van-button
>
</div> </div>
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue";
import { superviseList } from "@/service/danger";
/*接口对接2 START*/
// 例子:
// import {
// getFormList,
// postHdTyp,
// postHdName,
// postHdInventories,
// postHdRiskSource,
// postHdShowPeople,
// postHdReportAdd,
// dangerReturnEcho,
// } from "@/service/danger";
/*接口对接2 END*/
export default { export default {
components: {
LHeader,
},
data() { data() {
return { return {
messageList: [ text: "隐患督办123",
{ searchValue: "",
project: "朝阳区和平街14区简易住宅楼改造项目", messageList: [],
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A"
}
],
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null // 是否显示遮罩层 showIndex: null // 是否显示遮罩层
}; };
}, },
mounted() {}, created() {
this.getList();
},
methods: { methods: {
read() {}, getList() {
/*接口对接3 START*/
// 例子:
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
superviseList("/supervise/list")
.then(res => {
this.$toast.clear();
this.messageList = res.data
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
/*接口对接3 END*/
},
onSearch(val) {
console.log(val);
},
touchstart(index, item) { touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器 clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
...@@ -82,15 +125,14 @@ export default { ...@@ -82,15 +125,14 @@ export default {
// 详情 // 详情
goDetail(data) { goDetail(data) {
console.log(data); console.log(data);
this.$router.push("/affirm-detail"); this.$router.push({
name: "risk-big-detail",
params: {
id: data.businessId
}
});
this.showIndex = null; this.showIndex = null;
}, },
// 确认
goConfirm(data) {
console.log(data);
this.$router.push("/risk-affirm");
this.showIndex = null;
}
} }
}; };
</script> </script>
......
...@@ -2,44 +2,169 @@ ...@@ -2,44 +2,169 @@
<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 <!-- 内容列表 -->
v-model="active" <!-- 接口对接4 START -->
color="#247df7" <div class="con-list">
title-inactive-colo="#d0d1d1" <van-cell-group
title-active-color="#000000" inset
> v-for="(item, index) in messageList"
<van-tab title="重大风险"> :key="index"
<risk-big-list></risk-big-list> @click="read(item)"
</van-tab> @touchstart="touchstart(index, item)"
<van-tab title="一般风险">一般风险</van-tab> @touchend.prevent="touchend(index)"
</van-tabs> >
<van-row gutter="">
<van-col span="7">风险编号:</van-col>
<van-col span="17">{{ item.processInstanceId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">所属工程名称:</van-col>
<van-col span="17">{{ item.proId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">风险等级:</van-col>
<van-col span="17">{{ item.riskLevel }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">风险源:</van-col>
<van-col span="17">{{ item.riskSource }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">创建时间:</van-col>
<van-col span="17">{{ item.startDate }}</van-col>
</van-row>
<!-- *接口对接4 END -->
<!-- 长按显示遮罩层 -->
<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> </div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import riskBigList from './riskBigList.vue'; import { postriskBook } from "@/service/risk";
/*接口对接2 START*/
// 例子:
// import {
// getFormList,
// postHdTyp,
// postHdName,
// postHdInventories,
// postHdRiskSource,
// postHdShowPeople,
// postHdReportAdd,
// dangerReturnEcho,
// } from "@/service/danger";
/*接口对接2 END*/
export default { export default {
components: { components: {
LHeader, LHeader,
riskBigList
}, },
data() { data() {
return { return {
text: "风险历史台账", text: "风险历史台账",
active: "1", searchValue: "",
searchValue: "" messageList: [],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
}; };
}, },
mounted() {}, created() {
this.getList();
},
methods: { methods: {
getList() {
/*接口对接3 START*/
// 例子:
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
postriskBook("/riskMain/doneList")
.then(res => {
this.$toast.clear();
this.messageList = res.rows
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
/*接口对接3 END*/
},
onSearch(val) { onSearch(val) {
console.log(val); console.log(val);
} },
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({
name: "risk-big-detail",
params: {
id: data.businessId
}
});
this.showIndex = null;
},
} }
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @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> </style>
...@@ -7,11 +7,15 @@ ...@@ -7,11 +7,15 @@
<p>风险上报</p> <p>风险上报</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index"> <van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-row gutter=""> <van-row gutter="">
<van-col span="7"><span class="field-title">所属工程名称:</span></van-col> <van-col span="7"
><span class="field-title">所属工程名称:</span></van-col
>
<van-col span="17">{{ item.project }}</van-col> <van-col span="17">{{ item.project }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7"><span class="field-title">风险因素:</span></van-col> <van-col span="7"
><span class="field-title">风险因素:</span></van-col
>
<van-col span="17">{{ item.subject }}</van-col> <van-col span="17">{{ item.subject }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
...@@ -19,58 +23,84 @@ ...@@ -19,58 +23,84 @@
<van-col span="17">{{ item.findTime }}</van-col> <van-col span="17">{{ item.findTime }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7"><span class="field-title">事故类型:</span></van-col> <van-col span="7"
><span class="field-title">事故类型:</span></van-col
>
<van-col span="17">{{ item.level }}</van-col> <van-col span="17">{{ item.level }}</van-col>
</van-row> </van-row>
<!-- 隐藏的字段 --> <!-- 隐藏的字段 -->
<div v-show="reportOpen"> <div v-show="reportOpen">
<van-row gutter=""> <van-row gutter="">
<van-col span="7"><span class="field-title">风险等级:</span></van-col> <van-col span="7"
><span class="field-title">风险等级:</span></van-col
>
<van-col span="17">{{ item.range }}</van-col> <van-col span="17">{{ item.range }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7"><span class="field-title">风险部位:</span></van-col> <van-col span="7"
><span class="field-title">风险部位:</span></van-col
>
<van-col span="17">{{ item.type }}</van-col> <van-col span="17">{{ item.type }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7"><span class="field-title">管控层级:</span></van-col> <van-col span="7"
><span class="field-title">管控层级:</span></van-col
>
<van-col span="17">{{ item.dangerNum }}</van-col> <van-col span="17">{{ item.dangerNum }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7"><span class="field-title">主责部门:</span></van-col> <van-col span="7"
><span class="field-title">主责部门:</span></van-col
>
<van-col span="17">{{ item.source }}</van-col> <van-col span="17">{{ item.source }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7"><span class="field-title">主责人员:</span></van-col> <van-col span="7"
><span class="field-title">主责人员:</span></van-col
>
<van-col span="17">{{ item.source1 }}</van-col> <van-col span="17">{{ item.source1 }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7"><span class="field-title">定级方式:</span></van-col> <van-col span="7"
><span class="field-title">定级方式:</span></van-col
>
<van-col span="17">{{ item.location }}</van-col> <van-col span="17">{{ item.location }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7"><span class="field-title">技术措施:</span></van-col> <van-col span="7"
><span class="field-title">技术措施:</span></van-col
>
<van-col span="17">{{ item.dangerNum }}</van-col> <van-col span="17">{{ item.dangerNum }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7"><span class="field-title">技术措施(附件):</span></van-col> <van-col span="7"
><span class="field-title">技术措施(附件):</span></van-col
>
<van-col span="17">{{ item.describe }}</van-col> <van-col span="17">{{ item.describe }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7"><span class="field-title">管理措施:</span></van-col> <van-col span="7"
><span class="field-title">管理措施:</span></van-col
>
<van-col span="17">{{ item.uploaderImg }}</van-col> <van-col span="17">{{ item.uploaderImg }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7"><span class="field-title">管理措施(附件):</span></van-col> <van-col span="7"
><span class="field-title">管理措施(附件):</span></van-col
>
<van-col span="17">{{ item.uploaderVideo }}</van-col> <van-col span="17">{{ item.uploaderVideo }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7"><span class="field-title">应急措施:</span></van-col> <van-col span="7"
><span class="field-title">应急措施:</span></van-col
>
<van-col span="17">{{ item.expireTime }}</van-col> <van-col span="17">{{ item.expireTime }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7"><span class="field-title">应急措施(附件):</span></van-col> <van-col span="7"
><span class="field-title">应急措施(附件):</span></van-col
>
<van-col span="17">{{ item.recPeople }}</van-col> <van-col span="17">{{ item.recPeople }}</van-col>
</van-row> </van-row>
</div> </div>
...@@ -81,7 +111,6 @@ ...@@ -81,7 +111,6 @@
</div> </div>
</div> </div>
<div class="confirme-wrap"> <div class="confirme-wrap">
<p>风险确认</p> <p>风险确认</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index"> <van-cell-group inset v-for="(item, index) in reportList" :key="index">
...@@ -152,7 +181,6 @@ ...@@ -152,7 +181,6 @@
<div class="supervise-wrap"> <div class="supervise-wrap">
<p>督办信息</p> <p>督办信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index"> <van-cell-group inset v-for="(item, index) in reportList" :key="index">
<div style="text-align: center;">暂无数据</div> <div style="text-align: center;">暂无数据</div>
</van-cell-group> </van-cell-group>
<!-- 展开 --> <!-- 展开 -->
...@@ -166,6 +194,7 @@ ...@@ -166,6 +194,7 @@
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
export default { export default {
components: { components: {
LHeader LHeader
...@@ -203,8 +232,11 @@ export default { ...@@ -203,8 +232,11 @@ export default {
journalList: [] journalList: []
}; };
}, },
mounted() {}, created() {
},
methods: { methods: {
// 上报信息显示或隐藏 // 上报信息显示或隐藏
reportReverse() { reportReverse() {
this.reportOpen = !this.reportOpen; this.reportOpen = !this.reportOpen;
...@@ -236,15 +268,13 @@ export default { ...@@ -236,15 +268,13 @@ export default {
this.superviseOpenText = "展开 ▼"; this.superviseOpenText = "展开 ▼";
} }
} }
} }
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.con-list { .con-list {
padding: 10px 10px .533333rem; padding: 10px 10px 0.533333rem;
background-color: #f0f1f5; background-color: #f0f1f5;
.cell-wrap { .cell-wrap {
position: relative; position: relative;
...@@ -263,14 +293,14 @@ export default { ...@@ -263,14 +293,14 @@ export default {
font-size: 13px; font-size: 13px;
position: relative; position: relative;
.van-row { .van-row {
margin-bottom: .133333rem; margin-bottom: 0.133333rem;
line-height: .64rem; line-height: 0.64rem;
} }
} }
.journal-wrap { .journal-wrap {
position: relative; position: relative;
} }
.supervise-wrap{ .supervise-wrap {
position: relative; position: relative;
} }
.info-title { .info-title {
......
...@@ -14,13 +14,14 @@ ...@@ -14,13 +14,14 @@
rows="1" rows="1"
autosize="" autosize=""
label="退回原因" label="退回原因"
name="退回原因" name="returnCause"
type="textarea" type="textarea"
/> />
<van-field <van-field
v-if="!isShowreturnCause"
readonly readonly
clickable clickable
name="所属工程名称" name="projectName"
:value="projectName" :value="projectName"
label="所属工程名称" label="所属工程名称"
placeholder="请选择" placeholder="请选择"
...@@ -30,6 +31,7 @@ ...@@ -30,6 +31,7 @@
<van-popup v-model="showProjectName" position="bottom"> <van-popup v-model="showProjectName" position="bottom">
<van-picker <van-picker
show-toolbar show-toolbar
value-key="projectName"
:columns="columnsProjectName" :columns="columnsProjectName"
@confirm="onConProjectName" @confirm="onConProjectName"
@cancel="showProjectName = false" @cancel="showProjectName = false"
...@@ -39,7 +41,7 @@ ...@@ -39,7 +41,7 @@
<van-field <van-field
readonly readonly
clickable clickable
name="风险因素" name="factor"
:value="factor" :value="factor"
label="风险因素" label="风险因素"
placeholder="请选择" placeholder="请选择"
...@@ -49,6 +51,7 @@ ...@@ -49,6 +51,7 @@
<van-popup v-model="showFactor" position="bottom"> <van-popup v-model="showFactor" position="bottom">
<van-picker <van-picker
show-toolbar show-toolbar
value-key="factorType"
:columns="columnsFactor" :columns="columnsFactor"
@confirm="onConFactor" @confirm="onConFactor"
@cancel="showFactor = false" @cancel="showFactor = false"
...@@ -58,7 +61,7 @@ ...@@ -58,7 +61,7 @@
<van-field <van-field
readonly readonly
clickable clickable
name="风险源" name="source"
:value="source" :value="source"
label="风险源" label="风险源"
placeholder="请选择" placeholder="请选择"
...@@ -68,6 +71,7 @@ ...@@ -68,6 +71,7 @@
<van-popup v-model="showSource" position="bottom"> <van-popup v-model="showSource" position="bottom">
<van-picker <van-picker
show-toolbar show-toolbar
value-key="sourceName"
:columns="columnsSource" :columns="columnsSource"
@confirm="onConSource" @confirm="onConSource"
@cancel="showSource = false" @cancel="showSource = false"
...@@ -77,7 +81,7 @@ ...@@ -77,7 +81,7 @@
<van-field <van-field
readonly readonly
clickable clickable
name="事故类型" name="trouble"
:value="trouble" :value="trouble"
label="事故类型" label="事故类型"
placeholder="请选择" placeholder="请选择"
...@@ -87,6 +91,7 @@ ...@@ -87,6 +91,7 @@
<van-popup v-model="showTrouble" position="bottom"> <van-popup v-model="showTrouble" position="bottom">
<van-picker <van-picker
show-toolbar show-toolbar
value-key="accidentType"
:columns="columnsTrouble" :columns="columnsTrouble"
@confirm="onConTrouble" @confirm="onConTrouble"
@cancel="showTrouble = false" @cancel="showTrouble = false"
...@@ -96,7 +101,7 @@ ...@@ -96,7 +101,7 @@
<van-field <van-field
readonly readonly
clickable clickable
name="风险定级" name="setRank"
:value="setRank" :value="setRank"
label="风险定级" label="风险定级"
placeholder="请选择" placeholder="请选择"
...@@ -115,7 +120,7 @@ ...@@ -115,7 +120,7 @@
<van-field <van-field
v-model="riskRank" v-model="riskRank"
readonly readonly
name="风险等级" name="riskRank"
label="风险等级" label="风险等级"
placeholder="请选择" placeholder="请选择"
:rules="[{ required: true, message: '风险等级不能为空' }]" :rules="[{ required: true, message: '风险等级不能为空' }]"
...@@ -123,7 +128,7 @@ ...@@ -123,7 +128,7 @@
<van-field <van-field
v-model="setRankMode" v-model="setRankMode"
name="定级方式" name="setRankMode"
label="定级方式" label="定级方式"
type="textarea" type="textarea"
rows="1" rows="1"
...@@ -141,7 +146,7 @@ ...@@ -141,7 +146,7 @@
<van-field <van-field
v-model="location" v-model="location"
name="风险部位" name="location"
label="风险部位" label="风险部位"
type="textarea" type="textarea"
rows="1" rows="1"
...@@ -153,7 +158,7 @@ ...@@ -153,7 +158,7 @@
<van-field <van-field
readonly readonly
clickable clickable
name="管控层级" name="control"
:value="control" :value="control"
label="管控层级" label="管控层级"
placeholder="请选择" placeholder="请选择"
...@@ -172,16 +177,16 @@ ...@@ -172,16 +177,16 @@
<van-field <van-field
readonly readonly
clickable clickable
name="主责部门" name="mainDutyDept"
:value="mainDutyDept" :value="mainDutyDept"
label="主责部门" label="主责部门"
placeholder="请选择" placeholder="请选择"
@click="showMainDutyDept = true" @click="showMainDutyDept = true"
:rules="[{ required: true, message: '主责部门不能为空' }]"
/> />
<van-popup v-model="showMainDutyDept" position="bottom"> <van-popup v-model="showMainDutyDept" position="bottom">
<van-picker <van-picker
show-toolbar show-toolbar
value-key="deptName"
:columns="columnsMainDutyDept" :columns="columnsMainDutyDept"
@confirm="onConMainDutyDept" @confirm="onConMainDutyDept"
@cancel="showMainDutyDept = false" @cancel="showMainDutyDept = false"
...@@ -191,16 +196,16 @@ ...@@ -191,16 +196,16 @@
<van-field <van-field
readonly readonly
clickable clickable
name="主责人员" name="mainDutyPeopLe"
:value="mainDutyPeopLe" :value="mainDutyPeopLe"
label="主责人员" label="主责人员"
placeholder="请选择" placeholder="请选择"
@click="showMainDutyPeopLe = true" @click="showMainDutyPeopLe = true"
:rules="[{ required: true, message: '主责人员不能为空' }]"
/> />
<van-popup v-model="showMainDutyPeopLe" position="bottom"> <van-popup v-model="showMainDutyPeopLe" position="bottom">
<van-picker <van-picker
show-toolbar show-toolbar
value-key="userName"
:columns="columnsMainDutyPeopLe" :columns="columnsMainDutyPeopLe"
@confirm="onConMainDutyPeopLe" @confirm="onConMainDutyPeopLe"
@cancel="showMainDutyPeopLe = false" @cancel="showMainDutyPeopLe = false"
...@@ -209,7 +214,7 @@ ...@@ -209,7 +214,7 @@
<van-field <van-field
v-model="technology" v-model="technology"
name="技术措施" name="technology"
label="技术措施" label="技术措施"
type="textarea" type="textarea"
rows="1" rows="1"
...@@ -227,7 +232,7 @@ ...@@ -227,7 +232,7 @@
<van-field <van-field
v-model="administration" v-model="administration"
name="管理措施" name="administration"
label="管理措施" label="管理措施"
type="textarea" type="textarea"
rows="1" rows="1"
...@@ -245,7 +250,7 @@ ...@@ -245,7 +250,7 @@
<van-field <van-field
v-model="urgent" v-model="urgent"
name="应急措施" name="urgent"
label="应急措施" label="应急措施"
type="textarea" type="textarea"
rows="1" rows="1"
...@@ -277,26 +282,28 @@ ...@@ -277,26 +282,28 @@
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { timestampToTime } from "@/utils/format"; import { getFormList, postHdSource, postHdType, postHdPeople, postReAdd, postriskConiCause } from "@/service/risk";
export default { export default {
components: { components: {
LHeader LHeader
}, },
data() { data() {
return { return {
taskId:"",
text: "新增风险", text: "新增风险",
projectId: "", // 所属工程
projectName: "", // 所属工程 projectName: "", // 所属工程
showProjectName: false, showProjectName: false,
columnsProjectName: ["工程1", "工程2", "工程3", "工程4"], columnsProjectName: [],
factor: "", //风险因素 factor: "", //风险因素
showFactor: false, showFactor: false,
columnsFactor: ["风险因素1", "风险因素2", "风险因素3", "风险因素4"], columnsFactor: [],
source: "", //风险源 source: "", //风险源
showSource: false, showSource: false,
columnsSource: ["风险源1", "风险源2", "风险源3", "风险源4"], columnsSource: [],
trouble: "", //事故类型 trouble: "", //事故类型
showTrouble: false, showTrouble: false,
columnsTrouble: ["风险源1", "风险源2", "风险源3", "风险源4"], columnsTrouble: [],
setRank: "", //风险定级 setRank: "", //风险定级
showSetRank: false, showSetRank: false,
columnsSetRank: ["一般风险", "较小风险", "较大风险", "重大风险"], columnsSetRank: ["一般风险", "较小风险", "较大风险", "重大风险"],
...@@ -308,57 +315,185 @@ export default { ...@@ -308,57 +315,185 @@ export default {
showControl: false, showControl: false,
columnsControl: ["项目级", "企业级"], columnsControl: ["项目级", "企业级"],
mainDutyDept: "", // 主责部门 mainDutyDept: "", // 主责部门
mainDutyDeptId: "",
showMainDutyDept: false, showMainDutyDept: false,
columnsMainDutyDept: ["首华建设项目部"], columnsMainDutyDept: [],
mainDutyPeopLe: "", // 主责人员 mainDutyPeopLe: "", // 主责人员
mainDutyPeopLeId :"",
showMainDutyPeopLe: false, showMainDutyPeopLe: false,
columnsMainDutyPeopLe: ["张三", "李四", "王五"], columnsMainDutyPeopLe: [],
technology:"", //技术措施文字 technology:"", //技术措施文字
technologyImg:[],//技术措施图片 technologyImg:[],//技术措施图片
administration:"", //管理措施文字 administration:"", //管理措施文字
administrationImg:[],//管理措施图片 administrationImg:[],//管理措施图片
urgent:"", //应急措施文字 urgent:"", //应急措施文字
urgentImg:[],//应急措施图片 urgentImg:[],//应急措施图片
returnCause: "你这不行啊", // 退回原因 returnCause: "", // 退回原因
isShowreturnCause: false isShowreturnCause: false
}; };
}, },
created() { created() {
console.log(this.$route.params);
if (this.$route.params.status) { if (this.$route.params.status) {
this.isShowreturnCause = true; this.isShowreturnCause = true;
this.text = "风险上报退回" this.text = "风险上报退回"
this.taskId = this.$route.params.taskId
this.postReturnEcho()
} }
this.getList();
}, },
methods: { methods: {
onSubmit(values) { onSubmit(values) {
console.log("submit", values); console.log("submit", values);
let formdata = new FormData()
formdata.append("pId", this.projectId)
formdata.append("riskFactor", this.factor)
formdata.append("riskSource", this.source)
formdata.append("accidentType", this.trouble)
formdata.append("level", this.setRank)
formdata.append("riskLevel", this.riskRank)
formdata.append("gradingMethod", this.setRankMode)
formdata.append("riskPosition", this.location)
formdata.append("controlLevel", this.control)
formdata.append("responsibilityDept", this.mainDutyDeptId)
formdata.append("responsibilityMember", this.mainDutyPeopLeId)
formdata.append("technicalMeasures", this.technology)
formdata.append("managementMeasures", this.administration)
formdata.append("emergencyMeasure", this.urgent)
this.$toast.loading({
message: "提交中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
postReAdd("/riskMain/add", formdata)
.then(res => {
this.$toast.clear();
this.$toast.success({
message: "提交成功",
duration: 2000
});
history.go(-1);
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("提交失败,请稍后再试");
});
}, },
// 请求表单数据
getList() {
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
getFormList("/riskMain/add")
.then(res => {
this.$toast.clear();
this.columnsProjectName = res.data.projectInformations;
this.columnsFactor = res.data.riskInventories;
this.columnsMainDutyDept = res.data.organizationList
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
// 请求已退回详情数据
postReturnEcho(){
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
postriskConiCause(`/riskMain/edit/${this.taskId}`)
.then(res => {
this.$toast.clear();
// let msg = res.data.hdReport
// // 对数据进行赋值
this.returnCause = res.data.reason;
// this.projectId = msg.proId;
// // 对所属工程数组筛选出 相同id 的工程名
// let name = this.columnsProjectName.filter(item =>{
// return item.id == msg.proId
// })
// this.projectName = name[0].projectName
// this.range = msg.hdRange
// this.type = msg.hdType
// this.dangerName = msg.hdProjectName
// this.dangerNum = msg.hdProjectId
// this.dangerLevel = msg.hdLev
// this.findTime = msg.hdDiscoveryTime
// this.source = msg.dangerId
// this.source1 = msg.dangerSource
// this.location = msg.hdPosition
// this.describe = msg.hdDescribe
// this.hdPicture1 = msg.hdPicture1
// this.hdVideo1 = msg.hdVideo1
// this.expireTime = msg.hdExpirationTime
// this.recPeople = msg.rectificationUser
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
// 所属工程名称 // 所属工程名称
onConProjectName(value) { onConProjectName(value) {
this.projectName = value; this.projectId = value.id;
this.projectName = value.projectName;
this.showProjectName = false; this.showProjectName = false;
}, },
// 风险因素 // 风险因素
onConFactor(value) { onConFactor(value) {
this.factor = value; this.factor = value.factorType;
this.showFactor = false; this.showFactor = false;
this.source = "";
this.trouble = "";
// 请求风险源
postHdSource(`/riskMain/showSourceName/${this.factor}`).then(res =>{
this.columnsSource = res.data
})
}, },
// 风险源 // 风险源
onConSource(value) { onConSource(value) {
this.source = value; this.source = value.sourceName;
this.showSource = false; this.showSource = false;
this.trouble = "";
// 请求事故类型
postHdType(`/riskMain/showaccidentType/${this.factor}/${this.source}`).then(res =>{
this.columnsTrouble = res.data
})
}, },
// 事故类型 // 事故类型
onConTrouble(value) { onConTrouble(value) {
this.trouble = value; this.trouble = value.accidentType;
this.showTrouble = false; this.showTrouble = false;
}, },
// 风险定级 // 风险定级
onConSetRank(value) { onConSetRank(value) {
this.setRank = value; this.setRank = value;
this.riskRank = value; this.riskRank = value;
if(value == "重大风险" || value == "较大风险"){
this.control = "企业级"
}else{
this.control = "项目级"
}
this.showSetRank = false; this.showSetRank = false;
}, },
// 管控层级 // 管控层级
...@@ -368,12 +503,24 @@ export default { ...@@ -368,12 +503,24 @@ export default {
}, },
// 主责部门 // 主责部门
onConMainDutyDept(value) { onConMainDutyDept(value) {
this.mainDutyDept = value; this.mainDutyDeptId = value.deptId
this.mainDutyDept = value.deptName;
this.showMainDutyDept = false; this.showMainDutyDept = false;
this.mainDutyPeopLe = ""
// 请求主责人员
// 请求事故类型
let formdata = new FormData()
formdata.append("organizationId",this.mainDutyDeptId)
postHdPeople(`/riskMain/getUserList`,formdata).then(res =>{
this.columnsMainDutyPeopLe = res.data
})
}, },
// 主责人员 // 主责人员
onConMainDutyPeopLe(value) { onConMainDutyPeopLe(value) {
this.mainDutyPeopLe = value; this.mainDutyPeopLeId = value.userId
this.mainDutyPeopLe = value.userName;
this.showMainDutyPeopLe = false; this.showMainDutyPeopLe = false;
}, },
......
...@@ -3,54 +3,166 @@ ...@@ -3,54 +3,166 @@
<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 <!-- 内容列表 -->
v-model="active" <div class="con-list">
color="#247df7" <van-cell-group
title-inactive-colo="#d0d1d1" inset
title-active-color="#000000" v-for="(item, index) in messageList"
> :key="index"
<van-tab title="待确认"> @touchstart="touchstart(index, item)"
<wait-confirme></wait-confirme> @touchend.prevent="touchend(index)"
</van-tab> >
<van-tab title="已确认"> <van-row gutter="">
已确认 <van-col span="5">所属项目:</van-col>
<!-- <committed></committed> --> <van-col span="19">{{ item.proId }}</van-col>
</van-tab> </van-row>
<van-tab title="已退回"> <van-row gutter="">
已退回 <van-col span="5">风险等级:</van-col>
<!-- <returned></returned> --> <van-col span="19">{{ item.riskLevel }}</van-col>
</van-tab> </van-row>
</van-tabs> <van-row gutter="">
<van-col span="5">风险源:</van-col>
<van-col span="19">{{ item.riskSource }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">事故类型:</van-col>
<van-col span="19">{{ item.accidentType }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">管控层级:</van-col>
<van-col span="19">{{ item.controllevel }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">主责部门:</van-col>
<van-col span="19">{{ item.responsibilityDept }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">主责人员:</van-col>
<van-col span="19">{{ item.responsibilityMember }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">工单状态:</van-col>
<van-col span="19">{{ item.taskName }}</van-col>
</van-row>
<!-- 长按显示遮罩层 -->
<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>
</div>
</div> </div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import WaitConfirme from "./waitConfirme"; import { postriskConList } from "@/service/risk";
// import Returned from "./returned";
// import Committed from './committed';
export default { export default {
components: { components: {
LHeader: LHeader, LHeader: LHeader,
WaitConfirme
// Returned,
// Committed
}, },
data() { data() {
return { return {
text: "风险确认", text: "风险确认",
active: "1", active: "1",
searchValue: "" searchValue: "",
messageList:[],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
}; };
}, },
mounted() {}, created() {
this.postList()
},
methods: { methods: {
postList(){
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
postriskConList("/riskConfirm/list")
.then(res => {
this.$toast.clear();
this.messageList = res.rows
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
onSearch(val) { onSearch(val) {
console.log(val); console.log(val);
},
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("/affirm-detail");
this.showIndex = null;
},
// 确认
goConfirm(data) {
console.log(data);
this.$router.push({
name:"risk-affirm",
params:{
"taskId":data.taskId
}
});
this.showIndex = null;
} }
} }
}; };
</script> </script>
<style scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @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: 0.133333rem;
line-height: 0.64rem;
}
.van-overlay {
position: absolute;
.wrapper {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
}
}
}
</style> </style>
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
@change="selectResult" @change="selectResult"
> >
<van-radio name="1">同意</van-radio> <van-radio name="1">同意</van-radio>
<van-radio name="2">退回</van-radio> <van-radio name="0">退回</van-radio>
</van-radio-group> </van-radio-group>
</template> </template>
</van-field> </van-field>
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<van-field <van-field
v-model="agreeIdea" v-model="agreeIdea"
label="意见" label="意见"
name ="意见" name ="confirmOpinion"
rows="3" rows="3"
type="textarea" type="textarea"
placeholder="请输入" placeholder="请输入"
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
<van-field <van-field
v-model="disagreeIdea" v-model="disagreeIdea"
label="退回原因" label="退回原因"
name ="退回原因" name ="confirmOpinion"
rows="3" rows="3"
type="textarea" type="textarea"
placeholder="请输入" placeholder="请输入"
...@@ -62,13 +62,14 @@ ...@@ -62,13 +62,14 @@
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { timestampToTime } from '@/utils/format' import { postriskConAdd } from "@/service/risk";
export default { export default {
components: { components: {
LHeader LHeader
}, },
data() { data() {
return { return {
taskId: "",
radio: "1", radio: "1",
text: "风险确认", text: "风险确认",
agreeIdea:"", // 同意意见 agreeIdea:"", // 同意意见
...@@ -76,7 +77,9 @@ export default { ...@@ -76,7 +77,9 @@ export default {
}; };
}, },
mounted() {}, created() {
this.taskId = this.$route.params.taskId;
},
methods: { methods: {
selectResult(val) { selectResult(val) {
this.radio = val; this.radio = val;
...@@ -84,6 +87,31 @@ export default { ...@@ -84,6 +87,31 @@ export default {
onSubmit(values) { onSubmit(values) {
console.log("submit", values); console.log("submit", values);
if (!this.taskId) {
return;
}
let formdata = new FormData()
formdata.append("confirmResult", values.radio)
formdata.append("confirmOpinion", values.confirmOpinion)
this.$toast.loading({
message: "提交中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
postriskConAdd(`/riskConfirm/add/${this.taskId}`,formdata)
.then(res => {
this.$toast.clear();
this.$toast.success({
message: "提交成功",
duration: 2000
});
history.go(-1);
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("提交失败,请稍后再试");
});
}, },
cancel() { cancel() {
this.$router.go(-1); this.$router.go(-1);
......
...@@ -2,33 +2,185 @@ ...@@ -2,33 +2,185 @@
<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" />
<risk-returned></risk-returned> <!-- 内容列表 -->
<div class="con-list">
<van-cell-group
inset
v-for="(item, index) in messageList"
:key="index"
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
<van-row gutter="">
<van-col span="5">所属项目:</van-col>
<van-col span="19">{{ item.proId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">风险等级:</van-col>
<van-col span="19">{{ item.riskLevel }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">风险源:</van-col>
<van-col span="19">{{ item.riskSource }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">事故类型:</van-col>
<van-col span="19">{{ item.accidentType }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">管控层级:</van-col>
<van-col span="19">{{ item.controllevel }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">主责部门:</van-col>
<van-col span="19">{{ item.responsibilityDept }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">主责人员:</van-col>
<van-col span="19">{{ item.responsibilityMember }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">工单状态:</van-col>
<van-col span="19">{{ item.taskName }}</van-col>
</van-row>
<!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop>
<van-button round type="primary" @touchstart="goDetail(item)"
>上报</van-button
>
<van-button round type="warning" @touchstart="goDelete(item)"
>删除</van-button
>
</div>
</van-overlay>
</van-cell-group>
</div>
</div> </div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import RiskReturned from "./riskReturned"; import { postriskConReturn, postriskConReDel } from "@/service/risk";
export default { export default {
components: { components: {
LHeader: LHeader, LHeader: LHeader,
RiskReturned,
}, },
data() { data() {
return { return {
text: "上报退回", text: "上报退回",
searchValue: "" searchValue: "",
messageList: [],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
}; };
}, },
mounted() {}, created() {
this.postList();
},
methods: { methods: {
postList() {
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
postriskConReturn("/riskMain/list")
.then(res => {
this.$toast.clear();
this.messageList = res.rows;
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
onSearch(val) { onSearch(val) {
console.log(val); console.log(val);
}, },
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({
name: 'risk-add',
params: {
status: "退回",
taskId: data.taskId
}
});
this.showIndex = null;
},
// 删除
goDelete(data) {
console.log(data);
this.$toast.loading({
message: "删除中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
postriskConReDel(`/riskMain/delete/${data.taskId}`)
.then(res => {
this.$toast.clear();
this.$toast.success({
message: "删除成功",
duration: 2000
});
this.postList();
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("删除失败,请稍后再试");
});
this.showIndex = null;
}
} }
}; };
</script> </script>
<style scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @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> </style>
...@@ -175,7 +175,31 @@ export default { ...@@ -175,7 +175,31 @@ export default {
path: "/stand-book", path: "/stand-book",
imgUrl: require("@/assets/workbench/danger-account.png"), imgUrl: require("@/assets/workbench/danger-account.png"),
text: "隐患台账" text: "隐患台账"
} },
{
key: "7",
path: "/major-danger",
imgUrl: require("@/assets/workbench/retification-acceptance.png"),
text: "重大隐患"
},
{
key: "8",
path: "/major-danger",
imgUrl: require("@/assets/workbench/inspect-plane.png"),
text: "延期审批"
},
{
key: "9",
path: "/supervise-danger",
imgUrl: require("@/assets/workbench/retification-acceptance.png"),
text: "隐患督办"
},
{
key: "10",
path: "/manager-danger",
imgUrl: require("@/assets/workbench/inspect-plane.png"),
text: "经理督办"
},
], ],
safetyCheckList: [ safetyCheckList: [
// 安全监督检查 // 安全监督检查
......
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