From ca151ff4c1cdc4a029f13ac6da7d42e4f8147287 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期六, 06 八月 2022 16:18:50 +0800
Subject: [PATCH] 重构双重预防

---
 src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/index.vue |  380 +++++++++++++++++++++++++++++------------------------
 1 files changed, 207 insertions(+), 173 deletions(-)

diff --git a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/index.vue b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/index.vue
index b302709..d8c1f5f 100644
--- a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/index.vue
@@ -1,31 +1,20 @@
 <template>
     <div class="app-container">
         <div style="margin: 15px">
-            <span class="span-filter-label">单号</span>
-            <el-input style="width: 140px" v-model="filter.filter.code" ></el-input>
-            <span class="span-filter-label">隐患等级</span>
-            <el-select v-model="filter.filter.level" clearable  @clear="clearLevel" placeholder="请选择">
-                <el-option
-                    v-for="item in levels"
-                    :key="item.key"
-                    :label="item.value"
-                    :value="item.key">
-                </el-option>
-            </el-select>
-            <span class="span-filter-label">整改人</span>
-            <el-input style="width: 160px" v-model="filter.filter.rectifierName"></el-input>
+            <div class="basic_search">
+                <span>验收人:</span>
+                <el-select v-model="filter.checkAcceptPersonid"  clearable filterable class="analyseUnit_box">
+                    <el-option
+                        v-for="item in userList"
+                        :key="item.id"
+                        :label="item.realname"
+                        :value="item.id"
+                    ></el-option>
+                </el-select>
+            </div>
 
-            <span class="span-filter-label">隐患来源</span>
-            <el-select v-model="filter.filter.source" clearable   placeholder="请选择">
-                <el-option
-                    v-for="item in sources"
-                    :key="item.key"
-                    :label="item.value"
-                    :value="item.key">
-                </el-option>
-            </el-select>
             <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-search"
-                       @click="queryHandle"/>
+                       @click="queryHandle">搜索</el-button>
         </div>
         <div class="table_content">
             <el-table
@@ -37,40 +26,38 @@
                 highlight-current-row
                 style="width: 100%;"
             >
-                <el-table-column type="index" label="序号" align="center" width="80"/>
-                <el-table-column label="单号" prop="code" align="center" />
-                <el-table-column label="状态" prop="status" align="center" >
+                <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">
                     <template slot-scope="scope">
-                        <span >{{scope.row.status}}</span>
-                        <span v-if="new Date(scope.row.rectifydeadline) < new Date() && scope.row.status  !== '已完成'" class="overdue-img">逾期</span>
+                        <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>
                     </template>
                 </el-table-column>
-                <el-table-column label="隐患等级" prop="level" align="center" >
+                <el-table-column prop="rectifyType" label=" 整改类型" show-overflow-tooltip min-width="150px">
                     <template slot-scope="scope">
-                        <el-tag :type="scope.row.level == '重大隐患'?'danger':'warning'">{{scope.row.level}}</el-tag>
+                        {{ parseNumber(scope.row.rectifyType, '整改类型') }}
                     </template>
                 </el-table-column>
-                <el-table-column label="隐患来源" prop="source" align="center" >
+                <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">
                     <template slot-scope="scope">
-                        <span>{{sources.find(item=>item.key === scope.row.source).value}}</span>
+                        <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 label="上报人" prop="requestor" align="center" />
-                <el-table-column label="上报时间" prop="createtime" align="center" />
-                <el-table-column label="整改人" prop="rectifier" align="center" />
-                <el-table-column label="整改期限"   prop="rectifydeadline" align="center" >
-                    <template slot-scope="scope">
-                        <span v-bind:class="{'overdue':new Date(scope.row.rectifydeadline) < new Date() && scope.row.status  !== '已完成'}">{{scope.row.rectifydeadline}}
-                        </span>
-                    </template>
-                </el-table-column>
-                <el-table-column label="整改时间" prop="rectifytime" align="center" />
-
-
+                <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 label="操作" align="center" width="240" class-name="small-padding fixed-width">
                     <template slot-scope="scope">
-                        <el-button  type="text" @click="viewHandle(scope.row)">查看</el-button>
-                        <el-button  type="text" @click="acceptHandle(scope.row)" v-if="scope.row.status === '整改待验收'">验收</el-button>
+                        <el-button type="text" @click="viewHandle('查看',scope.row)">查看</el-button>
+                        <el-button type="text"  v-show="scope.row.dangerStatus === 1" @click="checkDialog(scope.row)">验收</el-button>
+<!--                        <el-button type="text" style="color:red" @click="deleteById(scope.row)">删除</el-button>-->
                     </template>
                 </el-table-column>
             </el-table>
