From c819024e241b9f7c54cc3786373ad0d2998f2190 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期五, 05 五月 2023 08:55:46 +0800 Subject: [PATCH] 修改 --- src/views/hiddenDangerManagement/index.vue | 235 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 202 insertions(+), 33 deletions(-) diff --git a/src/views/hiddenDangerManagement/index.vue b/src/views/hiddenDangerManagement/index.vue index bff6334..74d30e6 100644 --- a/src/views/hiddenDangerManagement/index.vue +++ b/src/views/hiddenDangerManagement/index.vue @@ -99,7 +99,8 @@ <el-row class="title-center"> <el-col :span="7"> <el-radio-group v-model="listQuery.form.alter_status"> - <el-radio-button v-for="item in statusList" :label="item.value" :key="item.value"></el-radio-button> + <el-radio-button v-for="item in statusList" :label="item.value" :key="item.value" + @change.native="getPageList"></el-radio-button> </el-radio-group> </el-col> <el-col :span="10"> @@ -121,6 +122,7 @@ type="primary" class="btns" size="small" + v-show="buttomShow" icon="el-icon-bottom" >导入 </el-button @@ -131,6 +133,8 @@ type="primary" class="btns" size="small" + v-show="buttomShow" + @click="downTemplate" icon="el-icon-download" >下载模板 </el-button @@ -143,6 +147,7 @@ class="btns" type="primary" size="small" + v-show="buttomShow" @click="fillRectification()" >填写整改 </el-button @@ -155,47 +160,90 @@ >填写督查 </el-button > + <el-button + class="btns" + type="primary" + size="small" + v-show="!buttomShow" + @click="revoke()" + >撤销 + </el-button + > <el-button class="btns" type="primary" icon="el-icon-plus" @click="jump" size="small" + v-show="buttomShow" >添加 </el-button > - <el-button size="small" @click="deleteBath" + <el-button size="small" @click="deleteBath" v-show="buttomShow" >批量删除 </el-button > </el-col> </el-row> - <el-table :data="tableData" ref="dataTable" style="width: 100%"> + <el-table :data="tableData" ref="dataTable" style="width: 100%" v-loading="loading"> <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="number" label="编号" align="center" width="120"> + <template slot-scope="scope"> + <div class="blue-font-color" @click="showDetails(scope.row)">{{ scope.row.number }}</div> + </template> + </el-table-column> <el-table-column prop="ht_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 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_typesub" label="类别" align="center"></el-table-column> - <el-table-column prop="ht_level" label="级别" align="center"></el-table-column> + <el-table-column prop="ht_content" label="内容" width="150" 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="级别" width="100" 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="整改措施" width="150" align="center"></el-table-column> <!-- <el-table-column 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="限改时间" :formatter="formatColumnDate" width="120" + align="center"> + <template slot-scope="scope"> + <div v-if="new Date(scope.row.alter_time).getTime()>new Date().getTime()" slot="reference" class="name-wrapper">{{ + formatDate(scope.row.alter_time) + }} + </div> + <div style="background-color: orange;height: 50px;line-height: 50px" v-if="new Date(scope.row.alter_time).getTime()<new Date().getTime()" slot="reference" class="name-wrapper">{{ + formatDate(scope.row.alter_time) + }} + </div> + </template> + </el-table-column> <!-- <el-table-column label="级别" align="center"> </el-table-column> --> </el-table-column> <el-table-column label="整改情况" align="center"> - <el-table-column prop="ACCOMPLISHTIME" label="完成时间" width="120" align="center"></el-table-column> + <el-table-column prop="ACCOMPLISHTIME" label="完成时间" :formatter="formatColumnDate" width="120" + align="center"></el-table-column> <!-- <el-table-column label="复查结果" align="center"> </el-table-column> --> <el-table-column prop="CALLBACKPERSON" label="复查人" align="center"></el-table-column> - <el-table-column prop="CALLBACKTIME" label="复查时间" width="120" align="center"></el-table-column> + <el-table-column prop="CALLBACKTIME" label="复查时间" :formatter="formatColumnDate" width="120" + align="center"></el-table-column> </el-table-column> <!-- <el-table-column label="隐患处理状态" align="center"> </el-table-column> --> - <el-table-column prop="DTRisk_bankId" label="是否关联" align="center"> + <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> + v-if="scope.row.DTRisk_bankId==0 || scope.row.DTRisk_bankId=='' || scope.row.DTRisk_bankId==null" style="color: red">未关联</span> <span v-else>已关联</span> </template> </el-table-column> @@ -203,10 +251,10 @@ <el-table-column label="初始警情" align="center" prop="warningLevel"></el-table-column> <el-table-column label="当前警情" align="center" prop="curWarningLevel"></el-table-column> <!-- <el-table-column label="流程操作" align="center"> </el-table-column> --> - <el-table-column label="基本操作" align="center"> + <el-table-column label="基本操作" align="center" fixed="right"> <template slot-scope="scope"> <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button> - <el-button type="text" size="small">删除</el-button> + <el-button type="text" @click="handleDelete(scope.row)" size="small">删除</el-button> </template> </el-table-column> </el-table> @@ -226,12 +274,20 @@ </div> </template> <script> -import {getPageList, self_export_do, self_import_do, self_del_do} from "@/api/sgyhpczl/hiddenDangerManagement"; +import { + getPageList, + self_export_do, + self_import_do, + self_del_do, + self_revoke, + self_template, +} from "@/api/sgyhpczl/hiddenDangerManagement"; import {initJCBM, initYHLX, initBC, initJCLB, initYHBM, initYHJB, initReformStatus} from "@/api/sgyhpczl/initSelect"; export default { data() { return { + buttomShow: true, fileList: [], statusList: [], options: [], @@ -248,6 +304,7 @@ YHBMList: [], YHJBList: [], tableData: [], + loading:false, listQuery: { page: 1, limit: 10, @@ -266,6 +323,16 @@ this.initBC() this.initJCLB() this.initReformStatus() + }, + watch: { + "listQuery.form.alter_status": function (newVal, oldVal) { + console.log(newVal) + if (newVal == "整改完成") { + this.buttomShow = false; + } else { + this.buttomShow = true; + } + } }, methods: { initReformStatus() { @@ -330,7 +397,9 @@ getPageList() { this.listQuery.page = 1 this.checkTime() + this.loading = true getPageList(this.listQuery).then(res => { + this.loading = false if (res.data.ok == 1) { this.tableData = res.data.data.items this.recordTotal = res.data.data.total @@ -403,35 +472,43 @@ path: "/fillRectificationAdd" }) }, + handleClick(row){ + this.$router.push({ + path: "/fillRectificationAdd", + query:row + }) + }, fillRectification() { var checkData = this.$refs.dataTable.selection; - if(checkData.length < 1){ - this.$message({type: 'warn', message: "请选择勾选需要填写的数据!", duration: 3000}) + if (checkData.length < 1) { + this.$message({type: 'warning', message: "请选择勾选需要填写的数据!", duration: 3000}) return; } this.$router.push({ path: "/fillRectification", - query:{"checkData":checkData} + query: {"checkData": checkData} }) }, fillInspector() { var checkData = this.$refs.dataTable.selection; - if(checkData.length < 1){ - this.$message({type: 'warn', message: "请选择勾选需要填写的数据!", duration: 3000}) + if (checkData.length < 1) { + this.$message({type: 'warning', message: "请选择勾选需要填写的数据!", duration: 3000}) return; } this.$router.push({ path: "/fillInspector", - query:{"checkData":checkData} + query: {"checkData": checkData} }) window.open(href, '_blank'); }, exportData() { - var requestData = this.listQuery; + this.listLoading = true + var requestData = JSON.parse(JSON.stringify(this.listQuery)); //删除分页参数 this.$delete(requestData, 'page') this.$delete(requestData, 'limit') self_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) //创建下载的链接 @@ -445,6 +522,24 @@ console.log(err) }) }, + downTemplate() { + //删除分页参数 + self_template().then(res => { + 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) + }) + }, + + //文件发生改变就会触发的事件 导入 uploadByJsqd(file) { //判断是否符合beforeAvatarUpload方法中的条件 @@ -477,25 +572,25 @@ } return true }, - deleteBath() { + + revoke() { var checkData = this.$refs.dataTable.selection; if (checkData.length < 1) { - this.$message({type: 'warn', message: "请选择勾选需要删除的数据!", duration: 3000}) + this.$message({type: 'warning', message: "请勾选需要撤销的数据!", duration: 3000}) return; } - var deleteIds = ""; + var revokeIds = ""; checkData.forEach(n => { - deleteIds += n.id + ","; + revokeIds += n.id + ","; }) - deleteIds = deleteIds.substring(0, deleteIds.length - 1); - console.log(deleteIds) - this.$confirm('确认删除吗', '提示', { + revokeIds = revokeIds.substring(0, revokeIds.length - 1); + this.$confirm('确认要撤销吗', '提示', { confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning' }).then((res) => { console.log(res); - self_del_do(deleteIds).then(res=>{ + self_revoke(revokeIds).then(res => { if (res.data.ok) { this.$message({type: 'success', message: res.data.msg, duration: 3000}) this.getPageList()//调用表格方法,刷新页面 @@ -503,6 +598,77 @@ this.$message({type: 'error', message: res.data.msg, duration: 3000}) } }) + }) + }, + + deleteBath() { + var checkData = this.$refs.dataTable.selection; + if (checkData.length < 1) { + this.$message({type: 'warning', message: "请勾选需要删除的数据!", duration: 3000}) + return; + } + var deleteIds = ""; + checkData.forEach(n => { + deleteIds += n.id + ","; + }) + deleteIds = deleteIds.substring(0, deleteIds.length - 1); + this.$confirm('确认要删除吗', '提示', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning' + }).then((res) => { + console.log(res); + self_del_do(deleteIds).then(res => { + if (res.data.ok) { + this.$message({type: 'success', message: res.data.msg, duration: 3000}) + this.getPageList()//调用表格方法,刷新页面 + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }) + }, + //方法区 + 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() + ' ' + }, + handleDelete(row){ + this.$confirm('确认要删除吗', '提示', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning' + }).then((res) => { + self_del_do(row.id).then(res => { + if (res.data.ok) { + this.$message({type: 'success', message: res.data.msg, duration: 3000}) + this.getPageList()//调用表格方法,刷新页面 + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) + }) + }, + showDetails(row){ + //hiddenDangerManagement + this.$router.push({ + path: "/dangerDetails", + query: {"id": row.id, "route": "/hiddenDangerManagement"} }) } } @@ -536,7 +702,10 @@ border: none; border-radius: 0px; } - +.blue-font-color:hover{ + cursor: pointer; + color: blue; +} .title-center /deep/ .el-radio-button__orig-radio:checked + .el-radio-button__inner { background-color: #034ea2; background-color: #034ea2; -- Gitblit v1.9.2