cqf
2022-06-15 db97f4d5bfa03e22480f171dcca6dc32ee31f239
整改进度/隐患下达
已修改6个文件
247 ■■■■■ 文件已修改
src/api/sgyhpczl/careabout.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/sgyhpczl/hiddenDangerRegistration.js 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/sgyhpczl/majorHidden.js 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/accidentHidden/fillProgress.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/accidentHidden/majorHidden.vue 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hiddenDangerRegistration/index.vue 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/sgyhpczl/careabout.js
@@ -1,5 +1,5 @@
import request from '@/utils/request';
import {getTokenAndVerify} from "@/api/sgyhpczl/auth";
import {getTokenAndVerify,getUsernameAndPassword} from "@/api/sgyhpczl/auth";
export function getPageList(data) {
@@ -68,7 +68,9 @@
    return request({
        headers:{
            'token': getTokenAndVerify().token,
            'verify':getTokenAndVerify().verify
            'verify':getTokenAndVerify().verify,
            'username': getUsernameAndPassword.username,
            'password':getUsernameAndPassword().password
        },
        url: "/taboi/danger/focus_list",
        contentType: "application/json",
src/api/sgyhpczl/hiddenDangerRegistration.js
@@ -161,3 +161,31 @@
        method: 'POST',
    });
}
//导出
export function analogy_export_do(data) {
    return request({
        headers: {
            'token': getTokenAndVerify().token,
            'verify': getTokenAndVerify().verify
        },
        url: '/taboi/excel/danger_export_do',
        method: 'POST',
        responseType: 'arraybuffer',
        data
    });
}
//下载模板
export function downloadFile(params) {
    return request({
        headers: {
            'token': getTokenAndVerify().token,
            'verify': getTokenAndVerify().verify
        },
        url: '/taboi/download/danger_template',
        method: 'GET',
        contentType: "multipart/form-data",
        responseType:'blob',
        params:params?params:{}
    });
}
src/api/sgyhpczl/majorHidden.js
@@ -1,5 +1,5 @@
import request from '@/utils/request';
import {getTokenAndVerify} from "@/api/sgyhpczl/auth";
import {getTokenAndVerify,getUsernameAndPassword} from "@/api/sgyhpczl/auth";
export function getPageList(data) {
@@ -78,7 +78,9 @@
    return request({
        headers:{
            'token': getTokenAndVerify().token,
            'verify':getTokenAndVerify().verify
            'verify':getTokenAndVerify().verify,
            'username': getUsernameAndPassword.username,
            'password':getUsernameAndPassword().password
        },
        url: "/taboi/danger/major_list",
        contentType: "application/json",
@@ -127,3 +129,16 @@
        method: 'POST',
    });
}
//导出
export function analogy_export_do(data) {
    return request({
        headers: {
            'token': getTokenAndVerify().token,
            'verify': getTokenAndVerify().verify
        },
        url: '/taboi/excel/danger_export_do',
        method: 'POST',
        responseType: 'arraybuffer',
        data
    });
}
src/views/accidentHidden/fillProgress.vue
@@ -48,6 +48,7 @@
                        align="center">
                    </el-table-column>
                    <el-table-column
                        v-if="type==1"
                        label="操作"
                        align="center"
                        width="200">
@@ -74,6 +75,7 @@
            </div>
        </div>
        <el-button @click="returnIndex">返回</el-button>
        <el-dialog
            :title="title"
            :visible.sync="dialogVisible"
@@ -347,6 +349,11 @@
                })
                this.clickCellMap[id] = []
            },
            returnIndex(){
                this.$router.push({
                    path:"/accidentHidden/accidentHidden/majorHidden"
                })
            },
        }
    }
</script>
src/views/accidentHidden/majorHidden.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,12 +136,12 @@
       <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="10">
        <el-radio-group v-model="listQuery.form.alter_status" style="border:none">
        <el-radio-group v-model="listQuery.form.alter_status" @change="changeStatus" style="border:none">
      <el-radio-button  label="正在整改">正在整改</el-radio-button>
      <el-radio-button  label="正在复查">正在复查</el-radio-button>
      <el-radio-button  label="整改完成">整改完成</el-radio-button>
@@ -160,7 +160,7 @@
      <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_typesub" label="类别" align="center"> </el-table-column>
@@ -197,7 +197,7 @@
  </div>
</template>
<script>
import {getPageList} from "@/api/sgyhpczl/majorHidden";
import {getPageList,analogy_export_do} from "@/api/sgyhpczl/majorHidden";
import {initJCBM ,initYHLX, initBC ,initJCLB ,initYHBM ,initYHJB,initLlr} from "@/api/sgyhpczl/initSelect";
export default {
    data() {
@@ -333,6 +333,45 @@
                }
            })
        },
        //状态切换
        changeStatus(val){
            this.listQuery.form.alter_status = val;
            this.getPageList();
        },
        //日期格式转换
        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() + " "
            );
        },
        exportData() {
            this.listLoading = true
            var requestData = JSON.parse(JSON.stringify(this.listQuery));
            requestData.export_type = 0;
            //删除分页参数
            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)
            })
        },
        initYHLX(){
            initYHLX().then(res=>{
                if (res.data.ok==1){
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){