From f5006d12ef5952b8a1102dfc6c6f5c31302e8c7f Mon Sep 17 00:00:00 2001 From: shj <1790240199@qq.com> Date: 星期二, 17 五月 2022 08:52:15 +0800 Subject: [PATCH] Merge branch 'shf' of https://sinanoaq.cn:8888/r/ztqt into shf --- src/permission.js | 2 src/views/safetyHazardAccount/hazardSource.vue | 255 +++++++++++++++++++++++++++++++ src/views/oneFromanother/index.vue | 131 ++++++++++++++-- src/api/sgyhpczl/oneFromanother.js | 54 ++++++ src/router/index.js | 8 src/api/sgyhpczl/initSelect.js | 2 6 files changed, 432 insertions(+), 20 deletions(-) diff --git a/src/api/sgyhpczl/initSelect.js b/src/api/sgyhpczl/initSelect.js index b55abaf..0e7b2bb 100644 --- a/src/api/sgyhpczl/initSelect.js +++ b/src/api/sgyhpczl/initSelect.js @@ -133,3 +133,5 @@ data }); } + + diff --git a/src/api/sgyhpczl/oneFromanother.js b/src/api/sgyhpczl/oneFromanother.js new file mode 100644 index 0000000..a780077 --- /dev/null +++ b/src/api/sgyhpczl/oneFromanother.js @@ -0,0 +1,54 @@ +import request from '@/utils/request'; +import {getTokenAndVerify} from "@/api/sgyhpczl/auth"; + + +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.ht_branch!=null && data.form.ht_branch!=''){ + arr.push({field:"ht_branch",value:data.form.ht_branch,type:'TXT'}) + } + /*隐患类别*/ + 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.ht_level!=null && data.form.ht_level!=''){ + arr.push({field:"ht_level",value:data.form.ht_level,type:'OPT'}) + } + /*隐患地点*/ + if(data.form.address!=null && data.form.address!=''){ + arr.push({field:"address",value:data.form.address,type:'TXT'}) + } + /*检查类别*/ + 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.ht_content!=null && data.form.ht_content!=''){ + arr.push({field:"ht_content",value:data.form.ht_content,type:'TXT'}) + } + /*检查时间*/ + if(data.form.check_dateStart!=null && data.form.check_dateStart!='' && data.form.check_dateEnd!=null && data.form.check_dateEnd!=''){ + arr.push({field:"check_date",value:data.form.check_dateStart+"至"+data.form.check_dateEnd,type:'DAT'}) + } + data.query_condition=arr + return request({ + headers:{ + 'token': getTokenAndVerify().token, + 'verify':getTokenAndVerify().verify + }, + url: "/taboi/analogy/danger_list", + contentType: "application/json", + method: 'POST', + data + }); +} + + + + diff --git a/src/permission.js b/src/permission.js index 5961b18..d18c503 100644 --- a/src/permission.js +++ b/src/permission.js @@ -16,7 +16,7 @@ if (!permissionRoles) return true return roles.some(role => permissionRoles.indexOf(role) >= 0) } -const whiteList = ['/login', '/auth-redirect','/agreement','/register','/productionEquipment','/instrumentData','/oneFromanother','/hiddenDangerTroubleshootingList','/preview','/inspectionNotExist','/send','/Issuedbysuperiors','/oneFromanotherN','/summaryPotentialSafetyHzards','/safetyHazardAccount','/superiorsSend','/accountSend','/existN','/exist']// no redirect whitelist +const whiteList = ['/login', '/auth-redirect','/agreement','/register','/productionEquipment','/instrumentData','/oneFromanother','/hiddenDangerTroubleshootingList','/preview','/inspectionNotExist','/send','/Issuedbysuperiors','/oneFromanotherN','/summaryPotentialSafetyHzards','/safetyHazardAccount','/superiorsSend','/accountSend','/existN','/exist','/hazardSource']// no redirect whitelist router.beforeEach((to, from, next) => { NProgress.start() // start progress bar diff --git a/src/router/index.js b/src/router/index.js index 838b09a..2fbd1de 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -422,7 +422,13 @@ // meta: { title: '安全隐患台账-查看隐患单', icon: '' } hidden: true }, - + { + path: '/hazardSource', + // name: '安全隐患台账-关联危险源', + component: () => import('@/views/safetyHazardAccount/hazardSource'), + // meta: { title: '安全隐患台账-关联危险源', icon: '' } + hidden: true + }, ] } ] diff --git a/src/views/oneFromanother/index.vue b/src/views/oneFromanother/index.vue index e3ada87..ec3b1fc 100644 --- a/src/views/oneFromanother/index.vue +++ b/src/views/oneFromanother/index.vue @@ -4,7 +4,7 @@ <el-form-item label="下发单位"> <el-select v-model="listQuery.form.ht_typesub" placeholder="请选择"> <el-option - v-for="item in YHLXList" + v-for="item in XFDWList" :key="item.value" :label="item.value" :value="item.value"> @@ -17,7 +17,7 @@ <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"> @@ -40,7 +40,7 @@ <el-form-item label="检查类别"> <el-select v-model="listQuery.form.ht_typesub" placeholder="请选择"> <el-option - v-for="item in YHLXList" + v-for="item in JCLBList" :key="item.value" :label="item.value" :value="item.value"> @@ -83,22 +83,26 @@ <el-button class="btns" type="primary" size="small" @click="sendBath()">撤销</el-button> </el-col> </el-row> - <el-table ref="dataTable" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange"> + <el-table + v-loading="listLoading" + :data="tableData" + 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"> - <template slot-scope="scope"> + <!-- <template slot-scope="scope"> <label>{{ formatDate(scope.row.check_date)}}</label><br/> <label>{{ scope.row.check_class}}</label> - </template> + </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="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> @@ -120,18 +124,42 @@ > </el-pagination> </div> - + </div> </template> <script> + import { getPageList } from "@/api/sgyhpczl/oneFromanother" + import {initJCBM, initYHLX, initJCLB, initYHJB} from "@/api/sgyhpczl/initSelect"; + export default{ data(){ return{ listQuery:{ - form:{} + page:1, + limit:10, + type: 0, + form:{}, }, - radio1:'待自查', + currentPage: 1, + pageSize: 10, + recordTotal: 0, + XFDWList:[], + YHLBList:[], + YHJBList:[], + JCLBList:[], + tableData:[], + exportData:[], + selectedList:[], + radio1:'待自查', + listLoading: false, } + }, + mounted() { + this.getPageList(); + this.initJCLB(); + this.initXFDW(); + this.initYHJB(); + this.initYHLB(); }, methods:{ sendBath(){ @@ -145,7 +173,74 @@ path:'/exist' }) } - } + }, + 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}) + } + }) + }, + //搜索 + 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.getPageList() + }, + changeBox(val){ + this.selectedList = [] + val.forEach((item) => { + this.selectedList.push(item) + }) + }, + handleSizeChange(val){ + this.listQuery.limit = val + this.getPageListForPagination(); + }, + handleCurrentChange(val){ + this.listQuery.page = val + this.getPageListForPagination(); + }, + } } </script> @@ -180,4 +275,4 @@ background-color: #034ea2; background-color: #034ea2; } -</style> \ No newline at end of file +</style> diff --git a/src/views/safetyHazardAccount/hazardSource.vue b/src/views/safetyHazardAccount/hazardSource.vue new file mode 100644 index 0000000..938d364 --- /dev/null +++ b/src/views/safetyHazardAccount/hazardSource.vue @@ -0,0 +1,255 @@ +<template> + <div class="whole"> + <div class="left-tree"> + <el-tree + :data="data" + node-key="id" + default-expand-all + @node-drag-start="handleDragStart" + @node-drag-enter="handleDragEnter" + @node-drag-leave="handleDragLeave" + @node-drag-over="handleDragOver" + @node-drag-end="handleDragEnd" + @node-drop="handleDrop" + draggable + :allow-drop="allowDrop" + :allow-drag="allowDrag"> + <span slot-scope="{ node, data }" class="slot-t-node"> + <template> + <i + v-if="data.ChildItems&&data.ChildItems.length" + :class="{ + 'el-icon-folder': !node.expanded, // 节点收缩时的图标 + 'el-icon-folder-opened': node.expanded, // 节点展开时的图标 + }" + style="color: #409eff;" + /> + <i v-else class="el-icon-folder-add" style="color: #EC933A;" /> + <span>{{ node.label }}</span> + </template> + </span> + </el-tree> + </div> + <div class="right-table"> + <el-form :inline="true" :model="formInline" class="demo-form-inline"> + <el-checkbox-group v-model="checkList"> + <el-checkbox style="margin-right: 50px"> + <el-form-item label="事故来源"> + <el-input v-model="formInline.user"></el-input> + </el-form-item> + </el-checkbox> + <el-checkbox style="margin-right: 50px"> + <el-form-item label="事故类型"> + <el-input v-model="formInline.user"></el-input> + </el-form-item> + </el-checkbox> + <el-form-item label="主要危险源" style="margin-right: 50px"> + <el-input v-model="formInline.user"></el-input> + </el-form-item> + </el-checkbox-group> + <el-form-item> + <button class="btn" @click="onSubmit">查询</button> + <button class="btn" @click="onSubmit">确定</button> + </el-form-item> + </el-form> + <el-table + :data="tableData" + ref="multipleTable" + border + @selection-change="handleSelectionChange" + style="width: 100%"> + <el-table-column + type="selection" + width="55"> + </el-table-column> + <el-table-column + prop="date" + label="风险点" + width="180"> + </el-table-column> + <el-table-column + prop="name" + label="主要危险源" + width="180"> + </el-table-column> + <el-table-column + prop="address" + label="事故类型"> + </el-table-column> + <el-table-column + prop="address" + label="风险等级"> + </el-table-column> + <el-table-column + prop="address" + label="管控措施"> + </el-table-column> + <el-table-column + prop="address" + label="管控层级"> + </el-table-column> + <el-table-column + prop="address" + label="责任单位"> + </el-table-column> + <el-table-column + prop="address" + label="责任人"> + </el-table-column> + </el-table> + </div> + </div> +</template> + +<script> +export default { + name: "hazardSource", + data() { + return { + data: [{ + id: 1, + label: '危险源等级', + icon:'el-icon-folder', + children: [{ + id: 2, + label: '低风险', + icon:'el-icon-folder', + }, + { + id: 3, + label: '一般风险', + icon:'el-icon-success', + }, + { + id: 4, + label: '较大风险', + icon:'el-icon-success', + }, + { + id: 5, + label: '重大风险', + icon:'el-icon-success', + }] + }], + formInline: { + user: '', + region: '' + }, + checkList: ['选中且禁用','复选框 A'], + tableData: [{ + date: '2016-05-02', + name: '王小虎', + address: '上海市普陀区金沙江路 1518 弄' + }, { + date: '2016-05-04', + name: '王小虎', + address: '上海市普陀区金沙江路 1517 弄' + }, { + date: '2016-05-01', + name: '王小虎', + address: '上海市普陀区金沙江路 1519 弄' + }, { + date: '2016-05-03', + name: '王小虎', + address: '上海市普陀区金沙江路 1516 弄' + }], + multipleSelection: [] + }; + }, + mounted(){ + this.getAllColumns() + }, + methods: { + handleDragStart(node, ev) { + console.log('drag start', node); + }, + handleDragEnter(draggingNode, dropNode, ev) { + console.log('tree drag enter: ', dropNode.label); + }, + handleDragLeave(draggingNode, dropNode, ev) { + console.log('tree drag leave: ', dropNode.label); + }, + handleDragOver(draggingNode, dropNode, ev) { + console.log('tree drag over: ', dropNode.label); + }, + handleDragEnd(draggingNode, dropNode, dropType, ev) { + console.log('tree drag end: ', dropNode && dropNode.label, dropType); + }, + handleDrop(draggingNode, dropNode, dropType, ev) { + console.log('tree drop: ', dropNode.label, dropType); + }, + allowDrop(draggingNode, dropNode, type) { + if (dropNode.data.label === '二级 3-1') { + return type !== 'inner'; + } else { + return true; + } + }, + allowDrag(draggingNode) { + return draggingNode.data.label.indexOf('三级 3-2-2') === -1; + }, + // 获取表格数据进行渲染 + getAllColumns() { + var data = this.$route.query + }, + handleChange(file, fileList) { + this.fileList = fileList.slice(-3); + }, + onSubmit() { + console.log('submit!'); + }, + handleSelectionChange(val) { + this.multipleSelection = val; + } + } +} +</script> + +<style scoped> +.whole{ + display: flex; +} +.left-tree{ + width: 15%; +} +.left-tree .el-tree{ + background: #f0f6e4; + height: 400px; + overflow-y: scroll; + border: 1px solid #000; +} +/deep/ .is-leaf{ + background: transparent !important; + width: 5px; + height: 5px; + background-size: 100%; + margin-right: 5px; +} +/deep/ .el-icon-caret-right:before{ + content: ''; +} +.right-table{ + width: 85%; + padding-left: 20px; +} +.demo-form-inline /deep/ .el-checkbox__inner{ + top: 9px; +} +.demo-form-inline{ + display: flex; + flex-direction: row; + align-items: center; + justify-content: start; +} +.btn{ + background: url(../../assets/btn.gif) no-repeat; + width: 76px; + height: 26px; + line-height: 26px; + font-size: 14px; + border: none; + color: #fff; + cursor: pointer; + overflow: visible; +} +</style> -- Gitblit v1.9.2