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