对比新文件 |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project version="4"> |
| | | <component name="accountSettings"> |
| | | <option name="activeRegion" value="us-east-1" /> |
| | | <option name="recentlyUsedRegions"> |
| | | <list> |
| | | <option value="us-east-1" /> |
| | | </list> |
| | | </option> |
| | | </component> |
| | | </project> |
对比新文件 |
| | |
| | | <changelist name="Update_之前未提交的更改_at_2022_10_25_16_56_[默认更改列表]" date="1666688208514" recycled="true" deleted="true"> |
| | | <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Update_之前未提交的更改_at_2022_10_25_16_56_[默认更改列表]/shelved.patch" /> |
| | | <option name="DESCRIPTION" value="Update 之前未提交的更改 at 2022/10/25 16:56 [默认更改列表]" /> |
| | | <binary> |
| | | <option name="BEFORE_PATH" /> |
| | | <option name="AFTER_PATH" value="src/assets/images/tit-bg.png" /> |
| | | <option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Update_之前未提交的更改_at_2022_10_25_16_56_[默认更改列表]/tit-bg.png" /> |
| | | </binary> |
| | | <binary> |
| | | <option name="BEFORE_PATH" /> |
| | | <option name="AFTER_PATH" value="src/assets/images/big-bg.png" /> |
| | | <option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Update_之前未提交的更改_at_2022_10_25_16_56_[默认更改列表]/big-bg.png" /> |
| | | </binary> |
| | | <binary> |
| | | <option name="BEFORE_PATH" /> |
| | | <option name="AFTER_PATH" value="src/assets/images/top-bg.png" /> |
| | | <option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Update_之前未提交的更改_at_2022_10_25_16_56_[默认更改列表]/top-bg.png" /> |
| | | </binary> |
| | | <binary> |
| | | <option name="BEFORE_PATH" /> |
| | | <option name="AFTER_PATH" value="src/assets/images/small-bg.png" /> |
| | | <option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Update_之前未提交的更改_at_2022_10_25_16_56_[默认更改列表]/small-bg.png" /> |
| | | </binary> |
| | | </changelist> |
| | |
| | | // BASE_API: '"http://192.168.0.69:8006"', |
| | | // IMG_API: '"http://192.168.0.69:8006/upload/"', |
| | | |
| | | // BASE_API: '"http://192.168.0.35:8006"', |
| | | // IMG_API: '"http://192.168.0.35:8006/upload/"', |
| | | BASE_API: '"http://192.168.0.35:8006"', |
| | | IMG_API: '"http://192.168.0.35:8006/upload/"', |
| | | // BASE_API: '"http://192.168.0.62:8006"', |
| | | // IMG_API: '"http://192.168.0.62:8006/upload/"', |
| | | // BASE_API: '"http://222.92.213.22:8006/zhongtai"', |
| | |
| | | data |
| | | }) |
| | | } |
| | | |
| | | export function getDepApplyToday(data) { |
| | | return request({ |
| | | headers: { |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API + '/specialWork/statistic/getCountByDep', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
对比新文件 |
| | |
| | | import {getToken} from "../utils/auth"; |
| | | import request from '@/utils/request' |
| | | |
| | | export function getRiskEvent(data) { |
| | | return request({ |
| | | headers: { |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API + '/prevent/riskEvent/select/getRiskEventPage', |
| | | method: 'post', |
| | | data:data |
| | | }) |
| | | } |
| | | |
| | | export function getDangerManage(data) { |
| | | return request({ |
| | | headers: { |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API + '/prevent/dangerManage/select/getDangerManagePage', |
| | | method: 'post', |
| | | data:data |
| | | }) |
| | | } |
| | | |
| | | |
| | | export function getDevicePage(data) { |
| | | return request({ |
| | | headers: { |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API + '/prevent/device/select/getDevicePage', |
| | | method: 'post', |
| | | data:data |
| | | }) |
| | | } |
| | | |
| | | export function getDeviceData() { |
| | | return request({ |
| | | headers: { |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API + '/prevent/riskEvent/statistics/device/level', |
| | | method: 'post' |
| | | }) |
| | | } |
| | |
| | | }); |
| | | }, |
| | | |
| | | // 分页获取所有申请列表 |
| | | getAllApplyPage: (data) => { |
| | | return request({ |
| | | headers: { |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API + `/work/apply/all/page/list`, |
| | | method: 'post', |
| | | data: data |
| | | }); |
| | | }, |
| | | |
| | | // 分页获取申请列表 |
| | | getAllUsers: () => { |
| | | return request({ |
| | |
| | | }); |
| | | }, |
| | | |
| | | // 查询进度 |
| | | getAllStatus: (data) => { |
| | | return request({ |
| | | headers: { |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API + `/work/apply/others/view`, |
| | | method: 'post', |
| | | data: data |
| | | }); |
| | | }, |
| | | |
| | | // 获取图片上传路径 |
| | | getUploadUrl: (name) => { |
| | | return request({ |
| | |
| | | * @LastEditTime: 2021-12-07 18:35:11 |
| | | * @LastEditors: Please set LastEditors |
| | | * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |
| | | * @FilePath: \huizhi-sdk\src\components\Tab\index.vue |
| | | * @FilePath: \huizhi-sdk\src\components\Tab\screen.vue |
| | | --> |
| | | <template> |
| | | <div class="tab"> |
| | |
| | | hidden: true |
| | | }, |
| | | { |
| | | path: '/fullScreen', |
| | | component: () => import('@/views/doublePreventAction/doubleIndex/fullScreen/index'), |
| | | hidden: true |
| | | }, |
| | | { |
| | | path: '/', |
| | | component: Layout, |
| | | redirect: "/doublePreventAction/doublePreventAction/riskLevelManage/index/doublePreventAction/riskLevelManage/riskSourceManage/index", |
对比新文件 |
| | |
| | | <template> |
| | | <div class="screen-container"> |
| | | <div class="header-content"> |
| | | <div class="logo"> |
| | | 众泰煤焦化智能化安全管理技术平台 |
| | | </div> |
| | | <div class="title">安全信息大屏</div> |
| | | <div class="title-right"> |
| | | <!-- <img src="themeStyle.skinIcon" class="qiehuan" @click="changeTheme" />--> |
| | | <span class="datetime">{{currentTime}}</span> |
| | | <div class="btns"> |
| | | <div class="fullBtn" v-if="!isFull"> |
| | | <div class="toFull" @click="toFull()"> |
| | | <i class="el-icon-full-screen"></i> |
| | | <div>全屏</div> |
| | | </div> |
| | | </div> |
| | | <div class="backBtn" v-else> |
| | | <div class="back" @click="back()"> |
| | | <i class="el-icon-switch-button"></i> |
| | | <div>退出</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="main-cont"> |
| | | <div class="table-item"> |
| | | <div class="item-head"> |
| | | <div> |
| | | <img src="../../../../assets/images/tit-bg.png"> |
| | | <span>告警风险事件概括</span> |
| | | </div> |
| | | <div @click="toEvent()">查看更多>></div> |
| | | </div> |
| | | <el-table :data="eventData" style="width: 100%;height: 90%"> |
| | | <el-table-column prop="riskEventName" label="风险事件名称" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="riskUnitName" label="风险分析单元" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip align="center"></el-table-column> |
| | | <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip align="center"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="table-item"> |
| | | <div class="item-head item-head1"> |
| | | <div> |
| | | <img src="../../../../assets/images/tit-bg.png"> |
| | | <span>作业申请统计</span> |
| | | </div> |
| | | </div> |
| | | <div class="riskLevel" :id="appointId"></div> |
| | | </div> |
| | | <div class="table-item"> |
| | | <div class="item-head"> |
| | | <div> |
| | | <img src="../../../../assets/images/tit-bg.png"> |
| | | <span>隐患状态详情</span> |
| | | </div> |
| | | <div @click="toRisk()">查看更多>></div> |
| | | </div> |
| | | <el-table :data="riskStatusData" style="width: 100%;height: 90%"> |
| | | <el-table-column type="index" label="序号" width="60" align="center"/> |
| | | <!-- <el-table-column prop="reportTime" label="上报时间" show-overflow-tooltip width="170px"></el-table-column>--> |
| | | <el-table-column prop="dangerCode" label="隐患名称" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="dangerLevel" label="隐患等级" show-overflow-tooltip align="center"> |
| | | <template slot-scope="scope"> |
| | | <div :style="{color: scope.row.dangerLevel==1?'#28c3ff':'#ff0000'}"> |
| | | {{scope.row.dangerLevel==1?'一般隐患':'重大隐患'}} |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="gmtCreate" label="上报时间" show-overflow-tooltip align="center"></el-table-column> |
| | | <el-table-column prop="dangerStatus" label="隐患状态" show-overflow-tooltip align="center"> |
| | | <template slot-scope="scope"> |
| | | <div :style="{color: scope.row.dangerStatus==0 || scope.row.dangerStatus==1 ?'#00ff7e':(scope.row.dangerStatus==2 || scope.row.dangerStatus==3?'#F56C6C':'#28c3ff')}"> |
| | | {{scope.row.dangerStatus==0?'整改中':(scope.row.dangerStatus==1?'待验收':(scope.row.dangerStatus==2?'延期整改':(scope.row.dangerStatus==3?'超期未整改':'已验收')))}} |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="table-item"> |
| | | <div class="item-head item-head1"> |
| | | <div> |
| | | <img src="../../../../assets/images/tit-bg.png"> |
| | | <span>巡检完成统计</span> |
| | | </div> |
| | | </div> |
| | | <div class="item-head2"> |
| | | <div class="searchBtn"> |
| | | <div class="inspectionStatistics_part_time"> |
| | | <el-select v-model="completeListQuery.depId" @change="changeInspectionComplete" :popper-append-to-body="false"> |
| | | <el-option |
| | | v-for="item in departmentList" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.department" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="inspectionStatistics_part_time"> |
| | | <el-select v-model="completeListQuery.status" @change="changeInspectionComplete" :popper-append-to-body="false"> |
| | | <el-option |
| | | v-for="item in stateList" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.name" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="inspectionStatistics_part_time"> |
| | | <el-date-picker |
| | | v-model="value2" |
| | | type="daterange" |
| | | range-separator="至" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | :default-time="['00:00:00','23:59:59']" |
| | | @change="changeCompleteTimeInspectionPerson" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="riskFix" :id="riskFixId"></div> |
| | | </div> |
| | | <div class="table-item"> |
| | | <div class="item-head"> |
| | | <div> |
| | | <img src="../../../../assets/images/tit-bg.png"> |
| | | <span>风险装置列表</span> |
| | | </div> |
| | | <div @click="toDevices()">查看更多>></div> |
| | | </div> |
| | | <el-table class="deviceTable" :data="deviceData" style="width: 100%"> |
| | | <el-table-column prop="produceDeviceName" label="装置名称" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="riskLevel" label="风险等级" show-overflow-tooltip align="center"> |
| | | <template slot-scope="scope"> |
| | | <div :style="{color: scope.row.riskLevel==1?'#28c3ff':(scope.row.riskLevel==2?'#00ff7e':(scope.row.riskLevel==3?'#ff9a31':'#ff0000'))}"> |
| | | {{scope.row.riskLevel==1?'低风险':(scope.row.riskLevel==2?'一般风险':(scope.row.riskLevel==3?'较大风险':'重大风险'))}} |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="deviceLevel"> |
| | | <div class="levelItem red"> |
| | | <span>{{majorRisk}}</span> |
| | | <div>重大风险</div> |
| | | </div> |
| | | <div class="levelItem orange"> |
| | | <span>{{higherRisk}}</span> |
| | | <div>较大风险</div> |
| | | </div> |
| | | <div class="levelItem green"> |
| | | <span>{{generalRisk}}</span> |
| | | <div>一般风险</div> |
| | | </div> |
| | | <div class="levelItem blue"> |
| | | <span>{{lowRisk}}</span> |
| | | <div>低风险</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="table-item"> |
| | | <div class="item-head item-head1"> |
| | | <div> |
| | | <img src="../../../../assets/images/tit-bg.png"> |
| | | <span>巡检任务统计</span> |
| | | </div> |
| | | </div> |
| | | <div class="item-head2"> |
| | | <div class="searchBtn"> |
| | | <div class="inspectionStatistics_part_time"> |
| | | <el-select v-model="taskListQuery.depId" @change="changeInspectionTask"> |
| | | <el-option |
| | | v-for="item in departmentList" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.department" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="inspectionStatistics_part_time"> |
| | | |
| | | <el-date-picker |
| | | v-model="value3" |
| | | type="daterange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | :default-time="['00:00:00','23:59:59']" |
| | | @change="changeTimeTask" |
| | | end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="riskLevel" :id="riskLevelId"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { mapGetters } from 'vuex' |
| | | import { getRiskEvent, getDangerManage, getDevicePage, getDeviceData } from '@/api/screenData' |
| | | // import { getAllCompany } from "../../../../api/unitManage"; |
| | | import Cookies from "js-cookie"; |
| | | import {getInspectComplete, getInspectTask, getDepApplyToday} from "../../../../api/inspectStatistics"; |
| | | import {getDepartmentList} from "../../../../api/departmentManage"; |
| | | |
| | | export default { |
| | | components: {}, |
| | | props:[ 'isScreenfull' ], |
| | | name: "doubleIndex", |
| | | data() { |
| | | return { |
| | | value2:['',''], |
| | | value3:['',''], |
| | | pageIndex: 1, |
| | | pageSize: this.isScreenfull?7:6, |
| | | smallSize: this.isScreenfull?5:4, |
| | | eventData: [], |
| | | riskStatusData: [], |
| | | deviceData: [], |
| | | departmentList: [], |
| | | classGroupList: [], |
| | | inspectPointAllList: [], |
| | | riskFixId: '', |
| | | riskLevelId: '', |
| | | currentTime: '', |
| | | isFull: this.isScreenfull, |
| | | numData:[], |
| | | timeData:[], |
| | | claimedData:[], |
| | | completedData:[], |
| | | uncompletedData:[], |
| | | timeData2:[], |
| | | personListQuery:{ |
| | | depId:41, |
| | | startTime:'', |
| | | endTime:'', |
| | | }, |
| | | completeListQuery:{ |
| | | depId:41, |
| | | startTime:'', |
| | | endTime:'', |
| | | status:1, |
| | | }, |
| | | stateList:[ |
| | | {id:1,name:'正常'}, |
| | | {id:2,name:'存在隐患'}, |
| | | {id:3,name:'未处理'} |
| | | ], |
| | | taskListQuery:{ |
| | | depId:41, |
| | | startTime:'', |
| | | endTime:'', |
| | | }, |
| | | majorRisk: '', |
| | | higherRisk: '', |
| | | generalRisk: '', |
| | | lowRisk: '', |
| | | depList: [], |
| | | hotCount: [], |
| | | confinedSpaceCount: [], |
| | | liftingCount: [], |
| | | groundBreakingCount: [], |
| | | openCircuitCout: [], |
| | | heightCount: [], |
| | | temporaryPowerCount: [], |
| | | blindPlatePluggingCount: [] |
| | | }; |
| | | }, |
| | | created(){ |
| | | this.getTime() |
| | | this.getDepartment() |
| | | this.appointId = "eChartapp" + Date.now() + Math.random() |
| | | this.riskFixId = "eChartFix" + Date.now() + Math.random() |
| | | this.riskLevelId = "eChartLe" + Date.now() + Math.random() |
| | | this.getEventRecord(); |
| | | this.getRiskStatusRecord(); |
| | | this.getDeviceRecord(); |
| | | this.getApplyToday(); |
| | | this.getDeviceData() |
| | | }, |
| | | mounted(){ |
| | | this.setTimeValue(); |
| | | this.initAppoint(); |
| | | this.initRiskFix(); |
| | | this.initRiskLevel() |
| | | }, |
| | | computed: { |
| | | |
| | | }, |
| | | methods: { |
| | | getTime(){ |
| | | this.currentTime = new Date().toLocaleString(); |
| | | }, |
| | | toFull(){ |
| | | this.$router.push({ |
| | | path:"/fullScreen" |
| | | }) |
| | | }, |
| | | back(){ |
| | | window.history.go(-1); |
| | | }, |
| | | |
| | | // 获取部门列表 |
| | | async getDepartment(){ |
| | | let res = await getDepartmentList({pageSize:1000,pageIndex:1}) |
| | | if(res.data.code === '200'){ |
| | | this.departmentList = res.data.result.result |
| | | }else{ |
| | | this.$message({ |
| | | message:res.data.message, |
| | | type:'warning' |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | // 告警列表 |
| | | async getEventRecord(){ |
| | | const data = { pageSize: this.pageSize, pageIndex: this.pageIndex}; |
| | | let res = await getRiskEvent(data) |
| | | if (res.data.code === '200'){ |
| | | this.eventData = res.data.data |
| | | } else { |
| | | this.$message({ |
| | | message:res.data.message, |
| | | type:'warning' |
| | | }) |
| | | } |
| | | }, |
| | | // |
| | | // 隐患状态列表 |
| | | async getRiskStatusRecord(){ |
| | | const data = { pageSize: this.pageSize, pageIndex: this.pageIndex}; |
| | | let res = await getDangerManage(data) |
| | | if (res.data.code === '200'){ |
| | | this.riskStatusData = res.data.data |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | toEvent(){ |
| | | this.$router.push({ |
| | | path:"/doublePreventAction/doublePreventAction/riskLevelManage/index/doublePreventAction/riskLevelManage/event/index", |
| | | }) |
| | | }, |
| | | |
| | | toRisk(){ |
| | | this.$router.push({ |
| | | path:"/doublePreventAction/doublePreventAction/hiddenDanger/index/doublePreventAction/hiddenDanger/hiddenDangerReform/index/doublePreventAction/hiddenDanger/hiddenDangerReform/statistics/index", |
| | | }) |
| | | }, |
| | | |
| | | toDevices(){ |
| | | this.$router.push({ |
| | | path:"/doublePreventAction/doublePreventAction/riskLevelManage/index/doublePreventAction/riskLevelManage/riskSourceManage/index", |
| | | }) |
| | | }, |
| | | |
| | | setTimeValue() { |
| | | let newTime = new Date() |
| | | this.value2 = [(newTime.getFullYear()+ '-' + ((newTime.getMonth() + 1) < 10 ? '0' + (newTime.getMonth() + 1) : (newTime.getMonth() + 1)) + '-' + '01').toString() + ' ' + '00:00:00',(newTime.getFullYear()+ '-' + ((newTime.getMonth() + 1) < 10 ? '0' + (newTime.getMonth() + 1) : (newTime.getMonth() + 1)) + '-' + newTime.getDate()).toString() + ' ' + '23:59:59'] |
| | | this.completeListQuery.startTime = this.value2[0] |
| | | this.completeListQuery.endTime = this.value2[1] |
| | | this.updateComplete(this.completeListQuery) |
| | | this.value3 = [(newTime.getFullYear()+ '-' + ((newTime.getMonth() + 1) < 10 ? '0' + (newTime.getMonth() + 1) : (newTime.getMonth() + 1)) + '-' + '01').toString() + ' ' + '00:00:00',(newTime.getFullYear()+ '-' + ((newTime.getMonth() + 1) < 10 ? '0' + (newTime.getMonth() + 1) : (newTime.getMonth() + 1)) + '-' + newTime.getDate()).toString() + ' ' + '23:59:59'] |
| | | this.taskListQuery.startTime = this.value3[0] |
| | | this.taskListQuery.endTime = this.value3[1] |
| | | this.updateMission(this.taskListQuery) |
| | | }, |
| | | |
| | | // 各部门作业预约统计 |
| | | async getApplyToday(){ |
| | | let res = await getDepApplyToday() |
| | | if(res.data.code === '200'){ |
| | | this.depList = Array.from(res.data.data, ({ depName }) => depName); |
| | | this.hotCount = this.reGroup(res.data.data,0) |
| | | this.confinedSpaceCount = this.reGroup(res.data.data,1) |
| | | this.liftingCount = this.reGroup(res.data.data,2) |
| | | this.groundBreakingCount = this.reGroup(res.data.data,3) |
| | | this.openCircuitCout = this.reGroup(res.data.data,4) |
| | | this.heightCount = this.reGroup(res.data.data,5) |
| | | this.temporaryPowerCount = this.reGroup(res.data.data,6) |
| | | this.blindPlatePluggingCount = this.reGroup(res.data.data,7) |
| | | console.log(this.depList,'this.depList') |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | this.initAppoint() |
| | | }, |
| | | |
| | | reGroup(data,index){ |
| | | let arr = [] |
| | | console.log(data,'data') |
| | | for(let i of data){ |
| | | arr.push(i.typeList[index].count) |
| | | } |
| | | return arr |
| | | }, |
| | | |
| | | // 巡检完成统计 |
| | | async updateComplete(data){ |
| | | let res = await getInspectComplete(data) |
| | | if(res.data.code === '200'){ |
| | | this.numData = res.data.data.map(item =>{ |
| | | return item.num |
| | | }) |
| | | this.timeData = res.data.data.map(item =>{ |
| | | return item.taskDate |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | this.initRiskFix() |
| | | }, |
| | | |
| | | changeInspectionComplete() { |
| | | this.updateComplete(this.completeListQuery) |
| | | }, |
| | | |
| | | changeCompleteTimeInspectionPerson() { |
| | | if(this.value2 !== null){ |
| | | this.completeListQuery.startTime = this.value2[0] |
| | | this.completeListQuery.endTime = this.value2[1] |
| | | } |
| | | this.updateComplete(this.completeListQuery) |
| | | }, |
| | | |
| | | // 风险装置列表 |
| | | async getDeviceRecord(){ |
| | | const data = { pageSize: this.smallSize, pageIndex: this.pageIndex}; |
| | | let res = await getDevicePage(data) |
| | | if (res.data.code === '200'){ |
| | | this.deviceData = res.data.data |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | // 风险装置数据 |
| | | async getDeviceData(){ |
| | | let res = await getDeviceData() |
| | | if (res.data.code === '200'){ |
| | | this.majorRisk = res.data.data.majorRisk |
| | | this.higherRisk = res.data.data.higherRisk |
| | | this.generalRisk = res.data.data.generalRisk |
| | | this.lowRisk = res.data.data.lowRisk |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | |
| | | //巡检任务统计 |
| | | async updateMission(data){ |
| | | let res = await getInspectTask(data) |
| | | if(res.data.code === '200'){ |
| | | this.claimedData = res.data.data.claimed.map(item =>{ |
| | | return item.num |
| | | }) |
| | | this.completedData = res.data.data.completed.map(item =>{ |
| | | return item.num |
| | | }) |
| | | this.uncompletedData = res.data.data.uncompleted.map(item =>{ |
| | | return item.num |
| | | }) |
| | | this.timeData2 = res.data.data.claimed.map(item =>{ |
| | | return item.taskDate |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | await this.initRiskLevel() |
| | | }, |
| | | changeInspectionTask() { |
| | | this.updateMission(this.personListQuery) |
| | | }, |
| | | changeTimeTask(){ |
| | | if(this.value3 !== null){ |
| | | this.taskListQuery.startTime = this.value1[0] |
| | | this.taskListQuery.endTime = this.value1[1] |
| | | } |
| | | this.updateMission(this.personListQuery) |
| | | }, |
| | | |
| | | // 各部门预约 |
| | | initAppoint(){ |
| | | const dom = document.getElementById(this.appointId); |
| | | let myChart = echarts.init(dom, null, { |
| | | renderer: 'canvas', |
| | | useDirtyRect: false |
| | | }); |
| | | let app = {}; |
| | | |
| | | let option; |
| | | |
| | | option = { |
| | | tooltip: { |
| | | // trigger: 'axis', |
| | | // axisPointer: { |
| | | // type: 'shadow' // 'shadow' as default; can also be 'line' or 'shadow' |
| | | // }, |
| | | // axisPointer: { |
| | | // type: "cross", |
| | | // label: { |
| | | // formatter: function (params) { |
| | | // if (params.seriesData.length === 0) { |
| | | // window.mouseCurValue = params.value; |
| | | // } |
| | | // } |
| | | // } |
| | | // }, |
| | | // formatter: function (params) { |
| | | // let res = "", sum = 0; |
| | | // for (let i = 0; i < params.length; i++) { |
| | | // let series = params[i]; |
| | | // sum += Number(series.data); |
| | | // if (sum >= window.mouseCurValue) { |
| | | // res = series.axisValue + "<br/>" + series.marker + series.seriesName + ":" + series.data + "<br/>"; |
| | | // break; |
| | | // } |
| | | // } |
| | | // return res; |
| | | // }, |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | // Use axis to trigger tooltip |
| | | type: 'shadow' // 'shadow' as default; can also be 'line' or 'shadow' |
| | | } |
| | | }, |
| | | dataZoom: { |
| | | type: 'slider', |
| | | show: true, |
| | | showDetails: true, |
| | | textStyle: { |
| | | color: '#fff' |
| | | }, |
| | | realtime: true, |
| | | right: 10, |
| | | height: 200, |
| | | width: 15, |
| | | start: 0, |
| | | end: 50, |
| | | orient: 'vertical' |
| | | }, |
| | | legend: { |
| | | textStyle: { |
| | | color: '#fff', |
| | | fontSize: '10' |
| | | }, |
| | | icon: 'circle' |
| | | }, |
| | | grid: { |
| | | left: '3%', |
| | | right: '3%', |
| | | bottom: '3%', |
| | | containLabel: true |
| | | }, |
| | | xAxis: { |
| | | type: 'value', |
| | | axisLabel: { |
| | | color: '#eee' |
| | | }, |
| | | splitLine:{ |
| | | show: true, |
| | | lineStyle:{ |
| | | type: 'dashed', |
| | | color: 'rgba(255,255,255,.4)' |
| | | } |
| | | } |
| | | }, |
| | | yAxis: { |
| | | type: 'category', |
| | | data: this.depList, |
| | | axisLabel: { |
| | | color: '#fff' |
| | | }, |
| | | axisLine:{ |
| | | show: true, |
| | | lineStyle:{ |
| | | color: '#fff' |
| | | } |
| | | } |
| | | }, |
| | | series: [ |
| | | { |
| | | name: '动火作业', |
| | | type: 'bar', |
| | | barCategoryGap: '20%', |
| | | stack: 'total', |
| | | label: { |
| | | show: true, |
| | | borderColor: 'none' |
| | | }, |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: this.hotCount |
| | | }, |
| | | { |
| | | name: '受限空间作业', |
| | | type: 'bar', |
| | | stack: 'total', |
| | | label: { |
| | | show: true |
| | | }, |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: this.confinedSpaceCount |
| | | }, |
| | | { |
| | | name: '吊装作业', |
| | | type: 'bar', |
| | | stack: 'total', |
| | | label: { |
| | | show: true |
| | | }, |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: this.liftingCount |
| | | }, |
| | | { |
| | | name: '动土作业', |
| | | type: 'bar', |
| | | stack: 'total', |
| | | label: { |
| | | show: true |
| | | }, |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: this.groundBreakingCount |
| | | }, |
| | | { |
| | | name: '断路作业', |
| | | type: 'bar', |
| | | stack: 'total', |
| | | label: { |
| | | show: true |
| | | }, |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: this.openCircuitCout |
| | | }, |
| | | { |
| | | name: '高处作业', |
| | | type: 'bar', |
| | | stack: 'total', |
| | | label: { |
| | | show: true |
| | | }, |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: this.heightCount |
| | | }, |
| | | { |
| | | name: '临时用电作业', |
| | | type: 'bar', |
| | | stack: 'total', |
| | | label: { |
| | | show: true |
| | | }, |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: this.temporaryPowerCount |
| | | }, |
| | | { |
| | | name: '盲板抽堵作业', |
| | | type: 'bar', |
| | | stack: 'total', |
| | | label: { |
| | | show: true |
| | | }, |
| | | emphasis: { |
| | | focus: 'series' |
| | | }, |
| | | data: this.blindPlatePluggingCount |
| | | } |
| | | ] |
| | | }; |
| | | |
| | | if (option && typeof option === 'object') { |
| | | myChart.setOption(option); |
| | | } |
| | | |
| | | window.addEventListener('resize', myChart.resize); |
| | | setTimeout(()=>{ |
| | | myChart.resize |
| | | },500) |
| | | }, |
| | | |
| | | // 巡检完成情况 |
| | | initRiskFix(){ |
| | | const dom = document.getElementById(this.riskFixId); |
| | | let myChart = echarts.init(dom, null, { |
| | | renderer: 'canvas', |
| | | useDirtyRect: false |
| | | }); |
| | | let app = {}; |
| | | |
| | | let option; |
| | | |
| | | option = { |
| | | tooltip: { |
| | | trigger: 'axis' |
| | | }, |
| | | grid: { |
| | | left: '8%', |
| | | right: '8%', |
| | | bottom: '10%', |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | boundaryGap: false, |
| | | data: this.timeData, |
| | | axisLine:{ |
| | | show: true, |
| | | lineStyle:{ |
| | | color: '#999' |
| | | } |
| | | }, |
| | | axisLabel:{ |
| | | color: '#fff', |
| | | } |
| | | } |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | type: 'value', |
| | | axisLine:{ |
| | | show: true, |
| | | lineStyle:{ |
| | | type: 'dotted' |
| | | } |
| | | }, |
| | | axisLabel:{ |
| | | color: '#ccc' |
| | | }, |
| | | splitLine:{ |
| | | show: true, |
| | | lineStyle:{ |
| | | type: 'dashed', |
| | | color: 'rgba(255,255,255,.4)' |
| | | } |
| | | } |
| | | } |
| | | ], |
| | | series: [ |
| | | { |
| | | data: this.numData, |
| | | type: 'line', |
| | | smooth: true, |
| | | itemStyle:{ |
| | | color: '#fff' |
| | | }, |
| | | lineStyle:{ |
| | | color: '#01D8FF' |
| | | } |
| | | } |
| | | ] |
| | | }; |
| | | |
| | | if (option && typeof option === 'object') { |
| | | myChart.setOption(option); |
| | | } |
| | | |
| | | window.addEventListener('resize', myChart.resize); |
| | | }, |
| | | |
| | | // 巡检任务情况 |
| | | initRiskLevel(){ |
| | | const dom = document.getElementById(this.riskLevelId); |
| | | let myChart = echarts.init(dom, null, { |
| | | renderer: 'canvas', |
| | | useDirtyRect: false |
| | | }); |
| | | let app = {}; |
| | | |
| | | let option; |
| | | |
| | | option = { |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | type: 'shadow' |
| | | } |
| | | }, |
| | | legend: { |
| | | textStyle:{ |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | grid: { |
| | | left: '3%', |
| | | right: '4%', |
| | | bottom: '3%', |
| | | containLabel: true |
| | | }, |
| | | xAxis: { |
| | | type: 'category', |
| | | data: this.timeData2, |
| | | axisLine:{ |
| | | show: true, |
| | | lineStyle:{ |
| | | color: '#999' |
| | | } |
| | | }, |
| | | axisLabel:{ |
| | | color: '#fff', |
| | | } |
| | | }, |
| | | yAxis: { |
| | | type: 'value', |
| | | axisLine:{ |
| | | show: true, |
| | | lineStyle:{ |
| | | type: 'dotted' |
| | | } |
| | | }, |
| | | axisLabel:{ |
| | | color: '#ccc' |
| | | }, |
| | | splitLine:{ |
| | | show: true, |
| | | lineStyle:{ |
| | | type: 'dashed', |
| | | color: 'rgba(255,255,255,.4)' |
| | | } |
| | | } |
| | | }, |
| | | series: [ |
| | | { |
| | | name: '任务数量', |
| | | type: 'bar', |
| | | data: this.claimedData, |
| | | itemStyle:{ |
| | | color: '#58B7FB' |
| | | } |
| | | }, |
| | | { |
| | | name: '已完成', |
| | | type: 'bar', |
| | | data: this.completedData, |
| | | itemStyle:{ |
| | | color: '#FFFF00' |
| | | } |
| | | }, |
| | | { |
| | | name: '未完成', |
| | | type: 'bar', |
| | | data: this.uncompletedData, |
| | | itemStyle:{ |
| | | color: '#C23531' |
| | | } |
| | | } |
| | | ] |
| | | }; |
| | | |
| | | if (option && typeof option === 'object') { |
| | | myChart.setOption(option); |
| | | } |
| | | |
| | | window.addEventListener('resize', myChart.resize); |
| | | setTimeout(()=>{ |
| | | myChart.resize |
| | | },500) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .screen-container{ |
| | | width: 100%; |
| | | height: 100%; |
| | | background: #001733; |
| | | .header-content { |
| | | width: 100%; |
| | | height: 6.4%; |
| | | padding: 0 20px; |
| | | font-size: 1.25rem; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-around; |
| | | z-index: 9; |
| | | background: url("../../../../assets/images/top-bg.png") no-repeat center; |
| | | background-size: 100% 100%; |
| | | |
| | | .logo { |
| | | width: 27%; |
| | | line-height: 100%; |
| | | color: #01D8FF; |
| | | } |
| | | .title { |
| | | width: 46%; |
| | | font-size: 2rem; |
| | | font-weight: bolder; |
| | | line-height: 100%; |
| | | text-align: center; |
| | | letter-spacing: 30px; |
| | | color: #01D8FF; |
| | | } |
| | | |
| | | .title-right { |
| | | width: 27%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-around; |
| | | font-size: 1rem; |
| | | padding-left: 30px; |
| | | |
| | | .datetime { |
| | | color: #01D8FF; |
| | | font-size: 0.9rem; |
| | | line-height: 100%; |
| | | } |
| | | .btns{ |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | &>div{ |
| | | display: flex; |
| | | align-items: center; |
| | | margin-right: 20px; |
| | | |
| | | div{ |
| | | margin-left: 0.4rem; |
| | | color: #01D8FF; |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 0.9rem; |
| | | } |
| | | } |
| | | .fullBtn{ |
| | | cursor: pointer; |
| | | } |
| | | .backBtn{ |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .main-cont { |
| | | width: 100%; |
| | | height: 93.6%; |
| | | |
| | | .table-item{ |
| | | width: 100%; |
| | | height: 100%; |
| | | border-radius: 8px; |
| | | background: #fff; |
| | | padding: 15px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | box-sizing: border-box; |
| | | background: url("../../../../assets/images/small-bg.png") no-repeat center; |
| | | background-size: 100% 100%; |
| | | |
| | | .item-head{ |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 20px; |
| | | padding-left: 20px; |
| | | padding-right: 20px; |
| | | |
| | | &:last-of-type{ |
| | | margin-bottom: 0; |
| | | } |
| | | span{ |
| | | color: #01D8FF; |
| | | font-weight: bolder; |
| | | } |
| | | div{ |
| | | display: flex; |
| | | align-items: center; |
| | | color: #01D8FF; |
| | | &:last-of-type{ |
| | | cursor: pointer; |
| | | color: rgba(1,216,255,.6); |
| | | &:hover{ |
| | | color: #01D8FF; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | .item-head1{ |
| | | margin-bottom: 10px; |
| | | } |
| | | .item-head2{ |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 10px; |
| | | |
| | | .searchBtn{ |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: end; |
| | | .inspectionStatistics_part_time{ |
| | | margin-right: 10px; |
| | | |
| | | &:last-of-type{ |
| | | margin-right: 0; |
| | | } |
| | | /deep/.el-select .el-input .el-select__caret{ |
| | | line-height: 20px !important; |
| | | } |
| | | /deep/.el-select-dropdown{ |
| | | border: none; |
| | | background-color: rgba(1, 28, 82, 0.8) !important; |
| | | } |
| | | |
| | | /deep/.el-input__inner{ |
| | | height: 28px; |
| | | min-height: 28px; |
| | | display: flex; |
| | | align-items: center; |
| | | color:#eee; |
| | | font-size: 0.5rem; |
| | | border-color: rgba(0,255,246,.6); |
| | | background-color: rgba(1, 28, 82, 0.1) !important; |
| | | .el-range-separator{ |
| | | color: #eee; |
| | | line-height: 20px; |
| | | } |
| | | .el-range__icon{ |
| | | color: #eee; |
| | | line-height: 20px; |
| | | } |
| | | } |
| | | |
| | | .el-select .el-input.is-focus .el-input__inner{ |
| | | border-color: #0B61AA; |
| | | background-color: rgba(1, 28, 82, 0.8); |
| | | color:#00D3E9; |
| | | } |
| | | |
| | | .el-select-dropdown__item{ |
| | | color: #eee; |
| | | } |
| | | |
| | | .el-select-dropdown__item.hover, |
| | | .el-select-dropdown__item:hover{ |
| | | color:#00D3E9; |
| | | background-color: #0F3360; |
| | | } |
| | | |
| | | /deep/.el-date-editor .el-range-input{ |
| | | background: none; |
| | | color: #eee; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /deep/.el-table{ |
| | | background-color: transparent !important; |
| | | |
| | | &::before{ |
| | | display: none; |
| | | } |
| | | } |
| | | |
| | | /deep/.el-table tr{ |
| | | background-color: transparent !important; |
| | | color: #fff; |
| | | &:nth-of-type(2n){ |
| | | background-color: rgba(1,155,255,.1) !important; |
| | | } |
| | | } |
| | | /deep/.el-table td{ |
| | | background-color: transparent !important; |
| | | border-bottom: none; |
| | | color: #fff; |
| | | } |
| | | /deep/.el-table th{ |
| | | background-color: rgba(1,216,255,.2) !important; |
| | | color: #00fff6; |
| | | border-bottom: none; |
| | | box-sizing: border-box; |
| | | padding: 6px 0; |
| | | } |
| | | .riskFix{ |
| | | height: calc(100% - 20px); |
| | | } |
| | | .riskLevel{ |
| | | height: calc(100% - 20px); |
| | | } |
| | | .deviceTable{ |
| | | height: 200px; |
| | | } |
| | | .deviceLevel{ |
| | | width: 100%; |
| | | height: 100px; |
| | | padding-top: 10px; |
| | | display: grid; |
| | | grid-gap: 10px; |
| | | grid-template-columns: repeat(4, 1fr); |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | |
| | | .levelItem{ |
| | | display: flex; |
| | | height: 100%; |
| | | flex-direction: column; |
| | | justify-content: flex-start; |
| | | align-items: center; |
| | | padding: 15px; |
| | | box-sizing: border-box; |
| | | border-radius: 8px; |
| | | color: #fff; |
| | | |
| | | span{ |
| | | margin-bottom: 10px; |
| | | font-weight: bolder; |
| | | } |
| | | } |
| | | .red{ |
| | | background: #F56C6C; |
| | | } |
| | | .orange{ |
| | | background: #E6A23C; |
| | | } |
| | | .green{ |
| | | background: #67C23A; |
| | | } |
| | | .blue{ |
| | | background: #409EFF; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | @media screen and (min-width: 1366px) { |
| | | .main-cont { |
| | | display: grid; |
| | | grid-template-columns: repeat(3, minmax(100px, 1fr)); |
| | | grid-template-rows: repeat(2, 1fr); |
| | | grid-auto-flow: row; |
| | | padding: 10px; |
| | | margin-bottom: 20px; |
| | | box-sizing: border-box; |
| | | grid-gap: 20px; |
| | | } |
| | | .logo { |
| | | font-size: 1.4rem; |
| | | } |
| | | .item-head{ |
| | | height: 25px; |
| | | line-height: 25px; |
| | | |
| | | img{ |
| | | width: 28px; |
| | | height: 28px; |
| | | } |
| | | span{ |
| | | font-size: 20px; |
| | | margin-left: 15px; |
| | | } |
| | | div{ |
| | | font-size: 16px; |
| | | } |
| | | } |
| | | |
| | | .levelItem{ |
| | | font-size: 16px; |
| | | |
| | | span{ |
| | | margin-bottom: 10px; |
| | | font-size: 24px; |
| | | font-weight: bolder; |
| | | } |
| | | } |
| | | } |
| | | |
| | | @media screen and (min-width: 1024px) and (max-width: 1366px){ |
| | | .main-cont { |
| | | display: grid; |
| | | grid-template-columns: repeat(3, minmax(100px, 1fr)); |
| | | grid-template-rows: repeat(2, 1fr); |
| | | grid-auto-flow: row; |
| | | padding: 10px; |
| | | margin-bottom: 20px; |
| | | box-sizing: border-box; |
| | | grid-gap: 15px; |
| | | } |
| | | .logo { |
| | | font-size: 1rem; |
| | | } |
| | | .item-head{ |
| | | height: 20px; |
| | | line-height: 20px; |
| | | img{ |
| | | width: 16px; |
| | | height: 16px; |
| | | } |
| | | span{ |
| | | font-size: 16px; |
| | | margin-left: 10px; |
| | | } |
| | | div{ |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | .levelItem{ |
| | | font-size: 14px; |
| | | |
| | | span{ |
| | | margin-bottom: 10px; |
| | | font-size: 20px; |
| | | font-weight: bolder; |
| | | } |
| | | } |
| | | } |
| | | |
| | | @media screen and (max-width: 1024px) { |
| | | .screen-container{ |
| | | .header-content{ |
| | | .logo { |
| | | font-size: 10px; |
| | | } |
| | | |
| | | .title{ |
| | | font-size: 18px; |
| | | letter-spacing: 16px; |
| | | } |
| | | |
| | | .title-right{ |
| | | font-size: 10px; |
| | | } |
| | | } |
| | | |
| | | .main-cont { |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: flex-start; |
| | | overflow: auto; |
| | | .table-item{ |
| | | .item-head{ |
| | | height: 20px; |
| | | line-height: 20px; |
| | | img{ |
| | | width: 12px; |
| | | height: 12px; |
| | | } |
| | | span{ |
| | | font-size: 16px; |
| | | margin-left: 6px; |
| | | } |
| | | div{ |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | .riskFix{ |
| | | height: 320px; |
| | | } |
| | | .riskLevel{ |
| | | height: 320px; |
| | | } |
| | | .deviceTable{ |
| | | height: 320px; |
| | | } |
| | | } |
| | | |
| | | .levelItem{ |
| | | font-size: 12px; |
| | | |
| | | span{ |
| | | margin-bottom: 10px; |
| | | font-size: 12px; |
| | | font-weight: bolder; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .el-row { |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | &:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .grid-content { |
| | | align-items: center; |
| | | min-height: 36px; |
| | | } |
| | | } |
| | | .el-input { |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep { |
| | | width: 100%; |
| | | } |
| | | .el-select { |
| | | width: 100%; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="dash-container"> |
| | | <screen :isScreenfull="isScreenfull"></screen> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import screen from '../components/screen' |
| | | export default { |
| | | components: {screen}, |
| | | name: "fullScreen", |
| | | data() { |
| | | return { |
| | | isScreenfull: true |
| | | }; |
| | | }, |
| | | created(){ |
| | | |
| | | }, |
| | | mounted(){ |
| | | |
| | | }, |
| | | computed: { |
| | | |
| | | }, |
| | | methods: { |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .dash-container{ |
| | | width: 100%; |
| | | height: 100vh; |
| | | overflow: auto; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="dash-container"> |
| | | <screen :isScreenfull="isScreenfull"></screen> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import screen from './components/screen' |
| | | export default { |
| | | components: {screen}, |
| | | name: "doubleIndex", |
| | | data() { |
| | | return { |
| | | isScreenfull: false |
| | | }; |
| | | }, |
| | | created(){ |
| | | |
| | | }, |
| | | mounted(){ |
| | | |
| | | }, |
| | | computed: { |
| | | |
| | | }, |
| | | methods: { |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .dash-container{ |
| | | width: 100%; |
| | | height: calc(100vh - 84px); |
| | | border-radius: 12px; |
| | | overflow: auto; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="height: 100%"> |
| | | <el-form :model="details" label-width="150px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="施工单位"> |
| | | <el-input v-model="details.operatorCompanys" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业单位ID"> |
| | | <el-input v-model="details.workDetail.operationDepId" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="断路原因"> |
| | | <el-input v-model="details.workDetail.bcReason" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="断路地段说明"> |
| | | <el-input v-model="details.workDetail.bcExplain" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="涉及相关部门"> |
| | | <el-input v-model="details.workDetail.involvedDepIds" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="图片">--> |
| | | <!-- <el-image v-for="item in details.workDetail.bcPath" style="width: 150px; height: 150px;margin-right: 50px;margin-bottom: 20px" :src="item" fit="cover" />--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default{ |
| | | name: 'space', |
| | | components: {}, |
| | | props:['details'], |
| | | data(){ |
| | | return{ |
| | | |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="height: 100%"> |
| | | <el-form :model="details" label-width="150px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="施工单位"> |
| | | <el-input v-model="details.operatorCompanys" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业方式"> |
| | | <el-input v-model="details.workDetail.hotMethod" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="关联其他作业"> |
| | | <el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default{ |
| | | name: 'fire', |
| | | components: {}, |
| | | props:['details'], |
| | | data(){ |
| | | return{ |
| | | |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="height: 100%"> |
| | | <el-form :model="details" label-width="150px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="施工单位"> |
| | | <el-input v-model="details.operatorCompanys" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业单位ID"> |
| | | <el-input v-model="details.workDetail.operationDepId" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="范围"> |
| | | <el-input v-model="details.workDetail.gbScope" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="动土方式"> |
| | | <el-input v-model="details.workDetail.gbMethod" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="关联其他作业"> |
| | | <el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="图片">--> |
| | | <!-- <el-image v-for="item in details.workDetail.gbPath" style="width: 150px; height: 150px;margin-right: 50px;margin-bottom: 20px" :src="item" fit="cover" />--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | export default{ |
| | | name: 'space', |
| | | components: {}, |
| | | props:['details'], |
| | | data(){ |
| | | return{ |
| | | |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="height: 100%"> |
| | | <el-form :model="details" label-width="150px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="施工单位"> |
| | | <el-input v-model="details.operatorCompanys" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业单位ID"> |
| | | <el-input v-model="details.workDetail.operationDepId" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业高度"> |
| | | <el-input v-model="details.workDetail.operationHeight" readonly type="textarea"><template #append>米(m)</template></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="关联其他作业"> |
| | | <el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'space', |
| | | components: {}, |
| | | props:['details'], |
| | | data(){ |
| | | return{ |
| | | |
| | | } |
| | | }, |
| | | created(){ |
| | | debugger |
| | | console.log(this.details); |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="height: 100%"> |
| | | <el-form :model="details" label-width="150px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="施工单位"> |
| | | <el-input v-model="details.operatorCompanys" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="吊装工具名称"> |
| | | <el-input v-model="details.workDetail.hoistingToolName" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="起吊物体重量"> |
| | | <el-input v-model="details.workDetail.weightMass" readonly type="textarea"><template #append>吨(t)</template></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="关联其他作业"> |
| | | <el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default{ |
| | | name: 'space', |
| | | components: {}, |
| | | props:['details'], |
| | | data(){ |
| | | return{ |
| | | |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="height: 100%"> |
| | | <el-form :model="details" label-width="150px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="施工单位"> |
| | | <el-input v-model="details.operatorCompanys" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="盲板编号"> |
| | | <el-input v-model="details.workDetail.bpCode" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="主要介质"> |
| | | <el-input v-model="details.workDetail.mainMedia" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="温度"> |
| | | <el-input v-model="details.workDetail.temperature" readonly type="textarea"><template #append>摄氏度(℃)</template></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="压力"> |
| | | <el-input v-model="details.workDetail.pressure" readonly type="textarea"><template #append>千帕(kPa)</template></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="盲板材质"> |
| | | <el-input v-model="details.workDetail.bpMaterialQuality" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <el-form-item label="盲板规格"> |
| | | <el-input v-model="details.workDetail.bpSpecification" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <el-form-item label="盲板位置"> |
| | | <el-input v-model="details.workDetail.bpLocation" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <el-form-item label="装盲板时间"> |
| | | <el-input v-model="details.workDetail.installBpTime" readonly/> |
| | | </el-form-item> |
| | | <el-form-item label="拆盲板时间"> |
| | | <el-input v-model="details.workDetail.uninstallBpTime" readonly/> |
| | | </el-form-item> |
| | | <el-form-item label="关联其他作业"> |
| | | <el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="盲板位置图">--> |
| | | <!-- <el-image v-for="item in details.workDetail.bpLocationMapPath" style="width: 150px; height: 150px;margin-right: 50px;margin-bottom: 20px" :src="item" fit="cover" />--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default{ |
| | | name: 'space', |
| | | components: {}, |
| | | props:['details'], |
| | | data(){ |
| | | return{ |
| | | |
| | | } |
| | | }, |
| | | created(){ |
| | | console.log(this.details); |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="height: 100%"> |
| | | <el-form :model="details" label-width="150px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="施工单位"> |
| | | <el-input v-model="details.operatorCompanys" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="电源接入点"> |
| | | <el-input v-model="details.workDetail.powerAccessPoint" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="工作电压"> |
| | | <el-input v-model="details.workDetail.workingVoltage" readonly type="textarea"><template #append>伏特(v)</template></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="用电设备及功率"> |
| | | <el-input v-model="details.workDetail.equipmentAndPower" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="关联其他作业"> |
| | | <el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default{ |
| | | name: 'space', |
| | | components: {}, |
| | | props:['details'], |
| | | data(){ |
| | | return{ |
| | | |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="height: 100%"> |
| | | <el-form :model="details" label-width="150px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="施工单位"> |
| | | <el-input v-model="details.operatorCompanys" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="受限空间所属单位ID"> |
| | | <el-input v-model="details.workDetail.csDepId" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="受限空间名称"> |
| | | <el-input v-model="details.workDetail.csName" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="空间原有介质名称"> |
| | | <el-input v-model="details.workDetail.csOriginalName" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="关联其他作业"> |
| | | <el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default{ |
| | | name: 'space', |
| | | components: {}, |
| | | props:['details'], |
| | | data(){ |
| | | return{ |
| | | |
| | | } |
| | | }, |
| | | methods:{ |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="home-container"> |
| | | <!-- <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">--> |
| | | <!-- <el-tab-pane label="申请中" name="1">--> |
| | | <div style="height: 100%"> |
| | | <el-row class="homeCard"> |
| | | <span>作业类型:</span> |
| | | <el-col :span="10"> |
| | | <div class="grid-content topInfo"> |
| | | <el-select v-model="searchWord"> |
| | | <el-option |
| | | v-for="item in workType" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | <el-button type="primary" @click="searchRecord">查询</el-button> |
| | | <el-button plain @click="clearSearch">重置</el-button> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="homeCard"> |
| | | <div class="main-card"> |
| | | <el-row class="cardTop"> |
| | | <el-col :span="24" class="mainCardBtn"> |
| | | <!-- <el-button type="primary" size="default" @click="toApply()">申请</el-button>--> |
| | | <!-- <el-button type="danger" :icon="Delete" size="default">删除</el-button>--> |
| | | <!-- <el-button type="success" size="default">设置分类</el-button>--> |
| | | </el-col> |
| | | </el-row> |
| | | <el-table ref="multipleTableRef" :data="applyData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }"> |
| | | <el-table-column property="workPermitNo" label="作业申请单号" width="180" /> |
| | | <el-table-column property="applyUname" label="申请人" /> |
| | | <el-table-column property="operatorCompanys" label="施工单位" /> |
| | | <el-table-column property="operatorUnames" label="作业人" /> |
| | | <el-table-column property="workTypeDesc" label="作业类型" /> |
| | | <el-table-column property="workLevelDesc" label="作业等级" /> |
| | | <el-table-column property="applyTime" label="申请时间" width="180" /> |
| | | <el-table-column label="申请状态" align="center" width="180"> |
| | | <template slot-scope="scope"> |
| | | <el-tag :type="scope.row.status==2?'success':(scope.row.status==8||scope.row.status==9)?'warning':'danger'">{{ scope.row.statusDesc }}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" label="操作" align="center" width="250"> |
| | | <template slot-scope="scope"> |
| | | <el-button link type="text" @click="viewRecord(scope.row)">查看</el-button> |
| | | <el-button link type="text" @click="viewStatus(scope.row)">进度</el-button> |
| | | <el-button link type="text" @click="downLoadRecord(scope.row)">导出作业票</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="pageBtn"> |
| | | <el-pagination v-model:currentPage="pageIndex1" v-model:page-size="pageSize1" :page-sizes="[10, 15]" background layout="total, sizes, prev, pager, next, jumper" :total="totalSize1" @size-change="handleSizeChange1" @current-change="handleCurrentChange1" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-dialog :visible.sync="dialogDetails" title="作业申请详情" center> |
| | | <fire v-if="dialogType == 1" :details = details></fire> |
| | | <space v-if="dialogType == 2" :details = details></space> |
| | | <hoist v-if="dialogType == 3" :details = details></hoist> |
| | | <ground v-if="dialogType == 4" :details = details></ground> |
| | | <broken v-if="dialogType == 5" :details = details></broken> |
| | | <height v-if="dialogType == 6" :details = details></height> |
| | | <power v-if="dialogType == 7" :details = details></power> |
| | | <plate v-if="dialogType == 8" :details = details></plate> |
| | | <template #footer> |
| | | <div class="dialog-footer" align="right"> |
| | | <el-button type="primary" @click="dialogDetails = false" |
| | | >确认</el-button |
| | | > |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog :visible.sync="dialogStatus" title="作业申请进度" width="60%"> |
| | | <el-form style="margin-bottom: 40px"> |
| | | <el-form-item label="申请作业人"> |
| | | <el-input v-model="approveInfo.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="display: flex; flex-direction: column-reverse"> |
| | | <div v-for="(item, index) in approveInfo.approvalSteps" class="stepItem"> |
| | | <div class="stepNum">{{ item.stepSerial }}</div> |
| | | <div class="stepCard"> |
| | | <el-card class="box-card" shadow="always"> |
| | | <div class="text"> |
| | | 审批结果:<span>{{ item.approvalResultDesc }}</span> |
| | | </div> |
| | | <div class="text"> |
| | | 审批层级:<span>{{ item.typeDesc }}</span> |
| | | </div> |
| | | <div class="text" v-if="item.auditTypeDesc"> |
| | | 审批类型:<span>{{ item.auditTypeDesc }}</span> |
| | | </div> |
| | | <div class="text" v-show="item.startApprovalTime != null"> |
| | | 开始时间:<span>{{ item.startApprovalTime }}</span> |
| | | </div> |
| | | <div class="approveUnit"> |
| | | <div class="item-tit"><span>审批人</span><span>审批状态</span></div> |
| | | <div class="item-cont" v-for="i in item.stepUnits"> |
| | | <span>{{ i.approvalUname }}</span |
| | | ><span>{{ i.resultDesc }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="approveItem"> |
| | | <div class="item-tit"> |
| | | <span>审批项目</span> |
| | | <!-- <span>类型</span>--> |
| | | <div>措施标准</div> |
| | | </div> |
| | | <div class="item-cont" v-for="i in item.stepItems"> |
| | | <span>{{ i.itemName }}</span> |
| | | <!-- <span>{{ i.typeDesc }}</span>--> |
| | | <div v-if="i.measure !== null"> |
| | | <div> |
| | | <span>作业类型:</span><span>{{ i.measure.workTypeDesc }}</span> |
| | | </div> |
| | | <div> |
| | | <span>措施内容:</span><span>{{ i.measure.context }}</span> |
| | | </div> |
| | | </div> |
| | | <div v-if="i.stand !== null"> |
| | | <div> |
| | | <span>标题名称:</span><span>{{ i.stand.title }}</span> |
| | | </div> |
| | | <div> |
| | | <span>标准内容:</span><span>{{ i.stand.typeDesc }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="text" v-show="item.expFinishApprovalTime != null"> |
| | | 期望结束时间:<span>{{ item.expFinishApprovalTime }}</span> |
| | | </div> |
| | | <div class="text" v-show="item.finishApprovalTime != null"> |
| | | 结束时间:<span>{{ item.finishApprovalTime }}</span> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog :visible.sync="deleteDialog" title="提示" width="30%" center> |
| | | <span>您确定要取消该条申请吗?</span> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="deleteDialog = false" size="default">取消</el-button> |
| | | <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | <!-- </el-tab-pane>--> |
| | | <!-- <el-tab-pane label="已通过" name="2">--> |
| | | <!-- <div style="height: 100%">--> |
| | | <!-- <el-row class="homeCard">--> |
| | | <!-- <el-col :span="8">--> |
| | | <!-- <div class="grid-content topInfo">--> |
| | | <!-- <el-input v-model="searchWord" placeholder="作业证名称"></el-input>--> |
| | | <!-- <el-button type="primary">查询</el-button>--> |
| | | <!-- <el-button plain>重置</el-button>--> |
| | | <!-- </div>--> |
| | | <!-- </el-col>--> |
| | | <!-- </el-row>--> |
| | | <!-- <div class="homeCard">--> |
| | | <!-- <div class="main-card">--> |
| | | <!-- <el-table ref="multipleTableRef" :data="passedData" style="width: 100%" height="calc(100% - 48px)" :header-cell-style="{ background: '#fafafa' }" @selection-change="handleSelectionChange">--> |
| | | <!-- <el-table-column type="selection" width="55" />--> |
| | | <!-- <el-table-column type="index" label="编号" width="200" />--> |
| | | <!-- <el-table-column property="level" label="作业证等级" width="180" sortable />--> |
| | | <!-- <el-table-column property="applyDate" label="申请日期" sortable />--> |
| | | <!-- <el-table-column property="name" label="申请人" width="180" />--> |
| | | <!-- <el-table-column property="department" label="申请部门" width="180" />--> |
| | | <!-- <el-table-column label="申请状态" width="180">--> |
| | | <!-- <template slot-scope="scope">--> |
| | | <!-- <el-tag type="success">{{ scope.row.status }}</el-tag>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- </el-table>--> |
| | | <!-- <div class="pageBtn">--> |
| | | <!-- <el-pagination v-model:currentPage="pageIndex2" v-model:page-size="pageSize2" :page-sizes="[10, 15]" small="false" background layout="total, sizes, prev, pager, next, jumper" :total="totalSize2" @size-change="handleSizeChange2" @current-change="handleCurrentChange2" />--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- </el-tab-pane>--> |
| | | <!-- </el-tabs>--> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import fire from './components/fireLog' |
| | | import space from './components/spaceLog' |
| | | import hoist from './components/hoistLog' |
| | | import broken from './components/groundLog' |
| | | import ground from './components/brokenLog' |
| | | import height from './components/heightLog' |
| | | import power from './components/powerLog' |
| | | import plate from './components/plateLog' |
| | | import {workApplyApi} from "../../../../api/workApply"; |
| | | import axios from "axios"; |
| | | import Cookies from "js-cookie"; |
| | | export default{ |
| | | name: 'myApply', |
| | | components: { |
| | | fire, |
| | | space, |
| | | hoist, |
| | | ground, |
| | | broken, |
| | | height, |
| | | power, |
| | | plate |
| | | }, |
| | | data(){ |
| | | return{ |
| | | pageIndex1: 1, |
| | | pageSize1: 10, |
| | | totalSize1: 0, |
| | | dialogType: null, |
| | | activeName: '1', |
| | | departmentList: [], |
| | | departmentRecursionList: [], |
| | | chosenIndex: null, |
| | | searchWord: '', |
| | | applyData: [], |
| | | workTimeList: [], |
| | | multipleSelection: [], |
| | | approveInfo: { |
| | | approvalSteps: [], |
| | | operators: [] |
| | | }, |
| | | dialogDetails: false, |
| | | dialogStatus: false, |
| | | deleteDialog: false, |
| | | addRecord: {}, |
| | | details: {}, |
| | | statusInfo: {}, |
| | | deleteId: null, |
| | | deleteArr: [], |
| | | workType: [ |
| | | { id: 1, name: '动火作业' }, |
| | | { id: 2, name: '受限空间作业' }, |
| | | { id: 3, name: '吊装作业' }, |
| | | { id: 4, name: '动土作业' }, |
| | | { id: 5, name: '断路作业' }, |
| | | { id: 6, name: '高处作业' }, |
| | | { id: 7, name: '临时用电作业' }, |
| | | { id: 8, name: '盲板抽堵作业' } |
| | | ] |
| | | } |
| | | }, |
| | | created(){ |
| | | this.getListByPage() |
| | | }, |
| | | methods:{ |
| | | async getListByPage() { |
| | | const data = { pageSize: this.pageSize1, pageIndex: this.pageIndex1, searchParams: { workType: this.searchWord } }; |
| | | let res = await workApplyApi().getAllApplyPage(data); |
| | | if (res.data.code === '200') { |
| | | this.applyData = JSON.parse(JSON.stringify(res.data.data)); |
| | | this.applyData = this.applyData.map((item) => { |
| | | if (item.operators == null || item.operators == []) { |
| | | item.operators = []; |
| | | } else { |
| | | item.operators = Array.from(item.operators, ({ operatorUname }) => operatorUname); |
| | | } |
| | | return item; |
| | | }); |
| | | this.totalSize1 = res.data.total; |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | toNames(row, column, cellValue, index) { |
| | | if (row.list == []) { |
| | | return []; |
| | | } else { |
| | | const nameList = []; |
| | | for (let i = 0; i < row.list.length; i++) { |
| | | for (let t = 0; t < this.workTimeList.length; t++) { |
| | | if (row.list[i] == this.workTimeList[t].id) { |
| | | nameList.push(this.workTimeList[t].name); |
| | | } |
| | | } |
| | | } |
| | | return nameList.join(); |
| | | } |
| | | }, |
| | | |
| | | reLoadData() { |
| | | this.getListByPage(); |
| | | }, |
| | | |
| | | // 导出方法 |
| | | downLoadRecord(row) { |
| | | if(row.status == 7){ |
| | | axios.post(process.env.BASE_API + `/work/apply/printing`,{applyWorkId: row.workApplyId},{headers:{'Content-Type': 'application/json','Authorization': `${Cookies.get('token')}`},responseType: 'blob'}).then(res=>{ |
| | | if (res) { |
| | | const link = document.createElement('a') |
| | | let blob = new Blob([res.data],{type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'}) |
| | | link.style.display = "none"; |
| | | link.href = URL.createObjectURL(blob); // 创建URL |
| | | link.setAttribute("download", row.workTypeDesc + row.workPermitNo + "作业证.docx"); |
| | | document.body.appendChild(link); |
| | | link.click(); |
| | | document.body.removeChild(link); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '该作业申请未完成审批流程,不可导出' |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | // 填写表单 |
| | | toApply() { |
| | | this.$router.push({ |
| | | path: 'workApply' |
| | | }); |
| | | }, |
| | | |
| | | handleClick(tab, event) { |
| | | console.log(tab, event); |
| | | }, |
| | | |
| | | recursion(value) { |
| | | for (let i of value) { |
| | | if (i.children.length !== 0) { |
| | | this.departmentRecursionList.push(i); |
| | | this.recursion(i.children); |
| | | } else { |
| | | this.departmentRecursionList.push(i); |
| | | } |
| | | } |
| | | }, |
| | | |
| | | searchRecord() { |
| | | if (this.searchWord == '') { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '请输入查询关键词' |
| | | }); |
| | | } else { |
| | | this.getListByPage(); |
| | | } |
| | | }, |
| | | |
| | | clearSearch() { |
| | | this.searchWord = ''; |
| | | this.getListByPage(); |
| | | }, |
| | | |
| | | viewStatus(row) { |
| | | this.getStatus({ workApplyId: row.workApplyId }); |
| | | }, |
| | | |
| | | async getStatus (data) { |
| | | let res = await workApplyApi().getAllStatus(data); |
| | | if (res.data.code === '200') { |
| | | this.approveInfo = JSON.parse(JSON.stringify(res.data.data)); |
| | | // this.approveInfo.operators = this.approveInfo.operators.map(item => { |
| | | // return item.operatorUname |
| | | // }).join('、') |
| | | this.dialogStatus = true; |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.data.message |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | conFirmDelete() { |
| | | this.deleteRecord({ workApplyId: this.deleteId }); |
| | | this.deleteDialog = false; |
| | | }, |
| | | |
| | | viewRecord(row) { |
| | | this.dialogType = row.workType |
| | | this.details = JSON.parse(JSON.stringify(row)); |
| | | this.details.operators = this.details.operators.join('、') |
| | | if(this.details.workDetail.otherSpecialWork == '' || !this.details.workDetail.otherSpecialWork){ |
| | | this.details.workDetail.otherSpecialWork = '' |
| | | } |
| | | else { |
| | | const a = this.details.workDetail.otherSpecialWork |
| | | this.details.workDetail.otherSpecialWork = a.split(',').map((item) => { |
| | | return this.workType.find((i) => i.id === Number(item)).name; |
| | | }).join('、'); |
| | | } |
| | | if(this.details.workDetail.involvedDepIds == '' || !this.details.workDetail.involvedDepIds){ |
| | | this.details.workDetail.involvedDepIds = '' |
| | | } |
| | | else { |
| | | const a = this.details.workDetail.involvedDepIds |
| | | this.details.workDetail.involvedDepIds = a.split(',').map((item) => { |
| | | return this.departmentRecursionList.find((i) => i.depId === Number(item)).depName; |
| | | }).join('、'); |
| | | } |
| | | if(this.details.workDetail.gbPath){ |
| | | this.details.workDetail.gbPath = this.details.workDetail.gbPath.split(',') |
| | | } |
| | | if(this.details.workDetail.bcPath){ |
| | | this.details.workDetail.bcPath = this.details.workDetail.bcPath.split(',') |
| | | } |
| | | if(this.details.workDetail.bpLocationMapPath){ |
| | | this.details.workDetail.bpLocationMapPath = this.details.workDetail.bpLocationMapPath.split(',') |
| | | } |
| | | this.dialogDetails = true; |
| | | }, |
| | | |
| | | handleSizeChange1(val) { |
| | | this.pageSize1 = val; |
| | | this.getListByPage(); |
| | | }, |
| | | |
| | | |
| | | handleCurrentChange1(val) { |
| | | this.pageIndex1 = val; |
| | | this.getListByPage(); |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | $homeNavLengh: 8; |
| | | .home-container { |
| | | height: calc(100vh - 144px); |
| | | box-sizing: border-box; |
| | | overflow: hidden; |
| | | .demo-tabs { |
| | | width: 100%; |
| | | height: 100%; |
| | | |
| | | //&::v-deep(.el-tabs__content) { |
| | | // height: calc(100% - 60px); |
| | | //} |
| | | |
| | | .el-tab-pane { |
| | | height: 100%; |
| | | } |
| | | } |
| | | .homeCard { |
| | | width: 100%; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | background: #fff; |
| | | border-radius: 4px; |
| | | |
| | | .main-card { |
| | | width: 100%; |
| | | height: 100%; |
| | | .cardTop { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 20px; |
| | | .mainCardBtn { |
| | | margin: 0; |
| | | } |
| | | } |
| | | .pageBtn { |
| | | height: 60px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: right; |
| | | |
| | | .demo-pagination-block + .demo-pagination-block { |
| | | margin-top: 10px; |
| | | } |
| | | .demo-pagination-block .demonstration { |
| | | margin-bottom: 16px; |
| | | } |
| | | } |
| | | } |
| | | &:last-of-type { |
| | | height: calc(100% - 100px); |
| | | } |
| | | } |
| | | .stepItem { |
| | | display: flex; |
| | | align-items: flex-start; |
| | | margin-top: 30px; |
| | | margin-left: 30px; |
| | | padding-bottom: 30px; |
| | | padding-left: 40px; |
| | | border-left: 1px solid #a0cfff; |
| | | position: relative; |
| | | &:first-of-type { |
| | | margin-top: 30px; |
| | | } |
| | | &:first-of-type { |
| | | margin-bottom: 0; |
| | | border-left: none; |
| | | } |
| | | .stepNum { |
| | | position: absolute; |
| | | width: 40px; |
| | | height: 40px; |
| | | border-radius: 20px; |
| | | box-sizing: border-box; |
| | | font-size: 18px; |
| | | color: #333; |
| | | border: 1px solid #a0cfff; |
| | | line-height: 38px; |
| | | text-align: center; |
| | | left: -20px; |
| | | top: -30px; |
| | | background: #d9ecff; |
| | | } |
| | | .stepCard { |
| | | width: 100%; |
| | | margin-top: -30px; |
| | | |
| | | .box-card { |
| | | width: 100%; |
| | | |
| | | .card-header { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | |
| | | span { |
| | | font-weight: bold; |
| | | margin-left: 10px; |
| | | } |
| | | } |
| | | |
| | | .text { |
| | | width: 100%; |
| | | font-size: 14px; |
| | | margin-bottom: 10px; |
| | | padding-left: 10px; |
| | | |
| | | span { |
| | | font-weight: bolder; |
| | | color: #409eff; |
| | | } |
| | | |
| | | &:last-of-type { |
| | | margin-bottom: 0; |
| | | } |
| | | } |
| | | .approveUnit { |
| | | width: 100%; |
| | | font-size: 14px; |
| | | margin-bottom: 20px; |
| | | padding: 10px 15px; |
| | | border: 1px solid #fff; |
| | | background: #ecf8ff; |
| | | border-radius: 6px; |
| | | .item-tit { |
| | | width: 100%; |
| | | display: flex; |
| | | color: #409eff; |
| | | align-items: flex-start; |
| | | justify-content: space-between; |
| | | padding-bottom: 10px; |
| | | border-bottom: 1px solid #a0cfff; |
| | | |
| | | & > span { |
| | | flex: 1; |
| | | &:last-of-type{ |
| | | text-align: center; |
| | | } |
| | | } |
| | | & > div { |
| | | flex: 1; |
| | | text-align: center; |
| | | } |
| | | } |
| | | .item-cont { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | padding: 10px 0; |
| | | border-bottom: 1px solid #c6e2ff; |
| | | |
| | | & > span { |
| | | flex: 1; |
| | | &:last-of-type{ |
| | | text-align: center; |
| | | } |
| | | } |
| | | & > div { |
| | | flex: 1; |
| | | text-align: center; |
| | | |
| | | & > div { |
| | | text-align: left; |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | span { |
| | | width: 45%; |
| | | &:first-of-type { |
| | | width: 30%; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | &:last-of-type { |
| | | border-bottom: 0; |
| | | } |
| | | } |
| | | } |
| | | .approveItem { |
| | | width: 100%; |
| | | font-size: 14px; |
| | | margin-bottom: 20px; |
| | | padding: 10px 15px; |
| | | background: #ecf8ff; |
| | | border: 1px solid #fff; |
| | | border-radius: 6px; |
| | | .item-tit { |
| | | width: 100%; |
| | | display: flex; |
| | | color: #409eff; |
| | | align-items: flex-start; |
| | | justify-content: space-between; |
| | | padding-bottom: 10px; |
| | | border-bottom: 1px solid #a0cfff; |
| | | |
| | | & > span { |
| | | flex: 1; |
| | | } |
| | | & > div { |
| | | flex: 2; |
| | | text-align: center; |
| | | } |
| | | } |
| | | .item-cont { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | padding: 10px 0; |
| | | border-bottom: 1px solid #c6e2ff; |
| | | |
| | | & > span { |
| | | flex: 1; |
| | | } |
| | | & > div { |
| | | flex: 2; |
| | | text-align: center; |
| | | |
| | | & > div { |
| | | text-align: left; |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: flex-start; |
| | | margin-bottom: 10px; |
| | | span { |
| | | width: 50%; |
| | | &:first-of-type { |
| | | width: 25%; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | &:last-of-type { |
| | | border-bottom: 0; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | &:hover .card-header { |
| | | color: #0098f5; |
| | | } |
| | | &:hover .stepNum { |
| | | border: 2px solid #0098f5; |
| | | color: #0098f5; |
| | | } |
| | | } |
| | | .el-row { |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | &:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .grid-content { |
| | | align-items: center; |
| | | min-height: 36px; |
| | | } |
| | | |
| | | .topInfo { |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 16px; |
| | | font-weight: bold; |
| | | |
| | | & > div { |
| | | white-space: nowrap; |
| | | margin-right: 20px; |
| | | } |
| | | } |
| | | } |
| | | .el-card { |
| | | border: 0; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="施工单位"> |
| | | <el-input v-model="details.operatorCompanys" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | <el-input v-model="details.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="施工单位"> |
| | | <el-input v-model="details.operatorCompanys" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="施工单位"> |
| | | <el-input v-model="details.operatorCompanys" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="施工单位"> |
| | | <el-input v-model="details.operatorCompanys" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="施工单位"> |
| | | <el-input v-model="details.operatorCompanys" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="施工单位"> |
| | | <el-input v-model="details.operatorCompanys" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="施工单位"> |
| | | <el-input v-model="details.operatorCompanys" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="施工单位"> |
| | | <el-input v-model="details.operatorCompanys" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | |
| | | <el-table ref="multipleTableRef" :data="applyData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }"> |
| | | <el-table-column property="workPermitNo" label="作业申请单号" width="180" /> |
| | | <el-table-column property="applyUname" label="申请人" /> |
| | | <el-table-column property="depName" label="部门名称" /> |
| | | <el-table-column property="operators" label="作业人" /> |
| | | <el-table-column property="operatorCompanys" label="施工单位" /> |
| | | <el-table-column property="operatorUnames" label="作业人" /> |
| | | <el-table-column property="workTypeDesc" label="作业类型" /> |
| | | <el-table-column property="workLevelDesc" label="作业等级" /> |
| | | <el-table-column property="applyTime" label="申请时间" width="180" /> |
| | |
| | | <el-button link type="text" @click="viewRecord(scope.row)">查看</el-button> |
| | | <el-button link type="text" @click="viewStatus(scope.row)">进度</el-button> |
| | | <el-button link type="text" @click="deleteRecordBtn(scope.row)">取消</el-button> |
| | | <el-button :disabled="scope.row.status == 7 ? false : true" link type="text" @click="downLoadRecord(scope.row)">导出作业票</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog :visible.sync="dialogStatus" title="作业申请进度" width="60%"> |
| | | <el-form v-if="approveInfo.operators.length > 0" style="margin-bottom: 40px"> |
| | | <el-form style="margin-bottom: 40px"> |
| | | <el-form-item label="申请作业人"> |
| | | <el-input v-model="approveInfo.operators" readonly type="textarea" /> |
| | | <el-input v-model="approveInfo.operatorUnames" readonly type="textarea" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div style="display: flex; flex-direction: column-reverse"> |
| | |
| | | import power from './components/powerLog' |
| | | import plate from './components/plateLog' |
| | | import {workApplyApi} from "../../../../api/workApply"; |
| | | import Cookies from 'js-cookie'; |
| | | import axios from 'axios'; |
| | | export default{ |
| | | name: 'myApply', |
| | | components: { |
| | |
| | | this.getListByPage(); |
| | | }, |
| | | |
| | | // 导出方法 |
| | | downLoadRecord(row) { |
| | | if(row.status == 7){ |
| | | axios.post(process.env.BASE_API + `/work/apply/printing`,{applyWorkId: row.workApplyId},{headers:{'Content-Type': 'application/json','Authorization': `${Cookies.get('token')}`},responseType: 'blob'}).then(res=>{ |
| | | if (res) { |
| | | const link = document.createElement('a') |
| | | let blob = new Blob([res.data],{type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'}) |
| | | link.style.display = "none"; |
| | | link.href = URL.createObjectURL(blob); // 创建URL |
| | | link.setAttribute("download", row.workTypeDesc + row.workPermitNo + "作业证.docx"); |
| | | document.body.appendChild(link); |
| | | link.click(); |
| | | document.body.removeChild(link); |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '该作业申请未完成审批流程,不可导出' |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | // 填写表单 |
| | | toApply() { |
| | | this.$router.push({ |
| | |
| | | let res = await workApplyApi().getStatus(data); |
| | | if (res.data.code === '200') { |
| | | this.approveInfo = JSON.parse(JSON.stringify(res.data.data)); |
| | | this.approveInfo.operators = this.approveInfo.operators.map(item => { |
| | | return item.operatorUname |
| | | }).join('、') |
| | | // this.approveInfo.operators = this.approveInfo.operators.map(item => { |
| | | // return item.operatorUname |
| | | // }).join('、') |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | |
| | | this.dialogType = row.workType |
| | | this.details = JSON.parse(JSON.stringify(row)); |
| | | this.details.operators = this.details.operators.join('、') |
| | | if(this.details.workDetail.otherSpecialWork == '' || !this.details.workDetail.otherSpecialWork){ |
| | | if(!this.details.workDetail.otherSpecialWork || this.details.workDetail.otherSpecialWork == ''){ |
| | | this.details.workDetail.otherSpecialWork = '' |
| | | } |
| | | else { |
| | |
| | | <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef"> |
| | | <div class="homeCard"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人" prop="operatorUids"> |
| | | <el-select v-model="form.operatorUids" multiple> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.id" |
| | | :label="item.realname + '(' + item.username.toString().replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2') + ')'" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业内容" prop="workContent"> |
| | | <el-form-item label="施工单位" prop="operatorCompanys"> |
| | | <el-input |
| | | v-model="form.workContent" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入作业内容" |
| | | v-model="form.operatorCompanys" |
| | | placeholder="请输入施工单位" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人" prop="operatorUnames"> |
| | | <!-- <el-select v-model="form.operatorUnames" multiple>--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in workerList"--> |
| | | <!-- :key="item.id"--> |
| | | <!-- :label="item.realname + '(' + item.username.toString().replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2') + ')'"--> |
| | | <!-- :value="item.id"--> |
| | | <!-- />--> |
| | | <!-- </el-select>--> |
| | | <el-input |
| | | v-model="form.operatorUnames" |
| | | placeholder="请输入作业人" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业内容" prop="workContent"> |
| | | <el-input |
| | | v-model="form.workContent" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入作业内容" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业地址" prop="workLocation"> |
| | | <el-input |
| | | v-model="form.workLocation" |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | |
| | | <el-col :span="12"> |
| | | <el-form-item label="危险辨识" prop="hazardIdentification"> |
| | | <el-input |
| | | v-model="form.hazardIdentification" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入危险辨识" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider border-style="dashed"/> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业单位" prop="workDetail.operationDepId"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="危险辨识" prop="hazardIdentification"> |
| | | <el-input |
| | | v-model="form.hazardIdentification" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入危险辨识" |
| | | /> |
| | | <el-form-item label="涉及相关部门" prop="workDetail.involvedDepIds"> |
| | | <el-select v-model="form.workDetail.involvedDepIds"> |
| | | <el-option |
| | | v-for="item in departList" |
| | | :key="item.id" |
| | | :label="item.department" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="涉及相关部门" prop="workDetail.involvedDepIds"> |
| | | <el-select v-model="form.workDetail.involvedDepIds"> |
| | | <el-option |
| | | v-for="item in departList" |
| | | :key="item.id" |
| | | :label="item.department" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24"> |
| | | <el-form-item label="隐患上报图" prop="img"> |
| | |
| | | fileList:[], |
| | | disabled:false, |
| | | form: { |
| | | operatorUids: [], |
| | | operatorCompanys: '', |
| | | operatorUnames: '', |
| | | workType: 5, |
| | | workLevel: 0, |
| | | workContent: '', |
| | |
| | | multiple: true |
| | | }, |
| | | applyRules:{ |
| | | operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'change' }], |
| | | operatorCompanys: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | operatorUnames: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | }); |
| | | this.$refs["ruleFormRef"].clearValidate() |
| | | this.form = { |
| | | operatorUids: [], |
| | | operatorCompanys: '', |
| | | operatorUnames: '', |
| | | workType: 5, |
| | | workLevel: 0, |
| | | workContent: '', |
| | |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | message: res.data.message |
| | | }); |
| | | } |
| | | } else { |
| | |
| | | <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef"> |
| | | <div class="homeCard"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人" prop="operatorUids"> |
| | | <el-select v-model="form.operatorUids" multiple> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.id" |
| | | :label="item.realname + '(' + item.username.toString().replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2') + ')'" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="危险辨识" prop="hazardIdentification"> |
| | | <el-form-item label="施工单位" prop="operatorCompanys"> |
| | | <el-input |
| | | v-model="form.hazardIdentification" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入危险辨识" |
| | | v-model="form.operatorCompanys" |
| | | placeholder="请输入施工单位" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业等级" prop="workLevel"> |
| | | <el-select v-model="form.workLevel"> |
| | | <el-option |
| | | v-for="item in workLevelList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | <el-form-item label="作业人" prop="operatorUnames"> |
| | | <!-- <el-select v-model="form.operatorUids" multiple>--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in workerList"--> |
| | | <!-- :key="item.id"--> |
| | | <!-- :label="item.realname + '(' + item.username.toString().replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2') + ')'"--> |
| | | <!-- :value="item.id"--> |
| | | <!-- />--> |
| | | <!-- </el-select>--> |
| | | <el-input |
| | | v-model="form.operatorUnames" |
| | | placeholder="请输入作业人" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业时间" prop="workTimeLine"> |
| | | <el-date-picker |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业等级" prop="workLevel"> |
| | | <el-select v-model="form.workLevel"> |
| | | <el-option |
| | | v-for="item in workLevelList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="危险辨识" prop="hazardIdentification"> |
| | | <el-input |
| | | v-model="form.hazardIdentification" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入危险辨识" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider border-style="dashed"/> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="动火方式" prop="workDetail.hotMethod"> |
| | |
| | | data(){ |
| | | return{ |
| | | form: { |
| | | operatorUids: [], |
| | | operatorCompanys: '', |
| | | operatorUnames: '', |
| | | workType: 1, |
| | | workLevel: null, |
| | | workContent: '', |
| | |
| | | } |
| | | ], |
| | | applyRules:{ |
| | | operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'change' }], |
| | | operatorUnames: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | operatorCompanys: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLevel: [{ required: true, message: '该内容不能为空', trigger: 'change' }], |
| | | workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | this.form.expEndTime = JSON.parse(JSON.stringify(this.form.workTimeLine))[1] |
| | | let { workTimeLine, ...data } = JSON.parse(JSON.stringify(this.form)) |
| | | data.workDetail.otherSpecialWork = data.workDetail.otherSpecialWork.join(',') |
| | | console.log(data,'data') |
| | | const res = await workApplyApi().postFireApply(data) |
| | | if (res.data.code === '200') { |
| | | this.$message({ |
| | |
| | | }); |
| | | this.$refs["ruleFormRef"].clearValidate() |
| | | this.form = { |
| | | operatorUids: [], |
| | | operatorCompanys: '', |
| | | operatorUnames: '', |
| | | workType: 1, |
| | | workLevel: null, |
| | | workContent: '', |
| | |
| | | <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef"> |
| | | <div class="homeCard"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人" prop="operatorUids"> |
| | | <el-select v-model="form.operatorUids" multiple> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.id" |
| | | :label="item.realname + '(' + item.username.toString().replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2') + ')'" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业内容" prop="workContent"> |
| | | <el-form-item label="施工单位" prop="operatorCompanys"> |
| | | <el-input |
| | | v-model="form.workContent" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入作业内容" |
| | | v-model="form.operatorCompanys" |
| | | placeholder="请输入施工单位" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人" prop="operatorUnames"> |
| | | <!-- <el-select v-model="form.operatorUnames" multiple>--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in workerList"--> |
| | | <!-- :key="item.id"--> |
| | | <!-- :label="item.realname + '(' + item.username.toString().replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2') + ')'"--> |
| | | <!-- :value="item.id"--> |
| | | <!-- />--> |
| | | <!-- </el-select>--> |
| | | <el-input |
| | | v-model="form.operatorUnames" |
| | | placeholder="请输入作业人" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业内容" prop="workContent"> |
| | | <el-input |
| | | v-model="form.workContent" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入作业内容" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业地址" prop="workLocation"> |
| | | <el-input |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="危险辨识" prop="hazardIdentification"> |
| | | <el-input |
| | | v-model="form.hazardIdentification" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入危险辨识" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider border-style="dashed"/> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业单位" prop="workDetail.operationDepId"> |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | |
| | | <el-row> |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="危险辨识" prop="hazardIdentification"> |
| | | <el-input |
| | | v-model="form.hazardIdentification" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入危险辨识" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | |
| | | <el-col :span="12"> |
| | | <el-form-item label="关联作业" prop="workDetail.otherSpecialWork"> |
| | | <el-select v-model="form.workDetail.otherSpecialWork" multiple> |
| | |
| | | fileList:[], |
| | | disabled:false, |
| | | form: { |
| | | operatorUids: [], |
| | | operatorCompanys: '', |
| | | operatorUnames: '', |
| | | workType: 4, |
| | | workLevel: 0, |
| | | workContent: '', |
| | |
| | | } |
| | | ], |
| | | applyRules:{ |
| | | operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'change' }], |
| | | operatorCompanys: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | operatorUnames: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | }); |
| | | this.$refs["ruleFormRef"].clearValidate() |
| | | this.form = { |
| | | operatorUids: [], |
| | | operatorCompanys: '', |
| | | operatorUnames: '', |
| | | workType: 2, |
| | | workLevel: 0, |
| | | workContent: '', |
| | |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | message: res.data.message |
| | | }); |
| | | } |
| | | } else { |
| | |
| | | <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef"> |
| | | <div class="homeCard"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人" prop="operatorUids"> |
| | | <el-select v-model="form.operatorUids" multiple> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.id" |
| | | :label="item.realname + '(' + item.username.toString().replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2') + ')'" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="危险辨识" prop="hazardIdentification"> |
| | | <el-form-item label="施工单位" prop="operatorCompanys"> |
| | | <el-input |
| | | v-model="form.hazardIdentification" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入危险辨识" |
| | | v-model="form.operatorCompanys" |
| | | placeholder="请输入施工单位" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人" prop="operatorUnames"> |
| | | <!-- <el-select v-model="form.operatorUids" multiple>--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in workerList"--> |
| | | <!-- :key="item.id"--> |
| | | <!-- :label="item.realname + '(' + item.username.toString().replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2') + ')'"--> |
| | | <!-- :value="item.id"--> |
| | | <!-- />--> |
| | | <!-- </el-select>--> |
| | | <el-input |
| | | v-model="form.operatorUnames" |
| | | placeholder="请输入作业人" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业时间" prop="workTimeLine"> |
| | | <el-date-picker |
| | | v-model="form.workTimeLine" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetimerange" |
| | | range-separator="至" |
| | | start-placeholder="开始时间" |
| | | end-placeholder="结束时间" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业等级" prop="workLevel"> |
| | | <el-select v-model="form.workLevel"> |
| | |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业时间" prop="workTimeLine"> |
| | | <el-date-picker |
| | | v-model="form.workTimeLine" |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | type="datetimerange" |
| | | range-separator="至" |
| | | start-placeholder="开始时间" |
| | | end-placeholder="结束时间" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="危险辨识" prop="hazardIdentification"> |
| | | <el-input |
| | | v-model="form.hazardIdentification" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入危险辨识" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider border-style="dashed"/> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业单位" prop="workDetail.operationDepId"> |
| | | <el-select v-model="form.workDetail.operationDepId"> |
| | | <el-option |
| | | v-for="item in heDepList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | <el-select v-model="form.workDetail.operationDepId"> |
| | | <el-option |
| | | v-for="item in departList" |
| | | :key="item.id" |
| | | :label="item.department" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | |
| | | export default{ |
| | | name: 'heightForm', |
| | | components: {}, |
| | | props:['workerList'], |
| | | props:['workerList','departList'], |
| | | data(){ |
| | | return{ |
| | | form: { |
| | | operatorUids: [], |
| | | operatorCompanys: '', |
| | | operatorUnames: '', |
| | | workType: 6, |
| | | workLevel: null, |
| | | workContent: '', |
| | |
| | | } |
| | | ], |
| | | applyRules:{ |
| | | operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'change' }], |
| | | operatorCompanys: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | operatorUnames: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLevel: [{ required: true, message: '该内容不能为空', trigger: 'change' }], |
| | | workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | let { workTimeLine, ...data } = JSON.parse(JSON.stringify(this.form)) |
| | | data.workDetail.otherSpecialWork = data.workDetail.otherSpecialWork.join(',') |
| | | console.log(data,'data') |
| | | const res = await workApplyApi().postFireApply(data) |
| | | const res = await workApplyApi().postHeightApply(data) |
| | | if (res.data.code === '200') { |
| | | this.$message({ |
| | | type: 'success', |
| | |
| | | }); |
| | | this.$refs["ruleFormRef"].clearValidate() |
| | | this.form = { |
| | | operatorUids: [], |
| | | operatorCompanys: '', |
| | | operatorUnames: '', |
| | | workType: 6, |
| | | workLevel: null, |
| | | workContent: '', |
| | |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | message: res.data.message |
| | | }); |
| | | } |
| | | } else { |
| | |
| | | <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef"> |
| | | <div class="homeCard"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人" prop="operatorUids"> |
| | | <el-select v-model="form.operatorUids" multiple> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.id" |
| | | :label="item.realname + '(' + item.username.toString().replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2') + ')'" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业等级" prop="workLevel"> |
| | | <el-select v-model="form.workLevel"> |
| | | <el-option |
| | | v-for="item in workLevelList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | <el-form-item label="施工单位" prop="operatorCompanys"> |
| | | <el-input |
| | | v-model="form.operatorCompanys" |
| | | placeholder="请输入施工单位" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人" prop="operatorUnames"> |
| | | <!-- <el-select v-model="form.operatorUnames" multiple>--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in workerList"--> |
| | | <!-- :key="item.id"--> |
| | | <!-- :label="item.realname + '(' + item.username.toString().replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2') + ')'"--> |
| | | <!-- :value="item.id"--> |
| | | <!-- />--> |
| | | <!-- </el-select>--> |
| | | <el-input |
| | | v-model="form.operatorUnames" |
| | | placeholder="请输入作业人" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="危险辨识" prop="hazardIdentification"> |
| | | <el-input |
| | | v-model="form.hazardIdentification" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入危险辨识" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业时间" prop="workTimeLine"> |
| | | <el-date-picker |
| | |
| | | start-placeholder="开始时间" |
| | | end-placeholder="结束时间" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业等级" prop="workLevel"> |
| | | <el-select v-model="form.workLevel"> |
| | | <el-option |
| | | v-for="item in workLevelList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="危险辨识" prop="hazardIdentification"> |
| | | <el-input |
| | | v-model="form.hazardIdentification" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入危险辨识" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider border-style="dashed"/> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="吊装工具名称" prop="workDetail.hoistingToolName"> |
| | |
| | | data(){ |
| | | return{ |
| | | form: { |
| | | operatorUids: [], |
| | | operatorCompanys: '', |
| | | operatorUnames: '', |
| | | workType: 3, |
| | | workLevel: null, |
| | | workContent: '', |
| | |
| | | } |
| | | ], |
| | | applyRules:{ |
| | | operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'change' }], |
| | | operatorCompanys: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | operatorUnames: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLevel: [{ required: true, message: '该内容不能为空', trigger: 'change' }], |
| | | workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | }); |
| | | this.$refs["ruleFormRef"].clearValidate() |
| | | this.form = { |
| | | operatorUids: [], |
| | | operatorCompanys: '', |
| | | operatorUnames: '', |
| | | workType: 3, |
| | | workLevel: null, |
| | | workContent: '', |
| | |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | message: res.data.message |
| | | }); |
| | | } |
| | | } else { |
| | |
| | | <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef"> |
| | | <div class="homeCard"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人" prop="operatorUids"> |
| | | <el-select v-model="form.operatorUids" multiple> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.id" |
| | | :label="item.realname + '(' + item.username.toString().replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2') + ')'" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="危险辨识" prop="hazardIdentification"> |
| | | <el-form-item label="施工单位" prop="operatorCompanys"> |
| | | <el-input |
| | | v-model="form.hazardIdentification" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入危险辨识" |
| | | v-model="form.operatorCompanys" |
| | | placeholder="请输入施工单位" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业等级" prop="workLevel"> |
| | | <el-select v-model="form.workLevel"> |
| | | <el-option |
| | | v-for="item in workLevelList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | <el-form-item label="作业人" prop="operatorUnames"> |
| | | <!-- <el-select v-model="form.operatorUnames" multiple>--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in workerList"--> |
| | | <!-- :key="item.id"--> |
| | | <!-- :label="item.realname + '(' + item.username.toString().replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2') + ')'"--> |
| | | <!-- :value="item.id"--> |
| | | <!-- />--> |
| | | <!-- </el-select>--> |
| | | <el-input |
| | | v-model="form.operatorUnames" |
| | | placeholder="请输入作业人" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业时间" prop="workTimeLine"> |
| | | <el-date-picker |
| | |
| | | start-placeholder="开始时间" |
| | | end-placeholder="结束时间" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业等级" prop="workLevel"> |
| | | <el-select v-model="form.workLevel"> |
| | | <el-option |
| | | v-for="item in workLevelList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="危险辨识" prop="hazardIdentification"> |
| | | <el-input |
| | | v-model="form.hazardIdentification" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入危险辨识" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider border-style="dashed"/> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="盲板编号" prop="workDetail.bpCode"> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | |
| | | <el-col :span="12"> |
| | | <el-form-item label="关联作业" prop="workDetail.otherSpecialWork"> |
| | | <el-select v-model="form.workDetail.otherSpecialWork" multiple> |
| | |
| | | }, |
| | | header:{Authorization:''}, |
| | | disabled:false, |
| | | operatorUids: [], |
| | | operatorCompanys: '', |
| | | operatorUnames: '', |
| | | workType: 8, |
| | | workLevel: null, |
| | | workContent: '', |
| | |
| | | } |
| | | ], |
| | | applyRules:{ |
| | | operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'change' }], |
| | | operatorCompanys: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | operatorUnames: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLevel: [{ required: true, message: '该内容不能为空', trigger: 'change' }], |
| | | workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | }); |
| | | this.$refs["ruleFormRef"].clearValidate() |
| | | this.form = { |
| | | operatorUids: [], |
| | | operatorCompanys: '', |
| | | operatorUnames: '', |
| | | workType: 8, |
| | | workLevel: null, |
| | | workContent: '', |
| | |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | message: res.data.message |
| | | }); |
| | | } |
| | | } else { |
| | |
| | | <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef"> |
| | | <div class="homeCard"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人" prop="operatorUids"> |
| | | <el-select v-model="form.operatorUids" multiple> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.id" |
| | | :label="item.realname + '(' + item.username.toString().replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2') + ')'" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业内容" prop="workContent"> |
| | | <el-form-item label="施工单位" prop="operatorCompanys"> |
| | | <el-input |
| | | v-model="form.workContent" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入作业内容" |
| | | v-model="form.operatorCompanys" |
| | | placeholder="请输入施工单位" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人" prop="operatorUnames"> |
| | | <!-- <el-select v-model="form.operatorUnames" multiple>--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in workerList"--> |
| | | <!-- :key="item.id"--> |
| | | <!-- :label="item.realname + '(' + item.username.toString().replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2') + ')'"--> |
| | | <!-- :value="item.id"--> |
| | | <!-- />--> |
| | | <!-- </el-select>--> |
| | | <el-input |
| | | v-model="form.operatorUnames" |
| | | placeholder="请输入作业人" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业内容" prop="workContent"> |
| | | <el-input |
| | | v-model="form.workContent" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入作业内容" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业地址" prop="workLocation"> |
| | | <el-input |
| | | v-model="form.workLocation" |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | |
| | | <el-col :span="12"> |
| | | <el-form-item label="危险辨识" prop="hazardIdentification"> |
| | | <el-input |
| | | v-model="form.hazardIdentification" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入危险辨识" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider border-style="dashed"/> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="电源接入点" prop="workDetail.powerAccessPoint"> |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="危险辨识" prop="hazardIdentification"> |
| | | <el-input |
| | | v-model="form.hazardIdentification" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入危险辨识" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-form> |
| | |
| | | data(){ |
| | | return{ |
| | | form: { |
| | | operatorUids: [], |
| | | operatorCompanys: '', |
| | | operatorUnames: '', |
| | | workType: 7, |
| | | workLevel: 0, |
| | | workContent: '', |
| | |
| | | } |
| | | ], |
| | | applyRules:{ |
| | | operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'change' }], |
| | | operatorCompanys: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | operatorUnames: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLevel: [{ required: true, message: '该内容不能为空', trigger: 'change' }], |
| | | workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | }); |
| | | this.$refs["ruleFormRef"].clearValidate() |
| | | this.form = { |
| | | operatorUids: [], |
| | | operatorCompanys: '', |
| | | operatorUnames: '', |
| | | workType: 7, |
| | | workLevel: 0, |
| | | workContent: '', |
| | |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | message: res.data.message |
| | | }); |
| | | } |
| | | } else { |
| | |
| | | <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef"> |
| | | <div class="homeCard"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人" prop="operatorUids"> |
| | | <el-select v-model="form.operatorUids" multiple> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.id" |
| | | :label="item.realname + '(' + item.username.toString().replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2') + ')'" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业内容" prop="workContent"> |
| | | <el-form-item label="施工单位" prop="operatorCompanys"> |
| | | <el-input |
| | | v-model="form.workContent" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入作业内容" |
| | | v-model="form.operatorCompanys" |
| | | placeholder="请输入施工单位" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人" prop="operatorUnames"> |
| | | <!-- <el-select v-model="form.operatorUnames" multiple>--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in workerList"--> |
| | | <!-- :key="item.id"--> |
| | | <!-- :label="item.realname + '(' + item.username.toString().replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2') + ')'"--> |
| | | <!-- :value="item.id"--> |
| | | <!-- />--> |
| | | <!-- </el-select>--> |
| | | <el-input |
| | | v-model="form.operatorUnames" |
| | | placeholder="请输入作业人" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业内容" prop="workContent"> |
| | | <el-input |
| | | v-model="form.workContent" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入作业内容" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业地址" prop="workLocation"> |
| | | <el-input |
| | | v-model="form.workLocation" |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="危险辨识" prop="hazardIdentification"> |
| | | <el-input |
| | | v-model="form.hazardIdentification" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入危险辨识" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider border-style="dashed"/> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="受限空间所属单位" prop="workDetail.csDepId"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="危险辨识" prop="hazardIdentification"> |
| | | <el-input |
| | | v-model="form.hazardIdentification" |
| | | autosize |
| | | type="textarea" |
| | | placeholder="请输入危险辨识" |
| | | /> |
| | | <el-form-item label="关联作业" prop="workDetail.otherSpecialWork"> |
| | | <el-select v-model="form.workDetail.otherSpecialWork" multiple> |
| | | <el-option v-for="item in otherWorkList" :key="item.value" :label="item.label" :value="item.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="关联作业" prop="workDetail.otherSpecialWork"> |
| | | <el-select v-model="form.workDetail.otherSpecialWork" multiple> |
| | | <el-option v-for="item in otherWorkList" :key="item.value" :label="item.label" :value="item.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | </div> |
| | | </el-form> |
| | | <div class="applyBtn"> |
| | |
| | | data(){ |
| | | return{ |
| | | form: { |
| | | operatorUids: [], |
| | | operatorCompanys: '', |
| | | operatorUnames: '', |
| | | workType: 2, |
| | | workLevel: 0, |
| | | workContent: '', |
| | |
| | | } |
| | | ], |
| | | applyRules:{ |
| | | operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'change' }], |
| | | workType: [{ required: true, message: '该内容不能为空', trigger: 'change' }], |
| | | operatorCompanys: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | operatorUnames: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | }); |
| | | this.$refs["ruleFormRef"].clearValidate() |
| | | this.form = { |
| | | operatorUids: [], |
| | | operatorCompanys: '', |
| | | operatorUnames: '', |
| | | workType: 2, |
| | | workLevel: 0, |
| | | workContent: '', |
| | |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | message: res.data.message |
| | | }); |
| | | } |
| | | } else { |
| | |
| | | <broken-form :workerList= allWorkers :departList = departmentList></broken-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="高处作业"> |
| | | <height-form :workerList = allWorkers></height-form> |
| | | <height-form :workerList = allWorkers :departList = departmentList></height-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="临时用电作业"> |
| | | <power-form :workerList = allWorkers></power-form> |