From c819024e241b9f7c54cc3786373ad0d2998f2190 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期五, 05 五月 2023 08:55:46 +0800
Subject: [PATCH] 修改

---
 src/views/hiddenDangerManagement/index.vue |  235 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 202 insertions(+), 33 deletions(-)

diff --git a/src/views/hiddenDangerManagement/index.vue b/src/views/hiddenDangerManagement/index.vue
index bff6334..74d30e6 100644
--- a/src/views/hiddenDangerManagement/index.vue
+++ b/src/views/hiddenDangerManagement/index.vue
@@ -99,7 +99,8 @@
         <el-row class="title-center">
             <el-col :span="7">
                 <el-radio-group v-model="listQuery.form.alter_status">
-                    <el-radio-button v-for="item in statusList" :label="item.value" :key="item.value"></el-radio-button>
+                    <el-radio-button v-for="item in statusList" :label="item.value" :key="item.value"
+                                     @change.native="getPageList"></el-radio-button>
                 </el-radio-group>
             </el-col>
             <el-col :span="10">
@@ -121,6 +122,7 @@
                                 type="primary"
                                 class="btns"
                                 size="small"
+                                v-show="buttomShow"
                                 icon="el-icon-bottom"
                             >导入
                             </el-button
@@ -131,6 +133,8 @@
                             type="primary"
                             class="btns"
                             size="small"
+                            v-show="buttomShow"
+                            @click="downTemplate"
                             icon="el-icon-download"
                         >下载模板
                         </el-button
@@ -143,6 +147,7 @@
                     class="btns"
                     type="primary"
                     size="small"
+                    v-show="buttomShow"
                     @click="fillRectification()"
                 >填写整改
                 </el-button
@@ -155,47 +160,90 @@
                 >填写督查
                 </el-button
                 >
+                <el-button
+                    class="btns"
+                    type="primary"
+                    size="small"
+                    v-show="!buttomShow"
+                    @click="revoke()"
+                >撤销
+                </el-button
+                >
                 <el-button class="btns" type="primary" icon="el-icon-plus" @click="jump" size="small"
+                           v-show="buttomShow"
                 >添加
                 </el-button
                 >
-                <el-button size="small" @click="deleteBath"
+                <el-button size="small" @click="deleteBath" v-show="buttomShow"
                 >批量删除
                 </el-button
                 >
 
             </el-col>
         </el-row>
-        <el-table :data="tableData" ref="dataTable" style="width: 100%">
+        <el-table :data="tableData" ref="dataTable" style="width: 100%" v-loading="loading">
             <el-table-column type="selection" width="55" align="center"></el-table-column>
-            <el-table-column prop="number" label="编号" align="center" width="120"></el-table-column>
+            <el-table-column prop="number" label="编号" align="center" width="120">
+                <template slot-scope="scope">
+                    <div class="blue-font-color" @click="showDetails(scope.row)">{{ scope.row.number }}</div>
+                </template>
+            </el-table-column>
             <el-table-column prop="ht_branch" label="隐患单位" align="center" width="120"></el-table-column>
             <el-table-column prop="check_man" label="检查人" align="center" width="120"></el-table-column>
             <el-table-column label="隐患项目" align="center">
-                <el-table-column prop="check_date" label="检查时间" width="120" align="center"></el-table-column>
+                <el-table-column prop="check_date" label="检查时间" width="120" align="center">
+                    <template slot-scope="scope">
+                        <label>{{ formatDate(scope.row.check_date) }}</label><br/>
+                        <label>{{ scope.row.check_class }}</label>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="address" label="地点" align="center"></el-table-column>
-                <el-table-column prop="ht_content" label="内容" align="center"></el-table-column>
-                <el-table-column prop="ht_typesub" label="类别" align="center"></el-table-column>
-                <el-table-column prop="ht_level" label="级别" align="center"></el-table-column>
+                <el-table-column prop="ht_content" label="内容" width="150" align="center">
+                    <template slot-scope="scope">
+                        <el-popover trigger="hover" placement="top">
+                            <p>{{ scope.row.ht_content }}</p>
+                            <div slot="reference" class="name-wrapper">{{
+                                    scope.row.ht_content != null && scope.row.ht_content.length > 10 ? scope.row.ht_content.substring(0, 8) + "...." : scope.row.ht_content
+                                }}
+                            </div>
+                        </el-popover>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="ht_typesub" label="类别"  align="center"></el-table-column>
+                <el-table-column prop="ht_level" label="级别" width="100" align="center"></el-table-column>
             </el-table-column>
             <el-table-column label="整改计划" align="center">
