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

---
 src/views/hiddenDangerRegistration/index.vue |  391 ++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 325 insertions(+), 66 deletions(-)

diff --git a/src/views/hiddenDangerRegistration/index.vue b/src/views/hiddenDangerRegistration/index.vue
index cdce91e..a1c768e 100644
--- a/src/views/hiddenDangerRegistration/index.vue
+++ b/src/views/hiddenDangerRegistration/index.vue
@@ -29,22 +29,23 @@
                 <el-input v-model="listQuery.form.check_man" style="width:202px" placeholder="请输入内容"></el-input>
             </el-form-item>
             <el-form-item label="隐患单位">
-                <el-select v-model="listQuery.form.ht_community" placeholder="请选择" @change="changeYHDW">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
+                <el-input v-model="listQuery.form.ht_community" style="width:202px" :disabled="true"></el-input>
+                <!--<el-select v-model="listQuery.form.ht_community" placeholder="请选择" @change="changeYHDW">
+             <el-option
+               v-for="item in JCDWList"
+               :key="item.value"
+               :label="item.label"
+               :value="item.value">
+             </el-option>
+           </el-select>-->
             </el-form-item>
             <el-form-item label="隐患部门">
                 <el-select v-model="listQuery.form.ht_branch" placeholder="请选择">
                     <el-option
                         v-for="item in YHBMList"
-                        :key="item.value"
-                        :label="item.value"
-                        :value="item.value">
+                        :key="item.branch_id"
+                        :label="item.branch_name"
+                        :value="item.branch_name">
                     </el-option>
                 </el-select>
             </el-form-item>
@@ -95,9 +96,9 @@
                 </el-select>
             </el-form-item>
             <el-form-item label="是否关联">
-                <el-select v-model="listQuery.form.number" placeholder="请选择">
+                <el-select v-model="listQuery.form.DTRisk_bankId" placeholder="请选择">
                     <el-option
-                        v-for="item in options"
+                        v-for="item in reList"
                         :key="item.value"
                         :label="item.label"
                         :value="item.value">
@@ -105,66 +106,79 @@
                 </el-select>
             </el-form-item>
             <el-form-item label="录入人">
-                <el-select v-model="listQuery.form.number" placeholder="请选择">
+                <el-select v-model="listQuery.form.createBy" placeholder="请选择">
                     <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.value"
-                        :value="item.value">
+                        v-for="item in llrList"
+                        :key="item.id"
+                        :label="item.realName"
+                        :value="item.id">
                     </el-option>
                 </el-select>
             </el-form-item>
             <el-form-item label="检查时间">
                 <el-col :span="11">
-                    <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
+                    <el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.check_dateStart" style="width: 100%;" value-format="yyyy-MM-dd"></el-date-picker>
                 </el-col>
                 <el-col style="text-align:center" :span="2">-</el-col>
                 <el-col :span="11">
-                    <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
+                    <el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.check_dateEnd" style="width: 100%;" value-format="yyyy-MM-dd"></el-date-picker>
                 </el-col>
             </el-form-item>
             <el-form-item label="限改时间">
                 <el-col :span="11">
-                    <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
+                    <el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.alter_timeStart" value-format="yyyy-MM-dd" style="width: 100%;"></el-date-picker>
                 </el-col>
                 <el-col style="text-align:center" :span="2">-</el-col>
                 <el-col :span="11">
-                    <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
+                    <el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.alter_timeEnd" value-format="yyyy-MM-dd" style="width: 100%;"></el-date-picker>
                 </el-col>
             </el-form-item>
             <el-form-item style="text-align:center;padding:0 50px">
                 <el-button type="primary" class="btns" size="small" icon="el-icon-search" @click="getPageList()">查询</el-button>
                 <el-button type="primary" class="btns" size="small" @click="reset()">重置</el-button>
-                <el-button type="primary" class="btns" size="small" icon="el-icon-upload2">导出excel</el-button>
+                <el-button type="primary" class="btns" size="small" icon="el-icon-upload2" @click="exportData">导出excel</el-button>
             </el-form-item>
         </el-form>
         <el-row class="title-center">
             <el-col :span="14">
                 <el-form ref="form" :inline="true" :model="form" label-width="100px">
                     <el-form-item label="EXCEL导入">
