| | |
| | | // BASE_API: '"http://10.142.119.232:8100"', |
| | | // IMG_API: '"http://10.142.119.232:8100/upload/"', |
| | | |
| | | // BASE_API: '"http://222.92.213.22:8101/api"', |
| | | // IMG_API: '"http://222.92.213.22:8101/api/upload/"', |
| | | // BASE_API: '"http://222.92.213.22:8006/zhongtai"', |
| | | // IMG_API: '"http://222.92.213.22:8006/zhongtai/upload/"', |
| | | // |
| | | // BASE_API: '"https://sinanoaq.cn:8100"', |
| | | // BASE_API: '"http://127.0.0.1:8100"', |
| | |
| | | // IMG_API: '"https://sinanoaq.com:8100/upload/"', |
| | | // BASE_API: '"http://220.171.99.118:4100"', |
| | | // IMG_API: '"http://220.171.99.118:4100/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://222.92.213.21:8006/zhongtai"', |
| | | // IMG_API: '"http://222.92.213.21:8006/zhongtai/upload/"', |
| | | NANO_API: '"http://127.0.0.1:8081/zhongtaiexam"', |
| | | // BASE_API: '"http://220.171.99.118:4101/api"', |
| | | // IMG_API: '"http://220.171.99.118:4101/api/upload/"', |
| | | // BASE_API: '"http://112.86.23.31:8006"', |
| | | // IMG_API: '"http://112.86.23.31:8006/upload/"', |
| | | }; |
| | |
| | | "style": { "text": "F号楼", "clampToGround": true }, |
| | | "attr": { |
| | | "name": "F号楼", |
| | | "id": "cabe679c-373b-4890-ae0c-7a7061f89dfd" |
| | | "id": "1" |
| | | } |
| | | }, |
| | | "geometry": { |
| | |
| | | "type": "Feature", |
| | | "properties": { |
| | | "type": "polygon", |
| | | "style": { "text": "E号楼", "clampToGround": true, "color": "#ff0000" }, |
| | | "style": { "text": "E号楼", "clampToGround": true }, |
| | | "attr": { |
| | | "name": "E号楼", |
| | | "id": "7a3094db-d227-4b3f-bf35-1ce64c365e42" |
| | |
| | | }, o.ScreenSpaceEventType.LEFT_DOUBLE_CLICK) |
| | | }, |
| | | endDraw: function () { |
| | | debugger |
| | | if (!this._enabled) return this; |
| | | this._positions_draw.length < this._minPointNum || (this.updateAttrForDrawing(), this.disable()) |
| | | }, |
| | | finish: function () { |
| | | debugger |
| | | var e = this.entity; |
| | | e.editing = this.getEditClass(e), e._positions_draw = this.getDrawPosition(), e.polyline.positions = new o.CallbackProperty(function (t) { |
| | | return e._positions_draw |
对比新文件 |
| | |
| | | import {getToken} from "../utils/auth"; |
| | | import request from '@/utils/request' |
| | | |
| | | export function addMap(data) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/fourColorMap/add2', |
| | | method: 'post', |
| | | data |
| | | }); |
| | | } |
| | | |
| | | export function getMap(params) { |
| | | return request({ |
| | | headers:{ |
| | | 'Authorization': getToken() |
| | | }, |
| | | url: process.env.BASE_API+'/fourColorMap/get/list2', |
| | | method: 'post', |
| | | params:params?params:{} |
| | | }); |
| | | } |
| | |
| | | }, |
| | | url: process.env.BASE_API+'/register/add', |
| | | method: 'post', |
| | | data:data |
| | | data |
| | | }) |
| | | } |
| | | |
| | |
| | | data |
| | | }) |
| | | } |
| | | |
| | | |
| | | export function pwdChange(data) { |
| | | return request({ |
| | | url: process.env.BASE_API + '/pwd-change', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
对比新文件 |
| | |
| | | {"asset":{"generatetool":"cesiumlab2@www.cesiumlab.com/osgb2tiles3","gltfUpAxis":"Z","version":"1.0"},"geometricError":1483.9877869095,"root":{"boundingVolume":{"box":[-163.46875,141.668724060059,1254.39343261719,646.749145507813,0,0,0,360.510932922363,0,0,0,47.9827880859375]},"children":[{"boundingVolume":{"box":[-163.46875,141.668724060059,1254.39343261719,646.749145507813,0,0,0,360.510932922363,0,0,0,47.9827880859375]},"content":{"uri":"top/0_0_0_0.json"},"geometricError":741.99389345475}],"geometricError":1483.9877869095,"transform":[-0.989732660191945,0.142930967076336,0.0,0.0,-0.0953358071431997,-0.660157584780009,0.745052378785398,0.0,0.106491057022322,0.737402672837608,0.667005961642188,0.0,680094.759938871,4709350.32278489,4231252.07610948,1.0]}} |
| | |
| | | return this.timestamp && global.map ? global.map.models : []; |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.beginSet() |
| | | }, |
| | | methods: { |
| | | beginSet() { |
| | | this.focusHandle(this.models[0].id) |
| | | }, |
| | | editHandle(model) { |
| | | if (!global.map) return; |
| | | this.model = { |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { addMap } from '@/api/fourColorMap' |
| | | import { global } from '../../global'; |
| | | |
| | | // 默认样式 |
| | |
| | | }, |
| | | showCreatePanel: false, |
| | | showPlot: true, |
| | | form:{ |
| | | id:'', |
| | | etype:1, |
| | | "type": "Feature", |
| | | "properties": { |
| | | "type": "polygon", |
| | | "style": { "text": "D号楼", "clampToGround": true }, |
| | | "attr": { |
| | | "name": "D号楼", |
| | | "id": "8a65b4df-2450-4dab-958d-fbd182cfd92d" |
| | | } |
| | | }, |
| | | "geometry": { |
| | | "type": "Polygon", |
| | | "coordinates": [ |
| | | [ |
| | | [120.728524, 31.258178, 0], |
| | | [120.727911, 31.257992, 0], |
| | | [120.728024, 31.25772, 0], |
| | | [120.727986, 31.2577, 0], |
| | | [120.728039, 31.257535, 0], |
| | | [120.728759, 31.257714, 0], |
| | | [120.728524, 31.258178, 0], |
| | | [120.728524, 31.258178, 0], |
| | | [120.728524, 31.258178, 0] |
| | | ] |
| | | ] |
| | | } |
| | | }, |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | name: '', |
| | | }; |
| | | }, |
| | | createHandle() { |
| | | async createHandle() { |
| | | // debugger |
| | | // this.form.geometry = JSON.stringify(this.form.geometry) |
| | | // this.form.properties = JSON.stringify(this.form.properties) |
| | | // let res = await addMap(this.form) |
| | | if (!global.map) return; |
| | | let map = global.map; |
| | | const { id, name } = this.label; |
| | |
| | | name, |
| | | }, |
| | | }, |
| | | () => { |
| | | (entity) => { |
| | | this._initLabel(); |
| | | this.$store.dispatch('map/updateTimestamp'); |
| | | this.form = { |
| | | id:'', |
| | | etype:1, |
| | | "type": "Feature", |
| | | "properties": |
| | | JSON.stringify(entity.attribute), |
| | | "geometry": JSON.stringify({ |
| | | "type": "Polygon", |
| | | "coordinates": [ |
| | | |
| | | wutu3d.draw.attr.getCoordinates(entity) |
| | | |
| | | ] |
| | | }) |
| | | } |
| | | addMap(this.form).then(res =>{ |
| | | if(res.data.code === '200'){ |
| | | this.$message({ |
| | | type:'success', |
| | | duration:2000, |
| | | title:'成功', |
| | | message:'四色图新增成功', |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | ); |
| | | } |
| | |
| | | return roles.some(role => permissionRoles.indexOf(role) >= 0) |
| | | } |
| | | |
| | | const whiteList = ['/login', '/auth-redirect','/agreement','/register','/productionEquipment','/instrumentData','/equipmentAlarm'] // no redirect whitelist |
| | | const whiteList = ['/login','/pwdChange', '/auth-redirect','/agreement','/register','/productionEquipment','/instrumentData','/equipmentAlarm'] // no redirect whitelist |
| | | |
| | | router.beforeEach((to, from, next) => { |
| | | NProgress.start() // start progress bar |
| | |
| | | hidden: true |
| | | }, |
| | | { |
| | | path: '/pwdChange', |
| | | // 密码变更 |
| | | component: () => import('@/views/login/pwdChange'), |
| | | hidden: true |
| | | }, |
| | | { |
| | | path: '/', |
| | | component: Layout, |
| | | redirect: '/workPlan/workPlan/reserve', |
| | | redirect: '/specialWorkManage/index/specialWorkManage/workPlan/index/specialWorkManage/workPlan/reserve', |
| | | children: [ |
| | | { |
| | | path: 'dashboard', |
| | | component: () => import('@/views/workPlan/reserve'), |
| | | component: () => import('@/views/specialWorkManage/workPlan/reserve'), |
| | | name: 'Dashboard1', |
| | | meta: { title: '首页', icon: 'el-icon-dash', noCache: true, affix: true } |
| | | } |
对比新文件 |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-dialog title="巡检记录详情" :visible.sync="inspectionRecordFormVisible" append-to-body :close-on-click-modal="false" width="40%"> |
| | | <el-form ref="inspectionRecordForm" :model="inspectionRecordForm" label-position="right" label-width="120px"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="任务名称" prop="title"> |
| | | <el-input v-model="inspectionRecordForm.title" class="analyseUnit_input" :disabled="ifShow"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="检查类型" prop="type"> |
| | | <el-select v-model="inspectionRecordForm.type" class="analyseUnit_input" :disabled="ifShow"> |
| | | <el-option |
| | | v-for="item in typeList" |
| | | :key=item.id |
| | | :label=item.name |
| | | :value=item.id |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="任务名称" prop="noticeUname"> |
| | | <el-input v-model="inspectionRecordForm.noticeUname" class="analyseUnit_input" :disabled="ifShow"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="检查类型" prop="execUname"> |
| | | <el-input v-model="inspectionRecordForm.execUname" class="analyseUnit_input" :disabled="ifShow"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="巡检开始时间" prop="startTime"> |
| | | <el-date-picker v-model="inspectionRecordForm.execUname" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="周期开始时间" class="analyseUnit_input" :disabled="ifShow" ></el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="巡检结束时间" prop="startTime"> |
| | | <el-date-picker v-model="inspectionRecordForm.execUname" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="周期开始时间" class="analyseUnit_input" :disabled="ifShow"></el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="巡检提交时间" prop="execUname"> |
| | | <el-date-picker v-model="inspectionRecordForm.execUname" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="周期开始时间" class="analyseUnit_input" :disabled="ifShow"></el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="任务状态" prop="status"> |
| | | <el-select v-model="inspectionRecordForm.status" class="analyseUnit_input" :disabled="ifShow"> |
| | | <el-option |
| | | v-for="item in statusList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-dialog> |
| | | <el-dialog title="巡检单元详情" :visible.sync="inspectionRecordDetailFormVisible" append-to-body :close-on-click-modal="false" width="30%"> |
| | | <el-form ref="inspectionRecordDetailForm" :model="inspectionRecordDetailForm" label-position="right" label-width="120px"> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="隐患排查内容" prop="content"> |
| | | <el-input v-model="inspectionRecordDetailForm.content" class="input" :disabled="ifShow"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="上报说明" prop="info"> |
| | | <el-input v-model="inspectionRecordDetailForm.info" class="input" :disabled="ifShow"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="上报照片" prop="img"> |
| | | <el-input v-model="inspectionRecordDetailForm.img" class="input" :disabled="ifShow"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="状态" prop="status"> |
| | | <el-select v-model="inspectionRecordDetailForm.status" class="input" :disabled="ifShow"> |
| | | <el-option |
| | | v-for="item in statusList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: "detail", |
| | | data(){ |
| | | return{ |
| | | inspectionRecordForm:{}, |
| | | inspectionRecordFormVisible:false, |
| | | inspectionRecordDetailForm:{}, |
| | | inspectionRecordDetailFormVisible:false, |
| | | ifShow:true, |
| | | typeList:[{id:1,name:'日常检查'},{id:2,name:'周期检查'}], |
| | | statusList:[{id:1,name:'待巡检'},{id:2,name:'巡检中'},{id:3,name:'已完成'},{id:4,name:'超时未巡检'},{id:5,name:'已取消'}], |
| | | } |
| | | }, |
| | | components:{ |
| | | |
| | | }, |
| | | methods:{ |
| | | showInspectionRecordForm(value) { |
| | | this.inspectionRecordFormVisible = true |
| | | this.inspectionRecordForm = JSON.parse(JSON.stringify(value)) |
| | | }, |
| | | showInspectionRecordDetailForm(value) { |
| | | this.inspectionRecordDetailFormVisible = true |
| | | this.inspectionRecordDetailForm = value |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | /deep/.filter-container{ |
| | | padding-left: 0px !important; |
| | | } |
| | | .analyseUnit_input{ |
| | | width:200px; |
| | | } |
| | | .input{ |
| | | width:400px; |
| | | } |
| | | </style> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="隐患排查内容" prop="content" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="巡检内容" prop="info" align="center"> |
| | | <el-table-column label="上报说明" prop="info" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="巡检照片" prop="img" align="center"> |
| | | <el-table-column label="上报照片" prop="img" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="状态" prop="status" align="center"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.status | parseStatusList}} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="showMeasureDetail(scope.row)">详情</el-button> |
| | | <el-button type="text" @click="showInspectionRecordDetailForm(scope.row)">详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="巡检人" prop="execUname" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="巡检开始时间" prop="execUname" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="巡检结束时间" prop="execUname" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="巡检提交时间" prop="execUname" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="任务状态" prop="status" align="center"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.status | parseStatus}} |
| | |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="showInspectionRecordForm(scope.row,'编辑')">查看</el-button> |
| | | <el-button type="text" @click="showInspectionRecordDetailForm(scope.row,'编辑')">查看</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <el-button @click="unitFormVisible = false">取消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <detail ref="detail"></detail> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import detail from './components/detail.vue' |
| | | import { mapGetters } from 'vuex' |
| | | import { computePageCount } from '@/utils' |
| | | import { getInspectionRecord } from '@/api/inspectionTask' |
| | | import {getAllDepartment, getDepartmentList} from "../../../../api/departmentManage"; |
| | | import {safetyInspectionItemName} from "../../../../api/safetySelfInspection"; |
| | | export default { |
| | | components: { detail }, |
| | | name: 'index', |
| | | filters: { |
| | | parseType(type){ |
| | |
| | | return "任务关闭" |
| | | } |
| | | }, |
| | | parseStatusList(status) { |
| | | if(status === 1){ |
| | | return "待巡检" |
| | | }else if(status === 2) { |
| | | return "巡检中" |
| | | }else if(status === 3) { |
| | | return "已完成" |
| | | }else if(status === 4) { |
| | | return "超时未巡检" |
| | | }else{ |
| | | return "已取消" |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapGetters([ |
| | |
| | | }, |
| | | } |
| | | }, |
| | | components: { |
| | | detail |
| | | }, |
| | | created() { |
| | | this.getInspectionRecordData() |
| | | this.getDepartment() |
| | | this.getUser() |
| | | }, |
| | | methods: { |
| | | async getInspectionRecordData(){ |
| | |
| | | }) |
| | | } |
| | | }, |
| | | showAnalyseUnitForm(value,type){ |
| | | this.inspectionRecordVisible = true |
| | | this.$nextTick(() =>{ |
| | | this.$refs["analyseUnitForm"].clearValidate() |
| | | }) |
| | | if(type === '新增'){ |
| | | this.title = '新增' |
| | | this.inspectionRecordData = { |
| | | |
| | | } |
| | | async getUser(){ |
| | | let res = await safetyInspectionItemName() |
| | | if(res.data.code === '200'){ |
| | | this.userList = res.data.result |
| | | }else{ |
| | | this.title = '修改' |
| | | this.inspectionRecordData = value |
| | | this.$message({ |
| | | message:res.data.message, |
| | | type:'warning' |
| | | }) |
| | | } |
| | | }, |
| | | showInspectionRecordForm(value){ |
| | | this.$refs.detail.showInspectionRecordForm(value) |
| | | }, |
| | | showInspectionRecordDetailForm(value) { |
| | | this.$refs.detail.showInspectionRecordDetailForm(value) |
| | | }, |
| | | refreshHandle(){ |
| | | this.getInspectionRecordData() |
| | | }, |
| | |
| | | xAxis: { |
| | | type: 'category', |
| | | boundaryGap: false, |
| | | data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] |
| | | data: ['2022-4-1', '2022-4-2', '2022-4-4', '2022-4-4', '2022-4-5', '2022-4-6', '2022-4-7'] |
| | | }, |
| | | yAxis: { |
| | | type: 'value' |
| | |
| | | this.drawLine() |
| | | }, |
| | | methods:{ |
| | | // setCount(val){ |
| | | // this.numData = val.map(item =>{ |
| | | // return item.num |
| | | // }) |
| | | // this.timeData = val.map(item =>{ |
| | | // return item.errorTaskIdList |
| | | // }) |
| | | // }, |
| | | async drawLine(){ |
| | | this.myChart = this.$echarts.init(document.getElementById('inspectionPerson')) |
| | | this.myChart.setOption({ |
| | |
| | | color:'#fac858', |
| | | xAxis: { |
| | | type: 'category', |
| | | data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] |
| | | data: ['2022-4-1', '2022-4-2', '2022-4-4', '2022-4-4', '2022-4-5', '2022-4-6', '2022-4-7'] |
| | | }, |
| | | yAxis: { |
| | | type: 'value' |
| | |
| | | <template> |
| | | <div id="toadyLine" style="width:90%;height:360px;margin: 0 auto;"> |
| | | <div id="inspectionUnusual" style="width:90%;height:360px;margin: 0 auto;"> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | }, |
| | | methods:{ |
| | | async drawTodayLine(){ |
| | | this.timeData = [1,2,3,4,] |
| | | this.numData = [2,5,7,9] |
| | | let myChart = this.$echarts.init(document.getElementById('toadyLine')) |
| | | this.timeData = ['2022-4-1', '2022-4-2', '2022-4-4', '2022-4-4', '2022-4-5', '2022-4-6', '2022-4-7'] |
| | | this.numData = [2,5,7,9,1,15,6] |
| | | let myChart = this.$echarts.init(document.getElementById('inspectionUnusual')) |
| | | myChart.setOption({ |
| | | xAxis: { |
| | | type: 'category', |
| | |
| | | value3:['',''], |
| | | listQuery:{ |
| | | "dateList": [ |
| | | "", |
| | | "" |
| | | ], |
| | | "endDate": "", |
| | | "execUid": null, |
| | |
| | | this.listQuery.startDate = this.value1[0] |
| | | this.listQuery.endDate = this.value1[1] |
| | | let res = await getInspectionCount(this.listQuery) |
| | | debugger |
| | | // this.$refs.inspectionPerson.setCount(res.data.result) |
| | | }, |
| | | async changeInspectionPerson() { |
| | | let res = await getInspectionCount(this.listQuery) |
| | |
| | | |
| | | <style scoped> |
| | | /deep/.el-divider--horizontal { |
| | | margin-top: 0px !important; |
| | | margin-top: 1px !important; |
| | | } |
| | | .inspectionStatistics{ |
| | | width:100%; |
| | |
| | | // content:item.riskMeasureDesc |
| | | // } |
| | | // }))) |
| | | this.inspectionPointData.push({id:value.id,content:value.riskMeasureDesc}) |
| | | this.$emit('giveToForm',this.inspectionPointData) |
| | | if(this.inspectionPointData.findIndex(item => item.id === value.id) === -1) { |
| | | this.inspectionPointData.push({id:value.id,content:value.riskMeasureDesc}) |
| | | this.$emit('giveToForm',this.inspectionPointData) |
| | | } |
| | | } |
| | | }else{ |
| | | this.controlActionForm.workId = JSON.stringify(this.inspectionTaskForm.workId) |
| | |
| | | }, |
| | | deleteById(value){ |
| | | if(this.title === '新建巡检计划设定'){ |
| | | debugger |
| | | this.inspectionPointData.splice(value,1) |
| | | }else{ |
| | | this.$confirm('删除此条措施,是否继续','提示',{ |
| | |
| | | execDepartment:'', |
| | | inspectionTaskVisible:false, |
| | | inspectionTaskFormRules:{ |
| | | hazardDep: [{ required: true, message: '责任部门不能为空', trigger: 'change' }], |
| | | hazardLiablePerson: [{ required: true, message: '责任人不能为空', trigger: 'blur' }], |
| | | hazardCode: [{ required: true, message: '安全风险分析对象编码不能为空', trigger: 'blur' }], |
| | | riskUnitName: [{ required: true, message: '安全风险分析单元名称不能为空', trigger: 'blur' }], |
| | | title: [{ required: true, message: '任务名称不能为空', trigger: 'blur' }], |
| | | type: [{ required: true, message: '检查类型不能为空', trigger: 'change' }], |
| | | intervalSeconds: [{ required: true, message: '检查频次不能为空', trigger: 'change' }], |
| | | noticeSeconds: [{ required: true, message: '提前通知时间不能为空', trigger: 'change' }], |
| | | startTime: [{ required: true, message: '周期开始时间不能为空', trigger: 'change' }], |
| | | effectSeconds: [{ required: true, message: '任务有效时间不能为空', trigger: 'change' }], |
| | | noticeUid: [{ required: true, message: '异常通知人员不能为空', trigger: 'change' }], |
| | | execUid: [{ required: true, message: '执行巡检人员不能为空', trigger: 'change' }], |
| | | }, |
| | | inspectionTaskForm:{ |
| | | type:null, |
| | |
| | | this.noticeDepartment = this.handleDepartment(JSON.parse(JSON.stringify(value)).noticeUid) |
| | | this.changeNotice() |
| | | this.execDepartment = this.handleDepartment(JSON.parse(JSON.stringify(value)).execUid) |
| | | this.changeExec() |
| | | this.changeExec() |
| | | this.inspectionTaskForm = JSON.parse(JSON.stringify(value)) |
| | | // this.inspectionTaskForm.execUid = value.execUname |
| | | // this.inspectionTaskForm.noticeUid = value.noticeUname |
| | |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'任务持续时间不能大于检查频次' |
| | | }) |
| | | }else if(this.justifyTime(this.inspectionTaskForm.startTime,this.inspectionTaskForm.noticeSeconds)){ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'周期开始时间减去当前时间和提前通知时间要大于等于半小时' |
| | | }) |
| | | }else{ |
| | | if(this.title === '新建巡检计划设定'){ |
| | |
| | | }) |
| | | |
| | | }, |
| | | justifyTime(time,interval) { |
| | | debugger |
| | | let timeStr = new Date(time.replace(/-/g,'/')) |
| | | let date = parseInt(timeStr.getTime()/1000) |
| | | let newTimeStr = new Date() |
| | | let newDate = parseInt(newTimeStr.getTime()/1000) |
| | | if(date - newDate - interval - 1800 >= 0){ |
| | | return false |
| | | }else{ |
| | | return true |
| | | } |
| | | }, |
| | | deleteById(val){ |
| | | this.$confirm('删除此条信息,是否继续','提示',{ |
| | | confirmButtonText:'确定', |
| | |
| | | }) |
| | | }, |
| | | receiveToForm(value) { |
| | | this.inspectionTaskForm.riskControlMeasureIdList = [] |
| | | this.inspectionTaskForm.riskControlMeasureIdList = value.map( item => { |
| | | return item.id |
| | | }) |
| | | // this.inspectionTaskForm.riskControlMeasureIdList = [] |
| | | // this.inspectionTaskForm.riskControlMeasureIdList = value.map( item => { |
| | | // return item.id |
| | | // }) |
| | | this.inspectionTaskForm.riskControlMeasureIdList.push({id:value.id}) |
| | | }, |
| | | refreshHandle(){ |
| | | this.getInspectionTaskData() |
| | |
| | | <template> |
| | | <div class="map-layout"> |
| | | <Map @init="init" :option="option" v-if="option" /> |
| | | <Tab v-if="loaded" /> |
| | | </div> |
| | | <router-view /> |
| | | </template> |
| | | |
| | | <script> |
| | | import Map from '../../../../components/Map'; |
| | | import Tab from '../../../../components/Tab'; |
| | | import { global } from '../../../../global'; |
| | | import { |
| | | getCatesian3FromPX, |
| | | Cartesian3_to_WGS84, |
| | | } from '../../../../components/Map/libs/Point'; |
| | | |
| | | export default { |
| | | name: 'App', |
| | | components: { |
| | | Map, |
| | | Tab, |
| | | }, |
| | | data() { |
| | | return { |
| | | loaded: false, |
| | | map: null, |
| | | option: null, |
| | | heatLayer: null, |
| | | shineishiwai: true, |
| | | }; |
| | | }, |
| | | mounted() { |
| | | // 地图配置初始化 |
| | | this.option = { |
| | | // 初始化视图中心点 |
| | | viewpoint: { |
| | | y: 31.254992, |
| | | x: 120.727592, |
| | | z: 289.24, |
| | | heading: 13.8, |
| | | pitch: -37.3, |
| | | roll: 360, |
| | | }, |
| | | |
| | | // 显示位置初始化按钮 |
| | | homeButton: true, |
| | | |
| | | // 当前时间 |
| | | currentTime: '08:30:00', |
| | | |
| | | // 影像底图 |
| | | imageryProvider: new Cesium.WebMapTileServiceImageryProvider({ |
| | | url: |
| | | 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer', |
| | | layer: '', |
| | | style: 'default', |
| | | tileMatrixSetID: 'w', |
| | | format: 'tiles', |
| | | maximumLevel: 18, |
| | | }), |
| | | }; |
| | | window.sss = this; |
| | | }, |
| | | methods: { |
| | | init(map) { |
| | | this.loaded = true; |
| | | |
| | | map.addModel({ |
| | | link: 'http://222.92.213.21:8006/zhongtaiweb/tileset.json', |
| | | name: '商业园区', |
| | | callback: tileset => { |
| | | var boundingSphere = tileset.boundingSphere; |
| | | var cartographic = Cesium.Cartographic.fromCartesian( |
| | | boundingSphere.center |
| | | ); |
| | | var surface = Cesium.Cartesian3.fromRadians( |
| | | cartographic.longitude, |
| | | cartographic.latitude, |
| | | 0.0 |
| | | ); |
| | | var offset = Cesium.Cartesian3.fromRadians( |
| | | cartographic.longitude, |
| | | cartographic.latitude, |
| | | 102 |
| | | ); |
| | | var translation = Cesium.Cartesian3.subtract( |
| | | offset, |
| | | surface, |
| | | new Cesium.Cartesian3() |
| | | ); |
| | | tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation); |
| | | }, |
| | | }); |
| | | |
| | | map.viewer.scene.globe.baseColor = Cesium.Color.fromCssColorString( |
| | | '#050F1F' |
| | | ); |
| | | map.viewer.scene.logarithmicDepthBuffer = false; |
| | | map.viewer.scene.globe.enableLighting = true; |
| | | map.viewer.scene.sun.show = false; |
| | | map.viewer.scene.moon.show = false; |
| | | map.viewer.scene.fog.enabled = false; |
| | | map.viewer.scene.skyBox = null; |
| | | |
| | | // 初始化事件 |
| | | this.initEvent(map); |
| | | |
| | | this.testLoadedData(); |
| | | }, |
| | | // 加载测试数据 |
| | | testLoadedData() { |
| | | const map = global.map; |
| | | if (!map) return; |
| | | $.get('./public/data/plots_namisuo.geojson', res => { |
| | | map.loadGeoJSON(res); |
| | | }); |
| | | }, |
| | | initEvent(map) { |
| | | let popup = null; |
| | | const _this = this; |
| | | map.on( |
| | | 'click', |
| | | ({ |
| | | position, |
| | | cartesian3, |
| | | latLngPositionGlobe, |
| | | latLngPosition, |
| | | entity, |
| | | attr, |
| | | }) => { |
| | | if (popup) { |
| | | popup.destroy(); |
| | | popup = null; |
| | | } |
| | | let type = entity && entity.attribute && entity.attribute.type; |
| | | if (type) { |
| | | popup = new wutu3d.DivPoint(map.viewer, { |
| | | html: |
| | | "<div class='popup-wrapper'>" + |
| | | attr.name + |
| | | '<br/><br/>XXXXXXXX</div>', |
| | | position: cartesian3, |
| | | anchor: [-170, -80], |
| | | }); |
| | | popup.visible = true; |
| | | } |
| | | if (attr.name && attr.name === '含内景大楼') { |
| | | _this.changeModel(!_this.shineishiwai); |
| | | _this.shineishiwai = !_this.shineishiwai; |
| | | } |
| | | |
| | | const pos = getCatesian3FromPX(position, map.viewer); |
| | | const pos1 = Cartesian3_to_WGS84(pos); |
| | | console.log(pos1); |
| | | |
| | | var pt = turf.point([Number(pos1.lng), Number(pos1.lat)]); |
| | | var poly = turf.polygon([ |
| | | [ |
| | | [120.159277, 30.227512], |
| | | [120.158919, 30.227569], |
| | | [120.158777, 30.227431], |
| | | [120.158904, 30.227151], |
| | | [120.15911, 30.227119], |
| | | [120.159339, 30.227347], |
| | | [120.159277, 30.227512], |
| | | ], |
| | | ]); |
| | | |
| | | const inPoly = turf.booleanPointInPolygon(pt, poly); |
| | | |
| | | if ( |
| | | //自己测量对应建筑的空间范围 |
| | | inPoly && |
| | | pos1.alt > 0 && //20.562718744748462 |
| | | pos1.alt < 121.7 |
| | | ) { |
| | | _this.changeModel(!_this.shineishiwai); |
| | | _this.shineishiwai = !_this.shineishiwai; |
| | | } |
| | | } |
| | | ); |
| | | // map.on( |
| | | // 'mousemove', |
| | | // ({ cartesian3, latLngPositionGlobe, latLngPosition, entity, attr }) => { |
| | | // if (popup) { |
| | | // popup.destroy(); |
| | | // popup = null; |
| | | // } |
| | | // let type = entity && entity.attribute && entity.attribute.type; |
| | | // if (type) { |
| | | // popup = new wutu3d.DivPoint(map.viewer, { |
| | | // html: |
| | | // "<div class='popup-wrapper'>信息内容<br/><br/>XXXXXXXX</div>", |
| | | // position: cartesian3, |
| | | // anchor: [-170, -80], |
| | | // }); |
| | | // popup.visible = true; |
| | | // } |
| | | // } |
| | | // ); |
| | | }, |
| | | changeModel(val) { |
| | | console.log(val); |
| | | if (!val) { |
| | | global.map.models.map(model => { |
| | | if (model.name === '室内') { |
| | | global.map.setModelVisible(model.id, true); |
| | | global.map.flyToModel(model.id); |
| | | } else { |
| | | global.map.setModelVisible(model.id, false); |
| | | } |
| | | }); |
| | | |
| | | let viewer = global.map.viewer; |
| | | viewer.scene.skyBox = null; |
| | | viewer.scene.sun.show = false; |
| | | viewer.scene.moon.show = false; |
| | | viewer.scene.globe.show = false; |
| | | viewer.scene.logarithmicDepthBuffer = false; |
| | | viewer.scene.skyAtmosphere.show = false; |
| | | viewer.scene.backgroundColor = Cesium.Color.fromCssColorString( |
| | | 'rgba(0,0,0, 1)' |
| | | ); |
| | | } else { |
| | | global.map.models.map(model => { |
| | | if (model.name === '室内') { |
| | | global.map.setModelVisible(model.id, false); |
| | | } else { |
| | | global.map.setModelVisible(model.id, true); |
| | | } |
| | | }); |
| | | |
| | | global.map.setViewpoint( |
| | | { |
| | | y: 30.231104, |
| | | x: 120.157372, |
| | | z: 298.45, |
| | | heading: 173, |
| | | pitch: -28.8, |
| | | roll: 6.2, |
| | | }, |
| | | { duration: 1.5 } |
| | | ); |
| | | |
| | | let viewer = global.map.viewer; |
| | | viewer.scene.skyBox = null; |
| | | viewer.scene.sun.show = true; |
| | | viewer.scene.moon.show = true; |
| | | viewer.scene.globe.show = true; |
| | | viewer.scene.logarithmicDepthBuffer = true; |
| | | viewer.scene.skyAtmosphere.show = true; |
| | | viewer.scene.backgroundColor = Cesium.Color.fromCssColorString( |
| | | 'rgba(0,0,0, 1)' |
| | | ); |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .map-layout { |
| | | height: 100%; |
| | | position: relative; |
| | | } |
| | | |
| | | .tool-btns { |
| | | position: absolute; |
| | | z-index: 999; |
| | | top: 10px; |
| | | left: 500px; |
| | | } |
| | | .sn-tool { |
| | | position: absolute; |
| | | bottom: 10px; |
| | | right: 10px; |
| | | z-index: 1; |
| | | padding: 3px; |
| | | background: #fff; |
| | | } |
| | | .left-switch { |
| | | margin-right: 10px; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | |
| | | <div class="map-layout"> |
| | | <Map @init="init" :option="option" v-if="option" /> |
| | | <Tab v-if="loaded" /> |
| | | </div> |
| | | |
| | | |
| | | </template> |
| | | |
| | | <script> |
| | | import Map from '../../../../../components/Map'; |
| | | import Tab from '../../../../../components/Tab'; |
| | | import { global } from '../../../../../global'; |
| | | import { |
| | | getCatesian3FromPX, |
| | | Cartesian3_to_WGS84, |
| | | } from '../../../../../components/Map/libs/Point'; |
| | | |
| | | export default { |
| | | name: 'App', |
| | | components: { |
| | | Map, |
| | | Tab, |
| | | }, |
| | | data() { |
| | | return { |
| | | activeName:'first', |
| | | loaded: false, |
| | | map: null, |
| | | option: null, |
| | | heatLayer: null, |
| | | shineishiwai: true, |
| | | }; |
| | | }, |
| | | mounted() { |
| | | // 地图配置初始化 |
| | | this.option = { |
| | | // 初始化视图中心点 |
| | | viewpoint: { |
| | | y: 31.254992, |
| | | x: 120.727592, |
| | | z: 289.24, |
| | | heading: 13.8, |
| | | pitch: -37.3, |
| | | roll: 360, |
| | | }, |
| | | |
| | | // 显示位置初始化按钮 |
| | | homeButton: true, |
| | | |
| | | // 当前时间 |
| | | currentTime: '08:30:00', |
| | | |
| | | // 影像底图 |
| | | imageryProvider: new Cesium.WebMapTileServiceImageryProvider({ |
| | | url: |
| | | 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer', |
| | | layer: '', |
| | | style: 'default', |
| | | tileMatrixSetID: 'w', |
| | | format: 'tiles', |
| | | maximumLevel: 18, |
| | | }), |
| | | }; |
| | | window.sss = this; |
| | | }, |
| | | methods: { |
| | | init(map) { |
| | | this.loaded = true; |
| | | |
| | | map.addModel({ |
| | | link: 'http://222.92.213.22:8006/b3dm130/tileset.json', |
| | | name: '130吨模型图', |
| | | callback: tileset => { |
| | | var boundingSphere = tileset.boundingSphere; |
| | | var cartographic = Cesium.Cartographic.fromCartesian( |
| | | boundingSphere.center |
| | | ); |
| | | var surface = Cesium.Cartesian3.fromRadians( |
| | | cartographic.longitude, |
| | | cartographic.latitude, |
| | | 0.0 |
| | | ); |
| | | var offset = Cesium.Cartesian3.fromRadians( |
| | | cartographic.longitude, |
| | | cartographic.latitude, |
| | | 102 |
| | | ); |
| | | var translation = Cesium.Cartesian3.subtract( |
| | | offset, |
| | | surface, |
| | | new Cesium.Cartesian3() |
| | | ); |
| | | tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation); |
| | | }, |
| | | }); |
| | | |
| | | map.viewer.scene.globe.baseColor = Cesium.Color.fromCssColorString( |
| | | '#050F1F' |
| | | ); |
| | | map.viewer.scene.logarithmicDepthBuffer = false; |
| | | map.viewer.scene.globe.enableLighting = true; |
| | | map.viewer.scene.sun.show = false; |
| | | map.viewer.scene.moon.show = false; |
| | | map.viewer.scene.fog.enabled = false; |
| | | map.viewer.scene.skyBox = null; |
| | | |
| | | // 初始化事件 |
| | | this.initEvent(map); |
| | | |
| | | this.testLoadedData(); |
| | | }, |
| | | // 加载测试数据 |
| | | testLoadedData() { |
| | | const map = global.map; |
| | | if (!map) return; |
| | | $.get('./public/data/plots_namisuo.geojson', res => { |
| | | map.loadGeoJSON(res); |
| | | }); |
| | | }, |
| | | initEvent(map) { |
| | | let popup = null; |
| | | const _this = this; |
| | | map.on( |
| | | 'click', |
| | | ({ |
| | | position, |
| | | cartesian3, |
| | | latLngPositionGlobe, |
| | | latLngPosition, |
| | | entity, |
| | | attr, |
| | | }) => { |
| | | if (popup) { |
| | | popup.destroy(); |
| | | popup = null; |
| | | } |
| | | let type = entity && entity.attribute && entity.attribute.type; |
| | | if (type) { |
| | | popup = new wutu3d.DivPoint(map.viewer, { |
| | | html: |
| | | "<div class='popup-wrapper'>" + |
| | | attr.name + |
| | | '<br/><br/>XXXXXXXX</div>', |
| | | position: cartesian3, |
| | | anchor: [-170, -80], |
| | | }); |
| | | popup.visible = true; |
| | | } |
| | | if (attr.name && attr.name === '含内景大楼') { |
| | | _this.changeModel(!_this.shineishiwai); |
| | | _this.shineishiwai = !_this.shineishiwai; |
| | | } |
| | | |
| | | const pos = getCatesian3FromPX(position, map.viewer); |
| | | const pos1 = Cartesian3_to_WGS84(pos); |
| | | console.log(pos1); |
| | | |
| | | var pt = turf.point([Number(pos1.lng), Number(pos1.lat)]); |
| | | var poly = turf.polygon([ |
| | | [ |
| | | [120.159277, 30.227512], |
| | | [120.158919, 30.227569], |
| | | [120.158777, 30.227431], |
| | | [120.158904, 30.227151], |
| | | [120.15911, 30.227119], |
| | | [120.159339, 30.227347], |
| | | [120.159277, 30.227512], |
| | | ], |
| | | ]); |
| | | |
| | | const inPoly = turf.booleanPointInPolygon(pt, poly); |
| | | |
| | | if ( |
| | | //自己测量对应建筑的空间范围 |
| | | inPoly && |
| | | pos1.alt > 0 && //20.562718744748462 |
| | | pos1.alt < 121.7 |
| | | ) { |
| | | _this.changeModel(!_this.shineishiwai); |
| | | _this.shineishiwai = !_this.shineishiwai; |
| | | } |
| | | } |
| | | ); |
| | | // map.on( |
| | | // 'mousemove', |
| | | // ({ cartesian3, latLngPositionGlobe, latLngPosition, entity, attr }) => { |
| | | // if (popup) { |
| | | // popup.destroy(); |
| | | // popup = null; |
| | | // } |
| | | // let type = entity && entity.attribute && entity.attribute.type; |
| | | // if (type) { |
| | | // popup = new wutu3d.DivPoint(map.viewer, { |
| | | // html: |
| | | // "<div class='popup-wrapper'>信息内容<br/><br/>XXXXXXXX</div>", |
| | | // position: cartesian3, |
| | | // anchor: [-170, -80], |
| | | // }); |
| | | // popup.visible = true; |
| | | // } |
| | | // } |
| | | // ); |
| | | }, |
| | | changeModel(val) { |
| | | console.log(val); |
| | | if (!val) { |
| | | global.map.models.map(model => { |
| | | if (model.name === '室内') { |
| | | global.map.setModelVisible(model.id, true); |
| | | global.map.flyToModel(model.id); |
| | | } else { |
| | | global.map.setModelVisible(model.id, false); |
| | | } |
| | | }); |
| | | |
| | | let viewer = global.map.viewer; |
| | | viewer.scene.skyBox = null; |
| | | viewer.scene.sun.show = false; |
| | | viewer.scene.moon.show = false; |
| | | viewer.scene.globe.show = false; |
| | | viewer.scene.logarithmicDepthBuffer = false; |
| | | viewer.scene.skyAtmosphere.show = false; |
| | | viewer.scene.backgroundColor = Cesium.Color.fromCssColorString( |
| | | 'rgba(0,0,0, 1)' |
| | | ); |
| | | } else { |
| | | global.map.models.map(model => { |
| | | if (model.name === '室内') { |
| | | global.map.setModelVisible(model.id, false); |
| | | } else { |
| | | global.map.setModelVisible(model.id, true); |
| | | } |
| | | }); |
| | | |
| | | global.map.setViewpoint( |
| | | { |
| | | y: 30.231104, |
| | | x: 120.157372, |
| | | z: 298.45, |
| | | heading: 173, |
| | | pitch: -28.8, |
| | | roll: 6.2, |
| | | }, |
| | | { duration: 1.5 } |
| | | ); |
| | | |
| | | let viewer = global.map.viewer; |
| | | viewer.scene.skyBox = null; |
| | | viewer.scene.sun.show = true; |
| | | viewer.scene.moon.show = true; |
| | | viewer.scene.globe.show = true; |
| | | viewer.scene.logarithmicDepthBuffer = true; |
| | | viewer.scene.skyAtmosphere.show = true; |
| | | viewer.scene.backgroundColor = Cesium.Color.fromCssColorString( |
| | | 'rgba(0,0,0, 1)' |
| | | ); |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .map-layout { |
| | | height: 820px;; |
| | | position: relative; |
| | | } |
| | | |
| | | .tool-btns { |
| | | position: absolute; |
| | | z-index: 999; |
| | | top: 10px; |
| | | left: 500px; |
| | | } |
| | | .sn-tool { |
| | | position: absolute; |
| | | bottom: 10px; |
| | | right: 10px; |
| | | z-index: 1; |
| | | padding: 3px; |
| | | background: #fff; |
| | | } |
| | | .left-switch { |
| | | margin-right: 10px; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | |
| | | <div class="map-layout"> |
| | | <Map @init="init" :option="option" v-if="option" /> |
| | | <Tab v-if="loaded" /> |
| | | </div> |
| | | |
| | | |
| | | </template> |
| | | |
| | | <script> |
| | | import Map from '../../../../../components/Map'; |
| | | import Tab from '../../../../../components/Tab'; |
| | | import { global } from '../../../../../global'; |
| | | import { |
| | | getCatesian3FromPX, |
| | | Cartesian3_to_WGS84, |
| | | } from '../../../../../components/Map/libs/Point'; |
| | | import { getMap } from '@/api/fourColorMap' |
| | | export default { |
| | | name: 'App', |
| | | components: { |
| | | Map, |
| | | Tab, |
| | | }, |
| | | data() { |
| | | return { |
| | | activeName:'first', |
| | | loaded: false, |
| | | map: null, |
| | | option: null, |
| | | heatLayer: null, |
| | | shineishiwai: true, |
| | | }; |
| | | }, |
| | | mounted() { |
| | | // 地图配置初始化 |
| | | this.option = { |
| | | // 初始化视图中心点 |
| | | viewpoint: { |
| | | y: 31.254992, |
| | | x: 120.727592, |
| | | z: 289.24, |
| | | heading: 13.8, |
| | | pitch: -37.3, |
| | | roll: 360, |
| | | }, |
| | | |
| | | // 显示位置初始化按钮 |
| | | homeButton: true, |
| | | |
| | | // 当前时间 |
| | | currentTime: '08:30:00', |
| | | |
| | | // 影像底图 |
| | | imageryProvider: new Cesium.WebMapTileServiceImageryProvider({ |
| | | url: |
| | | 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer', |
| | | layer: '', |
| | | style: 'default', |
| | | tileMatrixSetID: 'w', |
| | | format: 'tiles', |
| | | maximumLevel: 18, |
| | | }), |
| | | }; |
| | | window.sss = this; |
| | | }, |
| | | methods: { |
| | | init(map) { |
| | | this.loaded = true; |
| | | |
| | | map.addModel({ |
| | | link: 'http://222.92.213.22:8006/b3dm60/tileset.json', |
| | | name: '60吨模型图', |
| | | callback: tileset => { |
| | | var boundingSphere = tileset.boundingSphere; |
| | | var cartographic = Cesium.Cartographic.fromCartesian( |
| | | boundingSphere.center |
| | | ); |
| | | var surface = Cesium.Cartesian3.fromRadians( |
| | | cartographic.longitude, |
| | | cartographic.latitude, |
| | | 0.0 |
| | | ); |
| | | var offset = Cesium.Cartesian3.fromRadians( |
| | | cartographic.longitude, |
| | | cartographic.latitude, |
| | | 102 |
| | | ); |
| | | var translation = Cesium.Cartesian3.subtract( |
| | | offset, |
| | | surface, |
| | | new Cesium.Cartesian3() |
| | | ); |
| | | tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation); |
| | | }, |
| | | }); |
| | | |
| | | map.viewer.scene.globe.baseColor = Cesium.Color.fromCssColorString( |
| | | '#050F1F' |
| | | ); |
| | | map.viewer.scene.logarithmicDepthBuffer = false; |
| | | map.viewer.scene.globe.enableLighting = true; |
| | | map.viewer.scene.sun.show = false; |
| | | map.viewer.scene.moon.show = false; |
| | | map.viewer.scene.fog.enabled = false; |
| | | map.viewer.scene.skyBox = null; |
| | | |
| | | // 初始化事件 |
| | | this.initEvent(map); |
| | | |
| | | this.testLoadedData(); |
| | | }, |
| | | // 加载测试数据 |
| | | testLoadedData() { |
| | | const map = global.map; |
| | | if (!map) return; |
| | | let params = {} |
| | | params['eType'] = 1 |
| | | getMap(params).then(res =>{ |
| | | const list = res.data.result.map(item =>{ |
| | | return{ |
| | | type:item.type, |
| | | geometry:JSON.parse(item.geometry), |
| | | properties:JSON.parse(item.properties) |
| | | } |
| | | }) |
| | | const fourMapList = { |
| | | "type": "FeatureCollection", |
| | | "features": list |
| | | } |
| | | debugger |
| | | map.loadGeoJSON(fourMapList) |
| | | }) |
| | | }, |
| | | initEvent(map) { |
| | | let popup = null; |
| | | const _this = this; |
| | | map.on( |
| | | 'click', |
| | | ({ |
| | | position, |
| | | cartesian3, |
| | | latLngPositionGlobe, |
| | | latLngPosition, |
| | | entity, |
| | | attr, |
| | | }) => { |
| | | if (popup) { |
| | | popup.destroy(); |
| | | popup = null; |
| | | } |
| | | |
| | | let type = entity && entity.attribute && entity.attribute.type; |
| | | if (type) { |
| | | popup = new wutu3d.DivPoint(map.viewer, { |
| | | html: |
| | | "<div class='popup-wrapper'>" + |
| | | attr.name + |
| | | '<br/><br/>XXXXXXXX</div>', |
| | | position: cartesian3, |
| | | anchor: [-170, -80], |
| | | }); |
| | | popup.visible = true; |
| | | } |
| | | if (attr.name && attr.name === '含内景大楼') { |
| | | _this.changeModel(!_this.shineishiwai); |
| | | _this.shineishiwai = !_this.shineishiwai; |
| | | } |
| | | |
| | | const pos = getCatesian3FromPX(position, map.viewer); |
| | | const pos1 = Cartesian3_to_WGS84(pos); |
| | | |
| | | var pt = turf.point([Number(pos1.lng), Number(pos1.lat)]); |
| | | var poly = turf.polygon([ |
| | | [ |
| | | [120.159277, 30.227512], |
| | | [120.158919, 30.227569], |
| | | [120.158777, 30.227431], |
| | | [120.158904, 30.227151], |
| | | [120.15911, 30.227119], |
| | | [120.159339, 30.227347], |
| | | [120.159277, 30.227512], |
| | | ], |
| | | ]); |
| | | |
| | | const inPoly = turf.booleanPointInPolygon(pt, poly); |
| | | |
| | | if ( |
| | | //自己测量对应建筑的空间范围 |
| | | inPoly && |
| | | pos1.alt > 0 && //20.562718744748462 |
| | | pos1.alt < 121.7 |
| | | ) { |
| | | _this.changeModel(!_this.shineishiwai); |
| | | _this.shineishiwai = !_this.shineishiwai; |
| | | } |
| | | } |
| | | ); |
| | | // map.on( |
| | | // 'mousemove', |
| | | // ({ cartesian3, latLngPositionGlobe, latLngPosition, entity, attr }) => { |
| | | // if (popup) { |
| | | // popup.destroy(); |
| | | // popup = null; |
| | | // } |
| | | // let type = entity && entity.attribute && entity.attribute.type; |
| | | // if (type) { |
| | | // popup = new wutu3d.DivPoint(map.viewer, { |
| | | // html: |
| | | // "<div class='popup-wrapper'>信息内容<br/><br/>XXXXXXXX</div>", |
| | | // position: cartesian3, |
| | | // anchor: [-170, -80], |
| | | // }); |
| | | // popup.visible = true; |
| | | // } |
| | | // } |
| | | // ); |
| | | }, |
| | | changeModel(val) { |
| | | console.log(val); |
| | | if (!val) { |
| | | global.map.models.map(model => { |
| | | if (model.name === '室内') { |
| | | global.map.setModelVisible(model.id, true); |
| | | global.map.flyToModel(model.id); |
| | | } else { |
| | | global.map.setModelVisible(model.id, false); |
| | | } |
| | | }); |
| | | |
| | | let viewer = global.map.viewer; |
| | | viewer.scene.skyBox = null; |
| | | viewer.scene.sun.show = false; |
| | | viewer.scene.moon.show = false; |
| | | viewer.scene.globe.show = false; |
| | | viewer.scene.logarithmicDepthBuffer = false; |
| | | viewer.scene.skyAtmosphere.show = false; |
| | | viewer.scene.backgroundColor = Cesium.Color.fromCssColorString( |
| | | 'rgba(0,0,0, 1)' |
| | | ); |
| | | } else { |
| | | global.map.models.map(model => { |
| | | if (model.name === '室内') { |
| | | global.map.setModelVisible(model.id, false); |
| | | } else { |
| | | global.map.setModelVisible(model.id, true); |
| | | } |
| | | }); |
| | | |
| | | global.map.setViewpoint( |
| | | { |
| | | y: 30.231104, |
| | | x: 120.157372, |
| | | z: 298.45, |
| | | heading: 173, |
| | | pitch: -28.8, |
| | | roll: 6.2, |
| | | }, |
| | | { duration: 1.5 } |
| | | ); |
| | | |
| | | let viewer = global.map.viewer; |
| | | viewer.scene.skyBox = null; |
| | | viewer.scene.sun.show = true; |
| | | viewer.scene.moon.show = true; |
| | | viewer.scene.globe.show = true; |
| | | viewer.scene.logarithmicDepthBuffer = true; |
| | | viewer.scene.skyAtmosphere.show = true; |
| | | viewer.scene.backgroundColor = Cesium.Color.fromCssColorString( |
| | | 'rgba(0,0,0, 1)' |
| | | ); |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .map-layout { |
| | | height: 850px;; |
| | | position: relative; |
| | | } |
| | | |
| | | .tool-btns { |
| | | position: absolute; |
| | | z-index: 999; |
| | | top: 10px; |
| | | left: 500px; |
| | | } |
| | | .sn-tool { |
| | | position: absolute; |
| | | bottom: 10px; |
| | | right: 10px; |
| | | z-index: 1; |
| | | padding: 3px; |
| | | background: #fff; |
| | | } |
| | | .left-switch { |
| | | margin-right: 10px; |
| | | } |
| | | </style> |
| | |
| | | <el-dialog :visible.sync="appDialogVisible" |
| | | :modal-append-to-body="false" :close-on-click-modal="false" |
| | | width="320px" |
| | | title="监管APP安卓版浏览器扫码下载"> |
| | | title="APP安卓版浏览器扫码下载"> |
| | | <div id="appcode" style="height: 200px;width: 200px"/> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | prefixUrl:process.env.IMG_API, |
| | | warnBJList: [], |
| | | warnBJVisible: false, |
| | | pageSize: 10, |
| | |
| | | methods: { |
| | | getAppCode(){ |
| | | const roles = this.roles |
| | | for (let role in roles){ |
| | | if(roles[role].name == '生产企业' || |
| | | roles[role].name == '销售企业'){ |
| | | this.appShow = false; |
| | | } |
| | | } |
| | | // for (let role in roles){ |
| | | // if(roles[role].name == '生产企业' || |
| | | // roles[role].name == '销售企业'){ |
| | | // this.appShow = false; |
| | | // } |
| | | // } |
| | | const _this = this |
| | | const params = {} |
| | | params['filetype'] = "监管" |
| | | params['filetype'] = "众泰APP" |
| | | newAppFile(params).then(response => { |
| | | const res = response.data; |
| | | if (res.code == 200) { |
| | | const result = res.result; |
| | | _this.appCode = result.fileurl |
| | | _this.appCode = this.prefixUrl + result.fileurl |
| | | } |
| | | }).catch(error => { |
| | | }) |
| | |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | | <div class="pwd-change-redirect"><el-link :underline="false" type="primary" @click="()=>{ this.$router.push({path:'/pwdChange'})}">忘记密码</el-link></div> |
| | | <div class="login-form-button"> |
| | | <el-button class="login-form-login-button" :loading="logingLoading" type="primary" @click.native.prevent="handleSubmit"> |
| | | <span> |
| | | 登录 |
| | | </span> |
| | | </el-button> |
| | | </div> |
| | | |
| | | <div style="padding-top: 20px" class="login-form-button"> |
| | | <el-button class="register-btn" @click="handleRegister"> |
| | | <span style="color: black">注册</span> |
| | | </el-button> |
| | | </div> |
| | | </div> |
| | |
| | | created(){ |
| | | }, |
| | | methods: { |
| | | handleRegister(){ |
| | | this.$router.push({path:'/register'}) |
| | | }, |
| | | showLoginPwd() { |
| | | if (this.loginPasswordType === 'password') { |
| | | this.loginPasswordType = '' |
| | |
| | | } |
| | | .login-form-title{ |
| | | width: 60px; |
| | | height: 143px; |
| | | height: 130px; |
| | | font-size: 30px; |
| | | font-family: PingFangSC-Medium, PingFang SC; |
| | | font-weight: 600; |
| | |
| | | } |
| | | .login-form-login-button { |
| | | width: 364px; |
| | | height: 48px; |
| | | height: 40px; |
| | | background: #4778FF; |
| | | border-radius: 4px; |
| | | } |
| | | |
| | | .register-btn{ |
| | | width: 364px; |
| | | height: 40px; |
| | | color: white; |
| | | border-radius: 4px; |
| | | } |
| | | .pwd-change-redirect{ |
| | | position: relative; |
| | | top: 10px; |
| | | right: 10px; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="register_main"> |
| | | <div class="register_main_body"> |
| | | <span class="register_main_body_span">密码重置</span> |
| | | </div> |
| | | <div class="register_main_form"> |
| | | <el-form :model="pwdForm" :rules="rules" ref="ruleForm" label-width="150px"> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="姓名" prop="username"> |
| | | <el-input v-model="pwdForm.username"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="手机号(账户)" prop="phone"> |
| | | <el-input v-model="pwdForm.phone" ref="tel"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="密码" prop="password"> |
| | | <el-input v-model="pwdForm.password"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="确认密码" prop="repassword"> |
| | | <el-input v-model="pwdForm.repassword"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | </el-row> |
| | | </el-form> |
| | | <div align="center" style="padding-bottom: 30px"> |
| | | <el-button type="primary" :disabled="submitting" @click="submit()">修改密码</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import {pwdChange} from "../../api/user"; |
| | | import {parseError} from "../../utils/messageDialog"; |
| | | |
| | | export default { |
| | | name: "register", |
| | | data(){ |
| | | return{ |
| | | submitting: false, |
| | | pwdForm:{ |
| | | username:'', |
| | | password:'', |
| | | repassword:'', |
| | | phone:'', |
| | | }, |
| | | rules:{ |
| | | username:[ |
| | | { required: true, message: '请填写姓名', trigger: 'blur' }, |
| | | ], |
| | | phone:[ |
| | | { required: true, message: '请填写手机号', trigger: 'blur' }, |
| | | ], |
| | | password:[ |
| | | { required: true, message: '请填写密码', trigger: 'blur' }, |
| | | ], |
| | | repassword:[ |
| | | { required: true, message: '请填写确认密码', trigger: 'blur' }, |
| | | ], |
| | | |
| | | |
| | | }, |
| | | } |
| | | }, |
| | | watch:{ |
| | | }, |
| | | created(){ |
| | | |
| | | }, |
| | | methods:{ |
| | | async submit(){ |
| | | if (this.pwdForm.password !== this.pwdForm.repassword) { |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'两次密码输入不一致' |
| | | }) |
| | | return |
| | | } |
| | | if (this.pwdForm.phone.length !== 11) { |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'手机号长度不为11' |
| | | }) |
| | | return |
| | | } |
| | | this.$refs["ruleForm"].validate((valid) =>{ |
| | | if(valid){ |
| | | this.register() |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'请填写基本信息' |
| | | }) |
| | | } |
| | | }); |
| | | |
| | | }, |
| | | |
| | | register(){ |
| | | this.submitting = true |
| | | pwdChange(this.pwdForm) |
| | | .then(res=>{ |
| | | if (res.data.code === '200') { |
| | | this.$message({ |
| | | type:'success', |
| | | message:'修改成功' |
| | | }) |
| | | setTimeout(()=>{ |
| | | this.$router.push({path:'/login'}) |
| | | },1000) |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }) |
| | | .catch(err=>{ |
| | | console.log(err) |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'请求超时' |
| | | }) |
| | | }) |
| | | .finally(()=>{ |
| | | this.submitting = false |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style rel="stylesheet/scss" lang="scss"> |
| | | $dark_gray:#889aa4; |
| | | .register_main{ |
| | | display: block; |
| | | width: 100%; |
| | | max-width: 1200px; |
| | | padding: 0 20px; |
| | | margin: 30px auto |
| | | } |
| | | .register_main_body{ |
| | | font-size: 24px; |
| | | } |
| | | .register_main_form{ |
| | | padding-top: 70px; |
| | | margin: 30px auto; |
| | | max-width: 800px; |
| | | display: block; |
| | | width: 100%; |
| | | } |
| | | .register_main_body_span{ |
| | | padding: 6px 5px 6px 15px; |
| | | color: $dark_gray; |
| | | vertical-align: middle; |
| | | width: 30px; |
| | | display: inline-block; |
| | | } |
| | | </style> |
| | |
| | | <span class="register_main_body_span">用户注册</span> |
| | | </div> |
| | | <div class="register_main_form"> |
| | | <el-form :model="registerForm" :rules="rules" ref="ruleForm" label-width="200px"> |
| | | <el-form :model="registerForm" :rules="rules" ref="ruleForm" label-width="150px"> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="企业名称" prop="enterprisename"> |
| | | <el-input v-model="registerForm.enterprisename" @change="checkNameAndNumber('name')"></el-input> |
| | | <el-form-item label="姓名" prop="realname"> |
| | | <el-input v-model="registerForm.realname"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4" style="margin-top:10px;" v-if="showName"> |
| | | <span style="margin-left:5px;color: red">企业名称已存在</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="企业编号" prop="enterprisenumber"> |
| | | <el-input v-model="registerForm.enterprisenumber" @change="checkNameAndNumber('number')"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4" style="margin-top:10px;" v-if="showNumber"> |
| | | <span style="margin-left:5px;color: red">企业编号已存在</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-form-item label="企业类型" prop="type"> |
| | | <el-select v-model="registerForm.type" @change="showMaterial"> |
| | | <el-option |
| | | v-for="item in typeList" |
| | | :key="item.id" |
| | | :value="item.name" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="经营范围" prop="businessrange"> |
| | | <el-input v-model="registerForm.businessrange"></el-input> |
| | | <el-form-item label="手机号(账户)" prop="username"> |
| | | <el-input v-model="registerForm.username" ref="tel"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="负责人" prop="legalperson"> |
| | | <el-input v-model="registerForm.legalperson"></el-input> |
| | | <el-form-item label="身份证" prop="idcard"> |
| | | <el-input v-model="registerForm.idcard" ref="idcard"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="负责人手机号" prop="legalpersonphone"> |
| | | <el-input v-model="registerForm.legalpersonphone"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10"> |
| | | <el-form-item label="许可证开始时间" prop="licensestart"> |
| | | <el-date-picker |
| | | value-format="yyyy-MM-dd" |
| | | type="date" |
| | | v-model="registerForm.licensestart" |
| | | placeholder="选择日期时间"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="许可证结束时间" prop="licenseend"> |
| | | <el-date-picker |
| | | value-format="yyyy-MM-dd" |
| | | type="date" |
| | | v-model="registerForm.licenseend" |
| | | placeholder="选择日期时间"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10"> |
| | | <el-form-item label="省:" prop="province"> |
| | | <el-select v-model="registerForm.province" clearable filterable @change="changeArea('province')"> |
| | | <el-option |
| | | v-for="item in provinceList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="市:" prop="city"> |
| | | <el-select v-model="registerForm.city" clearable filterable @change="changeArea('city')"> |
| | | <el-option |
| | | v-for="item in cityList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10"> |
| | | <el-form-item label="区/县:" prop="district"> |
| | | <el-select v-model="registerForm.district" clearable filterable @change="changeArea('district')"> |
| | | <el-option |
| | | v-for="item in districtList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="街道:" prop="street"> |
| | | <el-select v-model="registerForm.street" clearable filterable @change="changeArea('street')"> |
| | | <el-option |
| | | v-for="item in streetList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10"> |
| | | <el-form-item label="居委会:" prop="committee"> |
| | | <el-select v-model="registerForm.committee" clearable filterable @change="changeArea('committee')"> |
| | | <el-option |
| | | v-for="item in committeeList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="详细地址" prop="address"> |
| | | <el-input v-model="registerForm.address"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="longMaterial"> |
| | | <el-form-item label="企业营业执照、生产许可证:" prop="imgs"> |
| | | <el-upload |
| | | action="#" |
| | | list-type="picture-card" |
| | | :file-list="businessLicense" |
| | | :on-change="handleChangeOne" |
| | | :auto-upload="false"> |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" alt="" |
| | | > |
| | | <span class="el-upload-list__item-actions"> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handlePictureCardPreview(file)" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemove(file,'one')" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | </div> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row v-if="shortMaterial"> |
| | | <el-form-item label="法人身份证复印件加盖公章:" prop="imgs"> |
| | | <el-upload |
| | | action="#" |
| | | list-type="picture-card" |
| | | :file-list="idCard" |
| | | :on-change="handleChangeTwo" |
| | | :auto-upload="false"> |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" alt="" |
| | | > |
| | | <span class="el-upload-list__item-actions"> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handlePictureCardPreview(file)" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemove(file,'two')" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | </div> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-row> |
| | | <div v-if="shortMaterial"> |
| | | <el-row> |
| | | <el-col :span="10"> |
| | | <el-form-item label="有效期开始时间(主要负责人):" prop="legalpersonstart"> |
| | | <el-date-picker |
| | | value-format="yyyy-MM-dd" |
| | | type="date" |
| | | v-model="registerForm.legalpersonstart" |
| | | placeholder="选择日期时间"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="结束时间" prop="legalpersonend"> |
| | | <el-date-picker |
| | | value-format="yyyy-MM-dd" |
| | | type="date" |
| | | v-model="registerForm.legalpersonend" |
| | | placeholder="选择日期时间"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row > |
| | | <el-form-item label="主要负责人、安全生产管理人员考核合格的证明材料:" prop="imgs"> |
| | | <el-upload |
| | | action="#" |
| | | list-type="picture-card" |
| | | :file-list="legalPerson" |
| | | :on-change="handleChangeThree" |
| | | :auto-upload="false"> |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" alt="" |
| | | <el-col :span="11"> |
| | | <el-form-item label="单位:" prop="company"> |
| | | <el-select v-model.trim="registerForm.company" value-key="item" auto-complete="on" style="width:100%;" @change="companyChange"> |
| | | <el-option |
| | | v-for="item in companyList" |
| | | :key="item.id" |
| | | :value="item" |
| | | :label="item.company" |
| | | > |
| | | <span class="el-upload-list__item-actions"> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handlePictureCardPreview(file)" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemove(file,'three')" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | </div> |
| | | </el-upload> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-row> |
| | | </div> |
| | | <div v-if="produceMaterial"> |
| | | <el-row> |
| | | <el-col :span="10"> |
| | | <el-form-item label="有效期开始时间(特种人员):" prop="qualificationstart"> |
| | | <el-date-picker |
| | | value-format="yyyy-MM-dd" |
| | | type="date" |
| | | v-model="registerForm.qualificationstart" |
| | | placeholder="选择日期时间"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="结束时间" prop="qualificationend"> |
| | | <el-date-picker |
| | | value-format="yyyy-MM-dd" |
| | | type="date" |
| | | v-model="registerForm.qualificationend" |
| | | placeholder="选择日期时间"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row > |
| | | <el-form-item label="特种作业人员取得操作资格证书的证明材料,从业人员安全生产教育和培训合格的证明材料:" prop="imgs"> |
| | | <el-upload |
| | | action="#" |
| | | list-type="picture-card" |
| | | :file-list="operationQualification" |
| | | :on-change="handleChangeFour" |
| | | :auto-upload="false"> |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" alt="" |
| | | > |
| | | <span class="el-upload-list__item-actions"> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handlePictureCardPreview(file)" |
| | | </el-col> |
| | | <el-col :span="9"> |
| | | <el-form-item label="部门:" prop="department" v-if="isMain"> |
| | | <el-select v-model.trim="registerForm.department" auto-complete="on" style="width:100%;"> |
| | | <el-option |
| | | v-for="item in departmentList" |
| | | :key="item.id" |
| | | :value="item.department" |
| | | :label="item.department" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemove(file,'four')" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | </div> |
| | | </el-upload> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10"> |
| | | <el-form-item label="有效期开始时间(押运公司):" prop="escortstart"> |
| | | <el-date-picker |
| | | value-format="yyyy-MM-dd" |
| | | type="date" |
| | | v-model="registerForm.escortstart" |
| | | placeholder="选择日期时间"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="结束时间" prop="escortend"> |
| | | <el-date-picker |
| | | value-format="yyyy-MM-dd" |
| | | type="date" |
| | | v-model="registerForm.escortend" |
| | | placeholder="选择日期时间"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-form-item label="押运公司营业执照、道路运输经营许可证、危险品准运证:" prop="imgs"> |
| | | <el-upload |
| | | action="#" |
| | | list-type="picture-card" |
| | | :file-list="escortCompany" |
| | | :on-change="handleChangeFive" |
| | | :auto-upload="false"> |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" alt="" |
| | | > |
| | | <span class="el-upload-list__item-actions"> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handlePictureCardPreview(file)" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemove(file,'five')" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | </div> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-row> |
| | | </div> |
| | | <el-row v-if="shortMaterial"> |
| | | <el-form-item label="安全责任险、意外险投保材料:" prop="imgs"> |
| | | <el-upload |
| | | action="#" |
| | | list-type="picture-card" |
| | | :file-list="insurance" |
| | | :on-change="handleChangeSix" |
| | | :auto-upload="false"> |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" alt="" |
| | | > |
| | | <span class="el-upload-list__item-actions"> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handlePictureCardPreview(file)" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemove(file,'six')" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | </div> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="buyMaterial"> |
| | | <el-form-item label="安全生产标准化证书材料:" prop="imgs"> |
| | | <el-upload |
| | | action="#" |
| | | list-type="picture-card" |
| | | :file-list="safetyProduction" |
| | | :on-change="handleChangeSeven" |
| | | :auto-upload="false"> |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" alt="" |
| | | > |
| | | <span class="el-upload-list__item-actions"> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handlePictureCardPreview(file)" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemove(file,'seven')" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | </div> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <el-row> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="职位" prop="job"> |
| | | <el-input v-model="registerForm.job"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <div align="center" style="padding-bottom: 30px"> |
| | | <el-button type="primary" @click="submit()">同意协议并注册</el-button> |
| | | <el-button type="primary" :disabled="submitting" @click="submit()">同意协议并注册</el-button> |
| | | </div> |
| | | <el-dialog :visible.sync="dialogVisible"> |
| | | <img width="100%" :src="dialogImageUrl" alt=""> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import {isNameExist, isNumberExist, register} from "../../api/login"; |
| | | import {getCityListData, getProvinceListData} from "../../api/area"; |
| | | import {parseError} from "../../utils/messageDialog"; |
| | | import { getAllCompany } from '@/api/unitManage' |
| | | import { getAllDepartment } from '@/api/departmentManage' |
| | | |
| | | export default { |
| | | name: "register", |
| | | data(){ |
| | | return{ |
| | | showNumber:false, |
| | | showName:false, |
| | | shortMaterial:false, |
| | | longMaterial:false, |
| | | produceMaterial:false, |
| | | buyMaterial:false, |
| | | companyList:[], |
| | | departmentList:[], |
| | | submitting: false, |
| | | isMain:false, |
| | | registerForm:{ |
| | | enterprisename:'', |
| | | enterprisenumber:'', |
| | | username:'', |
| | | realname:'', |
| | | password:'', |
| | | type:'', |
| | | businessrange:'', |
| | | licensestart:'', |
| | | licenseend:'', |
| | | legalpersonstart:'', |
| | | legalpersonend:'', |
| | | qualificationstart:'', |
| | | qualificationend:'', |
| | | escortstart:'', |
| | | escortend:'', |
| | | legalperson:'', |
| | | legalpersonphone:'', |
| | | province:'', |
| | | city:'', |
| | | district:'', |
| | | street:'', |
| | | committee:'', |
| | | address:'', |
| | | idcard:'', |
| | | company:'', |
| | | department:'', |
| | | job:'' |
| | | }, |
| | | businessLicense:[], |
| | | idCard:[], |
| | | legalPerson:[], |
| | | operationQualification:[], |
| | | escortCompany:[], |
| | | insurance:[], |
| | | safetyProduction:[], |
| | | rules:{ |
| | | enterprisename:[ |
| | | { required: true, message: '请填写企业名称', trigger: 'blur' }, |
| | | realname:[ |
| | | { required: true, message: '请填写姓名', trigger: 'blur' }, |
| | | ], |
| | | enterprisenumber:[ |
| | | { required: true, message: '请填写企业编号', trigger: 'blur' }, |
| | | username:[ |
| | | { required: true, message: '请填写手机号', trigger: 'blur' }, |
| | | ], |
| | | password:[ |
| | | { required: true, message: '请填写密码', trigger: 'change' }, |
| | | { required: true, message: '请填写密码', trigger: 'blur' }, |
| | | ], |
| | | type:[ |
| | | { required: true, message: '请选择企业类型', trigger: 'blur' }, |
| | | idcard:[ |
| | | { required: true, message: '请填写身份证', trigger: 'blur' }, |
| | | ], |
| | | businessrange:[ |
| | | { required: true, message: '请填写经营范围', trigger: 'blur' }, |
| | | ], |
| | | legalperson:[ |
| | | { required: true, message: '请填写负责人', trigger: 'blur' }, |
| | | ], |
| | | legalpersonphone:[ |
| | | { required: true, message: '请填写负责人电话', trigger: 'blur' }, |
| | | ], |
| | | licensestart:[ |
| | | { required: true, message: '请填写许可证有效期开始日期', trigger: 'blur' }, |
| | | ], |
| | | licenseend:[ |
| | | { required: true, message: '请填写许可证有效期结束日期', trigger: 'blur' }, |
| | | ], |
| | | province:[ |
| | | { required: true, message: '请填写省', trigger: 'change' }, |
| | | ], |
| | | city:[ |
| | | { required: true, message: '请填写市', trigger: 'change' }, |
| | | ], |
| | | district:[ |
| | | { required: true, message: '请填写区', trigger: 'change' }, |
| | | ], |
| | | address:[ |
| | | { required: true, message: '请填写区', trigger: 'blur' }, |
| | | ], |
| | | legalpersonstart:[ |
| | | { required: true, message: '请填写', trigger: 'change' }, |
| | | ], |
| | | legalpersonend:[ |
| | | { required: true, message: '请填写', trigger: 'change' }, |
| | | ], |
| | | qualificationstart:[ |
| | | { required: true, message: '请填写', trigger: 'change' }, |
| | | ], |
| | | qualificationend:[ |
| | | { required: true, message: '请填写', trigger: 'change' }, |
| | | ], |
| | | escortstart:[ |
| | | { required: true, message: '请填写', trigger: 'change' }, |
| | | ], |
| | | escortend:[ |
| | | { required: true, message: '请填写', trigger: 'change' }, |
| | | company:[ |
| | | { required: true, message: '请填写单位', trigger: 'blur' }, |
| | | ], |
| | | }, |
| | | typeList:[{id:1,name:'烟花爆竹生产'},{id:2,name:'烟花爆竹批发经营'},{id:3,name:'烟花爆竹零售经营(长期)'},{id:4,name:'烟花爆竹零售经营(短期)'}], |
| | | provinceList:[], |
| | | cityList:[], |
| | | districtList: [], |
| | | streetList:[], |
| | | committeeList:[], |
| | | dialogImageUrl: '', |
| | | dialogVisible: false, |
| | | disabled: false |
| | | } |
| | | }, |
| | | watch:{ |
| | | }, |
| | | created(){ |
| | | this.getProvince() |
| | | //初始化 单位和 部门 |
| | | this.getDepartmentData() |
| | | this.getCompanyData() |
| | | }, |
| | | methods:{ |
| | | handleRemove(file,value) { |
| | | return this.$confirm(`确定移除 ${ file.name }?`,'提示',{ |
| | | confirmButtonText:'确定', |
| | | cancelButtonText:'取消', |
| | | type:'warning', |
| | | }).then(()=> { |
| | | switch (value) { |
| | | case 'one':this.businessLicense.splice(this.businessLicense.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | case 'two':this.idCard.splice(this.idCard.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | case 'three':this.legalPerson.splice(this.legalPerson.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | case 'four':this.operationQualification.splice(this.operationQualification.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | case 'five':this.escortCompany.splice(this.escortCompany.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | case 'six':this.insurance.splice(this.insurance.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | case 'seven':this.safetyProduction.splice(this.safetyProduction.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | } |
| | | }) |
| | | }, |
| | | handlePictureCardPreview(file) { |
| | | this.dialogImageUrl = file.url; |
| | | this.dialogVisible = true; |
| | | }, |
| | | handleChangeOne(file, fileList) { |
| | | this.businessLicense = fileList.slice(0); |
| | | }, |
| | | handleChangeTwo(file, fileList){ |
| | | this.idCard = fileList.slice(0); |
| | | }, |
| | | handleChangeThree(file, fileList) { |
| | | this.legalPerson = fileList.slice(0); |
| | | }, |
| | | handleChangeFour(file, fileList){ |
| | | this.operationQualification = fileList.slice(0); |
| | | }, |
| | | handleChangeFive(file, fileList) { |
| | | this.escortCompany = fileList.slice(0); |
| | | }, |
| | | handleChangeSix(file, fileList){ |
| | | this.insurance = fileList.slice(0); |
| | | }, |
| | | handleChangeSeven(file,fileList){ |
| | | this.safetyProduction = fileList.slice(0) |
| | | }, |
| | | async getProvince(){ |
| | | let res = await getProvinceListData() |
| | | if(res.data.code === "200"){ |
| | | this.provinceList = res.data.result.provinceList |
| | | } |
| | | },//获取省 |
| | | async submit(){ |
| | | this.$refs["ruleForm"].validate((valid) =>{ |
| | | if(valid){ |
| | | if(this.registerForm.type === '烟花爆竹生产' && this.businessLicense.length !== 0 && this.idCard.length !== 0 && this.legalPerson.length !== 0 && this.operationQualification.length !== 0 && this.escortCompany.length !== 0 && this.insurance.length !==0){ |
| | | this.businessLicense = this.businessLicense.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.businessLicense) |
| | | this.idCard = this.idCard.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.idCard) |
| | | this.legalPerson = this.legalPerson.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.legalPerson) |
| | | this.operationQualification = this.operationQualification.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.operationQualification) |
| | | this.escortCompany = this.escortCompany.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.escortCompany) |
| | | this.insurance = this.insurance.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.insurance) |
| | | this.safetyProduction = this.safetyProduction.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.safetyProduction) |
| | | const formData = new FormData(); |
| | | for (const i in this.registerForm) { |
| | | if ( |
| | | this.registerForm[i] != undefined && |
| | | this.registerForm[i].toString() != "" |
| | | ) { |
| | | formData.append(i, this.registerForm[i]); |
| | | } |
| | | } |
| | | if (this.businessLicense && this.businessLicense.length > 0) { |
| | | for (let i = 0; i < this.businessLicense.length; i++) |
| | | formData.append("businessLicense", this.businessLicense[i]); |
| | | } |
| | | if (this.idCard && this.idCard.length > 0) { |
| | | for (let i = 0; i < this.idCard.length; i++) |
| | | formData.append("idCard", this.idCard[i]); |
| | | } |
| | | if (this.legalPerson && this.legalPerson.length > 0) { |
| | | for (let i = 0; i < this.legalPerson.length; i++) |
| | | formData.append("legalPersonFile", this.legalPerson[i]); |
| | | } |
| | | if (this.operationQualification && this.operationQualification.length > 0) { |
| | | for (let i = 0; i < this.operationQualification.length; i++) |
| | | formData.append("operationQualification", this.operationQualification[i]); |
| | | } |
| | | if (this.escortCompany && this.escortCompany.length > 0) { |
| | | for (let i = 0; i < this.escortCompany.length; i++) |
| | | formData.append("escortCompany", this.escortCompany[i]); |
| | | } |
| | | if (this.insurance && this.insurance.length > 0) { |
| | | for (let i = 0; i < this.insurance.length; i++) |
| | | formData.append("insurance", this.insurance[i]); |
| | | } |
| | | if (this.safetyProduction && this.safetyProduction.length > 0) { |
| | | for (let i = 0; i < this.safetyProduction.length; i++) |
| | | formData.append("safetyProduction", this.safetyProduction[i]); |
| | | } |
| | | register(formData).then(res =>{ |
| | | if(res.data.code === '200'){ |
| | | this.$message({ |
| | | type:'success', |
| | | message:'注册成功', |
| | | duration:2000, |
| | | title:'成功' |
| | | }) |
| | | this.$router.push('/login') |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }).catch(error => { |
| | | parseError({error: error, vm: this}) |
| | | }) |
| | | }else if(this.registerForm.type === '烟花爆竹批发经营'&& this.businessLicense.length !== 0 && this.idCard.length !== 0 && this.legalPerson.length !== 0 && this.operationQualification.length !== 0 && this.escortCompany.length !== 0 && this.insurance.length !== 0 && this.safetyProduction.length !== 0){ |
| | | this.businessLicense = this.businessLicense.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.businessLicense) |
| | | this.idCard = this.idCard.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.idCard) |
| | | this.legalPerson = this.legalPerson.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.legalPerson) |
| | | this.operationQualification = this.operationQualification.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.operationQualification) |
| | | this.escortCompany = this.escortCompany.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.escortCompany) |
| | | this.insurance = this.insurance.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.insurance) |
| | | this.safetyProduction = this.safetyProduction.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.safetyProduction) |
| | | const formData = new FormData(); |
| | | for (const i in this.registerForm) { |
| | | if ( |
| | | this.registerForm[i] != undefined && |
| | | this.registerForm[i].toString() != "" |
| | | ) { |
| | | formData.append(i, this.registerForm[i]); |
| | | } |
| | | } |
| | | if (this.businessLicense && this.businessLicense.length > 0) { |
| | | for (let i = 0; i < this.businessLicense.length; i++) |
| | | formData.append("businessLicense", this.businessLicense[i]); |
| | | } |
| | | if (this.idCard && this.idCard.length > 0) { |
| | | for (let i = 0; i < this.idCard.length; i++) |
| | | formData.append("idCard", this.idCard[i]); |
| | | } |
| | | if (this.legalPerson && this.legalPerson.length > 0) { |
| | | for (let i = 0; i < this.legalPerson.length; i++) |
| | | formData.append("legalPersonFile", this.legalPerson[i]); |
| | | } |
| | | if (this.operationQualification && this.operationQualification.length > 0) { |
| | | for (let i = 0; i < this.operationQualification.length; i++) |
| | | formData.append("operationQualification", this.operationQualification[i]); |
| | | } |
| | | if (this.escortCompany && this.escortCompany.length > 0) { |
| | | for (let i = 0; i < this.escortCompany.length; i++) |
| | | formData.append("escortCompany", this.escortCompany[i]); |
| | | } |
| | | if (this.insurance && this.insurance.length > 0) { |
| | | for (let i = 0; i < this.insurance.length; i++) |
| | | formData.append("insurance", this.insurance[i]); |
| | | } |
| | | if (this.safetyProduction && this.safetyProduction.length > 0) { |
| | | for (let i = 0; i < this.safetyProduction.length; i++) |
| | | formData.append("safetyProduction", this.safetyProduction[i]); |
| | | } |
| | | register(formData).then(res =>{ |
| | | if(res.data.code === '200'){ |
| | | this.$message({ |
| | | type:'success', |
| | | message:'注册成功', |
| | | duration:2000, |
| | | title:'成功' |
| | | }) |
| | | this.$router.push('/login') |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }).catch(error => { |
| | | parseError({error: error, vm: this}) |
| | | }) |
| | | }else if(this.registerForm.type === '烟花爆竹零售经营(长期)' && this.businessLicense.length !== 0 && this.idCard.length !== 0 && this.legalPerson.length !== 0 && this.insurance.length !== 0){ |
| | | this.businessLicense = this.businessLicense.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.businessLicense) |
| | | this.idCard = this.idCard.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.idCard) |
| | | this.legalPerson = this.legalPerson.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.legalPerson) |
| | | this.operationQualification = this.operationQualification.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.operationQualification) |
| | | this.escortCompany = this.escortCompany.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.escortCompany) |
| | | this.insurance = this.insurance.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.insurance) |
| | | this.safetyProduction = this.safetyProduction.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.safetyProduction) |
| | | const formData = new FormData(); |
| | | for (const i in this.registerForm) { |
| | | if ( |
| | | this.registerForm[i] != undefined && |
| | | this.registerForm[i].toString() != "" |
| | | ) { |
| | | formData.append(i, this.registerForm[i]); |
| | | } |
| | | } |
| | | if (this.businessLicense && this.businessLicense.length > 0) { |
| | | for (let i = 0; i < this.businessLicense.length; i++) |
| | | formData.append("businessLicense", this.businessLicense[i]); |
| | | } |
| | | if (this.idCard && this.idCard.length > 0) { |
| | | for (let i = 0; i < this.idCard.length; i++) |
| | | formData.append("idCard", this.idCard[i]); |
| | | } |
| | | if (this.legalPerson && this.legalPerson.length > 0) { |
| | | for (let i = 0; i < this.legalPerson.length; i++) |
| | | formData.append("legalPersonFile", this.legalPerson[i]); |
| | | } |
| | | if (this.operationQualification && this.operationQualification.length > 0) { |
| | | for (let i = 0; i < this.operationQualification.length; i++) |
| | | formData.append("operationQualification", this.operationQualification[i]); |
| | | } |
| | | if (this.escortCompany && this.escortCompany.length > 0) { |
| | | for (let i = 0; i < this.escortCompany.length; i++) |
| | | formData.append("escortCompany", this.escortCompany[i]); |
| | | } |
| | | if (this.insurance && this.insurance.length > 0) { |
| | | for (let i = 0; i < this.insurance.length; i++) |
| | | formData.append("insurance", this.insurance[i]); |
| | | } |
| | | if (this.safetyProduction && this.safetyProduction.length > 0) { |
| | | for (let i = 0; i < this.safetyProduction.length; i++) |
| | | formData.append("safetyProduction", this.safetyProduction[i]); |
| | | } |
| | | register(formData).then(res =>{ |
| | | if(res.data.code === '200'){ |
| | | this.$message({ |
| | | type:'success', |
| | | message:'注册成功', |
| | | duration:2000, |
| | | title:'成功' |
| | | }) |
| | | this.$router.push('/login') |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }).catch(error => { |
| | | parseError({error: error, vm: this}) |
| | | }) |
| | | }else if(this.registerForm.type==='烟花爆竹零售经营(短期)' && this.idCard.length !== 0 && this.legalPerson.length !== 0 && this.insurance.length !== 0){ |
| | | this.businessLicense = this.businessLicense.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.businessLicense) |
| | | this.idCard = this.idCard.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.idCard) |
| | | this.legalPerson = this.legalPerson.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.legalPerson) |
| | | this.operationQualification = this.operationQualification.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.operationQualification) |
| | | this.escortCompany = this.escortCompany.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.escortCompany) |
| | | this.insurance = this.insurance.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.insurance) |
| | | this.safetyProduction = this.safetyProduction.map((item,index,arr) =>{ |
| | | return item.raw |
| | | },this.safetyProduction) |
| | | const formData = new FormData(); |
| | | for (const i in this.registerForm) { |
| | | if ( |
| | | this.registerForm[i] != undefined && |
| | | this.registerForm[i].toString() != "" |
| | | ) { |
| | | formData.append(i, this.registerForm[i]); |
| | | } |
| | | } |
| | | if (this.businessLicense && this.businessLicense.length > 0) { |
| | | for (let i = 0; i < this.businessLicense.length; i++) |
| | | formData.append("businessLicense", this.businessLicense[i]); |
| | | } |
| | | if (this.idCard && this.idCard.length > 0) { |
| | | for (let i = 0; i < this.idCard.length; i++) |
| | | formData.append("idCard", this.idCard[i]); |
| | | } |
| | | if (this.legalPerson && this.legalPerson.length > 0) { |
| | | for (let i = 0; i < this.legalPerson.length; i++) |
| | | formData.append("legalPersonFile", this.legalPerson[i]); |
| | | } |
| | | if (this.operationQualification && this.operationQualification.length > 0) { |
| | | for (let i = 0; i < this.operationQualification.length; i++) |
| | | formData.append("operationQualification", this.operationQualification[i]); |
| | | } |
| | | if (this.escortCompany && this.escortCompany.length > 0) { |
| | | for (let i = 0; i < this.escortCompany.length; i++) |
| | | formData.append("escortCompany", this.escortCompany[i]); |
| | | } |
| | | if (this.insurance && this.insurance.length > 0) { |
| | | for (let i = 0; i < this.insurance.length; i++) |
| | | formData.append("insurance", this.insurance[i]); |
| | | } |
| | | if (this.safetyProduction && this.safetyProduction.length > 0) { |
| | | for (let i = 0; i < this.safetyProduction.length; i++) |
| | | formData.append("safetyProduction", this.safetyProduction[i]); |
| | | } |
| | | register(formData).then(res =>{ |
| | | if(res.data.code === '200'){ |
| | | this.$message({ |
| | | type:'success', |
| | | message:'注册成功', |
| | | duration:2000, |
| | | title:'成功' |
| | | }) |
| | | this.$router.push('/login') |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }).catch(error => { |
| | | parseError({error: error, vm: this}) |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'请提交相关材料' |
| | | }) |
| | | } |
| | | this.register() |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | |
| | | }) |
| | | |
| | | }, |
| | | async changeArea(value){ |
| | | if(value === 'province'){ |
| | | this.registerForm.city = '' |
| | | this.registerForm.district = '' |
| | | this.registerForm.street = '' |
| | | this.registerForm.committee = '' |
| | | this.areaListQuery = { |
| | | type: 2, |
| | | parenttype: 1, |
| | | parentname: this.registerForm.province, |
| | | getDepartmentData(){ |
| | | getAllDepartment().then(res=>{ |
| | | if(res.data.code === '200'){ |
| | | this.departmentList = res.data.result |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | let res = await getCityListData(this.areaListQuery) |
| | | if(res.data.code === "200"){ |
| | | this.cityList = res.data.result |
| | | }).catch(error =>{ |
| | | parseError({error:error,vm:this}) |
| | | }) |
| | | }, |
| | | getCompanyData(){ |
| | | getAllCompany().then(res=>{ |
| | | if(res.data.code === '200'){ |
| | | this.companyList = res.data.result |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }else if(value === 'city'){ |
| | | this.registerForm.district = '' |
| | | this.registerForm.street = '' |
| | | this.registerForm.committee = '' |
| | | this.areaListQuery = { |
| | | type: 3, |
| | | parenttype: 2, |
| | | parentname: this.registerForm.city, |
| | | } |
| | | let res = await getCityListData(this.areaListQuery) |
| | | if(res.data.code === "200"){ |
| | | this.districtList = res.data.result |
| | | } |
| | | }else if(value === 'district'){ |
| | | this.registerForm.street = '' |
| | | this.registerForm.committee = '' |
| | | this.areaListQuery = { |
| | | type: 4, |
| | | parenttype: 3, |
| | | parentname: this.registerForm.district, |
| | | } |
| | | let res = await getCityListData(this.areaListQuery) |
| | | if(res.data.code === "200"){ |
| | | this.streetList = res.data.result |
| | | } |
| | | }else if(value === 'street'){ |
| | | this.registerForm.committee = '' |
| | | this.areaListQuery = { |
| | | type: 5, |
| | | parenttype: 4, |
| | | parentname: this.registerForm.street, |
| | | } |
| | | let res = await getCityListData(this.areaListQuery) |
| | | if(res.data.code === "200"){ |
| | | this.committeeList = res.data.result |
| | | } |
| | | } |
| | | },//市、镇、街道、委员会 |
| | | showMaterial(){ |
| | | if(this.registerForm.type === '烟花爆竹生产'){ |
| | | this.shortMaterial = true |
| | | this.longMaterial = true |
| | | this.produceMaterial = true |
| | | this.buyMaterial = false |
| | | }else if(this.registerForm.type === '烟花爆竹批发经营'){ |
| | | this.shortMaterial = true |
| | | this.longMaterial = true |
| | | this.produceMaterial = true |
| | | this.buyMaterial = true |
| | | }else if(this.registerForm.type === '烟花爆竹零售经营(长期)'){ |
| | | this.shortMaterial = true |
| | | this.longMaterial = true |
| | | this.produceMaterial = false |
| | | this.buyMaterial = false |
| | | }).catch(error =>{ |
| | | parseError({error:error,vm:this}) |
| | | }) |
| | | }, |
| | | companyChange(val){ |
| | | this.registerForm.company = val.company |
| | | if (val.ismain === 1) { |
| | | this.isMain = true; |
| | | }else{ |
| | | this.shortMaterial = true |
| | | this.longMaterial = false |
| | | this.produceMaterial = false |
| | | this.buyMaterial = false |
| | | this.isMain = false; |
| | | this.registerForm.department = '' |
| | | } |
| | | }, |
| | | checkNameAndNumber(value){ |
| | | if(value === 'name'){ |
| | | isNameExist(this.registerForm.enterprisename).then(res =>{ |
| | | if(res.data.code === '200'){ |
| | | if(res.data.result === true) { |
| | | this.showName = true |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '企业名称已存在', |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type:'success', |
| | | message:'企业名称可以使用' |
| | | }) |
| | | this.showName = false |
| | | } |
| | | |
| | | register(){ |
| | | this.submitting = true |
| | | register(this.registerForm) |
| | | .then(res=>{ |
| | | if (res.data.code === '200') { |
| | | this.$message({ |
| | | type:'success', |
| | | message:'注册成功' |
| | | }) |
| | | setTimeout(()=>{ |
| | | this.$router.push({path:'/login'}) |
| | | },1000) |
| | | }else{ |
| | | this.showName = false |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message, |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }).catch(error => { |
| | | parseError({error: error, vm: this}) |
| | | }) |
| | | }else if(value === 'number'){ |
| | | isNumberExist(this.registerForm.enterprisenumber).then(res =>{ |
| | | if(res.data.code === '200'){ |
| | | if(res.data.result === true) { |
| | | this.showNumber = true |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '企业编号已存在', |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type:'success', |
| | | message:'企业编号可以使用' |
| | | }) |
| | | this.showNumber = false |
| | | } |
| | | }else{ |
| | | this.showNumber = false |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message, |
| | | }) |
| | | } |
| | | }).catch(error => { |
| | | parseError({error: error, vm: this}) |
| | | .catch(err=>{ |
| | | console.log(err) |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'请求超时' |
| | | }) |
| | | }) |
| | | } |
| | | .finally(()=>{ |
| | | this.submitting = false |
| | | }) |
| | | } |
| | | } |
| | | } |
| | |
| | | .register_main_form{ |
| | | padding-top: 70px; |
| | | margin: 30px auto; |
| | | max-width: 900px; |
| | | max-width: 800px; |
| | | display: block; |
| | | width: 100%; |
| | | } |
| | |
| | | v-model="form.userId" |
| | | placeholder="请选择负责人" |
| | | style="width: 100%" |
| | | filterable |
| | | > |
| | | <el-option |
| | | v-for="item in personInCharge" |
对比新文件 |
| | |
| | | <template> |
| | | <router-view></router-view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: "index" |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <router-view></router-view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: "index" |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div> |
| | | <div style="padding-bottom: 10px"> |
| | | <el-button type="primary" @click="addEquipment">添加设备</el-button> |
| | | </div> |
| | | <el-table :data="equipmentData" border fit highlight-current-row style="width: 100%;" :header-cell-style="{'text-align':'center'}"> |
| | | <el-table-column type="index" label="序号" align="center" width="60"/> |
| | | <el-table-column prop="taskcode" label="作业编号" align="left"> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="设备名称" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.name"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="type" label="设备类型" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.type"> |
| | | <el-option |
| | | v-for="item in typeList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="num" label="设备数量" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.num"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="deleteEquipment(scope.$index)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div align="center" style="padding-top: 20px" v-if="title === '新增' || title === '编辑' || title=== '施工单位确认' || title === '施工单位信息填写' || title === '复制'"> |
| | | <el-button type="primary" @click="goNext">下一步</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getSafetyActionList } from '@/api/task' |
| | | |
| | | export default { |
| | | props:['basicInformation','title'], |
| | | name: 'index', |
| | | data(){ |
| | | return{ |
| | | typeList:[{id:1,name:'安全防护设备及工具'},{id:2,name:'安全施工防护用具'},{id:3,name:'有毒有害防护设备'},{id:4,name:'个人防护设备'},{id:5,name:'安全措施设备及工器具'}], |
| | | equipmentData:[], |
| | | } |
| | | }, |
| | | created(){ |
| | | }, |
| | | methods:{ |
| | | addEquipment(){ |
| | | this.equipmentData.push({ |
| | | createdat: "", |
| | | createdby: "", |
| | | flag: 0, |
| | | id: 0, |
| | | modifiedat: "", |
| | | modifiedby: "", |
| | | name: "", |
| | | num: "", |
| | | taskcode: this.basicInformation.code, |
| | | }) |
| | | }, |
| | | deleteEquipment(val){ |
| | | this.equipmentData.splice(val,1) |
| | | }, |
| | | goNext(){ |
| | | if(this.title === '施工单位确认'){ |
| | | this.$emit('changeToConstructionConfirm') |
| | | }else if(this.title === '施工单位信息填写'){ |
| | | this.$emit('confirmConstruction') |
| | | }else { |
| | | this.$emit('changeToCardFile') |
| | | } |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div> |
| | | <el-form ref="form" :model="fileForm" label-width="160px" label-position="right"> |
| | | <!-- <el-form-item label="事故救援预案:">--> |
| | | <!-- <el-upload--> |
| | | <!-- accept=".pdf,.jpg,.png"--> |
| | | <!-- :action="fileRoad"--> |
| | | <!-- class="upload-demo"--> |
| | | <!-- ref="upload"--> |
| | | <!-- :headers="header"--> |
| | | <!-- :data="uploadForm"--> |
| | | <!-- :on-change="handleChangeOne"--> |
| | | <!-- :auto-upload="true"--> |
| | | <!-- :on-remove="onRemove"--> |
| | | <!-- :on-success="onSuccess"--> |
| | | <!-- :on-preview="onPreview"--> |
| | | <!-- :file-list="fileListOne">--> |
| | | <!-- <el-button size="small" type="primary">点击上传</el-button>--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="作业人员身体健康:"> |
| | | <el-upload |
| | | accept=".pdf,.jpg,.png" |
| | | :action="fileRoad" |
| | | class="upload-demo" |
| | | ref="upload" |
| | | :headers="header" |
| | | :data="uploadForm" |
| | | :on-preview="onPreview" |
| | | :file-list="fileListTwo"> |
| | | <el-button size="small" type="primary" v-if="false">点击上传</el-button> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <el-form-item label="作业资质证书:" v-if="false"> |
| | | <el-upload |
| | | accept=".pdf,.jpg,.png" |
| | | :action="fileRoad" |
| | | class="upload-demo" |
| | | ref="upload" |
| | | :data="uploadForm" |
| | | :on-preview="onPreview" |
| | | :file-list="fileListThree"> |
| | | <el-button size="small" type="primary" v-if="false">点击上传</el-button> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <el-form-item label="事故救援预案:" v-if="false"> |
| | | <el-upload |
| | | accept=".pdf,.jpg,.png" |
| | | :action="fileRoad" |
| | | class="upload-demo" |
| | | ref="upload" |
| | | :headers="header" |
| | | :data="uploadForm" |
| | | :on-preview="onPreview" |
| | | :file-list="fileListOne"> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="作业人员身体健康:" v-if="ifConstruction">--> |
| | | <!-- <el-upload--> |
| | | <!-- accept=".pdf,.jpg,.png"--> |
| | | <!-- :action="fileRoad"--> |
| | | <!-- class="upload-demo"--> |
| | | <!-- ref="upload"--> |
| | | <!-- :headers="header"--> |
| | | <!-- :data="uploadForm"--> |
| | | <!-- :on-change="handleChangeTwo"--> |
| | | <!-- :auto-upload="true"--> |
| | | <!-- :on-remove="onRemove"--> |
| | | <!-- :on-success="onSuccess"--> |
| | | <!-- :on-preview="onPreview"--> |
| | | <!-- :file-list="fileListTwo">--> |
| | | <!-- <el-button size="small" type="primary">点击上传</el-button>--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="作业资质证书:" v-if="ifConstruction">--> |
| | | <!-- <el-upload--> |
| | | <!-- accept=".pdf,.jpg,.png"--> |
| | | <!-- :action="fileRoad"--> |
| | | <!-- class="upload-demo"--> |
| | | <!-- ref="upload"--> |
| | | <!-- :headers="header"--> |
| | | <!-- :data="uploadForm"--> |
| | | <!-- :on-change="handleChangeThree"--> |
| | | <!-- :on-remove="onRemove"--> |
| | | <!-- :on-success="onSuccess"--> |
| | | <!-- :auto-upload="true"--> |
| | | <!-- :on-preview="onPreview"--> |
| | | <!-- :file-list="fileListThree">--> |
| | | <!-- <el-button size="small" type="primary">点击上传</el-button>--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | </el-form> |
| | | <el-dialog :visible.sync="dialogVisible"> |
| | | <img width="100%" :src="dialogImageUrl" alt=""> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import Cookies from 'js-cookie' |
| | | import { deleteFile, getFileData } from '@/api/task' |
| | | |
| | | export default { |
| | | props:['basicInformation','title'], |
| | | name: 'index', |
| | | data(){ |
| | | return{ |
| | | ifApply:'', |
| | | ifCompany:'', |
| | | ifConstruction:'', |
| | | ifApplyButton:'', |
| | | ifCompanyButton:'', |
| | | disabled:'', |
| | | fileForm:{}, |
| | | header:{Authorization:''}, |
| | | fileRoad:process.env.BASE_API + '/task/upload', |
| | | dialogVisible:false, |
| | | dialogImageUrl:'', |
| | | riskAndDanger:[], |
| | | safetyOrganizeAction:[], |
| | | workSecurityAction:[], |
| | | fileList:[], |
| | | fileListOne:[], |
| | | fileListTwo:[], |
| | | fileListThree:[], |
| | | uploadForm:{ |
| | | taskcode:'', |
| | | type:'', |
| | | } |
| | | } |
| | | }, |
| | | mounted(){ |
| | | this.getFileList() |
| | | }, |
| | | methods:{ |
| | | async onPreview(file){ |
| | | window.open( process.env.IMG_API + file.fileurl,'_blank') |
| | | }, |
| | | async getFileList(){ |
| | | let params = {} |
| | | params["taskCode"] = this.basicInformation.code |
| | | let res = await getFileData(params) |
| | | if(res.data.code === '200'){ |
| | | this.fileList = [] |
| | | this.fileListOne = [] |
| | | this.fileListTwo = [] |
| | | this.fileListThree = [] |
| | | this.fileList = res.data.result |
| | | this.fileList.map(item =>{ |
| | | return Object.assign(item,{name:item.originalname}) |
| | | }) |
| | | for(let i in this.fileList){ |
| | | if(this.fileList[i].type === '事故救援预案'){ |
| | | this.fileListOne.push(this.fileList[i]) |
| | | } |
| | | } |
| | | for(let i in this.fileList){ |
| | | if(this.fileList[i].type === '作业人员身体健康'){ |
| | | this.fileListTwo.push(this.fileList[i]) |
| | | } |
| | | } |
| | | for(let i in this.fileList){ |
| | | if(this.fileList[i].type === '作业资质证书'){ |
| | | this.fileListThree.push(this.fileList[i]) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | submit(){ |
| | | this.uploadForm.type = "事故救援预案" |
| | | this.uploadForm.taskcode = this.basicInformation.code |
| | | this.header.Authorization = Cookies.get('token') |
| | | this.$refs.upload.submit() |
| | | }, |
| | | handlePictureCardPreview(file) { |
| | | this.dialogImageUrl = file.url; |
| | | this.dialogVisible = true; |
| | | }, |
| | | handleChangeOne(file, fileList) { |
| | | this.uploadForm.type = '事故救援预案' |
| | | this.uploadForm.taskcode = this.basicInformation.code |
| | | this.header.Authorization = Cookies.get('token') |
| | | }, |
| | | handleChangeTwo(file, fileList) { |
| | | this.uploadForm.type = '作业人员身体健康'; |
| | | this.uploadForm.taskcode = this.basicInformation.code |
| | | this.header.Authorization = Cookies.get('token') |
| | | }, |
| | | handleChangeThree(file, fileList) { |
| | | this.uploadForm.type = '作业资质证书'; |
| | | this.uploadForm.taskcode = this.basicInformation.code |
| | | this.header.Authorization = Cookies.get('token') |
| | | }, |
| | | onSuccess(response){ |
| | | if(response.code === '200'){ |
| | | this.$notify({ |
| | | type:'success', |
| | | duration:2000, |
| | | message:'上传成功', |
| | | title:'成功', |
| | | }) |
| | | this.getFileList() |
| | | } |
| | | }, |
| | | onRemove(file,fileList){ |
| | | return this.$confirm(`确定移除 ${ file.name }?`,'提示',{ |
| | | confirmButtonText:'确定', |
| | | cancelButtonText:'取消', |
| | | type:'warning', |
| | | }).then(() =>{ |
| | | let params = {} |
| | | params["id"] = file.id |
| | | deleteFile(params).then(res =>{ |
| | | if(res.data.code === '200'){ |
| | | this.$notify({ |
| | | type:'success', |
| | | duration:2000, |
| | | message:'删除成功', |
| | | title:'成功', |
| | | }) |
| | | this.getFileList() |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | goNext(){ |
| | | if(this.title === '施工单位确认'){ |
| | | this.$emit('changeToConstructionConfirm') |
| | | }else{ |
| | | this.$emit('confirmConstruction') |
| | | } |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div> |
| | | <el-form ref="form" :model="fileForm" label-width="160px" label-position="right"> |
| | | <!-- <el-form-item label="事故救援预案:">--> |
| | | <!-- <el-upload--> |
| | | <!-- accept=".pdf,.jpg,.png"--> |
| | | <!-- :action="fileRoad"--> |
| | | <!-- class="upload-demo"--> |
| | | <!-- ref="upload"--> |
| | | <!-- :headers="header"--> |
| | | <!-- :data="uploadForm"--> |
| | | <!-- :on-change="handleChangeOne"--> |
| | | <!-- :auto-upload="true"--> |
| | | <!-- :on-remove="onRemove"--> |
| | | <!-- :on-success="onSuccess"--> |
| | | <!-- :on-preview="onPreview"--> |
| | | <!-- :file-list="fileListOne">--> |
| | | <!-- <el-button size="small" type="primary">点击上传</el-button>--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="作业人员身体健康:" v-if="ifApply">--> |
| | | <!-- <el-upload--> |
| | | <!-- accept=".pdf,.jpg,.png"--> |
| | | <!-- :action="fileRoad"--> |
| | | <!-- class="upload-demo"--> |
| | | <!-- ref="upload"--> |
| | | <!-- :headers="header"--> |
| | | <!-- :data="uploadForm"--> |
| | | <!-- :on-preview="onPreview"--> |
| | | <!-- :file-list="fileListTwo">--> |
| | | <!-- <el-button size="small" type="primary" v-if="false">点击上传</el-button>--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="作业资质证书:" v-if="ifApply">--> |
| | | <!-- <el-upload--> |
| | | <!-- accept=".pdf,.jpg,.png"--> |
| | | <!-- :action="fileRoad"--> |
| | | <!-- class="upload-demo"--> |
| | | <!-- ref="upload"--> |
| | | <!-- :data="uploadForm"--> |
| | | <!-- :on-preview="onPreview"--> |
| | | <!-- :file-list="fileListThree">--> |
| | | <!-- <el-button size="small" type="primary" v-if="false">点击上传</el-button>--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="事故救援预案:" v-if="ifCompany"> |
| | | <el-upload |
| | | accept=".pdf,.jpg,.png" |
| | | :action="fileRoad" |
| | | class="upload-demo" |
| | | ref="upload" |
| | | :headers="header" |
| | | :data="uploadForm" |
| | | :on-preview="onPreview" |
| | | :file-list="fileListOne"> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <el-form-item label="作业人员身体健康:" v-if="ifConstruction"> |
| | | <el-upload |
| | | accept=".pdf,.jpg,.png" |
| | | :action="fileRoad" |
| | | class="upload-demo" |
| | | ref="upload" |
| | | :headers="header" |
| | | :data="uploadForm" |
| | | :on-change="handleChangeTwo" |
| | | :auto-upload="true" |
| | | :on-remove="onRemove" |
| | | :on-success="onSuccess" |
| | | :on-preview="onPreview" |
| | | :file-list="fileListTwo"> |
| | | <el-button size="small" type="primary">点击上传</el-button> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <el-form-item label="作业资质证书:" v-if="ifConstruction"> |
| | | <el-upload |
| | | accept=".pdf,.jpg,.png" |
| | | :action="fileRoad" |
| | | class="upload-demo" |
| | | ref="upload" |
| | | :headers="header" |
| | | :data="uploadForm" |
| | | :on-change="handleChangeThree" |
| | | :on-remove="onRemove" |
| | | :on-success="onSuccess" |
| | | :auto-upload="true" |
| | | :on-preview="onPreview" |
| | | :file-list="fileListThree"> |
| | | <el-button size="small" type="primary">点击上传</el-button> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div align="center" style="padding-top: 20px"> |
| | | <el-button type="primary" @click="goNext">下一步</el-button> |
| | | </div> |
| | | <el-dialog :visible.sync="dialogVisible"> |
| | | <img width="100%" :src="dialogImageUrl" alt=""> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import Cookies from 'js-cookie' |
| | | import { deleteFile, getFileData } from '@/api/task' |
| | | |
| | | export default { |
| | | props:['basicInformation','title'], |
| | | name: 'index', |
| | | data(){ |
| | | return{ |
| | | ifApply:'', |
| | | ifCompany:'', |
| | | ifConstruction:'', |
| | | ifApplyButton:'', |
| | | ifCompanyButton:'', |
| | | disabled:'', |
| | | fileForm:{}, |
| | | header:{Authorization:''}, |
| | | fileRoad:process.env.BASE_API + '/task/upload', |
| | | dialogVisible:false, |
| | | dialogImageUrl:'', |
| | | riskAndDanger:[], |
| | | safetyOrganizeAction:[], |
| | | workSecurityAction:[], |
| | | fileList:[], |
| | | fileListOne:[], |
| | | fileListTwo:[], |
| | | fileListThree:[], |
| | | uploadForm:{ |
| | | taskcode:'', |
| | | type:'', |
| | | } |
| | | } |
| | | }, |
| | | mounted(){ |
| | | this.getFileList() |
| | | }, |
| | | methods:{ |
| | | async onPreview(file){ |
| | | window.open( process.env.IMG_API + file.fileurl,'_blank') |
| | | }, |
| | | async getFileList(){ |
| | | let params = {} |
| | | params["taskCode"] = this.basicInformation.code |
| | | let res = await getFileData(params) |
| | | if(res.data.code === '200'){ |
| | | this.fileList = [] |
| | | this.fileListOne = [] |
| | | this.fileListTwo = [] |
| | | this.fileListThree = [] |
| | | this.fileList = res.data.result |
| | | this.fileList.map(item =>{ |
| | | return Object.assign(item,{name:item.originalname}) |
| | | }) |
| | | for(let i in this.fileList){ |
| | | if(this.fileList[i].type === '事故救援预案'){ |
| | | this.fileListOne.push(this.fileList[i]) |
| | | } |
| | | } |
| | | for(let i in this.fileList){ |
| | | if(this.fileList[i].type === '作业人员身体健康'){ |
| | | this.fileListTwo.push(this.fileList[i]) |
| | | } |
| | | } |
| | | for(let i in this.fileList){ |
| | | if(this.fileList[i].type === '作业资质证书'){ |
| | | this.fileListThree.push(this.fileList[i]) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | submit(){ |
| | | this.uploadForm.type = "事故救援预案" |
| | | this.uploadForm.taskcode = this.basicInformation.code |
| | | this.header.Authorization = Cookies.get('token') |
| | | this.$refs.upload.submit() |
| | | }, |
| | | handlePictureCardPreview(file) { |
| | | this.dialogImageUrl = file.url; |
| | | this.dialogVisible = true; |
| | | }, |
| | | handleChangeOne(file, fileList) { |
| | | this.uploadForm.type = '事故救援预案' |
| | | this.uploadForm.taskcode = this.basicInformation.code |
| | | this.header.Authorization = Cookies.get('token') |
| | | }, |
| | | handleChangeTwo(file, fileList) { |
| | | this.uploadForm.type = '作业人员身体健康'; |
| | | this.uploadForm.taskcode = this.basicInformation.code |
| | | this.header.Authorization = Cookies.get('token') |
| | | }, |
| | | handleChangeThree(file, fileList) { |
| | | this.uploadForm.type = '作业资质证书'; |
| | | this.uploadForm.taskcode = this.basicInformation.code |
| | | this.header.Authorization = Cookies.get('token') |
| | | }, |
| | | onSuccess(response){ |
| | | if(response.code === '200'){ |
| | | this.$notify({ |
| | | type:'success', |
| | | duration:2000, |
| | | message:'上传成功', |
| | | title:'成功', |
| | | }) |
| | | this.getFileList() |
| | | } |
| | | }, |
| | | onRemove(file,fileList){ |
| | | return this.$confirm(`确定移除 ${ file.name }?`,'提示',{ |
| | | confirmButtonText:'确定', |
| | | cancelButtonText:'取消', |
| | | type:'warning', |
| | | }).then(() =>{ |
| | | let params = {} |
| | | params["id"] = file.id |
| | | deleteFile(params).then(res =>{ |
| | | if(res.data.code === '200'){ |
| | | this.$notify({ |
| | | type:'success', |
| | | duration:2000, |
| | | message:'删除成功', |
| | | title:'成功', |
| | | }) |
| | | this.getFileList() |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | goNext(){ |
| | | if(this.title === '施工单位确认'){ |
| | | this.$emit('changeToConstructionConfirm') |
| | | }else{ |
| | | this.$emit('confirmConstruction') |
| | | } |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div> |
| | | <el-form ref="form" :model="fileForm" label-width="160px" label-position="right"> |
| | | <el-form-item label="事故救援预案:"> |
| | | <el-upload |
| | | accept=".pdf,.jpg,.png" |
| | | :action="fileRoad" |
| | | class="upload-demo" |
| | | ref="upload" |
| | | :headers="header" |
| | | :data="uploadForm" |
| | | :on-change="handleChangeOne" |
| | | :auto-upload="true" |
| | | :on-remove="onRemove" |
| | | :on-success="onSuccess" |
| | | :on-preview="onPreview" |
| | | :file-list="fileListOne"> |
| | | <el-button size="small" type="primary">点击上传</el-button> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="作业人员身体健康:" v-if="ifApply">--> |
| | | <!-- <el-upload--> |
| | | <!-- accept=".pdf,.jpg,.png"--> |
| | | <!-- :action="fileRoad"--> |
| | | <!-- class="upload-demo"--> |
| | | <!-- ref="upload"--> |
| | | <!-- :headers="header"--> |
| | | <!-- :data="uploadForm"--> |
| | | <!-- :on-preview="onPreview"--> |
| | | <!-- :file-list="fileListTwo">--> |
| | | <!-- <el-button size="small" type="primary" v-if="false">点击上传</el-button>--> |
| | | <!-- </el-upload>--> |
| | | <!--<!– </el-form-item>–>--> |
| | | <!-- <el-form-item label="作业资质证书:" v-if="ifApply">--> |
| | | <!-- <el-upload--> |
| | | <!-- accept=".pdf,.jpg,.png"--> |
| | | <!-- :action="fileRoad"--> |
| | | <!-- class="upload-demo"--> |
| | | <!-- ref="upload"--> |
| | | <!-- :data="uploadForm"--> |
| | | <!-- :on-preview="onPreview"--> |
| | | <!-- :file-list="fileListThree">--> |
| | | <!-- <el-button size="small" type="primary" v-if="false">点击上传</el-button>--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="事故救援预案:" v-if="ifCompany">--> |
| | | <!-- <el-upload--> |
| | | <!-- accept=".pdf,.jpg,.png"--> |
| | | <!-- :action="fileRoad"--> |
| | | <!-- class="upload-demo"--> |
| | | <!-- ref="upload"--> |
| | | <!-- :headers="header"--> |
| | | <!-- :data="uploadForm"--> |
| | | <!-- :on-preview="onPreview"--> |
| | | <!-- :file-list="fileListOne">--> |
| | | <!-- <el-button size="small" type="primary" v-if="false">点击上传</el-button>--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="作业人员身体健康:" v-if="ifCompany">--> |
| | | <!-- <el-upload--> |
| | | <!-- accept=".pdf,.jpg,.png"--> |
| | | <!-- :action="fileRoad"--> |
| | | <!-- class="upload-demo"--> |
| | | <!-- ref="upload"--> |
| | | <!-- :headers="header"--> |
| | | <!-- :data="uploadForm"--> |
| | | <!-- :on-change="handleChangeTwo"--> |
| | | <!-- :auto-upload="true"--> |
| | | <!-- :on-remove="onRemove"--> |
| | | <!-- :on-success="onSuccess"--> |
| | | <!-- :on-preview="onPreview"--> |
| | | <!-- :file-list="fileListTwo">--> |
| | | <!-- <el-button size="small" type="primary" v-if="ifCompanyButton">点击上传</el-button>--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="作业资质证书:" v-if="ifCompany">--> |
| | | <!-- <el-upload--> |
| | | <!-- accept=".pdf,.jpg,.png"--> |
| | | <!-- :action="fileRoad"--> |
| | | <!-- class="upload-demo"--> |
| | | <!-- ref="upload"--> |
| | | <!-- :headers="header"--> |
| | | <!-- :data="uploadForm"--> |
| | | <!-- :on-change="handleChangeThree"--> |
| | | <!-- :on-remove="onRemove"--> |
| | | <!-- :on-success="onSuccess"--> |
| | | <!-- :auto-upload="true"--> |
| | | <!-- :on-preview="onPreview"--> |
| | | <!-- :file-list="fileListThree">--> |
| | | <!-- <el-button size="small" type="primary" v-if="ifCompanyButton">点击上传</el-button>--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | </el-form> |
| | | <div align="center" style="padding-top: 20px"> |
| | | <el-button type="primary" @click="goNext">下一步</el-button> |
| | | </div> |
| | | <el-dialog :visible.sync="dialogVisible"> |
| | | <img width="100%" :src="dialogImageUrl" alt=""> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import Cookies from 'js-cookie' |
| | | import { deleteFile, getFileData } from '@/api/task' |
| | | |
| | | export default { |
| | | props:['basicInformation','title'], |
| | | name: 'index', |
| | | data(){ |
| | | return{ |
| | | ifApply:'', |
| | | ifCompany:'', |
| | | ifApplyButton:'', |
| | | ifCompanyButton:'', |
| | | disabled:'', |
| | | fileForm:{}, |
| | | header:{Authorization:''}, |
| | | fileRoad:process.env.BASE_API + '/task/upload', |
| | | dialogVisible:false, |
| | | dialogImageUrl:'', |
| | | riskAndDanger:[], |
| | | safetyOrganizeAction:[], |
| | | workSecurityAction:[], |
| | | fileList:[], |
| | | fileListOne:[], |
| | | fileListTwo:[], |
| | | fileListThree:[], |
| | | uploadForm:{ |
| | | taskcode:'', |
| | | type:'', |
| | | } |
| | | } |
| | | }, |
| | | mounted(){ |
| | | this.getFileList() |
| | | }, |
| | | methods:{ |
| | | async onPreview(file){ |
| | | window.open( process.env.IMG_API + file.fileurl,'_blank') |
| | | }, |
| | | async getFileList(){ |
| | | let params = {} |
| | | params["taskCode"] = this.basicInformation.code |
| | | let res = await getFileData(params) |
| | | if(res.data.code === '200'){ |
| | | this.fileList = [] |
| | | this.fileListOne = [] |
| | | this.fileListTwo = [] |
| | | this.fileListThree = [] |
| | | this.fileList = res.data.result |
| | | this.fileList.map(item =>{ |
| | | return Object.assign(item,{name:item.originalname}) |
| | | }) |
| | | for(let i in this.fileList){ |
| | | if(this.fileList[i].type === '事故救援预案'){ |
| | | this.fileListOne.push(this.fileList[i]) |
| | | } |
| | | } |
| | | for(let i in this.fileList){ |
| | | if(this.fileList[i].type === '作业人员身体健康'){ |
| | | this.fileListTwo.push(this.fileList[i]) |
| | | } |
| | | } |
| | | for(let i in this.fileList){ |
| | | if(this.fileList[i].type === '作业资质证书'){ |
| | | this.fileListThree.push(this.fileList[i]) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | submit(){ |
| | | this.uploadForm.type = "事故救援预案" |
| | | this.uploadForm.taskcode = this.basicInformation.code |
| | | this.header.Authorization = Cookies.get('token') |
| | | this.$refs.upload.submit() |
| | | }, |
| | | handlePictureCardPreview(file) { |
| | | this.dialogImageUrl = file.url; |
| | | this.dialogVisible = true; |
| | | }, |
| | | handleChangeOne(file, fileList) { |
| | | this.uploadForm.type = '事故救援预案' |
| | | this.uploadForm.taskcode = this.basicInformation.code |
| | | this.header.Authorization = Cookies.get('token') |
| | | }, |
| | | handleChangeTwo(file, fileList) { |
| | | this.uploadForm.type = '作业人员身体健康'; |
| | | this.uploadForm.taskcode = this.basicInformation.code |
| | | this.header.Authorization = Cookies.get('token') |
| | | }, |
| | | handleChangeThree(file, fileList) { |
| | | this.uploadForm.type = '作业资质证书'; |
| | | this.uploadForm.taskcode = this.basicInformation.code |
| | | this.header.Authorization = Cookies.get('token') |
| | | }, |
| | | onSuccess(response){ |
| | | if(response.code === '200'){ |
| | | console.log(this.fileListOne) |
| | | this.$notify({ |
| | | type:'success', |
| | | duration:2000, |
| | | message:'上传成功', |
| | | title:'成功', |
| | | }) |
| | | this.getFileList() |
| | | } |
| | | }, |
| | | onRemove(file,fileList){ |
| | | return this.$confirm(`确定移除 ${ file.name }?`,'提示',{ |
| | | confirmButtonText:'确定', |
| | | cancelButtonText:'取消', |
| | | type:'warning', |
| | | }).then(() =>{ |
| | | let params = {} |
| | | params["id"] = file.id |
| | | deleteFile(params).then(res =>{ |
| | | if(res.data.code === '200'){ |
| | | this.$notify({ |
| | | type:'success', |
| | | duration:2000, |
| | | message:'删除成功', |
| | | title:'成功', |
| | | }) |
| | | this.getFileList() |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | goNext(){ |
| | | if(this.title === '施工单位确认'){ |
| | | this.$emit('changeToConstructionConfirm') |
| | | }else if(this.title === '施工单位信息填写'){ |
| | | |
| | | }else { |
| | | this.$emit('confirm') |
| | | } |
| | | |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div> |
| | | <div style="padding-bottom: 10px"> |
| | | <el-button type="primary" @click="addTaskWorker">添加作业人</el-button> |
| | | </div> |
| | | <el-table :data="taskWorkers" border fit highlight-current-row style="width: 100%;" :header-cell-style="{'text-align':'center'}"> |
| | | <el-table-column type="index" label="序号" align="center" width="60"/> |
| | | <el-table-column prop="taskcode" label="作业编号" align="left"> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="作业类型" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.tasktype"> |
| | | <el-option |
| | | v-for="item in taskTypeList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="施工单位" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.unit"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="worker" label="作业人姓名" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.worker"> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.id" |
| | | :value="item.realname" |
| | | :label="item.realname" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="branch" label="特种作业工种" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.branch"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="number" label="特种作业证号" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.number"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="deleteWorker(scope.$index)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div align="center" style="padding-top: 20px" v-if="title === '新增' || title === '编辑' || title=== '施工单位确认' || title === '施工单位信息填写' || title === '复制'"> |
| | | <el-button type="primary" @click="goNext">下一步</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { userList } from '@/api/user' |
| | | |
| | | export default { |
| | | props:['basicInformation','title'], |
| | | name: 'index', |
| | | data(){ |
| | | return{ |
| | | taskWorkers:[], |
| | | workerList:[], |
| | | taskTypeList:[ |
| | | {id:0,name:'受限空间作业'}, |
| | | {id:1,name:'吊装作业'}, |
| | | {id:2,name:'动土作业'}, |
| | | {id:3,name:'断路作业'}, |
| | | {id:4,name:'高处作业'}, |
| | | {id:5,name:'临时用电作业'}, |
| | | {id:6,name:'盲板抽堵作业'}, |
| | | {id:7,name:'动火作业'}, |
| | | ], |
| | | } |
| | | }, |
| | | created(){ |
| | | this.getWorker() |
| | | }, |
| | | methods:{ |
| | | addTaskWorker(){ |
| | | this.taskWorkers.push({ |
| | | createdat: "", |
| | | createdby: "", |
| | | flag: 0, |
| | | id: 0, |
| | | modifiedat: "", |
| | | modifiedby: "", |
| | | taskcode: this.basicInformation.code, |
| | | unit: "", |
| | | worker: "", |
| | | branch: "", |
| | | number: "", |
| | | tasktype:'', |
| | | }) |
| | | }, |
| | | deleteWorker(val){ |
| | | this.taskWorkers.splice(val,1) |
| | | }, |
| | | goNext(){ |
| | | this.$emit('confirmConstruction') |
| | | }, |
| | | async getWorker(){ |
| | | let params = {} |
| | | params['pageIndex'] = 1 |
| | | params['pageSize'] = 1000 |
| | | let res = await userList(params) |
| | | if(res.data.code === '200'){ |
| | | this.workerList = res.data.result.result |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <el-dialog title="审批" :visible.sync="reviewInfoDialog" :modal-append-to-body="false" :close-on-click-modal="false" width="50%"> |
| | | <div class="block"> |
| | | <el-timeline> |
| | | <el-timeline-item |
| | | v-for="(activity, index) in activities" |
| | | :key="index" |
| | | :color="'#0bbd87'" |
| | | :size="activity.size" |
| | | :timestamp="activity.reviewat"> |
| | | <div style="padding-bottom: 10px;font-weight: bolder">{{activity.level}}</div> |
| | | <el-card> |
| | | <el-row> |
| | | <el-col :span="2"> |
| | | <div>签字:</div> |
| | | </el-col> |
| | | <el-col :span="22"> |
| | | <img :src="activity.autograph" style="width:40px;height:40px;margin-left:10px;cursor:pointer" @click="showPic(activity.autograph)"></img> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <span>现场图:</span> |
| | | <img slot="reference" v-for="(item,index) in activity.pictures" :src="item.url" :key="index" style="width:40px;height:40px;margin-left:10px;cursor:pointer" @click="showPic()"></img> |
| | | </el-row> |
| | | |
| | | </el-card> |
| | | </el-timeline-item> |
| | | </el-timeline> |
| | | </div> |
| | | <el-dialog :visible.sync="dialogVisible" :append-to-body="true"> |
| | | <img width="100%" :src="dialogImageUrl" alt=""> |
| | | </el-dialog> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'index', |
| | | data(){ |
| | | return{ |
| | | reviewInfoDialog:false, |
| | | dialogVisible:false, |
| | | dialogImageUrl:'', |
| | | activities: [] |
| | | } |
| | | }, |
| | | methods:{ |
| | | openReviewInfo(value){ |
| | | this.reviewInfoDialog = true |
| | | debugger |
| | | this.activities = JSON.parse(JSON.stringify(value.taskReviews)) |
| | | for(let i in this.activities){ |
| | | if(this.activities[i].pictures !== null && this.activities[i].pictures.length !== 0){ |
| | | this.activities[i].pictures = this.activities[i].pictures.map( item =>{ |
| | | return process.env.IMG_API + item |
| | | }) |
| | | } |
| | | this.activities[i].autograph = process.env.IMG_API + this.activities[i].autograph |
| | | } |
| | | |
| | | |
| | | }, |
| | | showPic(value){ |
| | | this.dialogVisible = true |
| | | this.dialogImageUrl = value |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div> |
| | | <el-table :data="tasksecurity" border fit highlight-current-row style="width: 100%;" :header-cell-style="{'text-align':'center'}"> |
| | | <el-table-column type="index" label="序号" align="center" width="60"/> |
| | | <el-table-column prop="content" label="安全措施" align="left"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="scope.row.checktype === '判断'"> |
| | | {{scope.row.content}} |
| | | </div> |
| | | <div v-if="scope.row.checktype === '填空'"> |
| | | <span>{{scope.row.content.split('_')[0]}}</span> |
| | | <el-input style="width:50px" v-model="scope.row.num"></el-input> |
| | | <span>{{scope.row.content.split('_')[1]}}</span> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="checked" label="选项" align="center" width="300"> |
| | | <template slot-scope="scope"> |
| | | <el-radio v-model="scope.row.checked" :label="1">是</el-radio> |
| | | <el-radio v-model="scope.row.checked" :label="0">否</el-radio> |
| | | <el-radio v-model="scope.row.checked" :label="2">不涉及</el-radio> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div align="center" style="padding-top: 20px" v-if="title === '新增' || title === '编辑' || title=== '施工单位确认' || title === '施工单位信息填写' || title === '复制'"> |
| | | <el-button type="primary" @click="goNext">下一步</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getSafetyActionList } from '@/api/task' |
| | | |
| | | export default { |
| | | props:['basicInformation','title'], |
| | | name: 'index', |
| | | data(){ |
| | | return{ |
| | | currentPage:0, |
| | | pageSize:1000, |
| | | tasksecurity:[], |
| | | safetyActionData:[ |
| | | // {id:0,selected:true,action:'动火设备内部构件清理干净,蒸汽吹扫或水洗合格,达到用火条件。',type:0}, |
| | | // {id:1,selected:null,actionOne:'',actionTwo:'',type:1}, |
| | | // {id:2,selected:null,action:'动火点10m范围内及动火点下部区域严禁同时进行可燃溶剂清洗和喷漆等作业。在受限空间内进行动火作业、临时用电作业时,不得同时进行刷漆、喷漆作业或使用可燃溶剂清洗等其他可能散发易燃气体、可燃液体的作业。',type:0}, |
| | | // {id:3,selected:null,action:'动火点周围的下水井、地漏、地沟、电缆沟等已清除易燃物,并已采取覆盖、铺沙、水封等手段进行隔离。',type:0}, |
| | | // {id:4,selected:null,action:'动火点周围易燃物已清除。',type:0}, |
| | | // {id:5,selected:null,action:'罐区内动火点同一围堰内和防火间距内的储罐不同时进行脱水作业,排凝等作业。',type:0}, |
| | | // {id:6,selected:null,action:'距动火点30m内严禁排放可燃气体,15m内严禁排放各类可燃液体。',type:0}, |
| | | // {id:7,selected:null,action:'电焊回路线已接在焊件上,把线未穿过下水井或其它设备搭接。',type:0}, |
| | | // {id:8,selected:null,action:'高处作业已采取防火花飞溅措施。',type:0}, |
| | | // {id:9,selected:null,action:'乙炔气瓶(直立放置)、氧气瓶与火源间的距离大于10m,二者间距不应小于5m。',type:0}, |
| | | // {id:10,selected:null,actionOne:'',actionTwo:'',actionThree:'',actionFour:'',type:2}, |
| | | // {id:11,selected:null,actionOne:'',type:3}, |
| | | ], |
| | | } |
| | | }, |
| | | methods:{ |
| | | async getSafeTyAction(){ |
| | | let typeList = [] |
| | | for(let i in this.basicInformation.subTaskInfos){ |
| | | typeList.push(this.basicInformation.subTaskInfos[i].type) |
| | | } |
| | | let params = {} |
| | | params['pageIndex'] = this.currentPage |
| | | params['pageSize'] = this.pageSize |
| | | params['type'] = '申请单位负责检查项' |
| | | this.safetyActionData = [] |
| | | this.tasksecurity = [] |
| | | let res = await getSafetyActionList(params) |
| | | if(res.data.code === '200'){ |
| | | this.safetyActionData = res.data.result |
| | | for(let i in this.safetyActionData){ |
| | | if(typeList.indexOf(this.safetyActionData[i].tasktype) !== -1){ |
| | | this.tasksecurity.push({ |
| | | id:this.safetyActionData[i].id, |
| | | taskcode: this.basicInformation.code, |
| | | content: this.safetyActionData[i].content, |
| | | checked: this.safetyActionData[i].check, |
| | | num: this.safetyActionData[i].number, |
| | | confirmedby: "test", |
| | | checktype:this.safetyActionData[i].checktype, |
| | | tasktype:this.safetyActionData[i].tasktype |
| | | }) |
| | | } |
| | | } |
| | | // this.safetyActionData.filter(item =>{ |
| | | // if(typeList.indexOf(item.tasktype) !== -1){ |
| | | // return{ |
| | | // id:item.id, |
| | | // taskcode: this.basicInformation.code, |
| | | // content: item.content, |
| | | // checked: item.check, |
| | | // num: item.number, |
| | | // confirmedby: "test", |
| | | // checktype:item.checktype, |
| | | // tasktype:item.tasktype |
| | | // } |
| | | // } |
| | | // }) |
| | | // console.log(typeList) |
| | | }else{ |
| | | this.$message({ |
| | | message:res.data.message, |
| | | type:'warning' |
| | | }) |
| | | } |
| | | }, |
| | | async getConstructionAction(){ |
| | | // let typeList = [] |
| | | // for(let i in this.basicInformation.subTaskInfos){ |
| | | // typeList.push(this.basicInformation.subTaskInfos[i].type) |
| | | // } |
| | | let params = {} |
| | | params['pageIndex'] = this.currentPage |
| | | params['pageSize'] = this.pageSize |
| | | params['type'] = '施工单位负责检查项' |
| | | this.safetyActionData = [] |
| | | this.tasksecurity = [] |
| | | let res = await getSafetyActionList(params) |
| | | if(res.data.code === '200'){ |
| | | this.safetyActionData = res.data.result |
| | | // for(let i in this.safetyActionData){ |
| | | // if(typeList.indexOf(this.safetyActionData[i].tasktype) !== -1){ |
| | | // this.tasksecurity.push({ |
| | | // id:this.safetyActionData[i].id, |
| | | // taskcode: this.basicInformation.code, |
| | | // content: this.safetyActionData[i].content, |
| | | // checked: this.safetyActionData[i].check, |
| | | // num: this.safetyActionData[i].number, |
| | | // confirmedby: "test", |
| | | // checktype:this.safetyActionData[i].checktype, |
| | | // tasktype:this.safetyActionData[i].tasktype |
| | | // }) |
| | | // } |
| | | // } |
| | | this.tasksecurity = this.safetyActionData.map(item =>{ |
| | | return { |
| | | id:item.id, |
| | | taskcode: this.basicInformation.code, |
| | | content: item.content, |
| | | checked: item.check, |
| | | num: item.number, |
| | | confirmedby: "test", |
| | | checktype:item.checktype, |
| | | } |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | message:res.data.message, |
| | | type:'warning' |
| | | }) |
| | | } |
| | | }, |
| | | goNext(){ |
| | | if(this.title === '施工单位确认'){ |
| | | this.$emit('changeToConstructionConfirm') |
| | | }else if(this.title === '施工单位信息填写'){ |
| | | this.$emit('confirmConstruction') |
| | | }else { |
| | | this.$emit('changeToCardFile') |
| | | } |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="safetyAndRiskConfirm"> |
| | | <div class="safetyAndRiskConfirm_title"> |
| | | <span>{{"安全交底和风险告知确认卡"}}</span> |
| | | <span style="color:red">{{"(*必填项)"}}</span> |
| | | </div> |
| | | <el-descriptions class="margin-top" :column="2" border> |
| | | <el-descriptions-item :span="1"> |
| | | <template slot="label"> |
| | | <i class="el-icon-office-building"></i> |
| | | 作业单位 |
| | | </template> |
| | | <div class="safetyAndRiskConfirm_input">{{constructionUnit}}</div> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :span="1" class="test"> |
| | | <template slot="label"> |
| | | <i class="el-icon-user-solid"></i> |
| | | 车间项目负责人 |
| | | </template> |
| | | <div class="safetyAndRiskConfirm_input">{{director}}</div> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :span="2"> |
| | | <template slot="label" > |
| | | <i class="el-icon-notebook-2"></i> |
| | | 作业内容 |
| | | <span style="color:red">*</span> |
| | | <span>:</span> |
| | | </template> |
| | | <el-input class="safetyAndRiskConfirm_input" v-model="taskRiskForm.content"></el-input> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :span="2"> |
| | | <template slot="label" > |
| | | <i class="el-icon-time"></i> |
| | | 作业时间 |
| | | </template> |
| | | <div class="safetyAndRiskConfirm_input">{{startTime + '-' + endTime}}</div> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :span="2"> |
| | | <template slot="label" > |
| | | <i class="el-icon-user"></i> |
| | | 作业人员 |
| | | </template> |
| | | <el-input class="safetyAndRiskConfirm_input"></el-input> |
| | | </el-descriptions-item> |
| | | </el-descriptions> |
| | | <el-descriptions title="基本要求" direction="vertical" :column="4" border> |
| | | </el-descriptions> |
| | | <div class="safetyAndRiskConfirm_top"> |
| | | <div class="safetyAndRiskConfirm_top_title"> |
| | | {{"作业前,项目负责人应对施工作业人员进行安全交底和风险告知,内容包括作业许可范围及作业环境、作业风险、防范措施(工艺、设备、个体防护等)、应急措施及其他注意事项。作业人员应按照风险告知内容,逐条对接确认,落实到位后方可作业。"}} |
| | | </div> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle"> |
| | | <div class="safetyAndRiskConfirm_middle_left"> |
| | | <div class="safetyAndRiskConfirm_middle_left_title">{{'安全交底和风险告知内容'}}</div> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right"> |
| | | <div class="safetyAndRiskConfirm_middle_right_one"> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_top"> |
| | | {{"作业许可范围及作业环境"}} |
| | | <span style="color:red">*</span> |
| | | <span>:</span> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_text"> |
| | | <el-input type="textarea" :row="2" class="safetyAndRiskConfirm_middle_right_one_textarea" v-model="taskRiskForm.environment"></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_one"> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_top"> |
| | | {{"作业风险:"}} |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_text"> |
| | | <el-input type="textarea" :row="2" class="safetyAndRiskConfirm_middle_right_one_textarea" v-model="hazard" readonly></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_one"> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_top"> |
| | | {{"防范措施(工艺、设备、个体防护等)"}} |
| | | <span style="color:red">*</span> |
| | | <span>:</span> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_text"> |
| | | <el-input type="textarea" :row="2" class="safetyAndRiskConfirm_middle_right_one_textarea" v-model="taskRiskForm.preventive"></el-input> |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_one"> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_top"> |
| | | {{"应急措施"}} |
| | | <span style="color:red">*</span> |
| | | <span>:</span> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_text"> |
| | | <el-input type="textarea" :row="2" class="safetyAndRiskConfirm_middle_right_one_textarea" v-model="taskRiskForm.emergency"></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_one"> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_top"> |
| | | {{"其他注意事项"}} |
| | | <span style="color:red">*</span> |
| | | <span>:</span> |
| | | </div> |
| | | <div calss="safetyAndRiskConfirm_middle_right_one_text"> |
| | | <el-input type="textarea" :row="2" class="safetyAndRiskConfirm_middle_right_one_textarea" v-model="taskRiskForm.other"></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_two"> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_top"> |
| | | {{"企业负责人确认:"}} |
| | | </div> |
| | | <div calss="safetyAndRiskConfirm_middle_right_one_text"> |
| | | <el-input type="textarea" :row="2" class="safetyAndRiskConfirm_middle_right_one_textarea"></el-input> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_bottom"> |
| | | <div class="safetyAndRiskConfirm_bottom_title"> |
| | | {{"我方所有施工作业人员已明确该项目的风险并清楚了危害、防范措施和其它注意事项。"}} |
| | | </div> |
| | | </div> |
| | | <div align="center" style="padding-top: 20px" v-if="title === '新增' || title === '编辑' || title=== '施工单位确认' || title === '施工单位信息填写' || title === '复制'"> |
| | | <el-button type="primary" @click="goNext">下一步</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'index', |
| | | props:['basicInformation','title'], |
| | | data(){ |
| | | return{ |
| | | director:'', |
| | | startTime:'', |
| | | endTime:'', |
| | | constructionUnit:'', |
| | | hazard:'', |
| | | taskRiskForm:{ |
| | | id:'', |
| | | taskcode:'', |
| | | content:'', |
| | | environment:'', |
| | | preventive:'', |
| | | emergency:'', |
| | | other:'', |
| | | director:'', |
| | | taskdirector:'', |
| | | confirmat:'', |
| | | createdat:'', |
| | | createdby:'', |
| | | modifiedat:'', |
| | | modifiedby:'', |
| | | flag:'', |
| | | }, |
| | | } |
| | | }, |
| | | mounted(){ |
| | | this.getBasic() |
| | | }, |
| | | methods:{ |
| | | getBasic(){ |
| | | this.constructionUnit = this.basicInformation.constructionunit |
| | | this.director = this.basicInformation.director |
| | | this.startTime = this.basicInformation.starttime |
| | | this.endTime = this.basicInformation.endtime |
| | | this.hazard = this.basicInformation.hazard |
| | | this.taskRiskForm.taskcode = this.basicInformation.code |
| | | }, |
| | | goNext(){ |
| | | if(this.title === '施工单位确认'){ |
| | | this.$emit('changeToConstructionConfirm') |
| | | }else { |
| | | this.$emit('changeToCardFile') |
| | | } |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .safetyAndRiskConfirm{ |
| | | width:60%; |
| | | margin:0 auto; |
| | | } |
| | | .safetyAndRiskConfirm_title{ |
| | | padding-bottom: 15px; |
| | | font-weight: bold; |
| | | font-size: 25px; |
| | | text-align: center; |
| | | } |
| | | /deep/.el-descriptions__header{ |
| | | border-left: 1px solid #EBEEF5; |
| | | border-right: 1px solid #EBEEF5; |
| | | border-bottom: 1px solid #EBEEF5; |
| | | margin: 0px auto; |
| | | height:30px; |
| | | text-align: center; |
| | | } |
| | | /deep/.el-descriptions__title{ |
| | | text-align: center; |
| | | width:100%; |
| | | margin: 0px auto; |
| | | } |
| | | .safetyAndRiskConfirm_top{ |
| | | border-left: 1px solid #EBEEF5; |
| | | border-right: 1px solid #EBEEF5; |
| | | border-bottom: 1px solid #EBEEF5; |
| | | margin: 0px auto; |
| | | height:80px; |
| | | font-size: 18px; |
| | | text-indent: 2em; |
| | | } |
| | | .safetyAndRiskConfirm_top_title{ |
| | | position: relative; |
| | | top: 50%; /*偏移*/ |
| | | transform: translateY(-50%); |
| | | } |
| | | /*.safetyAndRiskConfirm_basic{*/ |
| | | /* border-left: 1px solid #EBEEF5;*/ |
| | | /* border-right: 1px solid #EBEEF5;*/ |
| | | /* border-bottom: 1px solid #EBEEF5;*/ |
| | | /* margin: 0px auto;*/ |
| | | /* height:80px;*/ |
| | | /* font-size: 18px;*/ |
| | | /* text-indent: 2em;*/ |
| | | /*}*/ |
| | | .safetyAndRiskConfirm_middle{ |
| | | border-left: 1px solid #EBEEF5; |
| | | border-right: 1px solid #EBEEF5; |
| | | border-bottom: 1px solid #EBEEF5; |
| | | margin: 0px auto; |
| | | height:550px; |
| | | font-size: 18px; |
| | | } |
| | | .safetyAndRiskConfirm_middle_left{ |
| | | height:100%; |
| | | width:10%; |
| | | border-right: 1px solid #EBEEF5; |
| | | display:inline-block; |
| | | float: left; |
| | | } |
| | | .safetyAndRiskConfirm_middle_left_title{ |
| | | padding-left: 12px; |
| | | padding-right: 12px; |
| | | text-align: center; |
| | | position: relative; |
| | | top: 50%; /*偏移*/ |
| | | transform: translateY(-50%); |
| | | } |
| | | .safetyAndRiskConfirm_middle_right{ |
| | | float: left; |
| | | height:100%; |
| | | width:90%; |
| | | } |
| | | .safetyAndRiskConfirm_middle_right_one{ |
| | | height:16.6%; |
| | | width:100%; |
| | | border-bottom: 1px solid #EBEEF5; |
| | | } |
| | | .safetyAndRiskConfirm_middle_right_two{ |
| | | height:16.6%; |
| | | width:100%; |
| | | } |
| | | .safetyAndRiskConfirm_middle_right_one_top{ |
| | | height:30%; |
| | | width:100%; |
| | | padding-top:5px; |
| | | padding-left: 5px; |
| | | } |
| | | .safetyAndRiskConfirm_middle_right_one_textarea{ |
| | | padding-left: 5px; |
| | | padding-right:5px ; |
| | | padding-top: 2px; |
| | | } |
| | | .safetyAndRiskConfirm_middle_right_one_text{ |
| | | height:70%; |
| | | width:100%; |
| | | } |
| | | |
| | | .safetyAndRiskConfirm_bottom{ |
| | | border-left: 1px solid #EBEEF5; |
| | | border-right: 1px solid #EBEEF5; |
| | | border-bottom: 1px solid #EBEEF5; |
| | | margin: 0px auto; |
| | | height:100px; |
| | | font-size: 18px; |
| | | } |
| | | .safetyAndRiskConfirm_bottom_title{ |
| | | text-align: center; |
| | | position: relative; |
| | | top: 50%; /*偏移*/ |
| | | transform: translateY(-50%); |
| | | } |
| | | .test{ |
| | | /*border: 0px;*/ |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="padding:20px 50px 0 50px;"> |
| | | <el-form ref="form" :rules="taskBasicRules" :model="taskBasicForm" label-position="center" label-width="150px"> |
| | | <el-collapse v-model="activeNames"> |
| | | <el-collapse-item title="基本信息" name="0"> |
| | | |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="申请单位:" prop="unit"> |
| | | <el-input v-model="taskBasicForm.unit" readonly></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="申请人:" prop="applicant"> |
| | | <el-input v-model="taskBasicForm.applicant" readonly></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="负责人:" prop="director"> |
| | | <el-input v-model="taskBasicForm.director"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="危害辨识:" prop="hazard"> |
| | | <el-select v-model="taskBasicForm.hazard" filterable class="taskBasic_select" multiple> |
| | | <el-option |
| | | v-for="item in hazardList" |
| | | :key="item.id" |
| | | :label="item.text" |
| | | :value="item.text" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="开始时间:" style="margin-right: 0px" prop="starttime"> |
| | | <el-date-picker value-format="yyyy-MM-dd HH:mm" type="datetime" v-model="taskBasicForm.starttime" placeholder="选择开始日期" class="taskBasic_select"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="结束时间:" prop="endtime"> |
| | | <el-date-picker value-format="yyyy-MM-dd HH:mm" type="datetime" v-model="taskBasicForm.endtime" placeholder="选择结束日期" class="taskBasic_select"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | |
| | | <el-col :span="8"> |
| | | <el-form-item label="施工单位:" prop="constructionunit" > |
| | | <el-select v-model="taskBasicForm.constructionunit" clearable class="taskBasic_select"> |
| | | <el-option |
| | | v-for="item in companyList" |
| | | :key="item.id" |
| | | :value="item.company" |
| | | :label="item.company" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="16"> |
| | | <el-form-item label="作业地点:" prop="area"> |
| | | <el-input v-model="taskBasicForm.area"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否节假日:" prop="isholiday" > |
| | | <el-select v-model="taskBasicForm.isholiday" clearable class="taskBasic_select"> |
| | | <el-option |
| | | v-for="item in list" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="16"> |
| | | <el-form-item label="作业内容:" prop="description"> |
| | | <el-input v-model="taskBasicForm.description"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否需要检测气体:" prop="isanalysis" > |
| | | <el-select v-model="taskBasicForm.isanalysis" clearable class="taskBasic_select" @change="showAnalysis"> |
| | | <el-option |
| | | v-for="item in list" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8" v-if="ifAnalysis"> |
| | | <el-form-item label="分析地点:" prop="analysisarea" > |
| | | <el-input v-model="taskBasicForm.analysisarea"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8" v-if="ifAnalysis"> |
| | | <el-form-item label="分析介质:" prop="analysismedium" > |
| | | <el-input v-model="taskBasicForm.analysismedium"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | </el-collapse-item> |
| | | <el-collapse-item title="受限空间作业" name="1"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否涉及:"> |
| | | <el-radio v-model="ifIncludeArea" :label="1">是</el-radio> |
| | | <el-radio v-model="ifIncludeArea" :label="0">否</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if="ifIncludeArea"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="受限空间分类:" prop="spacecategory"> |
| | | <el-select v-model="taskBasicForm.spacecategory" class="taskBasic_select" @change="handleSpaceCategory"> |
| | | <el-option |
| | | v-for="item in spaceCategoryList" |
| | | :key="item.id" |
| | | :value="item.name" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="受限空间名称:" prop="spacename"> |
| | | <el-select v-model="taskBasicForm.spacename" class="taskBasic_select"> |
| | | <el-option |
| | | v-for="item in spaceNameList" |
| | | :key="item.id" |
| | | :value="item.name" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="受限空间介质名称:" prop="spacemedium"> |
| | | <el-input v-model="taskBasicForm.spacemedium" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否受酸碱腐蚀:" prop="acibase"> |
| | | <el-select v-model="taskBasicForm.acibase" class="taskBasic_select"> |
| | | <el-option |
| | | v-for="item in acibaseList" |
| | | :key="item.id" |
| | | :value="item.name" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | |
| | | </el-collapse-item> |
| | | <el-collapse-item title="吊装作业" name="2"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否涉及:"> |
| | | <el-radio v-model="ifHoisting" :label="1">是</el-radio> |
| | | <el-radio v-model="ifHoisting" :label="0">否</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if="ifHoisting"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="吊装重物等级:" prop="hoistinglevel"> |
| | | <el-select v-model="taskBasicForm.hoistinglevel" class="taskBasic_select"> |
| | | <el-option value="一级吊装(质量>100吨)"></el-option> |
| | | <el-option value="二级吊装(40吨<=质量<=100吨)"></el-option> |
| | | <el-option value="三级吊装(质量<40吨)"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="吊装重物质量(t):" prop="hoistingweight"> |
| | | <el-input v-model="taskBasicForm.hoistingweight" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="动土作业" name="3"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否涉及:"> |
| | | <el-radio v-model="ifBuilding" :label="1">是</el-radio> |
| | | <el-radio v-model="ifBuilding" :label="0">否</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if="ifBuilding"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="动土作业深度:" prop="soildepth"> |
| | | <el-input v-model="taskBasicForm.soildepth" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="动土作业面积:" prop="soilarea"> |
| | | <el-input v-model="taskBasicForm.soilarea" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-form-item label="动土方案文件:" prop="soilfile"> |
| | | <el-upload |
| | | accept=".pdf,.jpg,.png" |
| | | :action="fileRoad" |
| | | class="upload-demo" |
| | | ref="upload" |
| | | :headers="header" |
| | | :data="uploadForm" |
| | | list-type="picture-card" |
| | | :file-list="taskBasicForm.soilfile" |
| | | :on-change="handleChangeBuildingFile" |
| | | :on-success="onSoilFileSuccess" |
| | | :auto-upload="true"> |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" alt="" |
| | | > |
| | | <span class="el-upload-list__item-actions"> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handleFile(file)" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemove(file,'one')" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | </div> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-row> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="断路作业" name="4"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否涉及:"> |
| | | <el-radio v-model="ifIncludeRoad" :label="1">是</el-radio> |
| | | <el-radio v-model="ifIncludeRoad" :label="0">否</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if="ifIncludeRoad"> |
| | | <el-row> |
| | | <el-col :span="16"> |
| | | <el-form-item label="断路原因:" prop="breakreason"> |
| | | <el-input v-model="taskBasicForm.breakreason" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-form-item label="断路地段示意图:" prop="breakfile"> |
| | | <el-upload |
| | | accept=".pdf,.jpg,.png" |
| | | :action="fileRoad" |
| | | class="upload-demo" |
| | | ref="upload" |
| | | :headers="header" |
| | | list-type="picture-card" |
| | | :file-list="taskBasicForm.breakfile" |
| | | :on-success="onBreakFileSuccess" |
| | | :on-change="handleChangeRoadFile" |
| | | :auto-upload="true"> |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" alt="" |
| | | > |
| | | <span class="el-upload-list__item-actions"> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handleFile(file)" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemove(file,'two')" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | </div> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-row> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="高处作业" name="5"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否涉及:"> |
| | | <el-radio v-model="ifIncludeHigh" :label="1">是</el-radio> |
| | | <el-radio v-model="ifIncludeHigh" :label="0">否</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if="ifIncludeHigh"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="作业等级:" prop="heightlevel"> |
| | | <el-select v-model="taskBasicForm.heightlevel" class="taskBasic_select"> |
| | | <el-option value="一级高处作业(2米≤高度<5米)"></el-option> |
| | | <el-option value="二级高处作业(5米≤高度<15米)"></el-option> |
| | | <el-option value="三级高处作业(15米≤高度<30米)"></el-option> |
| | | <el-option value="特级高处作业(高度≥30米)"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="作业高度:" prop="workheight"> |
| | | <el-input type="number" v-model="taskBasicForm.workheight" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="临时用电作业" name="6"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否涉及:"> |
| | | <el-radio v-model="ifIncludeElectricity" :label="1">是</el-radio> |
| | | <el-radio v-model="ifIncludeElectricity" :label="0">否</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if="ifIncludeElectricity"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="电压接入点:" prop="electricityarea"> |
| | | <el-input v-model="taskBasicForm.electricityarea" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="工作电压:" prop="voltage"> |
| | | <el-input v-model="taskBasicForm.voltage" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="用电设备及功率:" prop="power"> |
| | | <el-input v-model="taskBasicForm.power" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="盲板抽堵作业" name="7"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否涉及:"> |
| | | <el-radio v-model="ifIncludePump" :label="1" >是</el-radio> |
| | | <el-radio v-model="ifIncludePump" :label="0" >否</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if="ifIncludePump"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="设备管道名称:" prop="pipename"> |
| | | <el-input v-model="taskBasicForm.pipename" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="设备管道介质:" prop="pipemedium"> |
| | | <el-input v-model="taskBasicForm.pipemedium" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="设备管道温度:" prop="pipetemperature"> |
| | | <el-input v-model="taskBasicForm.pipetemperature" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="设备管道压力:" prop="pipepressure"> |
| | | <el-input v-model="taskBasicForm.pipepressure" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="盲板材质:" prop="blindboardmaterial"> |
| | | <el-input v-model="taskBasicForm.blindboardmaterial" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="盲板规格11:" prop="blindboardspecification"> |
| | | <el-input v-model="taskBasicForm.blindboardspecification" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="盲板编号:" prop="blindboardnumber"> |
| | | <el-input v-model="taskBasicForm.blindboardnumber" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-form-item label="盲板位置图:" prop="blindboardlocation"> |
| | | <el-upload |
| | | accept=".pdf,.jpg,.png" |
| | | :action="fileRoad" |
| | | class="upload-demo" |
| | | ref="upload" |
| | | :headers="header" |
| | | list-type="picture-card" |
| | | :file-list="taskBasicForm.blindboardlocation" |
| | | :on-success="onPumpFileSuccess" |
| | | :on-change="handleChangePumpFile" |
| | | :auto-upload="true"> |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" alt="" |
| | | > |
| | | <span class="el-upload-list__item-actions"> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handleFile(file)" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemove(file,'three')" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | </div> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-row> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="动火作业" name="8"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否涉及:"> |
| | | <el-radio v-model="ifIncludeFire" :label="1">是</el-radio> |
| | | <el-radio v-model="ifIncludeFire" :label="0">否</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if="ifIncludeFire"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="动火级别:" prop="firelevel"> |
| | | <el-select v-model="taskBasicForm.firelevel" class="taskBasic_select"> |
| | | <el-option |
| | | v-for="item in levelList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="动火方式:" prop="firetype"> |
| | | <el-select v-model="taskBasicForm.firetype" filterable class="taskBasic_select"> |
| | | <el-option |
| | | v-for="item in fireTypeList" |
| | | :key="item.id" |
| | | :value="item.text" |
| | | :label="item.text" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | </el-form> |
| | | <div align="center" style="padding-top: 20px" v-if="title === '新增' || title === '编辑' || title=== '施工单位确认' || title === '施工单位信息填写'|| title === '施工单位信息填写' || title === '复制'"> |
| | | <el-button type="primary" @click="goNext">下一步</el-button> |
| | | </div> |
| | | <el-dialog :visible.sync="dialogVisible" :append-to-body="true"> |
| | | <img width="100%" :src="dialogImageUrl" alt=""> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getUnitList } from '@/api/unitManage' |
| | | import Cookies from 'js-cookie' |
| | | import { addTask, updateTask } from '@/api/task' |
| | | import { dictionaryAllItems } from '@/api/dictionary' |
| | | |
| | | export default { |
| | | name: 'index', |
| | | props:['title'], |
| | | data(){ |
| | | return{ |
| | | type:'', |
| | | fileRoad:process.env.BASE_API + '/task/web/upload', |
| | | uploadForm:{ |
| | | name:'', |
| | | }, |
| | | header:{Authorization:''}, |
| | | taskBasicForm:{ |
| | | applicant: "", |
| | | applyunitname: "", |
| | | applyunitopinion: "", |
| | | applyunittime: "", |
| | | approverprofession: "", |
| | | approversupervisor: "", |
| | | area: "", |
| | | code: "", |
| | | completedconfirm: "", |
| | | completedname: "", |
| | | completedtime: "", |
| | | constructionname: "", |
| | | constructionopinion: "", |
| | | constructiontime: "", |
| | | constructionunit: "", |
| | | createdat: "", |
| | | createdby: "", |
| | | department: "", |
| | | director: "", |
| | | endtime: "", |
| | | enterprisename: "", |
| | | enterpriseopinion: "", |
| | | enterprisetime: "", |
| | | flag: 0, |
| | | hazard: [], |
| | | id: 0, |
| | | isdel: 0, |
| | | isholiday: null, |
| | | level:'', |
| | | modifiedat: "", |
| | | modifiedby: "", |
| | | othertask: "", |
| | | partdirector: "", |
| | | profession: "", |
| | | relevantname: "", |
| | | relevantopinion: "", |
| | | relevanttime: "", |
| | | resources: [ |
| | | ], |
| | | securityname: "", |
| | | securityopinion: "", |
| | | securitytime: "", |
| | | securitydep: "", |
| | | shiftleadername: "", |
| | | shiftleaderopinion: "", |
| | | shiftleadertime: "", |
| | | starttime: "", |
| | | status: 0, |
| | | supervisor: "", |
| | | taskAnalyses: [ |
| | | ], |
| | | taskEquipments: [ |
| | | ], |
| | | taskRisk: { |
| | | confirmat: "", |
| | | content: "", |
| | | createdat: "", |
| | | createdby: "", |
| | | director: "", |
| | | emergency: "", |
| | | environment: "", |
| | | flag: 0, |
| | | id: 0, |
| | | modifiedat: "", |
| | | modifiedby: "", |
| | | other: "", |
| | | preventive: "", |
| | | taskcode: "", |
| | | taskdirector: "" |
| | | }, |
| | | taskSecurities: [ |
| | | ], |
| | | taskWorkers: [ |
| | | ], |
| | | unit: "", |
| | | subTaskInfos:[], |
| | | type:'', |
| | | category:'', |
| | | firelevel:'', |
| | | checked:'', |
| | | spacecategory:'', |
| | | spacename:'', |
| | | spacemedium:'', |
| | | acibase:'', |
| | | hoistinglevel:'', |
| | | hoistingweight:'', |
| | | soildepth:'', |
| | | soilarea:'', |
| | | soilfile:[], |
| | | breakreason:'', |
| | | breakfile:[], |
| | | workheight:'', |
| | | heightlevel:'', |
| | | electricityarea:'', |
| | | voltage:'', |
| | | power:'', |
| | | pipename:'', |
| | | pipemedium:'', |
| | | pipetemperature:'', |
| | | pipepressure:'', |
| | | blindboardmaterial:'', |
| | | blindboardspecification:'', |
| | | blindboardnumber:'', |
| | | commander:'', |
| | | blindboardlocation:[], |
| | | firetype:'', |
| | | description:'', |
| | | isanalysis:'', |
| | | analysisarea:'', |
| | | analysismedium:'' |
| | | }, |
| | | activeNames:['0'], |
| | | companyList:[], |
| | | fireTypeList:[], |
| | | hazardList:[], |
| | | list:[{id:0,name:'否'},{id:1,name:'是'}], |
| | | levelList:[{id:2,name:'特级'},{id:1,name:'一级'},{id:0,name:'二级'},], |
| | | spaceCategoryList:[{id:0,name:'密闭设备:如船舱、贮罐、车载槽罐、反应塔(釜)、冷藏箱、压力容器、管道、烟道、锅炉等'},{id:1,name:'地下有限空间:如地下管道、地下室、地下仓库、地下工程、暗沟、隧道、涵洞、地坑、废井、地窖、污水池(井)、沼气池、化粪池、下水道等'},{id:2,name:'地上有限空间:如储藏室、酒糟池、发酵池、垃圾站、温室、冷库、粮仓、料仓等'},], |
| | | spaceNameList:[], |
| | | acibaseList:[{id:0,name:'酸腐蚀'},{id:1,name:'碱腐蚀'},{id:2,name:'其他腐蚀'},{id:3,name:'没有腐蚀'}], |
| | | taskBasicRules:{ |
| | | unit: [{ required: true, message: '申请单位不能为空', trigger: 'blur' }], |
| | | applicant: [{ required: true, message: '申请人不能为空', trigger: 'blur' }], |
| | | level: [{ required: true, message: '动火作业级别不能为空', trigger: 'change' }], |
| | | mode: [{ required: true, message: '用户名不能为空', trigger: 'blur' }], |
| | | hazard: [{ required: true, message: '危害辨识不能为空', trigger: 'blur' }], |
| | | director: [{ required: true, message: '负责人不能为空', trigger: 'blur' }], |
| | | area: [{ required: true, message: '动火地点不能为空', trigger: 'blur' }], |
| | | constructionunit: [{ required: true, message: '施工部门不能为空', trigger: 'change' }], |
| | | starttime: [{ required: true, message: '开始时间不能为空', trigger: 'blur' }], |
| | | endtime: [{ required: true, message: '结束时间不能为空', trigger: 'blur' }], |
| | | spacecategory: [{ required: true, message: '受限空间分类不能为空', trigger: 'change' }], |
| | | spacename: [{ required: true, message: '受限空间名称不能为空', trigger: 'change' }], |
| | | spacemedium: [{ required: true, message: '受限空间介质名称不能为空', trigger: 'change' }], |
| | | acibase: [{ required: true, message: '是否酸碱腐蚀不能为空', trigger: 'change' }], |
| | | hoistinglevel: [{ required: true, message: '吊装重物等级不能为空', trigger: 'change' }], |
| | | hoistingweight: [{ required: true, message: '吊装重物质量不能为空', trigger: 'blur' }], |
| | | soildepth: [{ required: true, message: '动土作业深度不能为空', trigger: 'blur' }], |
| | | soilarea: [{ required: true, message: '动土作业面积不能为空', trigger: 'blur' }], |
| | | // soilfile: [{ required: true, message: '动土方案文件不能为空', trigger: 'blur' }], |
| | | breakreason: [{ required: true, message: '断路原因不能为空', trigger: 'blur' }], |
| | | // breakfile: [{ required: true, message: '断路地段示意图不能为空', trigger: 'blur' }], |
| | | heightlevel: [{ required: true, message: '作业等级不能为空', trigger: 'change' }], |
| | | workheight: [{ required: true, message: '作业高度不能为空', trigger: 'blur' }], |
| | | electricityarea: [{ required: true, message: '电压接入点不能为空', trigger: 'blur' }], |
| | | voltage: [{ required: true, message: '工作电压不能为空', trigger: 'blur' }], |
| | | power: [{ required: true, message: '用电设备及功率不能为空', trigger: 'blur' }], |
| | | pipename: [{ required: true, message: '设备管道名称不能为空', trigger: 'blur' }], |
| | | pipemedium: [{ required: true, message: '设备管道介质不能为空', trigger: 'blur' }], |
| | | pipetemperature: [{ required: true, message: '设备管道温度不能为空', trigger: 'blur' }], |
| | | pipepressure: [{ required: true, message: '设备管道压力不能为空', trigger: 'blur' }], |
| | | blindboardmaterial: [{ required: true, message: '盲板材质不能为空', trigger: 'blur' }], |
| | | blindboardspecification: [{ required: true, message: '盲板规格不能为空', trigger: 'blur' }], |
| | | blindboardnumber: [{ required: true, message: '盲板编号不能为空', trigger: 'blur' }], |
| | | // blindboardlocation: [{ required: true, message: '盲板位置图不能为空', trigger: 'blur' }], |
| | | firelevel: [{ required: true, message: '动火级别不能为空', trigger: 'blur' }], |
| | | firetype: [{ required: true, message: '动火类型不能为空', trigger: 'blur' }], |
| | | isholiday:[{ required: true, message: '是否节假日不能为空', trigger: 'change' }], |
| | | description:[{ required: true, message: '作业内容不能为空', trigger: 'blur' }], |
| | | isanalysis:[{ required: true, message: '是否需要气体检测不能为空', trigger: 'change' }], |
| | | analysisarea:[{ required: true, message: '分析地点不能为空', trigger: 'blur' }], |
| | | analysismedium:[{ required: true, message: '分析介质不能为空', trigger: 'blur' }] |
| | | }, |
| | | ifIncludeArea:null, |
| | | ifHoisting:null, |
| | | ifBuilding:null, |
| | | ifIncludeRoad:null, |
| | | ifIncludeHigh:null, |
| | | ifIncludeElectricity:null, |
| | | ifIncludePump:null, |
| | | ifIncludeFire:null, |
| | | dialogImageUrl:false, |
| | | dialogVisible:false, |
| | | disabled: false, |
| | | ifAnalysis:false, |
| | | } |
| | | }, |
| | | watch:{ |
| | | ifIncludeArea: { |
| | | handler(newName, oldName) { |
| | | if(newName === 1){ |
| | | this.ifAnalysis = true |
| | | this.taskBasicForm.isanalysis = 1 |
| | | }else{ |
| | | this.ifAnalysis = false |
| | | this.taskBasicForm.isanalysis = 0 |
| | | } |
| | | }, |
| | | immediate:true, |
| | | deep:true |
| | | }, |
| | | ifIncludeFire: { |
| | | handler(newName, oldName) { |
| | | if(newName === 1){ |
| | | this.ifAnalysis = true |
| | | this.taskBasicForm.isanalysis = 1 |
| | | }else{ |
| | | this.ifAnalysis = false |
| | | this.taskBasicForm.isanalysis = 0 |
| | | } |
| | | }, |
| | | immediate:true, |
| | | deep:true |
| | | } |
| | | }, |
| | | created(){ |
| | | this.getCompany() |
| | | this.getFireTypeList() |
| | | this.getHazardList() |
| | | }, |
| | | methods:{ |
| | | giveTaskBasic(){ |
| | | this.taskBasicForm = JSON.parse(JSON.stringify(this.taskBasicForm)) |
| | | }, |
| | | handlePictureCardPreview(file){ |
| | | this.dialogImageUrl = file.url; |
| | | this.dialogVisible = true; |
| | | }, |
| | | showAnalysis(){ |
| | | if(this.taskBasicForm.isanalysis === 0){ |
| | | this.ifAnalysis = false |
| | | }else{ |
| | | this.ifAnalysis = true |
| | | } |
| | | }, |
| | | goNext(){ |
| | | if(this.title === '施工单位确认'){ |
| | | this.$emit('changeToConstructionConfirm') |
| | | }else{ |
| | | this.$refs["form"].validate((valid) =>{ |
| | | if(valid){ |
| | | if(this.type === 1){ |
| | | this.addTask() |
| | | }else if(this.type === 2){ |
| | | this.updateTask() |
| | | } |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'请完善基本信息' |
| | | }) |
| | | if(this.ifIncludeArea === true){ |
| | | |
| | | }else if(this.ifHoisting === true){ |
| | | |
| | | }else if(this.ifBuilding === true){ |
| | | |
| | | }else if(this.ifIncludeRoad === true){ |
| | | |
| | | }else if(this.ifIncludeHigh === true){ |
| | | |
| | | }else if(this.ifIncludeElectricity === true){ |
| | | |
| | | }else if(this.ifIncludePump === true){ |
| | | |
| | | }else if(this.ifIncludeFire === true){ |
| | | |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | async addTask(){ |
| | | if(this.taskBasicForm.soilfile.length === 0 && this.ifBuilding === 1){ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'请上传动图方案文件' |
| | | }) |
| | | }else if(this.taskBasicForm.breakfile.length === 0 && this.ifIncludeRoad === 1){ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'请上传短路地段示意图' |
| | | }) |
| | | }else if(this.taskBasicForm.blindboardlocation.length === 0 && this.ifIncludePump === 1){ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'请上传盲板位置图' |
| | | }) |
| | | }else{ |
| | | this.taskBasicForm.hazard = this.taskBasicForm.hazard.join('、') |
| | | let addForm = JSON.parse(JSON.stringify(this.taskBasicForm)) |
| | | let level = [] |
| | | addForm.subTaskInfos = [] |
| | | if(this.ifIncludeArea === 1){ |
| | | level.push(0) |
| | | addForm.subTaskInfos.push({id:'',taskcode:'',type:'受限空间作业',category:'',level:'',checked:1,spacecategory:this.taskBasicForm.spacecategory,spacename:this.taskBasicForm.spacename,spacemedium:this.taskBasicForm.spacemedium,acibase:this.taskBasicForm.acibase,hoistinglevel:'',hoistingweight:'',soildepth:'',soilarea:'',soilfile:[],breakreason:'',breakfile:[],heightlevel:'',workheight:'',electricityarea:'',voltage:'',power:'',pipename:'',pipemedium:'',pipetemperature:'',pipepressure:'',blindboardmaterial:'',blindboardspecification:'',blindboardnumber:'',commander:'',blindboardlocation:[],firetype:'',level:''}) |
| | | } |
| | | if(this.ifHoisting === 1){ |
| | | if(this.taskBasicForm.hoistinglevel === '一级吊装(质量>100吨)'){ |
| | | level.push(2) |
| | | }else if(this.taskBasicForm.hoistinglevel === '二级吊装(40吨<=质量<=100吨)'){ |
| | | level.push(1) |
| | | }else{ |
| | | level.push(0) |
| | | } |
| | | addForm.subTaskInfos.push({id:'',taskcode:'',type:'吊装作业',category:'',level:'',checked:1,spacecategory:'',spacename:'',spacemedium:'',acibase:'',hoistinglevel:this.taskBasicForm.hoistinglevel,hoistingweight:this.taskBasicForm.hoistingweight,soildepth:'',soilarea:'',soilfile:[],breakreason:'',breakfile:[],heightlevel:'',workheight:'',electricityarea:'',voltage:'',power:'',pipename:'',pipemedium:'',pipetemperature:'',pipepressure:'',blindboardmaterial:'',blindboardspecification:'',blindboardnumber:'',commander:'',blindboardlocation:[],firetype:'',level:''}) |
| | | } |
| | | if(this.ifBuilding === 1){ |
| | | level.push(1) |
| | | addForm.subTaskInfos.push({id:'',taskcode:'',type:'动土作业',category:'',level:'',checked:1,spacecategory:'',spacename:'',spacemedium:'',acibase:'',hoistinglevel:'',hoistingweight:'',soildepth:this.taskBasicForm.soildepth,soilarea:this.taskBasicForm.soilarea,soilfile:this.taskBasicForm.soilfile,breakreason:'',breakfile:[],heightlevel:'',workheight:'',electricityarea:'',voltage:'',power:'',pipename:'',pipemedium:'',pipetemperature:'',pipepressure:'',blindboardmaterial:'',blindboardspecification:'',blindboardnumber:'',commander:'',blindboardlocation:[],firetype:'',level:''}) |
| | | } |
| | | if(this.ifIncludeRoad === 1){ |
| | | level.push(1) |
| | | addForm.subTaskInfos.push({id:'',taskcode:'',type:'断路作业',category:'',level:'',checked:1,spacecategory:'',spacename:'',spacemedium:'',acibase:'',hoistinglevel:'',hoistingweight:'',soildepth:'',soilarea:'',soilfile:[],breakreason:this.taskBasicForm.breakreason,breakfile:this.taskBasicForm.breakfile,heightlevel:'',workheight:'',electricityarea:'',voltage:'',power:'',pipename:'',pipemedium:'',pipetemperature:'',pipepressure:'',blindboardmaterial:'',blindboardspecification:'',blindboardnumber:'',commander:'',blindboardlocation:[],firetype:'',level:''}) |
| | | } |
| | | if(this.ifIncludeHigh === 1){ |
| | | if (this.taskBasicForm.heightlevel = '特级高处作业(高度≥30米)'){ |
| | | level.push(2) |
| | | }else if(this.taskBasicForm.heightlevel = '三级高处作业(15米≤高度<30米)' || this.taskBasicForm.heightlevel === '二级高处作业(5米≤高度<15米)'){ |
| | | level.push(1) |
| | | }else{ |
| | | level.push(0) |
| | | } |
| | | addForm.subTaskInfos.push({id:'',taskcode:'',type:'高处作业',category:'',level:'',checked:1,spacecategory:'',spacename:'',spacemedium:'',acibase:'',hoistinglevel:'',hoistingweight:'',soildepth:'',soilarea:'',soilfile:[],breakreason:'',breakfile:[],heightlevel:this.taskBasicForm.heightlevel,workheight:this.taskBasicForm.workheight,electricityarea:'',voltage:'',power:'',pipename:'',pipemedium:'',pipetemperature:'',pipepressure:'',blindboardmaterial:'',blindboardspecification:'',blindboardnumber:'',commander:'',blindboardlocation:[],firetype:'',level:''}) |
| | | } |
| | | if(this.ifIncludeElectricity === 1){ |
| | | level.push(1) |
| | | addForm.subTaskInfos.push({id:'',taskcode:'',type:'临时用电作业',category:'',level:'',checked:1,spacecategory:'',spacename:'',spacemedium:'',acibase:'',hoistinglevel:'',hoistingweight:'',soildepth:'',soilarea:'',soilfile:[],breakreason:'',breakfile:[],heightlevel:'',workheight:'',electricityarea:this.taskBasicForm.electricityarea,voltage:this.taskBasicForm.voltage,power:this.taskBasicForm.power,pipename:'',pipemedium:'',pipetemperature:'',pipepressure:'',blindboardmaterial:'',blindboardspecification:'',blindboardnumber:'',commander:'',blindboardlocation:[],firetype:'',level:''}) |
| | | } |
| | | if(this.ifIncludePump === 1){ |
| | | level.push(0) |
| | | addForm.subTaskInfos.push({id:'',taskcode:'',type:'盲板抽堵作业',category:'',level:'',checked:1,spacecategory:'',spacename:'',spacemedium:'',acibase:'',hoistinglevel:'',hoistingweight:'',soildepth:'',soilarea:'',soilfile:[],breakreason:'',breakfile:[],heightlevel:'',workheight:'',electricityarea:'',voltage:'',power:'',pipename:this.taskBasicForm.pipename,pipemedium:this.taskBasicForm.pipemedium,pipetemperature:this.taskBasicForm.pipetemperature,pipepressure:this.taskBasicForm.pipepressure,blindboardmaterial:this.taskBasicForm.blindboardmaterial,blindboardspecification:this.taskBasicForm.blindboardspecification,blindboardnumber:this.taskBasicForm.blindboardnumber,commander:'',blindboardlocation:this.taskBasicForm.blindboardlocation,firetype:'',level:''}) |
| | | } |
| | | if(this.ifIncludeFire === 1){ |
| | | level.push(this.taskBasicForm.firelevel) |
| | | addForm.subTaskInfos.push({id:'',taskcode:'',type:'动火作业',category:'',level:'',checked:1,spacecategory:'',spacename:'',spacemedium:'',acibase:'',hoistinglevel:'',hoistingweight:'',soildepth:'',soilarea:'',soilfile:[],breakreason:'',breakfile:[],heightlevel:'',workheight:'',electricityarea:'',voltage:'',power:'',pipename:'',pipemedium:'',pipetemperature:'',pipepressure:'',blindboardmaterial:'',blindboardspecification:'',blindboardnumber:'',commander:'',blindboardlocation:[],firetype:this.taskBasicForm.firetype,level:this.taskBasicForm.firelevel}) |
| | | } |
| | | |
| | | let largeNum = 0 |
| | | for(let i in level){ |
| | | if(level[i] > largeNum){ |
| | | largeNum = level[i] |
| | | } |
| | | } |
| | | addForm.level = largeNum |
| | | |
| | | this.$delete(addForm,'type') |
| | | this.$delete(addForm,'category') |
| | | this.$delete(addForm,'firelevel') |
| | | this.$delete(addForm,'checked') |
| | | this.$delete(addForm,'spacecategory') |
| | | this.$delete(addForm,'spacename') |
| | | this.$delete(addForm,'spacemedium') |
| | | this.$delete(addForm,'acibase') |
| | | this.$delete(addForm,'hoistinglevel') |
| | | this.$delete(addForm,'hoistingweight') |
| | | this.$delete(addForm,'soildepth') |
| | | this.$delete(addForm,'soilarea') |
| | | this.$delete(addForm,'soilfile') |
| | | this.$delete(addForm,'breakreason') |
| | | this.$delete(addForm,'breakfile') |
| | | this.$delete(addForm,'workheight') |
| | | this.$delete(addForm,'heightlevel') |
| | | this.$delete(addForm,'electricityarea') |
| | | this.$delete(addForm,'voltage') |
| | | this.$delete(addForm,'power') |
| | | this.$delete(addForm,'pipename') |
| | | this.$delete(addForm,'pipemedium') |
| | | this.$delete(addForm,'pipetemperature') |
| | | this.$delete(addForm,'pipepressure') |
| | | this.$delete(addForm,'blindboardmaterial') |
| | | this.$delete(addForm,'blindboardspecification') |
| | | this.$delete(addForm,'blindboardnumber') |
| | | this.$delete(addForm,'commander') |
| | | this.$delete(addForm,'blindboardlocation') |
| | | this.$delete(addForm,'firetype') |
| | | |
| | | let res = await addTask(addForm) |
| | | if(res.data.code === '200'){ |
| | | this.$notify({ |
| | | type:'success', |
| | | duration:2000, |
| | | message:'基本信息新建成功', |
| | | title:'成功' |
| | | }) |
| | | this.$emit('changeCardToSafetyActionEdit',res.data.result) |
| | | }else{ |
| | | this.$message({ |
| | | message:res.data.message, |
| | | type:'warning' |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | async updateTask(){ |
| | | if(this.taskBasicForm.soilfile.length === 0 && this.ifBuilding === 1){ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'请上传动图方案文件' |
| | | }) |
| | | }else if(this.taskBasicForm.breakfile.length === 0 && this.ifIncludeRoad === 1){ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'请上传短路地段示意图' |
| | | }) |
| | | }else if(this.taskBasicForm.blindboardlocation.length === 0 && this.ifIncludePump === 1){ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'请上传盲板位置图' |
| | | }) |
| | | }else { |
| | | this.taskBasicForm.hazard = this.taskBasicForm.hazard.join('、') |
| | | let addForm = JSON.parse(JSON.stringify(this.taskBasicForm)) |
| | | let level = [] |
| | | if (this.ifIncludeArea === 1) { |
| | | level.push(0) |
| | | let ifFirst = true |
| | | for(let i in addForm.subTaskInfos){ |
| | | if(addForm.subTaskInfos[i].type === '受限空间作业'){ |
| | | ifFirst = false |
| | | addForm.subTaskInfos[i].spacecategory = this.taskBasicForm.spacecategory |
| | | addForm.subTaskInfos[i].spacename = this.taskBasicForm.spacename |
| | | addForm.subTaskInfos[i].spacemedium = this.taskBasicForm.spacemedium |
| | | addForm.subTaskInfos[i].acibase = this.taskBasicForm.acibase |
| | | } |
| | | } |
| | | if(ifFirst === true){ |
| | | addForm.subTaskInfos.push({id:'',taskcode:'',type:'受限空间作业',category:'',level:'',checked:1,spacecategory:this.taskBasicForm.spacecategory,spacename:this.taskBasicForm.spacename,spacemedium:this.taskBasicForm.spacemedium,acibase:this.taskBasicForm.acibase,hoistinglevel:'',hoistingweight:'',soildepth:'',soilarea:'',soilfile:[],breakreason:'',breakfile:[],heightlevel:'',workheight:'',electricityarea:'',voltage:'',power:'',pipename:'',pipemedium:'',pipetemperature:'',pipepressure:'',blindboardmaterial:'',blindboardspecification:'',blindboardnumber:'',commander:'',blindboardlocation:[],firetype:'',level:''}) |
| | | } |
| | | |
| | | } |
| | | if (this.ifHoisting === 1) { |
| | | if (this.taskBasicForm.hoistinglevel === '一级吊装(质量>100吨)') { |
| | | level.push(2) |
| | | } else if (this.taskBasicForm.hoistinglevel === '二级吊装(40吨<=质量<=100吨)') { |
| | | level.push(1) |
| | | } else { |
| | | level.push(0) |
| | | } |
| | | let ifFirst = true |
| | | for(let i in addForm.subTaskInfos){ |
| | | if(addForm.subTaskInfos[i].type === '吊装作业'){ |
| | | ifFirst = false |
| | | addForm.subTaskInfos[i].hoistinglevel = this.taskBasicForm.hoistinglevel |
| | | addForm.subTaskInfos[i].hoistingweight = this.taskBasicForm.hoistingweight |
| | | } |
| | | } |
| | | if(ifFirst === true){ |
| | | addForm.subTaskInfos.push({ |
| | | id: '', |
| | | taskcode: '', |
| | | type: '吊装作业', |
| | | category: '', |
| | | level: '', |
| | | checked: 1, |
| | | spacecategory: '', |
| | | spacename: '', |
| | | spacemedium: '', |
| | | acibase: '', |
| | | hoistinglevel: this.taskBasicForm.hoistinglevel, |
| | | hoistingweight: this.taskBasicForm.hoistingweight, |
| | | soildepth: '', |
| | | soilarea: '', |
| | | soilfile: [], |
| | | breakreason: '', |
| | | breakfile: [], |
| | | heightlevel: '', |
| | | workheight: '', |
| | | electricityarea: '', |
| | | voltage: '', |
| | | power: '', |
| | | pipename: '', |
| | | pipemedium: '', |
| | | pipetemperature: '', |
| | | pipepressure: '', |
| | | blindboardmaterial: '', |
| | | blindboardspecification: '', |
| | | blindboardnumber: '', |
| | | commander: '', |
| | | blindboardlocation: [], |
| | | firetype: '', |
| | | level: '' |
| | | }) |
| | | } |
| | | |
| | | } |
| | | if (this.ifBuilding === 1) { |
| | | level.push(1) |
| | | let ifFirst = true |
| | | for(let i in addForm.subTaskInfos){ |
| | | if(addForm.subTaskInfos[i].type === '动土作业'){ |
| | | ifFirst = false |
| | | addForm.subTaskInfos[i].soildepth = this.taskBasicForm.soildepth |
| | | addForm.subTaskInfos[i].soilarea = this.taskBasicForm.soilarea |
| | | addForm.subTaskInfos[i].soilfile = this.taskBasicForm.soilfile |
| | | } |
| | | } |
| | | if(ifFirst === true){ |
| | | addForm.subTaskInfos.push({ |
| | | id: '', |
| | | taskcode: '', |
| | | type: '动土作业', |
| | | category: '', |
| | | level: '', |
| | | checked: 1, |
| | | spacecategory: '', |
| | | spacename: '', |
| | | spacemedium: '', |
| | | acibase: '', |
| | | hoistinglevel: '', |
| | | hoistingweight: '', |
| | | soildepth: this.taskBasicForm.soildepth, |
| | | soilarea: this.taskBasicForm.soilarea, |
| | | soilfile: this.taskBasicForm.soilfile, |
| | | breakreason: '', |
| | | breakfile: [], |
| | | heightlevel: '', |
| | | workheight: '', |
| | | electricityarea: '', |
| | | voltage: '', |
| | | power: '', |
| | | pipename: '', |
| | | pipemedium: '', |
| | | pipetemperature: '', |
| | | pipepressure: '', |
| | | blindboardmaterial: '', |
| | | blindboardspecification: '', |
| | | blindboardnumber: '', |
| | | commander: '', |
| | | blindboardlocation: [], |
| | | firetype: '', |
| | | level: '' |
| | | }) |
| | | } |
| | | } |
| | | if (this.ifIncludeRoad === 1) { |
| | | level.push(1) |
| | | let ifFirst = true |
| | | for(let i in addForm.subTaskInfos){ |
| | | if(addForm.subTaskInfos[i].type === '断路作业'){ |
| | | ifFirst = false |
| | | addForm.subTaskInfos[i].breakreason = this.taskBasicForm.breakreason |
| | | addForm.subTaskInfos[i].breakfile = this.taskBasicForm.breakfile |
| | | } |
| | | } |
| | | if(ifFirst === true){ |
| | | addForm.subTaskInfos.push({ |
| | | id: '', |
| | | taskcode: '', |
| | | type: '断路作业', |
| | | category: '', |
| | | level: '', |
| | | checked: 1, |
| | | spacecategory: '', |
| | | spacename: '', |
| | | spacemedium: '', |
| | | acibase: '', |
| | | hoistinglevel: '', |
| | | hoistingweight: '', |
| | | soildepth: '', |
| | | soilarea: '', |
| | | soilfile: [], |
| | | breakreason: this.taskBasicForm.breakreason, |
| | | breakfile: this.taskBasicForm.breakfile, |
| | | heightlevel: '', |
| | | workheight: '', |
| | | electricityarea: '', |
| | | voltage: '', |
| | | power: '', |
| | | pipename: '', |
| | | pipemedium: '', |
| | | pipetemperature: '', |
| | | pipepressure: '', |
| | | blindboardmaterial: '', |
| | | blindboardspecification: '', |
| | | blindboardnumber: '', |
| | | commander: '', |
| | | blindboardlocation: [], |
| | | firetype: '', |
| | | level: '' |
| | | }) |
| | | } |
| | | |
| | | } |
| | | if (this.ifIncludeHigh === 1) { |
| | | if (this.taskBasicForm.heightlevel = '特级高处作业(高度≥30米)') { |
| | | level.push(2) |
| | | } else if (this.taskBasicForm.heightlevel = '三级高处作业(15米≤高度<30米)' || this.taskBasicForm.heightlevel === '二级高处作业(5米≤高度<15米)') { |
| | | level.push(1) |
| | | } else { |
| | | level.push(0) |
| | | } |
| | | let ifFirst = true |
| | | for(let i in addForm.subTaskInfos){ |
| | | if(addForm.subTaskInfos[i].type === '高处作业'){ |
| | | ifFirst = false |
| | | addForm.subTaskInfos[i].breakreason = this.taskBasicForm.breakreason |
| | | addForm.subTaskInfos[i].breakfile = this.taskBasicForm.breakfile |
| | | } |
| | | } |
| | | if(ifFirst === true){ |
| | | addForm.subTaskInfos.push({ |
| | | id: '', |
| | | taskcode: '', |
| | | type: '高处作业', |
| | | category: '', |
| | | level: '', |
| | | checked: 1, |
| | | spacecategory: '', |
| | | spacename: '', |
| | | spacemedium: '', |
| | | acibase: '', |
| | | hoistinglevel: '', |
| | | hoistingweight: '', |
| | | soildepth: '', |
| | | soilarea: '', |
| | | soilfile: [], |
| | | breakreason: '', |
| | | breakfile: [], |
| | | heightlevel: this.taskBasicForm.heightlevel, |
| | | workheight: this.taskBasicForm.workheight, |
| | | electricityarea: '', |
| | | voltage: '', |
| | | power: '', |
| | | pipename: '', |
| | | pipemedium: '', |
| | | pipetemperature: '', |
| | | pipepressure: '', |
| | | blindboardmaterial: '', |
| | | blindboardspecification: '', |
| | | blindboardnumber: '', |
| | | commander: '', |
| | | blindboardlocation: [], |
| | | firetype: '', |
| | | level: '' |
| | | }) |
| | | } |
| | | |
| | | } |
| | | if (this.ifIncludeElectricity === 1) { |
| | | level.push(1) |
| | | let ifFirst = true |
| | | for(let i in addForm.subTaskInfos){ |
| | | if(addForm.subTaskInfos[i].type === '临时用电作业'){ |
| | | ifFirst = false |
| | | addForm.subTaskInfos[i].electricityarea = this.taskBasicForm.electricityarea |
| | | addForm.subTaskInfos[i].voltage = this.taskBasicForm.voltage |
| | | addForm.subTaskInfos[i].power = this.taskBasicForm.power |
| | | } |
| | | } |
| | | if(ifFirst === true){ |
| | | addForm.subTaskInfos.push({ |
| | | id: '', |
| | | taskcode: '', |
| | | type: '临时用电作业', |
| | | category: '', |
| | | level: '', |
| | | checked: 1, |
| | | spacecategory: '', |
| | | spacename: '', |
| | | spacemedium: '', |
| | | acibase: '', |
| | | hoistinglevel: '', |
| | | hoistingweight: '', |
| | | soildepth: '', |
| | | soilarea: '', |
| | | soilfile: [], |
| | | breakreason: '', |
| | | breakfile: [], |
| | | heightlevel: '', |
| | | workheight: '', |
| | | electricityarea: this.taskBasicForm.electricityarea, |
| | | voltage: this.taskBasicForm.voltage, |
| | | power: this.taskBasicForm.power, |
| | | pipename: '', |
| | | pipemedium: '', |
| | | pipetemperature: '', |
| | | pipepressure: '', |
| | | blindboardmaterial: '', |
| | | blindboardspecification: '', |
| | | blindboardnumber: '', |
| | | commander: '', |
| | | blindboardlocation: [], |
| | | firetype: '', |
| | | level: '' |
| | | }) |
| | | } |
| | | |
| | | } |
| | | if (this.ifIncludePump === 1) { |
| | | level.push(0) |
| | | let ifFirst = true |
| | | for(let i in addForm.subTaskInfos){ |
| | | if(addForm.subTaskInfos[i].type === '盲板抽堵作业'){ |
| | | ifFirst = false |
| | | addForm.subTaskInfos[i].pipename = this.taskBasicForm.pipename |
| | | addForm.subTaskInfos[i].pipemedium = this.taskBasicForm.pipemedium |
| | | addForm.subTaskInfos[i].pipetemperature = this.taskBasicForm.pipetemperature |
| | | addForm.subTaskInfos[i].pipepressure = this.taskBasicForm.pipepressure |
| | | addForm.subTaskInfos[i].blindboardmaterial = this.taskBasicForm.blindboardmaterial |
| | | addForm.subTaskInfos[i].blindboardspecification = this.taskBasicForm.blindboardspecification |
| | | addForm.subTaskInfos[i].blindboardlocation = this.taskBasicForm.blindboardlocation |
| | | } |
| | | } |
| | | if(ifFirst === true){ |
| | | addForm.subTaskInfos.push({ |
| | | id: '', |
| | | taskcode: '', |
| | | type: '盲板抽堵作业', |
| | | category: '', |
| | | level: '', |
| | | checked: 1, |
| | | spacecategory: '', |
| | | spacename: '', |
| | | spacemedium: '', |
| | | acibase: '', |
| | | hoistinglevel: '', |
| | | hoistingweight: '', |
| | | soildepth: '', |
| | | soilarea: '', |
| | | soilfile: [], |
| | | breakreason: '', |
| | | breakfile: [], |
| | | heightlevel: '', |
| | | workheight: '', |
| | | electricityarea: '', |
| | | voltage: '', |
| | | power: '', |
| | | pipename: this.taskBasicForm.pipename, |
| | | pipemedium: this.taskBasicForm.pipemedium, |
| | | pipetemperature: this.taskBasicForm.pipetemperature, |
| | | pipepressure: this.taskBasicForm.pipepressure, |
| | | blindboardmaterial: this.taskBasicForm.blindboardmaterial, |
| | | blindboardspecification: this.taskBasicForm.blindboardspecification, |
| | | blindboardnumber: this.taskBasicForm.blindboardnumber, |
| | | commander: '', |
| | | blindboardlocation: this.taskBasicForm.blindboardlocation, |
| | | firetype: '', |
| | | level: '' |
| | | }) |
| | | } |
| | | |
| | | } |
| | | if (this.ifIncludeFire === 1) { |
| | | level.push(this.taskBasicForm.firelevel) |
| | | let ifFirst = true |
| | | for(let i in addForm.subTaskInfos){ |
| | | if(addForm.subTaskInfos[i].type === '动火作业'){ |
| | | ifFirst = false |
| | | addForm.subTaskInfos[i].firetype = this.taskBasicForm.firetype |
| | | addForm.subTaskInfos[i].level = this.taskBasicForm.firelevel |
| | | } |
| | | } |
| | | if(ifFirst === true){ |
| | | addForm.subTaskInfos.push({ |
| | | id: '', |
| | | taskcode: '', |
| | | type: '动火作业', |
| | | category: '', |
| | | level: '', |
| | | checked: 1, |
| | | spacecategory: '', |
| | | spacename: '', |
| | | spacemedium: '', |
| | | acibase: '', |
| | | hoistinglevel: '', |
| | | hoistingweight: '', |
| | | soildepth: '', |
| | | soilarea: '', |
| | | soilfile: [], |
| | | breakreason: '', |
| | | breakfile: [], |
| | | heightlevel: '', |
| | | workheight: '', |
| | | electricityarea: '', |
| | | voltage: '', |
| | | power: '', |
| | | pipename: '', |
| | | pipemedium: '', |
| | | pipetemperature: '', |
| | | pipepressure: '', |
| | | blindboardmaterial: '', |
| | | blindboardspecification: '', |
| | | blindboardnumber: '', |
| | | commander: '', |
| | | blindboardlocation: [], |
| | | firetype: this.taskBasicForm.firetype, |
| | | level: this.taskBasicForm.firelevel |
| | | }) |
| | | } |
| | | |
| | | } |
| | | |
| | | let largeNum = 0 |
| | | for (let i in level) { |
| | | if (level[i] > largeNum) { |
| | | largeNum = level[i] |
| | | } |
| | | } |
| | | if(largeNum === 2){ |
| | | largeNum = 2 |
| | | }else{ |
| | | largeNum += 1 |
| | | } |
| | | addForm.level = largeNum |
| | | |
| | | this.$delete(addForm,'type') |
| | | this.$delete(addForm,'category') |
| | | this.$delete(addForm,'firelevel') |
| | | this.$delete(addForm,'checked') |
| | | this.$delete(addForm,'spacecategory') |
| | | this.$delete(addForm,'spacename') |
| | | this.$delete(addForm,'spacemedium') |
| | | this.$delete(addForm,'acibase') |
| | | this.$delete(addForm,'hoistinglevel') |
| | | this.$delete(addForm,'hoistingweight') |
| | | this.$delete(addForm,'soildepth') |
| | | this.$delete(addForm,'soilarea') |
| | | this.$delete(addForm,'soilfile') |
| | | this.$delete(addForm,'breakreason') |
| | | this.$delete(addForm,'breakfile') |
| | | this.$delete(addForm,'workheight') |
| | | this.$delete(addForm,'heightlevel') |
| | | this.$delete(addForm,'electricityarea') |
| | | this.$delete(addForm,'voltage') |
| | | this.$delete(addForm,'power') |
| | | this.$delete(addForm,'pipename') |
| | | this.$delete(addForm,'pipemedium') |
| | | this.$delete(addForm,'pipetemperature') |
| | | this.$delete(addForm,'pipepressure') |
| | | this.$delete(addForm,'blindboardmaterial') |
| | | this.$delete(addForm,'blindboardspecification') |
| | | this.$delete(addForm,'blindboardnumber') |
| | | this.$delete(addForm,'commander') |
| | | this.$delete(addForm,'blindboardlocation') |
| | | this.$delete(addForm,'firetype') |
| | | |
| | | let res = await updateTask(addForm) |
| | | if(res.data.code === '200'){ |
| | | this.$notify({ |
| | | type:'success', |
| | | duration:2000, |
| | | message:'基本信息编辑成功', |
| | | title:'成功' |
| | | }) |
| | | this.$emit('changeCardToSafetyActionEdit',addForm) |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | handleSpaceCategory(value){ |
| | | if(value === '密闭设备'){ |
| | | this.taskBasicForm.spacename = '' |
| | | this.spaceNameList = [{id:0,name:'如船舱'},{id:1,name:'贮罐'},{id:2,name:'车载槽罐'},{id:4,name:'反应塔(釜)'},{id:5,name:'冷藏箱'},{id:6,name:'压力容器'},{id:7,name:'管道'},{id:8,name:'烟道'},{id:9,name:'锅炉'},{id:10,name:'其他'}] |
| | | }else if(value === '地下有限空间'){ |
| | | this.taskBasicForm.spacename = '' |
| | | this.spaceNameList = [{id:0,name:'地下管道'},{id:1,name:'地下室'},{id:2,name:'地下仓库'},{id:4,name:'地下工程'},{id:5,name:'暗沟'},{id:6,name:'隧道'},{id:7,name:'涵洞'},{id:8,name:'地坑'},{id:9,name:'废井'},{id:10,name:'地窖'},{id:11,name:'污水池(井)'},{id:12,name:'沼气池'},{id:13,name:'化粪池'},{id:14,name:'下水道'},{id:15,name:'其他'}] |
| | | }else{ |
| | | this.taskBasicForm.spacename = '' |
| | | this.spaceNameList = [{id:0,name:'储藏室'},{id:1,name:'酒糟池'},{id:2,name:'发酵池'},{id:4,name:'垃圾站'},{id:5,name:'温室'},{id:6,name:'冷库'},{id:7,name:'粮仓'},{id:8,name:'料仓'},{id:9,name:'其他'}] |
| | | } |
| | | }, |
| | | resetFormRules(){ |
| | | this.$nextTick(() =>{ |
| | | this.$refs["form"].clearValidate() |
| | | }) |
| | | }, |
| | | async getCompany(){ |
| | | let params = {} |
| | | params['pageIndex'] = this.currentPage |
| | | params['pageSize'] = this.pageSize |
| | | params['company'] = this.company |
| | | params['code'] = this.code |
| | | let res = await getUnitList(params) |
| | | if(res.data.code === '200'){ |
| | | this.companyList = res.data.result.result |
| | | }else{ |
| | | this.$message({ |
| | | message:res.data.message, |
| | | type:'warning' |
| | | }) |
| | | } |
| | | }, |
| | | async getFireTypeList(){ |
| | | const params = {} |
| | | params['dictionaryType'] = '动火方式' |
| | | let res = await dictionaryAllItems(params) |
| | | if (res.data.code === '200') { |
| | | this.fireTypeList = res.data.result |
| | | } else { |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }, |
| | | async getHazardList(){ |
| | | let params = {} |
| | | params['dictionaryType'] = '危害辨识' |
| | | let res = await dictionaryAllItems(params) |
| | | if(res.data.code === '200'){ |
| | | this.hazardList = res.data.result |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }, |
| | | handleChangeBuildingFile(file,fileList){ |
| | | this.uploadForm.name = file.name |
| | | this.header.Authorization = Cookies.get('token') |
| | | }, |
| | | onSoilFileSuccess(response){ |
| | | if(response.code === '200'){ |
| | | this.taskBasicForm.soilfile.push({url:process.env.IMG_API + response.result.path,name:response.result.name,fileurl:response.result.path}) |
| | | this.$notify({ |
| | | type:'success', |
| | | duration:2000, |
| | | message:'上传成功', |
| | | title:'成功', |
| | | }) |
| | | } |
| | | }, |
| | | handleChangeRoadFile(){ |
| | | this.header.Authorization = Cookies.get('token') |
| | | }, |
| | | onBreakFileSuccess(response){ |
| | | if(response.code === '200'){ |
| | | this.taskBasicForm.breakfile.push({url:process.env.IMG_API + response.result.path,name:response.result.name,fileurl:response.result.path}) |
| | | this.$notify({ |
| | | type:'success', |
| | | duration:2000, |
| | | message:'上传成功', |
| | | title:'成功', |
| | | }) |
| | | } |
| | | }, |
| | | handleChangePumpFile(){ |
| | | this.header.Authorization = Cookies.get('token') |
| | | }, |
| | | onPumpFileSuccess(response){ |
| | | if(response.code === '200'){ |
| | | this.taskBasicForm.blindboardlocation.push({url:process.env.IMG_API + response.result.path,name:response.result.name,fileurl:response.result.path}) |
| | | this.$notify({ |
| | | type:'success', |
| | | duration:2000, |
| | | message:'上传成功', |
| | | title:'成功', |
| | | }) |
| | | } |
| | | }, |
| | | handleFile(file){ |
| | | this.dialogImageUrl = file.url; |
| | | this.dialogVisible = true; |
| | | }, |
| | | handleRemove(file,value) { |
| | | return this.$confirm(`确定移除 ${ file.name }?`,'提示',{ |
| | | confirmButtonText:'确定', |
| | | cancelButtonText:'取消', |
| | | type:'warning', |
| | | }).then(()=> { |
| | | switch (value) { |
| | | case 'one':this.taskBasicForm.soilfile.splice(this.taskBasicForm.soilfile.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | case 'two':this.taskBasicForm.breakfile.splice(this.taskBasicForm.breakfile.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | case 'three':this.taskBasicForm.blindboardlocation.splice(this.taskBasicForm.blindboardlocation.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .taskBasic_title{ |
| | | font-weight: bolder; |
| | | font-size: large; |
| | | text-align: center; |
| | | margin-top: 24px; |
| | | } |
| | | /deep/.el-collapse-item__header{ |
| | | margi:0 auto; |
| | | width:100%; |
| | | font-weight: bolder; |
| | | font-size: large; |
| | | text-align: center; |
| | | padding-left: 45%; |
| | | } |
| | | .taskBasic_select{ |
| | | width: 100%; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog :title="title" :visible.sync="taskCreateDialog" :modal-append-to-body="false" :close-on-click-modal="false" width="70%"> |
| | | <el-tabs type="border-card" class="active" v-model="activeName"> |
| | | <el-tab-pane label="作业基本信息" name="taskBasic" v-if="ifHotFireBasic"> |
| | | <task-basic ref="taskBasic" :title="title" @changeCardToSafetyActionEdit="changeToSecond" @changeToConstructionConfirm="constructionConfirm"></task-basic> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="安全措施" name="safetyAction" v-if="ifSafetyAction"> |
| | | <safety-action ref="safetyAction" :basicInformation="basicForm" :title="title" @changeToCardFile="changeToThird" @changeToConstructionConfirm="constructionConfirm" @confirmConstruction="confirmConstruction"></safety-action> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="安全交底和风险告知确认卡" name="safetyAndRiskConfirm" v-if="ifSafetyAndRisk"> |
| | | <safety-and-risk-confirm ref="safetyAndRiskConfirm" :title="title" :basicInformation="basicForm" @changeToCardFile="changeToThird" @changeToConstructionConfirm="constructionConfirm"></safety-and-risk-confirm> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="设备" name="equipment" v-if="ifSafetyAction"> |
| | | <equipment ref="equipment" :basicInformation="basicForm" :title="title" @changeToCardFile="changeToThird" @changeToConstructionConfirm="constructionConfirm" @confirmConstruction="confirmConstruction"></equipment> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="作业人" name="fireMan" v-if="ifFireMan"> |
| | | <fire-man ref="fireMan" :basicInformation="basicForm" :title="title" @confirmConstruction="confirmConstruction"></fire-man> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="文件" name="fileAndEquipment" v-if="ifFile"> |
| | | <file ref="fileAndEquipment" :basicInformation="basicForm" :title="title" @confirm="confirmFile" @changeToConstructionConfirm="constructionConfirm"></file> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="文件" name="constructionFile" v-if="ifConstructionFile"> |
| | | <construction-file ref="constructionFile" :basicInformation="basicForm" :title="title" @changeToConstructionConfirm="constructionConfirm" @confirmConstruction="confirmConstruction"></construction-file> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="文件" name="allFile" v-if="ifAllFile"> |
| | | <all-file ref="allFile" :basicInformation="basicForm" :title="title" @changeToConstructionConfirm="constructionConfirm" @confirmConstruction="confirmConstruction"></all-file> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <div align="center" style="padding-top: 20px" v-if="title === '动火部位审批' || title === '相关部门审批' || title=== '安全部门审批'"> |
| | | <el-button type="danger" @click="refuse">拒绝</el-button> |
| | | <el-button type="primary" @click="agree">同意</el-button> |
| | | </div> |
| | | <el-dialog :visible.sync="supervisorAndAnalystAgree" :modal-append-to-body="false" :close-on-click-modal="false" width="25%"> |
| | | <div align="center"> |
| | | <span>监火人:</span> |
| | | <el-input v-model="basicForm.analyst" style="width:200px"> |
| | | </el-input> |
| | | </div> |
| | | <div align="center" style="padding-top: 20px"> |
| | | <span>分析人:</span> |
| | | <el-input v-model="basicForm.approversupervisor" style="width:200px"> |
| | | </el-input> |
| | | <div align="center" style="padding-top: 20px"> |
| | | <el-button type="primary" @click="submitAgreeTaskByFireDepartment()">确定</el-button> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="驳回意见" :visible.sync="supervisorAndAnalystRefuse" :modal-append-to-body="false" :close-on-click-modal="false" width="40%"> |
| | | <div align="center"> |
| | | <el-input type="textarea" :row="2" v-model="basicForm.applyunitopinion" style="width:400px"> |
| | | </el-input> |
| | | </div> |
| | | <div align="center" style="padding-top: 20px"> |
| | | <el-button type="primary" @click="submitRefuseTaskByFireDepartment()">确定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="驳回意见" :visible.sync="relevantRefuse" :modal-append-to-body="false" :close-on-click-modal="false" width="40%"> |
| | | <div align="center"> |
| | | <el-input type="textarea" :row="2" v-model="basicForm.relevantopinion" style="width:400px"> |
| | | </el-input> |
| | | </div> |
| | | <div align="center" style="padding-top: 20px"> |
| | | <el-button type="primary" @click="submitRefuseTaskByFireDepartment()">确定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="驳回意见" :visible.sync="securityRefuse" :modal-append-to-body="false" :close-on-click-modal="false" width="40%"> |
| | | <div align="center"> |
| | | <el-input type="textarea" :row="2" v-model="basicForm.securityopinion" style="width:400px"> |
| | | </el-input> |
| | | </div> |
| | | <div align="center" style="padding-top: 20px"> |
| | | <el-button type="primary" @click="submitRefuseTaskByFireDepartment()">确定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import allFile from './file/allFire' |
| | | import constructionFile from './file/constructionFile' |
| | | import file from './file/index' |
| | | import fireMan from './fireMan/index' |
| | | import equipment from './equipment/index' |
| | | import safetyAndRiskConfirm from './safetyAndRiskConfirm/index' |
| | | import safetyAction from './safetyAction/index' |
| | | import taskBasic from './taskBasic/index' |
| | | import { |
| | | addTaskSecond, |
| | | involveReview, partReview, |
| | | securityReview, |
| | | submitConstruction, |
| | | updateTaskSecond |
| | | } from '../../../../../api/task' |
| | | import { parseError } from '../../../../../utils/messageDialog' |
| | | export default { |
| | | name: 'taskCreate', |
| | | data(){ |
| | | return{ |
| | | taskCreateDialog:false, |
| | | activeName:'taskBasic', |
| | | title:'', |
| | | basicForm:{}, |
| | | constructionForm:{}, |
| | | ifHotFireBasic:false, |
| | | ifSafetyAction:false, |
| | | ifSafetyAndRisk:false, |
| | | ifFireMan:false, |
| | | ifFile:false, |
| | | ifConstructionFile:false, |
| | | ifAllFile:false, |
| | | supervisorAndAnalystAgree:false, |
| | | supervisorAndAnalystRefuse:false, |
| | | relevantRefuse:false, |
| | | securityRefuse:false, |
| | | } |
| | | }, |
| | | components:{ |
| | | taskBasic, |
| | | safetyAction, |
| | | safetyAndRiskConfirm, |
| | | equipment, |
| | | fireMan, |
| | | file, |
| | | constructionFile, |
| | | allFile |
| | | }, |
| | | methods:{ |
| | | openTaskInfo(value,title){ |
| | | this.title = title |
| | | this.taskCreateDialog = true |
| | | this.activeName = 'taskBasic' |
| | | if(title === '新增'){ |
| | | this.ifHotFireBasic = true |
| | | this.ifSafetyAction = false |
| | | this.ifSafetyAndRisk = false |
| | | this.ifFireMan = false |
| | | this.ifFile = false |
| | | this.ifAllFile = false |
| | | this.ifConstructionFile = false |
| | | setTimeout(()=>{ |
| | | this.$refs.taskBasic.type = 1 |
| | | this.$refs.taskBasic.activeNames = ['0'] |
| | | this.$refs.taskBasic.taskBasicForm = { |
| | | unit:sessionStorage.getItem('company'), |
| | | department:sessionStorage.getItem('department'), |
| | | applicant:sessionStorage.getItem('realname'), |
| | | applyunitname: "", |
| | | applyunitopinion: "", |
| | | applyunittime: "", |
| | | approverprofession: "", |
| | | approversupervisor: "", |
| | | area: "", |
| | | code: "", |
| | | completedconfirm: "", |
| | | completedname: "", |
| | | completedtime: "", |
| | | constructionname: "", |
| | | constructionopinion: "", |
| | | constructiontime: "", |
| | | constructionunit: "", |
| | | createdat: "", |
| | | createdby: "", |
| | | director: "", |
| | | endtime: "", |
| | | enterprisename: "", |
| | | enterpriseopinion: "", |
| | | enterprisetime: "", |
| | | flag: 0, |
| | | hazard: [], |
| | | id: 0, |
| | | isdel: 0, |
| | | isholiday: null, |
| | | level:'', |
| | | modifiedat: "", |
| | | modifiedby: "", |
| | | othertask: "", |
| | | partdirector: "", |
| | | profession: "", |
| | | relevantname: "", |
| | | relevantopinion: "", |
| | | relevanttime: "", |
| | | resources: [ |
| | | ], |
| | | securityname: "", |
| | | securityopinion: "", |
| | | securitytime: "", |
| | | securitydep: "", |
| | | shiftleadername: "", |
| | | shiftleaderopinion: "", |
| | | shiftleadertime: "", |
| | | starttime: "", |
| | | status: 0, |
| | | supervisor: "", |
| | | taskAnalyses: [ |
| | | ], |
| | | taskEquipments: [ |
| | | ], |
| | | taskRisk: { |
| | | confirmat: "", |
| | | content: "", |
| | | createdat: "", |
| | | createdby: "", |
| | | director: "", |
| | | emergency: "", |
| | | environment: "", |
| | | flag: 0, |
| | | id: 0, |
| | | modifiedat: "", |
| | | modifiedby: "", |
| | | other: "", |
| | | preventive: "", |
| | | taskcode: "", |
| | | taskdirector: "" |
| | | }, |
| | | taskSecurities: [ |
| | | ], |
| | | taskWorkers: [ |
| | | ], |
| | | subTaskInfos:[], |
| | | type:'', |
| | | category:'', |
| | | firelevel:'', |
| | | checked:'', |
| | | spacecategory:'', |
| | | spacename:'', |
| | | spacemedium:'', |
| | | acibase:'', |
| | | hoistinglevel:'', |
| | | hoistingweight:'', |
| | | soildepth:'', |
| | | soilarea:'', |
| | | soilfile:[], |
| | | breakreason:'', |
| | | breakfile:[], |
| | | workheight:'', |
| | | heightlevel:'', |
| | | electricityarea:'', |
| | | voltage:'', |
| | | power:'', |
| | | pipename:'', |
| | | pipemedium:'', |
| | | pipetemperature:'', |
| | | pipepressure:'', |
| | | blindboardmaterial:'', |
| | | blindboardspecification:'', |
| | | blindboardnumber:'', |
| | | commander:'', |
| | | blindboardlocation:[], |
| | | firetype:'', |
| | | description:'', |
| | | isanalysis:'', |
| | | analysisarea:'', |
| | | analysismedium:'' |
| | | } |
| | | this.$refs.taskBasic.ifIncludeArea = null |
| | | this.$refs.taskBasic.ifHoisting = null |
| | | this.$refs.taskBasic.ifBuliding = null |
| | | this.$refs.taskBasic.ifIncludeRoad = null |
| | | this.$refs.taskBasic.ifIncludeHigh = null |
| | | this.$refs.taskBasic.ifIncludeElectricity = null |
| | | this.$refs.taskBasic.ifIncludePump = null |
| | | this.$refs.taskBasic.ifIncludeFire = null |
| | | this.$refs.taskBasic.resetFormRules() |
| | | }) |
| | | } |
| | | else if(title === '编辑'){ |
| | | this.ifSafetyAction = false |
| | | this.ifSafetyAndRisk = false |
| | | this.ifFireMan = false |
| | | this.ifFile = false |
| | | this.ifConstructionFile = false |
| | | this.ifAllFile = false |
| | | this.ifHotFireBasic = true |
| | | this.basicForm = JSON.parse(JSON.stringify(value)) |
| | | setTimeout(()=>{ |
| | | this.$refs.taskBasic.type = 2 |
| | | this.$refs.taskBasic.resetFormRules() |
| | | this.$refs.taskBasic.taskBasicForm = JSON.parse(JSON.stringify(value)) |
| | | this.$refs.taskBasic.taskBasicForm.hazard = this.$refs.taskBasic.taskBasicForm.hazard.split('、') |
| | | let form = JSON.parse(JSON.stringify(value)).subTaskInfos |
| | | this.$refs.taskBasic.taskBasicForm.type = '' |
| | | this.$refs.taskBasic.taskBasicForm.category = '' |
| | | this.$refs.taskBasic.taskBasicForm.firelevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.checked = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacecategory = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacename = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacemedium = '' |
| | | this.$refs.taskBasic.taskBasicForm.acibase = '' |
| | | this.$refs.taskBasic.taskBasicForm.hoistinglevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.hoistingweight = '' |
| | | this.$refs.taskBasic.taskBasicForm.soildepth = '' |
| | | this.$refs.taskBasic.taskBasicForm.soilarea = '' |
| | | this.$refs.taskBasic.taskBasicForm.soilfile = [] |
| | | this.$refs.taskBasic.taskBasicForm.breakreason = '' |
| | | this.$refs.taskBasic.taskBasicForm.breakfile = [] |
| | | this.$refs.taskBasic.taskBasicForm.workheight = '' |
| | | this.$refs.taskBasic.taskBasicForm.heightlevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.electricityarea = '' |
| | | this.$refs.taskBasic.taskBasicForm.voltage = '' |
| | | this.$refs.taskBasic.taskBasicForm.power = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipename = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipemedium = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipetemperature = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipepressure = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardmaterial = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardspecification = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardnumber = '' |
| | | this.$refs.taskBasic.taskBasicForm.commander = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardlocation = [] |
| | | this.$refs.taskBasic.taskBasicForm.firetype = '' |
| | | for(let i in form){ |
| | | if(form[i].type === '受限空间作业'){ |
| | | this.$refs.taskBasic.activeNames.push('1') |
| | | this.$refs.taskBasic.ifIncludeArea = 1 |
| | | this.$refs.taskBasic.taskBasicForm.spacecategory = form[i].spacecategory |
| | | this.$refs.taskBasic.taskBasicForm.spacename = form[i].spacename |
| | | this.$refs.taskBasic.taskBasicForm.spacemedium = form[i].spacemedium |
| | | this.$refs.taskBasic.taskBasicForm.acibase = form[i].acibase |
| | | } |
| | | else if(form[i].type === '吊装作业'){ |
| | | this.$refs.taskBasic.activeNames.push('2') |
| | | this.$refs.taskBasic.ifHoisting = 1 |
| | | this.$refs.taskBasic.taskBasicForm.hoistinglevel = form[i].hoistinglevel |
| | | this.$refs.taskBasic.taskBasicForm.hoistingweight = form[i].hoistingweight |
| | | } |
| | | else if(form[i].type === '动土作业'){ |
| | | this.$refs.taskBasic.activeNames.push('3') |
| | | this.$refs.taskBasic.ifBuilding = 1 |
| | | this.$refs.taskBasic.taskBasicForm.soildepth = form[i].soildepth |
| | | this.$refs.taskBasic.taskBasicForm.soilarea = form[i].soilarea |
| | | this.$refs.taskBasic.taskBasicForm.soilfile = form[i].soilfile.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else if(form[i].type === '断路作业'){ |
| | | this.$refs.taskBasic.activeNames.push('4') |
| | | this.$refs.taskBasic.ifIncludeRoad = 1 |
| | | this.$refs.taskBasic.taskBasicForm.breakreason = form[i].breakreason |
| | | this.$refs.taskBasic.taskBasicForm.breakfile = form[i].breakfile.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else if(form[i].type === '高处作业'){ |
| | | this.$refs.taskBasic.activeNames.push('5') |
| | | this.$refs.taskBasic.ifIncludeHigh = 1 |
| | | this.$refs.taskBasic.taskBasicForm.heightlevel = form[i].heightlevel |
| | | this.$refs.taskBasic.taskBasicForm.workheight = form[i].workheight |
| | | } |
| | | else if(form[i].type === '临时用电作业'){ |
| | | this.$refs.taskBasic.activeNames.push('6') |
| | | this.$refs.taskBasic.ifIncludeElectricity = 1 |
| | | this.$refs.taskBasic.taskBasicForm.electricityarea = form[i].electricityarea |
| | | this.$refs.taskBasic.taskBasicForm.voltage = form[i].voltage |
| | | this.$refs.taskBasic.taskBasicForm.power = form[i].power |
| | | } |
| | | else if(form[i].type === '盲板抽堵作业'){ |
| | | this.$refs.taskBasic.activeNames.push('7') |
| | | this.$refs.taskBasic.ifIncludePump = 1 |
| | | this.$refs.taskBasic.taskBasicForm.pipename = form[i].pipename |
| | | this.$refs.taskBasic.taskBasicForm.pipemedium = form[i].pipemedium |
| | | this.$refs.taskBasic.taskBasicForm.pipetemperature = form[i].pipetemperature |
| | | this.$refs.taskBasic.taskBasicForm.pipepressure = form[i].pipepressure |
| | | this.$refs.taskBasic.taskBasicForm.blindboardmaterial = form[i].blindboardmaterial |
| | | this.$refs.taskBasic.taskBasicForm.blindboardspecification = form[i].blindboardspecification |
| | | this.$refs.taskBasic.taskBasicForm.blindboardnumber = form[i].blindboardnumber |
| | | this.$refs.taskBasic.taskBasicForm.blindboardlocation = form[i].blindboardlocation.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else{ |
| | | this.$refs.taskBasic.activeNames.push('8') |
| | | this.$refs.taskBasic.ifIncludeFire = 1 |
| | | this.$refs.taskBasic.taskBasicForm.firelevel = form[i].level |
| | | this.$refs.taskBasic.taskBasicForm.firetype = form[i].firetype |
| | | } |
| | | } |
| | | this.$refs.taskBasic.giveTaskBasic(this.$refs.taskBasic.taskBasicForm) |
| | | }) |
| | | } |
| | | else if(title === '复制'){ |
| | | this.ifSafetyAction = false |
| | | this.ifSafetyAndRisk = false |
| | | this.ifFireMan = false |
| | | this.ifFile = false |
| | | this.ifConstructionFile = false |
| | | this.ifAllFile = false |
| | | this.ifHotFireBasic = true |
| | | this.basicForm = JSON.parse(JSON.stringify(value)) |
| | | setTimeout(()=>{ |
| | | this.$refs.taskBasic.type = 1 |
| | | this.$refs.taskBasic.resetFormRules() |
| | | this.$refs.taskBasic.taskBasicForm = JSON.parse(JSON.stringify(value)) |
| | | this.$refs.taskBasic.taskBasicForm.hazard = this.$refs.taskBasic.taskBasicForm.hazard.split('、') |
| | | let form = JSON.parse(JSON.stringify(value)).subTaskInfos |
| | | this.$refs.taskBasic.taskBasicForm.type = '' |
| | | this.$refs.taskBasic.taskBasicForm.category = '' |
| | | this.$refs.taskBasic.taskBasicForm.firelevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.checked = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacecategory = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacename = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacemedium = '' |
| | | this.$refs.taskBasic.taskBasicForm.acibase = '' |
| | | this.$refs.taskBasic.taskBasicForm.hoistinglevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.hoistingweight = '' |
| | | this.$refs.taskBasic.taskBasicForm.soildepth = '' |
| | | this.$refs.taskBasic.taskBasicForm.soilarea = '' |
| | | this.$refs.taskBasic.taskBasicForm.soilfile = [] |
| | | this.$refs.taskBasic.taskBasicForm.breakreason = '' |
| | | this.$refs.taskBasic.taskBasicForm.breakfile = [] |
| | | this.$refs.taskBasic.taskBasicForm.workheight = '' |
| | | this.$refs.taskBasic.taskBasicForm.heightlevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.electricityarea = '' |
| | | this.$refs.taskBasic.taskBasicForm.voltage = '' |
| | | this.$refs.taskBasic.taskBasicForm.power = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipename = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipemedium = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipetemperature = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipepressure = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardmaterial = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardspecification = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardnumber = '' |
| | | this.$refs.taskBasic.taskBasicForm.commander = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardlocation = [] |
| | | this.$refs.taskBasic.taskBasicForm.firetype = '' |
| | | for(let i in form){ |
| | | if(form[i].type === '受限空间作业'){ |
| | | this.$refs.taskBasic.activeNames.push('1') |
| | | this.$refs.taskBasic.ifIncludeArea = 1 |
| | | this.$refs.taskBasic.taskBasicForm.spacecategory = form[i].spacecategory |
| | | this.$refs.taskBasic.taskBasicForm.spacename = form[i].spacename |
| | | this.$refs.taskBasic.taskBasicForm.spacemedium = form[i].spacemedium |
| | | this.$refs.taskBasic.taskBasicForm.acibase = form[i].acibase |
| | | } |
| | | else if(form[i].type === '吊装作业'){ |
| | | this.$refs.taskBasic.activeNames.push('2') |
| | | this.$refs.taskBasic.ifHoisting = 1 |
| | | this.$refs.taskBasic.taskBasicForm.hoistinglevel = form[i].hoistinglevel |
| | | this.$refs.taskBasic.taskBasicForm.hoistingweight = form[i].hoistingweight |
| | | } |
| | | else if(form[i].type === '动土作业'){ |
| | | this.$refs.taskBasic.activeNames.push('3') |
| | | this.$refs.taskBasic.ifBuilding = 1 |
| | | this.$refs.taskBasic.taskBasicForm.soildepth = form[i].soildepth |
| | | this.$refs.taskBasic.taskBasicForm.soilarea = form[i].soilarea |
| | | this.$refs.taskBasic.taskBasicForm.soilfile = form[i].soilfile.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else if(form[i].type === '断路作业'){ |
| | | this.$refs.taskBasic.activeNames.push('4') |
| | | this.$refs.taskBasic.ifIncludeRoad = 1 |
| | | this.$refs.taskBasic.taskBasicForm.breakreason = form[i].breakreason |
| | | this.$refs.taskBasic.taskBasicForm.breakfile = form[i].breakfile.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else if(form[i].type === '高处作业'){ |
| | | this.$refs.taskBasic.activeNames.push('5') |
| | | this.$refs.taskBasic.ifIncludeHigh = 1 |
| | | this.$refs.taskBasic.taskBasicForm.heightlevel = form[i].heightlevel |
| | | this.$refs.taskBasic.taskBasicForm.workheight = form[i].workheight |
| | | } |
| | | else if(form[i].type === '临时用电作业'){ |
| | | this.$refs.taskBasic.activeNames.push('6') |
| | | this.$refs.taskBasic.ifIncludeElectricity = 1 |
| | | this.$refs.taskBasic.taskBasicForm.electricityarea = form[i].electricityarea |
| | | this.$refs.taskBasic.taskBasicForm.voltage = form[i].voltage |
| | | this.$refs.taskBasic.taskBasicForm.power = form[i].power |
| | | } |
| | | else if(form[i].type === '盲板抽堵作业'){ |
| | | this.$refs.taskBasic.activeNames.push('7') |
| | | this.$refs.taskBasic.ifIncludePump = 1 |
| | | this.$refs.taskBasic.taskBasicForm.pipename = form[i].pipename |
| | | this.$refs.taskBasic.taskBasicForm.pipemedium = form[i].pipemedium |
| | | this.$refs.taskBasic.taskBasicForm.pipetemperature = form[i].pipetemperature |
| | | this.$refs.taskBasic.taskBasicForm.pipepressure = form[i].pipepressure |
| | | this.$refs.taskBasic.taskBasicForm.blindboardmaterial = form[i].blindboardmaterial |
| | | this.$refs.taskBasic.taskBasicForm.blindboardspecification = form[i].blindboardspecification |
| | | this.$refs.taskBasic.taskBasicForm.blindboardnumber = form[i].blindboardnumber |
| | | this.$refs.taskBasic.taskBasicForm.blindboardlocation = form[i].blindboardlocation.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else{ |
| | | this.$refs.taskBasic.activeNames.push('8') |
| | | this.$refs.taskBasic.ifIncludeFire = 1 |
| | | this.$refs.taskBasic.taskBasicForm.firelevel = form[i].level |
| | | this.$refs.taskBasic.taskBasicForm.firetype = form[i].firetype |
| | | } |
| | | } |
| | | this.$refs.taskBasic.giveTaskBasic(this.$refs.taskBasic.taskBasicForm) |
| | | }) |
| | | } |
| | | else if(title === '施工单位确认'){ |
| | | this.title = '施工单位确认' |
| | | this.ifHotFireBasic = true |
| | | this.ifSafetyAction = true |
| | | this.ifSafetyAndRisk = true |
| | | this.ifFireMan = false |
| | | this.ifFile = false |
| | | this.ifConstructionFile = true |
| | | this.basicForm = JSON.parse(JSON.stringify(value)) |
| | | setTimeout(()=>{ |
| | | this.$refs.taskBasic.taskBasicForm = JSON.parse(JSON.stringify(value)) |
| | | this.$refs.taskBasic.taskBasicForm.hazard = this.$refs.taskBasic.taskBasicForm.hazard.split(',') |
| | | let form = JSON.parse(JSON.stringify(value)).subTaskInfos |
| | | this.$refs.taskBasic.taskBasicForm.type = '' |
| | | this.$refs.taskBasic.taskBasicForm.category = '' |
| | | this.$refs.taskBasic.taskBasicForm.firelevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.checked = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacecategory = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacename = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacemedium = '' |
| | | this.$refs.taskBasic.taskBasicForm.acibase = '' |
| | | this.$refs.taskBasic.taskBasicForm.hoistinglevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.hoistingweight = '' |
| | | this.$refs.taskBasic.taskBasicForm.soildepth = '' |
| | | this.$refs.taskBasic.taskBasicForm.soilarea = '' |
| | | this.$refs.taskBasic.taskBasicForm.soilfile = [] |
| | | this.$refs.taskBasic.taskBasicForm.breakreason = '' |
| | | this.$refs.taskBasic.taskBasicForm.breakfile = [] |
| | | this.$refs.taskBasic.taskBasicForm.workheight = '' |
| | | this.$refs.taskBasic.taskBasicForm.heightlevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.electricityarea = '' |
| | | this.$refs.taskBasic.taskBasicForm.voltage = '' |
| | | this.$refs.taskBasic.taskBasicForm.power = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipename = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipemedium = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipetemperature = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipepressure = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardmaterial = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardspecification = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardnumber = '' |
| | | this.$refs.taskBasic.taskBasicForm.commander = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardlocation = [] |
| | | this.$refs.taskBasic.taskBasicForm.firetype = '' |
| | | for(let i in form){ |
| | | if(form[i].type === '受限空间作业'){ |
| | | this.$refs.taskBasic.activeNames.push('1') |
| | | this.$refs.taskBasic.ifIncludeArea = 1 |
| | | this.$refs.taskBasic.taskBasicForm.spacecategory = form[i].spacecategory |
| | | this.$refs.taskBasic.taskBasicForm.spacename = form[i].spacename |
| | | this.$refs.taskBasic.taskBasicForm.spacemedium = form[i].spacemedium |
| | | this.$refs.taskBasic.taskBasicForm.acibase = form[i].acibase |
| | | } |
| | | else if(form[i].type === '吊装作业'){ |
| | | this.$refs.taskBasic.activeNames.push('2') |
| | | this.$refs.taskBasic.ifHoisting = 1 |
| | | this.$refs.taskBasic.taskBasicForm.hoistinglevel = form[i].hoistinglevel |
| | | this.$refs.taskBasic.taskBasicForm.hoistingweight = form[i].hoistingweight |
| | | } |
| | | else if(form[i].type === '动土作业'){ |
| | | this.$refs.taskBasic.activeNames.push('3') |
| | | this.$refs.taskBasic.ifBuilding = 1 |
| | | this.$refs.taskBasic.taskBasicForm.soildepth = form[i].soildepth |
| | | this.$refs.taskBasic.taskBasicForm.soilarea = form[i].soilarea |
| | | this.$refs.taskBasic.taskBasicForm.soilfile = form[i].soilfile.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else if(form[i].type === '断路作业'){ |
| | | this.$refs.taskBasic.activeNames.push('4') |
| | | this.$refs.taskBasic.ifIncludeRoad = 1 |
| | | this.$refs.taskBasic.taskBasicForm.breakreason = form[i].breakreason |
| | | this.$refs.taskBasic.taskBasicForm.breakfile = form[i].breakfile.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else if(form[i].type === '高处作业'){ |
| | | this.$refs.taskBasic.activeNames.push('5') |
| | | this.$refs.taskBasic.ifIncludeHigh = 1 |
| | | this.$refs.taskBasic.taskBasicForm.heightlevel = form[i].heightlevel |
| | | this.$refs.taskBasic.taskBasicForm.workheight = form[i].workheight |
| | | } |
| | | else if(form[i].type === '临时用电作业'){ |
| | | this.$refs.taskBasic.activeNames.push('6') |
| | | this.$refs.taskBasic.ifIncludeElectricity = 1 |
| | | this.$refs.taskBasic.taskBasicForm.electricityarea = form[i].electricityarea |
| | | this.$refs.taskBasic.taskBasicForm.voltage = form[i].voltage |
| | | this.$refs.taskBasic.taskBasicForm.power = form[i].power |
| | | } |
| | | else if(form[i].type === '盲板抽堵作业'){ |
| | | this.$refs.taskBasic.activeNames.push('7') |
| | | this.$refs.taskBasic.ifIncludePump = 1 |
| | | this.$refs.taskBasic.taskBasicForm.pipename = form[i].pipename |
| | | this.$refs.taskBasic.taskBasicForm.pipemedium = form[i].pipemedium |
| | | this.$refs.taskBasic.taskBasicForm.pipetemperature = form[i].pipetemperature |
| | | this.$refs.taskBasic.taskBasicForm.pipepressure = form[i].pipepressure |
| | | this.$refs.taskBasic.taskBasicForm.blindboardmaterial = form[i].blindboardmaterial |
| | | this.$refs.taskBasic.taskBasicForm.blindboardspecification = form[i].blindboardspecification |
| | | this.$refs.taskBasic.taskBasicForm.blindboardnumber = form[i].blindboardnumber |
| | | this.$refs.taskBasic.taskBasicForm.blindboardlocation = form[i].blindboardlocation.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else{ |
| | | this.$refs.taskBasic.activeNames.push('8') |
| | | this.$refs.taskBasic.ifIncludeFire = 1 |
| | | this.$refs.taskBasic.taskBasicForm.firelevel = form[i].level |
| | | this.$refs.taskBasic.taskBasicForm.firetype = form[i].firetype |
| | | } |
| | | } |
| | | this.$refs.safetyAction.tasksecurity = JSON.parse(JSON.stringify(value)).taskSecurities |
| | | this.$refs.safetyAndRiskConfirm.taskRiskForm = JSON.parse(JSON.stringify(value)).taskRisk |
| | | this.$refs.equipment.equipmentData = JSON.parse(JSON.stringify(value)).taskEquipments |
| | | this.$refs.constructionFile.ifCompany = true |
| | | this.$refs.constructionFile.ifConstruction = false |
| | | this.$refs.constructionFile.getFileList() |
| | | this.$refs.taskBasic.resetFormRules() |
| | | }) |
| | | } |
| | | else if(title === '动火部位审批'){ |
| | | this.ifHotFireBasic = true |
| | | this.ifSafetyAction = true |
| | | this.ifSafetyAndRisk = true |
| | | this.ifFireMan = true |
| | | this.ifAllFile = true |
| | | this.basicForm = JSON.parse(JSON.stringify(value)) |
| | | setTimeout(()=>{ |
| | | this.$refs.taskBasic.taskBasicForm = JSON.parse(JSON.stringify(value)) |
| | | let form = JSON.parse(JSON.stringify(value)).subTaskInfos |
| | | this.$refs.taskBasic.taskBasicForm.type = '' |
| | | this.$refs.taskBasic.taskBasicForm.category = '' |
| | | this.$refs.taskBasic.taskBasicForm.firelevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.checked = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacecategory = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacename = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacemedium = '' |
| | | this.$refs.taskBasic.taskBasicForm.acibase = '' |
| | | this.$refs.taskBasic.taskBasicForm.hoistinglevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.hoistingweight = '' |
| | | this.$refs.taskBasic.taskBasicForm.soildepth = '' |
| | | this.$refs.taskBasic.taskBasicForm.soilarea = '' |
| | | this.$refs.taskBasic.taskBasicForm.soilfile = [] |
| | | this.$refs.taskBasic.taskBasicForm.breakreason = '' |
| | | this.$refs.taskBasic.taskBasicForm.breakfile = [] |
| | | this.$refs.taskBasic.taskBasicForm.workheight = '' |
| | | this.$refs.taskBasic.taskBasicForm.heightlevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.electricityarea = '' |
| | | this.$refs.taskBasic.taskBasicForm.voltage = '' |
| | | this.$refs.taskBasic.taskBasicForm.power = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipename = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipemedium = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipetemperature = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipepressure = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardmaterial = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardspecification = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardnumber = '' |
| | | this.$refs.taskBasic.taskBasicForm.commander = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardlocation = [] |
| | | this.$refs.taskBasic.taskBasicForm.firetype = '' |
| | | for(let i in form){ |
| | | if(form[i].type === '受限空间作业'){ |
| | | this.$refs.taskBasic.activeNames.push('1') |
| | | this.$refs.taskBasic.ifIncludeArea = 1 |
| | | this.$refs.taskBasic.taskBasicForm.spacecategory = form[i].spacecategory |
| | | this.$refs.taskBasic.taskBasicForm.spacename = form[i].spacename |
| | | this.$refs.taskBasic.taskBasicForm.spacemedium = form[i].spacemedium |
| | | this.$refs.taskBasic.taskBasicForm.acibase = form[i].acibase |
| | | } |
| | | else if(form[i].type === '吊装作业'){ |
| | | this.$refs.taskBasic.activeNames.push('2') |
| | | this.$refs.taskBasic.ifHoisting = 1 |
| | | this.$refs.taskBasic.taskBasicForm.hoistinglevel = form[i].hoistinglevel |
| | | this.$refs.taskBasic.taskBasicForm.hoistingweight = form[i].hoistingweight |
| | | } |
| | | else if(form[i].type === '动土作业'){ |
| | | this.$refs.taskBasic.activeNames.push('3') |
| | | this.$refs.taskBasic.ifBuilding = 1 |
| | | this.$refs.taskBasic.taskBasicForm.soildepth = form[i].soildepth |
| | | this.$refs.taskBasic.taskBasicForm.soilarea = form[i].soilarea |
| | | this.$refs.taskBasic.taskBasicForm.soilfile = form[i].soilfile.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else if(form[i].type === '断路作业'){ |
| | | this.$refs.taskBasic.activeNames.push('4') |
| | | this.$refs.taskBasic.ifIncludeRoad = 1 |
| | | this.$refs.taskBasic.taskBasicForm.breakreason = form[i].breakreason |
| | | this.$refs.taskBasic.taskBasicForm.breakfile = form[i].breakfile.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else if(form[i].type === '高处作业'){ |
| | | this.$refs.taskBasic.activeNames.push('5') |
| | | this.$refs.taskBasic.ifIncludeHigh = 1 |
| | | this.$refs.taskBasic.taskBasicForm.heightlevel = form[i].heightlevel |
| | | this.$refs.taskBasic.taskBasicForm.workheight = form[i].workheight |
| | | } |
| | | else if(form[i].type === '临时用电作业'){ |
| | | this.$refs.taskBasic.activeNames.push('6') |
| | | this.$refs.taskBasic.ifIncludeElectricity = 1 |
| | | this.$refs.taskBasic.taskBasicForm.electricityarea = form[i].electricityarea |
| | | this.$refs.taskBasic.taskBasicForm.voltage = form[i].voltage |
| | | this.$refs.taskBasic.taskBasicForm.power = form[i].power |
| | | } |
| | | else if(form[i].type === '盲板抽堵作业'){ |
| | | this.$refs.taskBasic.activeNames.push('7') |
| | | this.$refs.taskBasic.ifIncludePump = 1 |
| | | this.$refs.taskBasic.taskBasicForm.pipename = form[i].pipename |
| | | this.$refs.taskBasic.taskBasicForm.pipemedium = form[i].pipemedium |
| | | this.$refs.taskBasic.taskBasicForm.pipetemperature = form[i].pipetemperature |
| | | this.$refs.taskBasic.taskBasicForm.pipepressure = form[i].pipepressure |
| | | this.$refs.taskBasic.taskBasicForm.blindboardmaterial = form[i].blindboardmaterial |
| | | this.$refs.taskBasic.taskBasicForm.blindboardspecification = form[i].blindboardspecification |
| | | this.$refs.taskBasic.taskBasicForm.blindboardnumber = form[i].blindboardnumber |
| | | this.$refs.taskBasic.taskBasicForm.blindboardlocation = form[i].blindboardlocation.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else{ |
| | | this.$refs.taskBasic.activeNames.push('8') |
| | | this.$refs.taskBasic.ifIncludeFire = 1 |
| | | this.$refs.taskBasic.taskBasicForm.firelevel = form[i].level |
| | | this.$refs.taskBasic.taskBasicForm.firetype = form[i].firetype |
| | | } |
| | | } |
| | | this.$refs.safetyAction.tasksecurity = JSON.parse(JSON.stringify(value)).taskSecurities |
| | | this.$refs.safetyAndRiskConfirm.taskRiskForm = JSON.parse(JSON.stringify(value)).taskRisk |
| | | this.$refs.equipment.equipmentData = JSON.parse(JSON.stringify(value)).taskEquipments |
| | | this.$refs.fireMan.taskWorkers = JSON.parse(JSON.stringify(value)).taskWorkers |
| | | this.$refs.taskBasic.resetFormRules() |
| | | }) |
| | | } |
| | | else if(title === '相关部门审批'){ |
| | | this.ifHotFireBasic = true |
| | | this.ifSafetyAction = true |
| | | this.ifSafetyAndRisk = true |
| | | this.ifFireMan = true |
| | | this.ifAllFile = true |
| | | this.basicForm = JSON.parse(JSON.stringify(value)) |
| | | setTimeout(()=>{ |
| | | this.$refs.taskBasic.taskBasicForm = JSON.parse(JSON.stringify(value)) |
| | | let form = JSON.parse(JSON.stringify(value)).subTaskInfos |
| | | this.$refs.taskBasic.taskBasicForm.type = '' |
| | | this.$refs.taskBasic.taskBasicForm.category = '' |
| | | this.$refs.taskBasic.taskBasicForm.firelevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.checked = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacecategory = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacename = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacemedium = '' |
| | | this.$refs.taskBasic.taskBasicForm.acibase = '' |
| | | this.$refs.taskBasic.taskBasicForm.hoistinglevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.hoistingweight = '' |
| | | this.$refs.taskBasic.taskBasicForm.soildepth = '' |
| | | this.$refs.taskBasic.taskBasicForm.soilarea = '' |
| | | this.$refs.taskBasic.taskBasicForm.soilfile = [] |
| | | this.$refs.taskBasic.taskBasicForm.breakreason = '' |
| | | this.$refs.taskBasic.taskBasicForm.breakfile = [] |
| | | this.$refs.taskBasic.taskBasicForm.workheight = '' |
| | | this.$refs.taskBasic.taskBasicForm.heightlevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.electricityarea = '' |
| | | this.$refs.taskBasic.taskBasicForm.voltage = '' |
| | | this.$refs.taskBasic.taskBasicForm.power = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipename = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipemedium = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipetemperature = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipepressure = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardmaterial = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardspecification = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardnumber = '' |
| | | this.$refs.taskBasic.taskBasicForm.commander = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardlocation = [] |
| | | this.$refs.taskBasic.taskBasicForm.firetype = '' |
| | | for(let i in form){ |
| | | if(form[i].type === '受限空间作业'){ |
| | | this.$refs.taskBasic.activeNames.push('1') |
| | | this.$refs.taskBasic.ifIncludeArea = 1 |
| | | this.$refs.taskBasic.taskBasicForm.spacecategory = form[i].spacecategory |
| | | this.$refs.taskBasic.taskBasicForm.spacename = form[i].spacename |
| | | this.$refs.taskBasic.taskBasicForm.spacemedium = form[i].spacemedium |
| | | this.$refs.taskBasic.taskBasicForm.acibase = form[i].acibase |
| | | } |
| | | else if(form[i].type === '吊装作业'){ |
| | | this.$refs.taskBasic.activeNames.push('2') |
| | | this.$refs.taskBasic.ifHoisting = 1 |
| | | this.$refs.taskBasic.taskBasicForm.hoistinglevel = form[i].hoistinglevel |
| | | this.$refs.taskBasic.taskBasicForm.hoistingweight = form[i].hoistingweight |
| | | } |
| | | else if(form[i].type === '动土作业'){ |
| | | this.$refs.taskBasic.activeNames.push('3') |
| | | this.$refs.taskBasic.ifBuilding = 1 |
| | | this.$refs.taskBasic.taskBasicForm.soildepth = form[i].soildepth |
| | | this.$refs.taskBasic.taskBasicForm.soilarea = form[i].soilarea |
| | | this.$refs.taskBasic.taskBasicForm.soilfile = form[i].soilfile.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else if(form[i].type === '断路作业'){ |
| | | this.$refs.taskBasic.activeNames.push('4') |
| | | this.$refs.taskBasic.ifIncludeRoad = 1 |
| | | this.$refs.taskBasic.taskBasicForm.breakreason = form[i].breakreason |
| | | this.$refs.taskBasic.taskBasicForm.breakfile = form[i].breakfile.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else if(form[i].type === '高处作业'){ |
| | | this.$refs.taskBasic.activeNames.push('5') |
| | | this.$refs.taskBasic.ifIncludeHigh = 1 |
| | | this.$refs.taskBasic.taskBasicForm.heightlevel = form[i].heightlevel |
| | | this.$refs.taskBasic.taskBasicForm.workheight = form[i].workheight |
| | | } |
| | | else if(form[i].type === '临时用电作业'){ |
| | | this.$refs.taskBasic.activeNames.push('6') |
| | | this.$refs.taskBasic.ifIncludeElectricity = 1 |
| | | this.$refs.taskBasic.taskBasicForm.electricityarea = form[i].electricityarea |
| | | this.$refs.taskBasic.taskBasicForm.voltage = form[i].voltage |
| | | this.$refs.taskBasic.taskBasicForm.power = form[i].power |
| | | } |
| | | else if(form[i].type === '盲板抽堵作业'){ |
| | | this.$refs.taskBasic.activeNames.push('7') |
| | | this.$refs.taskBasic.ifIncludePump = 1 |
| | | this.$refs.taskBasic.taskBasicForm.pipename = form[i].pipename |
| | | this.$refs.taskBasic.taskBasicForm.pipemedium = form[i].pipemedium |
| | | this.$refs.taskBasic.taskBasicForm.pipetemperature = form[i].pipetemperature |
| | | this.$refs.taskBasic.taskBasicForm.pipepressure = form[i].pipepressure |
| | | this.$refs.taskBasic.taskBasicForm.blindboardmaterial = form[i].blindboardmaterial |
| | | this.$refs.taskBasic.taskBasicForm.blindboardspecification = form[i].blindboardspecification |
| | | this.$refs.taskBasic.taskBasicForm.blindboardnumber = form[i].blindboardnumber |
| | | this.$refs.taskBasic.taskBasicForm.blindboardlocation = form[i].blindboardlocation.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else{ |
| | | this.$refs.taskBasic.activeNames.push('8') |
| | | this.$refs.taskBasic.ifIncludeFire = 1 |
| | | this.$refs.taskBasic.taskBasicForm.firelevel = form[i].level |
| | | this.$refs.taskBasic.taskBasicForm.firetype = form[i].firetype |
| | | } |
| | | } |
| | | this.$refs.safetyAction.tasksecurity = JSON.parse(JSON.stringify(value)).taskSecurities |
| | | this.$refs.safetyAndRiskConfirm.taskRiskForm = JSON.parse(JSON.stringify(value)).taskRisk |
| | | this.$refs.equipment.equipmentData = JSON.parse(JSON.stringify(value)).taskEquipments |
| | | this.$refs.fireMan.taskWorkers = JSON.parse(JSON.stringify(value)).taskWorkers |
| | | this.$refs.taskBasic.resetFormRules() |
| | | }) |
| | | } |
| | | else if(title === '安全部门审批'){ |
| | | this.ifHotFireBasic = true |
| | | this.ifSafetyAction = true |
| | | this.ifSafetyAndRisk = true |
| | | this.ifFireMan = true |
| | | this.ifAllFile = true |
| | | this.basicForm = JSON.parse(JSON.stringify(value)) |
| | | setTimeout(()=>{ |
| | | this.$refs.taskBasic.taskBasicForm = JSON.parse(JSON.stringify(value)) |
| | | let form = JSON.parse(JSON.stringify(value)).subTaskInfos |
| | | this.$refs.taskBasic.taskBasicForm.type = '' |
| | | this.$refs.taskBasic.taskBasicForm.category = '' |
| | | this.$refs.taskBasic.taskBasicForm.firelevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.checked = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacecategory = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacename = '' |
| | | this.$refs.taskBasic.taskBasicForm.spacemedium = '' |
| | | this.$refs.taskBasic.taskBasicForm.acibase = '' |
| | | this.$refs.taskBasic.taskBasicForm.hoistinglevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.hoistingweight = '' |
| | | this.$refs.taskBasic.taskBasicForm.soildepth = '' |
| | | this.$refs.taskBasic.taskBasicForm.soilarea = '' |
| | | this.$refs.taskBasic.taskBasicForm.soilfile = [] |
| | | this.$refs.taskBasic.taskBasicForm.breakreason = '' |
| | | this.$refs.taskBasic.taskBasicForm.breakfile = [] |
| | | this.$refs.taskBasic.taskBasicForm.workheight = '' |
| | | this.$refs.taskBasic.taskBasicForm.heightlevel = '' |
| | | this.$refs.taskBasic.taskBasicForm.electricityarea = '' |
| | | this.$refs.taskBasic.taskBasicForm.voltage = '' |
| | | this.$refs.taskBasic.taskBasicForm.power = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipename = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipemedium = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipetemperature = '' |
| | | this.$refs.taskBasic.taskBasicForm.pipepressure = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardmaterial = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardspecification = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardnumber = '' |
| | | this.$refs.taskBasic.taskBasicForm.commander = '' |
| | | this.$refs.taskBasic.taskBasicForm.blindboardlocation = [] |
| | | this.$refs.taskBasic.taskBasicForm.firetype = '' |
| | | for(let i in form){ |
| | | if(form[i].type === '受限空间作业'){ |
| | | this.$refs.taskBasic.activeNames.push('1') |
| | | this.$refs.taskBasic.ifIncludeArea = 1 |
| | | this.$refs.taskBasic.taskBasicForm.spacecategory = form[i].spacecategory |
| | | this.$refs.taskBasic.taskBasicForm.spacename = form[i].spacename |
| | | this.$refs.taskBasic.taskBasicForm.spacemedium = form[i].spacemedium |
| | | this.$refs.taskBasic.taskBasicForm.acibase = form[i].acibase |
| | | } |
| | | else if(form[i].type === '吊装作业'){ |
| | | this.$refs.taskBasic.activeNames.push('2') |
| | | this.$refs.taskBasic.ifHoisting = 1 |
| | | this.$refs.taskBasic.taskBasicForm.hoistinglevel = form[i].hoistinglevel |
| | | this.$refs.taskBasic.taskBasicForm.hoistingweight = form[i].hoistingweight |
| | | } |
| | | else if(form[i].type === '动土作业'){ |
| | | this.$refs.taskBasic.activeNames.push('3') |
| | | this.$refs.taskBasic.ifBuilding = 1 |
| | | this.$refs.taskBasic.taskBasicForm.soildepth = form[i].soildepth |
| | | this.$refs.taskBasic.taskBasicForm.soilarea = form[i].soilarea |
| | | this.$refs.taskBasic.taskBasicForm.soilfile = form[i].soilfile.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else if(form[i].type === '断路作业'){ |
| | | this.$refs.taskBasic.activeNames.push('4') |
| | | this.$refs.taskBasic.ifIncludeRoad = 1 |
| | | this.$refs.taskBasic.taskBasicForm.breakreason = form[i].breakreason |
| | | this.$refs.taskBasic.taskBasicForm.breakfile = form[i].breakfile.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else if(form[i].type === '高处作业'){ |
| | | this.$refs.taskBasic.activeNames.push('5') |
| | | this.$refs.taskBasic.ifIncludeHigh = 1 |
| | | this.$refs.taskBasic.taskBasicForm.heightlevel = form[i].heightlevel |
| | | this.$refs.taskBasic.taskBasicForm.workheight = form[i].workheight |
| | | } |
| | | else if(form[i].type === '临时用电作业'){ |
| | | this.$refs.taskBasic.activeNames.push('6') |
| | | this.$refs.taskBasic.ifIncludeElectricity = 1 |
| | | this.$refs.taskBasic.taskBasicForm.electricityarea = form[i].electricityarea |
| | | this.$refs.taskBasic.taskBasicForm.voltage = form[i].voltage |
| | | this.$refs.taskBasic.taskBasicForm.power = form[i].power |
| | | } |
| | | else if(form[i].type === '盲板抽堵作业'){ |
| | | this.$refs.taskBasic.activeNames.push('7') |
| | | this.$refs.taskBasic.ifIncludePump = 1 |
| | | this.$refs.taskBasic.taskBasicForm.pipename = form[i].pipename |
| | | this.$refs.taskBasic.taskBasicForm.pipemedium = form[i].pipemedium |
| | | this.$refs.taskBasic.taskBasicForm.pipetemperature = form[i].pipetemperature |
| | | this.$refs.taskBasic.taskBasicForm.pipepressure = form[i].pipepressure |
| | | this.$refs.taskBasic.taskBasicForm.blindboardmaterial = form[i].blindboardmaterial |
| | | this.$refs.taskBasic.taskBasicForm.blindboardspecification = form[i].blindboardspecification |
| | | this.$refs.taskBasic.taskBasicForm.blindboardnumber = form[i].blindboardnumber |
| | | this.$refs.taskBasic.taskBasicForm.blindboardlocation = form[i].blindboardlocation.map(item =>{ |
| | | return Object.assign(item,{url:process.env.IMG_API + item.fileurl}) |
| | | }) |
| | | } |
| | | else{ |
| | | this.$refs.taskBasic.activeNames.push('8') |
| | | this.$refs.taskBasic.ifIncludeFire = 1 |
| | | this.$refs.taskBasic.taskBasicForm.firelevel = form[i].level |
| | | this.$refs.taskBasic.taskBasicForm.firetype = form[i].firetype |
| | | } |
| | | } |
| | | this.$refs.safetyAction.tasksecurity = JSON.parse(JSON.stringify(value)).taskSecurities |
| | | this.$refs.safetyAndRiskConfirm.taskRiskForm = JSON.parse(JSON.stringify(value)).taskRisk |
| | | this.$refs.equipment.equipmentData = JSON.parse(JSON.stringify(value)).taskEquipments |
| | | this.$refs.fireMan.taskWorkers = JSON.parse(JSON.stringify(value)).taskWorkers |
| | | this.$refs.taskBasic.resetFormRules() |
| | | }) |
| | | } |
| | | }, |
| | | changeToSecond(val){ |
| | | if(val.isanalysis === 1){ |
| | | this.taskCreateDialog = false |
| | | }else if(this.title === '新增' || this.title === '编辑' || this.title === '复制'){ |
| | | this.ifHotFireBasic = false |
| | | this.ifSafetyAction = true |
| | | this.ifSafetyAndRisk = true |
| | | this.activeName = 'safetyAction' |
| | | this.basicForm = val |
| | | this.$emit('getinfo') |
| | | setTimeout(()=>{ |
| | | if(val.taskSecurities.length === 0){ |
| | | this.$refs.safetyAction.getSafeTyAction() |
| | | }else{ |
| | | this.$refs.safetyAction.tasksecurity = val.taskSecurities |
| | | } |
| | | if(val.taskRisk === null){ |
| | | this.$refs.safetyAndRiskConfirm.taskRiskForm = { |
| | | id:'', |
| | | taskcode:'', |
| | | content:'', |
| | | environment:'', |
| | | preventive:'', |
| | | emergency:'', |
| | | other:'', |
| | | director:'', |
| | | taskdirector:'', |
| | | confirmat:'', |
| | | createdat:'', |
| | | createdby:'', |
| | | modifiedat:'', |
| | | modifiedby:'', |
| | | flag:'', |
| | | } |
| | | }else{ |
| | | this.$refs.safetyAndRiskConfirm.taskRiskForm = val.taskRisk |
| | | } |
| | | this.$refs.equipment.equipmentData = val.taskEquipments |
| | | }) |
| | | }else{ |
| | | this.ifHotFireBasic = false |
| | | this.ifSafetyAction = true |
| | | this.ifSafetyAndRisk = true |
| | | this.activeName = 'safetyAction' |
| | | this.$emit('getinfo') |
| | | setTimeout(()=>{ |
| | | this.$refs.safetyAction.tasksecurity = this.basicForm.taskSecurities |
| | | this.$refs.equipment.equipmentData = this.basicForm.taskEquipments |
| | | this.$refs.safetyAndRiskConfirm.taskRiskForm = this.basicForm.taskRisk |
| | | }) |
| | | } |
| | | }, |
| | | async changeToThird(){ |
| | | let correct |
| | | for(let i in this.$refs.safetyAction.tasksecurity){ |
| | | if(this.$refs.safetyAction.tasksecurity[i].checked === null || this.$refs.safetyAction.tasksecurity[i].checked === undefined || this.$refs.safetyAction.tasksecurity[i].checked === ''){ |
| | | correct = 0 |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'请完善安全措施' |
| | | }) |
| | | break |
| | | }else{ |
| | | correct = 1 |
| | | } |
| | | } |
| | | if(correct === 1){ |
| | | if((this.$refs.safetyAndRiskConfirm.taskRiskForm.content === '' || this.$refs.safetyAndRiskConfirm.taskRiskForm.environment === '' || this.$refs.safetyAndRiskConfirm.taskRiskForm.preventive === '' || this.$refs.safetyAndRiskConfirm.taskRiskForm.emergency === '' || this.$refs.safetyAndRiskConfirm.taskRiskForm.other === '') && this.basicForm.level === 2){ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'请完善安全交底和风险告知确认卡' |
| | | }) |
| | | }else if(this.$refs.equipment.equipmentData.length === 0){ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'请完善设备' |
| | | }) |
| | | } else{ |
| | | this.basicForm.taskSecurities = this.$refs.safetyAction.tasksecurity |
| | | this.basicForm.taskRisk = this.$refs.safetyAndRiskConfirm.taskRiskForm |
| | | this.basicForm.taskRisk.taskcode = this.basicForm.code |
| | | this.basicForm.taskEquipments = this.$refs.equipment.equipmentData |
| | | if(this.title === '新增' || this.title === '复制') { |
| | | let res = await addTaskSecond(this.basicForm) |
| | | if (res.data.code === '200') { |
| | | this.ifFile = true |
| | | this.ifHotFireBasic = false |
| | | this.ifSafetyAction = false |
| | | this.ifSafetyAndRisk = false |
| | | this.activeName = 'fileAndEquipment' |
| | | this.$notify({ |
| | | title: '成功', |
| | | duration: 2000, |
| | | message: '信息上传成功', |
| | | type: 'success' |
| | | }) |
| | | this.$emit('getinfo') |
| | | } else { |
| | | this.$message({ |
| | | message: res.data.message, |
| | | type: 'warning' |
| | | }) |
| | | } |
| | | }else if(this.title === '编辑'){ |
| | | let res = await updateTaskSecond(this.basicForm) |
| | | if (res.data.code === '200') { |
| | | this.ifFile = true |
| | | this.ifHotFireBasic = false |
| | | this.ifSafetyAction = false |
| | | this.ifSafetyAndRisk = false |
| | | this.activeName = 'fileAndEquipment' |
| | | this.$notify({ |
| | | title: '成功', |
| | | duration: 2000, |
| | | message: '信息上传成功', |
| | | type: 'success' |
| | | }) |
| | | this.$emit('getinfo') |
| | | } else { |
| | | this.$message({ |
| | | message: res.data.message, |
| | | type: 'warning' |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | confirmFile(){ |
| | | if(this.$refs.fileAndEquipment.fileListOne.length === 0){ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'请上传事故救援预案' |
| | | }) |
| | | }else{ |
| | | this.taskCreateDialog = false |
| | | this.$notify({ |
| | | title: '成功', |
| | | duration: 2000, |
| | | message: '新建成功', |
| | | type: 'success' |
| | | }) |
| | | } |
| | | |
| | | }, |
| | | constructionConfirm(){ |
| | | this.title = '施工单位信息填写' |
| | | this.activeName = 'safetyAction' |
| | | this.ifHotFireBasic = false |
| | | this.ifSafetyAction = true |
| | | this.ifSafetyAndRisk = false |
| | | this.ifFireMan = true |
| | | this.ifFile = false |
| | | this.ifConstructionFile = false |
| | | this.constructionForm = { |
| | | id: this.basicForm.id, |
| | | isAgree: 1, |
| | | code:this.basicForm.code, |
| | | taskEquipments:[], |
| | | taskSecurities:[], |
| | | taskWorkers:[] |
| | | } |
| | | setTimeout(()=>{ |
| | | this.$refs.equipment.equipmentData = [] |
| | | this.$refs.safetyAction.getConstructionAction() |
| | | this.$refs.constructionFile.ifCompany = false |
| | | this.$refs.constructionFile.ifConstruction = true |
| | | }) |
| | | }, |
| | | confirmConstruction(){ |
| | | let correct |
| | | for(let i in this.$refs.safetyAction.tasksecurity){ |
| | | if(this.$refs.safetyAction.tasksecurity[i].checked === null || this.$refs.safetyAction.tasksecurity[i].checked === undefined || this.$refs.safetyAction.tasksecurity[i].checked === ''){ |
| | | correct = 0 |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'请完善安全措施' |
| | | }) |
| | | break |
| | | }else{ |
| | | correct = 1 |
| | | } |
| | | } |
| | | if(correct === 1) { |
| | | if (this.$refs.equipment.equipmentData.length === 0) { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '请完善设备' |
| | | }) |
| | | }else if(this.$refs.fireMan.taskWorkers.length === 0){ |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '请完善作业人' |
| | | }) |
| | | } |
| | | // else if(this.$refs.constructionFile.fileListTwo.length === 0 || this.$refs.constructionFile.fileListThree.length === 0){ |
| | | // this.$message({ |
| | | // type: 'warning', |
| | | // message: '请上传作业人员健康和作业资质证书文件' |
| | | // }) |
| | | // } |
| | | else { |
| | | this.constructionForm.taskEquipments = this.$refs.equipment.equipmentData |
| | | this.constructionForm.taskSecurities = this.$refs.safetyAction.tasksecurity |
| | | this.constructionForm.taskWorkers = this.$refs.fireMan.taskWorkers |
| | | submitConstruction(this.constructionForm).then(res => { |
| | | if (res.data.code === '200') { |
| | | this.$emit('getinfo') |
| | | this.taskCreateDialog = false |
| | | this.$notify({ |
| | | type: 'success', |
| | | duration: 2000, |
| | | message: '施工单位确认成功', |
| | | title: '成功' |
| | | }) |
| | | } else { |
| | | this.$message({ |
| | | message: res.data.message, |
| | | type: 'warning' |
| | | }) |
| | | } |
| | | }).catch(error => { |
| | | parseError({ error: error, vm: this }) |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | refuse(){ |
| | | if(this.title === '动火部位审批'){ |
| | | this.basicForm.isAgree = 0 |
| | | this.supervisorAndAnalystRefuse = true |
| | | }else if(this.title === '相关部门审批'){ |
| | | this.basicForm.isAgree = 0 |
| | | this.relevantRefuse = true |
| | | }else if(this.title === '安全部门审批'){ |
| | | this.basicForm.isAgree = 0 |
| | | this.securityRefuse = true |
| | | } |
| | | }, |
| | | submitRefuseTaskByFireDepartment(){ |
| | | if(this.title === '动火部位审批'){ |
| | | partReview(this.basicForm).then(res=>{ |
| | | if(res.data.code === '200'){ |
| | | this.$emit('getinfo') |
| | | this.taskCreateDialog = false |
| | | this.supervisorAndAnalystRefuse = false |
| | | this.$notify({ |
| | | title:'成功', |
| | | message:'审核驳回成功', |
| | | duration:2000, |
| | | type:'success' |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }).catch(error =>{ |
| | | parseError({error:error,vm:this}) |
| | | }) |
| | | }else if(this.title === '相关部门审批'){ |
| | | involveReview(this.basicForm).then(res=>{ |
| | | if(res.data.code === '200'){ |
| | | this.$emit('getinfo') |
| | | this.taskCreateDialog = false |
| | | this.relevantRefuse = false |
| | | this.$notify({ |
| | | title:'成功', |
| | | message:'审核驳回成功', |
| | | duration:2000, |
| | | type:'success' |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }).catch(error =>{ |
| | | parseError({error:error,vm:this}) |
| | | }) |
| | | }else if(this.title === '安全部门审批'){ |
| | | securityReview(this.basicForm).then(res=>{ |
| | | if(res.data.code === '200'){ |
| | | this.$emit('getinfo') |
| | | this.taskCreateDialog = false |
| | | this.securityRefuse = false |
| | | this.$notify({ |
| | | title:'成功', |
| | | message:'审核驳回成功', |
| | | duration:2000, |
| | | type:'success' |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }).catch(error =>{ |
| | | parseError({error:error,vm:this}) |
| | | }) |
| | | } |
| | | |
| | | }, |
| | | agree(){ |
| | | if(this.title === '动火部位审批'){ |
| | | this.basicForm.isAgree = 1 |
| | | this.supervisorAndAnalystAgree = true |
| | | }else if(this.title === '相关部门审批'){ |
| | | this.basicForm.isAgree = 1 |
| | | involveReview(this.basicForm).then(res=>{ |
| | | if(res.data.code === '200'){ |
| | | this.$emit('getinfo') |
| | | this.taskCreateDialog = false |
| | | this.$notify({ |
| | | title:'成功', |
| | | message:'审核通过成功', |
| | | duration:2000, |
| | | type:'success' |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }).catch(error =>{ |
| | | parseError({error:error,vm:this}) |
| | | }) |
| | | }else if(this.title === '安全部门审批'){ |
| | | this.basicForm.isAgree = 1 |
| | | securityReview(this.basicForm).then(res=>{ |
| | | if(res.data.code === '200'){ |
| | | this.$emit('getinfo') |
| | | this.taskCreateDialog = false |
| | | this.$notify({ |
| | | title:'成功', |
| | | message:'审核通过成功', |
| | | duration:2000, |
| | | type:'success' |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }).catch(error =>{ |
| | | parseError({error:error,vm:this}) |
| | | }) |
| | | } |
| | | }, |
| | | submitAgreeTaskByFireDepartment(){ |
| | | partReview(this.basicForm).then(res=>{ |
| | | if(res.data.code === '200'){ |
| | | this.$emit('getinfo') |
| | | this.taskCreateDialog = false |
| | | this.supervisorAndAnalystAgree = false |
| | | this.$notify({ |
| | | title:'成功', |
| | | message:'审核通过成功', |
| | | duration:2000, |
| | | type:'success' |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }).catch(error =>{ |
| | | parseError({error:error,vm:this}) |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div class="filter-container"> |
| | | <div class="basic_search"> |
| | | <span>开始时间:</span> |
| | | <el-date-picker value-format="yyyy-MM-dd HH:mm" placeholder="请选择开始时间" type="datetime" v-model="listQuery.starttime" style="width:200px"> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>结束时间:</span> |
| | | <el-date-picker value-format="yyyy-MM-dd HH:mm" placeholder="请选择结束时间" type="datetime" v-model="listQuery.endtime" style="width:200px"> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>部门:</span> |
| | | <el-input v-model="listQuery.department" style="width:200px"> |
| | | </el-input> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>施工单位:</span> |
| | | <el-input v-model="listQuery.constructionunit" style="width:200px"> |
| | | </el-input> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>作业类型:</span> |
| | | <el-select v-model="listQuery.level" clearable style="width:200px"> |
| | | <el-option |
| | | v-for="item in taskTypeList" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>审批状态:</span> |
| | | <el-select v-model="listQuery.status" clearable style="width:200px"> |
| | | <el-option |
| | | v-for="item in statusList" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>作业状态:</span> |
| | | <el-select v-model="listQuery.flag" clearable style="width:200px"> |
| | | <el-option |
| | | v-for="item in flagList" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <el-button style="margin-left: 10px;" type="primary" icon="el-icon-refresh" @click="refreshHandle">搜索</el-button> |
| | | <el-button style="margin-left: 10px;" type="primary" icon="el-icon-plus" @click="showTaskInfo('','新增')">新增</el-button> |
| | | </div> |
| | | <div class="table_content"> |
| | | <el-table |
| | | v-loading="listLoading" |
| | | :key="tableKey" |
| | | :data="taskData" |
| | | border |
| | | fit |
| | | highlight-current-row |
| | | style="width: 100%;" |
| | | @sort-change="sortChange" |
| | | > |
| | | <el-table-column label="单位名称" prop="unit" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="单位代码" prop="code" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="申请人" prop="applicant" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="施工单位" prop="constructionunit" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="作业内容" prop="area" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="开始时间" prop="starttime" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="结束时间" prop="endtime" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="作业级别" prop="level" align="center" sortable="custom"> |
| | | <template slot-scope="scope"> |
| | | <div v-for="item in levelList"> |
| | | <div v-if="scope.row.level === item.id"> |
| | | <span>{{item.name}}</span> |
| | | <!-- <el-tag v-if="scope.row.level ===0" type="success">{{item.name}}</el-tag>--> |
| | | <!-- <el-tag v-if="scope.row.level ===1" type="warning">{{item.name}}</el-tag>--> |
| | | <!-- <el-tag v-if="scope.row.level ===2" type="danger">{{item.name}}</el-tag>--> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="任务审批状态" prop="status" align="center" sortable="custom"> |
| | | <template slot-scope="scope"> |
| | | <div v-for="item in statusList"> |
| | | <div v-if="scope.row.status === item.id"> |
| | | <span>{{item.name}}</span> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="作业状态" prop="flag" align="center" sortable="custom"> |
| | | <template slot-scope="scope"> |
| | | <div v-for="item in flagList"> |
| | | <div v-if="scope.row.flag === item.id"> |
| | | <span>{{item.name}}</span> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="创建时间" prop="createdat" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="最近修改时间" prop="modifiedat" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="showReviewInfo(scope.row)" v-if="scope.row.status !== 7 && scope.row.taskReviews.length !== 0">查看审批</el-button> |
| | | <el-button type="text" @click="downloadFile(scope.row)" v-if="scope.row.status === 7">下载</el-button> |
| | | <!-- <el-button type="text" @click="showTaskInfo(scope.row,'主管领导审批')" v-if="scope.row.status === 6 && scope.row.level === 2">主管领导审批</el-button>--> |
| | | <!-- <el-button type="text" @click="showTaskInfo(scope.row,'安全部门审批')" v-if="scope.row.status === 5 && (scope.row.level === 1 || scope.row.level === 2)">安全部门审批</el-button>--> |
| | | <!-- <el-button type="text" @click="showTaskInfo(scope.row,'相关部门审批')" v-if="scope.row.status === 4 &&(scope.row.level === 1 || scope.row.level === 2)">相关部门审批</el-button>--> |
| | | <!-- <el-button type="text" @click="showTaskInfo(scope.row,'动火部位审批')" v-if="scope.row.status === 3">动火部位审批</el-button>--> |
| | | <el-button type="text" @click="showTaskInfo(scope.row,'施工单位确认')" v-if="scope.row.status === 2 && loginForm.iscompany === 1">施工单位确认</el-button> |
| | | <el-button type="text" @click="submitTask(scope.row)" v-if="scope.row.status === 1 || scope.row.status === 0">提交</el-button> |
| | | <el-button type="text" @click="showTaskInfo(scope.row,'编辑')" v-if="scope.row.status === 1 || scope.row.status === 0">编辑</el-button> |
| | | <el-button type="text" @click="showTaskInfo(scope.row,'复制')">复制</el-button> |
| | | <el-button type="text" style="color: red" @click="deleteById(scope.row)" v-if="(scope.row.applicant === loginForm.realname) && scope.row.status === 2">撤销</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <br> |
| | | <el-pagination |
| | | v-show="recordTotal>0" |
| | | :current-page="currentPage" |
| | | :page-sizes="[10, 20, 30, 50]" |
| | | :page-size="pageSize" |
| | | :total="recordTotal" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | background |
| | | style="float:right;" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | /> |
| | | <br> |
| | | </div> |
| | | <task-create ref="taskCreate" @getinfo="getTaskData"></task-create> |
| | | <review-info ref="reviewInfo"></review-info> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { mapGetters } from 'vuex' |
| | | import { computePageCount } from '../../../../utils' |
| | | import { getTaskList, submitTask } from '../../../../api/task' |
| | | import Cookies from 'js-cookie' |
| | | import TaskCreate from './components/taskCreate' |
| | | import reviewInfo from './components/reviewInfo/index' |
| | | |
| | | export default { |
| | | name: 'index', |
| | | filters: { |
| | | }, |
| | | computed: { |
| | | ...mapGetters([ |
| | | 'userType' |
| | | ]) |
| | | }, |
| | | data() { |
| | | return { |
| | | tableKey: 0, |
| | | taskData: [], |
| | | companyList:[], |
| | | listLoading: false, |
| | | pageSize: 10, |
| | | recordTotal: 0, |
| | | currentPage: 1, |
| | | pageTotal: 0, |
| | | title:'', |
| | | orderValue:'', |
| | | sortValue:'', |
| | | levelList:[{id:2,name:'特级'},{id:1,name:'一级'},{id:0,name:'二级'},], |
| | | taskTypeList:[ |
| | | {id:0,name:'受限空间作业'}, |
| | | {id:1,name:'吊装作业'}, |
| | | {id:2,name:'动土作业'}, |
| | | {id:3,name:'断路作业'}, |
| | | {id:4,name:'高处作业'}, |
| | | {id:5,name:'临时用电作业'}, |
| | | {id:6,name:'盲板抽堵作业'}, |
| | | {id:7,name:'动火作业'}, |
| | | ], |
| | | statusList:[ |
| | | {id:0,name:'已驳回'}, |
| | | {id:1,name:'待提交'}, |
| | | {id:2,name:'已提交'}, |
| | | {id:3,name:'施工单位已确认'}, |
| | | {id:4,name:'动火部位负责人审批通过'}, |
| | | {id:5,name:'相关部门审批通过'}, |
| | | {id:6,name:'安全部门审批通过'}, |
| | | {id:7,name:'审批通过'}, |
| | | ], |
| | | flagList:[ |
| | | {id:0,name:'待提交'}, |
| | | {id:1,name:'作业中止'}, |
| | | {id:2,name:'等待检查'}, |
| | | {id:3,name:'等待开始'}, |
| | | {id:4,name:'作业中'}, |
| | | {id:5,name:'作业完成'}, |
| | | ], |
| | | listQuery:{ |
| | | starttime:'', |
| | | endtime:'', |
| | | department:'', |
| | | constructionunit:'', |
| | | level:'', |
| | | status:'', |
| | | flag:'', |
| | | }, |
| | | loginForm:{} |
| | | } |
| | | }, |
| | | components:{ |
| | | TaskCreate, |
| | | reviewInfo |
| | | }, |
| | | mounted() { |
| | | this.getTaskData() |
| | | }, |
| | | methods: { |
| | | async getTaskData(){ |
| | | this.loginForm = JSON.parse(Cookies.get('loginForm')) |
| | | this.listLoading = true |
| | | let params = {} |
| | | params['pageIndex'] = this.currentPage |
| | | params['pageSize'] = this.pageSize |
| | | params['order'] = this.orderValue |
| | | params['sort'] = this.sortValue |
| | | for (const i in this.listQuery) { |
| | | console.log(i) |
| | | params[i] = this.listQuery[i] |
| | | } |
| | | let res = await getTaskList(params) |
| | | if(res.data.code === '200'){ |
| | | this.recordTotal = res.data.result.totalCount |
| | | this.pageSize = res.data.result.pageSize |
| | | this.pageTotal = computePageCount(res.data.result.totalCount, res.data.result.pageSize) |
| | | this.currentPage = res.data.result.pageIndex |
| | | this.taskData = res.data.result.result |
| | | }else{ |
| | | this.$message({ |
| | | message:res.data.message, |
| | | type:'warning' |
| | | }) |
| | | } |
| | | this.listLoading = false |
| | | }, |
| | | showTaskInfo(value,title){ |
| | | this.$refs.taskCreate.openTaskInfo(value,title) |
| | | }, |
| | | showReviewInfo(value){ |
| | | this.$refs.reviewInfo.openReviewInfo(value) |
| | | }, |
| | | downloadFile(val){ |
| | | if(val.path === null || val.path === ''){ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'文件未生成' |
| | | }) |
| | | }else{ |
| | | window.open(process.env.IMG_API + val.path,'_blank') |
| | | } |
| | | }, |
| | | submitTask(row){ |
| | | this.$confirm('提交此条任务,是否继续','提示',{ |
| | | confirmButtonText:'确定', |
| | | cancelButtonText:'取消', |
| | | type:'warning', |
| | | }).then(()=> { |
| | | submitTask({id:row.id}).then( (res)=>{ |
| | | if(res.data.code === '200'){ |
| | | this.getTaskData() |
| | | this.$notify({ |
| | | title:'成功', |
| | | message:'提交成功', |
| | | type:'success', |
| | | duration:2000, |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | |
| | | }) |
| | | }) |
| | | }, |
| | | deleteById(val){ |
| | | this.$confirm('删除此条信息,是否继续','提示',{ |
| | | confirmButtonText:'确定', |
| | | cancelButtonText:'取消', |
| | | type:'warning', |
| | | }).then(()=> { |
| | | deleteUnit({id:val.id}).then( ()=>{ |
| | | this.getUnitForm() |
| | | this.$notify({ |
| | | title:'成功', |
| | | message:'删除成功', |
| | | type:'success', |
| | | duration:2000, |
| | | }) |
| | | }) |
| | | }) |
| | | }, |
| | | refreshHandle(){ |
| | | this.getTaskData() |
| | | }, |
| | | handleSizeChange(val){ |
| | | this.pageSize = val |
| | | this.getTaskData() |
| | | }, |
| | | handleCurrentChange(val){ |
| | | this.currentPage = val |
| | | this.getTaskData() |
| | | }, |
| | | sortChange(params){ |
| | | this.sortValue = params.sort |
| | | this.orderValue = params.order |
| | | this.getTaskData() |
| | | } |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | .basic_search{ |
| | | display:inline-block; |
| | | padding-bottom: 10px; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div> |
| | | <el-table :data="equipmentData" border fit highlight-current-row style="width: 100%;" :header-cell-style="{'text-align':'center'}"> |
| | | <el-table-column type="index" label="序号" align="center" width="60"/> |
| | | <el-table-column prop="taskcode" label="作业编号" align="left"> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="设备名称" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.name"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="type" label="设备类型" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.type"> |
| | | <el-option |
| | | v-for="item in typeList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="num" label="设备数量" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.num"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getSafetyActionList } from '@/api/task' |
| | | |
| | | export default { |
| | | props:['basicInformation'], |
| | | name: 'index', |
| | | data(){ |
| | | return{ |
| | | typeList:[{id:1,name:'安全防护设备及工具'},{id:2,name:'安全施工防护用具'},{id:3,name:'有毒有害防护设备'},{id:4,name:'个人防护设备'},{id:5,name:'安全措施设备及工器具'}], |
| | | equipmentData:[], |
| | | } |
| | | }, |
| | | created(){ |
| | | }, |
| | | methods:{ |
| | | addEquipment(){ |
| | | this.equipmentData.push({ |
| | | createdat: "", |
| | | createdby: "", |
| | | flag: 0, |
| | | id: 0, |
| | | modifiedat: "", |
| | | modifiedby: "", |
| | | name: "", |
| | | num: "", |
| | | taskcode: this.basicInformation.code, |
| | | type: "" |
| | | }) |
| | | }, |
| | | deleteEquipment(val){ |
| | | this.equipmentData.splice(val,1) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div> |
| | | <el-form ref="form" :model="fileForm" label-width="160px" label-position="right"> |
| | | <el-form-item label="事故救援预案:"> |
| | | <el-upload |
| | | accept=".pdf,.jpg,.png" |
| | | :action="fileRoad" |
| | | class="upload-demo" |
| | | ref="upload" |
| | | :headers="header" |
| | | :data="uploadForm" |
| | | :on-preview="onPreview" |
| | | :file-list="fileListOne"> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="作业人员身体健康:">--> |
| | | <!-- <el-upload--> |
| | | <!-- accept=".pdf,.jpg,.png"--> |
| | | <!-- :action="fileRoad"--> |
| | | <!-- class="upload-demo"--> |
| | | <!-- ref="upload"--> |
| | | <!-- :headers="header"--> |
| | | <!-- :data="uploadForm"--> |
| | | <!-- :on-preview="onPreview"--> |
| | | <!-- :file-list="fileListTwo">--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="作业资质证书:">--> |
| | | <!-- <el-upload--> |
| | | <!-- accept=".pdf,.jpg,.png"--> |
| | | <!-- :action="fileRoad"--> |
| | | <!-- class="upload-demo"--> |
| | | <!-- ref="upload"--> |
| | | <!-- :data="uploadForm"--> |
| | | <!-- :on-preview="onPreview"--> |
| | | <!-- :file-list="fileListThree">--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | </el-form> |
| | | <el-dialog :visible.sync="dialogVisible"> |
| | | <img width="100%" :src="dialogImageUrl" alt=""> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import Cookies from 'js-cookie' |
| | | import { deleteFile, getFileData } from '@/api/task' |
| | | |
| | | export default { |
| | | props:['basicInformation'], |
| | | name: 'index', |
| | | data(){ |
| | | return{ |
| | | ifApply:'', |
| | | ifCompany:'', |
| | | ifApplyButton:'', |
| | | ifCompanyButton:'', |
| | | disabled:'', |
| | | fileForm:{}, |
| | | header:{Authorization:''}, |
| | | fileRoad:process.env.BASE_API + '/task/upload', |
| | | dialogVisible:false, |
| | | dialogImageUrl:'', |
| | | riskAndDanger:[], |
| | | safetyOrganizeAction:[], |
| | | workSecurityAction:[], |
| | | fileList:[], |
| | | fileListOne:[], |
| | | fileListTwo:[], |
| | | fileListThree:[], |
| | | uploadForm:{ |
| | | taskcode:'', |
| | | type:'', |
| | | } |
| | | } |
| | | }, |
| | | mounted(){ |
| | | this.getFileList() |
| | | }, |
| | | methods:{ |
| | | async onPreview(file){ |
| | | window.open( process.env.IMG_API + file.fileurl,'_blank') |
| | | }, |
| | | async getFileList(){ |
| | | let params = {} |
| | | params["taskCode"] = this.basicInformation.code |
| | | let res = await getFileData(params) |
| | | if(res.data.code === '200'){ |
| | | this.fileList = [] |
| | | this.fileListOne = [] |
| | | this.fileListTwo = [] |
| | | this.fileListThree = [] |
| | | this.fileList = res.data.result |
| | | this.fileList.map(item =>{ |
| | | return Object.assign(item,{name:item.originalname}) |
| | | }) |
| | | for(let i in this.fileList){ |
| | | if(this.fileList[i].type === '事故救援预案'){ |
| | | this.fileListOne.push(this.fileList[i]) |
| | | } |
| | | } |
| | | for(let i in this.fileList){ |
| | | if(this.fileList[i].type === '作业人员身体健康'){ |
| | | this.fileListTwo.push(this.fileList[i]) |
| | | } |
| | | } |
| | | for(let i in this.fileList){ |
| | | if(this.fileList[i].type === '作业资质证书'){ |
| | | this.fileListThree.push(this.fileList[i]) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | submit(){ |
| | | this.uploadForm.type = "事故救援预案" |
| | | this.uploadForm.taskcode = this.basicInformation.code |
| | | this.header.Authorization = Cookies.get('token') |
| | | this.$refs.upload.submit() |
| | | }, |
| | | handlePictureCardPreview(file) { |
| | | this.dialogImageUrl = file.url; |
| | | this.dialogVisible = true; |
| | | }, |
| | | handleChangeOne(file, fileList) { |
| | | this.uploadForm.type = '事故救援预案' |
| | | this.uploadForm.taskcode = this.basicInformation.code |
| | | this.header.Authorization = Cookies.get('token') |
| | | }, |
| | | handleChangeTwo(file, fileList) { |
| | | this.uploadForm.type = '作业人员身体健康'; |
| | | this.uploadForm.taskcode = this.basicInformation.code |
| | | this.header.Authorization = Cookies.get('token') |
| | | }, |
| | | handleChangeThree(file, fileList) { |
| | | this.uploadForm.type = '作业资质证书'; |
| | | this.uploadForm.taskcode = this.basicInformation.code |
| | | this.header.Authorization = Cookies.get('token') |
| | | }, |
| | | onSuccess(response){ |
| | | if(response.code === '200'){ |
| | | this.$notify({ |
| | | type:'success', |
| | | duration:2000, |
| | | message:'上传成功', |
| | | title:'成功', |
| | | }) |
| | | this.getFileList() |
| | | } |
| | | }, |
| | | onRemove(file,fileList){ |
| | | return this.$confirm(`确定移除 ${ file.name }?`,'提示',{ |
| | | confirmButtonText:'确定', |
| | | cancelButtonText:'取消', |
| | | type:'warning', |
| | | }).then(() =>{ |
| | | let params = {} |
| | | params["id"] = file.id |
| | | deleteFile(params).then(res =>{ |
| | | if(res.data.code === '200'){ |
| | | this.$notify({ |
| | | type:'success', |
| | | duration:2000, |
| | | message:'删除成功', |
| | | title:'成功', |
| | | }) |
| | | this.getFileList() |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message |
| | | }) |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | handleRemove(file,value) { |
| | | return this.$confirm(`确定移除 ${ file.name }?`,'提示',{ |
| | | confirmButtonText:'确定', |
| | | cancelButtonText:'取消', |
| | | type:'warning', |
| | | }).then(()=> { |
| | | switch (value) { |
| | | case 'one':this.riskAndDanger.splice(this.riskAndDanger.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | case 'two':this.safetyOrganizeAction.splice(this.safetyOrganizeAction.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | case 'three':this.workSecurityAction.splice(this.workSecurityAction.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | case 'four':this.operationQualification.splice(this.operationQualification.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | case 'five':this.escortCompany.splice(this.escortCompany.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | case 'six':this.insurance.splice(this.insurance.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | case 'seven':this.safetyProduction.splice(this.safetyProduction.findIndex(item =>item.name === file.name),1); |
| | | break; |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div> |
| | | <el-table :data="taskWorkers" border fit highlight-current-row style="width: 100%;" :header-cell-style="{'text-align':'center'}"> |
| | | <el-table-column type="index" label="序号" align="center" width="60"/> |
| | | <el-table-column prop="taskcode" label="作业编号" align="left"> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="施工单位" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.unit"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="worker" label="作业人姓名" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.worker"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="branch" label="特种作业工种" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.branch"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="number" label="特种作业证号" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.number"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | export default { |
| | | props:['basicInformation'], |
| | | name: 'index', |
| | | data(){ |
| | | return{ |
| | | taskWorkers:[], |
| | | } |
| | | }, |
| | | created(){ |
| | | }, |
| | | methods:{ |
| | | addTaskWorker(){ |
| | | this.taskWorkers.push({ |
| | | createdat: "", |
| | | createdby: "", |
| | | flag: 0, |
| | | id: 0, |
| | | modifiedat: "", |
| | | modifiedby: "", |
| | | taskcode: this.basicInformation.code, |
| | | unit: "", |
| | | worker: "", |
| | | branch: 0, |
| | | number: "", |
| | | }) |
| | | }, |
| | | deleteWorker(val){ |
| | | this.taskWorkers.splice(val,1) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="padding:20px 50px 0 50px;"> |
| | | <el-form ref="form" :rules="taskBasicRules" :model="taskBasicForm" label-position="center" label-width="150px"> |
| | | <el-collapse v-model="activeNames"> |
| | | <el-collapse-item title="基本信息" name="0"> |
| | | |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="申请单位:" prop="unit"> |
| | | <el-input v-model="taskBasicForm.unit" readonly></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="申请人:" prop="applicant"> |
| | | <el-input v-model="taskBasicForm.applicant" readonly></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="负责人:" prop="director"> |
| | | <el-input v-model="taskBasicForm.director"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="危害辨识:" prop="hazard"> |
| | | <el-input v-model="taskBasicForm.hazard"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="开始时间:" style="margin-right: 0px" prop="starttime"> |
| | | <el-date-picker value-format="yyyy-MM-dd HH:mm" type="datetime" v-model="taskBasicForm.starttime" placeholder="选择开始日期" class="taskBasic_select"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="结束时间:" prop="endtime"> |
| | | <el-date-picker value-format="yyyy-MM-dd HH:mm" type="datetime" v-model="taskBasicForm.endtime" placeholder="选择结束日期" class="taskBasic_select"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | |
| | | <el-col :span="8"> |
| | | <el-form-item label="施工单位:" prop="constructionunit" > |
| | | <el-select v-model="taskBasicForm.constructionunit" clearable class="taskBasic_select"> |
| | | <el-option |
| | | v-for="item in companyList" |
| | | :key="item.id" |
| | | :value="item.company" |
| | | :label="item.company" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="16"> |
| | | <el-form-item label="作业内容:" prop="area"> |
| | | <el-input v-model="taskBasicForm.area"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | </el-collapse-item> |
| | | <el-collapse-item title="受限空间作业" name="1"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否涉及:"> |
| | | <el-radio v-model="ifIncludeArea" :label="1">是</el-radio> |
| | | <el-radio v-model="ifIncludeArea" :label="0">否</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if="ifIncludeArea"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="受限空间分类:" prop="spacecategory"> |
| | | <el-select v-model="taskBasicForm.spacecategory" class="taskBasic_select"> |
| | | <el-option |
| | | v-for="item in spaceCategoryList" |
| | | :key="item.id" |
| | | :value="item.name" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="受限空间名称:" prop="spacename"> |
| | | <el-select v-model="taskBasicForm.spacename" class="taskBasic_select"> |
| | | <el-option |
| | | v-for="item in spaceNameList" |
| | | :key="item.id" |
| | | :value="item.name" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="受限空间介质名称:" prop="spacemedium"> |
| | | <el-input v-model="taskBasicForm.spacemedium" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否受酸碱腐蚀:" prop="acibase"> |
| | | <el-select v-model="taskBasicForm.acibase" class="taskBasic_select"> |
| | | <el-option |
| | | v-for="item in acibaseList" |
| | | :key="item.id" |
| | | :value="item.name" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | |
| | | </el-collapse-item> |
| | | <el-collapse-item title="吊装作业" name="2"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否涉及:"> |
| | | <el-radio v-model="ifHoisting" :label="1">是</el-radio> |
| | | <el-radio v-model="ifHoisting" :label="0">否</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if="ifHoisting"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="吊装重物等级:" prop="hoistinglevel"> |
| | | <el-select v-model="taskBasicForm.hoistinglevel" class="taskBasic_select"> |
| | | <el-option value="一级吊装(质量>100吨)"></el-option> |
| | | <el-option value="二级吊装(40吨<=质量<=100吨)"></el-option> |
| | | <el-option value="三级吊装(质量<40吨)"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="吊装重物质量(t):" prop="hoistingweight"> |
| | | <el-input v-model="taskBasicForm.hoistingweight" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="动土作业" name="3"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否涉及:"> |
| | | <el-radio v-model="ifBuilding" :label="1">是</el-radio> |
| | | <el-radio v-model="ifBuilding" :label="0">否</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if="ifBuilding"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="动土作业深度:" prop="soildepth"> |
| | | <el-input v-model="taskBasicForm.soildepth" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="动土作业面积:" prop="soilarea"> |
| | | <el-input v-model="taskBasicForm.soilarea" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-form-item label="动土方案文件:" prop="soilfile"> |
| | | <el-upload |
| | | accept=".pdf,.jpg,.png" |
| | | :action="fileRoad" |
| | | class="upload-demo" |
| | | ref="upload" |
| | | :headers="header" |
| | | :data="uploadForm" |
| | | list-type="picture-card" |
| | | :file-list="taskBasicForm.soilfile" |
| | | :on-change="handleChangeBuildingFile" |
| | | :on-success="onSoilFileSuccess" |
| | | :auto-upload="true"> |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" alt="" |
| | | > |
| | | <span class="el-upload-list__item-actions"> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handleFile(file)" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemove(file,'one')" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | </div> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-row> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="断路作业" name="4"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否涉及:"> |
| | | <el-radio v-model="ifIncludeRoad" :label="1">是</el-radio> |
| | | <el-radio v-model="ifIncludeRoad" :label="0">否</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if="ifIncludeRoad"> |
| | | <el-row> |
| | | <el-col :span="16"> |
| | | <el-form-item label="断路原因:" prop="breakreason"> |
| | | <el-input v-model="taskBasicForm.breakreason" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-form-item label="断路地段示意图:" prop="breakfile"> |
| | | <el-upload |
| | | accept=".pdf,.jpg,.png" |
| | | :action="fileRoad" |
| | | class="upload-demo" |
| | | ref="upload" |
| | | :headers="header" |
| | | list-type="picture-card" |
| | | :file-list="taskBasicForm.breakfile" |
| | | :on-success="onBreakFileSuccess" |
| | | :on-change="handleChangeRoadFile" |
| | | :auto-upload="true"> |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" alt="" |
| | | > |
| | | <span class="el-upload-list__item-actions"> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handleFile(file)" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemove(file,'two')" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | </div> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-row> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="高处作业" name="5"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否涉及:"> |
| | | <el-radio v-model="ifIncludeHigh" :label="1">是</el-radio> |
| | | <el-radio v-model="ifIncludeHigh" :label="0">否</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if="ifIncludeHigh"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="作业等级:" prop="heightlevel"> |
| | | <el-select v-model="taskBasicForm.heightlevel" class="taskBasic_select"> |
| | | <el-option value="一级高处作业(2米≤高度<5米)"></el-option> |
| | | <el-option value="二级高处作业(5米≤高度<15米)"></el-option> |
| | | <el-option value="三级高处作业(15米≤高度<30米)"></el-option> |
| | | <el-option value="特级高处作业(高度≥30米)"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="作业高度:" prop="workheight"> |
| | | <el-input type="number" v-model="taskBasicForm.workheight" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="临时用电作业" name="6"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否涉及:"> |
| | | <el-radio v-model="ifIncludeElectricity" :label="1">是</el-radio> |
| | | <el-radio v-model="ifIncludeElectricity" :label="0">否</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if="ifIncludeElectricity"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="电压接入点:" prop="electricityarea"> |
| | | <el-input v-model="taskBasicForm.electricityarea" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="工作电压:" prop="voltage"> |
| | | <el-input v-model="taskBasicForm.voltage" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="用电设备及功率:" prop="power"> |
| | | <el-input v-model="taskBasicForm.power" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="盲板抽堵作业" name="7"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否涉及:"> |
| | | <el-radio v-model="ifIncludePump" :label="1">是</el-radio> |
| | | <el-radio v-model="ifIncludePump" :label="0">否</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if="ifIncludePump"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="设备管道名称:" prop="pipename"> |
| | | <el-input v-model="taskBasicForm.pipename" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="设备管道介质:" prop="pipemedium"> |
| | | <el-input v-model="taskBasicForm.pipemedium" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="设备管道温度:" prop="pipetemperature"> |
| | | <el-input v-model="taskBasicForm.pipetemperature" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="设备管道压力:" prop="pipepressure"> |
| | | <el-input v-model="taskBasicForm.pipepressure" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="盲板材质:" prop="blindboardmaterial"> |
| | | <el-input v-model="taskBasicForm.blindboardmaterial" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="盲板规格11:" prop="blindboardspecification"> |
| | | <el-input v-model="taskBasicForm.blindboardspecification" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="盲板编号:" prop="blindboardnumber"> |
| | | <el-input v-model="taskBasicForm.blindboardnumber" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-form-item label="盲板位置图:" prop="blindboardlocation"> |
| | | <el-upload |
| | | accept=".pdf,.jpg,.png" |
| | | :action="fileRoad" |
| | | class="upload-demo" |
| | | ref="upload" |
| | | :headers="header" |
| | | list-type="picture-card" |
| | | :file-list="taskBasicForm.blindboardlocation" |
| | | :on-success="onPumpFileSuccess" |
| | | :on-change="handleChangePumpFile" |
| | | :auto-upload="true"> |
| | | <i slot="default" class="el-icon-plus"></i> |
| | | <div slot="file" slot-scope="{file}"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" alt="" |
| | | > |
| | | <span class="el-upload-list__item-actions"> |
| | | <span |
| | | class="el-upload-list__item-preview" |
| | | @click="handleFile(file)" |
| | | > |
| | | <i class="el-icon-zoom-in"></i> |
| | | </span> |
| | | <span |
| | | v-if="!disabled" |
| | | class="el-upload-list__item-delete" |
| | | @click="handleRemove(file,'three')" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | </div> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-row> |
| | | </div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="动火作业" name="8"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否涉及:"> |
| | | <el-radio v-model="ifIncludeFire" :label="1">是</el-radio> |
| | | <el-radio v-model="ifIncludeFire" :label="0">否</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <div v-if="ifIncludeFire"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <el-form-item label="动火级别:" prop="firelevel"> |
| | | <el-select v-model="taskBasicForm.firelevel" class="taskBasic_select"> |
| | | <el-option |
| | | v-for="item in levelList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="动火方式:" prop="firetype"> |
| | | <el-input v-model="taskBasicForm.firetype" class="taskBasic_select"> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | </el-form> |
| | | <div align="center" style="padding-top: 20px" v-if="title === '新增' || title === '编辑' || title=== '施工单位确认' || title === '施工单位信息填写'"> |
| | | <el-button type="primary" @click="goNext">下一步</el-button> |
| | | </div> |
| | | <el-dialog :visible.sync="dialogVisible" :append-to-body="true"> |
| | | <img width="100%" :src="dialogImageUrl" alt=""> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getUnitList } from '@/api/unitManage' |
| | | import Cookies from 'js-cookie' |
| | | import { addTask, updateTask } from '@/api/task' |
| | | |
| | | export default { |
| | | name: 'index', |
| | | props:['title'], |
| | | data(){ |
| | | return{ |
| | | type:'', |
| | | fileRoad:process.env.BASE_API + '/task/web/upload', |
| | | uploadForm:{ |
| | | name:'', |
| | | }, |
| | | header:{Authorization:''}, |
| | | taskBasicForm:{ |
| | | isAgree: 0, |
| | | applicant: "", |
| | | applyunitname: "", |
| | | applyunitopinion: "", |
| | | applyunittime: "", |
| | | approverprofession: "", |
| | | approversupervisor: "", |
| | | area: "", |
| | | code: "", |
| | | completedconfirm: "", |
| | | completedname: "", |
| | | completedtime: "", |
| | | constructionname: "", |
| | | constructionopinion: "", |
| | | constructiontime: "", |
| | | constructionunit: "", |
| | | createdat: "", |
| | | createdby: "", |
| | | department: "", |
| | | director: "", |
| | | endtime: "", |
| | | enterprisename: "", |
| | | enterpriseopinion: "", |
| | | enterprisetime: "", |
| | | flag: 0, |
| | | hazard: "", |
| | | id: 0, |
| | | isdel: 0, |
| | | isholiday: 0, |
| | | level:'', |
| | | modifiedat: "", |
| | | modifiedby: "", |
| | | othertask: "", |
| | | partdirector: "", |
| | | profession: "", |
| | | relevantname: "", |
| | | relevantopinion: "", |
| | | relevanttime: "", |
| | | resources: [ |
| | | ], |
| | | securityname: "", |
| | | securityopinion: "", |
| | | securitytime: "", |
| | | securitydep: "", |
| | | shiftleadername: "", |
| | | shiftleaderopinion: "", |
| | | shiftleadertime: "", |
| | | starttime: "", |
| | | status: 0, |
| | | supervisor: "", |
| | | taskAnalyses: [ |
| | | ], |
| | | taskEquipments: [ |
| | | ], |
| | | taskRisk: { |
| | | confirmat: "", |
| | | content: "", |
| | | createdat: "", |
| | | createdby: "", |
| | | director: "", |
| | | emergency: "", |
| | | environment: "", |
| | | flag: 0, |
| | | id: 0, |
| | | modifiedat: "", |
| | | modifiedby: "", |
| | | other: "", |
| | | preventive: "", |
| | | taskcode: "", |
| | | taskdirector: "" |
| | | }, |
| | | taskSecurities: [ |
| | | ], |
| | | taskWorkers: [ |
| | | ], |
| | | unit: "", |
| | | subTaskInfos:[], |
| | | type:'', |
| | | category:'', |
| | | firelevel:'', |
| | | checked:'', |
| | | spacecategory:'', |
| | | spacename:'', |
| | | spacemedium:'', |
| | | acibase:'', |
| | | hoistinglevel:'', |
| | | hoistingweight:'', |
| | | soildepth:'', |
| | | soilarea:'', |
| | | soilfile:[], |
| | | breakreason:'', |
| | | breakfile:[], |
| | | workheight:'', |
| | | heightlevel:'', |
| | | electricityarea:'', |
| | | voltage:'', |
| | | power:'', |
| | | pipename:'', |
| | | pipemedium:'', |
| | | pipetemperature:'', |
| | | pipepressure:'', |
| | | blindboardmaterial:'', |
| | | blindboardspecification:'', |
| | | blindboardnumber:'', |
| | | commander:'', |
| | | blindboardlocation:[], |
| | | firetype:'', |
| | | }, |
| | | activeNames:['0'], |
| | | companyList:[], |
| | | levelList:[{id:2,name:'特级'},{id:1,name:'一级'},{id:0,name:'二级'},], |
| | | spaceCategoryList:[{id:0,name:'密闭设备'},{id:1,name:'地下有限空间'},{id:2,name:'地上有限空间'},], |
| | | spaceNameList:[], |
| | | acibaseList:[{id:0,name:'酸腐蚀'},{id:1,name:'碱腐蚀'},{id:2,name:'其他腐蚀'},{id:3,name:'没有腐蚀'}], |
| | | taskBasicRules:{ |
| | | unit: [{ required: true, message: '申请单位不能为空', trigger: 'blur' }], |
| | | applicant: [{ required: true, message: '申请人不能为空', trigger: 'blur' }], |
| | | level: [{ required: true, message: '动火作业级别不能为空', trigger: 'change' }], |
| | | mode: [{ required: true, message: '用户名不能为空', trigger: 'blur' }], |
| | | hazard: [{ required: true, message: '危害辨识不能为空', trigger: 'blur' }], |
| | | director: [{ required: true, message: '负责人不能为空', trigger: 'blur' }], |
| | | area: [{ required: true, message: '动火地点不能为空', trigger: 'blur' }], |
| | | constructionunit: [{ required: true, message: '施工部门不能为空', trigger: 'change' }], |
| | | starttime: [{ required: true, message: '开始时间不能为空', trigger: 'blur' }], |
| | | endtime: [{ required: true, message: '结束时间不能为空', trigger: 'blur' }], |
| | | spacecategory: [{ required: true, message: '受限空间分类不能为空', trigger: 'change' }], |
| | | spacename: [{ required: true, message: '受限空间名称不能为空', trigger: 'change' }], |
| | | spacemedium: [{ required: true, message: '受限空间介质名称不能为空', trigger: 'change' }], |
| | | acibase: [{ required: true, message: '是否酸碱腐蚀不能为空', trigger: 'change' }], |
| | | hoistinglevel: [{ required: true, message: '吊装重物等级不能为空', trigger: 'change' }], |
| | | hoistingweight: [{ required: true, message: '吊装重物质量不能为空', trigger: 'blur' }], |
| | | soildepth: [{ required: true, message: '动土作业深度不能为空', trigger: 'blur' }], |
| | | soilarea: [{ required: true, message: '动土作业面积不能为空', trigger: 'blur' }], |
| | | // soilfile: [{ required: true, message: '动土方案文件不能为空', trigger: 'blur' }], |
| | | breakreason: [{ required: true, message: '断路原因不能为空', trigger: 'blur' }], |
| | | // breakfile: [{ required: true, message: '断路地段示意图不能为空', trigger: 'blur' }], |
| | | heightlevel: [{ required: true, message: '作业等级不能为空', trigger: 'change' }], |
| | | workheight: [{ required: true, message: '作业高度不能为空', trigger: 'blur' }], |
| | | electricityarea: [{ required: true, message: '电压接入点不能为空', trigger: 'blur' }], |
| | | voltage: [{ required: true, message: '工作电压不能为空', trigger: 'blur' }], |
| | | power: [{ required: true, message: '用电设备及功率不能为空', trigger: 'blur' }], |
| | | pipename: [{ required: true, message: '设备管道名称不能为空', trigger: 'blur' }], |
| | | pipemedium: [{ required: true, message: '设备管道介质不能为空', trigger: 'blur' }], |
| | | pipetemperature: [{ required: true, message: '设备管道温度不能为空', trigger: 'blur' }], |
| | | pipepressure: [{ required: true, message: '设备管道压力不能为空', trigger: 'blur' }], |
| | | blindboardmaterial: [{ required: true, message: '盲板材质不能为空', trigger: 'blur' }], |
| | | blindboardspecification: [{ required: true, message: '盲板规格不能为空', trigger: 'blur' }], |
| | | blindboardnumber: [{ required: true, message: '盲板编号不能为空', trigger: 'blur' }], |
| | | // blindboardlocation: [{ required: true, message: '盲板位置图不能为空', trigger: 'blur' }], |
| | | firelevel: [{ required: true, message: '动火级别不能为空', trigger: 'blur' }], |
| | | firetype: [{ required: true, message: '动火类型不能为空', trigger: 'blur' }], |
| | | }, |
| | | ifIncludeArea:null, |
| | | ifHoisting:null, |
| | | ifBuilding:null, |
| | | ifIncludeRoad:null, |
| | | ifIncludeHigh:null, |
| | | ifIncludeElectricity:null, |
| | | ifIncludePump:null, |
| | | ifIncludeFire:null, |
| | | dialogImageUrl:false, |
| | | dialogVisible:false, |
| | | disabled: false, |
| | | } |
| | | }, |
| | | created(){ |
| | | this.getCompany() |
| | | }, |
| | | methods:{ |
| | | giveTaskBasic(){ |
| | | this.taskBasicForm = JSON.parse(JSON.stringify(this.taskBasicForm)) |
| | | }, |
| | | handlePictureCardPreview(file){ |
| | | this.dialogImageUrl = file.url; |
| | | this.dialogVisible = true; |
| | | }, |
| | | resetFormRules(){ |
| | | this.$nextTick(() =>{ |
| | | this.$refs["form"].clearValidate() |
| | | }) |
| | | }, |
| | | async getCompany(){ |
| | | let params = {} |
| | | params['pageIndex'] = this.currentPage |
| | | params['pageSize'] = this.pageSize |
| | | params['company'] = this.company |
| | | params['code'] = this.code |
| | | let res = await getUnitList(params) |
| | | if(res.data.code === '200'){ |
| | | this.companyList = res.data.result.result |
| | | }else{ |
| | | this.$message({ |
| | | message:res.data.message, |
| | | type:'warning' |
| | | }) |
| | | } |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .taskBasic_title{ |
| | | font-weight: bolder; |
| | | font-size: large; |
| | | text-align: center; |
| | | margin-top: 24px; |
| | | } |
| | | /deep/.el-collapse-item__header{ |
| | | margi:0 auto; |
| | | width:100%; |
| | | font-weight: bolder; |
| | | font-size: large; |
| | | text-align: center; |
| | | padding-left: 45%; |
| | | } |
| | | .taskBasic_select{ |
| | | width: 100%; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <el-dialog title="审批" :visible.sync="reviewInfoDialog" :modal-append-to-body="false" :close-on-click-modal="false" width="50%"> |
| | | <div class="block"> |
| | | <el-timeline> |
| | | <el-timeline-item |
| | | v-for="(activity, index) in activities" |
| | | :key="index" |
| | | :color="'#0bbd87'" |
| | | :size="activity.size" |
| | | :timestamp="activity.reviewat"> |
| | | <div style="padding-bottom: 10px;font-weight: bolder">{{activity.level}}</div> |
| | | <el-card> |
| | | <el-row> |
| | | <el-col :span="2"> |
| | | <div>签字:</div> |
| | | </el-col> |
| | | <el-col :span="22"> |
| | | <img :src="activity.autograph" style="width:40px;height:40px;margin-left:10px;cursor:pointer" @click="showPic(activity.autograph)"></img> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <span>现场图:</span> |
| | | <img slot="reference" v-for="(item,index) in activity.pictures" :src="item.url" :key="index" style="width:40px;height:40px;margin-left:10px;cursor:pointer" @click="showPic()"></img> |
| | | </el-row> |
| | | |
| | | </el-card> |
| | | </el-timeline-item> |
| | | </el-timeline> |
| | | </div> |
| | | <el-dialog :visible.sync="dialogVisible" :append-to-body="true"> |
| | | <img width="100%" :src="dialogImageUrl" alt=""> |
| | | </el-dialog> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'index', |
| | | data(){ |
| | | return{ |
| | | reviewInfoDialog:false, |
| | | dialogVisible:false, |
| | | dialogImageUrl:'', |
| | | activities: [] |
| | | } |
| | | }, |
| | | methods:{ |
| | | openReviewInfo(value){ |
| | | this.reviewInfoDialog = true |
| | | this.activities = JSON.parse(JSON.stringify(value.taskReviews)) |
| | | for(let i in this.activities){ |
| | | if(this.activities[i].pictures !== null && this.activities[i].pictures.length !== 0){ |
| | | this.activities[i].pictures = this.activities[i].pictures.map( item =>{ |
| | | return process.env.IMG_API + item |
| | | }) |
| | | } |
| | | this.activities[i].autograph = process.env.IMG_API + this.activities[i].autograph |
| | | } |
| | | |
| | | |
| | | }, |
| | | showPic(value){ |
| | | this.dialogVisible = true |
| | | this.dialogImageUrl = value |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div> |
| | | <el-table :data="tasksecurity" border fit highlight-current-row style="width: 100%;" :header-cell-style="{'text-align':'center'}"> |
| | | <el-table-column type="index" label="序号" align="center" width="60"/> |
| | | <el-table-column prop="content" label="安全措施" align="left"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="scope.row.checktype === '判断'"> |
| | | {{scope.row.content}} |
| | | </div> |
| | | <div v-if="scope.row.checktype === '填空'"> |
| | | <span>{{scope.row.content.split('_')[0]}}</span> |
| | | <el-input style="width:50px" v-model="scope.row.num"></el-input> |
| | | <span>{{scope.row.content.split('_')[1]}}</span> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="checked" label="选项" align="center" width="300"> |
| | | <template slot-scope="scope"> |
| | | <el-radio v-model="scope.row.checked" :label="1">是</el-radio> |
| | | <el-radio v-model="scope.row.checked" :label="0">否</el-radio> |
| | | <el-radio v-model="scope.row.checked" :label="2">不涉及</el-radio> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getSafetyActionList } from '@/api/task' |
| | | |
| | | export default { |
| | | props:['basicInformation'], |
| | | name: 'index', |
| | | data(){ |
| | | return{ |
| | | currentPage:0, |
| | | pageSize:1000, |
| | | tasksecurity:[], |
| | | safetyActionData:[ |
| | | // {id:0,selected:true,action:'动火设备内部构件清理干净,蒸汽吹扫或水洗合格,达到用火条件。',type:0}, |
| | | // {id:1,selected:null,actionOne:'',actionTwo:'',type:1}, |
| | | // {id:2,selected:null,action:'动火点10m范围内及动火点下部区域严禁同时进行可燃溶剂清洗和喷漆等作业。在受限空间内进行动火作业、临时用电作业时,不得同时进行刷漆、喷漆作业或使用可燃溶剂清洗等其他可能散发易燃气体、可燃液体的作业。',type:0}, |
| | | // {id:3,selected:null,action:'动火点周围的下水井、地漏、地沟、电缆沟等已清除易燃物,并已采取覆盖、铺沙、水封等手段进行隔离。',type:0}, |
| | | // {id:4,selected:null,action:'动火点周围易燃物已清除。',type:0}, |
| | | // {id:5,selected:null,action:'罐区内动火点同一围堰内和防火间距内的储罐不同时进行脱水作业,排凝等作业。',type:0}, |
| | | // {id:6,selected:null,action:'距动火点30m内严禁排放可燃气体,15m内严禁排放各类可燃液体。',type:0}, |
| | | // {id:7,selected:null,action:'电焊回路线已接在焊件上,把线未穿过下水井或其它设备搭接。',type:0}, |
| | | // {id:8,selected:null,action:'高处作业已采取防火花飞溅措施。',type:0}, |
| | | // {id:9,selected:null,action:'乙炔气瓶(直立放置)、氧气瓶与火源间的距离大于10m,二者间距不应小于5m。',type:0}, |
| | | // {id:10,selected:null,actionOne:'',actionTwo:'',actionThree:'',actionFour:'',type:2}, |
| | | // {id:11,selected:null,actionOne:'',type:3}, |
| | | ], |
| | | } |
| | | }, |
| | | methods:{ |
| | | async getSafeTyAction(){ |
| | | let params = {} |
| | | params['pageIndex'] = this.currentPage |
| | | params['pageSize'] = this.pageSize |
| | | params['type'] = '动火作业负责检查项' |
| | | this.safetyActionData = [] |
| | | this.tasksecurity = [] |
| | | let res = await getSafetyActionList(params) |
| | | if(res.data.code === '200'){ |
| | | this.safetyActionData = res.data.result |
| | | this.tasksecurity = this.safetyActionData.map(item =>{ |
| | | return { |
| | | id:item.id, |
| | | taskcode: this.basicInformation.code, |
| | | content: item.content, |
| | | checked: item.check, |
| | | num: item.number, |
| | | confirmedby: "test", |
| | | checktype:item.checktype, |
| | | } |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | message:res.data.message, |
| | | type:'warning' |
| | | }) |
| | | } |
| | | }, |
| | | async getConstructionAction(){ |
| | | let params = {} |
| | | params['pageIndex'] = this.currentPage |
| | | params['pageSize'] = this.pageSize |
| | | params['type'] = '施工单位负责检查项' |
| | | this.safetyActionData = [] |
| | | this.tasksecurity = [] |
| | | let res = await getSafetyActionList(params) |
| | | if(res.data.code === '200'){ |
| | | this.safetyActionData = res.data.result |
| | | this.tasksecurity = this.safetyActionData.map(item =>{ |
| | | return { |
| | | id:item.id, |
| | | taskcode: this.basicInformation.code, |
| | | content: item.content, |
| | | checked: item.check, |
| | | num: item.number, |
| | | confirmedby: "test", |
| | | checktype:item.checktype, |
| | | } |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | message:res.data.message, |
| | | type:'warning' |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="safetyAndRiskConfirm"> |
| | | <div class="safetyAndRiskConfirm_title"> |
| | | <span>{{"安全交底和风险告知确认卡"}}</span> |
| | | </div> |
| | | <el-descriptions class="margin-top" :column="2" border> |
| | | <el-descriptions-item :span="1"> |
| | | <template slot="label"> |
| | | <i class="el-icon-office-building"></i> |
| | | 作业单位 |
| | | </template> |
| | | <div class="safetyAndRiskConfirm_input">{{constructionUnit}}</div> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :span="1" class="test"> |
| | | <template slot="label"> |
| | | <i class="el-icon-user-solid"></i> |
| | | 车间项目负责人 |
| | | </template> |
| | | <div class="safetyAndRiskConfirm_input">{{director}}</div> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :span="2"> |
| | | <template slot="label" > |
| | | <i class="el-icon-notebook-2"></i> |
| | | 作业内容 |
| | | </template> |
| | | <el-input class="safetyAndRiskConfirm_input" v-model="taskRiskForm.content"></el-input> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :span="2"> |
| | | <template slot="label" > |
| | | <i class="el-icon-time"></i> |
| | | 作业时间 |
| | | </template> |
| | | <div class="safetyAndRiskConfirm_input">{{startTime + '-' + endTime}}</div> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :span="2"> |
| | | <template slot="label" > |
| | | <i class="el-icon-user"></i> |
| | | 作业人员 |
| | | </template> |
| | | <el-input class="safetyAndRiskConfirm_input"></el-input> |
| | | </el-descriptions-item> |
| | | </el-descriptions> |
| | | <el-descriptions title="基本要求" direction="vertical" :column="4" border> |
| | | </el-descriptions> |
| | | <div class="safetyAndRiskConfirm_top"> |
| | | <div class="safetyAndRiskConfirm_top_title"> |
| | | {{"作业前,项目负责人应对施工作业人员进行安全交底和风险告知,内容包括作业许可范围及作业环境、作业风险、防范措施(工艺、设备、个体防护等)、应急措施及其他注意事项。作业人员应按照风险告知内容,逐条对接确认,落实到位后方可作业。"}} |
| | | </div> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle"> |
| | | <div class="safetyAndRiskConfirm_middle_left"> |
| | | <div class="safetyAndRiskConfirm_middle_left_title">{{'安全交底和风险告知内容'}}</div> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right"> |
| | | <div class="safetyAndRiskConfirm_middle_right_one"> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_top"> |
| | | {{"作业许可范围及作业环境:"}} |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_text"> |
| | | <el-input type="textarea" :row="2" class="safetyAndRiskConfirm_middle_right_one_textarea" v-model="taskRiskForm.environment"></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_one"> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_top"> |
| | | {{"作业风险:"}} |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_text"> |
| | | <el-input type="textarea" :row="2" class="safetyAndRiskConfirm_middle_right_one_textarea" v-model="hazard" readonly></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_one"> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_top"> |
| | | {{"防范措施(工艺、设备、个体防护等):"}} |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_text"> |
| | | <el-input type="textarea" :row="2" class="safetyAndRiskConfirm_middle_right_one_textarea" v-model="taskRiskForm.preventive"></el-input> |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_one"> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_top"> |
| | | {{"应急措施:"}} |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_text"> |
| | | <el-input type="textarea" :row="2" class="safetyAndRiskConfirm_middle_right_one_textarea" v-model="taskRiskForm.emergency"></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_one"> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_top"> |
| | | {{"其他注意事项:"}} |
| | | </div> |
| | | <div calss="safetyAndRiskConfirm_middle_right_one_text"> |
| | | <el-input type="textarea" :row="2" class="safetyAndRiskConfirm_middle_right_one_textarea" v-model="taskRiskForm.other"></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_middle_right_two"> |
| | | <div class="safetyAndRiskConfirm_middle_right_one_top"> |
| | | {{"企业负责人确认:"}} |
| | | </div> |
| | | <div calss="safetyAndRiskConfirm_middle_right_one_text"> |
| | | <el-input type="textarea" :row="2" class="safetyAndRiskConfirm_middle_right_one_textarea"></el-input> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="safetyAndRiskConfirm_bottom"> |
| | | <div class="safetyAndRiskConfirm_bottom_title"> |
| | | {{"我方所有施工作业人员已明确该项目的风险并清楚了危害、防范措施和其它注意事项。"}} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'index', |
| | | props:['basicInformation'], |
| | | data(){ |
| | | return{ |
| | | director:'', |
| | | startTime:'', |
| | | endTime:'', |
| | | constructionUnit:'', |
| | | hazard:'', |
| | | taskRiskForm:{ |
| | | id:'', |
| | | taskcode:'', |
| | | content:'', |
| | | environment:'', |
| | | preventive:'', |
| | | emergency:'', |
| | | other:'', |
| | | director:'', |
| | | taskdirector:'', |
| | | confirmat:'', |
| | | createdat:'', |
| | | createdby:'', |
| | | modifiedat:'', |
| | | modifiedby:'', |
| | | flag:'', |
| | | }, |
| | | } |
| | | }, |
| | | created(){ |
| | | this.getBasic() |
| | | }, |
| | | methods:{ |
| | | getBasic(){ |
| | | this.constructionUnit = this.basicInformation.constructionunit |
| | | this.director = this.basicInformation.director |
| | | this.startTime = this.basicInformation.starttime |
| | | this.endTime = this.basicInformation.endtime |
| | | this.hazard = this.basicInformation.hazard |
| | | this.taskRiskForm.taskcode = this.basicInformation.code |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .safetyAndRiskConfirm{ |
| | | width:60%; |
| | | margin:0 auto; |
| | | } |
| | | .safetyAndRiskConfirm_title{ |
| | | padding-bottom: 15px; |
| | | font-weight: bold; |
| | | font-size: 25px; |
| | | text-align: center; |
| | | } |
| | | /deep/.el-descriptions__header{ |
| | | border-left: 1px solid #EBEEF5; |
| | | border-right: 1px solid #EBEEF5; |
| | | border-bottom: 1px solid #EBEEF5; |
| | | margin: 0px auto; |
| | | height:30px; |
| | | text-align: center; |
| | | } |
| | | /deep/.el-descriptions__title{ |
| | | text-align: center; |
| | | width:100%; |
| | | margin: 0px auto; |
| | | } |
| | | .safetyAndRiskConfirm_top{ |
| | | border-left: 1px solid #EBEEF5; |
| | | border-right: 1px solid #EBEEF5; |
| | | border-bottom: 1px solid #EBEEF5; |
| | | margin: 0px auto; |
| | | height:80px; |
| | | font-size: 18px; |
| | | text-indent: 2em; |
| | | } |
| | | .safetyAndRiskConfirm_top_title{ |
| | | position: relative; |
| | | top: 50%; /*偏移*/ |
| | | transform: translateY(-50%); |
| | | } |
| | | /*.safetyAndRiskConfirm_basic{*/ |
| | | /* border-left: 1px solid #EBEEF5;*/ |
| | | /* border-right: 1px solid #EBEEF5;*/ |
| | | /* border-bottom: 1px solid #EBEEF5;*/ |
| | | /* margin: 0px auto;*/ |
| | | /* height:80px;*/ |
| | | /* font-size: 18px;*/ |
| | | /* text-indent: 2em;*/ |
| | | /*}*/ |
| | | .safetyAndRiskConfirm_middle{ |
| | | border-left: 1px solid #EBEEF5; |
| | | border-right: 1px solid #EBEEF5; |
| | | border-bottom: 1px solid #EBEEF5; |
| | | margin: 0px auto; |
| | | height:550px; |
| | | font-size: 18px; |
| | | } |
| | | .safetyAndRiskConfirm_middle_left{ |
| | | height:100%; |
| | | width:10%; |
| | | border-right: 1px solid #EBEEF5; |
| | | display:inline-block; |
| | | float: left; |
| | | } |
| | | .safetyAndRiskConfirm_middle_left_title{ |
| | | padding-left: 12px; |
| | | padding-right: 12px; |
| | | text-align: center; |
| | | position: relative; |
| | | top: 50%; /*偏移*/ |
| | | transform: translateY(-50%); |
| | | } |
| | | .safetyAndRiskConfirm_middle_right{ |
| | | float: left; |
| | | height:100%; |
| | | width:90%; |
| | | } |
| | | .safetyAndRiskConfirm_middle_right_one{ |
| | | height:16.6%; |
| | | width:100%; |
| | | border-bottom: 1px solid #EBEEF5; |
| | | } |
| | | .safetyAndRiskConfirm_middle_right_two{ |
| | | height:16.6%; |
| | | width:100%; |
| | | } |
| | | .safetyAndRiskConfirm_middle_right_one_top{ |
| | | height:30%; |
| | | width:100%; |
| | | padding-top:5px; |
| | | padding-left: 5px; |
| | | } |
| | | .safetyAndRiskConfirm_middle_right_one_textarea{ |
| | | padding-left: 5px; |
| | | padding-right:5px ; |
| | | padding-top: 2px; |
| | | } |
| | | .safetyAndRiskConfirm_middle_right_one_text{ |
| | | height:70%; |
| | | width:100%; |
| | | } |
| | | |
| | | .safetyAndRiskConfirm_bottom{ |
| | | border-left: 1px solid #EBEEF5; |
| | | border-right: 1px solid #EBEEF5; |
| | | border-bottom: 1px solid #EBEEF5; |
| | | margin: 0px auto; |
| | | height:100px; |
| | | font-size: 18px; |
| | | } |
| | | .safetyAndRiskConfirm_bottom_title{ |
| | | text-align: center; |
| | | position: relative; |
| | | top: 50%; /*偏移*/ |
| | | transform: translateY(-50%); |
| | | } |
| | | .test{ |
| | | /*border: 0px;*/ |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog :title="title" :visible.sync="taskInfoDialog" :modal-append-to-body="false" :close-on-click-modal="false" width="70%"> |
| | | <el-tabs type="border-card" class="active" v-model="activeName"> |
| | | <el-tab-pane label="作业基本信息" name="hotFireBasic" v-if="ifHotFireBasic"> |
| | | <hot-fire-basic ref="hotFireBasic"></hot-fire-basic> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="安全措施" name="safetyAction" v-if="ifSafetyAction"> |
| | | <safety-action ref="safetyAction" :basicInformation="basicForm"></safety-action> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="安全交底和风险告知确认卡" name="safetyAndRiskConfirm" v-if="ifSafetyAndRisk"> |
| | | <safety-and-risk-confirm ref="safetyAndRiskConfirm" :basicInformation="basicForm"></safety-and-risk-confirm> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="设备" name="equipment" v-if="ifSafetyAction"> |
| | | <equipment ref="equipment" :basicInformation="basicForm"></equipment> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="作业人" name="fireMan" v-if="ifFireMan"> |
| | | <fire-man ref="fireMan" :basicInformation="basicForm"></fire-man> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="文件" name="fileAndEquipment" v-if="ifFile"> |
| | | <file-and-equipment ref="fileAndEquipment" :basicInformation="basicForm"></file-and-equipment> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </el-dialog> |
| | | </div> |
| | | |
| | | </template> |
| | | |
| | | <script> |
| | | import fireMan from './fireMan/index' |
| | | import equipment from './equipment/index' |
| | | import fileAndEquipment from './fileAndEquipment/index' |
| | | import safetyAndRiskConfirm from './safetyAndRiskConfirm/index' |
| | | import safetyAction from './safetyAction/index' |
| | | import hotFireBasic from './hotFireBasic/index' |
| | | |
| | | export default { |
| | | name: 'taskInfo', |
| | | data(){ |
| | | return{ |
| | | title:'', |
| | | taskInfoDialog:false, |
| | | supervisorAndAnalystAgree:false, |
| | | supervisorAndAnalystRefuse:false, |
| | | relevantRefuse:false, |
| | | securityRefuse:false, |
| | | activeName:'hotFireBasic', |
| | | ifFile:false, |
| | | ifFireMan:false, |
| | | ifSafetyAction:false, |
| | | ifSafetyAndRisk:false, |
| | | ifHotFireBasic:true, |
| | | ifConstruction:false, |
| | | basicForm:{}, |
| | | constructionForm:{}, |
| | | } |
| | | }, |
| | | components:{ |
| | | hotFireBasic, |
| | | safetyAction, |
| | | safetyAndRiskConfirm, |
| | | fileAndEquipment, |
| | | equipment, |
| | | fireMan, |
| | | }, |
| | | methods:{ |
| | | openTaskInfo(value,title){ |
| | | this.taskInfoDialog = true |
| | | this.activeName = 'hotFireBasic' |
| | | if(title === '查看'){ |
| | | this.title = '查看' |
| | | this.ifSafetyAction = true |
| | | this.ifSafetyAndRisk = true |
| | | this.ifFireMan = true |
| | | this.ifFile = true |
| | | this.ifHotFireBasic = true |
| | | this.basicForm = JSON.parse(JSON.stringify(value)) |
| | | setTimeout(()=> { |
| | | this.$refs.hotFireBasic.resetFormRules() |
| | | this.$refs.hotFireBasic.taskBasicForm = JSON.parse(JSON.stringify(value)) |
| | | this.$refs.safetyAction.tasksecurity = JSON.parse(JSON.stringify(value)).taskSecurities |
| | | this.$refs.safetyAndRiskConfirm.taskRiskForm = JSON.parse(JSON.stringify(value)).taskRisk |
| | | this.$refs.equipment.equipmentData = JSON.parse(JSON.stringify(value)).taskEquipments |
| | | this.$refs.fireMan.taskWorkers = JSON.parse(JSON.stringify(value)).taskWorkers |
| | | let form = JSON.parse(JSON.stringify(value)).subTaskInfos |
| | | this.$refs.hotFireBasic.taskBasicForm.type = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.category = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.firelevel = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.checked = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.spacecategory = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.spacename = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.spacemedium = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.acibase = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.hoistinglevel = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.hoistingweight = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.soildepth = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.soilarea = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.soilfile = [] |
| | | this.$refs.hotFireBasic.taskBasicForm.breakreason = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.breakfile = [] |
| | | this.$refs.hotFireBasic.taskBasicForm.workheight = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.heightlevel = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.electricityarea = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.voltage = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.power = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.pipename = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.pipemedium = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.pipetemperature = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.pipepressure = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.blindboardmaterial = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.blindboardspecification = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.blindboardnumber = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.commander = '' |
| | | this.$refs.hotFireBasic.taskBasicForm.blindboardlocation = [] |
| | | this.$refs.hotFireBasic.taskBasicForm.firetype = '' |
| | | for (let i in form) { |
| | | if (form[i].type === '受限空间作业') { |
| | | this.$refs.hotFireBasic.activeNames.push('1') |
| | | this.$refs.hotFireBasic.ifIncludeArea = 1 |
| | | this.$refs.hotFireBasic.taskBasicForm.spacecategory = form[i].spacecategory |
| | | this.$refs.hotFireBasic.taskBasicForm.spacename = form[i].spacename |
| | | this.$refs.hotFireBasic.taskBasicForm.spacemedium = form[i].spacemedium |
| | | this.$refs.hotFireBasic.taskBasicForm.acibase = form[i].acibase |
| | | } else if (form[i].type === '吊装作业') { |
| | | this.$refs.hotFireBasic.activeNames.push('2') |
| | | this.$refs.hotFireBasic.ifHoisting = 1 |
| | | this.$refs.hotFireBasic.taskBasicForm.hoistinglevel = form[i].hoistinglevel |
| | | this.$refs.hotFireBasic.taskBasicForm.hoistingweight = form[i].hoistingweight |
| | | } else if (form[i].type === '动土作业') { |
| | | this.$refs.hotFireBasic.activeNames.push('3') |
| | | this.$refs.hotFireBasic.ifBuilding = 1 |
| | | this.$refs.hotFireBasic.taskBasicForm.soildepth = form[i].soildepth |
| | | this.$refs.hotFireBasic.taskBasicForm.soilarea = form[i].soilarea |
| | | this.$refs.hotFireBasic.taskBasicForm.soilfile = form[i].soilfile |
| | | } else if (form[i].type === '断路作业') { |
| | | this.$refs.hotFireBasic.activeNames.push('4') |
| | | this.$refs.hotFireBasic.ifIncludeRoad = 1 |
| | | this.$refs.hotFireBasic.taskBasicForm.breakreason = form[i].breakreason |
| | | this.$refs.hotFireBasic.taskBasicForm.breakfile = form[i].breakfile |
| | | } else if (form[i].type === '高处作业') { |
| | | this.$refs.hotFireBasic.activeNames.push('5') |
| | | this.$refs.hotFireBasic.ifIncludeHigh = 1 |
| | | this.$refs.hotFireBasic.taskBasicForm.heightlevel = form[i].heightlevel |
| | | this.$refs.hotFireBasic.taskBasicForm.workheight = form[i].workheight |
| | | } else if (form[i].type === '临时用电作业') { |
| | | this.$refs.hotFireBasic.activeNames.push('6') |
| | | this.$refs.hotFireBasic.ifIncludeElectricity = 1 |
| | | this.$refs.hotFireBasic.taskBasicForm.electricityarea = form[i].electricityarea |
| | | this.$refs.hotFireBasic.taskBasicForm.voltage = form[i].voltage |
| | | this.$refs.hotFireBasic.taskBasicForm.power = form[i].power |
| | | } else if (form[i].type === '盲板抽堵作业') { |
| | | this.$refs.hotFireBasic.activeNames.push('7') |
| | | this.$refs.hotFireBasic.ifIncludePump = 1 |
| | | this.$refs.hotFireBasic.taskBasicForm.pipename = form[i].pipename |
| | | this.$refs.hotFireBasic.taskBasicForm.pipemedium = form[i].pipemedium |
| | | this.$refs.hotFireBasic.taskBasicForm.pipetemperature = form[i].pipetemperature |
| | | this.$refs.hotFireBasic.taskBasicForm.pipepressure = form[i].pipepressure |
| | | this.$refs.hotFireBasic.taskBasicForm.blindboardmaterial = form[i].blindboardmaterial |
| | | this.$refs.hotFireBasic.taskBasicForm.blindboardspecification = form[i].blindboardspecification |
| | | this.$refs.hotFireBasic.taskBasicForm.blindboardnumber = form[i].blindboardnumber |
| | | this.$refs.hotFireBasic.taskBasicForm.blindboardlocation = form[i].blindboardlocation |
| | | } else { |
| | | this.$refs.hotFireBasic.activeNames.push('8') |
| | | this.$refs.hotFireBasic.ifIncludeFire = 1 |
| | | this.$refs.hotFireBasic.taskBasicForm.firelevel = form[i].level |
| | | this.$refs.hotFireBasic.taskBasicForm.firetype = form[i].firetype |
| | | } |
| | | } |
| | | this.$refs.hotFireBasic.giveTaskBasic(this.$refs.hotFireBasic.taskBasicForm) |
| | | }) |
| | | } |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div class="filter-container"> |
| | | <div class="basic_search"> |
| | | <span>开始时间:</span> |
| | | <el-date-picker value-format="yyyy-MM-dd HH:mm" placeholder="请选择开始时间" type="datetime" v-model="listQuery.starttime" style="width:200px"> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>结束时间:</span> |
| | | <el-date-picker value-format="yyyy-MM-dd HH:mm" placeholder="请选择结束时间" type="datetime" v-model="listQuery.endtime" style="width:200px"> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>部门:</span> |
| | | <el-input v-model="listQuery.department" style="width:200px"> |
| | | </el-input> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>施工单位:</span> |
| | | <el-input v-model="listQuery.constructionunit" style="width:200px"> |
| | | </el-input> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>作业类型:</span> |
| | | <el-select v-model="listQuery.level" clearable style="width:200px"> |
| | | <el-option |
| | | v-for="item in taskTypeList" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>审批状态:</span> |
| | | <el-select v-model="listQuery.status" clearable style="width:200px"> |
| | | <el-option |
| | | v-for="item in statusList" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>作业状态:</span> |
| | | <el-select v-model="listQuery.flag" clearable style="width:200px"> |
| | | <el-option |
| | | v-for="item in flagList" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.name" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <el-button style="margin-left: 10px;" type="primary" icon="el-icon-refresh" @click="refreshHandle">搜索</el-button> |
| | | </div> |
| | | <div class="table_content"> |
| | | <el-table |
| | | v-loading="listLoading" |
| | | :key="tableKey" |
| | | :data="taskData" |
| | | border |
| | | fit |
| | | highlight-current-row |
| | | style="width: 100%;" |
| | | @sort-change="sortChange" |
| | | > |
| | | <el-table-column label="单位名称" prop="unit" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="单位代码" prop="code" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="申请人" prop="applicant" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="施工单位" prop="constructionunit" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="作业内容" prop="area" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="开始时间" prop="starttime" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="结束时间" prop="endtime" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="作业级别" prop="level" align="center" sortable="custom"> |
| | | <template slot-scope="scope"> |
| | | <div v-for="item in levelList"> |
| | | <div v-if="scope.row.level === item.id"> |
| | | <span>{{item.name}}</span> |
| | | <!-- <el-tag v-if="scope.row.level ===2" type="success">{{item.name}}</el-tag>--> |
| | | <!-- <el-tag v-if="scope.row.level ===1" type="warning">{{item.name}}</el-tag>--> |
| | | <!-- <el-tag v-if="scope.row.level ===0" type="danger">{{item.name}}</el-tag>--> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="任务审批状态" prop="status" align="center" sortable="custom"> |
| | | <template slot-scope="scope"> |
| | | <div v-for="item in statusList"> |
| | | <div v-if="scope.row.status === item.id"> |
| | | <span>{{item.name}}</span> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="作业状态" prop="flag" align="center" sortable="custom"> |
| | | <template slot-scope="scope"> |
| | | <div v-for="item in flagList"> |
| | | <div v-if="scope.row.flag === item.id"> |
| | | <span>{{item.name}}</span> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="创建时间" prop="createdat" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="最近修改时间" prop="modifiedat" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="showReviewInfo(scope.row)" v-if="scope.row.taskReviews.length !== 0">查看审批</el-button> |
| | | <el-button type="text" @click="editWatch(scope.row,'监护人')" v-if="scope.row.approversupervisor !== '' && scope.row.approversupervisor !== null && applicant === scope.row.applicant">监护人</el-button> |
| | | <el-button type="text" @click="editWorker(scope.row,'作业人')" v-if="scope.row.taskWorkers.length !== 0 && applicant === scope.row.applicant">作业人</el-button> |
| | | <el-button type="text" @click="showTaskInfo(scope.row,'查看')">查看</el-button> |
| | | <el-button type="text" @click="downloadFile(scope.row)" v-if="scope.row.status === 7">下载</el-button> |
| | | <el-tooltip class="item" effect="dark" content="点击重新生成票证" placement="top-end"> |
| | | <el-button type="text" @click="regenerateWorkCertHandler(scope.row)" icon="el-icon-refresh" v-if="scope.row.status === 7"></el-button> |
| | | </el-tooltip> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <br> |
| | | <el-pagination |
| | | v-show="recordTotal>0" |
| | | :current-page="currentPage" |
| | | :page-sizes="[10, 20, 30, 50]" |
| | | :page-size="pageSize" |
| | | :total="recordTotal" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | background |
| | | style="float:right;" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | /> |
| | | <br> |
| | | </div> |
| | | <task-info ref="taskInfo" @getinfo="getTaskData"></task-info> |
| | | <el-dialog :visible.sync="watchDialog" :modal-append-to-body="false" :close-on-click-modal="false" width="25%"> |
| | | <div align="center"> |
| | | <span>原监护人:</span> |
| | | <el-input v-model="supervisor" style="width:200px" readonly> |
| | | </el-input> |
| | | </div> |
| | | <div align="center" style="padding-top: 20px"> |
| | | <span>现监护人:</span> |
| | | <el-select v-model="supervisorForm.approversupervisor"> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.id" |
| | | :value="item.realname" |
| | | :label="item.realname" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <div align="center" style="padding-top: 20px"> |
| | | <el-button type="primary" @click="submitEditSupervisor()">确定</el-button> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog :visible.sync="workerDialog" :modal-append-to-body="false" :close-on-click-modal="false" width="70%"> |
| | | <div style="padding-bottom: 10px"> |
| | | <el-button type="primary" @click="addTaskWorker">添加作业人</el-button> |
| | | </div> |
| | | <el-table :data="taskWorkers" border fit highlight-current-row style="width: 100%;" :header-cell-style="{'text-align':'center'}"> |
| | | <el-table-column type="index" label="序号" align="center" width="60"/> |
| | | <el-table-column prop="taskcode" label="作业编号" align="left"> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="作业类型" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.tasktype"> |
| | | <el-option |
| | | v-for="item in taskTypeList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="施工单位" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.unit"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="worker" label="作业人姓名" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.worker"> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.id" |
| | | :value="item.realname" |
| | | :label="item.realname" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="branch" label="特种作业工种" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.branch"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="number" label="特种作业证号" align="left"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.number"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="deleteWorker(scope.$index)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div align="center" style="padding-top: 20px"> |
| | | <el-button type="primary" @click="submitWorker">确定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <review-info ref="reviewInfo"></review-info> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import taskInfo from './components/taskInfo' |
| | | import { mapGetters } from 'vuex' |
| | | import { computePageCount } from '../../../../utils' |
| | | import { changeSupervisor, changeWorker, lookTaskList, submitTask ,regenerateWorkCert} from '../../../../api/task' |
| | | import { getUnitList } from '../../../../api/unitManage' |
| | | import { concreteUser, userList } from '@/api/user' |
| | | import { parseError } from '../../../../utils/messageDialog' |
| | | import reviewInfo from './components/reviewInfo/index' |
| | | |
| | | export default { |
| | | name: 'index', |
| | | filters: { |
| | | }, |
| | | computed: { |
| | | ...mapGetters([ |
| | | 'userType' |
| | | ]) |
| | | }, |
| | | data() { |
| | | return { |
| | | tableKey: 0, |
| | | applicant:'', |
| | | taskData: [], |
| | | workerList:[], |
| | | companyList:[], |
| | | taskWorkers:[], |
| | | listLoading: false, |
| | | watchDialog:false, |
| | | workerDialog:false, |
| | | pageSize: 10, |
| | | recordTotal: 0, |
| | | currentPage: 1, |
| | | pageTotal: 0, |
| | | title:'', |
| | | supervisor:'', |
| | | code:'', |
| | | supervisorForm:{ |
| | | taskcode:'', |
| | | approversupervisor:'' |
| | | }, |
| | | taskTypeList:[ |
| | | {id:0,name:'受限空间作业'}, |
| | | {id:1,name:'吊装作业'}, |
| | | {id:2,name:'动土作业'}, |
| | | {id:3,name:'断路作业'}, |
| | | {id:4,name:'高处作业'}, |
| | | {id:5,name:'临时用电作业'}, |
| | | {id:6,name:'盲板抽堵作业'}, |
| | | {id:7,name:'动火作业'}, |
| | | ], |
| | | levelList:[{id:2,name:'特级'},{id:1,name:'一级'},{id:0,name:'二级'},], |
| | | statusList:[ |
| | | {id:0,name:'已驳回'}, |
| | | {id:1,name:'未提交'}, |
| | | {id:2,name:'已提交'}, |
| | | {id:3,name:'施工单位已确认'}, |
| | | {id:4,name:'动火部位负责人审批通过'}, |
| | | {id:5,name:'相关部门审批通过'}, |
| | | {id:6,name:'安全部门审批通过'}, |
| | | {id:7,name:'审批通过'}, |
| | | ], |
| | | flagList:[ |
| | | {id:0,name:'等待整改'}, |
| | | {id:1,name:'作业中止'}, |
| | | {id:2,name:'等待检查'}, |
| | | {id:3,name:'等待开始'}, |
| | | {id:4,name:'作业中'}, |
| | | {id:5,name:'作业完成'}, |
| | | ], |
| | | listQuery:{ |
| | | starttime:'', |
| | | endtime:'', |
| | | department:'', |
| | | constructionunit:'', |
| | | level:'', |
| | | status:'', |
| | | flag:'', |
| | | }, |
| | | } |
| | | }, |
| | | components:{ |
| | | taskInfo, |
| | | reviewInfo |
| | | }, |
| | | created() { |
| | | this.getTaskData() |
| | | this.getWorker() |
| | | }, |
| | | methods: { |
| | | async getTaskData(){ |
| | | this.applicant = sessionStorage.getItem('realname') |
| | | this.listLoading = true |
| | | let params = {} |
| | | params['pageIndex'] = this.currentPage |
| | | params['pageSize'] = this.pageSize |
| | | params['order'] = this.orderValue |
| | | params['sort'] = this.sortValue |
| | | for (const i in this.listQuery) { |
| | | console.log(i) |
| | | params[i] = this.listQuery[i] |
| | | } |
| | | let res = await lookTaskList(params) |
| | | if(res.data.code === '200'){ |
| | | this.recordTotal = res.data.result.totalCount |
| | | this.pageSize = res.data.result.pageSize |
| | | this.pageTotal = computePageCount(res.data.result.totalCount, res.data.result.pageSize) |
| | | this.currentPage = res.data.result.pageIndex |
| | | this.taskData = res.data.result.result |
| | | }else{ |
| | | this.$message({ |
| | | message:res.data.message, |
| | | type:'warning' |
| | | }) |
| | | } |
| | | this.listLoading = false |
| | | }, |
| | | showReviewInfo(value){ |
| | | this.$refs.reviewInfo.openReviewInfo(value) |
| | | }, |
| | | editWatch(value){ |
| | | this.watchDialog = true |
| | | this.supervisor = value.approversupervisor |
| | | this.supervisorForm.taskcode = value.code |
| | | this.supervisorForm.approversupervisor = '' |
| | | }, |
| | | editWorker(value){ |
| | | this.workerDialog = true |
| | | this.code = value.code |
| | | this.taskWorkers = value.taskWorkers |
| | | }, |
| | | addTaskWorker(){ |
| | | this.taskWorkers.push({ |
| | | createdat: "", |
| | | createdby: "", |
| | | flag: 0, |
| | | id: 0, |
| | | modifiedat: "", |
| | | modifiedby: "", |
| | | taskcode: this.code, |
| | | unit: "", |
| | | worker: "", |
| | | branch: "", |
| | | number: "", |
| | | tasktype:'', |
| | | }) |
| | | }, |
| | | deleteWorker(val){ |
| | | this.taskWorkers.splice(val,1) |
| | | }, |
| | | submitWorker(){ |
| | | this.$confirm('更换监护人,是否继续','提示',{ |
| | | confirmButtonText:'确定', |
| | | cancelButtonText:'取消', |
| | | type:'warning', |
| | | }).then(()=> { |
| | | changeWorker(this.taskWorkers).then( (res)=>{ |
| | | if(res.data.code === '200'){ |
| | | this.workerDialog = false |
| | | this.getTaskData() |
| | | this.$notify({ |
| | | title:'成功', |
| | | message:'提交成功', |
| | | type:'success', |
| | | duration:2000, |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | message:res.data.message, |
| | | type:'warning' |
| | | }) |
| | | } |
| | | }) |
| | | }).catch(error =>{ |
| | | parseError({ error: error, vm: this }) |
| | | }) |
| | | }, |
| | | |
| | | submitEditSupervisor(){ |
| | | this.$confirm('更换监护人,是否继续','提示',{ |
| | | confirmButtonText:'确定', |
| | | cancelButtonText:'取消', |
| | | type:'warning', |
| | | }).then(()=> { |
| | | changeSupervisor(this.supervisorForm).then( (res)=>{ |
| | | if(res.data.code === '200'){ |
| | | this.watchDialog = false |
| | | this.getTaskData() |
| | | this.$notify({ |
| | | title:'成功', |
| | | message:'提交成功', |
| | | type:'success', |
| | | duration:2000, |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | message:res.data.message, |
| | | type:'warning' |
| | | }) |
| | | } |
| | | }) |
| | | }).catch(error =>{ |
| | | parseError({ error: error, vm: this }) |
| | | }) |
| | | }, |
| | | showTaskInfo(value,title){ |
| | | this.$refs.taskInfo.openTaskInfo(value,title) |
| | | }, |
| | | submitTask(row){ |
| | | this.$confirm('提交此条任务,是否继续','提示',{ |
| | | confirmButtonText:'确定', |
| | | cancelButtonText:'取消', |
| | | type:'warning', |
| | | }).then(()=> { |
| | | submitTask({id:row.id}).then( ()=>{ |
| | | this.getTaskData() |
| | | this.$notify({ |
| | | title:'成功', |
| | | message:'提交成功', |
| | | type:'success', |
| | | duration:2000, |
| | | }) |
| | | }) |
| | | }) |
| | | }, |
| | | |
| | | |
| | | downloadFile(val){ |
| | | if(val.path === null || val.path === ''){ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:'文件未生成' |
| | | }) |
| | | }else{ |
| | | window.open(process.env.IMG_API + val.path,'_blank') |
| | | } |
| | | }, |
| | | regenerateWorkCertHandler(row){ |
| | | this.$confirm('是否确认重新生成票证','提示',{ |
| | | confirmButtonText:'确认', |
| | | cancelButtonText:'取消', |
| | | type:'warning', |
| | | }).then(()=>{ |
| | | regenerateWorkCert(row.code).then(res=>{ |
| | | if (res.data.code === '200') { |
| | | this.$message({ |
| | | type:'success', |
| | | message:'重新生成成功' |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | type:'warning', |
| | | message:res.data.message, |
| | | }) |
| | | } |
| | | |
| | | }) |
| | | }) |
| | | }, |
| | | |
| | | |
| | | |
| | | refreshHandle(){ |
| | | this.getTaskData() |
| | | }, |
| | | handleSizeChange(val){ |
| | | this.pageSize = val |
| | | this.getTaskData() |
| | | }, |
| | | handleCurrentChange(val){ |
| | | this.currentPage = val |
| | | this.getTaskData() |
| | | }, |
| | | async getWorker(){ |
| | | let params = {} |
| | | params['company'] = sessionStorage.getItem('company') |
| | | params['department'] = sessionStorage.getItem('department') |
| | | let res = await concreteUser(params) |
| | | if(res.data.code === '200'){ |
| | | this.workerList = res.data.result |
| | | } |
| | | }, |
| | | sortChange(params){ |
| | | this.sortValue = params.sort |
| | | this.orderValue = params.order |
| | | this.getTaskData() |
| | | } |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | .basic_search{ |
| | | display:inline-block; |
| | | padding-bottom: 10px; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <el-dialog :title="title" :visible.sync="dialogVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="650px"> |
| | | <el-form :model="dataForm" label-position="right" label-width="100px" style="margin-left:50px;width:600px;"> |
| | | <el-row > |
| | | <el-col :span="20"> |
| | | <el-form-item label="预约时间:" > |
| | | <el-date-picker |
| | | v-model="dataForm.appointment" |
| | | value-format="yyyy-MM-dd" |
| | | align="right" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | :disabled="isView" |
| | | :picker-options="pickerOptions"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | <el-row > |
| | | <el-col :span="10"> |
| | | <el-form-item label="动火作业:" > |
| | | <el-input-number :controls="false" :disabled="isView" :min="0" v-model="dataForm.fire" style="width: 100px" ></el-input-number> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="受限空间:" > |
| | | <el-input-number :controls="false" :disabled="isView" :min="0" v-model="dataForm.space" style="width: 100px"></el-input-number> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row > |
| | | <el-col :span="10"> |
| | | <el-form-item label="吊装作业:" > |
| | | <el-input-number :controls="false" :disabled="isView" :min="0" v-model="dataForm.hoisting" style="width: 100px"></el-input-number> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="动土作业:" > |
| | | <el-input-number :controls="false" :disabled="isView" :min="0" v-model="dataForm.soild" style="width: 100px"></el-input-number> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row > |
| | | <el-col :span="10"> |
| | | <el-form-item label="断路作业:" > |
| | | <el-input-number :controls="false" :disabled="isView" :min="0" v-model="dataForm.breaks" style="width: 100px"></el-input-number> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="高处作业:" > |
| | | <el-input-number :controls="false" :disabled="isView" :min="0" v-model="dataForm.high" style="width: 100px"></el-input-number> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row > |
| | | <el-col :span="10"> |
| | | <el-form-item label="临时用电:" > |
| | | <el-input-number :controls="false" :disabled="isView" :min="0" v-model="dataForm.electricity" style="width: 100px"></el-input-number> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="盲板作业:" > |
| | | <el-input-number :controls="false" :disabled="isView" :min="0" v-model="dataForm.blindboard" style="width: 100px"></el-input-number> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | </el-form> |
| | | <div align="right" style="padding-right: 30px;margin-top: 10px;" v-if="!isView"> |
| | | <el-button @click="dialogVisible=false">取消</el-button> |
| | | <el-button type="primary" @click="submit(title)" :disabled="isSending">确认</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | import {reserveAdd,reserveMod} from '../../../../api/workPlan' |
| | | |
| | | export default { |
| | | name: 'index', |
| | | data() { |
| | | return { |
| | | appointment: '', |
| | | dialogVisible: false, |
| | | isSending: false, |
| | | title: '', |
| | | isView: '', |
| | | dataForm: { |
| | | id: '', |
| | | fire: '', |
| | | space: '', |
| | | hoisting: '', |
| | | soild: '', |
| | | breaks: '', |
| | | high: '', |
| | | electricity: '', |
| | | blindboard: '', |
| | | appointment: '' |
| | | |
| | | }, |
| | | pickerOptions: { |
| | | shortcuts: [ |
| | | { |
| | | text: '明天', |
| | | onClick(picker) { |
| | | const date = new Date() |
| | | date.setTime(date.getTime() + 3600 * 1000 * 24) |
| | | picker.$emit('pick', date) |
| | | } |
| | | }, |
| | | { |
| | | text: '后天', |
| | | onClick(picker) { |
| | | const date = new Date() |
| | | date.setTime(date.getTime() + 2 * 3600 * 1000 * 24) |
| | | picker.$emit('pick', date) |
| | | } |
| | | }, |
| | | { |
| | | text: '大后天', |
| | | onClick(picker) { |
| | | const date = new Date() |
| | | date.setTime(date.getTime() + 3 * 3600 * 1000 * 24) |
| | | picker.$emit('pick', date) |
| | | } |
| | | } |
| | | |
| | | ] |
| | | } |
| | | |
| | | } |
| | | }, |
| | | methods: { |
| | | showAddDialog(title) { |
| | | this.title = title |
| | | this.isView = false |
| | | this.dialogVisible = true |
| | | }, |
| | | showViewDialog(row, title) { |
| | | this.title = title |
| | | this.isView = true |
| | | this.dataForm.fire = row.fire |
| | | this.dataForm.space = row.space |
| | | this.dataForm.hoisting = row.hoisting |
| | | this.dataForm.soild = row.soild |
| | | this.dataForm.breaks = row.breaks |
| | | this.dataForm.high = row.high |
| | | this.dataForm.electricity = row.electricity |
| | | this.dataForm.blindboard = row.blindboard |
| | | this.dataForm.appointment = row.appointment |
| | | this.dialogVisible = true |
| | | |
| | | }, |
| | | showUpdateDialog(row, title) { |
| | | this.title = title |
| | | this.isView = false |
| | | this.dataForm.id = row.id |
| | | this.dataForm.fire = row.fire |
| | | this.dataForm.space = row.space |
| | | this.dataForm.hoisting = row.hoisting |
| | | this.dataForm.soild = row.soild |
| | | this.dataForm.breaks = row.breaks |
| | | this.dataForm.high = row.high |
| | | this.dataForm.electricity = row.electricity |
| | | this.dataForm.blindboard = row.blindboard |
| | | this.dataForm.appointment = row.appointment |
| | | this.dialogVisible = true |
| | | |
| | | }, |
| | | submit(title) { |
| | | if ('新增' === title) |
| | | this.post(reserveAdd) |
| | | if ('编辑' === title) |
| | | this.post(reserveMod) |
| | | }, |
| | | |
| | | post(func) { |
| | | this.isSending = true |
| | | func(this.dataForm) |
| | | .then(res => { |
| | | if (res.data.code === '200') { |
| | | this.dialogVisible = false |
| | | this.$emit('refresh') |
| | | this.$message({ |
| | | message: '操作成功', |
| | | type: 'success' |
| | | }) |
| | | } else { |
| | | this.$message({ |
| | | message: res.data.message, |
| | | type: 'warning' |
| | | }) |
| | | } |
| | | }) |
| | | .finally(res => { |
| | | this.isSending = false |
| | | } |
| | | ) |
| | | }, |
| | | reset() { |
| | | this.dataForm = { |
| | | id: '', |
| | | fire: '', |
| | | space: '', |
| | | hoisting: '', |
| | | soild: '', |
| | | breaks: '', |
| | | high: '', |
| | | electricity: '', |
| | | blindboard: '', |
| | | appointment: '' |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | .basic_search{ |
| | | display:inline-block; |
| | | padding-bottom: 10px; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <router-view></router-view> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: "index" |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div class="filter-container"> |
| | | <div class="basic_search" v-if="userDepartment !== 'null' && userDepartment != null && userDepartment !== ''"> |
| | | <span class="span-filter-label">部门</span> |
| | | <el-input v-model="userDepartment" disabled style="width:200px"> |
| | | </el-input> |
| | | </div> |
| | | |
| | | <div class="basic_search"> |
| | | <span class="span-filter-label">预约日期</span> |
| | | <el-date-picker |
| | | v-model="appointment" |
| | | value-format="yyyy-MM-dd" |
| | | align="right" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | :picker-options="pickerOptions"> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <el-button style="margin-left: 10px;" type="primary" icon="el-icon-refresh" @click="refreshHandle">搜索</el-button> |
| | | <el-button style="margin-left: 10px;" type="primary" icon="el-icon-plus" v-if="isDepartment === '1'" @click="openAddDialog('新增')">新增</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="table_content"> |
| | | <el-table |
| | | v-loading="listLoading" |
| | | :key="tableKey" |
| | | :data="taskData" |
| | | border |
| | | fit |
| | | highlight-current-row |
| | | style="width: 100%;" |
| | | > |
| | | <el-table-column style="width: 200px;" label="预约时间" prop="appointment" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="动火" prop="fire" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="受限空间" prop="space" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="吊装作业" prop="hoisting" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="动土作业" prop="soild" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="断路作业" prop="breaks" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="高处作业" prop="high" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="临时用电" prop="electricity" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="盲板作业" prop="blindboard" align="center"> |
| | | </el-table-column> |
| | | |
| | | <el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button v-if="isDepartment === '1'" type="text" @click="openUpdateDialog(scope.row,'编辑')" >编辑</el-button> |
| | | <el-button type="text" @click='openViewDialog(scope.row,"查看")'>查看</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <br> |
| | | <el-pagination |
| | | v-show="recordTotal>0" |
| | | :current-page="filter.pageIndex" |
| | | :page-sizes="[10, 20, 30, 50]" |
| | | :page-size="filter.pageSize" |
| | | :total="recordTotal" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | background |
| | | style="float:right;" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | /> |
| | | <br> |
| | | </div> |
| | | <dialogs ref="dialogs" @refresh="getPageList"></dialogs> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { mapGetters } from 'vuex' |
| | | import { computePageCount } from '../../../utils' |
| | | import {reservePageList ,reserveAdd} from '../../../api/workPlan' |
| | | import { getAllDepartment } from '@/api/departmentManage' |
| | | import Cookies from 'js-cookie' |
| | | import dialogs from './form/dialog' |
| | | |
| | | export default { |
| | | name: 'index', |
| | | filters: {}, |
| | | computed: { |
| | | ...mapGetters([ |
| | | 'userType' |
| | | ]) |
| | | }, |
| | | components: { |
| | | dialogs |
| | | }, |
| | | data() { |
| | | return { |
| | | tableKey: 0, |
| | | taskData: [], |
| | | department: [], |
| | | isDepartment:'', |
| | | userDepartment:'', |
| | | appointment: '', |
| | | listLoading: false, |
| | | recordTotal: 0, |
| | | isSending: false, |
| | | filter: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | filter: { |
| | | department: '', |
| | | starttime: '', |
| | | endtime: '' |
| | | } |
| | | }, |
| | | dataForm: { |
| | | id: '', |
| | | fire: '', |
| | | space: '', |
| | | hoisting: '', |
| | | soild: '', |
| | | breaks: '', |
| | | high: '', |
| | | electricity: '', |
| | | blindboard: '', |
| | | appointment: '' |
| | | |
| | | }, |
| | | pickerOptions: { |
| | | shortcuts: [{ |
| | | text: '今天', |
| | | onClick(picker) { |
| | | picker.$emit('pick', new Date()) |
| | | } |
| | | }, { |
| | | text: '昨天', |
| | | onClick(picker) { |
| | | const date = new Date() |
| | | date.setTime(date.getTime() - 3600 * 1000 * 24) |
| | | picker.$emit('pick', date) |
| | | } |
| | | }, { |
| | | text: '明天', |
| | | onClick(picker) { |
| | | const date = new Date() |
| | | date.setTime(date.getTime() + 3600 * 1000 * 24) |
| | | picker.$emit('pick', date) |
| | | } |
| | | }] |
| | | } |
| | | |
| | | } |
| | | }, |
| | | created(){ |
| | | this.initDepartmentFlag() |
| | | }, |
| | | mounted() { |
| | | this.getPageList() |
| | | this.getDepartmentList() |
| | | }, |
| | | methods: { |
| | | async getPageList() { |
| | | this.listLoading = true |
| | | this.filter.filter.starttime = '' |
| | | this.filter.filter.endtime = '' |
| | | if (this.appointment != null && this.appointment !== '') { |
| | | this.filter.filter.starttime = this.appointment + ' 00:00:00' |
| | | this.filter.filter.endtime = this.appointment + ' 23:59:59' |
| | | } |
| | | let res = await reservePageList(this.filter) |
| | | if (res.data.code === '200') { |
| | | this.recordTotal = res.data.result.total |
| | | this.pageSize = res.data.result.pageSize |
| | | this.currentPage = res.data.result.pageIndex |
| | | this.taskData = res.data.result.records |
| | | } else { |
| | | this.$message({ |
| | | message: res.data.message, |
| | | type: 'warning' |
| | | }) |
| | | } |
| | | this.listLoading = false |
| | | }, |
| | | async getDepartmentList() { |
| | | getAllDepartment() |
| | | .then(res => { |
| | | if (res.data.code === '200') |
| | | this.department = res.data.result |
| | | else |
| | | this.$message({message: res.data.message,type: 'warning'}) |
| | | }) |
| | | }, |
| | | |
| | | openAddDialog(title) { |
| | | this.$refs.dialogs.showAddDialog(title) |
| | | }, |
| | | openViewDialog(row, title) { |
| | | this.$refs.dialogs.showViewDialog(row, title) |
| | | }, |
| | | openUpdateDialog(row, title) { |
| | | this.$refs.dialogs.showUpdateDialog(row, title) |
| | | }, |
| | | refreshHandle() { |
| | | this.getPageList() |
| | | }, |
| | | handleSizeChange(val) { |
| | | this.filter.pageSize = val |
| | | this.getPageList() |
| | | }, |
| | | handleCurrentChange(val) { |
| | | this.filter.pageIndex = val |
| | | this.getPageList() |
| | | }, |
| | | initDepartmentFlag(){ |
| | | this.isDepartment = sessionStorage.getItem('isdepartment') |
| | | this.userDepartment = Cookies.get('department') |
| | | } |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | .basic_search{ |
| | | display:inline-block; |
| | | padding-bottom: 10px; |
| | | } |
| | | |
| | | .span-filter-label { |
| | | font-size: 15px; |
| | | color: #606266; |
| | | margin-right: 4px; |
| | | margin-left: 7px; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div class="filter-container"> |
| | | <div class="basic_search"> |
| | | <span class="span-filter-label">部门</span> |
| | | <el-select v-model="filter.filter.department" filterable placeholder="请选择" style="width:200px"> |
| | | <el-option |
| | | v-for="item in department" |
| | | :key="item.department" |
| | | :label="item.department" |
| | | :value="item.department"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | |
| | | <div class="basic_search"> |
| | | <span class="span-filter-label">预约日期</span> |
| | | <el-date-picker |
| | | v-model="filter.filter.appointment" |
| | | value-format="yyyy-MM-dd" |
| | | align="right" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | :picker-options="pickerOptions"> |
| | | </el-date-picker> |
| | | </div> |
| | | |
| | | <el-button style="margin-left: 10px;" type="primary" icon="el-icon-refresh" @click="refreshHandle">搜索</el-button> |
| | | </div> |
| | | <div class="table_content"> |
| | | <el-table |
| | | v-loading="listLoading" |
| | | :key="tableKey" |
| | | :data="tableData" |
| | | border |
| | | fit |
| | | highlight-current-row |
| | | style="width: 100%;" |
| | | > |
| | | |
| | | <el-table-column style="width: 200px;" prop="appointment" align="center"> |
| | | </el-table-column> |
| | | <el-table-column style="width: 200px;" label="部门" prop="department" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="动火" prop="fire" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="受限空间" prop="space" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="吊装作业" prop="hoisting" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="动土作业" prop="soild" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="断路作业" prop="breaks" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="高处作业" prop="high" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="临时用电" prop="electricity" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="盲板作业" prop="blindboard" align="center"> |
| | | </el-table-column> |
| | | |
| | | </el-table> |
| | | <br> |
| | | <el-pagination |
| | | v-show="recordTotal>0" |
| | | :current-page="filter.pageIndex" |
| | | :page-sizes="[10, 20, 30, 50]" |
| | | :page-size="filter.pageSize" |
| | | :total="recordTotal" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | background |
| | | style="float:right;" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | /> |
| | | <br> |
| | | </div> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { mapGetters } from 'vuex' |
| | | import { computePageCount } from '../../../utils' |
| | | import {reserveStatistics} from '../../../api/workPlan' |
| | | import Cookies from 'js-cookie' |
| | | import { getAllDepartment } from '@/api/departmentManage' |
| | | |
| | | export default { |
| | | name: 'index', |
| | | filters: {}, |
| | | computed: { |
| | | ...mapGetters([ |
| | | 'userType' |
| | | ]), |
| | | tableData() { |
| | | const tbody = this.statisticsData |
| | | return tbody.length ? [...tbody, ...this.tableFoot] : [] |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | tableKey: 0, |
| | | statisticsData: [], |
| | | department: [], |
| | | appointment: '', |
| | | listLoading: false, |
| | | recordTotal: 0, |
| | | isSending: false, |
| | | filter: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | filter: { |
| | | department: '', |
| | | appointment: '' |
| | | } |
| | | }, |
| | | tableFoot: [], |
| | | dataForm: { |
| | | id: '', |
| | | fire: '', |
| | | space: '', |
| | | hoisting: '', |
| | | soild: '', |
| | | breaks: '', |
| | | high: '', |
| | | electricity: '', |
| | | blindboard: '', |
| | | appointment: '' |
| | | |
| | | }, |
| | | pickerOptions: { |
| | | shortcuts: [{ |
| | | text: '今天', |
| | | onClick(picker) { |
| | | picker.$emit('pick', new Date()) |
| | | } |
| | | }, { |
| | | text: '昨天', |
| | | onClick(picker) { |
| | | const date = new Date() |
| | | date.setTime(date.getTime() - 3600 * 1000 * 24) |
| | | picker.$emit('pick', date) |
| | | } |
| | | }, { |
| | | text: '明天', |
| | | onClick(picker) { |
| | | const date = new Date() |
| | | date.setTime(date.getTime() + 3600 * 1000 * 24) |
| | | picker.$emit('pick', date) |
| | | } |
| | | }] |
| | | } |
| | | |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.getDepartmentList() |
| | | this.getPageList() |
| | | }, |
| | | methods: { |
| | | async getPageList() { |
| | | this.listLoading = true |
| | | let res = await reserveStatistics(this.filter) |
| | | if (res.data.code === '200') { |
| | | this.recordTotal = res.data.result.total |
| | | this.pageSize = res.data.result.pageSize |
| | | this.currentPage = res.data.result.pageIndex |
| | | this.statisticsData = res.data.result.records |
| | | res.data.result.extension.appointment = '总计' |
| | | this.tableFoot = [res.data.result.extension] |
| | | } else { |
| | | this.$message({ |
| | | message: res.data.message, |
| | | type: 'warning' |
| | | }) |
| | | } |
| | | this.listLoading = false |
| | | }, |
| | | async getDepartmentList() { |
| | | getAllDepartment() |
| | | .then(res => { |
| | | if (res.data.code === '200') |
| | | this.department = res.data.result |
| | | else |
| | | this.$message({ message: res.data.message,type: 'warning'}) |
| | | |
| | | }) |
| | | }, |
| | | refreshHandle() { |
| | | this.getPageList() |
| | | }, |
| | | handleSizeChange(val) { |
| | | this.filter.pageSize = val |
| | | this.getPageList() |
| | | }, |
| | | handleCurrentChange(val) { |
| | | this.filter.pageIndex = val |
| | | this.getPageList() |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | .basic_search{ |
| | | display:inline-block; |
| | | padding-bottom: 10px; |
| | | } |
| | | .span-filter-label { |
| | | font-size: 15px; |
| | | color: #606266; |
| | | margin-right: 4px; |
| | | margin-left: 7px; |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div> |
| | | <el-select v-model="queryForm.filetype" clearable placeholder="请选择文件类型"> |
| | | <el-option |
| | | class="filter-item" |
| | | @keyup.enter.native="queryHandle" |
| | | v-for="item in fileType" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-button v-if="getBtnPermission('add')" class="filter-item" style="margin-left: 10px;" type="primary" |
| | | icon="el-icon-plus" @click="showCreateHandle">新增 |
| | | </el-button> |
| | | <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-refresh" |
| | | @click="refreshHandle">刷新 |
| | | </el-button> |
| | | <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-search" |
| | | @click="queryHandle"/> |
| | | </div> |
| | | <div class="table_content"> |
| | | <el-table |
| | | v-loading="listLoading" |
| | | :key="tableKey" |
| | | :data="appFileData" |
| | | border |
| | | fit |
| | | highlight-current-row |
| | | style="width: 100%;" |
| | | @sort-change="sortChange" |
| | | > |
| | | <el-table-column type="index" label="序号" align="center" width="80"/> |
| | | <el-table-column label="文件类型" prop="filetype" align="center" sortable="custom"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.filetype }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="文件名称" prop="filename" align="center" sortable="custom"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.filename }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="文件链接" prop="fileurl" align="center" sortable="custom"> |
| | | <template slot-scope="scope"> |
| | | <span style="color:blue;cursor:pointer" |
| | | @click="downloadHandle(prefixUrl +scope.row.fileurl)" |
| | | >{{ prefixUrl + scope.row.fileurl }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="版本号" prop="version" align="center" sortable="custom"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.version }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="备注" prop="remark" align="center" sortable="custom"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.remark }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="创建时间" prop="created" align="center" sortable="custom"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.created | parseTime('{y}-{m}-{d}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="更新时间" prop="updated" align="center" sortable="custom"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.updated | parseTime('{y}-{m}-{d}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="240" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button v-if="getBtnPermission('edit')" type="text" @click="showEditHandle(scope.row)">编辑</el-button> |
| | | <el-button v-if="getBtnPermission('delete')" type="text" style="color:red;" @click="deleteHandle(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <br> |
| | | <el-pagination |
| | | v-show="recordTotal>0" |
| | | :current-page="currentPage" |
| | | :page-sizes="[10, 20, 30, 50]" |
| | | :page-size="pageSize" |
| | | :total="recordTotal" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | background |
| | | style="float:right;" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | /> |
| | | </div> |
| | | <el-dialog :title="dialogStatus==='create'?'新增':'编辑'" :visible.sync="dialogFormVisible" |
| | | :modal-append-to-body="false" :close-on-click-modal="false" width="600px"> |
| | | <el-form ref="dataForm" :rules="dataFormRules" :model="dataForm" label-position="right" label-width="140px" |
| | | style="margin-left:30px;width:550px;" element-loading-text="保存中..."> |
| | | <el-row> |
| | | <el-col :span="13"> |
| | | <el-form-item label="文件类型:" prop="filetype"> |
| | | <el-select v-model="dataForm.filetype" clearable placeholder="请选择文件类型"> |
| | | <el-option |
| | | class="filter-item" |
| | | @keyup.enter.native="queryHandle" |
| | | v-for="item in fileType" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="15"> |
| | | <el-form-item label="文件名称:" prop="filename"> |
| | | <el-input v-model.trim="dataForm.filename" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item label="上传文件:"> |
| | | <input id="importFileInput" ref="importFileInput" type="file" accept=""/> |
| | | </el-form-item> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="版本号:" prop="version"> |
| | | <el-input v-model.trim="dataForm.version" type="number"/> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="备注:" prop="remark"> |
| | | <el-input v-model.trim="dataForm.remark" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogFormVisible = false">取消</el-button> |
| | | <el-button type="primary" @click="dialogStatus==='create'?createHandle():updateHandle()">确认</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <div style="clear: both;"></div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import Cookies from 'js-cookie' |
| | | import { checkBtnPermission} from "@/utils/permission"; |
| | | import { appFileList, addAppFile, editAppFile, delAppFile } from "@/api/appfile"; |
| | | import { parseError} from "@/utils/messageDialog"; |
| | | import { computePageCount} from "@/utils"; |
| | | import { mapGetters} from "vuex"; |
| | | import { dictionaryAllItems } from '@/api/dictionary'; |
| | | import { Message, MessageBox } from 'element-ui' |
| | | |
| | | export default { |
| | | name: "appfile", |
| | | filters : { |
| | | parseGX(value){ |
| | | let arr = value.split('-'); |
| | | let guanxia=''; |
| | | for (let i = 0; i < arr.length; i++){ |
| | | if (arr[i] == null || arr[i] == '' || arr[i] == 'null'){ |
| | | }else { |
| | | if (i == 0){ |
| | | guanxia = arr[i]; |
| | | }else { |
| | | guanxia += '-'+arr[i]; |
| | | } |
| | | } |
| | | } |
| | | return guanxia; |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | prefixUrl:process.env.IMG_API, |
| | | pageSize: 10, |
| | | recordTotal: 0, |
| | | currentPage: 1, |
| | | pageTotal: 0, |
| | | tableKey: 0, |
| | | appFileData: null, |
| | | listLoading: true, |
| | | dataForm: { |
| | | id: '', |
| | | filetype: '', |
| | | filename:'', |
| | | fileurl:'', |
| | | version:'', |
| | | remark:'', |
| | | file:'', |
| | | }, |
| | | queryForm: { |
| | | filetype:'', |
| | | }, |
| | | dialogFormVisible: false, |
| | | dialogStatus: '', |
| | | dataFormRules: { |
| | | filetype: [{required: true, message: '文件类型不能为空', trigger: 'blur'}], |
| | | version: [{required: true, message: '版本不能为空', trigger: 'blur'}], |
| | | }, |
| | | fileType:[], |
| | | productVoList:[], |
| | | productVoDialogVisible:false, |
| | | |
| | | productDialogFormVisible:false, |
| | | productData:[], |
| | | pageSizeProduct: 10, |
| | | currentPageProduct: 1, |
| | | recordTotalProduct: 0, |
| | | pageTotalProduct: 0, |
| | | queryProductForm: { |
| | | name: '', |
| | | manufacturer:'', |
| | | directionCode:'', |
| | | type:'', |
| | | }, |
| | | |
| | | manufacturer:'', |
| | | enterpriseList : [], |
| | | enterpriseDialogFormVisible:false, |
| | | pageSizeEnterpise: 10, |
| | | currentPageEnterpise: 1, |
| | | recordTotalEnterpise: 0, |
| | | pageTotalEnterpise: 0, |
| | | } |
| | | }, |
| | | created() { |
| | | this.getAppFileListList(); |
| | | this.getDictionaryStatusList(); |
| | | }, |
| | | computed: { |
| | | ...mapGetters([ |
| | | 'userType', |
| | | 'username' |
| | | ]) |
| | | }, |
| | | methods: { |
| | | handleSizeChangeProduct: function (val) { |
| | | this.pageSizeProduct = val |
| | | this.currentPageProduct = 1 |
| | | this.getProductList() |
| | | }, |
| | | handleCurrentChangeProduct: function (val) { |
| | | this.currentPageProduct = val |
| | | this.getProductList() |
| | | }, |
| | | getDictionaryStatusList(){ |
| | | const _this = this |
| | | if (_this.fileType && _this.fileType.length > 0) { |
| | | return |
| | | } |
| | | const params = {} |
| | | params['dictionaryType'] = 'APP版本' |
| | | dictionaryAllItems(params).then(response => { |
| | | const res = response.data |
| | | if (res.code == 200) { |
| | | _this.fileType = res.result |
| | | } else { |
| | | parseError({ error: res.data.message, vm: _this }) |
| | | } |
| | | }).catch(error => { |
| | | parseError({ error: error, vm: _this }) |
| | | }) |
| | | }, |
| | | getAppFileListList() { |
| | | const _this = this |
| | | const params = {} |
| | | params['pageIndex'] = _this.currentPage |
| | | params['pageSize'] = _this.pageSize |
| | | params['sort'] = _this.sort |
| | | params['order'] = _this.order |
| | | for (const i in _this.queryForm) { |
| | | if (_this.queryForm[i] != undefined && _this.queryForm[i].toString() != '') { |
| | | params[i] = _this.queryForm[i] |
| | | } |
| | | } |
| | | _this.listLoading = true |
| | | appFileList(params).then(response => { |
| | | const res = response.data; |
| | | if (res.code == 200) { |
| | | const result = res.result; |
| | | _this.recordTotal = result.totalCount; |
| | | _this.pageSize = result.pageSize; |
| | | _this.pageTotal = computePageCount(result.totalCount, result.pageSize); |
| | | _this.currentPage = result.pageIndex; |
| | | _this.appFileData = result.result |
| | | } else { |
| | | parseError({error: res.data.message, vm: _this}) |
| | | } |
| | | _this.listLoading = false |
| | | }).catch(error => { |
| | | _this.listLoading = false |
| | | parseError({error: error, vm: _this}) |
| | | }) |
| | | }, |
| | | createHandle: function () { |
| | | const _this = this |
| | | this.$refs['dataForm'].validate((valid) => { |
| | | if (valid) { |
| | | const formData = new FormData(); |
| | | const files = this.$refs["importFileInput"].files; |
| | | if (files.length > 0){ |
| | | formData.append('file', files[0]); |
| | | }else { |
| | | parseError({ error: '请上传文件', vm: this }) |
| | | return |
| | | } |
| | | formData.append('filetype', _this.dataForm.filetype); |
| | | formData.append('filename', _this.dataForm.filename); |
| | | formData.append('version', _this.dataForm.version); |
| | | formData.append('remark', _this.dataForm.remark); |
| | | addAppFile(formData).then(response => { |
| | | const res = response.data |
| | | if (res.code == 200) { |
| | | _this.dialogFormVisible = false |
| | | _this.$message({ |
| | | message: '创建成功', |
| | | type: 'success' |
| | | }); |
| | | _this.getAppFileListList() |
| | | } else { |
| | | parseError({error: res.data.message, vm: _this}) |
| | | } |
| | | }).catch(error => { |
| | | parseError({error: error, vm: _this}) |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | deleteHandle: function (row) { |
| | | const _this = this |
| | | MessageBox.confirm('确定删除信息', '确定删除', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | _this.deleteAction(row) |
| | | }).catch(() => { |
| | | console.log('已取消删除') |
| | | }) |
| | | }, |
| | | deleteAction: function (row) { |
| | | const _this = this; |
| | | const params = {} |
| | | params['id'] = row.id; |
| | | delAppFile(params).then(response => { |
| | | const res = response.data |
| | | if (res.code == 200) { |
| | | _this.$message({ |
| | | message: '删除成功', |
| | | type: 'success' |
| | | }) |
| | | _this.getAppFileListList() |
| | | } else { |
| | | parseError({error: res.data.message, vm: _this}) |
| | | } |
| | | }).catch(error => { |
| | | parseError({error: error, vm: _this}) |
| | | }) |
| | | }, |
| | | refreshHandle: function () { |
| | | this.getAppFileListList() |
| | | }, |
| | | queryHandle: function () { |
| | | this.currentPage = 1 |
| | | this.getAppFileListList() |
| | | }, |
| | | resetDataForm() { |
| | | this.dataForm = { |
| | | id: '', |
| | | filetype: '', |
| | | filename:'', |
| | | fileurl:'', |
| | | version:'', |
| | | remark:'', |
| | | } |
| | | }, |
| | | showCreateHandle() { |
| | | this.resetDataForm() |
| | | this.dialogStatus = 'create' |
| | | this.dialogFormVisible = true |
| | | this.$nextTick(() => { |
| | | this.$refs['dataForm'].clearValidate() |
| | | }) |
| | | }, |
| | | updateHandle() { |
| | | this.$refs['dataForm'].validate((valid) => { |
| | | const _this = this |
| | | if (valid) { |
| | | const formData = new FormData(); |
| | | formData.append('id', _this.dataForm['id']); |
| | | formData.append('filetype', _this.dataForm['filetype']); |
| | | formData.append('filename', _this.dataForm.filename); |
| | | formData.append('version', _this.dataForm.version); |
| | | formData.append('remark', _this.dataForm.remark); |
| | | const files = this.$refs["importFileInput"].files; |
| | | if (files.length > 0){ |
| | | formData.append('file', files[0]); |
| | | } |
| | | editAppFile(formData).then(response => { |
| | | const res = response.data |
| | | if (res.code == 200) { |
| | | _this.dialogFormVisible = false |
| | | _this.$message({ |
| | | message: '更新成功', |
| | | type: 'success' |
| | | }); |
| | | _this.getAppFileListList() |
| | | } else { |
| | | parseError({error: res.data.message, vm: _this}) |
| | | } |
| | | }).catch(error => { |
| | | parseError({error: error, vm: _this}) |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | showEditHandle: function (row) { |
| | | this.resetDataForm(); |
| | | this.dialogStatus = 'editor'; |
| | | this.dataForm.id = row.id; |
| | | this.dataForm.filetype = row.filetype; |
| | | this.dataForm.filename = row.filename; |
| | | this.dataForm.fileurl = row.fileurl; |
| | | this.dataForm.version = row.version; |
| | | this.dataForm.remark = row.remark; |
| | | this.dialogFormVisible = true; |
| | | this.$nextTick(() => { |
| | | this.$refs['dataForm'].clearValidate() |
| | | }) |
| | | }, |
| | | handleSizeChange: function (val) { |
| | | this.pageSize = val |
| | | this.currentPage = 1 |
| | | this.getAppFileListList() |
| | | }, |
| | | handleCurrentChange: function (val) { |
| | | this.currentPage = val |
| | | this.getAppFileListList() |
| | | }, |
| | | getBtnPermission(btnType) { |
| | | return checkBtnPermission(this.userType, btnType) |
| | | }, |
| | | sortChange(param){ |
| | | this.sort = param.prop; |
| | | this.order = param.order; |
| | | this.getAppFileListList(); |
| | | }, |
| | | showProductHandle(){ |
| | | this.productDialogFormVisible = true; |
| | | }, |
| | | showEnterprise(){ |
| | | this.enterpriseDialogFormVisible = true; |
| | | }, |
| | | downloadHandle(fileurl){ |
| | | window.open(fileurl, '_blank') |
| | | ; |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
| | |
| | | @keyup.enter.native="queryHandle" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="真实姓名"> |
| | | <el-input |
| | | v-model="queryForm.realname" |
| | | class="filter-item" |
| | | placeholder="" |
| | | style="width: 150px;" |
| | | @keyup.enter.native="queryHandle" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="单位"> |
| | | <el-input |
| | | v-model="queryForm.company" |
| | |
| | | icon="el-icon-upload2" |
| | | @click="showImportHandle" |
| | | >导入</el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | v-if="getBtnPermission('export')" |
| | | v-show="userType != 3" |
| | | class="filter-item" |
| | | style="margin-left: 10px;" |
| | | type="primary" |
| | | icon="el-icon-upload2" |
| | | @click="showExportHandle" |
| | | >导出</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="单位:" prop="company"> |
| | | <el-select v-model.trim="dataForm.company" auto-complete="on" style="width:100%;"> |
| | | <el-select v-model.trim="dataForm.company" value-key="item" auto-complete="on" style="width:100%;" @change="companyChange"> |
| | | <el-option |
| | | v-for="item in companyList" |
| | | :key="item.id" |
| | | :value="item.company" |
| | | :value="item" |
| | | :label="item.company" |
| | | > |
| | | </el-option> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="部门:" prop="department"> |
| | | <el-form-item label="部门:" prop="department" v-if="isMain"> |
| | | <el-select v-model.trim="dataForm.department" auto-complete="on" style="width:100%;"> |
| | | <el-option |
| | | v-for="item in departmentList" |
| | |
| | | tableKey: 0, |
| | | userData: null, |
| | | listLoading: true, |
| | | isMain:false, |
| | | iscompanyList:[{id:1,name:'否'},{id:0,name:'是'}], |
| | | queryForm: { |
| | | realname:'', |
| | | username: '', |
| | | company:'', |
| | | department:'', |
| | |
| | | userRoleDataFormRules: { |
| | | userRoles: [{ type: 'array', required: true, message: '角色不能为空', trigger: 'change' }] |
| | | }, |
| | | typeList:[{id:1,name:'超级管理员'},{id:2,name:'管理员'},{id:3,name:'普通用户'}], |
| | | roleList: [], |
| | | passwordType: 'password', |
| | | confirmPasswordType: 'password', |
| | |
| | | this.order = param.order; |
| | | this.getUserList() |
| | | }, |
| | | companyChange(val){ |
| | | this.dataForm.company = val.company |
| | | if (val.ismain === 1) { |
| | | this.isMain = true; |
| | | }else{ |
| | | this.isMain = false; |
| | | this.dataForm.department = '' |
| | | } |
| | | }, |
| | | getUserList() { |
| | | const _this = this |
| | | const params = {} |
| | |
| | | params['pageIndex'] = _this.currentPage |
| | | params['pageSize'] = _this.pageSize |
| | | params['type'] = _this.userType |
| | | params['realname'] = _this.realname |
| | | params['isMain'] = true |
| | | for (const i in _this.queryForm) { |
| | | if (_this.queryForm[i] != undefined && _this.queryForm[i].toString() != '') { |
| | |
| | | this.dataForm.password = null |
| | | this.dialogStatus = 'update' |
| | | this.dialogFormVisible = true |
| | | let ismain = this.companyList.find(item=>item.company === row.company).ismain |
| | | this.isMain = ismain === 1; |
| | | this.$nextTick(() => { |
| | | this.$refs['dataForm'].clearValidate() |
| | | }) |
| | |
| | | showImportHandle() { |
| | | this.importDisabled = false |
| | | this.importDialogFormVisible = true |
| | | }, |
| | | |
| | | |
| | | showExportHandle() { |
| | | const _this = this |
| | | const params = {} |
| | | params['sort'] = _this.sort |
| | | params['order'] = _this.order |
| | | params['pageIndex'] = 0 |
| | | params['pageSize'] = 99999 |
| | | params['type'] = _this.userType |
| | | params['realname'] = _this.realname |
| | | params['isMain'] = true |
| | | for (const i in _this.queryForm) { |
| | | if (_this.queryForm[i] != undefined && _this.queryForm[i].toString() != '') { |
| | | params[i] = _this.queryForm[i] |
| | | } |
| | | } |
| | | userList(params) |
| | | .then((response) => { |
| | | const res = response.data |
| | | if (res.code == 200) { |
| | | const allData = res.result.result |
| | | if (allData.length == 0) { |
| | | parseError({ error: '没有录入数据', vm: _this }) |
| | | return |
| | | } |
| | | import('@/vendor/Export2Excel').then((excel) => { |
| | | const tHeader = [ |
| | | '用户名', |
| | | '真实姓名', |
| | | '身份证号', |
| | | '单位', |
| | | '部门', |
| | | '职位', |
| | | '用户类型', |
| | | '角色', |
| | | ] |
| | | |
| | | const data = allData.map(v=>{ |
| | | return [ |
| | | v.username, |
| | | v.realname, |
| | | v.idcard, |
| | | v.company, |
| | | v.department, |
| | | v.job, |
| | | this.typeList.find(item=>item.id === v.type).name, |
| | | v.roles.map(item=>item.name).join(","), |
| | | ] |
| | | }) |
| | | excel.export_json_to_excel({ |
| | | header: tHeader, |
| | | data, |
| | | filename: '用户' |
| | | }) |
| | | }) |
| | | } else { |
| | | parseError({ error: res.message, vm: _this }) |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | parseError({ error: error, vm: _this }) |
| | | }) |
| | | }, |
| | | viewHandle() { |
| | | window.open(exampleFile, '_blank') |
| | |
| | | const _this = this; |
| | | bindCard(_this.cardDataForm).then(response => { |
| | | const res = response.data |
| | | debugger |
| | | if (res.code === '200'){ |
| | | _this.$message({ |
| | | message: '绑定成功', |