From f877ea29a3363133b7dc30d8adc477544a1eaf7f Mon Sep 17 00:00:00 2001 From: cqf <2252655793@qq.com> Date: 星期四, 26 五月 2022 14:21:58 +0800 Subject: [PATCH] 文件名称如果不以a62b结尾,补上a62b --- src/views/oneFromanotherN/index.vue | 474 +++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 410 insertions(+), 64 deletions(-) diff --git a/src/views/oneFromanotherN/index.vue b/src/views/oneFromanotherN/index.vue index 64723ba..66a5282 100644 --- a/src/views/oneFromanotherN/index.vue +++ b/src/views/oneFromanotherN/index.vue @@ -2,14 +2,15 @@ <div class="app-container"> <el-form ref="form" :inline="true" class="inquire" :model="listQuery.form" label-width="80px"> <el-form-item label="隐患单位"> - <el-select v-model="listQuery.form.check_main_branch" placeholder="请选择"> - <el-option - v-for="item in XFDWList" - :key="item.value" - :label="item.value" - :value="item.value"> - </el-option> - </el-select> + <el-input v-model="listQuery.form.check_main_branch" style="width:202px"></el-input> +<!-- <el-select v-model="listQuery.form.check_main_branch" placeholder="请选择">--> +<!-- <el-option--> +<!-- v-for="item in XFDWList"--> +<!-- :key="item.value"--> +<!-- :label="item.value"--> +<!-- :value="item.value">--> +<!-- </el-option>--> +<!-- </el-select>--> </el-form-item> <el-form-item label="检查类别"> <el-select v-model="listQuery.form.checktype" placeholder="请选择"> @@ -50,9 +51,8 @@ <el-form-item label="隐患内容"> <el-input v-model="listQuery.form.ht_content" style="width:202px" placeholder="请输入内容"></el-input> </el-form-item> - - <el-form-item label="发送单位"> - <el-input v-model="listQuery.form.workGroupName" style="width:202px" placeholder="请输入内容"></el-input> + <el-form-item label="发送单位" v-if="listQuery.type=='1'"> + <el-input v-model="listQuery.form.workGroupName" style="width:202px" placeholder="请输入内容"></el-input> </el-form-item> <el-form-item label="检查时间"> <el-col :span="11"> @@ -69,8 +69,6 @@ <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" @click="exportData">导出excel - </el-button> </el-form-item> </el-form> <el-row class="title-center"> @@ -79,27 +77,28 @@ <el-radio-button label="0">待发送</el-radio-button> <el-radio-button label="1">已发送</el-radio-button> </el-radio-group> - <el-radio-group v-if="table2" > + <el-radio-group v-if="table2" v-model="listQuery.sendType" @change="sendTypeChange"> <el-radio-button label="0">待自查</el-radio-button> <el-radio-button label="1">已自查</el-radio-button> </el-radio-group> - <el-button class="btns" type="primary" size="small" v-if="table1" @click="handoff(1)">进入自查(3)</el-button> + <el-button class="btns" type="primary" size="small" v-if="table1" @click="handoff(1)">进入自查({{selfTotal}})</el-button> <el-button class="btns" type="primary" size="small" v-if="table2" @click="handoff(2)">返回填写</el-button> </el-col> <div v-if="table1"> <el-col :span="14" style="text-align:right;" v-if="listQuery.type==0"> - <el-button class="btns" type="primary" size="small" icon="el-icon-upload2" >发送</el-button> - <el-button class="btns" type="primary" size="small" icon="el-icon-plus" @click="sendBath()">添加</el-button> - <el-button size="small" >批量删除</el-button> + <el-button class="btns" type="primary" size="small" icon="el-icon-upload2" @click="openSend()">发送</el-button> + <el-button class="btns" type="primary" size="small" icon="el-icon-plus" @click="addDanger()">添加</el-button> + <el-button size="small" @click="deleteBatch()" >批量删除</el-button> </el-col> <el-col :span="14" style="text-align:right;" v-if="listQuery.type==1"> - <el-button class="btns" type="primary" size="small" >收回</el-button> + <el-button class="btns" type="primary" size="small" @click="tackBack()">收回</el-button> </el-col> </div> </el-row> <div v-if="table1"> <el-table ref="dataTable" v-if="listQuery.type==0" + v-loading="loading" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange"> @@ -113,15 +112,15 @@ <el-table-column prop="check_main_branch" label="检查单位" align="center"></el-table-column> <el-table-column prop="checktype" label="检查类别" align="center"></el-table-column> <!-- <el-table-column prop="measure" label="被检单位" align="center"></el-table-column> --> - <el-table-column prop="ht_level" label="隐患类别" align="center"></el-table-column> - <el-table-column prop="ht_typesub" 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="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="curWarningLevel" 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" size="small">删除</el-button> + <el-button @click="editDanger(scope.row)" type="text" size="small">编辑</el-button> + <el-button @click="deleteDanger(scope.row)" type="text" size="small">删除</el-button> </template> </el-table-column> </el-table> @@ -139,7 +138,7 @@ <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="workGroupName" label="发送单位" align="center"></el-table-column> <el-table-column prop="state" label="未自查单位" align="center"></el-table-column> </el-table> @@ -166,8 +165,9 @@ <el-table-column prop="workGroupName" 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" size="small">存在</el-button> + <el-button @click="handleClick(scope.row,'不存在')" type="text" size="small">不存在</el-button> + <el-button @click="handleClick(scope.row)" type="text" v-if="listQuery.sendType=='0'" size="small">存在</el-button> + <el-button @click="handleClick(scope.row)" type="text" v-if="listQuery.sendType=='1'" size="small">追查结果</el-button> </template> </el-table-column> </el-table> @@ -185,11 +185,156 @@ </el-pagination> </div> + <!-- 编辑弹窗 --> + <el-dialog + title="编辑" + :visible.sync="dialogVisible" + :close-on-click-modal="false" + width="40%"> + <el-form ref="form" :rules="dangerRules" :model="dangerForm" label-width="100px"> + <el-row> + <el-col :span="9"> + <el-form-item label="检查时间" prop="check_date"> + <el-date-picker + v-model="dangerForm.check_date" + type="date" + value-format="yyyy-MM-dd" + placeholder="选择日期" + style="width: 100%" + > + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="9" :offset="4"> + <el-form-item label="检查类别" prop="checktype"> + <el-select v-model="dangerForm.checktype" placeholder="请选择"> + <el-option + v-for="item in JCLBList" + :key="item.value" + :label="item.value" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="9" > + <el-form-item label="检查单位" prop="check_main_branch"> + <el-input v-model="dangerForm.check_main_branch" class="multiline"></el-input> + </el-form-item> + </el-col> + </el-row> + + <el-row> + <el-col :span="9"> + <el-form-item label="地点" prop="address"> + <el-input v-model="dangerForm.address" rows="3" type="textarea" class="multiline"></el-input> + </el-form-item> + </el-col> + <el-col :span="9" :offset="4"> + <el-form-item label="隐患内容" prop="ht_content"> + <el-input v-model="dangerForm.ht_content" rows="3" type="textarea" class="multiline"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="9" > + <el-form-item label="隐患类别" prop="ht_typesub"> + <el-select v-model="dangerForm.ht_typesub" placeholder="请选择"> + <el-option + v-for="item in YHLBList" + :key="item.value" + :label="item.value" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="9" :offset="4"> + <el-form-item label="隐患级别" prop="ht_level"> + <el-select v-model="dangerForm.ht_level" placeholder="请选择"> + <el-option + v-for="item in YHJBList" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="22"> + <el-form-item style="text-align: center"> + <el-button type="primary" class="btns" @click="submitDanger('form')">保存</el-button> + <el-button @click="dialogVisible=false">关闭</el-button> + </el-form-item> + </el-col> + </el-row> + </el-form> + </el-dialog> + + <!-- 部门弹窗 --> + <el-dialog + title="责任单位" + :visible.sync="bmDialogVisible" + :close-on-click-modal="false" + width="40%"> + <el-form> + <el-row> + <el-checkbox style="width: 80px;height: 30px" + v-for="item in YHBMList" + v-model="checked" + :label="item.branch_id" + :key="item.branch_name"> + {{item.branch_name}} + </el-checkbox> + </el-row> + <el-row> + <el-col :span="22"> + <el-form-item style="text-align: center;"> + <el-button class="btn" size="small" type="primary" @click="submitForm()"> + 保存 + </el-button> + <el-button size="small" @click="bmDialogVisible = false">关闭</el-button> + </el-form-item> + </el-col> + </el-row> + </el-form> + </el-dialog> + + <!-- 不存在弹窗--> + <el-dialog :title="selfTitle" :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="center"> + <el-button type="primary" v-if="listQuery.sendType == '0'" @click="submitSelfInspect()">确认</el-button> + <el-button @click="selfInspectVisible = false">关闭</el-button> + </div> + </el-dialog> + </div> </template> <script> - import { getPageList, analogy_export_do} from "@/api/sgyhpczl/oneFromanotherN" - import {initJCBM, initYHLX, initJCLB, initYHJB} from "@/api/sgyhpczl/initSelect"; +import { getPageList, edit, del, send, revoke} from "@/api/sgyhpczl/oneFromanotherN" +import {noExistSave,selfCheckNotInfo} from "@/api/sgyhpczl/oneFromanother" +import {initJCBM, initYHLX, initJCLB, initYHJB,initYHBM} from "@/api/sgyhpczl/initSelect"; +import {deepClone} from '@/utils' + export default{ data(){ @@ -198,23 +343,27 @@ page:1, limit:10, type: 0, + sendType: 0, form:{}, }, + selfTotal: 0, radio1:'待发送', table1:true, table2:false, - - - currentPage: 1, pageSize: 10, recordTotal: 0, + YHBMList: [], + bmDialogVisible: false, + checked:[], + requestData:{},//发送提交参数 XFDWList:[], YHLBList:[], YHJBList:[], JCLBList:[], tableData:[], selectedList:[], + loading:false, listLoading: false, selfInspectVisible: false, selfInspectForm:{ @@ -223,44 +372,106 @@ markDate:'', remark:'', }, + selfTitle: '', selfInspectFormRules:{ markUserName: [{ required: true, message: '自查人不能为空', trigger: 'blur' }], markDate: [{ required: true, message: '自查时间不能为空', trigger: 'blur' }] }, + dialogVisible:false, + dangerForm:{}, + dangerRules:{ + check_date: [{ required: true, message: '不能为空', trigger: 'blur' },], + check_main_branch: [{ required: true, message: '不能为空', trigger: 'blur' },], + checktype: [{ required: true, message: '不能为空', trigger: 'blur' },], + }, + } }, mounted() { this.getPageList(); + this.getSelfTotal(); + this.initYHBM(); this.initJCLB(); this.initXFDW(); this.initYHJB(); this.initYHLB(); }, methods:{ - sendBath(){ + addDanger(){ this.$router.push({ - path:'/existN' + path:'/addDanger', }) }, handleClick(data,val){ - if(val=='存在'){ - this.$router.push({ - path:'/exist' + if(val=='不存在'){ + this.$nextTick(() =>{ + this.$refs["selfInspectForm"].clearValidate() }) + this.selfInspectForm={id:data.id} + this.selfInspectVisible = true + if (this.listQuery.sendType == '1'){ + let params = { + id: data.id, + type: 1, + } + selfCheckNotInfo(params).then(res=>{ + if (res.data.ok==1){ + this.selfInspectForm=res.data.data[0] + } else{ + this.$message({type:'error', message:res.data.msg, duration:3000}) + } + }) + } + return } + let puType = '0'; + this.$router.push({ + path:'/existN', + query: { + data: data, + type: puType + } + }) + }, + //不存在提交 + 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}) + } + }) + } + }) }, handoff(index){ if(index==1){ this.table1=false this.table2=true this.listQuery.type = 2 - console.log(this.listQuery.type) + this.listQuery.sendType = 0 this.getPageList() }else{ + this.listQuery.type = 0 + this.getPageList() + this.getSelfTotal(); this.table1=true this.table2=false } + }, + initYHBM() { + initYHBM().then(res => { + if (res.data.ok == 1) { + this.YHBMList = res.data.data + } else { + this.$message({type: 'error', message: res.data.msg, duration: 3000}) + } + }) }, initXFDW(){ initJCBM(1).then(res=>{ @@ -307,19 +518,14 @@ } } - 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.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 @@ -327,6 +533,24 @@ this.$message({type:'error', message:res.data.msg, duration:3000}) } }) + }, + //获取待自查数量 + getSelfTotal(){ + if (this.listQuery.type != '2'){ + let query = { + page: 1, + sendType: 0, + type: 2, + form:{}, + }; + getPageList(query).then(res=>{ + if (res.data.ok==1) { + this.selfTotal=res.data.data.total + }else{ + this.$message({type:'error', message:res.data.msg, duration:3000}) + } + }) + } }, //重置 reset(){ @@ -356,29 +580,14 @@ this.listQuery.type = val; this.getPageList() }, + sendTypeChange(val){ + this.listQuery.sendType = val; + this.getPageList() + }, handleSelectionChange(val){ this.selectedList = [] val.forEach((item) => { this.selectedList.push(item) - }) - }, - 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) }) }, //日期格式转换 @@ -391,6 +600,143 @@ let dt = new Date(data) return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' ' }, + editDanger(row, index) { + this.dangerForm = deepClone(row); + this.rowIndex = index; + this.dialogVisible = true; + }, + //编辑提交 + submitDanger(formName){ + this.$refs[formName].validate((valid) => { + if (valid) { + edit(this.dangerForm).then(res=>{ + if (res.data.ok==1) { + this.dialogVisible=false + this.$message({type:'success', message:res.data.msg, duration:3000}) + this.getPageList() + }else{ + this.$message({type:'error', message:res.data.msg, duration:3000}) + } + }) + } else { + console.log("error submit!!"); + return false; + } + }); + }, + 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(() => { + del(ids).then(() => { + this.getPageList() + this.$notify({ + title: "成功", + message: "删除成功", + type: "success", + duration: 2000, + }); + }); + }) + .catch(error => { + }); + }, + deleteDanger(row) { + this.$confirm('确认删除吗', '提示', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + console.log(row.id) + del(row.id).then(() => { + this.getPageList() + this.$notify({ + title: "成功", + message: "删除成功", + type: "success", + duration: 2000, + }); + }); + }).catch(error => { + }); + }, + //发送提交 + submitForm() { + if (this.checked.length == 0) { + this.$message({ + type: 'warning', + message: '请勾选需要发送的部门!' + }); + return; + } + this.requestData.branchIds = this.checked.join(";"); + send(this.requestData).then(res => { + if (res.data.ok) { + this.$message({ + type: 'success', + message: res.data.msg + }); + this.bmDialogVisible = false; + this.getPageList(); + } else { + this.$message({ + type: 'error', + message: res.data.msg + }); + } + }) + }, + openSend() { + if (this.selectedList.length != 1) { + this.$message({ + type: 'warning', + message: '请选择一条数据!' + }); + return false; + } else { + this.requestData.id = this.selectedList[0].id; + this.bmDialogVisible = true; + } + }, + tackBack(){ + if (this.selectedList.length != 1) { + this.$message({ + type: 'warning', + message: '请选择一条数据!' + }); + return false; + }else { + this.$confirm('确认收回吗', '提示', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + let data = { + id: this.selectedList[0].id + } + revoke(data).then(() => { + this.getPageList() + this.$notify({ + title: "成功", + message: "收回成功", + type: "success", + duration: 2000, + }); + }); + }).catch(error => { + }); + } + } + } } </script> -- Gitblit v1.9.2