-                        <el-input v-model="form.name" placeholder="未选择文件"></el-input>
-                    </el-form-item>
-                    <el-form-item>
-                        <el-button type="primary" size="small" class="btns"
-                        >选择文件</el-button
+<!--                        <el-input v-model="form.name" placeholder="未选择文件"></el-input>-->
+                        <el-upload
+                            class="upload-demo inline-block margin-right-10"
+                            ref="upload"
+                            action=""
+                            :http-request="uploadSectionFile"
+                            :on-preview="handlePreview"
+                            :on-remove="handleRemove"
+                            :file-list="fileList"
+                            :before-upload="beforeUpload"
+                            :auto-upload="false"
                         >
-                        <el-button
-                            type="primary"
-                            class="btns"
-                            size="small"
-                            icon="el-icon-bottom"
-                        >导入</el-button
-                        >
-                        <el-button
-                            type="primary"
-                            class="btns"
-                            size="small"
-                            icon="el-icon-download"
-                        >下载模板</el-button
-                        >
+                            <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
+                            <el-button
+                                type="primary"
+                                class="btns"
+                                size="small"
+                                icon="el-icon-bottom"
+                                @click="dangerImport"
+                            >导入</el-button
+                            >
+                            <el-button
+                                type="primary"
+                                class="btns"
+                                size="small"
+                                icon="el-icon-download"
+                                @click="downloadTemplate"
+                            >下载模板</el-button
+                            >
+                        </el-upload>
                     </el-form-item>
                 </el-form>
             </el-col>
+<!--            <el-col :span="14-fileSpan">-->
+<!--                -->
+<!--            </el-col>-->
             <el-col :span="10" style="text-align: right">
                 <el-button
                     class="btns"
@@ -176,29 +190,55 @@
                 >添加</el-button
                 >
                 <el-button  size="small"
+                            @click="deleteBatch"
                 >删除</el-button
                 >
 
             </el-col>
         </el-row>
-        <el-table :data="tableData" style="width: 100%">
+        <el-table :data="tableData" style="width: 100%"  @selection-change="changeBox">
             <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="check_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 prop="checktype" label="检查类别" align="center"></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_content" label="内容" 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="级别" 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="整改措施" align="center">
+                    <template slot-scope="scope">
+                        <el-popover trigger="hover" placement="top">
+                            <p>{{ scope.row.measure }}</p>
+                            <div slot="reference" class="name-wrapper">{{
+                                    scope.row.measure != null && scope.row.measure.length > 10 ? scope.row.measure.substring(0, 8) + "...." : scope.row.measure
+                                }}
+                            </div>
+                        </el-popover>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="ht_branch" 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="限改时间" width="120" :formatter="formatColumnDate"  align="center"></el-table-column>
                 <el-table-column prop="ht_level" label="级别" align="center"> </el-table-column>
             </el-table-column>
             <el-table-column label="整改情况" align="center">
@@ -215,14 +255,24 @@
                     <span v-if="scope.row.step =='end'">处理结束</span>
                 </template>
             </el-table-column>
-            <el-table-column prop="date" label="是否关联" align="center"> </el-table-column>
+            <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>
+                    <span v-else>已关联</span>
+                </template>
+            </el-table-column>
             <el-table-column prop="DTRisk_level" label="风险等级" align="center"> </el-table-column>
-            <el-table-column prop="date" label="初始警情" align="center"> </el-table-column>
-            <el-table-column prop="date" label="当前警情" align="center"> </el-table-column>
-            <el-table-column prop="date" label="流程操作" align="center"> </el-table-column>
-            <el-table-column prop="date" label="基本操作" align="center">
+            <el-table-column prop="warningLevel" label="初始警情" align="center"> </el-table-column>
+            <el-table-column prop="curWarningLevel" label="当前警情" align="center"> </el-table-column>
+            <el-table-column prop="date" label="流程操作" align="center"  fixed="right">
                 <template slot-scope="scope">
                     <el-button @click="handleClick(scope.row)" type="text" size="small">点击发送</el-button>
+                </template>
+            </el-table-column>
+            <el-table-column prop="date" label="基本操作" align="center"  fixed="right">
+                <template slot-scope="scope">
+                    <el-button @click="updateClick(scope.row)" type="text" size="small">编辑</el-button>
+                    <el-button @click="deleteClick(scope.row)" type="text" size="small">删除</el-button>
                 </template>
             </el-table-column>
         </el-table>
