From 999cab6fb3fc6d2a288d365da991351c5a396bf0 Mon Sep 17 00:00:00 2001 From: Admin <978517621@qq.com> Date: 星期三, 21 九月 2022 15:53:18 +0800 Subject: [PATCH] 删除无用页面 --- src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue | 217 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 196 insertions(+), 21 deletions(-) diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue index 093ec04..4ebf282 100644 --- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue +++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue @@ -3,6 +3,19 @@ <el-card shadow="hover"> <div class="system-user-search mb15"> <div class="basic-line"> + <div style="display: inline-block">整改编号:</div> + + <div style="display: inline-block"> + <el-autocomplete :fetch-suggestions="querySearch" v-model="rectifyData.params.serialCode" v-on:input="checkDate($event)" placeholder="整改编号(前八位日期)"> </el-autocomplete> + <i class="el-icon-date"></i> + </div> + <!-- <div style="display: inline-block">--> + <!-- <el-button>--> + <!-- <el-date-picker value-format="YYYY-MM-DD" :disabled-date="disabledDate" v-model="dateTime" @change="getSerialCodeList" placeholder="选择日期"> </el-date-picker>--> + <!-- </el-button>--> + <!-- </div>--> + </div> + <div class="basic-line"> <span>整改类型:</span> <el-select class="input-box" v-model="rectifyData.params.rectifyType" placeholder="整改类型" filterable> <el-option v-for="item in rectifyTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option> @@ -12,7 +25,17 @@ <span>整改部门:</span> <el-cascader :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-box" v-model="rectifyData.params.rectifyDepId"> </el-cascader> </div> - + <div class="basic-line"> + <span>隐患状态:</span> + <el-select class="input-box" v-model="rectifyData.params.dangerStatus" placeholder="隐患状态" filterable clearable> + <el-option v-for="item in dangerStatusList" :key="item.id" :label="item.name" :value="item.id"></el-option> + </el-select> + </div> + <div class="basic-line"> + <span>创建时间范围:</span> + <el-date-picker v-model="dateTimeRange" @change="giveTime" value-format="YYYY-MM-DD HH:mm:ss" type="datetimerange" range-separator="To" start-placeholder="开始时间" end-placeholder="结束时间" /> + </div> + <i class="el-icon-date"></i> <el-button size="default" type="primary" class="ml10" v-throttle @click="handleSearch"> <el-icon> <ele-Search /> @@ -22,32 +45,33 @@ </div> <el-table :data="rectifyData.data" style="width: 100%" fit highlight-current-row> <el-table-column type="index" label="序号" width="60" /> - <el-table-column prop="rectifyDesc" label="整改内容说明" show-overflow-tooltip min-width="150px"></el-table-column> - <el-table-column prop="rectifyTime" label="整改期限" show-overflow-tooltip min-width="200px"> + <el-table-column prop="reportTime" label="上报时间" show-overflow-tooltip width="170px"></el-table-column> + <el-table-column prop="dangerCode" label="隐患名称" show-overflow-tooltip></el-table-column> + <el-table-column prop="rectifyDesc" label="整改内容说明" show-overflow-tooltip></el-table-column> + <el-table-column prop="rectifyTime" label="整改期限" min-width="130px" show-overflow-tooltip> <template #default="scope"> <span>{{ scope.row.rectifyTime }}</span> - <span v-if="scope.row.dangerStatus === 2" class="overdue-img">逾期</span> - <span v-if="scope.row.dangerStatus === 9" class="overdue-img">逾期</span> + <span v-if="scope.row.dangerStatus === 4" class="overdue-img">逾期</span> </template> </el-table-column> - <el-table-column prop="rectifyType" label=" 整改类型" show-overflow-tooltip min-width="150px"> + <el-table-column prop="rectifyType" label=" 整改类型" show-overflow-tooltip> <template #default="scope"> {{ parseNumber(scope.row.rectifyType, '整改类型') }} </template> </el-table-column> - <el-table-column prop="liablePerson" label="整改责任人" show-overflow-tooltip min-width="150px"></el-table-column> - <el-table-column prop="cost" label="整改资金" show-overflow-tooltip min-width="150px"></el-table-column> - <el-table-column prop="dangerStatus" label="隐患整改状态" show-overflow-tooltip min-width="150px" align="center"> + <el-table-column prop="liablePerson" label="整改责任人" show-overflow-tooltip></el-table-column> + <el-table-column prop="cost" label="整改资金" show-overflow-tooltip></el-table-column> + <el-table-column prop="dangerStatus" label="隐患整改状态" show-overflow-tooltip align="center"> <template #default="scope"> <el-tag :type="scope.row.dangerStatus === 0 ? 'info' : scope.row.dangerStatus === 1 ? 'primary' : scope.row.dangerStatus === 2 ? 'warning' : scope.row.dangerStatus === 4 ? 'danger' : 'success'"> {{ parseNumber(scope.row.dangerStatus, '隐患整改状态') }} </el-tag> </template> </el-table-column> - <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip min-width="150px"></el-table-column> - <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip min-width="200px"></el-table-column> - <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip min-width="150px"></el-table-column> - <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip min-width="200px"></el-table-column> + <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip></el-table-column> + <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip></el-table-column> + <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip></el-table-column> + <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip></el-table-column> <el-table-column label="操作" width="250" fixed="right" align="center"> <template #default="scope"> <el-button size="small" text type="primary" :icon="View" @click="onOpenDialogRef('查看', scope.row)">查看</el-button> @@ -67,7 +91,7 @@ </template> <script lang="ts"> -import { toRefs, reactive, onMounted, ref, defineComponent } from 'vue'; +import { toRefs, reactive, onMounted, ref, defineComponent, computed } from 'vue'; import { ElMessageBox, ElMessage } from 'element-plus'; import rectifyDialog from './components/rectifyDialog.vue'; import { Edit, Delete, Check, View } from '@element-plus/icons-vue'; @@ -88,7 +112,9 @@ interface TableDataState { rectifyData: { data: Array<TableData>; + total: number; + disabled: boolean; loading: boolean; params: { pageIndex: number; @@ -96,15 +122,26 @@ rectifyType: number | null; rectifyDepId: number | null; dangerStatus: number | null; + serialCode: string; + startTime: string; + endTime: string; }; }; rectifyTypeList: Array<enumType>; dangerStatusList: Array<enumType>; departmentList: []; + disabledDate: any; + serialCodeList: Array<type>; + dateTime: string; + dateTimeRange: Array<string>; } interface enumType { id: number; name: string; +} +interface type { + id: number; + value: number; } export default defineComponent({ @@ -116,16 +153,26 @@ rectifyData: { data: [], total: 0, + disabled: true, loading: false, params: { pageIndex: 1, pageSize: 10, rectifyType: null, rectifyDepId: null, - dangerStatus: null + dangerStatus: null, + serialCode: '', + startTime: '', + endTime: '' } }, + dateTime: '', + dateTimeRange: [], + disabledDate: (time: any) => { + return time.getTime() > new Date().getTime(); + }, departmentList: [], + serialCodeList: [], rectifyTypeList: [ { id: 1, name: '即查即改' }, { id: 2, name: '限期整改' } @@ -139,17 +186,129 @@ ] }); + const giveTime = () => { + if (state.dateTimeRange && state.dateTimeRange !== null) { + state.rectifyData.params.startTime = state.dateTimeRange[0]; + state.rectifyData.params.endTime = state.dateTimeRange[1]; + } else { + state.rectifyData.params.startTime = ''; + state.rectifyData.params.endTime = ''; + } + }; + + const querySearch = () => { + return state.serialCodeList.filter((item) => item.value.toString().indexOf(state.rectifyData.params.serialCode) !== -1); + }; + const handleChange = (value: string): Boolean => { + let year = value.substr(0, 4); + let month = value.substr(4, 2); + let day = value.substr(6, 2); + if (Number(year) < 1000 || Number(year) > new Date().getFullYear()) { + return false; + } + if (Number(month) > 12 || month === '00') { + return false; + } + let leapYearTab = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + let notLeapYearTab = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + if (isLeapYear(year)) { + const maxDay = leapYearTab[Number(month) - 1]; + if (Number(day) > maxDay) { + return false; + } + } else { + const maxDay = notLeapYearTab[Number(month) - 1]; + if (Number(day) > maxDay) { + return false; + } + } + return true; + }; + + const isLeapYear = (value: string) => { + return Number(value) % 4 === 0; + }; + + const checkDate = async (value: string) => { + if (value.length >= 8) { + if (handleChange(value.substr(0, 8))) { + let res = await hiddenRectifyApi().getCodeByTime(value.substr(0, 4) + '-' + value.substr(4, 2) + '-' + value.substr(6, 2)); + if (res.data.code === '200' && res.data.data > 0) { + state.serialCodeList = []; + let date = parseInt(value.substr(0, 8) + '0000'); + for (let i = 0; i < res.data.data; i++) { + state.serialCodeList.push({ value: date + 1 + i, id: i }); + } + } else if (res.data.code === '200' && res.data.data === 0) { + ElMessage({ + type: 'warning', + message: '当天无隐患上报' + }); + } + } else { + state.rectifyData.params.serialCode = ''; + ElMessage({ + type: 'warning', + message: '前八位请输入正确得日期格式' + }); + } + } else { + } + // if (state.dateTime === '' || state.dateTime === null) { + // state.serialCodeList = []; + // state.rectifyData.params.serialCode = ''; + // } else { + // state.serialCodeList = []; + // state.rectifyData.params.serialCode = ''; + // let res = await hiddenRectifyApi().getCodeByTime(state.dateTime); + // if (res.data.code === '200' && res.data.data > 0) { + // state.rectifyData.disabled = false; + // let date = parseInt(state.dateTime.replaceAll('-', '') + '0000'); + // for (let i = 0; i < res.data.data; i++) { + // state.serialCodeList.push({ value: date + 1 + i, id: i }); + // } + // state.rectifyData.params.serialCode = state.dateTime.replaceAll('-', ''); + // } else if (res.data.code === '200' && res.data.data === 0) { + // state.rectifyData.disabled = true; + // ElMessage({ + // type: 'warning', + // message: '当天无隐患上报' + // }); + // } + // } + }; + // 初始化表格数据 const initRectifyTableData = async () => { - let res = await hiddenRectifyApi().getHiddenRectifyList(state.rectifyData.params); - if (res.data.code === '200') { - state.rectifyData.data = res.data.data; - state.rectifyData.total = res.data.count; - } else { + if (state.rectifyData.params.serialCode.toString().length === 0) { + let res = await hiddenRectifyApi().getHiddenRectifyList(state.rectifyData.params); + if (res.data.code === '200') { + state.rectifyData.data = res.data.data; + state.rectifyData.total = res.data.count; + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } + } else if (state.rectifyData.params.serialCode.toString().length !== 12) { ElMessage({ type: 'warning', - message: res.data.msg + message: '请输入或选择正确的隐患编号' }); + } else { + state.rectifyData.params.serialCode = state.rectifyData.params.serialCode.toString().substr(0, 8) + '-' + state.rectifyData.params.serialCode.toString().substr(8, 4); + let res = await hiddenRectifyApi().getHiddenRectifyList(state.rectifyData.params); + if (res.data.code === '200') { + state.rectifyData.params.serialCode = state.rectifyData.params.serialCode.replaceAll('-', ''); + state.rectifyData.data = res.data.data; + state.rectifyData.total = res.data.count; + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } } }; @@ -228,8 +387,11 @@ View, Check, Delete, + giveTime, + querySearch, parseNumber, handleSearch, + checkDate, onOpenDialogRef, onHandleSizeChange, onDelHiddenRectify, @@ -259,4 +421,17 @@ transform: scale(0.8); padding: 1px 3px 0 3px; } +:deep(.el-textarea.is-disabled .el-textarea__inner) { + background-color: var(--el-card-bg-color); + color: var(--el-input-text-color, var(--el-text-color-regular)); +} +:deep(.el-input.is-disabled .el-input__inner) { + color: var(--el-input-text-color, var(--el-text-color-regular)); +} +:deep(.el-input.is-disabled .el-input__wrapper) { + background-color: var(--el-card-bg-color); +} +:deep(.el-input-group__prepend) { + padding: 0; +} </style> -- Gitblit v1.9.2