From ca151ff4c1cdc4a029f13ac6da7d42e4f8147287 Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期六, 06 八月 2022 16:18:50 +0800 Subject: [PATCH] 重构双重预防 --- src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/index.vue | 380 +++++++++++++++++++++++++++++------------------------ 1 files changed, 207 insertions(+), 173 deletions(-) diff --git a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/index.vue b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/index.vue index b302709..d8c1f5f 100644 --- a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/index.vue +++ b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/accept/index.vue @@ -1,31 +1,20 @@ <template> <div class="app-container"> <div style="margin: 15px"> - <span class="span-filter-label">单号</span> - <el-input style="width: 140px" v-model="filter.filter.code" ></el-input> - <span class="span-filter-label">隐患等级</span> - <el-select v-model="filter.filter.level" clearable @clear="clearLevel" placeholder="请选择"> - <el-option - v-for="item in levels" - :key="item.key" - :label="item.value" - :value="item.key"> - </el-option> - </el-select> - <span class="span-filter-label">整改人</span> - <el-input style="width: 160px" v-model="filter.filter.rectifierName"></el-input> + <div class="basic_search"> + <span>验收人:</span> + <el-select v-model="filter.checkAcceptPersonid" clearable filterable class="analyseUnit_box"> + <el-option + v-for="item in userList" + :key="item.id" + :label="item.realname" + :value="item.id" + ></el-option> + </el-select> + </div> - <span class="span-filter-label">隐患来源</span> - <el-select v-model="filter.filter.source" clearable placeholder="请选择"> - <el-option - v-for="item in sources" - :key="item.key" - :label="item.value" - :value="item.key"> - </el-option> - </el-select> <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-search" - @click="queryHandle"/> + @click="queryHandle">搜索</el-button> </div> <div class="table_content"> <el-table @@ -37,40 +26,38 @@ highlight-current-row style="width: 100%;" > - <el-table-column type="index" label="序号" align="center" width="80"/> - <el-table-column label="单号" prop="code" align="center" /> - <el-table-column label="状态" prop="status" align="center" > + <el-table-column type="index" label="序号" width="60" /> + <el-table-column prop="rectifyDesc" label="整改内容说明" show-overflow-tooltip min-width="150px"></el-table-column> + <el-table-column prop="rectifyTime" label="整改期限" show-overflow-tooltip min-width="200px"> <template slot-scope="scope"> - <span >{{scope.row.status}}</span> - <span v-if="new Date(scope.row.rectifydeadline) < new Date() && scope.row.status !== '已完成'" class="overdue-img">逾期</span> + <span>{{ scope.row.rectifyTime }}</span> + <span v-if="scope.row.dangerStatus === 2" class="overdue-img">逾期</span> + <span v-if="scope.row.dangerStatus === 9" class="overdue-img">逾期</span> </template> </el-table-column> - <el-table-column label="隐患等级" prop="level" align="center" > + <el-table-column prop="rectifyType" label=" 整改类型" show-overflow-tooltip min-width="150px"> <template slot-scope="scope"> - <el-tag :type="scope.row.level == '重大隐患'?'danger':'warning'">{{scope.row.level}}</el-tag> + {{ parseNumber(scope.row.rectifyType, '整改类型') }} </template> </el-table-column> - <el-table-column label="隐患来源" prop="source" align="center" > + <el-table-column prop="liablePerson" label="整改责任人" show-overflow-tooltip min-width="150px"></el-table-column> + <el-table-column prop="cost" label="整改资金" show-overflow-tooltip min-width="150px"></el-table-column> + <el-table-column prop="dangerStatus" label="隐患整改状态" show-overflow-tooltip min-width="150px" align="center"> <template slot-scope="scope"> - <span>{{sources.find(item=>item.key === scope.row.source).value}}</span> + <el-tag :type="scope.row.dangerStatus === 0 ? 'info' : scope.row.dangerStatus === 1 ? 'primary' : scope.row.dangerStatus === 2 ? 'warning' : scope.row.dangerStatus === 4 ? 'danger' : 'success'"> + {{ parseNumber(scope.row.dangerStatus, '隐患整改状态') }} + </el-tag> </template> </el-table-column> - <el-table-column label="上报人" prop="requestor" align="center" /> - <el-table-column label="上报时间" prop="createtime" align="center" /> - <el-table-column label="整改人" prop="rectifier" align="center" /> - <el-table-column label="整改期限" prop="rectifydeadline" align="center" > - <template slot-scope="scope"> - <span v-bind:class="{'overdue':new Date(scope.row.rectifydeadline) < new Date() && scope.row.status !== '已完成'}">{{scope.row.rectifydeadline}} - </span> - </template> - </el-table-column> - <el-table-column label="整改时间" prop="rectifytime" align="center" /> - - + <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip min-width="150px"></el-table-column> + <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip min-width="200px"></el-table-column> + <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip min-width="150px"></el-table-column> + <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip min-width="200px"></el-table-column> <el-table-column label="操作" align="center" width="240" class-name="small-padding fixed-width"> <template slot-scope="scope"> - <el-button type="text" @click="viewHandle(scope.row)">查看</el-button> - <el-button type="text" @click="acceptHandle(scope.row)" v-if="scope.row.status === '整改待验收'">验收</el-button> + <el-button type="text" @click="viewHandle('查看',scope.row)">查看</el-button> + <el-button type="text" v-show="scope.row.dangerStatus === 1" @click="checkDialog(scope.row)">验收</el-button> +<!-- <el-button type="text" style="color:red" @click="deleteById(scope.row)">删除</el-button>--> </template> </el-table-column> </el-table> @@ -89,147 +76,194 @@ /> </div> + <accept-dialog ref="accept" @refreshCheck="hiddenDangerList"></accept-dialog> <report-view ref="reportView"></report-view> - <accept-dialog ref="acceptDialog" @refresh="hiddenDangerList"></accept-dialog> - + <rectify-dialog ref="rectifyDialog" @refresh = "hiddenDangerList"></rectify-dialog> <div style="clear: both;"></div> </div> </template> <script> - import { checkBtnPermission} from "@/utils/permission"; - import { hiddenDangerAcceptList} from '@/api/hiddenDanger'; - import reportView from "../components/reportView"; - import acceptDialog from "./components/acceptDialog"; +import { checkBtnPermission} from "@/utils/permission"; +import { hiddenDangerRectifyList } from '@/api/hiddenDanger'; +import reportView from "../components/reportView"; +import rectifyDialog from "../rectify/components/rectifyDialog"; +import {deleteHiddenDangerReport, hiddenDangerAcceptList} from "../../../../../api/hiddenDanger"; +import {safetyInspectionItemName} from "../../../../../api/safetySelfInspection"; +import AcceptDialog from "./components/acceptDialog"; - export default { - name: "confirm", - components: { - reportView, - acceptDialog, - }, - data() { - return { - recordTotal: 0, - tableKey: 0, - tableData:[], - listLoading: true, - levels:[ - {"key":"URGENT","value":"重大隐患"}, - {"key":"COMMON","value":"一般隐患"}, - ], - sources:[ - {"key":1,"value":"隐患上报"}, - {"key":2,"value":"巡检上报"}, - ], - dataForm: { - id:'', - note: '', - level:'', - rejectnote:'', - }, - filter:{ - pageIndex:1, - pageSize:10, - filter:{ - code:'', - level:null, - rectifierName:'', - source:'', - } - } +export default { + name: "rectify", + components: { + AcceptDialog, + reportView, + rectifyDialog, + }, + data() { + return { + recordTotal: 0, + tableKey: 0, + tableData:[], + userList:[], + listLoading: false, + departmentList: [], + rectifyTypeList: [ + { id: 1, name: '即查即改' }, + { id: 2, name: '限期整改' } + ], + dangerStatusList: [ + { id: 0, name: '整改中' }, + { id: 1, name: '待验收' }, + { id: 2, name: '延期整改' }, + { id: 4, name: '超期未整改' }, + { id: 9, name: '已验收' } + ], + filter:{ + pageIndex:1, + pageSize:10, + checkAcceptPersonid: null, } - }, - created() { - this.hiddenDangerList(); - }, - - methods: { - queryHandle: function () { - this.filter.pageIndex = 1 - this.hiddenDangerList() - }, - - - viewHandle: function (row) { - this.$refs.reportView.showDialog("查看",row) - }, - - acceptHandle(row){ - this.$refs.acceptDialog.showDialog(row) - } , - - handleSizeChange: function (val) { - this.filter.pageSize = val - this.filter.pageIndex = 1 - this.hiddenDangerList() - }, - handleCurrentChange: function (val) { - this.filter.pageIndex = val - this.hiddenDangerList() - }, - getBtnPermission(btnType) { - return checkBtnPermission(this.userType, btnType) - }, - - downloadHandle(fileurl){ - window.open(fileurl, '_blank'); - }, - - - handleChange(file, fileList) { - this.fileList = fileList - }, - - hiddenDangerList(){ - this.listLoading = true - hiddenDangerAcceptList(this.filter) - .then(res=>{ - if (res.data.code === '200') { - this.tableData = res.data.result.records - this.recordTotal = res.data.result.total - } - else{ - this.$message({message: res.data.message, type: 'warning'}); - } - }) - .catch(err=>{ - console.log(err) - this.$message({message: '接口错误', type: 'warning'}); - }) - .finally(()=>{ - this.listLoading = false - }) - }, - clearLevel(){ - this.filter.filter.level = null - } - - } + }, + created() { + this.hiddenDangerList(); + this.getUser() + }, + methods: { + queryHandle: function () { + this.filter.pageIndex = 1 + this.hiddenDangerList() + }, + checkDialog(row){ + this.$refs.accept.showDialog(row) + }, + viewHandle (type,row) { + this.$refs.rectifyDialog.showDialog(type,row) + }, + rectifyHandle(row){ + this.$refs.rectifyDialog.show(row) + }, + + handleSizeChange: function (val) { + this.filter.pageSize = val + this.filter.pageIndex = 1 + this.hiddenDangerList() + }, + handleCurrentChange: function (val) { + this.filter.pageIndex = val + this.hiddenDangerList() + }, + getBtnPermission(btnType) { + return checkBtnPermission(this.userType, btnType) + }, + + + downloadHandle(fileurl){ + window.open(fileurl, '_blank'); + }, + + async getUser(){ + let res = await safetyInspectionItemName() + if(res.data.code === '200'){ + this.userList = res.data.result + }else{ + this.$message({ + message:res.data.message, + type:'warning' + }) + } + }, + + hiddenDangerList(){ + this.listLoading = true + hiddenDangerAcceptList(this.filter) + .then(res=>{ + if (res.data.code === '200') { + this.tableData = res.data.data + this.recordTotal = res.data.count + } + else{ + this.$message({message: res.data.message, type: 'warning'}); + } + + }) + .catch(err=>{ + console.log(err) + this.$message({message: '接口错误', type: 'warning'}); + + }) + .finally(()=>{ + this.listLoading = false + }) + }, + + parseNumber (value, type) { + if (type === '整改类型') { + return this.rectifyTypeList.find((item) => item.id === value).name; + } else if (type === '隐患整改状态') { + return this.dangerStatusList.find((item) => item.id === value).name; + } + }, + + deleteById(val){ + this.$confirm('删除此条信息,是否继续','提示',{ + confirmButtonText:'确定', + cancelButtonText:'取消', + type:'warning', + }).then(()=> { + deleteHiddenDangerReport({id:val.id}).then( ()=>{ + this.hiddenDangerList() + this.$notify({ + title:'成功', + message:'删除成功', + type:'success', + duration:2000, + }) + }) + }) + }, + + clearLevel(){ + this.filter.filter.level = null + }, + clearStatus(){ + this.filter.filter.status = null + }, + } +} </script> <style scoped> - .overdue{ - color: red; - } - .overdue-img{ - position: absolute; - background-color: #f56c6c; - border-radius: 4px; - color: #fff; - display: inline-block; - font-size: 12px; - height: 21px; - line-height: 18px; - text-align: center; - white-space: nowrap; - border: 1px solid #fff; - transform: scale(0.8); - padding: 1px 3px 0 3px; - } +.overdue{ + color: red; +} +.overdue-img{ + position: absolute; + background-color: #f56c6c; + border-radius: 4px; + color: #fff; + display: inline-block; + font-size: 12px; + height: 21px; + line-height: 18px; + text-align: center; + white-space: nowrap; + border: 1px solid #fff; + transform: scale(0.8); + padding: 1px 3px 0 3px; +} +.basic_search{ + display:inline-block; + padding-bottom: 10px; +} +.analyseUnit_input{ + width:90%; +} +.analyseUnit_box{ + width:200px; +} </style> -- Gitblit v1.9.2