一般隐患管理修改, 较大/重大隐患管理修改

dev-3.0
Shan Ao 2025-07-14 18:00:24 +08:00
parent ab745d190f
commit 78cc3a5efb
12 changed files with 465 additions and 466 deletions

View File

@ -64,12 +64,12 @@ export const getRiskUnitCustomizedList = (params) => post("/risk/point/app/page"
export const getRiskPostInfo = (params) => post(`/risk/point/${params.id}`, params) //获取公司风险点列表
export const getGeneralCountByCorpInfo = (params) => post("/hidden/statistics/general/page", params) //获取一般隐患公司列表
export const getGeneralHiddenList = (params) => post("/hidden/query/page", params) //获取一般隐患列表
export const getSpecialCountByCorpInfo = (params) => post("/app/hidden/speciallist", params) //获取特殊隐患列表
export const getSpecialHiddenList = (params) => post("/app/hidden/specialByCorpInfoId", params) //获取特殊隐患列表
export const getSpecialCountByCorpInfo = (params) => post("/hidden/statistics/special/handling/page", params) //获取特殊隐患列表
export const getSpecialHiddenList = (params) => post("/hidden/query/exa/page/app", params) //获取特殊隐患列表
export const getRiskFourColorMapList = (params) => post("/app/riskwarning/list", params) //获取风险四色图列表
export const getMajorCountByCorpInfo = (params) => post("/app/corpinfo/corpinfoList", params) //获取重大/较大隐患公司列表
export const getMajorHiddenList = (params) => post("/app/hidden/majorhiddenList", params) //获取重大/较大隐患列表
export const getMoreHiddenList = (params) => post("/app/hidden/morehiddenList", params) //较大隐患列表
export const getMajorCountByCorpInfo = (params) => post("/hidden/statistics/major/page", params) //获取重大隐患公司列表
export const getLargerCountByCorpInfo = (params) => post("/hidden/statistics/larger/page", params) //获取较大隐患公司列表
export const getMajorHiddenList = (params) => post("/hidden/query/major/info/page", params) //获取重大/较大隐患列表//较大隐患列表
export const getVersion = (params) => post("/versionmanager/reg/getVersion", params) //版本更新
export const setFeedbackUpload = (params) => upload("/app/feedback/upload", params) //反馈问题附件
export const setFeedbackAdd = (params) => post("/app/feedback/add", params) //反馈问题提交

View File

@ -123,8 +123,8 @@ export default {
data() {
return {
hiddendescr: '',
pageSize: 10,
currentPage: 1,
limit: 10,
curPage: 1,
totalPage: 0,
list: [{}],
companyId: '',
@ -172,7 +172,7 @@ export default {
},
async getData() {
this.popupShow = false
let { varList, page } = await getGeneralHiddenList({
let { page } = await getGeneralHiddenList({
companyId: this.companyId,
dates: this.startData != null && this.startData !== '' && this.endData != null && this.endData !== '' ? [this.startData, this.endData] : null,
creatorName: this.creatorName,
@ -180,16 +180,16 @@ export default {
state: this.state,
hiddenlevel: this.hiddenlevel,
hiddendescr: this.hiddendescr,
showCount: this.pageSize,
currentPage: this.currentPage,
limit: this.limit,
curPage: this.curPage,
hiddenVueType: "regulatory"
});
this.list = [ ...this.list, ...varList ];
this.list = [ ...this.list, ...page.list ];
this.totalPage = page.totalPage;
},
resetList() {
this.pageSize = 10
this.currentPage = 1
this.limit = 10
this.curPage = 1
this.list = []
this.getData()
},
@ -202,8 +202,8 @@ export default {
})
},
scrolltolower() {
this.currentPage++;
if (this.totalPage >= this.currentPage) this.getData();
this.curPage++;
if (this.totalPage >= this.curPage) this.getData();
},
startDataConfirm(e) {
this.startData = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM')

View File

@ -304,11 +304,11 @@
<u-cell>
<view slot="title" class="title">整改方案</view>
<view slot="value">
<template v-if="form.havescheme == 0"></template>
<template v-else-if="form.havescheme == 1"></template>
<template v-if="form.havescheme === 0"></template>
<template v-else-if="form.havescheme === 1"></template>
</view>
</u-cell>
<template v-if="hs && form.havescheme==1">
<template v-if="hs && form.havescheme === 1">
<u-cell>
<view slot="title" class="title">排查日期</view>
<view slot="value">{{ hs.screeningdate }}</view>

View File

@ -6,7 +6,7 @@
prefixIcon="search"
placeholder="请输入关键字"
border="surround"
v-model="keyword"
v-model="hiddendescr"
clearable
shape="circle"
></u--input>
@ -20,7 +20,7 @@
<view class="pl-10 pr-10">
<u--form labelPosition="left">
<u-form-item label="隐患发现开始时间" borderBottom>
<u--text :text="START_DATA || '请选择'"
<u--text :text="start || '请选择'"
@click="startDataShow = true"></u--text>
<u-datetime-picker :show="startDataShow"
mode="datetime"
@ -29,7 +29,7 @@
@confirm="startDataConfirm"></u-datetime-picker>
</u-form-item>
<u-form-item label="隐患发现结束时间" borderBottom>
<u--text :text="END_DATA || '请选择'"
<u--text :text="end || '请选择'"
@click="endDataShow = true"></u--text>
<u-datetime-picker :show="endDataShow"
mode="datetime"
@ -42,7 +42,7 @@
inputAlign="right"
placeholder="请输入发现人"
border="none"
v-model="FIND_PEOPLE"
v-model="creatorName"
clearable
></u--input>
</u-form-item>
@ -51,18 +51,18 @@
inputAlign="right"
placeholder="请输入确认人"
border="none"
v-model="CONFIRMOR"
v-model="keyConfirmUser"
clearable
></u--input>
</u-form-item>
<u-form-item label="隐患状态" borderBottom>
<u--text :text="HIDDEN_STATUS_NAME || '请选择'" @click="hiddenStatusShow = true"></u--text>
<u--text :text="stateName || '请选择'" @click="hiddenStatusShow = true"></u--text>
<u-picker :show="hiddenStatusShow" :columns="hiddenStatusList" keyName="NAME"
@cancel="hiddenStatusShow = false"
@confirm="pickerConfirm($event,'hiddenStatus')"></u-picker>
</u-form-item>
<u-form-item label="隐患级别" borderBottom>
<u--text :text="HIDDEN_LEVEL_NAME || '请选择'" @click="showTree"></u--text>
<u--text :text="hiddenlevelName || '请选择'" @click="showTree"></u--text>
<tki-tree ref="tkitree" :range="hiddenLevelList" rangeKey="name" selectParent children-name="nodes"
@confirm="confirmTree"/>
</u-form-item>
@ -82,30 +82,23 @@
<u-list-item v-for="(item, index) in list" :key="index">
<view>
<view class="flex-between main-title">
<text>{{ item.HIDDENDESCR }}</text>
<u-tag :text="item.NAME" type="warning"></u-tag>
<text>{{ item.hiddendescr }}</text>
<u-tag :text="item.hiddenlevelName" type="warning"></u-tag>
</view>
<view class="flex-between mt-10 subtitle">
<text>
来源
<template v-if="item.SOURCE == 1"></template>
<template v-if="item.SOURCE == 2 || item.SOURCE == 3"></template>
<template v-if="item.SOURCE == 4">()</template>
<template v-if="item.SOURCE == 5">()</template>
<template v-if="item.SOURCE == 6"></template>
</text>
<text>来源{{ item.source }}</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>隐患发现人{{ item.findUserNames }}</text>
<text>隐患发现时间{{ item.DISCOVERYTIME }}</text>
<text>隐患发现人{{ item.hiddenDiscoverer }}</text>
<text>隐患发现时间{{ item.discoverytime }}</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>隐患确认人{{ item.CONFIRM_USER }}</text>
<text>隐患确认人{{ item.confirmUserName }}</text>
</view>
<view class="see_btn">
<u-button type="primary" text="查看" size="mini"
@click="fnNavigatorDetail(item.HIDDEN_ID)"></u-button>
@click="fnNavigatorDetail(item.hiddenId)"></u-button>
</view>
</view>
</u-list-item>
@ -116,83 +109,71 @@
</template>
<script>
import {getDept, getSpecialHiddenList, getHiddenLevel} from "../../../api";
import {getDept, getSpecialHiddenList} from "@/api";
import FabButton from "@/components/fab_button/index.vue";
export default {
components: {FabButton},
data() {
return {
keyword: '',
hiddendescr: '',
pageSize: 10,
currentPage: 1,
totalPage: 0,
list: [{}],
CORPINFO_ID: '',
companyId: '',
popupShow: false,
startDataShow: false,
endDataShow: false,
deptRange: [],
START_DATA: '',
END_DATA: '',
FIND_PEOPLE: '',
CONFIRMOR: '',
HIDDEN_LEVEL_NAME: '',
HIDDEN_LEVEL_ID: '',
start: '',
end: '',
creatorName: '',
keyConfirmUser: '',
hiddenlevelName: '',
hiddenlevel: '',
hiddenLevelList: [
{id: 'hiddenLevel1004', name: '轻微隐患'},
{id: 'hiddenLevel1002', name: '一般隐患'},
],
HIDDEN_STATUS_NAME: '',
HIDDEN_STATUS_ID: '',
stateName: '',
state: '',
hiddenStatusShow: false,
hiddenStatusList: [
[
// {NAME: '', ID: 1},
// {NAME: '', ID: 2},
{NAME: '待处置审核', ID: 3},
{NAME: '已处置', ID: 4},
// {NAME: '', ID: 5},
// {NAME: '', ID: 6},
// {NAME: '', ID: 7},
// {NAME: '', ID: 8},
// {NAME: '', ID: 9}
]
],
}
},
onLoad(event) {
this.CORPINFO_ID = event.CORPINFO_ID;
this.companyId = event.companyId;
this.resetList()
this.fnGetDept()
// this.fnGetHiddenLevel()
},
methods: {
async fnGetDept() {
let resData = await getDept({'DEPARTMENT_ID': '0'});
this.deptRange = JSON.parse(resData.zTreeNodes)
},
async fnGetHiddenLevel() {
let resData = await getHiddenLevel();
this.hiddenLevelList = JSON.parse(resData.zTreeNodes)
},
async getData() {
this.popupShow = false
let resData = await getSpecialHiddenList({
CORPINFO_ID: this.CORPINFO_ID,
SPECIALSTATE: '0',
startTime: this.START_DATA,
endTime: this.END_DATA,
HIDDENFIND_NAME: this.FIND_PEOPLE,
CONFIRM_USER: this.CONFIRMOR,
HIDDEN_STATUS: this.HIDDEN_STATUS_ID,
HIDDENLEVEL: this.HIDDEN_LEVEL_ID,
KEYWORDS: this.keyword,
let { varList, page } = await getSpecialHiddenList({
companyId: this.companyId,
specialState: '0',
startTime: this.start,
endTime: this.end,
creatorName: this.creatorName,
keyConfirmUser: this.keyConfirmUser,
state: this.state,
hiddenlevel: this.hiddenlevel,
hiddendescr: this.hiddendescr,
showCount: this.pageSize,
currentPage: this.currentPage,
});
this.list = [...this.list, ...resData.varList];
this.totalPage = resData.page.totalPage;
this.list = [...this.list, ...varList];
this.totalPage = page.totalPage;
},
resetList() {
this.pageSize = 10
@ -200,11 +181,11 @@ export default {
this.list = []
this.getData()
},
fnNavigatorDetail(HIDDEN_ID) {
fnNavigatorDetail(hiddenId) {
uni.$u.route({
url: '/pages/general-hidden-management/special-hidden/detail',
params: {
HIDDEN_ID,
hiddenId,
}
})
},
@ -213,17 +194,17 @@ export default {
if (this.totalPage >= this.currentPage) this.getData();
},
startDataConfirm(e) {
this.START_DATA = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM')
this.start = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM')
this.startDataShow = false
},
endDataConfirm(e) {
this.END_DATA = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM')
this.end = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM')
this.endDataShow = false
},
pickerConfirm(e, type) {
if (type === 'hiddenStatus') {
this.HIDDEN_STATUS_ID = e.value[0].ID
this.HIDDEN_STATUS_NAME = e.value[0].NAME
this.state = e.value[0].ID
this.stateName = e.value[0].NAME
this.hiddenStatusShow = false;
}
},
@ -231,20 +212,20 @@ export default {
this.$refs.tkitree._show()
},
confirmTree(e) {
this.HIDDEN_LEVEL_ID = e[0].id
this.HIDDEN_LEVEL_NAME = e[0].name
this.hiddenlevel = e[0].id
this.hiddenlevelName = e[0].name
},
reset() {
this.popupShow = false
this.keyword = ''
this.START_DATA = ''
this.END_DATA = ''
this.FIND_PEOPLE = ''
this.CONFIRMOR = ''
this.HIDDEN_STATUS_ID = ''
this.HIDDEN_STATUS_NAME = ''
this.HIDDEN_LEVEL_ID = ''
this.HIDDEN_LEVEL_NAME = ''
this.hiddendescr = ''
this.start = ''
this.end = ''
this.creatorName = ''
this.keyConfirmUser = ''
this.state = ''
this.stateName = ''
this.hiddenlevel = ''
this.hiddenlevelName = ''
this.resetList()
}
}

View File

@ -8,89 +8,89 @@
<u-cell>
<view slot="title" class="title">隐患来源</view>
<view slot="value">
<template v-if="form.SOURCE=='1'">
<template v-if="form.source === '1'">
隐患快报
</template>
<template v-else-if="form.SOURCE=='2'">
<template v-else-if="form.source === '2'">
清单排查
</template>
<template v-else-if="form.SOURCE=='3'">
<template v-else-if="form.source === '3'">
清单排查
</template>
<template v-else-if="form.SOURCE=='4'">
<template v-else-if="form.source === '4'">
安全环保检查(监管端)
</template>
<template v-else-if="form.SOURCE=='5'">
<template v-else-if="form.source === '5'">
安全环保检查(企业端)
</template>
<template v-else-if="form.SOURCE=='6'">
<template v-else-if="form.source === '6'">
消防检查
</template>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患描述</view>
<view slot="label" class="mt-10">{{ form.HIDDENDESCR }}</view>
<view slot="label" class="mt-10">{{ form.hiddendescr }}</view>
</u-cell>
<template v-if="form.SOURCE=='2'">
<template v-if="form.source === '2'">
<u-cell>
<view slot="title" class="title">风险点单元</view>
<view slot="value">{{ form.RISK_UNIT }}</view>
<view slot="value">{{ form.riskUnit }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">辨识部位</view>
<view slot="value">{{ form.IDENTIFICATION }}</view>
<view slot="value">{{ form.identification }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">存在风险</view>
<view slot="value">{{ form.RISK_DESCR }}</view>
<view slot="value">{{ form.riskDescr }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">风险分级</view>
<view slot="value">{{ form.LEVEL }}</view>
<view slot="value">{{ form.level }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">检查内容</view>
<view slot="value">{{ form.CHECK_CONTENT }}</view>
<view slot="value">{{ form.checkContent }}</view>
</u-cell>
</template>
<u-cell>
<view slot="title" class="title">隐患级别</view>
<view slot="value">{{ form.editLevelName ? form.editLevelName : '' }}</view>
<view slot="value">{{ form.hiddenlevelName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患状态</view>
<view slot="value">
<template v-if="form.STATE=='1'"></template>
<template v-else-if="form.STATE=='2'">已整改</template>
<template v-else-if="form.STATE=='3'">已整改</template>
<template v-else-if="form.STATE=='4'">已验收</template>
<template v-else-if="form.STATE=='5'">忽略隐患</template>
<template v-else-if="form.STATE=='6'">重大隐患</template>
<template v-else-if="form.STATE=='7'">待处理的特殊隐患</template>
<template v-else-if="form.STATE=='8'">已处理的特殊隐患</template>
<template v-else-if="form.STATE=='-1'">已超期</template>
<template v-else-if="form.STATE=='-2'">待确认</template>
<template v-if="form.state ==='1'"></template>
<template v-else-if="form.state === '2'">已整改</template>
<template v-else-if="form.state === '3'">已整改</template>
<template v-else-if="form.state === '4'">已验收</template>
<template v-else-if="form.state === '5'">忽略隐患</template>
<template v-else-if="form.state === '6'">重大隐患</template>
<template v-else-if="form.state === '7'">待处理的特殊隐患</template>
<template v-else-if="form.state === '8'">已处理的特殊隐患</template>
<template v-else-if="form.state === '-1'">已超期</template>
<template v-else-if="form.state === '-2'">待确认</template>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患类型</view>
<view slot="value">{{ form.HIDDENTYPENAME }}</view>
<view slot="value">{{ form.hiddenTypeName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患部位</view>
<view slot="value">{{ form.hregionName ? form.hregionName : form.HIDDENPART }}</view>
<view slot="value">{{ form.hiddenpartStr ? form.hiddenpartStr : form.hiddenpart }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患上报位置</view>
<view slot="label" class="mt-10">
<view>经度:{{ form.LONGITUDE }}</view>
<view>纬度:{{ form.LATITUDE }}</view>
<view>经度:{{ form.longitude }}</view>
<view>纬度:{{ form.latitude }}</view>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患位置描述</view>
<view slot="label" class="mt-10">{{ form.POSITIONDESC }}</view>
<view slot="label" class="mt-10">{{ form.positiondesc }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患照片</view>
@ -116,32 +116,32 @@
</u-modal>
<u-cell v-for="(item,index) in hiddenFindPeople" :key="index">
<view slot="title" class="title">隐患发现人</view>
<view slot="value">{{ item.NAME }}</view>
<view slot="value">{{ item.userName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患发现时间</view>
<view slot="value">{{ form.DISCOVERYTIME }}</view>
<view slot="value">{{ form.discoverytime }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">整改类型</view>
<view slot="value">
<template v-if="form.RECTIFICATIONTYPE=='1'"></template>
<template v-else-if="form.RECTIFICATIONTYPE=='2'">限期整改</template>
<template v-if="form.rectificationtype === '1'"></template>
<template v-else-if="form.rectificationtype === '2'">限期整改</template>
</view>
</u-cell>
<u-cell v-if="form.RECTIFICATIONTYPE=='1'">
<u-cell v-if="form.rectificationtype === '1'">
<view slot="title" class="title">整改描述</view>
<view slot="value">{{ form.RECTIFYDESCR }}</view>
<view slot="value">{{ form.rectifydescr }}</view>
</u-cell>
<u-cell v-if="form.SOURCE != '4'">
<view slot="title" class="title">整改负责部门</view>
<view slot="value">{{ form.editDeptName || form.RECTIFICATIONDEPTNAME }}</view>
<view slot="value">{{ form.editDeptName || form.rectificationDeptName }}</view>
</u-cell>
<u-cell v-if="form.SOURCE != '4'">
<view slot="title" class="title">整改负责人</view>
<view slot="value">{{ form.editUserName || form.RECTIFICATIONORNAME }}</view>
<view slot="value">{{ form.editUserName || form.rectificationName }}</view>
</u-cell>
<u-cell v-if="form.RECTIFICATIONTYPE=='1'">
<u-cell v-if="form.rectificationtype === '1'">
<view slot="title" class="title">整改后图片</view>
<view slot="label" class="mt-10">
<view style="display: flex;flex-wrap: wrap">
@ -154,29 +154,29 @@
</u-cell>
<u-cell>
<view slot="title" class="title">整改完成期限</view>
<view slot="value">{{ form.editRectificationDeadline }}</view>
<view slot="value">{{ form.rectificationdeadline }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">是否相关方</view>
<view slot="value">{{ form.ISRELEVANT == '1' ? '是' : '否' }}</view>
<view slot="value">{{ form.isrelevant === '1' ? '是' : '否' }}</view>
</u-cell>
</u-cell-group>
</view>
<view class="card" v-for="(item,index) in hiddenExamineList" :key="index">
<view class="view-title">
<u--text text="确认信息" bold v-if="item.TYPE === 4"></u--text>
<u--text text="延期信息" bold v-else-if="item.TYPE === 2"></u--text>
<u--text text="特殊处理审核信息" bold v-else-if="item.TYPE === 1"></u--text>
<u--text text="确认信息" bold v-if="item.type === 4"></u--text>
<u--text text="延期信息" bold v-else-if="item.type === 2"></u--text>
<u--text text="特殊处理审核信息" bold v-else-if="item.type === 1"></u--text>
</view>
<view class="mt-10">
<u-cell-group :border="false" v-if="item.TYPE === 4">
<u-cell-group :border="false" v-if="item.type === 4">
<u-cell>
<view slot="title" class="title">隐患级别</view>
<view slot="value">{{ item.editLevelName }}</view>
<view slot="value">{{ item.hiddenlevelName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">整改负责人</view>
<view slot="value">{{ item.editUserName }}</view>
<view slot="value">{{ item.spare2Name }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">整改完成期限</view>
@ -184,11 +184,11 @@
</u-cell>
<u-cell>
<view slot="title" class="title">隐患确认人</view>
<view slot="value">{{ form.conUserName }}</view>
<view slot="value">{{ form.confirmUserName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患确认时间</view>
<view slot="value">{{ form.CONFIRM_TIME }}</view>
<view slot="value">{{ form.confirmTime }}</view>
</u-cell>
</u-cell-group>
</view>
@ -196,43 +196,43 @@
<u-cell-group :border="false" v-if="item.TYPE === 2">
<u-cell>
<view slot="title" class="title">申请延期日期</view>
<view slot="value">{{ item.CREATTIME }}</view>
<view slot="value">{{ item.creattime }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">审核人</view>
<view slot="value">{{ form.conUserName }}</view>
<view slot="value">{{ form.confirmUserName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">延期日期</view>
<view slot="value">{{ item.DELAY_TIME }}</view>
</u-cell>
<u-cell v-if="item.DISPOSAL_PLAN">
<u-cell v-if="item.disposalPlan">
<view slot="title" class="title">处置方案</view>
<view slot="value">{{ item.DISPOSAL_PLAN }}</view>
<view slot="value">{{ item.disposalPlan }}</view>
</u-cell>
<u-cell v-if="item.DISPOSAL_FILE">
<u-cell v-if="item.disposalFile">
<view slot="title" class="title">方案附件</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(item.DISPOSAL_FILE)"></u-button>
@click="downloadAppendix(item.disposalFile)"></u-button>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">延期审核状态</view>
<view slot="value">
<template v-if="item.STATE === -1"></template>
<template v-else-if="item.STATE === 1">通过</template>
<template v-else-if="item.STATE === 2">未通过</template>
<template v-if="item.state === -1"></template>
<template v-else-if="item.state === 1">通过</template>
<template v-else-if="item.state === 2">未通过</template>
</view>
</u-cell>
<u-cell v-if="item.STATE === 1">
<u-cell v-if="item.state === 1">
<view slot="title" class="title">审核时间</view>
<view slot="value">{{ item.OPERATTIME }}</view>
<view slot="value">{{ item.operattime }}</view>
</u-cell>
</u-cell-group>
</view>
<view class="mt-10">
<u-cell-group :border="false" v-if="item.TYPE === 1">
<u-cell-group :border="false" v-if="item.type === 1">
<u-cell>
<view slot="title" class="title">无法整改原因</view>
<view slot="value">{{ item.EXAMINE }}</view>
@ -240,24 +240,24 @@
<u-cell>
<view slot="title" class="title">特殊处置审核状态</view>
<view slot="value">
<template v-if="item.STATE === -1"></template>
<template v-else-if="item.STATE === 2">通过</template>
<template v-else-if="item.STATE === 1">未通过</template>
<template v-if="item.state === -1"></template>
<template v-else-if="item.state === 2">通过</template>
<template v-else-if="item.state === 1">未通过</template>
</view>
</u-cell>
<u-cell v-if="item.STATE!==-1">
<u-cell v-if="item.state!==-1">
<view slot="title" class="title">审核时间</view>
<view slot="value">{{ item.OPERATTIME }}</view>
<view slot="value">{{ item.operattime }}</view>
</u-cell>
<u-cell v-if="item.EXAMINE">
<view slot="title" class="title">处置方案</view>
<view slot="value">{{ item.DISPOSAL_PLAN }}</view>
<view slot="value">{{ item.disposalPlan }}</view>
</u-cell>
<u-cell v-if="item.DISPOSAL_FILE">
<u-cell v-if="item.disposalFile">
<view slot="title" class="title">方案附件</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(item.DISPOSAL_FILE)"></u-button>
@click="downloadAppendix(item.disposalFile)"></u-button>
</view>
</u-cell>
<u-cell v-if="item.STATE!==-1">
@ -266,7 +266,7 @@
</u-cell>
<u-cell v-if="item.spare2">
<view slot="title" class="title">更换整改负责人姓名</view>
<view slot="value">{{ form.editUserName || form.RECTIFICATIONORNAME }}</view>
<view slot="value">{{ form.editUserName || form.newRectificationor }}</view>
</u-cell>
</u-cell-group>
</view>
@ -275,12 +275,12 @@
</template>
<script>
import {getHiddenGoEdit} from "../../../api";
import {getHiddenGoEdit} from "@/api";
export default {
data() {
return {
HIDDEN_ID: '',
hiddenId: '',
form: {},
hImgs: [],
rImgs: [],
@ -291,33 +291,28 @@ export default {
}
},
onLoad(event) {
this.HIDDEN_ID = event.HIDDEN_ID;
this.hiddenId = event.hiddenId;
this.getData()
},
methods: {
async getData() {
let resData = await getHiddenGoEdit({HIDDEN_ID: this.HIDDEN_ID});
console.log(resData);
this.form = resData.pd;
this.hiddenFindPeople = resData.hiddenFindPeople;
this.hiddenExamineList = resData.hiddenExa
for (let i = 0; i < resData.hImgs.length; i++) {
this.hImgs.push(this.$store.state.filePath + resData.hImgs[i].FILEPATH)
}
for (let i = 0; i < resData.rImgs.length; i++) {
this.rImgs.push(this.$store.state.filePath + resData.rImgs[i].FILEPATH)
}
if (resData.hiddenVideo.length > 0) this.videoUrl = this.$store.state.filePath + resData.hiddenVideo[0].FILEPATH
if (resData.hiddenExa.length > 0) {
resData.hiddenExa.forEach(item => {
if (item.TYPE == 4) {
this.form.editUserName = item.editUserName
this.form.editDeptName = item.editDeptName
this.form.editLevelName = item.editLevelName
this.form.editRectificationDeadline = item.spare3
}
})
}
let { data } = await getHiddenGoEdit({id: this.hiddenId});
this.form = data;
this.hiddenFindPeople = data?.acceptor;
this.hiddenExamineList = data?.examines;
this.hImgs = this.findAPicture(resData.data?.files, 3);
this.rImgs = this.findAPicture(resData.data?.files, 4);
if (resData.hiddenVideo.length > 0) this.videoUrl = this.findAPicture(resData.data?.files, 102)?.[0];
// if (resData.hiddenExa.length > 0) {
// resData.hiddenExa.forEach(item => {
// if (item.TYPE == 4) {
// this.form.editUserName = item.editUserName
// this.form.editDeptName = item.editDeptName
// this.form.editLevelName = item.editLevelName
// this.form.editRectificationDeadline = item.spare3
// }
// })
// }
},
previewImage(list, current) {
@ -336,6 +331,15 @@ export default {
},
});
},
findAPicture(files, type) {
const result = [];
files?.forEach((item) => {
if (item?.type === type) {
result.push(this.$store.state.filePath + item.filepath);
}
});
return result.length > 0 ? result : null;
}
},
}
</script>

View File

@ -5,7 +5,7 @@
prefixIcon="search"
placeholder="请输入关键字"
border="surround"
v-model="KEYWORDS"
v-model="companyName"
clearable
shape="circle"
></u--input>
@ -18,21 +18,21 @@
<u-list-item v-for="(item, index) in list" :key="index">
<view>
<view class="flex-between main-title">
<text>{{ item.CORP_NAME }}</text>
<text>{{ item.companyName }}</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>
属地
<template v-if="item.CITY_NAME">{{ item.CITY_NAME }}</template>
<template v-if="item.COUNTRY_NAME"> --{{ item.COUNTRY_NAME }}</template>
<template v-if="item.companyCity">{{ item.companyCity }}</template>
<template v-if="item.companyArea"> --{{ item.companyArea }}</template>
</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>特殊处置隐患数{{ item.qwCount + item.xwCount }}</text>
<text>特殊处置隐患数{{ item.minorHiddenCount + item.generalHiddenCount }}</text>
</view>
<view class="see_btn">
<u-button type="primary" text="查看" size="mini" @click="fnNavigatorDetail(item.CORPINFO_ID)"></u-button>
<u-button type="primary" text="查看" size="mini" @click="fnNavigatorDetail(item.companyId)"></u-button>
</view>
</view>
</u-list-item>
@ -42,14 +42,14 @@
</template>
<script>
import {getSpecialCountByCorpInfo} from "../../../api";
import {getSpecialCountByCorpInfo} from "@/api";
export default {
data() {
return {
KEYWORDS: '',
pageSize: 10,
currentPage: 1,
companyName: '',
limit: 10,
curPage: 1,
totalPage: 0,
list: [{}],
}
@ -59,31 +59,31 @@ export default {
},
methods:{
async getData(){
let resData = await getSpecialCountByCorpInfo({
KEYWORDS: this.KEYWORDS,
showCount: this.pageSize,
currentPage: this.currentPage,
let { page } = await getSpecialCountByCorpInfo({
companyName: this.companyName,
limit: this.limit,
curPage: this.curPage,
});
this.list = [...this.list,...resData.varList];
this.totalPage = resData.page.totalPage;
this.list = [ ...this.list, ...page.list ];
this.totalPage = page.totalPage;
},
resetList() {
this.pageSize= 10
this.currentPage= 1
this.limit= 10
this.curPage= 1
this.list = []
this.getData()
},
fnNavigatorDetail(CORPINFO_ID){
fnNavigatorDetail(companyId){
uni.$u.route({
url: '/pages/general-hidden-management/special-hidden/detail-list',
params: {
CORPINFO_ID,
companyId,
}
})
},
scrolltolower() {
this.currentPage++;
if(this.totalPage >= this.currentPage) this.getData();
this.curPage++;
if(this.totalPage >= this.curPage) this.getData();
},
}
}

View File

@ -5,7 +5,7 @@
prefixIcon="search"
placeholder="请输入关键字"
border="surround"
v-model="keyword"
v-model="hiddendescr"
clearable
shape="circle"
></u--input>
@ -16,25 +16,25 @@
<u-list-item v-for="(item, index) in list" :key="index">
<view>
<view class="flex-between main-title">
<text>{{ item.HIDDENDESCR }}</text>
<text>发现人{{ item.CREATORNAME }}</text>
<text>{{ item.hiddendescr }}</text>
<text>发现人{{ item.discoverPeople }}</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>分公司部门领导小组长{{item.CONFIRM_USER_NAME}}</text>
<text>分公司部门领导小组长{{item.confirmUserName}}</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>分公司安委会办公室主任{{item.CHECKER}}</text>
<text>分公司安委会办公室主任{{item.verifyUser}}</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>港股公司安委会办公室副主任{{item.APPROVED}}</text>
<text>港股公司安委会办公室副主任{{item.verifyUserHK}}</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>隐患级别{{item.NAME}}</text>
<text>隐患级别{{item.hiddenlevelName}}</text>
</view>
<view class="see_btn">
<u-button type="primary" text="查看" size="mini"
@click="fnNavigatorDetail(item.HIDDEN_ID)"></u-button>
@click="fnNavigatorDetail(item.hiddenId)"></u-button>
</view>
</view>
</u-list-item>
@ -44,54 +44,54 @@
</template>
<script>
import {getDept, getHiddenType, getMajorHiddenList, getMoreHiddenList} from "../../../api";
import {getMajorHiddenList} from "@/api";
import tkiTree from "@/components/tki-tree/tki-tree.vue"
export default {
components: {tkiTree},
data() {
return {
keyword: '',
pageSize: 10,
currentPage: 1,
hiddendescr: '',
limit: 10,
curPage: 1,
totalPage: 0,
list: [],
CORPINFO_ID: '',
companyId: '',
}
},
onLoad(event) {
this.CORPINFO_ID = event.CORPINFO_ID;
this.companyId = event.companyId;
this.resetList()
},
methods: {
async getData() {
let resData = await getMoreHiddenList({
CORPINFO_ID: this.CORPINFO_ID,
HIDDENLEVEL: 'jdyh001',
KEYWORDS: this.keyword,
showCount: this.pageSize,
currentPage: this.currentPage,
let { page } = await getMajorHiddenList({
companyId: this.companyId,
hiddenlevel: 'hiddenLevel2002',
hiddendescr: this.hiddendescr,
limit: this.limit,
curPage: this.curPage,
});
this.list = [...this.list, ...resData.varList];
this.totalPage = resData.page.totalPage;
this.list = [...this.list, ...page.list];
this.totalPage = page.totalPage;
},
resetList() {
this.pageSize = 10
this.currentPage = 1
this.limit = 10
this.curPage = 1
this.list = []
this.getData()
},
fnNavigatorDetail(HIDDEN_ID) {
fnNavigatorDetail(hiddenId) {
uni.$u.route({
url: '/pages/larger-major-hidden-management/larger-hidden-management/detail',
params: {
HIDDEN_ID,
hiddenId,
}
})
},
scrolltolower() {
this.currentPage++;
if (this.totalPage >= this.currentPage) this.getData();
this.curPage++;
if (this.totalPage >= this.curPage) this.getData();
},
}
}

View File

@ -8,80 +8,80 @@
<u-cell>
<view slot="title" class="title">隐患来源</view>
<view slot="value">
<template v-if="form.SOURCE=='1'">
<template v-if="form.source === '1'">
隐患快报
</template>
<template v-else-if="form.SOURCE=='2'">
<template v-else-if="form.source === '2'">
清单排查
</template>
<template v-else-if="form.SOURCE=='3'">
<template v-else-if="form.source === '3'">
清单排查
</template>
<template v-else-if="form.SOURCE=='8'">
<template v-else-if="form.source === '8'">
点检隐患
</template>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患描述</view>
<view slot="label" class="mt-10">{{ form.HIDDENDESCR }}</view>
<view slot="label" class="mt-10">{{ form.hiddendescr }}</view>
</u-cell>
<template v-if="form.SOURCE=='2'">
<template v-if="form.source === '2'">
<u-cell>
<view slot="title" class="title">风险点单元</view>
<view slot="value">{{ form.RISK_UNIT }}</view>
<view slot="value">{{ form.riskUnit }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">辨识部位</view>
<view slot="value">{{ form.IDENTIFICATION }}</view>
<view slot="value">{{ form.identification }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">存在风险</view>
<view slot="value">{{ form.RISK_DESCR }}</view>
<view slot="value">{{ form.riskDescr }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">风险分级</view>
<view slot="value">{{ form.LEVEL }}</view>
<view slot="value">{{ form.level }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">检查内容</view>
<view slot="value">{{ form.CHECK_CONTENT }}</view>
<view slot="value">{{ form.checkContent }}</view>
</u-cell>
</template>
<u-cell>
<view slot="title" class="title">隐患级别</view>
<view slot="value">{{ form.HIDDENLEVELNAME }}</view>
<view slot="value">{{ form.hiddenlevelName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患状态</view>
<view slot="value">
<template v-if="form.STATE=='13'"></template>
<template v-else-if="form.STATE=='14'">待验收</template>
<template v-else-if="form.STATE=='15'">已归档</template>
<template v-if="form.state === '13'"></template>
<template v-else-if="form.state === '14'">待验收</template>
<template v-else-if="form.state === '15'">已归档</template>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患类型</view>
<view slot="value">{{ form.HIDDENTYPENAME }}</view>
<view slot="value">{{ form.hiddenTypeName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患部位</view>
<view slot="value">{{ form.hregionName }}</view>
<view slot="value">{{ form.hiddenpartStr || info.hiddenpart }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患上报位置</view>
<view slot="label" class="mt-10">
<view>
经度:{{ form.LONGITUDE }}
经度:{{ form.longitude }}
</view>
<view>
纬度:{{ form.LATITUDE }}
纬度:{{ form.latitude }}
</view>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患位置描述</view>
<view slot="value">{{ form.POSITIONDESC }}</view>
<view slot="value">{{ form.positiondesc }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患照片</view>
@ -106,15 +106,22 @@
</u-modal>
<u-cell>
<view slot="title" class="title">是否相关方</view>
<view slot="value">{{ form.ISRELEVANT == '1' ? '是' : '否' }}</view>
<view slot="value">{{ form.isrelevant === '1' ? '是' : '否' }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患发现人</view>
<view slot="value">{{ form.CREATORNAME }}</view>
<view slot="value">
{{
hiddenFindPeople
.map((item) => item.userName)
.filter(Boolean)
.join("、") || info.creatorName
}}
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患发现时间</view>
<view slot="value">{{ form.DISCOVERYTIME }}</view>
<view slot="value">{{ form.discoverytime }}</view>
</u-cell>
</u-cell-group>
</view>
@ -125,29 +132,29 @@
<u-cell-group :border="false">
<u-cell>
<view slot="title" class="title">隐患级别</view>
<view slot="value">{{ form.HIDDENLEVELNAME }}</view>
<view slot="value">{{ form.hiddenlevelName }}</view>
</u-cell>
<u-cell v-if="majorinforPdf">
<u-cell v-if="majorinforPdf?.[0]">
<view slot="title" class="title">临时处置信息</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(majorinforPdf.FILEPATH)"></u-button>
@click="downloadAppendix(majorinforPdf?.[0])"></u-button>
</view>
</u-cell>
<u-cell v-if="supplementPdf">
<u-cell v-if="supplementPdf?.[0]">
<view slot="title" class="title">补充重大隐患信息</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(supplementPdf.FILEPATH)"></u-button>
@click="downloadAppendix(supplementPdf?.[0])"></u-button>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患确认人</view>
<view slot="value">{{ form.conUserName }}</view>
<view slot="value">{{ form.confirmUserName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患确认时间</view>
<view slot="value">{{ form.CONFIRM_TIME }}</view>
<view slot="value">{{ form.confirmTime }}</view>
</u-cell>
</u-cell-group>
</view>
@ -158,33 +165,33 @@
<u-cell-group :border="false">
<u-cell>
<view slot="title" class="title">隐患级别</view>
<view slot="value">{{ form.HIDDENLEVELNAME }}</view>
<view slot="value">{{ form.hiddenlevelName }}</view>
</u-cell>
<u-cell v-if="safetyofficePdf">
<u-cell v-if="safetyofficePdf?.[0]">
<view slot="title" class="title">安委会办公室会议记录</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(safetyofficePdf.FILEPATH)"></u-button>
@click="downloadAppendix(safetyofficePdf?.[0])"></u-button>
</view>
</u-cell>
<u-cell v-if="majorapprovedPdf">
<u-cell v-if="majorapprovedPdf?.[0]">
<view slot="title" class="title">整改建议及方案</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(majorapprovedPdf.FILEPATH)"></u-button>
@click="downloadAppendix(majorapprovedPdf?.[0])"></u-button>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">核对结果</view>
<view slot="value">{{ resultslist.CHECKRESULTS == 2 ? '核对确定' : '' }}</view>
<view slot="value">{{ resultslist.checkresults === '2' ? '核对确定' : '' }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">核实人</view>
<view slot="value">{{ resultslist.CHECKER }}</view>
<view slot="value">{{ resultslist.checker }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">核实时间</view>
<view slot="value">{{ resultslist.CHECK_TIME }}</view>
<view slot="value">{{ resultslist.checkTime }}</view>
</u-cell>
</u-cell-group>
</view>
@ -195,63 +202,63 @@
<u-cell-group :border="false">
<u-cell>
<view slot="title" class="title">隐患级别</view>
<view slot="value">{{ form.HIDDENLEVELNAME }}</view>
<view slot="value">{{ form.hiddenlevelName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">核定人</view>
<view slot="value">{{ resultslist.APPROVED }}</view>
<view slot="value">{{ resultslist.approved || resultslist.checker }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">核定时间</view>
<view slot="value">{{ resultslist.APPROVED_TIME }}</view>
<view slot="value">{{ resultslist.approvedTime }}</view>
</u-cell>
<u-cell v-if="reportPdf">
<u-cell v-if="reportPdf?.[0]">
<view slot="title" class="title">隐患调查报告</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(reportPdf.FILEPATH)"></u-button>
@click="downloadAppendix(reportPdf?.[0])"></u-button>
</view>
</u-cell>
<u-cell v-if="resolutionPdf">
<u-cell v-if="resolutionPdf?.[0]">
<view slot="title" class="title">安委会或党委会决议记录</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(resolutionPdf.FILEPATH)"></u-button>
@click="downloadAppendix(resolutionPdf?.[0])"></u-button>
</view>
</u-cell>
</u-cell-group>
</view>
<view class="card" v-if="form.STATE >='14'">
<view class="card" v-if="form.state >='14'">
<view class="view-title">
<u--text text="整改信息" bold></u--text>
</view>
<u-cell-group :border="false">
<u-cell>
<view slot="title" class="title">整改部门</view>
<view slot="value">{{ form.RECTIFICATIONDEPTNAME }}</view>
<view slot="title" class="title">整改部门</view>
<view slot="value">{{ form.rectificationDeptName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">验收时间</view>
<view slot="value">{{ form.RECTIFICATIONORNAME }}</view>
<view slot="title" class="title">整改人</view>
<view slot="value">{{ form.rectificationName }}</view>
</u-cell>
<u-cell v-if="rectificationPdf">
<u-cell v-if="rectificationPdf?.[0]">
<view slot="title" class="title">临时处置措施与隐患整改方案</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(rectificationPdf.FILEPATH)"></u-button>
@click="downloadAppendix(rectificationPdf?.[0])"></u-button>
</view>
</u-cell>
<u-cell v-if="processPdf">
<u-cell v-if="processPdf?.[0]">
<view slot="title" class="title">隐患整改过程记录</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(processPdf.FILEPATH)"></u-button>
@click="downloadAppendix(processPdf?.[0])"></u-button>
</view>
</u-cell>
</u-cell-group>
</view>
<view class="card" v-if="form.STATE =='15'">
<view class="card" v-if="form.state === '15'">
<view class="view-title">
<u--text text="验收信息" bold></u--text>
</view>
@ -274,12 +281,12 @@
</template>
<script>
import {getHiddenGoEdit} from "../../../api";
import {getHiddenGoEdit} from "@/api";
export default {
data() {
return {
HIDDEN_ID: '',
hiddenId: '',
form: {},
hImgs: [],
videoUrl: '',
@ -293,38 +300,29 @@ export default {
resolutionPdf:{},
rectificationPdf:{},
processPdf:{},
hiddenFindPeople: [],
}
},
onLoad(event) {
this.HIDDEN_ID = event.HIDDEN_ID;
this.hiddenId = event.hiddenId;
this.getData()
},
methods: {
async getData() {
let resData = await getHiddenGoEdit({HIDDEN_ID: this.HIDDEN_ID});
this.form = resData.pd;
this.resultslist = resData.resultslist
this.majorinforPdf = resData.majorinforPdf && resData.majorinforPdf[0]
this.majorapprovedPdf = resData.majorapprovedPdf && resData.majorapprovedPdf[0]
this.resolutionPdf = resData.resolutionPdf && resData.resolutionPdf[0]
this.rectificationPdf = resData.rectificationPdf && resData.rectificationPdf[0]
this.processPdf = resData.processPdf && resData.processPdf[0]
this.reportPdf = resData.reportPdf && resData.reportPdf[0]
this.supplementPdf = resData.supplementPdf && resData.supplementPdf[0]
this.safetyofficePdf = resData.safetyofficePdf && resData.safetyofficePdf[0]
console.log(this.safetyofficePdf)
for (let i = 0; i < resData.hImgs.length; i++) {
this.hImgs.push(this.$store.state.filePath + resData.hImgs[i].FILEPATH)
}
this.videoUrl = this.$store.state.filePath + resData.hiddenVideo[0].FILEPATH
resData.hiddenExa && resData.hiddenExa.forEach(item => {
if (item.TYPE == 0) {
this.form.oldUserName = item.editUserName
this.form.oldDeptName = item.editDeptName
this.form.oldLevelName = item.editLevelName
this.form.oldRectificationDeadline = item.spare3
}
})
let resData = await getHiddenGoEdit({ id: this.hiddenId });
this.form = resData.data;
this.hiddenFindPeople = resData.data?.acceptor;
this.resultslist = resData.data?.major?.[0] || {};
this.majorinforPdf = this.findAPicture(resData.data?.files, 106);
this.majorapprovedPdf = this.findAPicture(resData.data?.files, 107);
this.resolutionPdf = this.findAPicture(resData.data?.files, 109);
this.rectificationPdf = this.findAPicture(resData.data?.files, 110);
this.processPdf = this.findAPicture(resData.data?.files, 111);
this.reportPdf = this.findAPicture(resData.data?.files, 108);
this.supplementPdf = this.findAPicture(resData.data?.files, 112);
this.safetyofficePdf = this.findAPicture(resData.data?.files, 113);
this.hImgs = this.findAPicture(resData.data?.files, 3);
this.videoUrl = this.findAPicture(resData.data?.files, 102)?.[0];
},
previewImage(list,current) {
uni.previewImage({
@ -342,6 +340,15 @@ export default {
},
});
},
findAPicture(files, type) {
const result = [];
files?.forEach((item) => {
if (item?.type === type) {
result.push(this.$store.state.filePath + item.filepath);
}
});
return result.length > 0 ? result : null;
}
},
}
</script>

View File

@ -5,7 +5,7 @@
prefixIcon="search"
placeholder="请输入关键字"
border="surround"
v-model="KEYWORDS"
v-model="companyName"
clearable
shape="circle"
></u--input>
@ -18,21 +18,21 @@
<u-list-item v-for="(item, index) in list" :key="index">
<view>
<view class="flex-between main-title">
<text>{{ item.CORP_NAME }}</text>
<text>{{ item.companyName }}</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>
属地
<template v-if="item.CITY_NAME">{{ item.CITY_NAME }}</template>
<template v-if="item.COUNTRY_NAME"> --{{ item.COUNTRY_NAME }}</template>
<template v-if="item.companyCity">{{ item.companyCity }}</template>
<template v-if="item.companyArea"> --{{ item.companyArea }}</template>
</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>较大隐患数{{item.jdCount}}</text>
<text>较大隐患数{{item.majorHiddenNum}}</text>
</view>
<view class="see_btn">
<u-button type="primary" text="查看" size="mini" @click="fnNavigatorDetail(item.CORPINFO_ID)"></u-button>
<u-button type="primary" text="查看" size="mini" @click="fnNavigatorDetail(item.companyId)"></u-button>
</view>
</view>
</u-list-item>
@ -42,14 +42,14 @@
</template>
<script>
import {getMajorCountByCorpInfo} from "../../../api";
import {getLargerCountByCorpInfo} from "@/api";
export default {
data() {
return {
KEYWORDS: '',
pageSize: 10,
currentPage: 1,
companyName: '',
limit: 10,
curPage: 1,
totalPage: 0,
list: [],
}
@ -59,31 +59,31 @@ export default {
},
methods:{
async getData(){
let resData = await getMajorCountByCorpInfo({
KEYWORDS: this.KEYWORDS,
showCount: this.pageSize,
currentPage: this.currentPage,
let { page } = await getLargerCountByCorpInfo({
companyName: this.companyName,
limit: this.limit,
curPage: this.curPage,
});
this.list = [...this.list,...resData.varList];
this.totalPage = resData.page.totalPage;
this.list = [...this.list,...page.list];
this.totalPage = page.totalPage;
},
resetList() {
this.pageSize= 10
this.currentPage= 1
this.limit= 10
this.curPage= 1
this.list = []
this.getData()
},
fnNavigatorDetail(CORPINFO_ID){
fnNavigatorDetail(companyId){
uni.$u.route({
url: '/pages/larger-major-hidden-management/larger-hidden-management/detail-list',
params: {
CORPINFO_ID,
companyId,
}
})
},
scrolltolower() {
this.currentPage++;
if(this.totalPage >= this.currentPage) this.getData();
this.curPage++;
if(this.totalPage >= this.curPage) this.getData();
},
}
}

View File

@ -5,7 +5,7 @@
prefixIcon="search"
placeholder="请输入关键字"
border="surround"
v-model="keyword"
v-model="hiddendescr"
clearable
shape="circle"
></u--input>
@ -17,25 +17,25 @@
<u-list-item v-for="(item, index) in list" :key="index">
<view>
<view class="flex-between main-title">
<text>{{ item.HIDDENDESCR }}</text>
<text>发现人{{ item.CREATORNAME }}</text>
<text>{{ item.hiddendescr }}</text>
<text>发现人{{ item.discoverPeople }}</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>分公司部门领导小组长{{ item.CONFIRM_USER_NAME }}</text>
<text>分公司部门领导小组长{{ item.confirmUserName }}</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>分公司安委会办公室主任{{ item.CHECKER }}</text>
<text>分公司安委会办公室主任{{ item.verifyUser }}</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>港股公司安委会办公室副主任{{ item.APPROVED }}</text>
<text>港股公司安委会办公室副主任{{ item.verifyUserHK }}</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>隐患级别{{ item.NAME }}</text>
<text>隐患级别{{ item.hiddenlevelName }}</text>
</view>
<view class="see_btn">
<u-button type="primary" text="查看" size="mini"
@click="fnNavigatorDetail(item.HIDDEN_ID)"></u-button>
@click="fnNavigatorDetail(item.hiddenId)"></u-button>
</view>
</view>
</u-list-item>
@ -45,54 +45,54 @@
</template>
<script>
import {getDept, getHiddenType, getMajorHiddenList} from "../../../api";
import {getMajorHiddenList} from "@/api";
import tkiTree from "@/components/tki-tree/tki-tree.vue"
export default {
components: {tkiTree},
data() {
return {
keyword: '',
pageSize: 10,
currentPage: 1,
hiddendescr: '',
limit: 10,
curPage: 1,
totalPage: 0,
list: [],
CORPINFO_ID: '',
companyId: '',
}
},
onLoad(event) {
this.CORPINFO_ID = event.CORPINFO_ID;
this.companyId = event.companyId;
this.resetList()
},
methods: {
async getData() {
let resData = await getMajorHiddenList({
CORPINFO_ID: this.CORPINFO_ID,
HIDDENLEVEL: 'hiddenLevel2002',
KEYWORDS: this.keyword,
showCount: this.pageSize,
currentPage: this.currentPage,
let { page } = await getMajorHiddenList({
companyId: this.companyId,
hiddenlevel: 'hiddenLevel2002',
hiddendescr: this.hiddendescr,
limit: this.limit,
curPage: this.curPage,
});
this.list = [...this.list, ...resData.varList];
this.totalPage = resData.page.totalPage;
this.list = [...this.list, ...page.list];
this.totalPage = page.totalPage;
},
resetList() {
this.pageSize = 10
this.currentPage = 1
this.limit = 10
this.curPage = 1
this.list = []
this.getData()
},
fnNavigatorDetail(HIDDEN_ID) {
fnNavigatorDetail(hiddenId) {
uni.$u.route({
url: '/pages/larger-major-hidden-management/major-hidden-management/detail',
params: {
HIDDEN_ID,
hiddenId,
}
})
},
scrolltolower() {
this.currentPage++;
if (this.totalPage >= this.currentPage) this.getData();
this.curPage++;
if (this.totalPage >= this.curPage) this.getData();
},
}
}

View File

@ -8,49 +8,49 @@
<u-cell>
<view slot="title" class="title">隐患来源</view>
<view slot="value">
<template v-if="form.SOURCE=='1'">
<template v-if="form.source === '1'">
隐患快报
</template>
<template v-else-if="form.SOURCE=='2'">
<template v-else-if="form.source === '2'">
清单排查
</template>
<template v-else-if="form.SOURCE=='3'">
<template v-else-if="form.source === '3'">
清单排查
</template>
<template v-else-if="form.SOURCE=='8'">
<template v-else-if="form.source === '8'">
点检隐患
</template>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患描述</view>
<view slot="label" class="mt-10">{{ form.HIDDENDESCR }}</view>
<view slot="label" class="mt-10">{{ form.hiddendescr }}</view>
</u-cell>
<template v-if="form.SOURCE=='2'">
<template v-if="form.source === '2'">
<u-cell>
<view slot="title" class="title">风险点单元</view>
<view slot="value">{{ form.RISK_UNIT }}</view>
<view slot="value">{{ form.riskUnit }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">辨识部位</view>
<view slot="value">{{ form.IDENTIFICATION }}</view>
<view slot="value">{{ form.identification }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">存在风险</view>
<view slot="value">{{ form.RISK_DESCR }}</view>
<view slot="value">{{ form.riskDescr }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">风险分级</view>
<view slot="value">{{ form.LEVEL }}</view>
<view slot="value">{{ form.level }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">检查内容</view>
<view slot="value">{{ form.CHECK_CONTENT }}</view>
<view slot="value">{{ form.checkContent }}</view>
</u-cell>
</template>
<u-cell>
<view slot="title" class="title">隐患级别</view>
<view slot="value">{{ form.HIDDENLEVELNAME }}</view>
<view slot="value">{{ form.hiddenlevelName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患状态</view>
@ -60,25 +60,25 @@
</u-cell>
<u-cell>
<view slot="title" class="title">隐患类型</view>
<view slot="value">{{ form.HIDDENTYPENAME }}</view>
<view slot="value">{{ form.hiddenTypeName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患部位</view>
<view slot="value">{{ form.hregionName }}</view>
<view slot="value">{{ form.hiddenpartStr || info.hiddenpart }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">是否是相关方</view>
<view slot="value">{{ form.ISRELEVANT==='1'?'是':'否' }}</view>
<view slot="value">{{ form.isrelevant === '1'?'是':'否' }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患位置描述</view>
<view slot="value">{{ form.POSITIONDESC }}</view>
<view slot="value">{{ form.positiondesc }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患上报位置</view>
<view slot="label" class="mt-10">
<view>经度:{{ form.LONGITUDE }}</view>
<view>纬度:{{ form.LATITUDE }}</view>
<view>经度:{{ form.longitude }}</view>
<view>纬度:{{ form.latitude }}</view>
</view>
</u-cell>
<u-cell>
@ -105,11 +105,18 @@
</u-modal>
<u-cell>
<view slot="title" class="title">隐患发现人</view>
<view slot="value">{{ form.CREATORNAME }}</view>
<view slot="value">
{{
hiddenFindPeople
.map((item) => item.userName)
.filter(Boolean)
.join("、") || info.creatorName
}}
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患发现时间</view>
<view slot="value">{{ form.DISCOVERYTIME }}</view>
<view slot="value">{{ form.discoverytime }}</view>
</u-cell>
</u-cell-group>
</view>
@ -120,29 +127,29 @@
<u-cell-group :border="false">
<u-cell>
<view slot="title" class="title">隐患级别</view>
<view slot="value">{{ form.HIDDENLEVELNAME }}</view>
<view slot="value">{{ form.hiddenlevelName }}</view>
</u-cell>
<u-cell v-if="majorinforPdf">
<u-cell v-if="majorinforPdf?.[0]">
<view slot="title" class="title">临时处置信息</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(majorinforPdf.FILEPATH)"></u-button>
@click="downloadAppendix(majorinforPdf?.[0])"></u-button>
</view>
</u-cell>
<u-cell v-if="supplementPdf">
<u-cell v-if="supplementPdf?.[0]">
<view slot="title" class="title">补充重大隐患信息</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(supplementPdf.FILEPATH)"></u-button>
@click="downloadAppendix(supplementPdf?.[0])"></u-button>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患确认人</view>
<view slot="value">{{ form.conUserName }}</view>
<view slot="value">{{ form.confirmUserName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患确认时间</view>
<view slot="value">{{ form.CONFIRM_TIME }}</view>
<view slot="value">{{ form.confirmTime }}</view>
</u-cell>
</u-cell-group>
</view>
@ -153,33 +160,33 @@
<u-cell-group :border="false">
<u-cell>
<view slot="title" class="title">隐患级别</view>
<view slot="value">{{ form.HIDDENLEVELNAME }}</view>
<view slot="value">{{ form.hiddenlevelName }}</view>
</u-cell>
<u-cell v-if="safetyofficePdf">
<u-cell v-if="safetyofficePdf?.[0]">
<view slot="title" class="title">安委会办公室会议记录</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(safetyofficePdf.FILEPATH)"></u-button>
@click="downloadAppendix(safetyofficePdf?.[0])"></u-button>
</view>
</u-cell>
<u-cell v-if="majorapprovedPdf">
<u-cell v-if="majorapprovedPdf?.[0]">
<view slot="title" class="title">临时处置信息</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(majorapprovedPdf.FILEPATH)"></u-button>
@click="downloadAppendix(majorapprovedPdf?.[0])"></u-button>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">核对结果</view>
<view slot="value">{{ resultslist.CHECKRESULTS == 2 ? '核对确定' : '' }}</view>
<view slot="value">{{ resultslist.checkresults === '2' ? '核对确定' : '' }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">核实人</view>
<view slot="value">{{ resultslist.CHECKER }}</view>
<view slot="value">{{ resultslist.checker }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">核实时间</view>
<view slot="value">{{ resultslist.CHECK_TIME }}</view>
<view slot="value">{{ resultslist.checkTime }}</view>
</u-cell>
</u-cell-group>
</view>
@ -190,57 +197,57 @@
<u-cell-group :border="false">
<u-cell>
<view slot="title" class="title">隐患级别</view>
<view slot="value">{{ form.HIDDENLEVELNAME }}</view>
<view slot="value">{{ form.hiddenlevelName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">核定人</view>
<view slot="value">{{ resultslist.APPROVED }}</view>
<view slot="value">{{ resultslist.approved || resultslist.checker }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">核定时间</view>
<view slot="value">{{ resultslist.APPROVED_TIME }}</view>
<view slot="value">{{ resultslist.approvedTime }}</view>
</u-cell>
<u-cell v-if="reportPdf">
<u-cell v-if="reportPdf?.[0]">
<view slot="title" class="title">隐患调查报告</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(reportPdf.FILEPATH)"></u-button>
@click="downloadAppendix(reportPdf?.[0])"></u-button>
</view>
</u-cell>
<u-cell v-if="resolutionPdf">
<u-cell v-if="resolutionPdf?.[0]">
<view slot="title" class="title">安委会或党委会决议记录</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(resolutionPdf.FILEPATH)"></u-button>
@click="downloadAppendix(resolutionPdf?.[0])"></u-button>
</view>
</u-cell>
</u-cell-group>
</view>
<view class="card" v-if="form.RECTIFICATIONORNAME">
<view class="card" v-if="form.rectificationName">
<view class="view-title">
<u--text text="较大隐患整改" bold></u--text>
</view>
<u-cell-group :border="false">
<u-cell>
<view slot="title" class="title">整改部门</view>
<view slot="value">{{ form.RECTIFICATIONDEPTNAME }}</view>
<view slot="value">{{ form.rectificationDeptName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">整改人</view>
<view slot="value">{{ form.RECTIFICATIONORNAME }}</view>
<view slot="value">{{ form.rectificationName }}</view>
</u-cell>
<u-cell v-if="rectificationPdf">
<u-cell v-if="rectificationPdf?.[0]">
<view slot="title" class="title">隐患调查报告</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(rectificationPdf.FILEPATH)"></u-button>
@click="downloadAppendix(rectificationPdf?.[0])"></u-button>
</view>
</u-cell>
<u-cell v-if="processPdf">
<u-cell v-if="processPdf?.[0]">
<view slot="title" class="title">安委会或党委会决议记录</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(processPdf.FILEPATH)"></u-button>
@click="downloadAppendix(processPdf?.[0])"></u-button>
</view>
</u-cell>
</u-cell-group>
@ -249,12 +256,12 @@
</template>
<script>
import {getHiddenGoEdit} from "../../../api";
import {getHiddenGoEdit} from "@/api";
export default {
data() {
return {
HIDDEN_ID: '',
hiddenId: '',
form: {},
hImgs: [],
videoUrl: '',
@ -268,38 +275,29 @@ export default {
resolutionPdf: {},
rectificationPdf: {},
processPdf: {},
hiddenFindPeople: [],
}
},
onLoad(event) {
this.HIDDEN_ID = event.HIDDEN_ID;
this.hiddenId = event.hiddenId;
this.getData()
},
methods: {
async getData() {
let resData = await getHiddenGoEdit({HIDDEN_ID: this.HIDDEN_ID});
this.form = resData.pd;
this.resultslist = resData.resultslist
this.majorinforPdf = resData.majorinforPdf && resData.majorinforPdf[0]
this.majorapprovedPdf = resData.majorapprovedPdf && resData.majorapprovedPdf[0]
this.resolutionPdf = resData.resolutionPdf && resData.resolutionPdf[0]
this.reportPdf = resData.reportPdf && resData.reportPdf[0]
this.rectificationPdf = resData.rectificationPdf && resData.rectificationPdf[0]
this.processPdf = resData.processPdf && resData.processPdf[0]
this.supplementPdf = resData.supplementPdf && resData.supplementPdf[0]
this.safetyofficePdf = resData.safetyofficePdf && resData.safetyofficePdf[0]
this.hiddenFindPeople = resData.hiddenFindPeople
for (let i = 0; i < resData.hImgs.length; i++) {
this.hImgs.push(this.$store.state.filePath + resData.hImgs[i].FILEPATH)
}
this.videoUrl = this.$store.state.filePath + resData.hiddenVideo[0].FILEPATH
resData.hiddenExa && resData.hiddenExa.forEach(item => {
if (item.TYPE == 0) {
this.form.oldUserName = item.editUserName
this.form.oldDeptName = item.editDeptName
this.form.oldLevelName = item.editLevelName
this.form.oldRectificationDeadline = item.spare3
}
})
let resData = await getHiddenGoEdit({ id: this.hiddenId });
this.form = resData.data;
this.hiddenFindPeople = resData.data?.acceptor;
this.resultslist = resData.data?.major?.[0] || {};
this.majorinforPdf = this.findAPicture(resData.data?.files, 106);
this.majorapprovedPdf = this.findAPicture(resData.data?.files, 107);
this.resolutionPdf = this.findAPicture(resData.data?.files, 109);
this.reportPdf = this.findAPicture(resData.data?.files, 108);
this.rectificationPdf = this.findAPicture(resData.data?.files, 110);
this.processPdf = this.findAPicture(resData.data?.files, 111);
this.supplementPdf = this.findAPicture(resData.data?.files, 112);
this.safetyofficePdf = this.findAPicture(resData.data?.files, 113);
this.hImgs = this.findAPicture(resData.data?.files, 3);
this.videoUrl = this.findAPicture(resData.data?.files, 102)?.[0];
},
previewImage(list, current) {
uni.previewImage({
@ -317,6 +315,15 @@ export default {
},
});
},
findAPicture(files, type) {
const result = [];
files?.forEach((item) => {
if (item?.type === type) {
result.push(this.$store.state.filePath + item.filepath);
}
});
return result.length > 0 ? result : null;
}
},
}
</script>

View File

@ -5,7 +5,7 @@
prefixIcon="search"
placeholder="请输入关键字"
border="surround"
v-model="KEYWORDS"
v-model="companyName"
clearable
shape="circle"
></u--input>
@ -18,21 +18,21 @@
<u-list-item v-for="(item, index) in list" :key="index">
<view>
<view class="flex-between main-title">
<text>{{ item.CORP_NAME }}</text>
<text>{{ item.companyName }}</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>
属地
<template v-if="item.CITY_NAME">{{ item.CITY_NAME }}</template>
<template v-if="item.COUNTRY_NAME"> --{{ item.COUNTRY_NAME }}</template>
<template v-if="item.companyCity">{{ item.companyCity }}</template>
<template v-if="item.companyArea"> --{{ item.companyArea }}</template>
</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>重大隐患数{{item.zdCount}}</text>
<text>重大隐患数{{item.majorHiddenNum}}</text>
</view>
<view class="see_btn">
<u-button type="primary" text="查看" size="mini" @click="fnNavigatorDetail(item.CORPINFO_ID)"></u-button>
<u-button type="primary" text="查看" size="mini" @click="fnNavigatorDetail(item.companyId)"></u-button>
</view>
</view>
</u-list-item>
@ -42,14 +42,14 @@
</template>
<script>
import {getMajorCountByCorpInfo} from "../../../api";
import {getMajorCountByCorpInfo} from "@/api";
export default {
data() {
return {
KEYWORDS: '',
pageSize: 10,
currentPage: 1,
companyName: '',
limit: 10,
curPage: 1,
totalPage: 0,
list: [],
}
@ -59,31 +59,31 @@ export default {
},
methods:{
async getData(){
let resData = await getMajorCountByCorpInfo({
KEYWORDS: this.KEYWORDS,
showCount: this.pageSize,
currentPage: this.currentPage,
let { page } = await getMajorCountByCorpInfo({
companyName: this.companyName,
limit: this.limit,
curPage: this.curPage,
});
this.list = [...this.list,...resData.varList];
this.totalPage = resData.page.totalPage;
this.list = [...this.list,...page.list];
this.totalPage = page.totalPage;
},
resetList() {
this.pageSize= 10
this.currentPage= 1
this.limit= 10
this.curPage= 1
this.list = []
this.getData()
},
fnNavigatorDetail(CORPINFO_ID){
fnNavigatorDetail(companyId){
uni.$u.route({
url: '/pages/larger-major-hidden-management/major-hidden-management/detail-list',
params: {
CORPINFO_ID,
companyId,
}
})
},
scrolltolower() {
this.currentPage++;
if(this.totalPage >= this.currentPage) this.getData();
this.curPage++;
if(this.totalPage >= this.curPage) this.getData();
},
}
}