-                <el-table-column prop="measure" label="整改措施" align="center"></el-table-column>
+                <el-table-column prop="measure" label="整改措施" width="150" align="center"></el-table-column>
                 <!-- <el-table-column label="隐患部门" align="center"> </el-table-column> -->
                 <el-table-column prop="duty_officer" label="责任人" align="center"></el-table-column>
-                <el-table-column prop="alter_time" label="限改时间" width="120" align="center"></el-table-column>
+                <el-table-column prop="alter_time" label="限改时间" :formatter="formatColumnDate" width="120"
+                                 align="center">
+                    <template slot-scope="scope">
+                            <div v-if="new Date(scope.row.alter_time).getTime()>new Date().getTime()" slot="reference" class="name-wrapper">{{
+                                    formatDate(scope.row.alter_time)
+                                }}
+                            </div>
+                        <div style="background-color: orange;height: 50px;line-height: 50px" v-if="new Date(scope.row.alter_time).getTime()<new Date().getTime()" slot="reference" class="name-wrapper">{{
+                                formatDate(scope.row.alter_time)
+                            }}
+                        </div>
+                    </template>
+                </el-table-column>
                 <!-- <el-table-column label="级别" align="center"> </el-table-column> -->
             </el-table-column>
             <el-table-column label="整改情况" align="center">
-                <el-table-column prop="ACCOMPLISHTIME" label="完成时间" width="120" align="center"></el-table-column>
+                <el-table-column prop="ACCOMPLISHTIME" label="完成时间" :formatter="formatColumnDate" width="120"
+                                 align="center"></el-table-column>
                 <!-- <el-table-column label="复查结果" align="center"> </el-table-column> -->
                 <el-table-column prop="CALLBACKPERSON" label="复查人" align="center"></el-table-column>
-                <el-table-column prop="CALLBACKTIME" label="复查时间" width="120" align="center"></el-table-column>
+                <el-table-column prop="CALLBACKTIME" label="复查时间" :formatter="formatColumnDate" width="120"
+                                 align="center"></el-table-column>
             </el-table-column>
             <!-- <el-table-column label="隐患处理状态" align="center"> </el-table-column> -->
-            <el-table-column prop="DTRisk_bankId" label="是否关联" align="center">
+            <el-table-column prop="DTRisk_bankId" label="是否关联" align="center" >
                 <template slot-scope="scope">
                     <span
-                        v-if="scope.row.DTRisk_bankId==0 || scope.row.DTRisk_bankId=='' || scope.row.DTRisk_bankId==null">未关联</span>
+                        v-if="scope.row.DTRisk_bankId==0 || scope.row.DTRisk_bankId=='' || scope.row.DTRisk_bankId==null" style="color: red">未关联</span>
                     <span v-else>已关联</span>
                 </template>
             </el-table-column>
@@ -203,10 +251,10 @@
             <el-table-column label="初始警情" align="center" prop="warningLevel"></el-table-column>
             <el-table-column label="当前警情" align="center" prop="curWarningLevel"></el-table-column>
             <!-- <el-table-column label="流程操作" align="center"> </el-table-column> -->
-            <el-table-column label="基本操作" align="center">
+            <el-table-column label="基本操作" align="center" fixed="right">
                 <template slot-scope="scope">
                     <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
-                    <el-button type="text" size="small">删除</el-button>
+                    <el-button type="text" @click="handleDelete(scope.row)" size="small">删除</el-button>
                 </template>
             </el-table-column>
         </el-table>
@@ -226,12 +274,20 @@
     </div>
 </template>
 <script>
