272 lines
8.7 KiB
Vue
272 lines
8.7 KiB
Vue
<template>
|
||
<view class="content">
|
||
<view class="search card">
|
||
<u--input
|
||
prefixIcon="search"
|
||
placeholder="请输入关键字"
|
||
border="surround"
|
||
v-model="keyword"
|
||
clearable
|
||
shape="circle"
|
||
></u--input>
|
||
<view class="bth-mini ml-10">
|
||
<u-button type="success" text="确定" @click="resetList"></u-button>
|
||
</view>
|
||
|
||
</view>
|
||
<u-popup :show="popupShow" @close="popupShow = false" mode="right" :customStyle="{width:'85vw'}">
|
||
<view class="card">
|
||
<view class="pl-10 pr-10">
|
||
<u--form 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>
|
||
<view class="mt-10 flex-between">
|
||
<view class="flex1">
|
||
<u-button type="info" text="重置" @click="reset"></u-button>
|
||
</view>
|
||
<view class="ml-10 flex1">
|
||
<u-button type="primary" text="查询" @click="resetList"></u-button>
|
||
</view>
|
||
</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"
|
||
@click="fnNavigatorDetail(item.HIDDEN_ID)"></u-button>
|
||
</view>
|
||
</view>
|
||
</u-list-item>
|
||
</u-list>
|
||
<empty v-else></empty>
|
||
<fab-button type="search" @click="popupShow = true"/>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import {getDept, getGeneralHiddenList, getHiddenLevel} from "../../../api";
|
||
import FabButton from "@/components/fab_button/index.vue";
|
||
|
||
export default {
|
||
components: {FabButton},
|
||
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}
|
||
]
|
||
],
|
||
}
|
||
},
|
||
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>
|