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