From db97f4d5bfa03e22480f171dcca6dc32ee31f239 Mon Sep 17 00:00:00 2001
From: cqf
Date: 星期三, 15 六月 2022 15:39:29 +0800
Subject: [PATCH] 整改进度/隐患下达

---
 src/views/hiddenDangerRegistration/index.vue |  138 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 130 insertions(+), 8 deletions(-)

diff --git a/src/views/hiddenDangerRegistration/index.vue b/src/views/hiddenDangerRegistration/index.vue
index de1a993..8fee8a0 100644
--- a/src/views/hiddenDangerRegistration/index.vue
+++ b/src/views/hiddenDangerRegistration/index.vue
@@ -45,7 +45,7 @@
                         v-for="item in YHBMList"
                         :key="item.branch_id"
                         :label="item.branch_name"
-                        :value="item.branch_id">
+                        :value="item.branch_name">
                     </el-option>
                 </el-select>
             </el-form-item>
@@ -136,7 +136,7 @@
             <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">
@@ -146,9 +146,18 @@
                         <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-upload
+                            class="upload-demo"
+                            ref="upload"
+                            :http-request="uploadSectionFile"
+                            :on-preview="handlePreview"
+                            :on-remove="handleRemove"
+                            :file-list="fileList"
+                            :before-upload="beforeUpload"
+                            :auto-upload="true"
                         >
+                            <el-button type="primary" size="small" class="btns">选择文件</el-button>
+                        </el-upload>
                         <el-button
                             type="primary"
                             class="btns"
@@ -161,6 +170,7 @@
                             class="btns"
                             size="small"
                             icon="el-icon-download"
+                            @click="downloadTemplate"
                         >下载模板</el-button
                         >
                     </el-form-item>
@@ -190,14 +200,34 @@
             <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="检查时间" :formatter="formatColumnDate"  width="120" align="center"></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>
@@ -254,7 +284,7 @@
     </div>
 </template>
 <script>
-import {getPageList,delDanger} from "@/api/sgyhpczl/hiddenDangerRegistration";
+import {getPageList,delDanger,analogy_export_do,downloadFile} from "@/api/sgyhpczl/hiddenDangerRegistration";
 import {initJCBM ,initYHLX, initBC ,initJCLB ,initYHBM ,initYHJB,initLlr} from "@/api/sgyhpczl/initSelect";
 export default {
     data() {
@@ -283,6 +313,7 @@
             currentPage: 1,
             pageSize: 10,
             recordTotal: 0,
+            fileList: [],
         };
     },
     mounted(){
@@ -422,6 +453,97 @@
                 }
             })
         },
+        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(/.+\./, "");
+            //.jpg,.gif,.bmp,.png,.doc,.docx,.pdf,.ppt,.pptx,.xls,.xlsx,.rar,.zip
+            if (['jpg', 'png', 'bmp', 'gif', 'jpeg','doc','docx','pdf','ppt','xls','pptx','xls','xlsx','rar','zip'].indexOf(FileExt.toLowerCase()) === -1) {
+                this.$message({
+                    type: 'warning',
+                    message: '请上传后缀名为jpg,gif,bmp,png,doc,docx,pdf,ppt,pptx,xls,xlsx,rar,zip的图片!'
+                });
+                return false;
+            }
+        },
+        uploadSectionFile(param) {
+            let form = new FormData();
+            var that = this;
+            form.append('file', param.file);
+            //隐患延期申请附件
+            form.append('type', "0");
+            uploadFile(form).then(res => {
+                var data = res.data;
+                if (data.ok) {
+                    var fileName = data.data.fileName[0];
+                    if (!fileName.endsWith("a62b")) {
+                        fileName = fileName + "a62b";
+                    }
+                    var fileObj = {
+                        "fileName": fileName,
+                        "uid": param.file.uid
+                    }
+                    this.fileNameList.push(fileObj);
+                }
+            })
+        },
+        //下载模板
+        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)
+            })
+        },
+        //日期格式转换
+        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=>{
                 if (res.data.ok==1){

--
Gitblit v1.9.2