qa-regulatory-gwj-app/pages/general-hidden-management/general-hidden/detail-list.vue

266 lines
8.5 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view class="content">
<view class="search card">
<u--input
class="ml-10"
prefixIcon="search"
placeholder="请输入关键字"
border="surround"
v-model="keyword"
clearable
shape="circle"
></u--input>
<view class="ml-10">
<u-button class="bth-mini ml-10" type="success" text="确定" @click="resetList"></u-button>
</view>
</view>
<u-popup :show="popupShow" @close="popupShow = false" mode="right" :customStyle="{width:'85vw'}">
<view class="card">
<u--form class="pl-10 pr-10" labelPosition="left">
<u-form-item label="隐患发现开始时间" borderBottom>
<u--text :text="START_DATA || '请选择'"
@click="startDataShow = true"></u--text>
<u-datetime-picker :show="startDataShow"
mode="datetime"
:value="Number(new Date())"
@cancel="startDataShow = false"
@confirm="startDataConfirm"></u-datetime-picker>
</u-form-item>
<u-form-item label="隐患发现结束时间" borderBottom>
<u--text :text="END_DATA || '请选择'"
@click="endDataShow = true"></u--text>
<u-datetime-picker :show="endDataShow"
mode="datetime"
:value="Number(new Date())"
@cancel="endDataShow = false"
@confirm="endDataConfirm"></u-datetime-picker>
</u-form-item>
<u-form-item label="发现人" borderBottom>
<u--input
inputAlign="right"
placeholder="请输入发现人"
border="none"
v-model="FIND_PEOPLE"
clearable
></u--input>
</u-form-item>
<u-form-item label="确认人" borderBottom>
<u--input
inputAlign="right"
placeholder="请输入确认人"
border="none"
v-model="CONFIRMOR"
clearable
></u--input>
</u-form-item>
<u-form-item label="隐患状态" borderBottom>
<u--text :text="HIDDEN_STATUS_NAME || '请选择'" @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>
<tki-tree ref="tkitree" :range="hiddenLevelList" rangeKey="name" selectParent children-name="nodes"
@confirm="confirmTree"/>
</u-form-item>
</u--form>
<view class="mt-10 flex-between">
<u-button type="info" text="重置" class="bth" @click="reset"></u-button>
<u-button type="primary" text="查询" class="bth ml-10" @click="resetList"></u-button>
</view>
</view>
</u-popup>
<u-list @scrolltolower="scrolltolower" v-if="list.length > 0">
<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>
</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>
</view>
<view class="flex-between mt-10 subtitle">
<text>隐患发现人:{{ item.findUserNames }}</text>
<text>隐患发现时间:{{ item.DISCOVERYTIME }}</text>
</view>
<view class="flex-between mt-10 subtitle">
<text>隐患确认人:{{ item.CONFIRM_USER }}</text>
</view>
<view class="see_btn">
<u-button type="primary" text="查看" size="mini" class="bth-mini"
@click="fnNavigatorDetail(item.HIDDEN_ID)"></u-button>
</view>
</view>
</u-list-item>
</u-list>
<empty v-else></empty>
</view>
</template>
<script>
import {getDept, getGeneralHiddenList, getHiddenLevel} from "../../../api";
export default {
data() {
return {
keyword: '',
pageSize: 10,
currentPage: 1,
totalPage: 0,
list: [{}],
CORPINFO_ID: '',
popupShow: false,
startDataShow: false,
endDataShow: false,
deptRange: [],
START_DATA: '',
END_DATA: '',
FIND_PEOPLE: '',
CONFIRMOR: '',
HIDDEN_LEVEL_NAME: '',
HIDDEN_LEVEL_ID: '',
hiddenLevelList: [
{id: 'hiddenLevel1004', name: '轻微隐患'},
{id: 'hiddenLevel1002', name: '一般隐患'},
],
HIDDEN_STATUS_NAME: '',
HIDDEN_STATUS_ID: '',
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}
]
],
}
},
onNavigationBarButtonTap(e) {
if (e.index === 0) {
this.popupShow = true;
}
},
onLoad(event) {
this.CORPINFO_ID = event.CORPINFO_ID;
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 getGeneralHiddenList({
CORPINFO_ID: this.CORPINFO_ID,
DISCOVERYTIME_START: this.START_DATA,
DISCOVERYTIME_END: 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,
showCount: this.pageSize,
currentPage: this.currentPage,
});
this.list = [...this.list, ...resData.varList];
this.totalPage = resData.page.totalPage;
},
resetList() {
this.pageSize = 10
this.currentPage = 1
this.list = []
this.getData()
},
fnNavigatorDetail(HIDDEN_ID) {
uni.$u.route({
url: '/pages/general-hidden-management/general-hidden/detail',
params: {
HIDDEN_ID,
}
})
},
scrolltolower() {
this.currentPage++;
if (this.totalPage >= this.currentPage) this.getData();
},
startDataConfirm(e) {
this.START_DATA = 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.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.hiddenStatusShow = false;
}
},
showTree() {
this.$refs.tkitree._show()
},
confirmTree(e) {
this.HIDDEN_LEVEL_ID = e[0].id
this.HIDDEN_LEVEL_NAME = 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.resetList()
}
}
}
</script>
<style scoped lang="scss">
.search{
display: flex;
.ml-10{
margin-left: 10rpx;
}
.bth-mini{
width: 100rpx;
}
}
.see_btn{
width: 100rpx;
float: right;
}
</style>