| | |
| | | }); |
| | | }, |
| | | |
| | | // 分页获取申请列表 |
| | | // 获取所有用户 |
| | | getAllUsers: () => { |
| | | return request({ |
| | | url: import.meta.env.VITE_API_URL + `/account/list`, |
| | |
| | | }); |
| | | }, |
| | | |
| | | // 获取所有设备 |
| | | getAllDevices: () => { |
| | | return request({ |
| | | url: import.meta.env.VITE_API_URL + `/sysAdmin/camera/find/byAll`, |
| | | method: 'get' |
| | | }); |
| | | }, |
| | | |
| | | // 导出打印接口 |
| | | postPrinting: (data: object) => { |
| | | return request({ |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="关联设备" prop="cameraIds"> |
| | | <el-select v-model="form.cameraIds" multiple> |
| | | <el-option |
| | | v-for="item in deviceList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider border-style="dashed"/> |
| | | <el-row> |
| | |
| | | components: { |
| | | materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue')), |
| | | }, |
| | | props:['workerList','departList'], |
| | | props:['workerList','departList','deviceList'], |
| | | setup(props: any, context: any) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | workContent: '', |
| | | workLocation: '', |
| | | hazardIdentification: '', |
| | | cameraIds: [], |
| | | maBaseId: null, |
| | | workDetail:{ |
| | | operationDepId: null, |
| | |
| | | workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.operationDepId": [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.bcReason": [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="关联设备" prop="cameraIds"> |
| | | <el-select v-model="form.cameraIds" multiple> |
| | | <el-option |
| | | v-for="item in deviceList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider border-style="dashed"/> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | |
| | | components: { |
| | | materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue')), |
| | | }, |
| | | props:['workerList'], |
| | | props:['workerList','deviceList'], |
| | | setup(props: any, context: any) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | workLocation: '', |
| | | maBaseId: null, |
| | | hazardIdentification: '', |
| | | cameraIds: [], |
| | | workDetail:{ |
| | | hotMethod: '', |
| | | otherSpecialWork: [] |
| | |
| | | workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.hotMethod": [{ required: true, message: '该内容不能为空', trigger: 'blur' }] |
| | | }); |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="关联设备" prop="cameraIds"> |
| | | <el-select v-model="form.cameraIds" multiple> |
| | | <el-option |
| | | v-for="item in deviceList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider border-style="dashed"/> |
| | | <el-row> |
| | |
| | | components: { |
| | | materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue')), |
| | | }, |
| | | props:['workerList','departList'], |
| | | props:['workerList','departList', 'deviceList'], |
| | | setup(props: any, context: any) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | workContent: '', |
| | | workLocation: '', |
| | | hazardIdentification: '', |
| | | cameraIds: [], |
| | | maBaseId: null, |
| | | workDetail:{ |
| | | operationDepId: null, |
| | |
| | | workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.operationDepId": [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.gbScope": [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="关联设备" prop="cameraIds"> |
| | | <el-select v-model="form.cameraIds" multiple> |
| | | <el-option |
| | | v-for="item in deviceList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="关联设备" prop="cameraIds"> |
| | | <el-select v-model="form.cameraIds" multiple> |
| | | <el-option |
| | | v-for="item in deviceList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider border-style="dashed"/> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | |
| | | components: { |
| | | materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue')), |
| | | }, |
| | | props:['workerList','departList'], |
| | | props:['workerList','departList','deviceList'], |
| | | setup(props: any, context: any) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | workContent: '', |
| | | workLocation: '', |
| | | hazardIdentification: '', |
| | | cameraIds: [], |
| | | maBaseId: null, |
| | | workDetail:{ |
| | | operationDepId: '', |
| | |
| | | workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.operationDepId": [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.operationHeight": [{ required: true, message: '该内容不能为空', trigger: 'blur' }] |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="关联设备" prop="cameraIds"> |
| | | <el-select v-model="form.cameraIds" multiple> |
| | | <el-option |
| | | v-for="item in deviceList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider border-style="dashed"/> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | |
| | | components: { |
| | | materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue')), |
| | | }, |
| | | props:['workerList'], |
| | | props:['workerList','deviceList'], |
| | | setup(props: any, context: any) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | workLocation: '', |
| | | maBaseId: null, |
| | | hazardIdentification: '', |
| | | cameraIds: [], |
| | | workDetail:{ |
| | | hoistingToolName: '', |
| | | weightMass: null |
| | |
| | | workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.hoistingToolName": [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.weightMass": [{ required: true, message: '该内容不能为空', trigger: 'blur' }] |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="关联设备" prop="cameraIds"> |
| | | <el-select v-model="form.cameraIds" multiple> |
| | | <el-option |
| | | v-for="item in deviceList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider border-style="dashed"/> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | |
| | | components: { |
| | | materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue')), |
| | | }, |
| | | props:['workerList'], |
| | | props:['workerList','deviceList'], |
| | | setup(props: any, context: any) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | workLocation: '', |
| | | maBaseId: null, |
| | | hazardIdentification: '', |
| | | cameraIds: [], |
| | | workDetail:{ |
| | | bpCode: '', |
| | | mainMedia: '', |
| | |
| | | workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.bpCode": [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.mainMedia": [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="关联设备" prop="cameraIds"> |
| | | <el-select v-model="form.cameraIds" multiple> |
| | | <el-option |
| | | v-for="item in deviceList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider border-style="dashed"/> |
| | | <el-row> |
| | |
| | | components: { |
| | | materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue')), |
| | | }, |
| | | props:['workerList'], |
| | | props:['workerList','deviceList'], |
| | | setup(props: any, context: any) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | workLocation: '', |
| | | maBaseId: null, |
| | | hazardIdentification: '', |
| | | cameraIds: [], |
| | | workDetail:{ |
| | | powerAccessPoint: '', |
| | | workingVoltage: null, |
| | |
| | | workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.powerAccessPoint": [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.workingVoltage": [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="关联设备" prop="cameraIds"> |
| | | <el-select v-model="form.cameraIds" multiple> |
| | | <el-option |
| | | v-for="item in deviceList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider border-style="dashed" /> |
| | | <el-row> |
| | |
| | | components: { |
| | | materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue')), |
| | | }, |
| | | props:['workerList','departList'], |
| | | props:['workerList','departList','deviceList'], |
| | | setup(props: any, context: any) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | workLocation: '', |
| | | maBaseId: null, |
| | | hazardIdentification: '', |
| | | cameraIds: [], |
| | | workDetail:{ |
| | | csDepId: null, |
| | | csName: '', |
| | |
| | | workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.csDepId": [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.csName": [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | <div class="home-container"> |
| | | <el-tabs type="border-card" @tab-change="switchTab"> |
| | | <el-tab-pane label="动火作业"> |
| | | <fire-form ref="fire" :workerList = allWorkers></fire-form> |
| | | <fire-form ref="fire" :workerList = allWorkers :deviceList = allDevices></fire-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="受限空间作业"> |
| | | <space-form ref="space" :workerList = allWorkers :departList = departmentList></space-form> |
| | | <space-form ref="space" :workerList = allWorkers :departList = departmentList :deviceList = allDevices></space-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="吊装作业"> |
| | | <hoist-form ref="hoist" :workerList = allWorkers></hoist-form> |
| | | <hoist-form ref="hoist" :workerList = allWorkers :deviceList = allDevices></hoist-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="动土作业"> |
| | | <ground-form ref="ground" :workerList = allWorkers :departList = departmentList></ground-form> |
| | | <ground-form ref="ground" :workerList = allWorkers :departList = departmentList :deviceList = allDevices></ground-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="断路作业"> |
| | | <broken-form ref="broken" :workerList = allWorkers :departList = departmentList></broken-form> |
| | | <broken-form ref="broken" :workerList = allWorkers :departList = departmentList :deviceList = allDevices></broken-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="高处作业"> |
| | | <height-form ref="height" :workerList = allWorkers :departList = departmentList></height-form> |
| | | <height-form ref="height" :workerList = allWorkers :departList = departmentList :deviceList = allDevices></height-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="临时用电作业"> |
| | | <power-form ref="power" :workerList = allWorkers></power-form> |
| | | <power-form ref="power" :workerList = allWorkers :deviceList = allDevices></power-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="盲板抽堵作业"> |
| | | <plate-form ref="plate" :workerList = allWorkers></plate-form> |
| | | <plate-form ref="plate" :workerList = allWorkers :deviceList = allDevices></plate-form> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <material-dialog ref="material"></material-dialog> |
| | |
| | | interface stateType { |
| | | allWorkers: Array<any> |
| | | departmentList: Array<any> |
| | | allDevices: Array<any> |
| | | } |
| | | export default defineComponent({ |
| | | name: 'apply', |
| | |
| | | const { userInfos } = storeToRefs(userInfo); |
| | | const state = reactive<stateType>({ |
| | | allWorkers: [], |
| | | departmentList: [] |
| | | departmentList: [], |
| | | allDevices: [] |
| | | }); |
| | | const fire = ref() |
| | | const space = ref() |
| | |
| | | } |
| | | }; |
| | | |
| | | // 获取设备列表 |
| | | const getAllDevice = async ()=>{ |
| | | const res = await workApplyApi().getAllDevices() |
| | | if (res.data.code === '200') { |
| | | state.allDevices = JSON.parse(JSON.stringify(res.data.data)) |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | const switchTab = (name)=>{ |
| | | console.log(name,'name') |
| | | fire.value.form.resetFields() |
| | |
| | | onMounted(() => { |
| | | getAll(); |
| | | getAllDepartment(); |
| | | getAllDevice() |
| | | }); |
| | | |
| | | return { |