@@ -89,147 +76,194 @@
             />
         </div>
 
+        <accept-dialog ref="accept" @refreshCheck="hiddenDangerList"></accept-dialog>
         <report-view ref="reportView"></report-view>
-        <accept-dialog ref="acceptDialog" @refresh="hiddenDangerList"></accept-dialog>
-
+        <rectify-dialog ref="rectifyDialog" @refresh = "hiddenDangerList"></rectify-dialog>
 
         <div style="clear: both;"></div>
     </div>
 </template>
 
 <script>
-    import { checkBtnPermission} from "@/utils/permission";
-    import { hiddenDangerAcceptList} from '@/api/hiddenDanger';
-    import reportView from "../components/reportView";
-    import acceptDialog from "./components/acceptDialog";
+import { checkBtnPermission} from "@/utils/permission";
+import { hiddenDangerRectifyList } from '@/api/hiddenDanger';
+import reportView from "../components/reportView";
+import rectifyDialog from "../rectify/components/rectifyDialog";
+import {deleteHiddenDangerReport, hiddenDangerAcceptList} from "../../../../../api/hiddenDanger";
+import {safetyInspectionItemName} from "../../../../../api/safetySelfInspection";
+import AcceptDialog from "./components/acceptDialog";
 
-    export default {
-        name: "confirm",
-        components: {
-            reportView,
-            acceptDialog,
-        },
-        data() {
-            return {
-                recordTotal: 0,
-                tableKey: 0,
-                tableData:[],
-                listLoading: true,
-                levels:[
-                    {"key":"URGENT","value":"重大隐患"},
-                    {"key":"COMMON","value":"一般隐患"},
-                ],
-                sources:[
-                    {"key":1,"value":"隐患上报"},
-                    {"key":2,"value":"巡检上报"},
-                ],
-                dataForm: {
-                    id:'',
-                    note: '',
-                    level:'',
-                    rejectnote:'',
-                },
-                filter:{
-                    pageIndex:1,
-                    pageSize:10,
-                    filter:{
-                        code:'',
-                        level:null,
-                        rectifierName:'',
-                        source:'',
-                    }
-                }
+export default {
+    name: "rectify",
+    components: {
+        AcceptDialog,
+        reportView,
+        rectifyDialog,
+    },
+    data() {
+        return {
+            recordTotal: 0,
+            tableKey: 0,
+            tableData:[],
+            userList:[],
+            listLoading: false,
+            departmentList: [],
+            rectifyTypeList: [
+                { id: 1, name: '即查即改' },
+                { id: 2, name: '限期整改' }
+            ],
+            dangerStatusList: [
+                { id: 0, name: '整改中' },
+                { id: 1, name: '待验收' },
+                { id: 2, name: '延期整改' },
+                { id: 4, name: '超期未整改' },
+                { id: 9, name: '已验收' }
+            ],
+            filter:{
+                pageIndex:1,
+                pageSize:10,
+                checkAcceptPersonid: null,
             }
-        },
-        created() {
-            this.hiddenDangerList();
-        },
-
-        methods: {
-            queryHandle: function () {
-                this.filter.pageIndex = 1
-                this.hiddenDangerList()
-            },
-
-
-            viewHandle: function (row) {
-                this.$refs.reportView.showDialog("查看",row)
-            },
-
-            acceptHandle(row){
-                this.$refs.acceptDialog.showDialog(row)
-            }  ,
-
-            handleSizeChange: function (val) {
-                this.filter.pageSize = val
-                this.filter.pageIndex = 1
-                this.hiddenDangerList()
-            },
-            handleCurrentChange: function (val) {
-                this.filter.pageIndex = val
-                this.hiddenDangerList()
-            },
-            getBtnPermission(btnType) {
-                return checkBtnPermission(this.userType, btnType)
-            },
-
-            downloadHandle(fileurl){
-                window.open(fileurl, '_blank');
-            },
-
-
-            handleChange(file, fileList) {
-                this.fileList = fileList
-            },
-
-            hiddenDangerList(){
-                this.listLoading = true
-                hiddenDangerAcceptList(this.filter)
-                    .then(res=>{
-                        if (res.data.code === '200') {
-                            this.tableData =  res.data.result.records
-                            this.recordTotal =  res.data.result.total
-                        }
-                        else{
-                            this.$message({message: res.data.message, type: 'warning'});
-                        }
-                    })
-                    .catch(err=>{
-                        console.log(err)
-                        this.$message({message: '接口错误', type: 'warning'});
-                    })
-                    .finally(()=>{
-                        this.listLoading = false
-                    })
-            },
-            clearLevel(){
-                this.filter.filter.level = null
-            }
-
-
         }
+    },
+    created() {
+        this.hiddenDangerList();
+        this.getUser()
+    },
+    methods: {
+        queryHandle: function () {
+            this.filter.pageIndex = 1
+            this.hiddenDangerList()
+        },
+        checkDialog(row){
+            this.$refs.accept.showDialog(row)
+        },
+        viewHandle (type,row) {
+            this.$refs.rectifyDialog.showDialog(type,row)
+        },
+        rectifyHandle(row){
+            this.$refs.rectifyDialog.show(row)
+        },
+
+        handleSizeChange: function (val) {
+            this.filter.pageSize = val
+            this.filter.pageIndex = 1
+            this.hiddenDangerList()
+        },
+        handleCurrentChange: function (val) {
+            this.filter.pageIndex = val
+            this.hiddenDangerList()
+        },
+        getBtnPermission(btnType) {
+            return checkBtnPermission(this.userType, btnType)
+        },
+
+
+        downloadHandle(fileurl){
+            window.open(fileurl, '_blank');
+        },
+
+        async getUser(){
+            let res = await safetyInspectionItemName()
+            if(res.data.code === '200'){
+                this.userList = res.data.result
+            }else{
+                this.$message({
+                    message:res.data.message,
+                    type:'warning'
+                })
+            }
+        },
+
+        hiddenDangerList(){
+            this.listLoading = true
+            hiddenDangerAcceptList(this.filter)
+                .then(res=>{
+                    if (res.data.code === '200') {
+                        this.tableData =  res.data.data
+                        this.recordTotal =  res.data.count
+                    }
+                    else{
+                        this.$message({message:  res.data.message, type: 'warning'});
+                    }
+
+                })
+                .catch(err=>{
+                    console.log(err)
+                    this.$message({message: '接口错误', type: 'warning'});
+
+                })
+                .finally(()=>{
+                    this.listLoading = false
+                })
+        },
+
+        parseNumber (value, type) {
+            if (type === '整改类型') {
+                return this.rectifyTypeList.find((item) => item.id === value).name;
+            } else if (type === '隐患整改状态') {
+                return this.dangerStatusList.find((item) => item.id === value).name;
+            }
+        },
+
+        deleteById(val){
+            this.$confirm('删除此条信息,是否继续','提示',{
+                confirmButtonText:'确定',
+                cancelButtonText:'取消',
+                type:'warning',
+            }).then(()=> {
+                deleteHiddenDangerReport({id:val.id}).then( ()=>{
+                    this.hiddenDangerList()
+                    this.$notify({
+                        title:'成功',
+                        message:'删除成功',
+                        type:'success',
+                        duration:2000,
+                    })
+                })
+            })
+        },
+
+        clearLevel(){
+            this.filter.filter.level = null
+        },
+        clearStatus(){
+            this.filter.filter.status = null
+        },
+
     }
+}
 </script>
 
 <style scoped>
-    .overdue{
-        color: red;
-    }
-    .overdue-img{
-        position: absolute;
-        background-color: #f56c6c;
-        border-radius: 4px;
-        color: #fff;
-        display: inline-block;
-        font-size: 12px;
-        height: 21px;
-        line-height: 18px;
-        text-align: center;
-        white-space: nowrap;
-        border: 1px solid #fff;
-        transform: scale(0.8);
-        padding: 1px 3px 0 3px;
 
-    }
+.overdue{
+    color: red;
+}
+.overdue-img{
+    position: absolute;
+    background-color: #f56c6c;
+    border-radius: 4px;
+    color: #fff;
+    display: inline-block;
+    font-size: 12px;
+    height: 21px;
+    line-height: 18px;
+    text-align: center;
+    white-space: nowrap;
+    border: 1px solid #fff;
+    transform: scale(0.8);
+    padding: 1px 3px 0 3px;
 
+}
+.basic_search{
+    display:inline-block;
+    padding-bottom: 10px;
+}
+.analyseUnit_input{
+    width:90%;
+}
+.analyseUnit_box{
+    width:200px;
+}
 </style>

--
Gitblit v1.9.2