<template> <view class="content"> <u-tabs lineWidth="336rpx" :list="tabsList" itemStyle="height:80rpx;padding-bottom:10rpx;background-color: #fff;" @click="tabsClick" ></u-tabs> <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.OUTSOURCED_NAME ? item.OUTSOURCED_NAME : item.AIOUTSOURCED_NAME }}</text> </view> <view class="flex-between mt-10 subtitle"> <text> 隐患来源:{{ sourceState[item.SOURCE] }} </text> </view> <view class="flex-between mt-10 subtitle"> <text>隐患描述:{{ item.HIDDENDESCR }}</text> </view> <view class="flex-between mt-10 subtitle"> <text>隐患发现人:{{ item.CREATOR_NAME || item.CREATOR_NAMES }}</text> </view> <view class="flex-between mt-10 subtitle"> <text>隐患发现时间:{{ item.CREATTIME }}</text> </view> <view class="flex-between mt-10 subtitle"> <text>隐患整改人:{{ item.RECTIFICATIONOR_NAME }}</text> <text>整改时间:{{ item.RECTIFICATIONTIME }}</text> </view> <view class="flex-between mt-10 subtitle"> <text>隐患验收人:{{ item.CREATOR_NAME }}</text> <text>验收时间:{{ item.CHECKTIME }}</text> </view> <view class="flex-between mt-10 subtitle"> <text>隐患状态:{{ state[item.STATE] }}</text> <text>是否处罚:{{ item.ISPUNISH && (item.ISPUNISH === "1" ? "是" : "否") }}</text> </view> <view class="flex-end mt-10 subtitle"> <view v-if="item.CREATOR == userInfo.USER_ID && tabsType === '1'"> <u-button type="primary" text="验收" size="mini" @click="fnNavigatorDetail(item.HIDDEN_ID,'acceptance')"></u-button> </view> <view class="ml-10"> <u-button type="primary" text="查看" size="mini" @click="fnNavigatorDetail(item.HIDDEN_ID,'view')"></u-button> </view> <!-- <u-button v-if="item.ISPUNISH !== '2' && !item.KEYPROJECTPUNISH_ID && item.PUNISH_THE_PERSON && item.PUNISH_THE_PERSON.includes(userInfo.USER_ID ) " color="linear-gradient(to right, #ff6034, #ee0a24)" text="处罚" size="mini" class="bth-mini ml-10" @click="fnModalShow(item)"></u-button> --> <view></view> </view> </view> </u-list-item> </u-list> <empty v-else></empty> <u-modal :show="modalShow" title="处罚" showCancelButton @cancel="modalShow = false" @confirm="fnSubmit"> <view style="flex: 1"> <u-cell-group :border="false"> <view class="cu-form-group"> <view class="title">是否进行罚款:</view> <radio-group @change="changeRadioGroup($event)"> <label class="radio"> <radio value="1" :checked="punishForm.ISPUNISH === '1'" :disabled="TabCur == 2"/> 是</label> <label class="radio"> <radio value="2" :checked="punishForm.ISPUNISH === '2'" :disabled="TabCur == 2"/> 否</label> </radio-group> </view> <view v-if="punishForm.ISPUNISH==1"> <u-cell> <view slot="title" class="title required"> 处罚原因: </view> <view slot="value"> <u--input v-model="punishForm.REASON" border="none" inputAlign="right"></u--input> </view> </u-cell> <u-cell> <view slot="title" class="title required"> 处罚金额: </view> <view slot="value"> <u--input v-model="punishForm.AMOUT" border="none" type="number" inputAlign="right"></u--input> </view> </u-cell> <u-cell> <view slot="title" class="title required"> 被处罚单位: </view> <view slot="value">{{ punishForm.RECTIFICATIONDEPT_NAME }}</view> </u-cell> <u-cell> <view slot="title" class="title required"> 被处罚人: </view> <view slot="value">{{ punishForm.RECTIFICATIONOR_NAME }}</view> </u-cell> <u-cell> <view slot="title" class="title required">下发处罚时间:</view> <view slot="value"> <text @click="timeShow = true">{{ punishForm.DATE || '请选择' }}</text> <u-datetime-picker :show="timeShow" :value="punishForm.DATE" :minDate="Number(1970)" @cancel="timeShow = false" @confirm="timeConfirm"></u-datetime-picker> </view> </u-cell> </view> </u-cell-group> </view> </u-modal> </view> </template> <script> import {getKeyProjectsCheckHiddenList, getKeyProjectsPunishAdd, editHiddenIspunish} from "../../../api"; export default { data() { return { TabCur: 0, //迁移变量,作用未知 tabsList: [ {name: '待验收隐患', id: '1'}, {name: '已验收隐患', id: '2'} ], tabsType: '1', CORPINFO_ID: '', pageSize: 10, currentPage: 1, totalPage: 0, list: [], sourceState: { 1: "AI报警", 2: "AI报警(企业端)", 4: "安全环保检查(监管端)", 5: "安全环保检查(企业端)", 8: "点检隐患", }, state: { 1: "未整改", 2: "已整改", 4: "已验收", }, modalShow: false, punishForm: { ISPUNISH: '', HIDDEN_ID: '', RECTIFICATIONDEPT_NAME: '', RECTIFICATIONOR_NAME: '', REASON: '', AMOUT: '', DATE: uni.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM'), }, punishRules: { 'REASON': '请填写处罚原因', 'AMOUT': '请填写处罚金额', 'DATE': '请选择下发处罚时间', }, timeShow: false } }, onShow() { this.resetList() }, onLoad(e) { this.CORPINFO_ID = e.CORPINFO_ID }, computed: { userInfo() { return this.$store.getters.getUserInfo } }, methods: { async getData() { let resData = await getKeyProjectsCheckHiddenList({ showCount: this.pageSize, currentPage: this.currentPage, CREATOR: this.userInfo.USER_ID, CORPINFO_ID: this.CORPINFO_ID, ISCHECK: this.tabsType }); 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, type) { uni.$u.route({ url: '/pages/key-project-management/hidden-management/view', params: { HIDDEN_ID, type: type } }) }, scrolltolower() { this.currentPage++; if (this.totalPage >= this.currentPage) this.getData(); }, tabsClick(e) { this.tabsType = e.id this.resetList() }, fnModalShow(item) { this.punishForm.HIDDEN_ID = item.HIDDEN_ID this.punishForm.RECTIFICATIONDEPT_NAME = item.RECTIFICATIONDEPT_NAME this.punishForm.RECTIFICATIONOR_NAME = item.RECTIFICATIONOR_NAME this.modalShow = true }, timeConfirm(e) { this.punishForm.DATE = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM') this.timeShow = false; }, changeRadioGroup(e) { console.log(e.detail.value) if (this.TabCur == 2) return this.punishForm.ISPUNISH = e.detail.value }, async fnSubmit() { if (this.punishForm.ISPUNISH == 1) { for (const key in this.punishRules) { if (!this.punishForm[key]) { uni.showToast({ title: this.punishRules[key], icon: 'none' }) return } } await getKeyProjectsPunishAdd({ ...this.punishForm, CREATOR: this.userInfo.USER_ID, OPERATOR: this.userInfo.USER_ID }) this.punishForm = { HIDDEN_ID: '', ISPUNISH: '', RECTIFICATIONDEPT_NAME: '', RECTIFICATIONOR_NAME: '', REASON: '', AMOUT: '', DATE: formatDate(new Date(), 'yyyy-MM-dd hh:mm'), }, await this.editHiddenIspunishIndex(1) } else { await this.editHiddenIspunishIndex(2) } }, editHiddenIspunishIndex(Ispunish) { // 如果不处罚 修改隐患 editHiddenIspunish({ ...this.punishForm, ISPUNISH: Ispunish }) this.modalShow = false this.resetList() }, } } </script> <style scoped> </style>