From 0f5e1534e83fa99cac09f9a3430539d115ed0b59 Mon Sep 17 00:00:00 2001 From: panzy <225@qq.com> Date: 星期四, 19 五月 2022 20:25:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/shf' into shf --- src/views/oneFromanotherN/index.vue | 598 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 519 insertions(+), 79 deletions(-) diff --git a/src/views/oneFromanotherN/index.vue b/src/views/oneFromanotherN/index.vue index 71cb8e6..ed13ff7 100644 --- a/src/views/oneFromanotherN/index.vue +++ b/src/views/oneFromanotherN/index.vue @@ -1,28 +1,29 @@ <template> <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-option - v-for="item in YHLXList" - :key="item.value" - :label="item.value" - :value="item.value"> - </el-option> - </el-select> - </el-form-item> + <el-form ref="form" :inline="true" class="inquire" :model="listQuery.form" label-width="80px"> <el-form-item label="隐患单位"> - <el-input v-model="listQuery.form.ht_branch" style="width:202px"></el-input> + <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.ht_typesub" placeholder="请选择"> + <el-form-item label="检查类别"> + <el-select v-model="listQuery.form.checktype" placeholder="请选择"> <el-option - v-for="item in YHLXList" + v-for="item in JCLBList" :key="item.value" :label="item.value" :value="item.value"> </el-option> </el-select> + </el-form-item> + <el-form-item label="被检单位"> + <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_level" placeholder="请选择"> @@ -34,21 +35,24 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="隐患地点"> - <el-input v-model="listQuery.form.address" style="width:202px" placeholder="请输入内容"></el-input> - </el-form-item> - <el-form-item label="检查类别"> + <el-form-item label="隐患类别"> <el-select v-model="listQuery.form.ht_typesub" placeholder="请选择"> <el-option - v-for="item in YHLXList" + v-for="item in YHLBList" :key="item.value" :label="item.value" :value="item.value"> </el-option> </el-select> </el-form-item> + <el-form-item label="隐患地点"> + <el-input v-model="listQuery.form.address" style="width:202px" placeholder="请输入内容"></el-input> + </el-form-item> <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="发送单位" 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"> @@ -65,89 +69,99 @@ <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"> <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-if="table1" v-model="listQuery.type" @change="typeChange"> + <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-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="table2" @click="handoff(2)">返回填写</el-button> </el-col> <div v-if="table1"> - <el-col :span="14" style="text-align:right;" v-if="radio1=='待发送'"> - <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-col :span="14" style="text-align:right;" v-if="listQuery.type==0"> + <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="radio1=='已发送'"> - <el-button class="btns" type="primary" size="small" >收回</el-button> + <el-col :span="14" style="text-align:right;" v-if="listQuery.type==1"> + <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="radio1=='待发送'" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" 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 ref="dataTable" + v-if="listQuery.type==0" + :data="tableData" + style="width: 100%" + @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center"></el-table-column> + <el-table-column prop="check_date" label="检查时间" :formatter="formatColumnDate" 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="check_branch" label="检查单位" align="center"></el-table-column> + <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="date" label="隐患类别" align="center"></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="隐患内容" width="200" 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="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> - <el-table ref="dataTable" v-if="radio1=='已发送'" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange"> + <el-table ref="dataTable" v-if="listQuery.type==1" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" 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 prop="check_date" label="检查时间" :formatter="formatColumnDate" 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="check_branch" label="检查单位" align="center"></el-table-column> + <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="date" label="隐患类别" align="center"></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="隐患内容" 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"></el-table-column> + <el-table-column prop="ht_community" 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="workGroupName" label="发送单位" align="center"></el-table-column> + <el-table-column prop="state" label="未自查单位" align="center"></el-table-column> </el-table> </div> - <el-table ref="dataTable" v-if="table2" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange"> + <el-table + ref="dataTable" + v-if="table2" + :data="tableData" style="width: 100%" + @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" 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 prop="check_date" label="检查时间" :formatter="formatColumnDate" 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="check_branch" label="检查单位" align="center"></el-table-column> + <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="date" label="隐患类别" align="center"></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="内容" width="200" align="center"></el-table-column> - <el-table-column prop="curWarningLevel" label="发送单位" align="center"></el-table-column> + <el-table-column prop="ht_community" 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="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> @@ -168,26 +182,192 @@ > </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"> + {{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> + </div> </template> <script> +import { getPageList, edit, del, send, revoke} from "@/api/sgyhpczl/oneFromanotherN" +import {initJCBM, initYHLX, initJCLB, initYHJB,initYHBM} from "@/api/sgyhpczl/initSelect"; +import {deepClone} from '@/utils' + + export default{ data(){ return{ listQuery:{ - form:{} + page:1, + limit:10, + type: 0, + form:{}, }, radio1:'待发送', table1:true, - table2:false + table2:false, + + + + currentPage: 1, + pageSize: 10, + recordTotal: 0, + YHBMList: [], + bmDialogVisible: false, + checked:[], + requestData:{},//发送提交参数 + XFDWList:[], + YHLBList:[], + YHJBList:[], + JCLBList:[], + tableData:[], + selectedList:[], + listLoading: false, + selfInspectVisible: false, + selfInspectForm:{ + id: '', + markUserName:'', + markDate:'', + remark:'', + }, + 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.initYHBM(); + this.initJCLB(); + this.initXFDW(); + this.initYHJB(); + this.initYHLB(); + }, methods:{ - sendBath(){ + addDanger(){ this.$router.push({ - path:'/existN' + path:'/existN', }) }, handleClick(data,val){ @@ -201,11 +381,271 @@ if(index==1){ this.table1=false this.table2=true + this.listQuery.type = 2 + this.getPageList() }else{ + this.listQuery.type = 0 + this.getPageList() 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=>{ + if (res.data.ok==1){ + this.XFDWList=res.data.data + } else{ + this.$message({type:'error', message:res.data.msg, duration:3000}) + } + }) + }, + initYHLB(){ + initYHLX().then(res=>{ + if (res.data.ok==1){ + this.YHLBList=res.data.data + } else{ + this.$message({type:'error', message:res.data.msg, duration:3000}) + } + }) + }, + initYHJB(){ + initYHJB().then(res=>{ + if (res.data.ok==1){ + this.YHJBList=res.data.data + } else{ + this.$message({type:'error', message:res.data.msg, duration:3000}) + } + }) + }, + initJCLB(){ + initJCLB().then(res=>{ + if (res.data.ok==1){ + this.JCLBList=res.data.data + } else{ + this.$message({type:'error', message:res.data.msg, duration:3000}) + } + }) + }, + 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() + 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}) + } + }) + }, + //重置 + reset(){ + this.listQuery.form={}; + this.getPageList() + }, + handleSizeChange(val){ + this.listQuery.limit = val + this.getPageListForPagination(); + }, + handleCurrentChange(val){ + 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}) + } + }) + }, + typeChange(val){ + this.listQuery.type = val; + this.getPageList() + }, + handleSelectionChange(val){ + this.selectedList = [] + val.forEach((item) => { + this.selectedList.push(item) + }) + }, + //日期格式转换 + 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() + ' ' + }, + 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> @@ -240,4 +680,4 @@ background-color: #034ea2; background-color: #034ea2; } -</style> \ No newline at end of file +</style> -- Gitblit v1.9.2