@@ -242,15 +292,18 @@
     </div>
 </template>
 <script>
-import {getPageList} from "@/api/sgyhpczl/hiddenDangerRegistration";
-import {initJCBM ,initYHLX, initBC ,initJCLB ,initYHBM ,initYHJB} from "@/api/sgyhpczl/initSelect";
+import {getPageList,delDanger,analogy_export_do,downloadFile,danger_import_do} from "@/api/sgyhpczl/hiddenDangerRegistration";
+import {initJCBM ,initYHLX, initBC ,initJCLB ,initYHBM ,initYHJB,initLlr} from "@/api/sgyhpczl/initSelect";
 export default {
     data() {
         return {
+            selectedList:[],
+            reList:[{label:"未关联",value:0}],
+            llrList:[],
             options: [],
             form:{},
-
-            JCDWList:[{label:"众泰",value:0},{label:"上级单位",value:1}],
+            fileSpan:3,
+            JCDWList:[{label:"众泰煤焦化",value:0},{label:"上级单位",value:1}],
             JCBMList:[],
             YHLXList:[],
             BCList:[],
@@ -261,11 +314,14 @@
             listQuery:{
                 page:1,
                 limit:10,
-                form:{},
+                form:{
+                    ht_community:"众泰煤焦化"
+                },
             },
             currentPage: 1,
             pageSize: 10,
             recordTotal: 0,
+            fileList: [],
         };
     },
     mounted(){
@@ -274,10 +330,53 @@
         this.initYHJB()
         this.initBC()
         this.initJCLB()
+        this.initLlr()
+        this.initYHBM()
     },
     methods:{
-
-        changeYHDW(val){
+        deleteBatch(){
+            if(this.selectedList==null ||this.selectedList.length==0 ){
+                this.$message({type:'warning', message:'至少选中一条数据', duration:3000})
+                return
+            }
+            var ids=this.selectedList.map((obj) => {
+                return obj.id
+            }).join(",")
+            this.$confirm('确认删除吗','提示', {
+                confirmButtonText: '确认',
+                cancelButtonText: '取消',
+                type: 'warning'
+            })
+                .then(()=>{
+                    delDanger(ids).then(() => {
+                        this.getPageList()
+                        this.$notify({
+                            title: "成功",
+                            message: "删除成功",
+                            type: "success",
+                            duration: 2000,
+                        });
+                    });
+                })
+                .catch(error =>{
+                });
+        },
+        changeBox(val){
+            this.selectedList = []
+            val.forEach((item) => {
+                this.selectedList.push(item)
+            })
+        },
+        initLlr(){
+            initLlr().then(res=>{
+                if (res.data.ok==1){
+                    this.llrList=res.data.data
+                } else{
+                    this.$message({type:'error', message:res.data.msg, duration:3000})
+                }
+            })
+        },
+        initYHBM(){
             initYHBM().then(res=>{
                 if (res.data.ok==1){
                     this.YHBMList=res.data.data
@@ -295,19 +394,52 @@
                 }
             })
         },
+        checkTime(){
+            if(this.listQuery.form.check_dateStart!=null && this.listQuery.form.check_dateStart!=''){
+                if(this.listQuery.form.check_dateEnd!=null && this.listQuery.form.check_dateEnd!=''){
+                }else {
+                    this.$message({type:'error', message:"请选择检查结束时间", duration:3000})
+                    return
+                }
+
+            }
+            if(this.listQuery.form.check_dateEnd!=null && this.listQuery.form.check_dateEnd!=''){
+                if(this.listQuery.form.check_dateStart!=null && this.listQuery.form.check_dateStart!=''){
+                }else {
+                    this.$message({type:'error', message:"请选择检查开始时间", duration:3000})
+                    return
+                }
+            }
+            if(this.listQuery.form.alter_timeStart!=null && this.listQuery.form.alter_timeStart!=''){
+                if(this.listQuery.form.alter_timeEnd!=null && this.listQuery.form.alter_timeEnd!=''){
+                }else {
+                    this.$message({type:'error', message:"请选择限改结束时间", duration:3000})
+                    return
+                }
+
+            }
+            if(this.listQuery.form.alter_timeEnd!=null && this.listQuery.form.alter_timeEnd!=''){
+                if(this.listQuery.form.alter_timeStart!=null && this.listQuery.form.alter_timeStart!=''){
+                }else {
+                    this.$message({type:'error', message:"请选择改开始时间", duration:3000})
+                    return
+                }
+            }
+        },
         getPageList(){
             this.listQuery.page=1
+            this.checkTime()
             getPageList(this.listQuery).then(res=>{
                 if (res.data.ok==1) {
-                    this.tableData = res.data.data
-                    // this.recordTotal=res.data.data.length
+                    this.tableData = res.data.data.items
+                     this.recordTotal=res.data.data.total
                 }else{
                     this.$message({type:'error', message:res.data.msg, duration:3000})
                 }
             })
         },
         reset(){
-            this.listQuery.form={}
+            this.listQuery.form={ht_community:"众泰煤焦化"}
             this.getPageList()
         },
         handleSizeChange(val){
@@ -319,13 +451,113 @@
             this.getPageListForPagination();
         },
         getPageListForPagination(){
+            this.checkTime()
             getPageList(this.listQuery).then(res=>{
                 if (res.data.ok==1) {
-                    this.tableData = res.data.data
+                    this.tableData = res.data.data.items
+                    this.recordTotal=res.data.data.total
                 }else{
                     this.$message({type:'error', message:res.data.msg, duration:3000})
                 }
             })
+        },
+        handleRemove(file, fileList) {
+            var fileUidList = [];
+            fileList.forEach(file => {
+                fileUidList.push(file.uid);
+            })
+            this.fileNameList = this.fileNameList.filter(n => fileUidList.indexOf(n.uid) != -1);
+        },
+        handlePreview(file) {
+            console.log(file)
+        },
+        beforeUpload(file) {
+            var FileExt = file.name.replace(/.+\./, "");
+            if (['xls','xlsx'].indexOf(FileExt.toLowerCase()) === -1) {
+                this.$message({
+                    type: 'warning',
+                    message: '请上传后缀名为xls,xlsx的图片!'
+                });
+                return false;
+            }
+        },
+        //上传
+        uploadSectionFile(param) {
+            console.log(param)
+            let form = new FormData();
+            form.append('file', param.file);
+            danger_import_do(form).then(res=>{
+                if (res.data.ok==1){
+                    console.log(res.data)
+                } else{
+                    this.$message({type:'error', message:res.data.msg, duration:3000})
+                }
+            }).catch(err => {
+                console.log(err)
+            })
+
+        },
+        //导入
+        dangerImport(){
+            this.$refs.upload.submit();
+        },
+        //下载模板
+        downloadTemplate(){
+            downloadFile().then(res => {
+                this.listLoading = false
+                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)
+            })
+        },
+        exportData() {
+            this.listLoading = true
+            var requestData = JSON.parse(JSON.stringify(this.listQuery));
+            requestData.export_type = 1;
+            //删除分页参数
+            this.$delete(requestData, 'page')
+            this.$delete(requestData, 'limit')
+            analogy_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) //创建下载的链接
+                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)
+            })
+        },
+        //方法区
+        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() + ' '
         },
         initYHLX(){
             initYHLX().then(res=>{
@@ -363,22 +595,49 @@
                 }
             })
         },
-
+        updateClick(row){
+            this.$router.push({
+                path:"/hiddenDangerAdd?id="+row.id
+            })
+        },
         jump(){
             this.$router.push({
                 path:"/hiddenDangerAdd"
             })
         },
         // 发送隐患单跳转
-        handleClick(){
+        handleClick(row){
             this.$router.push({
-                path:"/hiddenDangerList",
+                path:"/hiddenDangerList?id="+row.id,
             })
+        },
+        deleteClick(row){
+            this.$confirm('确认删除吗','提示', {
+                confirmButtonText: '确认',
+                cancelButtonText: '取消',
+                type: 'warning'
+            })
+                .then(()=>{
+                    delDanger(row.id).then(() => {
+                        this.getPageList()
+                        this.$notify({
+                            title: "成功",
+                            message: "删除成功",
+                            type: "success",
+                            duration: 2000,
+                        });
+                    });
+                })
+                .catch(error =>{
+                });
         },
     }
 };
 </script>
 <style>
+    .inline-block {
+        display: inline-block;
+    }
     .inquire {
         display: flex;
         justify-content: left;

--
Gitblit v1.9.2