已修改32个文件
已添加8个文件
已删除10个文件
| | |
| | | }); |
| | | }, |
| | | |
| | | // 分页获取申请列表 |
| | | getAllUsers: () => { |
| | | return request({ |
| | | url: import.meta.env.VITE_API_URL + `/account/list`, |
| | | method: 'get' |
| | | }); |
| | | }, |
| | | |
| | | // 动火申请 |
| | | postFireApply: (data: object) => { |
| | | return request({ |
| | |
| | | Delete, |
| | | EditPen, |
| | | } from '@element-plus/icons-vue' |
| | | // import FlowChart from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/flowChart.vue' |
| | | // import FlowChart from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/components/flowChart.vue' |
| | | import ApprovalProgress from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue'; |
| | | // import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue'; |
| | | // import UpData from '/@/views/contingencyManagement/panManagement/components/upData.vue'; |
| | | import RectificationDialog from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/rectificationDialog.vue'; |
| | | import {emergencyDrillEvaluationApi} from '/@/api/contingencyManagement/emergencyDrillEvaluation' |
| | | import {emergencyDrillExecuteApi} from "/@/api/contingencyManagement/emergencyDrillExecute"; |
| | |
| | | } from '@element-plus/icons-vue' |
| | | import {useRouter} from "vue-router" |
| | | import OpenAdd from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue'; |
| | | // import FlowChart from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/flowChart.vue'; |
| | | // import FlowChart from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/components/flowChart.vue'; |
| | | import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue'; |
| | | import { releaseDrillPlanApi } from '/@/api/contingencyManagement/emergencyDrillPlan'; |
| | | |
| | |
| | | // FormInstance, |
| | | } from 'element-plus'; |
| | | import { Plus, Search, Delete, Edit, Download, Refresh, View, EditPen } from '@element-plus/icons-vue'; |
| | | // import OpenSee from '/@/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue'; |
| | | // import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue'; |
| | | // import OpenSee from '/@/views/contingencyManagement/emergencyPlanStartRecord/components/openSee.vue'; |
| | | // import UpData from '/@/views/contingencyManagement/panManagement/components/upData.vue'; |
| | | // import EmergencySupplies from '/@/components/emergencySupplies/index.vue'; |
| | | // import OpenAdd from '/@/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/component/openAdd.vue'; |
| | | // import OpenAdd from '/@/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/components/openAdd.vue'; |
| | | // import { contingencyApi } from '/@/api/contingency'; |
| | | // import { emergencySuppliesMaintainApi } from '/@/api/emergencySuppliesMaintain'; |
| | | |
| | |
| | | 'element-plus'; |
| | | import { Plus, Edit, Delete, Upload, Download, Refresh, VideoPause, VideoPlay, EditPen, FullScreen } from '@element-plus/icons-vue'; |
| | | import OpenAdd from '/@/views/contingencyManagement/panManagement/component/openAdd.vue'; |
| | | // import StartUp from '/@/views/contingencyManagement/panManagement/component/startUp.vue'; |
| | | // import StartUp from '/@/views/contingencyManagement/panManagement/components/startUp.vue'; |
| | | import AbolishLibrary from '/@/views/contingencyManagement/panManagement/component/abolishLibrary.vue'; |
| | | import ApprovalProcess from '/@/views/contingencyManagement/panManagement/component/approvalProcess.vue'; |
| | | import InitiateApproval from '/@/views/contingencyManagement/panManagement/component/initiateApproval.vue'; |
| | | import Approval from '/@/views/contingencyManagement/panManagement/component/approval.vue'; |
| | | // import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue'; |
| | | // import UpData from '/@/views/contingencyManagement/panManagement/components/upData.vue'; |
| | | import { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan'; |
| | | import { emergencyPlanLogApi } from '/@/api/contingencyManagement/emergencyPlanLog'; |
| | | |
| | |
| | | ) |
| | | ); |
| | | if (current.length <= 0) { |
| | | // 防止:Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead. |
| | | // 防止:Avoid app logic that relies on enumerating keys on a components instance. The keys will be empty in production mode to avoid performance overhead. |
| | | let findItem = state.tagsViewRoutesList.find((v: any) => v.path === isDynamicPath); |
| | | if (!findItem) return false; |
| | | if (findItem.meta.isAffix) return false; |
| | |
| | | /** |
| | | * 重新请求后端路由菜单接口 |
| | | * @description 用于菜单管理界面刷新菜单(未进行测试) |
| | | * @description 路径:/src/views/system/homeMenu/component/menuDialog.vue |
| | | * @description 路径:/src/views/system/homeMenu/components/menuDialog.vue |
| | | */ |
| | | export function setBackEndControlRefreshRoutes() { |
| | | getBackEndControlRoutes(Cookies.get('projectId')); |
| | |
| | | Delete, |
| | | EditPen, |
| | | } from '@element-plus/icons-vue' |
| | | // import FlowChart from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/flowChart.vue' |
| | | // import FlowChart from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/components/flowChart.vue' |
| | | import ApprovalProgress from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue'; |
| | | // import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue'; |
| | | // import UpData from '/@/views/contingencyManagement/panManagement/components/upData.vue'; |
| | | import RectificationDialog from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/rectificationDialog.vue'; |
| | | import {emergencyDrillEvaluationApi} from '/@/api/contingencyManagement/emergencyDrillEvaluation' |
| | | import {emergencyDrillExecuteApi} from "/@/api/contingencyManagement/emergencyDrillExecute"; |
| | |
| | | } from '@element-plus/icons-vue' |
| | | import {useRouter} from "vue-router" |
| | | import OpenAdd from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue'; |
| | | // import FlowChart from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/flowChart.vue'; |
| | | // import FlowChart from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/components/flowChart.vue'; |
| | | import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue'; |
| | | import { releaseDrillPlanApi } from '/@/api/contingencyManagement/emergencyDrillPlan'; |
| | | |
| | |
| | | // FormInstance, |
| | | } from 'element-plus'; |
| | | import { Plus, Search, Delete, Edit, Download, Refresh, View, EditPen } from '@element-plus/icons-vue'; |
| | | // import OpenSee from '/@/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue'; |
| | | // import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue'; |
| | | // import OpenSee from '/@/views/contingencyManagement/emergencyPlanStartRecord/components/openSee.vue'; |
| | | // import UpData from '/@/views/contingencyManagement/panManagement/components/upData.vue'; |
| | | // import EmergencySupplies from '/@/components/emergencySupplies/index.vue'; |
| | | // import OpenAdd from '/@/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/component/openAdd.vue'; |
| | | // import OpenAdd from '/@/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/components/openAdd.vue'; |
| | | // import { contingencyApi } from '/@/api/contingency'; |
| | | // import { emergencySuppliesMaintainApi } from '/@/api/emergencySuppliesMaintain'; |
| | | |
| | |
| | | 'element-plus'; |
| | | import { Plus, Edit, Delete, Upload, Download, Refresh, VideoPause, VideoPlay, EditPen, FullScreen } from '@element-plus/icons-vue'; |
| | | import OpenAdd from '/@/views/contingencyManagement/panManagement/component/openAdd.vue'; |
| | | // import StartUp from '/@/views/contingencyManagement/panManagement/component/startUp.vue'; |
| | | // import StartUp from '/@/views/contingencyManagement/panManagement/components/startUp.vue'; |
| | | import AbolishLibrary from '/@/views/contingencyManagement/panManagement/component/abolishLibrary.vue'; |
| | | import ApprovalProcess from '/@/views/contingencyManagement/panManagement/component/approvalProcess.vue'; |
| | | import InitiateApproval from '/@/views/contingencyManagement/panManagement/component/initiateApproval.vue'; |
| | | import Approval from '/@/views/contingencyManagement/panManagement/component/approval.vue'; |
| | | // import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue'; |
| | | // import UpData from '/@/views/contingencyManagement/panManagement/components/upData.vue'; |
| | | import { emergencyPlanApi } from '/@/api/contingencyManagement/emergencyPlan'; |
| | | import { emergencyPlanLogApi } from '/@/api/contingencyManagement/emergencyPlanLog'; |
| | | |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <!-- Add "scoped" attribute to limit CSS to this component only --> |
| | | <!-- Add "scoped" attribute to limit CSS to this components only --> |
| | | <style scoped lang="scss"> |
| | | @keyframes warn { |
| | | 0% { |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <!-- Add "scoped" attribute to limit CSS to this component only --> |
| | | <!-- Add "scoped" attribute to limit CSS to this components only --> |
| | | <style scoped lang="scss"> |
| | | @media screen and (min-width: 1366px) { |
| | | .big-title { |
| | |
| | | } |
| | | </script> |
| | | |
| | | <!-- Add "scoped" attribute to limit CSS to this component only --> |
| | | <!-- Add "scoped" attribute to limit CSS to this components only --> |
| | | <style scoped lang="scss"> |
| | | @keyframes warn { |
| | | 0% { |
| | |
| | | }; |
| | | </script> |
| | | |
| | | <!-- Add "scoped" attribute to limit CSS to this component only --> |
| | | <!-- Add "scoped" attribute to limit CSS to this components only --> |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: calc(100vh - 144px); |
| | |
| | | } |
| | | </script> |
| | | |
| | | <!-- Add "scoped" attribute to limit CSS to this component only --> |
| | | <!-- Add "scoped" attribute to limit CSS to this components only --> |
| | | <style scoped lang="scss"> |
| | | .home-container{ |
| | | height: calc(100vh - 144px); |
| | |
| | | } |
| | | </script> |
| | | |
| | | <!-- Add "scoped" attribute to limit CSS to this component only --> |
| | | <!-- Add "scoped" attribute to limit CSS to this components only --> |
| | | <style scoped lang="scss"> |
| | | .home-container{ |
| | | height: calc(100vh - 144px); |
| | |
| | | } |
| | | </script> |
| | | |
| | | <!-- Add "scoped" attribute to limit CSS to this component only --> |
| | | <!-- Add "scoped" attribute to limit CSS to this components only --> |
| | | <style scoped lang="scss"> |
| | | .home-container{ |
| | | height: calc(100vh - 144px); |
| | |
| | | } |
| | | </script> |
| | | |
| | | <!-- Add "scoped" attribute to limit CSS to this component only --> |
| | | <!-- Add "scoped" attribute to limit CSS to this components only --> |
| | | <style scoped lang="scss"> |
| | | .home-container{ |
| | | height: calc(100vh - 144px); |
| | |
| | | } |
| | | </script> |
| | | |
| | | <!-- Add "scoped" attribute to limit CSS to this component only --> |
| | | <!-- Add "scoped" attribute to limit CSS to this components only --> |
| | | <style scoped lang="scss"> |
| | | .home-container{ |
| | | height: calc(100vh - 144px); |
| | |
| | | } |
| | | </script> |
| | | |
| | | <!-- Add "scoped" attribute to limit CSS to this component only --> |
| | | <!-- Add "scoped" attribute to limit CSS to this components only --> |
| | | <style scoped lang="scss"> |
| | | .home-container{ |
| | | height: calc(100vh - 144px); |
| | |
| | | } |
| | | </script> |
| | | |
| | | <!-- Add "scoped" attribute to limit CSS to this component only --> |
| | | <!-- Add "scoped" attribute to limit CSS to this components only --> |
| | | <style scoped lang="scss"> |
| | | .home-container{ |
| | | height: calc(100vh - 144px); |
对比新文件 |
| | |
| | | <template> |
| | | <div style="height: 100%"> |
| | | <el-form :model="details" label-width="120px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业单位ID"> |
| | | <el-input v-model="details.workDetail.operationDepId" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="断路原因"> |
| | | <el-input v-model="details.workDetail.bcReason" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="断路地段说明"> |
| | | <el-input v-model="details.workDetail.bcExplain" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="involvedDepIds"> |
| | | <el-input v-model="details.workDetail.involvedDepIds" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { initBackEndControlRoutes } from '/@/router/backEnd'; |
| | | import {useUserInfo} from "/@/stores/userInfo"; |
| | | import { Session } from '/@/utils/storage'; |
| | | import { Search } from '@element-plus/icons-vue' |
| | | import { ElMessage } from 'element-plus' |
| | | import type { FormInstance, FormRules } from 'element-plus' |
| | | import { workApplyApi } from '/@/api/specialWorkSystem/workApply'; |
| | | |
| | | |
| | | interface stateType { |
| | | form: Object, |
| | | workerList: Array<any>, |
| | | workTypeList: Array<any>, |
| | | workLevelList: Array<any>, |
| | | otherWorkList: Array<any> |
| | | } |
| | | export default defineComponent({ |
| | | name: 'space', |
| | | components: {}, |
| | | props:{ |
| | | details: Object |
| | | }, |
| | | setup(props) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | | const details1 = props.details |
| | | return { |
| | | Search, |
| | | details1 |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="height: 100%"> |
| | | <el-form :model="details" label-width="120px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业方式"> |
| | | <el-input v-model="details.workDetail.hotMethod" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="关联其他作业"> |
| | | <el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { initBackEndControlRoutes } from '/@/router/backEnd'; |
| | | import {useUserInfo} from "/@/stores/userInfo"; |
| | | import { Session } from '/@/utils/storage'; |
| | | import { Search } from '@element-plus/icons-vue' |
| | | import { ElMessage } from 'element-plus' |
| | | import type { FormInstance, FormRules } from 'element-plus' |
| | | import { workApplyApi } from '/@/api/specialWorkSystem/workApply'; |
| | | |
| | | |
| | | interface stateType { |
| | | form: Object, |
| | | workerList: Array<any>, |
| | | workTypeList: Array<any>, |
| | | workLevelList: Array<any>, |
| | | otherWorkList: Array<any> |
| | | } |
| | | export default defineComponent({ |
| | | name: 'fire', |
| | | components: {}, |
| | | props:{ |
| | | details: Object |
| | | }, |
| | | setup(props) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | | const details1 = props.details |
| | | return { |
| | | Search, |
| | | details1 |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="height: 100%"> |
| | | <el-form :model="details" label-width="120px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业单位ID"> |
| | | <el-input v-model="details.workDetail.operationDepId" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="范围"> |
| | | <el-input v-model="details.workDetail.gbScope" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="动土方式"> |
| | | <el-input v-model="details.workDetail.gbMethod" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="关联其他作业"> |
| | | <el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { initBackEndControlRoutes } from '/@/router/backEnd'; |
| | | import {useUserInfo} from "/@/stores/userInfo"; |
| | | import { Session } from '/@/utils/storage'; |
| | | import { Search } from '@element-plus/icons-vue' |
| | | import { ElMessage } from 'element-plus' |
| | | import type { FormInstance, FormRules } from 'element-plus' |
| | | import { workApplyApi } from '/@/api/specialWorkSystem/workApply'; |
| | | |
| | | |
| | | interface stateType { |
| | | form: Object, |
| | | workerList: Array<any>, |
| | | workTypeList: Array<any>, |
| | | workLevelList: Array<any>, |
| | | otherWorkList: Array<any> |
| | | } |
| | | export default defineComponent({ |
| | | name: 'space', |
| | | components: {}, |
| | | props:{ |
| | | details: Object |
| | | }, |
| | | setup(props) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | | const details1 = props.details |
| | | return { |
| | | Search, |
| | | details1 |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="height: 100%"> |
| | | <el-form :model="details" label-width="120px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业单位ID"> |
| | | <el-input v-model="details.workDetail.operationDepId" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业高度"> |
| | | <el-input v-model="details.workDetail.operationHeight" readonly type="textarea"><template #append>米(m)</template></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="关联其他作业"> |
| | | <el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { initBackEndControlRoutes } from '/@/router/backEnd'; |
| | | import {useUserInfo} from "/@/stores/userInfo"; |
| | | import { Session } from '/@/utils/storage'; |
| | | import { Search } from '@element-plus/icons-vue' |
| | | import { ElMessage } from 'element-plus' |
| | | import type { FormInstance, FormRules } from 'element-plus' |
| | | import { workApplyApi } from '/@/api/specialWorkSystem/workApply'; |
| | | |
| | | |
| | | interface stateType { |
| | | form: Object, |
| | | workerList: Array<any>, |
| | | workTypeList: Array<any>, |
| | | workLevelList: Array<any>, |
| | | otherWorkList: Array<any> |
| | | } |
| | | export default defineComponent({ |
| | | name: 'space', |
| | | components: {}, |
| | | props:{ |
| | | details: Object |
| | | }, |
| | | setup(props) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | | const details1 = props.details |
| | | return { |
| | | Search, |
| | | details1 |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="height: 100%"> |
| | | <el-form :model="details" label-width="120px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="吊装工具名称"> |
| | | <el-input v-model="details.workDetail.hoistingToolName" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="起吊物体重量"> |
| | | <el-input v-model="details.workDetail.weightMass" readonly type="textarea"><template #append>吨(t)</template></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="关联其他作业"> |
| | | <el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { initBackEndControlRoutes } from '/@/router/backEnd'; |
| | | import {useUserInfo} from "/@/stores/userInfo"; |
| | | import { Session } from '/@/utils/storage'; |
| | | import { Search } from '@element-plus/icons-vue' |
| | | import { ElMessage } from 'element-plus' |
| | | import type { FormInstance, FormRules } from 'element-plus' |
| | | import { workApplyApi } from '/@/api/specialWorkSystem/workApply'; |
| | | |
| | | |
| | | interface stateType { |
| | | form: Object, |
| | | workerList: Array<any>, |
| | | workTypeList: Array<any>, |
| | | workLevelList: Array<any>, |
| | | otherWorkList: Array<any> |
| | | } |
| | | export default defineComponent({ |
| | | name: 'space', |
| | | components: {}, |
| | | props:{ |
| | | details: Object |
| | | }, |
| | | setup(props) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | | const details1 = props.details |
| | | return { |
| | | Search, |
| | | details1 |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="height: 100%"> |
| | | <el-form :model="details" label-width="120px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="盲板编号"> |
| | | <el-input v-model="details.workDetail.bpCode" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="主要介质"> |
| | | <el-input v-model="details.workDetail.mainMedia" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="温度"> |
| | | <el-input v-model="details.workDetail.temperature" readonly type="textarea"><template #append>摄氏度(℃)</template></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="压力"> |
| | | <el-input v-model="details.workDetail.pressure" readonly type="textarea"><template #append>千帕(kPa)</template></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="盲板材质"> |
| | | <el-input v-model="details.workDetail.bpMaterialQuality" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <el-form-item label="盲板规格"> |
| | | <el-input v-model="details.workDetail.bpSpecification" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <el-form-item label="盲板位置"> |
| | | <el-input v-model="details.workDetail.bpLocation" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <el-form-item label="装盲板时间"> |
| | | <el-input v-model="details.workDetail.installBpTime" readonly/> |
| | | </el-form-item> |
| | | <el-form-item label="拆盲板时间"> |
| | | <el-input v-model="details.workDetail.uninstallBpTime" readonly/> |
| | | </el-form-item> |
| | | <el-form-item label="关联其他作业"> |
| | | <el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { initBackEndControlRoutes } from '/@/router/backEnd'; |
| | | import {useUserInfo} from "/@/stores/userInfo"; |
| | | import { Session } from '/@/utils/storage'; |
| | | import { Search } from '@element-plus/icons-vue' |
| | | import { ElMessage } from 'element-plus' |
| | | import type { FormInstance, FormRules } from 'element-plus' |
| | | import { workApplyApi } from '/@/api/specialWorkSystem/workApply'; |
| | | |
| | | |
| | | interface stateType { |
| | | form: Object, |
| | | workerList: Array<any>, |
| | | workTypeList: Array<any>, |
| | | workLevelList: Array<any>, |
| | | otherWorkList: Array<any> |
| | | } |
| | | export default defineComponent({ |
| | | name: 'space', |
| | | components: {}, |
| | | props:{ |
| | | details: Object |
| | | }, |
| | | setup(props) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | | const details1 = props.details |
| | | return { |
| | | Search, |
| | | details1 |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="height: 100%"> |
| | | <el-form :model="details" label-width="120px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="电源接入点"> |
| | | <el-input v-model="details.workDetail.powerAccessPoint" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="工作电压"> |
| | | <el-input v-model="details.workDetail.workingVoltage" readonly type="textarea"><template #append>伏特(v)</template></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="用电设备及功率"> |
| | | <el-input v-model="details.workDetail.equipmentAndPower" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="关联其他作业"> |
| | | <el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea"/> |
| | | </el-form-item> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { initBackEndControlRoutes } from '/@/router/backEnd'; |
| | | import {useUserInfo} from "/@/stores/userInfo"; |
| | | import { Session } from '/@/utils/storage'; |
| | | import { Search } from '@element-plus/icons-vue' |
| | | import { ElMessage } from 'element-plus' |
| | | import type { FormInstance, FormRules } from 'element-plus' |
| | | import { workApplyApi } from '/@/api/specialWorkSystem/workApply'; |
| | | |
| | | |
| | | interface stateType { |
| | | form: Object, |
| | | workerList: Array<any>, |
| | | workTypeList: Array<any>, |
| | | workLevelList: Array<any>, |
| | | otherWorkList: Array<any> |
| | | } |
| | | export default defineComponent({ |
| | | name: 'space', |
| | | components: {}, |
| | | props:{ |
| | | details: Object |
| | | }, |
| | | setup(props) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | | const details1 = props.details |
| | | return { |
| | | Search, |
| | | details1 |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div style="height: 100%"> |
| | | <el-form :model="details" label-width="120px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="受限空间所属单位ID"> |
| | | <el-input v-model="details.workDetail.csDepId" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="受限空间名称"> |
| | | <el-input v-model="details.workDetail.csName" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="空间原有介质名称"> |
| | | <el-input v-model="details.workDetail.csOriginalName" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="关联其他作业"> |
| | | <el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { initBackEndControlRoutes } from '/@/router/backEnd'; |
| | | import {useUserInfo} from "/@/stores/userInfo"; |
| | | import { Session } from '/@/utils/storage'; |
| | | import { Search } from '@element-plus/icons-vue' |
| | | import { ElMessage } from 'element-plus' |
| | | import type { FormInstance, FormRules } from 'element-plus' |
| | | import { workApplyApi } from '/@/api/specialWorkSystem/workApply'; |
| | | |
| | | |
| | | interface stateType { |
| | | form: Object, |
| | | workerList: Array<any>, |
| | | workTypeList: Array<any>, |
| | | workLevelList: Array<any>, |
| | | otherWorkList: Array<any> |
| | | } |
| | | export default defineComponent({ |
| | | name: 'space', |
| | | components: {}, |
| | | props:{ |
| | | details: Object |
| | | }, |
| | | setup(props) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | | const details1 = props.details |
| | | return { |
| | | Search, |
| | | details1 |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div class="home-container"> |
| | | <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> |
| | | <el-tab-pane label="申请中" name="1"> |
| | | <!-- <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">--> |
| | | <!-- <el-tab-pane label="申请中" name="1">--> |
| | | <div style="height: 100%"> |
| | | <el-row class="homeCard"> |
| | | <el-col :span="8"> |
| | | <div class="grid-content topInfo"> |
| | | <el-input v-model="searchWord" placeholder="作业证名称"></el-input> |
| | | <el-button type="primary">查询</el-button> |
| | | <el-button plain>重置</el-button> |
| | | <el-select v-model="searchWord"> |
| | | <el-option |
| | | v-for="item in workType" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | <el-button type="primary" @click="searchRecord">查询</el-button> |
| | | <el-button plain @click="clearSearch">重置</el-button> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-dialog v-model="dialogDetails" title="作业申请详情"> |
| | | <el-form :model="details" label-width="120px"> |
| | | <el-form-item label="作业申请单号"> |
| | | <el-input v-model="details.workPermitNo" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请人"> |
| | | <el-input v-model="details.applyUname" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="部门名称"> |
| | | <el-input v-model="details.depName" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业人"> |
| | | <el-input v-model="details.operators" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业等级"> |
| | | <el-input v-model="details.workLevelDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="作业内容"> |
| | | <el-input v-model="details.workContent" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业地址"> |
| | | <el-input v-model="details.workLocation" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="作业方式"> |
| | | <el-input v-model="details.workDetail.hotMethod" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="关联其他作业"> |
| | | <el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea" /> |
| | | </el-form-item> |
| | | <el-form-item label="期望开始时间"> |
| | | <el-input v-model="details.expStartTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="期望结束时间"> |
| | | <el-input v-model="details.expEndTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="申请时间"> |
| | | <el-input v-model="details.applyTime" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态"> |
| | | <el-input v-model="details.statusDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-dialog v-model="dialogDetails" title="作业申请详情" center> |
| | | <fire v-if="dialogType == 1" :details = details></fire> |
| | | <space v-if="dialogType == 2" :details = details></space> |
| | | <hoist v-if="dialogType == 3" :details = details></hoist> |
| | | <ground v-if="dialogType == 4" :details = details></ground> |
| | | <broken v-if="dialogType == 5" :details = details></broken> |
| | | <height v-if="dialogType == 6" :details = details></height> |
| | | <power v-if="dialogType == 7" :details = details></power> |
| | | <plate v-if="dialogType == 8" :details = details></plate> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button type="primary" @click="dialogDetails = false" |
| | | >确认</el-button |
| | | > |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog v-model="dialogStatus" title="作业申请进度"> |
| | | <el-form v-if="approveInfo.operators.length > 0" style="margin-bottom: 40px"> |
| | |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="已通过" name="2"> |
| | | <div style="height: 100%"> |
| | | <el-row class="homeCard"> |
| | | <el-col :span="8"> |
| | | <div class="grid-content topInfo"> |
| | | <el-input v-model="searchWord" placeholder="作业证名称"></el-input> |
| | | <el-button type="primary">查询</el-button> |
| | | <el-button plain>重置</el-button> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="homeCard"> |
| | | <div class="main-card"> |
| | | <el-table ref="multipleTableRef" :data="passedData" style="width: 100%" height="calc(100% - 48px)" :header-cell-style="{ background: '#fafafa' }" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column type="index" label="编号" width="200" /> |
| | | <el-table-column property="level" label="作业证等级" width="180" sortable /> |
| | | <el-table-column property="applyDate" label="申请日期" sortable /> |
| | | <el-table-column property="name" label="申请人" width="180" /> |
| | | <el-table-column property="department" label="申请部门" width="180" /> |
| | | <el-table-column label="申请状态" width="180"> |
| | | <template #default="scope"> |
| | | <el-tag type="success">{{ scope.row.status }}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="pageBtn"> |
| | | <el-pagination v-model:currentPage="pageIndex2" v-model:page-size="pageSize2" :page-sizes="[10, 15]" small="false" background layout="total, sizes, prev, pager, next, jumper" :total="totalSize2" @size-change="handleSizeChange2" @current-change="handleCurrentChange2" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <!-- </el-tab-pane>--> |
| | | <!-- <el-tab-pane label="已通过" name="2">--> |
| | | <!-- <div style="height: 100%">--> |
| | | <!-- <el-row class="homeCard">--> |
| | | <!-- <el-col :span="8">--> |
| | | <!-- <div class="grid-content topInfo">--> |
| | | <!-- <el-input v-model="searchWord" placeholder="作业证名称"></el-input>--> |
| | | <!-- <el-button type="primary">查询</el-button>--> |
| | | <!-- <el-button plain>重置</el-button>--> |
| | | <!-- </div>--> |
| | | <!-- </el-col>--> |
| | | <!-- </el-row>--> |
| | | <!-- <div class="homeCard">--> |
| | | <!-- <div class="main-card">--> |
| | | <!-- <el-table ref="multipleTableRef" :data="passedData" style="width: 100%" height="calc(100% - 48px)" :header-cell-style="{ background: '#fafafa' }" @selection-change="handleSelectionChange">--> |
| | | <!-- <el-table-column type="selection" width="55" />--> |
| | | <!-- <el-table-column type="index" label="编号" width="200" />--> |
| | | <!-- <el-table-column property="level" label="作业证等级" width="180" sortable />--> |
| | | <!-- <el-table-column property="applyDate" label="申请日期" sortable />--> |
| | | <!-- <el-table-column property="name" label="申请人" width="180" />--> |
| | | <!-- <el-table-column property="department" label="申请部门" width="180" />--> |
| | | <!-- <el-table-column label="申请状态" width="180">--> |
| | | <!-- <template #default="scope">--> |
| | | <!-- <el-tag type="success">{{ scope.row.status }}</el-tag>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- </el-table>--> |
| | | <!-- <div class="pageBtn">--> |
| | | <!-- <el-pagination v-model:currentPage="pageIndex2" v-model:page-size="pageSize2" :page-sizes="[10, 15]" small="false" background layout="total, sizes, prev, pager, next, jumper" :total="totalSize2" @size-change="handleSizeChange2" @current-change="handleCurrentChange2" />--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- </el-tab-pane>--> |
| | | <!-- </el-tabs>--> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { toRefs, reactive, defineComponent, ref, onMounted } from 'vue'; |
| | | import {toRefs, reactive, defineComponent, ref, onMounted, defineAsyncComponent} from 'vue'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { initBackEndControlRoutes } from '/@/router/backEnd'; |
| | | import { useUserInfo } from '/@/stores/userInfo'; |
| | |
| | | details: {}; |
| | | statusInfo: {}; |
| | | workType: Array<type>; |
| | | depType: Array<type>; |
| | | dialogType: number |
| | | } |
| | | interface type { |
| | | id: number; |
| | |
| | | |
| | | export default defineComponent({ |
| | | name: 'myApply', |
| | | components: {}, |
| | | components: { |
| | | fire: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/fireLog.vue')), |
| | | space: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/spaceLog.vue')), |
| | | hoist: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/hoistLog.vue')), |
| | | ground: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/groundLog.vue')), |
| | | broken: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/brokenLog.vue')), |
| | | height: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/heightLog.vue')), |
| | | power: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/powerLog.vue')), |
| | | plate: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/plateLog.vue')) |
| | | }, |
| | | setup() { |
| | | const userInfo = useUserInfo(); |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | pageIndex1: 1, |
| | | pageSize1: 10, |
| | | totalSize1: 0, |
| | | dialogType: null, |
| | | activeName: '1', |
| | | chosenIndex: null, |
| | | searchWord: '', |
| | |
| | | { id: 6, name: '高处作业' }, |
| | | { id: 7, name: '临时用电作业' }, |
| | | { id: 8, name: '盲板抽堵作业' } |
| | | ], |
| | | depType: [ |
| | | { id: 1, name: '部门一' }, |
| | | { id: 2, name: '部门二' }, |
| | | { id: 3, name: '部门三' }, |
| | | { id: 4, name: '部门四' } |
| | | ] |
| | | }); |
| | | interface User { |
| | |
| | | |
| | | // 分页获取工作时间组列表 |
| | | const getListByPage = async () => { |
| | | const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { name: state.searchWord } }; |
| | | const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { workType: state.searchWord } }; |
| | | let res = await workApplyApi().getApplyListtPage(data); |
| | | if (res.data.code === '200') { |
| | | state.applyData = JSON.parse(JSON.stringify(res.data.data)); |
| | |
| | | return item; |
| | | }); |
| | | state.totalSize1 = res.data.total; |
| | | console.log('0212121'); |
| | | console.log( state.applyData,'0212121'); |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | |
| | | getListByPage(); |
| | | } |
| | | }; |
| | | |
| | | // 重置搜索 |
| | | const clearSearch = async () => { |
| | | state.searchWord = ''; |
| | | getListByPage(); |
| | |
| | | |
| | | // 查看记录 |
| | | const viewRecord = (row: any) => { |
| | | row.workDetail.otherSpecialWork = JSON.parse(JSON.stringify(row.workDetail.otherSpecialWork.split(','))).map((item: Array<string>) => { |
| | | return state.workType.find((i: { id: number }) => i.id === Number(item))?.name; |
| | | }); |
| | | state.dialogType = row.workType |
| | | console.log(state.dialogType,'工作类型') |
| | | state.details = JSON.parse(JSON.stringify(row)); |
| | | if(state.details.workDetail.otherSpecialWork == '' || !state.details.workDetail.otherSpecialWork){ |
| | | state.details.workDetail.otherSpecialWork=[] |
| | | } |
| | | else { |
| | | console.log(state.details.workDetail.otherSpecialWork,'split') |
| | | const a = state.details.workDetail.otherSpecialWork |
| | | state.details.workDetail.otherSpecialWork = a.split(',').map((item) => { |
| | | return state.workType.find((i: { id: number }) => i.id === Number(item))?.name; |
| | | }); |
| | | } |
| | | if(state.details.workDetail.involvedDepIds == '' || !state.details.workDetail.involvedDepIds){ |
| | | state.details.workDetail.involvedDepIds=[] |
| | | } |
| | | else { |
| | | const a = state.details.workDetail.involvedDepIds |
| | | state.details.workDetail.involvedDepIds = a.split(',').map((item) => { |
| | | return state.depType.find((i: { id: number }) => i.id === Number(item))?.name; |
| | | }); |
| | | } |
| | | console.log(state.details,'details') |
| | | state.dialogDetails = true; |
| | | }; |
| | | |
| | |
| | | "workDetail.operationDepId": [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.bcReason": [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.bcExplain": [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.otherSpecialWork": [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | "workDetail.involvedDepIds": [{ required: true, message: '该内容不能为空', trigger: 'blur' }] |
| | | "workDetail.otherSpecialWork": [{ required: true, message: '该内容不能为空', trigger: 'blur' }] |
| | | }); |
| | | const submitForm = async (formEl: FormInstance | undefined) => { |
| | | if (!formEl) return |
| | |
| | | .applyBtn{ |
| | | width: 100%; |
| | | background: #fff; |
| | | height: 80px; |
| | | padding-top: 15px; |
| | | z-index: 5; |
| | | box-shadow: 0 -3px 8px rgba(150,150,150,.1); |
| | | display: flex; |
| | |
| | | .applyBtn{ |
| | | width: 100%; |
| | | background: #fff; |
| | | height: 80px; |
| | | padding-top: 15px; |
| | | z-index: 5; |
| | | box-shadow: 0 -3px 8px rgba(150,150,150,.1); |
| | | display: flex; |
| | |
| | | .applyBtn{ |
| | | width: 100%; |
| | | background: #fff; |
| | | height: 80px; |
| | | padding-top: 15px; |
| | | z-index: 5; |
| | | box-shadow: 0 -3px 8px rgba(150,150,150,.1); |
| | | display: flex; |
| | |
| | | v-model="form.workDetail.operationHeight" |
| | | type="number" |
| | | placeholder="请输入" |
| | | /> |
| | | > |
| | | <template #append>米(m)</template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | .applyBtn{ |
| | | width: 100%; |
| | | background: #fff; |
| | | height: 80px; |
| | | padding-top: 15px; |
| | | z-index: 5; |
| | | box-shadow: 0 -3px 8px rgba(150,150,150,.1); |
| | | display: flex; |
| | |
| | | v-model="form.workDetail.weightMass" |
| | | type="number" |
| | | placeholder="请输入" |
| | | /> |
| | | > |
| | | <template #append>吨(t)</template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | .applyBtn{ |
| | | width: 100%; |
| | | background: #fff; |
| | | height: 80px; |
| | | padding-top: 15px; |
| | | z-index: 5; |
| | | box-shadow: 0 -3px 8px rgba(150,150,150,.1); |
| | | display: flex; |
| | |
| | | v-model="form.workDetail.temperature" |
| | | type="number" |
| | | placeholder="请输入" |
| | | /> |
| | | > |
| | | <template #append>摄氏度(℃)</template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | |
| | | v-model="form.workDetail.pressure" |
| | | type="number" |
| | | placeholder="请输入" |
| | | /> |
| | | > |
| | | <template #append>千帕(kPa)</template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | .applyBtn{ |
| | | width: 100%; |
| | | background: #fff; |
| | | height: 80px; |
| | | padding-top: 15px; |
| | | z-index: 5; |
| | | box-shadow: 0 -3px 8px rgba(150,150,150,.1); |
| | | display: flex; |
| | |
| | | v-model="form.workDetail.workingVoltage" |
| | | type="number" |
| | | placeholder="请输入" |
| | | /> |
| | | > |
| | | <template #append>伏特(v)</template> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | .applyBtn{ |
| | | width: 100%; |
| | | background: #fff; |
| | | height: 80px; |
| | | padding-top: 15px; |
| | | z-index: 5; |
| | | box-shadow: 0 -3px 8px rgba(150,150,150,.1); |
| | | display: flex; |
| | |
| | | .applyBtn{ |
| | | width: 100%; |
| | | background: #fff; |
| | | height: 80px; |
| | | padding-top: 15px; |
| | | z-index: 5; |
| | | box-shadow: 0 -3px 8px rgba(150,150,150,.1); |
| | | display: flex; |
| | |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue'; |
| | | import {toRefs, reactive, defineComponent, ref, defineAsyncComponent, onMounted} from 'vue'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { initBackEndControlRoutes } from '/@/router/backEnd'; |
| | | import {useUserInfo} from "/@/stores/userInfo"; |
| | |
| | | export default defineComponent({ |
| | | name: 'workTicket', |
| | | components: { |
| | | fireForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/fire.vue')), |
| | | spaceForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/space.vue')), |
| | | hoistForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/hoist.vue')), |
| | | groundForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/ground.vue')), |
| | | brokenForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/broken.vue')), |
| | | heightForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/height.vue')), |
| | | powerForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/power.vue')), |
| | | plateForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/plate.vue')) |
| | | fireForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/fire.vue')), |
| | | spaceForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/space.vue')), |
| | | hoistForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/hoist.vue')), |
| | | groundForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/ground.vue')), |
| | | brokenForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/broken.vue')), |
| | | heightForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/height.vue')), |
| | | powerForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/power.vue')), |
| | | plateForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/plate.vue')) |
| | | }, |
| | | setup() { |
| | | const userInfo = useUserInfo() |
| | |
| | | const state = reactive<stateType>({ |
| | | |
| | | }); |
| | | const getAll = async ()=>{ |
| | | const res = await workApplyApi().getAllUsers() |
| | | if (res.data.code === '200') { |
| | | console.log(res.data.data) |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | // 页面载入时执行方法 |
| | | onMounted(() => { |
| | | getAll(); |
| | | }); |
| | | |
| | | return { |
| | | ...toRefs(state), |