-import {getPageList, self_export_do, self_import_do, self_del_do} from "@/api/sgyhpczl/hiddenDangerManagement";
+import {
+    getPageList,
+    self_export_do,
+    self_import_do,
+    self_del_do,
+    self_revoke,
+    self_template,
+} from "@/api/sgyhpczl/hiddenDangerManagement";
 import {initJCBM, initYHLX, initBC, initJCLB, initYHBM, initYHJB, initReformStatus} from "@/api/sgyhpczl/initSelect";
 
 export default {
     data() {
         return {
+            buttomShow: true,
             fileList: [],
             statusList: [],
             options: [],
@@ -248,6 +304,7 @@
             YHBMList: [],
             YHJBList: [],
             tableData: [],
+            loading:false,
             listQuery: {
                 page: 1,
                 limit: 10,
@@ -266,6 +323,16 @@
         this.initBC()
         this.initJCLB()
         this.initReformStatus()
+    },
+    watch: {
+        "listQuery.form.alter_status": function (newVal, oldVal) {
+            console.log(newVal)
+            if (newVal == "整改完成") {
+                this.buttomShow = false;
+            } else {
+                this.buttomShow = true;
+            }
+        }
     },
     methods: {
         initReformStatus() {
@@ -330,7 +397,9 @@
         getPageList() {
             this.listQuery.page = 1
             this.checkTime()
+            this.loading = true
             getPageList(this.listQuery).then(res => {
+                this.loading = false
                 if (res.data.ok == 1) {
                     this.tableData = res.data.data.items
                     this.recordTotal = res.data.data.total
@@ -403,35 +472,43 @@
                 path: "/fillRectificationAdd"
             })
         },
+        handleClick(row){
+            this.$router.push({
+                path: "/fillRectificationAdd",
+                query:row
+            })
+        },
         fillRectification() {
             var checkData = this.$refs.dataTable.selection;
-            if(checkData.length < 1){
-                this.$message({type: 'warn', message: "请选择勾选需要填写的数据!", duration: 3000})
+            if (checkData.length < 1) {
+                this.$message({type: 'warning', message: "请选择勾选需要填写的数据!", duration: 3000})
                 return;
             }
             this.$router.push({
                 path: "/fillRectification",
-                query:{"checkData":checkData}
+                query: {"checkData": checkData}
             })
         },
         fillInspector() {
             var checkData = this.$refs.dataTable.selection;
-            if(checkData.length < 1){
-                this.$message({type: 'warn', message: "请选择勾选需要填写的数据!", duration: 3000})
+            if (checkData.length < 1) {
+                this.$message({type: 'warning', message: "请选择勾选需要填写的数据!", duration: 3000})
                 return;
             }
             this.$router.push({
                 path: "/fillInspector",
-                query:{"checkData":checkData}
+                query: {"checkData": checkData}
             })
             window.open(href, '_blank');
         },
         exportData() {
-            var requestData = this.listQuery;
+            this.listLoading = true
+            var requestData = JSON.parse(JSON.stringify(this.listQuery));
             //删除分页参数
             this.$delete(requestData, 'page')
             this.$delete(requestData, 'limit')
             self_export_do(requestData).then(res => {
+                this.listLoading = false
                 var blob = new Blob([res.data])
                 var downloadElement = document.createElement('a')
                 var href = window.URL.createObjectURL(blob) //创建下载的链接
@@ -445,6 +522,24 @@
                 console.log(err)
             })
         },
+        downTemplate() {
+            //删除分页参数
+            self_template().then(res => {
+                var blob = new Blob([res.data])
+                var downloadElement = document.createElement('a')
+                var href = window.URL.createObjectURL(blob) //创建下载的链接
+                downloadElement.href = href
+                downloadElement.download = '自查隐患导入模板.xlsx' //下载后文件名
+                document.body.appendChild(downloadElement)
+                downloadElement.click() //点击下载
+                document.body.removeChild(downloadElement) //下载完成移除元素
+                window.URL.revokeObjectURL(href) //释放掉blob对象
+            }).catch(err => {
+                console.log(err)
+            })
+        },
+
+
         //文件发生改变就会触发的事件 导入
         uploadByJsqd(file) {
             //判断是否符合beforeAvatarUpload方法中的条件
@@ -477,25 +572,25 @@
             }
             return true
         },
-        deleteBath() {
+
+        revoke() {
             var checkData = this.$refs.dataTable.selection;
             if (checkData.length < 1) {
-                this.$message({type: 'warn', message: "请选择勾选需要删除的数据!", duration: 3000})
+                this.$message({type: 'warning', message: "请勾选需要撤销的数据!", duration: 3000})
                 return;
             }
-            var deleteIds = "";
+            var revokeIds = "";
             checkData.forEach(n => {
-                deleteIds += n.id + ",";
+                revokeIds += n.id + ",";
             })
-            deleteIds = deleteIds.substring(0, deleteIds.length - 1);
-            console.log(deleteIds)
-            this.$confirm('确认删除吗', '提示', {
+            revokeIds = revokeIds.substring(0, revokeIds.length - 1);
+            this.$confirm('确认要撤销吗', '提示', {
                 confirmButtonText: '确认',
                 cancelButtonText: '取消',
                 type: 'warning'
             }).then((res) => {
                 console.log(res);
-                self_del_do(deleteIds).then(res=>{
+                self_revoke(revokeIds).then(res => {
                     if (res.data.ok) {
                         this.$message({type: 'success', message: res.data.msg, duration: 3000})
                         this.getPageList()//调用表格方法,刷新页面
@@ -503,6 +598,77 @@
                         this.$message({type: 'error', message: res.data.msg, duration: 3000})
                     }
                 })
+            })
+        },
+
+        deleteBath() {
+            var checkData = this.$refs.dataTable.selection;
+            if (checkData.length < 1) {
+                this.$message({type: 'warning', message: "请勾选需要删除的数据!", duration: 3000})
+                return;
+            }
+            var deleteIds = "";
+            checkData.forEach(n => {
+                deleteIds += n.id + ",";
+            })
+            deleteIds = deleteIds.substring(0, deleteIds.length - 1);
+            this.$confirm('确认要删除吗', '提示', {
+                confirmButtonText: '确认',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then((res) => {
+                console.log(res);
+                self_del_do(deleteIds).then(res => {
+                    if (res.data.ok) {
+                        this.$message({type: 'success', message: res.data.msg, duration: 3000})
+                        this.getPageList()//调用表格方法,刷新页面
+                    } else {
+                        this.$message({type: 'error', message: res.data.msg, duration: 3000})
+                    }
+                })
+            })
+        },
+        //方法区
+        formatDate(data) {
+            // 获取单元格数据
+            if (data == null) {
+                return null
+            }
+            let dt = new Date(data)
+            return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate()
+        },
+
+        //方法区
+        formatColumnDate(row, column) {
+            // 获取单元格数据
+            let data = row[column.property]
+            if (data == null) {
+                return null
+            }
+            let dt = new Date(data)
+            return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' '
+        },
+        handleDelete(row){
+            this.$confirm('确认要删除吗', '提示', {
+                confirmButtonText: '确认',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then((res) => {
+                self_del_do(row.id).then(res => {
+                    if (res.data.ok) {
+                        this.$message({type: 'success', message: res.data.msg, duration: 3000})
+                        this.getPageList()//调用表格方法,刷新页面
+                    } else {
+                        this.$message({type: 'error', message: res.data.msg, duration: 3000})
+                    }
+                })
+            })
+        },
+        showDetails(row){
+            //hiddenDangerManagement
+            this.$router.push({
+                path: "/dangerDetails",
+                query: {"id": row.id, "route": "/hiddenDangerManagement"}
             })
         }
     }
@@ -536,7 +702,10 @@
     border: none;
     border-radius: 0px;
 }
-
+.blue-font-color:hover{
+    cursor: pointer;
+    color: blue;
+}
 .title-center /deep/ .el-radio-button__orig-radio:checked + .el-radio-button__inner {
     background-color: #034ea2;
     background-color: #034ea2;

--
Gitblit v1.9.2