<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>