From 19261ea7afe047694c8b035ce18a0abe24118130 Mon Sep 17 00:00:00 2001 From: cqf Date: 星期三, 18 五月 2022 17:17:23 +0800 Subject: [PATCH] 05181717 --- src/api/sgyhpczl/hiddenDangerRegistration.js | 4 src/views/oneFromanother/index.vue | 204 +++++++++++++++++++++++++--- src/api/sgyhpczl/oneFromanother.js | 48 ++++++ src/views/oneFromanother/exist.vue | 119 +++++++++++++--- 4 files changed, 318 insertions(+), 57 deletions(-) diff --git a/src/api/sgyhpczl/hiddenDangerRegistration.js b/src/api/sgyhpczl/hiddenDangerRegistration.js index b92ddc5..56705da 100644 --- a/src/api/sgyhpczl/hiddenDangerRegistration.js +++ b/src/api/sgyhpczl/hiddenDangerRegistration.js @@ -3,6 +3,10 @@ export function getPageList(data) { var arr=[] + /*举一反三ID*/ + if(data.form.jyfsId!=null && data.form.jyfsId!=''){ + arr.push({field:"jyfsId",value:data.form.jyfsId,type:'OPT'}) + } /*编号*/ if(data.form.number!=null && data.form.number!=''){ arr.push({field:"number",value:data.form.number,type:'TXT'}) diff --git a/src/api/sgyhpczl/oneFromanother.js b/src/api/sgyhpczl/oneFromanother.js index a780077..615e6d3 100644 --- a/src/api/sgyhpczl/oneFromanother.js +++ b/src/api/sgyhpczl/oneFromanother.js @@ -5,12 +5,12 @@ export function getPageList(data) { var arr=[] /*下发单位*/ - if(data.form.ht_typesub!=null && data.form.ht_typesub!=''){ - arr.push({field:"ht_typesub",value:data.form.ht_typesub,type:'OPT'}) + if(data.form.push_branch!=null && data.form.push_branch!=''){ + arr.push({field:"push_branch",value:data.form.push_branch,type:'OPT'}) } /*隐患单位*/ - if(data.form.ht_branch!=null && data.form.ht_branch!=''){ - arr.push({field:"ht_branch",value:data.form.ht_branch,type:'TXT'}) + if(data.form.ht_community!=null && data.form.ht_community!=''){ + arr.push({field:"ht_community",value:data.form.ht_community,type:'TXT'}) } /*隐患类别*/ if(data.form.ht_typesub!=null && data.form.ht_typesub!=''){ @@ -48,7 +48,43 @@ data }); } - - +//不存在保存 +export function noExistSave(data) { + return request({ + headers:{ + 'token': getTokenAndVerify().token, + 'verify':getTokenAndVerify().verify + }, + url: "/taboi/analogy/no_exist_save", + contentType: "application/json", + method: 'POST', + data + }); +} +//撤销 +export function revoke(id) { + return request({ + headers:{ + 'token': getTokenAndVerify().token, + 'verify':getTokenAndVerify().verify + }, + contentType: "multipart/form-data", + url: "/taboi/analogy/revoke_do?id="+id, + method: 'GET', + }); +} +//导出 +export function analogy_export_do(data) { + return request({ + headers: { + 'token': getTokenAndVerify().token, + 'verify': getTokenAndVerify().verify + }, + url: '/taboi/excel/analogy_export_do', + method: 'POST', + responseType: 'arraybuffer', + data + }); +} diff --git a/src/views/oneFromanother/exist.vue b/src/views/oneFromanother/exist.vue index 170a81d..a4cb54e 100644 --- a/src/views/oneFromanother/exist.vue +++ b/src/views/oneFromanother/exist.vue @@ -1,6 +1,6 @@ <template> - <div class="app-container"> - <div style=""> + <div class="app-container" > + <div v-if="type == '0'" style=""> <Titlename title="录入隐患单页面"></Titlename> <div class="whole-form"> <el-form @@ -116,7 +116,6 @@ </el-button> <el-button size="mini" - v-if="addShow" @click="deleteDanger(scope.row, scope.$index)" >删除 </el-button> @@ -139,7 +138,55 @@ </el-form> </div> </div> + <div v-else> + <el-table :data="detailTableData" style="width: 100%" > + <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="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> + <el-table-column label="整改计划" align="center"> + <el-table-column prop="measure" label="整改措施" align="center"> </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="ht_level" label="级别" align="center"> </el-table-column> + </el-table-column> + <el-table-column label="整改情况" align="center"> + <el-table-column prop="ACCOMPLISHTIME" label="完成时间" width="110px" align="center"> </el-table-column> + <el-table-column prop="CALLBACKRESULT" 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> + <el-table-column label="隐患处理状态" align="center"> + <template slot-scope="scope"> + <span v-if="scope.row.step =='1'">初始状态</span> + <span v-if="scope.row.step =='2'">整改中</span> + <span v-if="scope.row.step =='3'">复查中</span> + <span v-if="scope.row.step =='end'">处理结束</span> + </template> + </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="warningLevel" label="初始警情" align="center"> </el-table-column> + <el-table-column prop="curWarningLevel" label="当前警情" align="center"> </el-table-column> + </el-table> + + <el-button style="margin-top: 20px" @click="returnIndex">关闭</el-button> + </div> <el-dialog :title="title" :visible.sync="dialogVisible" @@ -295,8 +342,9 @@ </el-row> </el-form> </el-dialog> - </div> + + </template> <script> @@ -314,7 +362,7 @@ initYHLX, initYwks } from "@/api/sgyhpczl/initSelect"; - import {initDangerRebound} from '@/api/sgyhpczl/hiddenDangerRegistration' + import {getPageList,initDangerRebound} from '@/api/sgyhpczl/hiddenDangerRegistration' import {deepClone} from '@/utils' export default { @@ -322,7 +370,7 @@ name: "hiddenDangerList", data() { return { - addShow:true, + type: '0', id:'', rowIndex:-1, dangerList:[], @@ -363,6 +411,15 @@ }, tableData: [], paramsData: {},//上个页面参数 + listQuery:{ + page:1, + limit:10, + form:{}, + }, + currentPage: 1, + pageSize: 10, + recordTotal: 0, + detailTableData:[],//隐患详情列表 }; }, @@ -377,8 +434,13 @@ this.initYWKS() this.initWXY() this.initDangerRebound() - this.id = this.$route.query.id; - this.initInfo(this.$route.query.data); + this.type = this.$route.query.type; + if (this.type === '0'){ + this.initInfo(this.$route.query.data); + }else { + this.listQuery.form.jyfsId = this.$route.query.data.id + this.getPageList(); + } }, methods: { initInfo(data){ @@ -427,9 +489,18 @@ } }); }, + getPageList(){ + this.listQuery.page=1 + getPageList(this.listQuery).then(res=>{ + if (res.data.ok==1) { + this.detailTableData = res.data.data.items + this.recordTotal=res.data.data.total + }else{ + this.$message({type:'error', message:res.data.msg, duration:3000}) + } + }) + }, deleteDanger(row, index) { - - this.$confirm('确认删除吗', '提示', { confirmButtonText: '确认', cancelButtonText: '取消', @@ -591,19 +662,19 @@ if(this.judge(this.tableData[0])){ this.$message({type:'error', message:"请完整录入隐患", duration:2000}) } - if(this.addShow){ - console.log(this.ruleForm) - saveDanger(this.ruleForm).then(res=>{ - if (res.data.ok==1){ - this.$message({type:'success', message:"保存成功", duration:3000}) - this.$router.push({ - path:"/oneFromanother" - }) - }else { - this.$message({type:'error', message:res.data.msg, duration:3000}) - } - }) - }else { + // if(this.addShow){ + console.log(this.ruleForm) + saveDanger(this.ruleForm).then(res=>{ + if (res.data.ok==1){ + this.$message({type:'success', message:"保存成功", duration:3000}) + this.$router.push({ + path:"/oneFromanother" + }) + }else { + this.$message({type:'error', message:res.data.msg, duration:3000}) + } + }) + // }else { // var param=deepClone(this.ruleForm) // var obj=deepClone(this.tableData[0]) // param.ht_branch=obj.ht_branch @@ -630,7 +701,7 @@ // this.$message({type:'error', message:res.data.msg, duration:3000}) // } // }) - } + // } diff --git a/src/views/oneFromanother/index.vue b/src/views/oneFromanother/index.vue index ec3b1fc..a62ce0c 100644 --- a/src/views/oneFromanother/index.vue +++ b/src/views/oneFromanother/index.vue @@ -2,7 +2,7 @@ <div class="app-container"> <el-form ref="form" :inline="true" class="inquire" :model="listQuery" label-width="80px"> <el-form-item label="下发单位"> - <el-select v-model="listQuery.form.ht_typesub" placeholder="请选择"> + <el-select v-model="listQuery.form.push_branch" placeholder="请选择"> <el-option v-for="item in XFDWList" :key="item.value" @@ -12,10 +12,10 @@ </el-select> </el-form-item> <el-form-item label="隐患单位"> - <el-input v-model="listQuery.form.ht_branch" style="width:202px"></el-input> + <el-input v-model="listQuery.form.ht_community" style="width:202px"></el-input> </el-form-item> <el-form-item label="隐患类别"> - <el-select v-model="listQuery.form.ht_typesub" placeholder="请选择"> + <el-select v-model="listQuery.form.checktype" placeholder="请选择"> <el-option v-for="item in YHLBList" :key="item.value" @@ -71,16 +71,16 @@ </el-form> <el-row class="title-center"> <el-col :span="10"> - <el-radio-group v-model="radio1"> - <el-radio-button label="待自查">待自查</el-radio-button> - <el-radio-button label="已自查">已自查</el-radio-button> - </el-radio-group> + <el-radio-group v-model="listQuery.type" @change="radioChange"> + <el-radio-button label="0">待自查</el-radio-button> + <el-radio-button label="1">已自查</el-radio-button> + </el-radio-group> </el-col> - <el-col :span="14" v-if="radio1=='待自查'" style="text-align:right;"> - <el-button class="btns" type="primary" size="small" @click="sendBath()">管理专业</el-button> - </el-col> - <el-col :span="14" v-if="radio1=='已自查'" style="text-align:right;"> - <el-button class="btns" type="primary" size="small" @click="sendBath()">撤销</el-button> +<!-- <el-col :span="14" v-if="type=='待自查'" style="text-align:right;">--> +<!-- <el-button class="btns" type="primary" size="small" @click="sendBath()">管理专业</el-button>--> +<!-- </el-col>--> + <el-col :span="14" v-if="listQuery.type=='1'" style="text-align:right;"> + <el-button class="btns" type="primary" size="small" @click="revoke()">撤销</el-button> </el-col> </el-row> <el-table @@ -89,7 +89,7 @@ style="width: 100%" @selection-change="changeBox"> <el-table-column type="selection" width="55" align="center"></el-table-column> - <el-table-column prop="check_date" label="检查时间" width="120" align="center"> + <el-table-column prop="check_date" label="检查时间" width="120" :formatter="formatColumnDate" align="center"> <!-- <template slot-scope="scope"> <label>{{ formatDate(scope.row.check_date)}}</label><br/> <label>{{ scope.row.check_class}}</label> @@ -101,13 +101,13 @@ <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="address" label="隐患地点" align="center"></el-table-column> - <el-table-column prop="ht_content" label="内容" width="200" align="center"></el-table-column> + <el-table-column prop="ht_content" show-overflow-tooltip label="内容" width="200" align="center"></el-table-column> <el-table-column prop="push_branch" label="下发单位" align="center"></el-table-column> <el-table-column prop="date" label="流程操作" align="center"> <template slot-scope="scope"> - <el-button @click="handleClick(scope.row)" type="text" size="small">不存在</el-button> - <el-button @click="handleClick(scope.row)" type="text" v-if="radio1=='已自查'" size="small">追查结果</el-button> - <el-button @click="handleClick(scope.row,'存在')" type="text" v-if="radio1=='待自查'" size="small">存在</el-button> + <el-button @click="handleClick(scope.row,'不存在')" v-if="scope.row.jyfsFlag=='1'" type="text" size="small">不存在</el-button> + <el-button @click="handleClick(scope.row)" type="text" v-if="listQuery.type=='0' || scope.row.jyfsFlag=='0'" size="small">存在</el-button> + <el-button @click="handleClick(scope.row)" type="text" v-if="listQuery.type=='1'" size="small">追查结果</el-button> </template> </el-table-column> </el-table> @@ -124,14 +124,36 @@ > </el-pagination> </div> + <el-dialog title="填写自查结果" :visible.sync="selfInspectVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="600px"> + <el-form ref="selfInspectForm" :rules="selfInspectFormRules" :model="selfInspectForm" label-position="right" label-width="80px"> + <el-form-item label="自查人" prop="markUserName"> + <el-input v-model="selfInspectForm.markUserName" class="analyseUnit_input"></el-input> + </el-form-item> + <el-form-item label="自查时间" prop="markDate"> + <el-col :span="11"> + <el-date-picker type="date" placeholder="选择日期" v-model="selfInspectForm.markDate" + style="width: 100%;" value-format="yyyy-MM-dd"> + </el-date-picker> + </el-col> + </el-form-item> + <el-form-item label="备注" prop="remark"> + <el-input v-model="selfInspectForm.remark" type="textarea" rows="5" class="analyseUnit_input"></el-input> + </el-form-item> + </el-form> + <div align="right"> + <el-button @click="selfInspectVisible = false">取消</el-button> + <el-button type="primary" @click="submitSelfInspect()">确认</el-button> + </div> + </el-dialog> </div> </template> <script> - import { getPageList } from "@/api/sgyhpczl/oneFromanother" + import { getPageList, noExistSave, revoke, analogy_export_do} from "@/api/sgyhpczl/oneFromanother" import {initJCBM, initYHLX, initJCLB, initYHJB} from "@/api/sgyhpczl/initSelect"; export default{ + name: 'index', data(){ return{ listQuery:{ @@ -148,10 +170,19 @@ YHJBList:[], JCLBList:[], tableData:[], - exportData:[], selectedList:[], - radio1:'待自查', listLoading: false, + selfInspectVisible: false, + selfInspectForm:{ + id: '', + markUserName:'', + markDate:'', + remark:'', + }, + selfInspectFormRules:{ + markUserName: [{ required: true, message: '自查人不能为空', trigger: 'blur' }], + markDate: [{ required: true, message: '自查时间不能为空', trigger: 'blur' }] + }, } }, mounted() { @@ -162,16 +193,59 @@ this.initYHLB(); }, methods:{ - sendBath(){ - this.$router.push({ - path:'/manage' + revoke(){ + if (this.selectedList.length > 1 || this.selectedList.length === 0) { + this.$message({type:'warning', message:'请选择一条记录', duration:3000}) + return + } + this.$confirm('确认撤销吗','提示', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning' + }).then(()=>{ + revoke(this.selectedList[0].id).then((res)=>{ + if (res.data.ok==1) { + this.getPageList(); + this.$notify({ + title: "成功", + message: "撤销成功", + type: "success", + duration: 2000, + }); + }else{ + this.$message({type:'error', message:res.data.msg, duration:3000}) + } + }) }) }, handleClick(data,val){ - if(val=='存在'){ + if(!val){ this.$router.push({ - path:'/exist' + path:'/exist', + query: { + data: data, + type: this.listQuery.type + } }) + return + } + if(val=='不存在'){ + this.$nextTick(() =>{ + this.$refs["selfInspectForm"].clearValidate() + }) + this.selfInspectVisible = true + this.selfInspectForm.id = data.id + if (this.listQuery.type == '1'){ + initYHLX().then(res=>{ + if (res.data.ok==1){ + this.selfInspectForm.remark=res.data.data[0].value + } else{ + this.$message({type:'error', message:res.data.msg, duration:3000}) + } + }) + } + + } }, initXFDW(){ @@ -210,10 +284,28 @@ } }) }, + 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 + } + } + }, + //搜索 getPageList(){ this.listQuery.page=1 - // this.checkTime() + this.checkTime() getPageList(this.listQuery).then(res=>{ if (res.data.ok==1) { this.tableData = res.data.data.items @@ -224,6 +316,11 @@ }) }, reset(){ + this.listQuery.form={}; + this.getPageList() + }, + radioChange(val){ + this.listQuery.type = val; this.getPageList() }, changeBox(val){ @@ -240,7 +337,60 @@ this.listQuery.page = val this.getPageListForPagination(); }, - + getPageListForPagination(){ + this.checkTime() + getPageList(this.listQuery).then(res=>{ + if (res.data.ok==1) { + this.tableData = res.data.data.items + this.recordTotal=res.data.data.total + }else{ + this.$message({type:'error', message:res.data.msg, duration:3000}) + } + }) + }, + submitSelfInspect(){ + this.$refs["selfInspectForm"].validate((valid) =>{ + if (valid){ + noExistSave(this.selfInspectForm).then((res)=>{ + if (res.data.ok==1) { + this.$message({type:'success', message:"保存成功", duration:3000}); + this.selfInspectVisible = false + }else{ + this.$message({type:'error', message:res.data.msg, duration:3000}) + } + }) + } + }) + }, + exportData() { + var requestData = this.listQuery; + //删除分页参数 + this.$delete(requestData, 'page') + this.$delete(requestData, 'limit') + analogy_export_do(requestData).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) + }) + }, + //日期格式转换 + 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() + ' ' + }, } } </script> -- Gitblit v1.9.2