From 94f2a5bed82ae0281ce5b821570597f6d73c1ce9 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期六, 20 八月 2022 16:51:38 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/gtqt
---
src/views/safeKnowledge/sfjs/index.vue | 2
src/views/specialWorkSystem/workTicket/myJobApply/components/heightLog.vue | 110 ++++
src/views/intellectInspect/intelligentLine/index.vue | 2
src/components/contingencyManagement/panManagement/index.vue | 4
src/components/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue | 4
src/views/specialWorkSystem/workTicket/myJobApply/components/plateLog.vue | 131 ++++
src/views/specialWorkSystem/workTicket/workApply/components/broken.vue | 31
src/views/specialWorkSystem/workTicket/myJobApply/components/brokenLog.vue | 113 ++++
src/views/safeKnowledge/inner/index.vue | 2
src/views/specialWorkSystem/workTicket/workApply/components/hoist.vue | 32
src/api/specialWorkSystem/workApply/index.ts | 8
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue | 2
src/components/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue | 6
src/views/specialWorkSystem/workTicket/myJobApply/components/spaceLog.vue | 113 ++++
src/views/specialWorkSystem/workTicket/myJobApply/components/hoistLog.vue | 110 ++++
src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue | 6
src/views/specialWorkSystem/workTicket/workApply/index.vue | 52 +
src/views/safeKnowledge/df/index.vue | 2
src/views/contingencyManagement/panManagement/index.vue | 4
src/views/specialWorkSystem/workTicket/myJobApply/components/fireLog.vue | 107 +++
src/views/intellectInspect/intelligentMap/index.vue | 2
src/router/backEnd.ts | 2
src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue | 4
src/views/safeKnowledge/bmgz/index.vue | 2
src/layout/navBars/tagsView/tagsView.vue | 2
/dev/null | 115 ----
src/views/specialWorkSystem/workTicket/myJobApply/components/powerLog.vue | 113 ++++
src/views/intellectInspect/inspectBigScreen/index.vue | 2
src/views/specialWorkSystem/workTicket/workApply/components/plate.vue | 36
src/views/specialWorkSystem/workTicket/workApply/components/space.vue | 28
src/views/safeKnowledge/law/index.vue | 2
src/views/specialWorkSystem/workTicket/myJobApply/index.vue | 204 ++++---
src/views/safeKnowledge/index.vue | 2
src/views/specialWorkSystem/workTicket/myJobApply/components/groundLog.vue | 113 ++++
src/views/specialWorkSystem/workTicket/workApply/components/power.vue | 32
src/views/specialWorkSystem/workTicket/workApply/components/height.vue | 32
src/components/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue | 2
src/views/specialWorkSystem/workTicket/workApply/components/fire.vue | 28
src/views/safeKnowledge/xzfg/index.vue | 2
src/views/specialWorkSystem/workTicket/workApply/components/ground.vue | 28
src/views/safeKnowledge/internationalRules/index.vue | 2
41 files changed, 1,145 insertions(+), 449 deletions(-)
diff --git a/src/api/specialWorkSystem/workApply/index.ts b/src/api/specialWorkSystem/workApply/index.ts
index 4bc3282..ae453fc 100644
--- a/src/api/specialWorkSystem/workApply/index.ts
+++ b/src/api/specialWorkSystem/workApply/index.ts
@@ -11,6 +11,14 @@
});
},
+ // 分页获取申请列表
+ getAllUsers: () => {
+ return request({
+ url: import.meta.env.VITE_API_URL + `/account/list`,
+ method: 'get'
+ });
+ },
+
// 动火申请
postFireApply: (data: object) => {
return request({
diff --git a/src/components/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue b/src/components/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue
index bba7134..a6a4c9b 100644
--- a/src/components/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue
+++ b/src/components/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue
@@ -231,9 +231,9 @@
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";
diff --git a/src/components/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue b/src/components/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue
index b1a7099..8799dd8 100644
--- a/src/components/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue
+++ b/src/components/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue
@@ -130,7 +130,7 @@
} 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';
diff --git a/src/components/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue b/src/components/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue
index 3544d06..f595dca 100644
--- a/src/components/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue
+++ b/src/components/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue
@@ -93,10 +93,10 @@
// 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';
diff --git a/src/components/contingencyManagement/panManagement/index.vue b/src/components/contingencyManagement/panManagement/index.vue
index cc2ec1b..79dd253 100644
--- a/src/components/contingencyManagement/panManagement/index.vue
+++ b/src/components/contingencyManagement/panManagement/index.vue
@@ -186,12 +186,12 @@
'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';
diff --git a/src/layout/navBars/tagsView/tagsView.vue b/src/layout/navBars/tagsView/tagsView.vue
index 67e1b57..d0558d5 100644
--- a/src/layout/navBars/tagsView/tagsView.vue
+++ b/src/layout/navBars/tagsView/tagsView.vue
@@ -198,7 +198,7 @@
)
);
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;
diff --git a/src/router/backEnd.ts b/src/router/backEnd.ts
index 83a8d37..fcec8e0 100644
--- a/src/router/backEnd.ts
+++ b/src/router/backEnd.ts
@@ -67,7 +67,7 @@
/**
* 重新请求后端路由菜单接口
* @description 用于菜单管理界面刷新菜单(未进行测试)
- * @description 路径:/src/views/system/homeMenu/component/menuDialog.vue
+ * @description 路径:/src/views/system/homeMenu/components/menuDialog.vue
*/
export function setBackEndControlRefreshRoutes() {
getBackEndControlRoutes(Cookies.get('projectId'));
diff --git a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue
index bba7134..a6a4c9b 100644
--- a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue
+++ b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue
@@ -231,9 +231,9 @@
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";
diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue
index b1a7099..8799dd8 100644
--- a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue
+++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue
@@ -130,7 +130,7 @@
} 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';
diff --git a/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue b/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue
index b73c265..fee9bf1 100644
--- a/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue
+++ b/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue
@@ -93,10 +93,10 @@
// 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';
diff --git a/src/views/contingencyManagement/panManagement/index.vue b/src/views/contingencyManagement/panManagement/index.vue
index 798e7e2..46cdbb7 100644
--- a/src/views/contingencyManagement/panManagement/index.vue
+++ b/src/views/contingencyManagement/panManagement/index.vue
@@ -172,12 +172,12 @@
'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';
diff --git a/src/views/intellectInspect/inspectBigScreen/index.vue b/src/views/intellectInspect/inspectBigScreen/index.vue
index 53838fc..6d33be2 100644
--- a/src/views/intellectInspect/inspectBigScreen/index.vue
+++ b/src/views/intellectInspect/inspectBigScreen/index.vue
@@ -259,7 +259,7 @@
};
</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% {
diff --git a/src/views/intellectInspect/intelligentLine/index.vue b/src/views/intellectInspect/intelligentLine/index.vue
index bfb9b95..ad3e7ed 100644
--- a/src/views/intellectInspect/intelligentLine/index.vue
+++ b/src/views/intellectInspect/intelligentLine/index.vue
@@ -237,7 +237,7 @@
};
</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 {
diff --git a/src/views/intellectInspect/intelligentMap/index.vue b/src/views/intellectInspect/intelligentMap/index.vue
index b11ed9f..e44e7ec 100644
--- a/src/views/intellectInspect/intelligentMap/index.vue
+++ b/src/views/intellectInspect/intelligentMap/index.vue
@@ -325,7 +325,7 @@
}
</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% {
diff --git a/src/views/safeKnowledge/bmgz/index.vue b/src/views/safeKnowledge/bmgz/index.vue
index 5a754e9..39c6175 100644
--- a/src/views/safeKnowledge/bmgz/index.vue
+++ b/src/views/safeKnowledge/bmgz/index.vue
@@ -16,7 +16,7 @@
};
</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);
diff --git a/src/views/safeKnowledge/df/index.vue b/src/views/safeKnowledge/df/index.vue
index 1434ecb..3bfefee 100644
--- a/src/views/safeKnowledge/df/index.vue
+++ b/src/views/safeKnowledge/df/index.vue
@@ -24,7 +24,7 @@
}
</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);
diff --git a/src/views/safeKnowledge/index.vue b/src/views/safeKnowledge/index.vue
index 1823bc4..c90267a 100644
--- a/src/views/safeKnowledge/index.vue
+++ b/src/views/safeKnowledge/index.vue
@@ -24,7 +24,7 @@
}
</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);
diff --git a/src/views/safeKnowledge/inner/index.vue b/src/views/safeKnowledge/inner/index.vue
index 0ebea9a..bef7f39 100644
--- a/src/views/safeKnowledge/inner/index.vue
+++ b/src/views/safeKnowledge/inner/index.vue
@@ -24,7 +24,7 @@
}
</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);
diff --git a/src/views/safeKnowledge/internationalRules/index.vue b/src/views/safeKnowledge/internationalRules/index.vue
index 7a96ebe..083cfbb 100644
--- a/src/views/safeKnowledge/internationalRules/index.vue
+++ b/src/views/safeKnowledge/internationalRules/index.vue
@@ -24,7 +24,7 @@
}
</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);
diff --git a/src/views/safeKnowledge/law/index.vue b/src/views/safeKnowledge/law/index.vue
index a3ebad6..84b233c 100644
--- a/src/views/safeKnowledge/law/index.vue
+++ b/src/views/safeKnowledge/law/index.vue
@@ -24,7 +24,7 @@
}
</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);
diff --git a/src/views/safeKnowledge/sfjs/index.vue b/src/views/safeKnowledge/sfjs/index.vue
index 84ad0a5..21348b6 100644
--- a/src/views/safeKnowledge/sfjs/index.vue
+++ b/src/views/safeKnowledge/sfjs/index.vue
@@ -24,7 +24,7 @@
}
</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);
diff --git a/src/views/safeKnowledge/xzfg/index.vue b/src/views/safeKnowledge/xzfg/index.vue
index 97d134f..c661d3e 100644
--- a/src/views/safeKnowledge/xzfg/index.vue
+++ b/src/views/safeKnowledge/xzfg/index.vue
@@ -24,7 +24,7 @@
}
</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);
diff --git a/src/views/specialWorkSystem/workApplyManage/myJobApply/index.vue b/src/views/specialWorkSystem/workApplyManage/myJobApply/index.vue
deleted file mode 100644
index 5dfe941..0000000
--- a/src/views/specialWorkSystem/workApplyManage/myJobApply/index.vue
+++ /dev/null
@@ -1,751 +0,0 @@
-<template>
- <div class="home-container">
- <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
- <el-tab-pane label="申请中" name="1">
- <div style="height: 100%">
- <el-row class="homeCard">
- <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-row class="cardTop">
- <el-col :span="12" class="mainCardBtn">
- <el-button type="primary" :icon="Plus" size="default" @click="toApply()">申请</el-button>
- <!-- <el-button type="danger" :icon="Delete" size="default">删除</el-button>-->
- <!-- <el-button type="success" size="default">设置分类</el-button>-->
- </el-col>
- <el-button type="primary" :icon="Refresh" size="default" @click="reLoadData()" />
- </el-row>
- <el-table ref="multipleTableRef" :data="applyData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }">
- <el-table-column property="workPermitNo" label="作业申请单号" width="180" />
- <el-table-column property="applyUname" label="申请人" />
- <el-table-column property="depName" label="部门名称" />
- <el-table-column property="operators" label="作业人" />
- <el-table-column property="workTypeDesc" label="作业类型" />
- <el-table-column property="workLevelDesc" label="作业等级" />
- <el-table-column property="applyTime" label="申请时间" width="180" />
- <el-table-column label="申请状态" width="180">
- <template #default="scope">
- <el-tag type="success">{{ scope.row.statusDesc }}</el-tag>
- </template>
- </el-table-column>
- <el-table-column fixed="right" label="操作" align="center" width="250">
- <template #default="scope">
- <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
- <el-button link type="success" size="small" :icon="Finished" @click="viewStatus(scope.row)">进度</el-button>
- <el-button link type="warning" size="small" :icon="Delete" @click="deleteRecordBtn(scope.row)">取消</el-button>
- </template>
- </el-table-column>
- </el-table>
- <div class="pageBtn">
- <el-pagination v-model:currentPage="pageIndex1" v-model:page-size="pageSize1" :page-sizes="[10, 15]" small="false" background layout="total, sizes, prev, pager, next, jumper" :total="totalSize1" @size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
- </div>
- </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>
- <el-dialog v-model="dialogStatus" title="作业申请进度">
- <el-form v-if="approveInfo.operators.length > 0" style="margin-bottom: 40px">
- <el-form-item label="申请作业人">
- <el-input v-model="approveInfo.operators" readonly type="textarea" />
- </el-form-item>
- </el-form>
- <div style="display: flex; flex-direction: column-reverse">
- <div v-for="(item, index) in approveInfo.approvalSteps" class="stepItem">
- <div class="stepNum">{{ item.stepSerial }}</div>
- <div class="stepCard">
- <el-card class="box-card" shadow="always">
- <div class="text">
- 审批结果:<span>{{ item.approvalResultDesc }}</span>
- </div>
- <div class="text">
- 审批类型:<span>{{ item.typeDesc }}</span>
- </div>
- <div class="text" v-show="item.startApprovalTime != null">
- 开始时间:<span>{{ item.startApprovalTime }}</span>
- </div>
- <div class="approveUnit">
- <div class="item-tit"><span>审批人</span><span>审批状态</span></div>
- <div class="item-cont" v-for="i in item.stepUnits">
- <span>{{ i.approvalUname }}</span
- ><span>{{ i.resultDesc }}</span>
- </div>
- </div>
- <div class="approveItem">
- <div class="item-tit">
- <span>审批项目</span><span>类型</span>
- <div>措施标准</div>
- </div>
- <div class="item-cont" v-for="i in item.stepItems">
- <span>{{ i.itemName }}</span
- ><span>{{ i.typeDesc }}</span>
- <div v-if="i.measure !== null">
- <div>
- <span>作业类型:</span><span>{{ i.measure.workTypeDesc }}</span>
- </div>
- <div>
- <span>措施内容:</span><span>{{ i.measure.context }}</span>
- </div>
- </div>
- <div v-if="i.stand !== null">
- <div>
- <span>标题名称:</span><span>{{ i.stand.title }}</span>
- </div>
- <div>
- <span>标准内容:</span><span>{{ i.stand.typeDesc }}</span>
- </div>
- </div>
- </div>
- </div>
- <div class="text" v-show="item.expFinishApprovalTime != null">
- 期望结束时间:<span>{{ item.expFinishApprovalTime }}</span>
- </div>
- <div class="text" v-show="item.finishApprovalTime != null">
- 结束时间:<span>{{ item.finishApprovalTime }}</span>
- </div>
- </el-card>
- </div>
- </div>
- </div>
- </el-dialog>
- <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
- <span>您确定要取消该条申请吗?</span>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="deleteDialog = false" size="default">取消</el-button>
- <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
- </span>
- </template>
- </el-dialog>
- </el-tab-pane>
- <el-tab-pane label="已通过" name="2">
- <div style="height: 100%">
- <el-row class="homeCard">
- <el-col :span="8">
- <div class="grid-content topInfo">
- <el-input v-model="searchWord" placeholder="作业证名称"></el-input>
- <el-button type="primary">查询</el-button>
- <el-button plain>重置</el-button>
- </div>
- </el-col>
- </el-row>
- <div class="homeCard">
- <div class="main-card">
- <el-table ref="multipleTableRef" :data="passedData" style="width: 100%" height="calc(100% - 48px)" :header-cell-style="{ background: '#fafafa' }" @selection-change="handleSelectionChange">
- <el-table-column type="selection" width="55" />
- <el-table-column type="index" label="编号" width="200" />
- <el-table-column property="level" label="作业证等级" width="180" sortable />
- <el-table-column property="applyDate" label="申请日期" sortable />
- <el-table-column property="name" label="申请人" width="180" />
- <el-table-column property="department" label="申请部门" width="180" />
- <el-table-column label="申请状态" width="180">
- <template #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 { storeToRefs } from 'pinia';
-import { initBackEndControlRoutes } from '/@/router/backEnd';
-import { useUserInfo } from '/@/stores/userInfo';
-import { Session } from '/@/utils/storage';
-import { useRouter } from 'vue-router';
-import { Edit, View, Plus, Delete, Refresh, Search, Finished } from '@element-plus/icons-vue';
-import { ElTable } from 'element-plus';
-import { FormInstance, FormRules, ElMessage } from 'element-plus';
-import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
-import type { TabsPaneContext } from 'element-plus';
-
-// 定义接口来定义对象的类型
-interface stateType {
- applyData: Array<string>;
- workTimeList: Array<string>;
- multipleSelection: Array<any>;
- deleteArr: Array<any>;
- approveInfo: Object;
- dialogDetails: boolean;
- dialogStatus: boolean;
- deleteDialog: boolean;
- pageIndex1: number;
- pageSize1: number;
- chosenIndex: null | number;
- deleteId: null | number;
- searchWord: string;
- totalSize1: number;
- activeName: string;
- addRecord: {};
- details: {};
- statusInfo: {};
- workType: Array<type>;
-}
-interface type {
- id: number;
- name: string;
-}
-
-export default defineComponent({
- name: 'myApply',
- components: {},
- setup() {
- const userInfo = useUserInfo();
- const { userInfos } = storeToRefs(userInfo);
- const router = useRouter();
- const state = reactive<stateType>({
- pageIndex1: 1,
- pageSize1: 10,
- totalSize1: 0,
- activeName: '1',
- chosenIndex: null,
- searchWord: '',
- applyData: [],
- workTimeList: [],
- multipleSelection: [],
- approveInfo: {
- approvalSteps: [],
- operators: []
- },
- dialogDetails: false,
- dialogStatus: false,
- deleteDialog: false,
- addRecord: {},
- details: {},
- statusInfo: {},
- deleteId: null,
- deleteArr: [],
- workType: [
- { id: 1, name: '动火作业' },
- { id: 2, name: '受限空间作业' },
- { id: 3, name: '吊装作业' },
- { id: 4, name: '动土作业' },
- { id: 5, name: '断路作业' },
- { id: 6, name: '高处作业' },
- { id: 7, name: '临时用电作业' },
- { id: 8, name: '盲板抽堵作业' }
- ]
- });
- interface User {
- name: string;
- list: [];
- info: string;
- }
-
- // 刷新
- const reLoadData = async () => {
- getListByPage();
- };
-
- // 填写表单
- const toApply = () => {
- router.push({
- path: 'workTicket'
- });
- };
-
- const handleClick = (tab: TabsPaneContext, event: Event) => {
- console.log(tab, event);
- };
-
- // 分页获取工作时间组列表
- const getListByPage = async () => {
- const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { name: state.searchWord } };
- let res = await workApplyApi().getApplyListtPage(data);
- if (res.data.code === '200') {
- state.applyData = JSON.parse(JSON.stringify(res.data.data));
- state.applyData = state.applyData.map((item) => {
- if (item.operators == null || item.operators == []) {
- item.operators = [];
- } else {
- item.operators = Array.from(item.operators, ({ operatorUname }) => operatorUname);
- }
- return item;
- });
- state.totalSize1 = res.data.total;
- console.log('0212121');
- } else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
- }
- };
-
- // 表格数据格式化
- const toNames = (row, column, cellValue, index) => {
- if (row.list == []) {
- return [];
- } else {
- const nameList = [];
- for (let i = 0; i < row.list.length; i++) {
- for (let t = 0; t < state.workTimeList.length; t++) {
- if (row.list[i] == state.workTimeList[t].id) {
- nameList.push(state.workTimeList[t].name);
- }
- }
- }
- return nameList.join();
- }
- };
-
- // 关键词查询记录
- const searchRecord = async () => {
- if (state.searchWord == '') {
- ElMessage({
- type: 'warning',
- message: '请输入查询关键词'
- });
- } else {
- getListByPage();
- }
- };
-
- const clearSearch = async () => {
- state.searchWord = '';
- getListByPage();
- };
-
- // 查看进度
- const viewStatus = (row) => {
- getStatus({ workApplyId: row.workApplyId });
- state.dialogStatus = true;
- };
-
- // 查询进度方法
- const getStatus = async (data: any) => {
- let res = await workApplyApi().getStatus(data);
- if (res.data.code === '200') {
- state.approveInfo = JSON.parse(JSON.stringify(res.data.data));
- state.approveInfo.operators = Array.from(state.approveInfo.operators, ({ operatorUname }) => operatorUname);
- console.log(state.approveInfo, 'steps');
- } else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
- }
- };
-
- const deleteRecordBtn = (row) => {
- state.deleteId = row.workApplyId;
- state.deleteDialog = true;
- };
-
- // 取消申请方法
- const deleteRecord = async (data: any) => {
- let res = await workApplyApi().cancelApply(data);
- if (res.data.code === '200') {
- ElMessage({
- type: 'success',
- message: res.data.msg
- });
- getListByPage();
- } else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
- }
- };
-
- const conFirmDelete = () => {
- deleteRecord({ workApplyId: state.deleteId });
- state.deleteDialog = false;
- };
-
- const handleSizeChange1 = (val: number) => {
- state.pageSize1 = val;
- getListByPage();
- };
- const handleCurrentChange1 = (val: number) => {
- state.pageIndex1 = val;
- 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.details = JSON.parse(JSON.stringify(row));
- state.dialogDetails = true;
- };
-
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId', value);
- userInfos.value.projectId = value;
- await initBackEndControlRoutes();
- };
-
- // 页面载入时执行方法
- onMounted(() => {
- getListByPage();
- });
-
- return {
- View,
- Edit,
- Delete,
- Refresh,
- Plus,
- Finished,
- reLoadData,
- toApply,
- handleClick,
- toNames,
- searchRecord,
- clearSearch,
- viewRecord,
- viewStatus,
- deleteRecordBtn,
- conFirmDelete,
- getListByPage,
- handleSizeChange1,
- handleCurrentChange1,
- ...toRefs(state)
- };
- }
-});
-</script>
-
-<style scoped lang="scss">
-$homeNavLengh: 8;
-.home-container {
- height: calc(100vh - 144px);
- box-sizing: border-box;
- overflow: hidden;
- .demo-tabs {
- width: 100%;
- height: 100%;
-
- &::v-deep(.el-tabs__content) {
- height: calc(100% - 60px);
- }
-
- .el-tab-pane {
- height: 100%;
- }
- }
- .homeCard {
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
-
- .main-card {
- width: 100%;
- height: 100%;
- .cardTop {
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin-bottom: 20px;
- .mainCardBtn {
- margin: 0;
- }
- }
- .pageBtn {
- height: 60px;
- display: flex;
- align-items: center;
- justify-content: right;
-
- .demo-pagination-block + .demo-pagination-block {
- margin-top: 10px;
- }
- .demo-pagination-block .demonstration {
- margin-bottom: 16px;
- }
- }
- }
- &:last-of-type {
- height: calc(100% - 100px);
- }
- }
- .stepItem {
- display: flex;
- align-items: flex-start;
- margin-top: 30px;
- margin-left: 30px;
- padding-bottom: 30px;
- padding-left: 40px;
- border-left: 1px solid #a0cfff;
- position: relative;
- &:first-of-type {
- margin-top: 30px;
- }
- &:first-of-type {
- margin-bottom: 0;
- border-left: none;
- }
- .stepNum {
- position: absolute;
- width: 40px;
- height: 40px;
- border-radius: 20px;
- box-sizing: border-box;
- font-size: 18px;
- color: #333;
- border: 1px solid #a0cfff;
- line-height: 38px;
- text-align: center;
- left: -20px;
- top: -30px;
- background: #d9ecff;
- }
- .stepCard {
- width: 100%;
- margin-top: -30px;
-
- .box-card {
- width: 100%;
-
- .card-header {
- display: flex;
- justify-content: space-between;
- align-items: center;
-
- span {
- font-weight: bold;
- margin-left: 10px;
- }
- }
-
- .text {
- width: 100%;
- font-size: 14px;
- margin-bottom: 10px;
- padding-left: 10px;
-
- span {
- font-weight: bolder;
- color: #409eff;
- }
-
- &:last-of-type {
- margin-bottom: 0;
- }
- }
- .approveUnit {
- width: 100%;
- font-size: 14px;
- margin-bottom: 20px;
- padding: 10px 15px;
- border: 1px solid #fff;
- background: #ecf8ff;
- border-radius: 6px;
- .item-tit {
- width: 100%;
- display: flex;
- color: #409eff;
- align-items: flex-start;
- justify-content: space-between;
- padding-bottom: 10px;
- border-bottom: 1px solid #a0cfff;
-
- & > span {
- flex: 1;
- }
- & > div {
- flex: 2;
- text-align: center;
- }
- }
- .item-cont {
- width: 100%;
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 10px 0;
- border-bottom: 1px solid #c6e2ff;
-
- & > span {
- flex: 1;
- }
- & > div {
- flex: 2;
- text-align: center;
-
- & > div {
- text-align: left;
- width: 100%;
- display: flex;
- justify-content: center;
- align-items: center;
- span {
- width: 45%;
- &:first-of-type {
- width: 30%;
- }
- }
- }
- }
- &:last-of-type {
- border-bottom: 0;
- }
- }
- }
- .approveItem {
- width: 100%;
- font-size: 14px;
- margin-bottom: 20px;
- padding: 10px 15px;
- background: #ecf8ff;
- border: 1px solid #fff;
- border-radius: 6px;
- .item-tit {
- width: 100%;
- display: flex;
- color: #409eff;
- align-items: flex-start;
- justify-content: space-between;
- padding-bottom: 10px;
- border-bottom: 1px solid #a0cfff;
-
- & > span {
- flex: 1;
- }
- & > div {
- flex: 2;
- text-align: center;
- }
- }
- .item-cont {
- width: 100%;
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 10px 0;
- border-bottom: 1px solid #c6e2ff;
-
- & > span {
- flex: 1;
- }
- & > div {
- flex: 2;
- text-align: center;
-
- & > div {
- text-align: left;
- width: 100%;
- display: flex;
- justify-content: center;
- align-items: center;
- span {
- width: 45%;
- &:first-of-type {
- width: 30%;
- }
- }
- }
- }
- &:last-of-type {
- border-bottom: 0;
- }
- }
- }
- }
- }
- &:hover .card-header {
- color: #0098f5;
- }
- &:hover .stepNum {
- border: 2px solid #0098f5;
- color: #0098f5;
- }
- }
- .el-row {
- display: flex;
- align-items: center;
- margin-bottom: 20px;
- &:last-child {
- margin-bottom: 0;
- }
- .grid-content {
- align-items: center;
- min-height: 36px;
- }
-
- .topInfo {
- display: flex;
- align-items: center;
- font-size: 16px;
- font-weight: bold;
-
- & > div {
- white-space: nowrap;
- margin-right: 20px;
- }
- }
- }
- .el-card {
- border: 0;
- }
-}
-</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/broken.vue b/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/broken.vue
deleted file mode 100644
index 2a01ede..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/broken.vue
+++ /dev/null
@@ -1,316 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业人" prop="operatorUids">
- <el-select v-model="form.operatorUids" multiple>
- <el-option
- v-for="item in workerList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业时间" prop="workTimeLine">
- <el-date-picker
- v-model="form.workTimeLine"
- format="YYYY-MM-DD HH:mm"
- value-format="YYYY-MM-DD HH:mm:00"
- type="datetimerange"
- range-separator="至"
- start-placeholder="开始时间"
- end-placeholder="结束时间"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业内容" prop="workContent">
- <el-input
- v-model="form.workContent"
- autosize
- type="textarea"
- placeholder="请输入作业内容"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="作业地址" prop="workLocation">
- <el-input
- v-model="form.workLocation"
- autosize
- type="textarea"
- placeholder="请输入作业地址"
- />
- </el-form-item>
- </el-col>
- </el-row>
-
-
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业单位" prop="workDetail.operationDepId">
- <el-select v-model="form.workDetail.operationDepId">
- <el-option
- v-for="item in csDepList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="断路原因" prop="workDetail.bcReason">
- <el-input
- v-model="form.workDetail.bcReason"
- autosize
- type="textarea"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="断路地段说明" prop="workDetail.bcExplain">
- <el-input
- v-model="form.workDetail.bcExplain"
- autosize
- type="textarea"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="涉及相关部门" prop="workDetail.involvedDepIds">
- <el-select v-model="form.workDetail.involvedDepIds" multiple>
- <el-option v-for="item in otherWorkList" :key="item.value" :label="item.label" :value="item.value" />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </el-form>
- <div class="applyBtn">
- <el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
- </div>
- </div>
- </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>,
- csDepList: Array<any>,
- otherWorkList: Array<any>
- }
- export default defineComponent({
- name: 'brokenForm',
- components: {},
- setup() {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({
- form: {
- operatorUids: [],
- workType: 5,
- workLevel: 0,
- workContent: '',
- workLocation: '',
- workDetail:{
- operationDepId: null,
- bcReason: '',
- bcExplain: '',
- bcPath: '',
- involvedDepIds: []
- },
- workTimeLine: [],
- expStartTime: '',
- expEndTime: ''
- },
- workerList:[
- {
- label: "张三",
- value: 53
- },
- {
- label: "李四",
- value: 54
- },
- {
- label: "测试一",
- value: 55
- },
- {
- label: "测试二",
- value: 56
- }
- ],
- csDepList: [
- {
- label: "单位一",
- value: 1
- },
- {
- label: "单位二",
- value: 2
- },
- {
- label: "单位三",
- value: 3
- },
- {
- label: "单位四",
- value: 4
- },
- {
- label: "单位五",
- value: 5
- },
- {
- label: "单位六",
- value: 6
- }
- ],
- otherWorkList: [
- {
- label: '部门一',
- value: 1
- },
- {
- label: '部门二',
- value: 2
- },
- {
- label: '部门三',
- value: 3
- },
- {
- label: '部门四',
- value: 4
- }
- ]
- });
- const ruleFormRef = ref<FormInstance>()
- const applyRules = reactive<FormRules>({
- operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workLocation: [{ 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' }],
- "workDetail.bcExplain": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- "workDetail.otherSpecialWork": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- "workDetail.involvedDepIds": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
- });
- const submitForm = async (formEl: FormInstance | undefined) => {
- if (!formEl) return
- await formEl.validate(async (valid, fields) => {
- if (valid) {
- state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0]
- state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1]
- let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form))
- data.workDetail.involvedDepIds = data.workDetail.involvedDepIds.join(',')
- console.log(data,'data')
- const res = await workApplyApi().postBrokenApply(data)
- if (res.data.code === '200') {
- ElMessage({
- type: 'success',
- message: '提交成功!'
- });
- formEl.resetFields()
- } else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
- }
- } else {
- console.log('error submit!', fields)
- }
- })
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- Search,
- ruleFormRef,
- applyRules,
- submitForm,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .home-container {
- height: 100%;
- overflow: hidden;
- position: relative;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .applyBtn{
- width: 100%;
- background: #fff;
- height: 80px;
- z-index: 5;
- box-shadow: 0 -3px 8px rgba(150,150,150,.1);
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .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>
diff --git a/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/fire.vue b/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/fire.vue
deleted file mode 100644
index fc1ed90..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/fire.vue
+++ /dev/null
@@ -1,316 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业人" prop="operatorUids">
- <el-select v-model="form.operatorUids" multiple>
- <el-option
- v-for="item in workerList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业等级" prop="workLevel">
- <el-select v-model="form.workLevel">
- <el-option
- v-for="item in workLevelList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="作业时间" prop="workTimeLine">
- <el-date-picker
- v-model="form.workTimeLine"
- format="YYYY-MM-DD HH:mm"
- value-format="YYYY-MM-DD HH:mm:00"
- type="datetimerange"
- range-separator="至"
- start-placeholder="开始时间"
- end-placeholder="结束时间"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业内容" prop="workContent">
- <el-input
- v-model="form.workContent"
- autosize
- type="textarea"
- placeholder="请输入作业内容"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="作业地址" prop="workLocation">
- <el-input
- v-model="form.workLocation"
- autosize
- type="textarea"
- placeholder="请输入作业地址"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="动火方式" prop="workDetail.hotMethod">
- <el-input
- v-model="form.workDetail.hotMethod"
- autosize
- type="textarea"
- placeholder="请输入动火方式"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="关联作业" prop="workDetail.otherSpecialWork">
- <el-select v-model="form.workDetail.otherSpecialWork" multiple>
- <el-option
- v-for="item in otherWorkList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </el-form>
- <div class="applyBtn">
- <el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
- </div>
- </div>
- </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: 'fireForm',
- components: {},
- setup() {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({
- form: {
- operatorUids: [],
- workType: 1,
- workLevel: null,
- workContent: '',
- workLocation: '',
- workDetail:{
- hotMethod: '',
- otherSpecialWork: []
- },
- workTimeLine: [],
- expStartTime: '',
- expEndTime: ''
- },
- workerList:[
- {
- label: "张三",
- value: 53
- },
- {
- label: "李四",
- value: 54
- },
- {
- label: "测试一",
- value: 55
- },
- {
- label: "测试二",
- value: 56
- }
- ],
- workTypeList: [
- {
- label: "类型一",
- value: 1
- },
- {
- label: "类型二",
- value: 2
- }
- ],
- workLevelList: [
- {
- label: "一级动火作业",
- value: 1
- },
- {
- label: "二级动火作业",
- value: 2
- },
- {
- label: "特级动火作业",
- value: 3
- }
- ],
- otherWorkList: [
- {
- label: "动火作业",
- value: 1
- },
- {
- label: "受限空间作业",
- value: 2
- },
- {
- label: "吊装作业",
- value: 3
- },
- {
- label: "动土作业",
- value: 4
- },
- {
- label: "断路作业",
- value: 5
- },
- {
- label: "高处作业",
- value: 6
- },
- {
- label: "临时用电作业",
- value: 7
- },
- {
- label: "盲板抽堵作业",
- value: 8
- }
- ]
- });
- const ruleFormRef = ref<FormInstance>()
- const applyRules = reactive<FormRules>({
- operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- "workDetail.hotMethod": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
- });
- const submitForm = async (formEl: FormInstance | undefined) => {
- if (!formEl) return
- await formEl.validate(async (valid, fields) => {
- if (valid) {
- state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0]
- state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1]
- let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form))
- data.workDetail.otherSpecialWork = data.workDetail.otherSpecialWork.join(',')
- console.log(data,'data')
- const res = await workApplyApi().postFireApply(data)
- if (res.data.code === '200') {
- ElMessage({
- type: 'success',
- message: '提交成功!'
- });
- formEl.resetFields()
- } else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
- }
- } else {
- console.log('error submit!', fields)
- }
- })
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- Search,
- ruleFormRef,
- applyRules,
- submitForm,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .home-container {
- height: 100%;
- overflow: hidden;
- position: relative;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .applyBtn{
- width: 100%;
- background: #fff;
- height: 80px;
- z-index: 5;
- box-shadow: 0 -3px 8px rgba(150,150,150,.1);
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .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>
diff --git a/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/ground.vue b/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/ground.vue
deleted file mode 100644
index ba6e7c1..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/ground.vue
+++ /dev/null
@@ -1,328 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业人" prop="operatorUids">
- <el-select v-model="form.operatorUids" multiple>
- <el-option
- v-for="item in workerList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业时间" prop="workTimeLine">
- <el-date-picker
- v-model="form.workTimeLine"
- format="YYYY-MM-DD HH:mm"
- value-format="YYYY-MM-DD HH:mm:00"
- type="datetimerange"
- range-separator="至"
- start-placeholder="开始时间"
- end-placeholder="结束时间"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业内容" prop="workContent">
- <el-input
- v-model="form.workContent"
- autosize
- type="textarea"
- placeholder="请输入作业内容"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="作业地址" prop="workLocation">
- <el-input
- v-model="form.workLocation"
- autosize
- type="textarea"
- placeholder="请输入作业地址"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业单位" prop="workDetail.operationDepId">
- <el-select v-model="form.workDetail.operationDepId">
- <el-option
- v-for="item in csDepList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="范围" prop="workDetail.gbScope">
- <el-input
- v-model="form.workDetail.gbScope"
- autosize
- type="textarea"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="动土方式" prop="workDetail.gbMethod">
- <el-input
- v-model="form.workDetail.gbMethod"
- autosize
- type="textarea"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="关联作业" prop="workDetail.otherSpecialWork">
- <el-select v-model="form.workDetail.otherSpecialWork" multiple>
- <el-option v-for="item in otherWorkList" :key="item.value" :label="item.label" :value="item.value" />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </el-form>
- <div class="applyBtn">
- <el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
- </div>
- </div>
- </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>,
- csDepList: Array<any>,
- otherWorkList: Array<any>
- }
- export default defineComponent({
- name: 'groundForm',
- components: {},
- setup() {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({
- form: {
- operatorUids: [],
- workType: 4,
- workLevel: 0,
- workContent: '',
- workLocation: '',
- workDetail:{
- operationDepId: null,
- gbScope: '',
- gbMethod: '',
- gbPath: '',
- otherSpecialWork: []
- },
- workTimeLine: [],
- expStartTime: '',
- expEndTime: ''
- },
- workerList:[
- {
- label: "张三",
- value: 53
- },
- {
- label: "李四",
- value: 54
- },
- {
- label: "测试一",
- value: 55
- },
- {
- label: "测试二",
- value: 56
- }
- ],
- csDepList: [
- {
- label: "单位一",
- value: 1
- },
- {
- label: "单位二",
- value: 2
- },
- {
- label: "单位三",
- value: 3
- },
- {
- label: "单位四",
- value: 4
- },
- {
- label: "单位五",
- value: 5
- },
- {
- label: "单位六",
- value: 6
- }
- ],
- otherWorkList: [
- {
- label: '动火作业',
- value: 1
- },
- {
- label: '受限空间作业',
- value: 2
- },
- {
- label: '吊装作业',
- value: 3
- },
- {
- label: '动土作业',
- value: 4
- },
- {
- label: '断路作业',
- value: 5
- },
- {
- label: '高处作业',
- value: 6
- },
- {
- label: '临时用电作业',
- value: 7
- },
- {
- label: '盲板抽堵作业',
- value: 8
- }
- ]
- });
- const ruleFormRef = ref<FormInstance>()
- const applyRules = reactive<FormRules>({
- operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workLocation: [{ 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' }],
- "workDetail.gbMethod": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
- });
- const submitForm = async (formEl: FormInstance | undefined) => {
- if (!formEl) return
- await formEl.validate(async (valid, fields) => {
- if (valid) {
- state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0]
- state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1]
- let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form))
- data.workDetail.otherSpecialWork = data.workDetail.otherSpecialWork.join(',')
- console.log(data,'data')
- const res = await workApplyApi().postGroundApply(data)
- if (res.data.code === '200') {
- ElMessage({
- type: 'success',
- message: '提交成功!'
- });
- formEl.resetFields()
- } else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
- }
- } else {
- console.log('error submit!', fields)
- }
- })
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- Search,
- ruleFormRef,
- applyRules,
- submitForm,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .home-container {
- height: 100%;
- overflow: hidden;
- position: relative;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .applyBtn{
- width: 100%;
- background: #fff;
- height: 80px;
- z-index: 5;
- box-shadow: 0 -3px 8px rgba(150,150,150,.1);
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .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>
diff --git a/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/height.vue b/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/height.vue
deleted file mode 100644
index 4478df0..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/height.vue
+++ /dev/null
@@ -1,362 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业人" prop="operatorUids">
- <el-select v-model="form.operatorUids" multiple>
- <el-option
- v-for="item in workerList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业等级" prop="workLevel">
- <el-select v-model="form.workLevel">
- <el-option
- v-for="item in workLevelList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="作业时间" prop="workTimeLine">
- <el-date-picker
- v-model="form.workTimeLine"
- format="YYYY-MM-DD HH:mm"
- value-format="YYYY-MM-DD HH:mm:00"
- type="datetimerange"
- range-separator="至"
- start-placeholder="开始时间"
- end-placeholder="结束时间"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业内容" prop="workContent">
- <el-input
- v-model="form.workContent"
- autosize
- type="textarea"
- placeholder="请输入作业内容"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="作业地址" prop="workLocation">
- <el-input
- v-model="form.workLocation"
- autosize
- type="textarea"
- placeholder="请输入作业地址"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业单位" prop="workDetail.operationDepId">
- <el-select v-model="form.workDetail.operationDepId">
- <el-option
- v-for="item in heDepList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="作业高度" prop="workDetail.operationHeight">
- <el-input
- v-model="form.workDetail.operationHeight"
- type="number"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="关联作业" prop="workDetail.otherSpecialWork">
- <el-select v-model="form.workDetail.otherSpecialWork" multiple>
- <el-option
- v-for="item in otherWorkList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </el-form>
- <div class="applyBtn">
- <el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
- </div>
- </div>
- </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>,
- heDepList: Array<any>,
- otherWorkList: Array<any>
- }
- export default defineComponent({
- name: 'heightForm',
- components: {},
- setup() {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({
- form: {
- operatorUids: [],
- workType: 6,
- workLevel: null,
- workContent: '',
- workLocation: '',
- workDetail:{
- operationDepId: '',
- operationHeight: null,
- otherSpecialWork: []
- },
- workTimeLine: [],
- expStartTime: '',
- expEndTime: ''
- },
- workerList:[
- {
- label: "张三",
- value: 53
- },
- {
- label: "李四",
- value: 54
- },
- {
- label: "测试一",
- value: 55
- },
- {
- label: "测试二",
- value: 56
- }
- ],
- heDepList: [
- {
- label: "单位一",
- value: 1
- },
- {
- label: "单位二",
- value: 2
- },
- {
- label: "单位三",
- value: 3
- },
- {
- label: "单位四",
- value: 4
- },
- {
- label: "单位五",
- value: 5
- },
- {
- label: "单位六",
- value: 6
- }
- ],
- workTypeList: [
- {
- label: "类型一",
- value: 1
- },
- {
- label: "类型二",
- value: 2
- }
- ],
- workLevelList: [
- {
- label: "一级高处作业",
- value: 4
- },
- {
- label: "二级高处作业",
- value: 5
- },
- {
- label: "三级高处作业",
- value: 6
- },
- {
- label: "特级高处作业",
- value: 7
- }
- ],
- otherWorkList: [
- {
- label: "动火作业",
- value: 1
- },
- {
- label: "受限空间作业",
- value: 2
- },
- {
- label: "吊装作业",
- value: 3
- },
- {
- label: "动土作业",
- value: 4
- },
- {
- label: "断路作业",
- value: 5
- },
- {
- label: "高处作业",
- value: 6
- },
- {
- label: "临时用电作业",
- value: 7
- },
- {
- label: "盲板抽堵作业",
- value: 8
- }
- ]
- });
- const ruleFormRef = ref<FormInstance>()
- const applyRules = reactive<FormRules>({
- operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workLocation: [{ 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' }]
- });
- const submitForm = async (formEl: FormInstance | undefined) => {
- if (!formEl) return
- await formEl.validate(async (valid, fields) => {
- if (valid) {
- state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0]
- state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1]
- let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form))
- data.workDetail.otherSpecialWork = data.workDetail.otherSpecialWork.join(',')
- console.log(data,'data')
- const res = await workApplyApi().postHeightApply(data)
- if (res.data.code === '200') {
- ElMessage({
- type: 'success',
- message: '提交成功!'
- });
- formEl.resetFields()
- } else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
- }
- } else {
- console.log('error submit!', fields)
- }
- })
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- Search,
- ruleFormRef,
- applyRules,
- submitForm,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .home-container {
- height: 100%;
- overflow: hidden;
- position: relative;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .applyBtn{
- width: 100%;
- background: #fff;
- height: 80px;
- z-index: 5;
- box-shadow: 0 -3px 8px rgba(150,150,150,.1);
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .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>
diff --git a/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/hoist.vue b/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/hoist.vue
deleted file mode 100644
index f9617a3..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/hoist.vue
+++ /dev/null
@@ -1,267 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业人" prop="operatorUids">
- <el-select v-model="form.operatorUids" multiple>
- <el-option
- v-for="item in workerList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业等级" prop="workLevel">
- <el-select v-model="form.workLevel">
- <el-option
- v-for="item in workLevelList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="作业时间" prop="workTimeLine">
- <el-date-picker
- v-model="form.workTimeLine"
- format="YYYY-MM-DD HH:mm"
- value-format="YYYY-MM-DD HH:mm:00"
- type="datetimerange"
- range-separator="至"
- start-placeholder="开始时间"
- end-placeholder="结束时间"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业内容" prop="workContent">
- <el-input
- v-model="form.workContent"
- autosize
- type="textarea"
- placeholder="请输入作业内容"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="作业地址" prop="workLocation">
- <el-input
- v-model="form.workLocation"
- autosize
- type="textarea"
- placeholder="请输入作业地址"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="吊装工具名称" prop="workDetail.hoistingToolName">
- <el-input
- v-model="form.workDetail.hoistingToolName"
- autosize
- type="textarea"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="起吊物体质量" prop="workDetail.weightMass">
- <el-input
- v-model="form.workDetail.weightMass"
- type="number"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </el-form>
- <div class="applyBtn">
- <el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
- </div>
- </div>
- </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>,
- workLevelList: Array<any>
- }
- export default defineComponent({
- name: 'hoistForm',
- components: {},
- setup() {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({
- form: {
- operatorUids: [],
- workType: 3,
- workLevel: null,
- workContent: '',
- workLocation: '',
- workDetail:{
- hoistingToolName: '',
- weightMass: null
- },
- workTimeLine: [],
- expStartTime: '',
- expEndTime: ''
- },
- workerList:[
- {
- label: "张三",
- value: 53
- },
- {
- label: "李四",
- value: 54
- },
- {
- label: "测试一",
- value: 55
- },
- {
- label: "测试二",
- value: 56
- }
- ],
- workLevelList: [
- {
- label: "一级吊装作业",
- value: 8
- },
- {
- label: "二级吊装作业",
- value: 9
- },
- {
- label: "三级吊装作业",
- value: 10
- }
- ]
- });
- const ruleFormRef = ref<FormInstance>()
- const applyRules = reactive<FormRules>({
- operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workLocation: [{ 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' }]
- });
- const submitForm = async (formEl: FormInstance | undefined) => {
- if (!formEl) return
- await formEl.validate(async (valid, fields) => {
- if (valid) {
- state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0]
- state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1]
- let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form))
- data.workDetail.weightMass = Number(data.workDetail.weightMass)
- const res = await workApplyApi().postHoistApply(data)
- if (res.data.code === '200') {
- ElMessage({
- type: 'success',
- message: '提交成功!'
- });
- formEl.resetFields()
- } else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
- }
- } else {
- console.log('error submit!', fields)
- }
- })
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- Search,
- ruleFormRef,
- applyRules,
- submitForm,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .home-container {
- height: 100%;
- overflow: hidden;
- position: relative;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .applyBtn{
- width: 100%;
- background: #fff;
- height: 80px;
- z-index: 5;
- box-shadow: 0 -3px 8px rgba(150,150,150,.1);
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .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>
diff --git a/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/plate.vue b/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/plate.vue
deleted file mode 100644
index c5833fd..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/plate.vue
+++ /dev/null
@@ -1,432 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业人" prop="operatorUids">
- <el-select v-model="form.operatorUids" multiple>
- <el-option
- v-for="item in workerList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业等级" prop="workLevel">
- <el-select v-model="form.workLevel">
- <el-option
- v-for="item in workLevelList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="作业时间" prop="workTimeLine">
- <el-date-picker
- v-model="form.workTimeLine"
- format="YYYY-MM-DD HH:mm"
- value-format="YYYY-MM-DD HH:mm:00"
- type="datetimerange"
- range-separator="至"
- start-placeholder="开始时间"
- end-placeholder="结束时间"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业内容" prop="workContent">
- <el-input
- v-model="form.workContent"
- autosize
- type="textarea"
- placeholder="请输入作业内容"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="作业地址" prop="workLocation">
- <el-input
- v-model="form.workLocation"
- autosize
- type="textarea"
- placeholder="请输入作业地址"
- />
- </el-form-item>
- </el-col>
- </el-row>
-
-
- <el-row>
- <el-col :span="12">
- <el-form-item label="盲板编号" prop="workDetail.bpCode">
- <el-input
- v-model="form.workDetail.bpCode"
- autosize
- type="textarea"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="主要介质" prop="workDetail.mainMedia">
- <el-input
- v-model="form.workDetail.mainMedia"
- autosize
- type="textarea"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="温度" prop="workDetail.temperature">
- <el-input
- v-model="form.workDetail.temperature"
- type="number"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="压力" prop="workDetail.pressure">
- <el-input
- v-model="form.workDetail.pressure"
- type="number"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="盲板材质" prop="workDetail.bpMaterialQuality">
- <el-input
- v-model="form.workDetail.bpMaterialQuality"
- autosize
- type="textarea"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="盲板规格" prop="workDetail.bpSpecification">
- <el-input
- v-model="form.workDetail.bpSpecification"
- autosize
- type="textarea"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="盲板时间" prop="workDetail.installLine">
- <el-date-picker
- v-model="form.workDetail.installLine"
- format="YYYY-MM-DD HH:mm"
- value-format="YYYY-MM-DD HH:mm:00"
- type="datetimerange"
- range-separator="--"
- start-placeholder="装盲板时间"
- end-placeholder="拆盲板时间"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="盲板位置" prop="workDetail.bpLocation">
- <el-input
- v-model="form.workDetail.bpLocation"
- autosize
- type="textarea"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="关联作业" prop="workDetail.otherSpecialWork">
- <el-select v-model="form.workDetail.otherSpecialWork" multiple>
- <el-option
- v-for="item in otherWorkList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </el-form>
- <div class="applyBtn">
- <el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
- </div>
- </div>
- </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>,
- csDepList: Array<any>,
- otherWorkList: Array<any>,
- workLevelList: Array<any>
- }
- export default defineComponent({
- name: 'brokenForm',
- components: {},
- setup() {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({
- form: {
- operatorUids: [],
- workType: 8,
- workLevel: null,
- workContent: '',
- workLocation: '',
- workDetail:{
- bpCode: '',
- mainMedia: '',
- temperature: null,
- pressure: null,
- bpMaterialQuality: '',
- bpSpecification: '',
- bpLocation: '',
- bpLocationMapPath: '',
- installLine: [],
- installBpTime: '',
- uninstallBpTime: '',
- otherSpecialWork: []
- },
- workTimeLine: [],
- expStartTime: '',
- expEndTime: ''
- },
- workerList:[
- {
- label: "张三",
- value: 53
- },
- {
- label: "李四",
- value: 54
- },
- {
- label: "测试一",
- value: 55
- },
- {
- label: "测试二",
- value: 56
- }
- ],
- workLevelList: [
- {
- label: "抽盲板作业",
- value: 11
- },
- {
- label: "堵盲板作业",
- value: 12
- }
- ],
- csDepList: [
- {
- label: "单位一",
- value: 1
- },
- {
- label: "单位二",
- value: 2
- },
- {
- label: "单位三",
- value: 3
- },
- {
- label: "单位四",
- value: 4
- },
- {
- label: "单位五",
- value: 5
- },
- {
- label: "单位六",
- value: 6
- }
- ],
- otherWorkList: [
- {
- label: "动火作业",
- value: 1
- },
- {
- label: "受限空间作业",
- value: 2
- },
- {
- label: "吊装作业",
- value: 3
- },
- {
- label: "动土作业",
- value: 4
- },
- {
- label: "断路作业",
- value: 5
- },
- {
- label: "高处作业",
- value: 6
- },
- {
- label: "临时用电作业",
- value: 7
- },
- {
- label: "盲板抽堵作业",
- value: 8
- }
- ]
- });
- const ruleFormRef = ref<FormInstance>()
- const applyRules = reactive<FormRules>({
- operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workLocation: [{ 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' }],
- "workDetail.temperature": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- "workDetail.pressure": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- "workDetail.bpMaterialQuality": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- "workDetail.bpSpecification": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- "workDetail.installLine": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- "workDetail.bpLocation": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- });
- const submitForm = async (formEl: FormInstance | undefined) => {
- if (!formEl) return
- await formEl.validate(async (valid, fields) => {
- if (valid) {
- state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0]
- state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1]
- state.form.workDetail.installBpTime = JSON.parse(JSON.stringify(state.form.workDetail.installLine))[0]
- state.form.workDetail.uninstallBpTime = JSON.parse(JSON.stringify(state.form.workDetail.installLine))[1]
- let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form))
- let { installLine, ...data2 } = JSON.parse(JSON.stringify(state.form.workDetail))
- data.workDetail = data2
- data.workDetail.otherSpecialWork = data.workDetail.otherSpecialWork.join(',')
- data.workDetail.temperature = Number(data.workDetail.temperature)
- data.workDetail.pressure = Number(data.workDetail.pressure)
- console.log(data,'data')
- const res = await workApplyApi().postPlateApply(data)
- if (res.data.code === '200') {
- ElMessage({
- type: 'success',
- message: '提交成功!'
- });
- formEl.resetFields()
- } else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
- }
- } else {
- console.log('error submit!', fields)
- }
- })
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- Search,
- ruleFormRef,
- applyRules,
- submitForm,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .home-container {
- height: 100%;
- overflow: hidden;
- position: relative;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .applyBtn{
- width: 100%;
- background: #fff;
- height: 80px;
- z-index: 5;
- box-shadow: 0 -3px 8px rgba(150,150,150,.1);
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .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>
diff --git a/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/power.vue b/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/power.vue
deleted file mode 100644
index 633a0eb..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/power.vue
+++ /dev/null
@@ -1,271 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业人" prop="operatorUids">
- <el-select v-model="form.operatorUids" multiple>
- <el-option
- v-for="item in workerList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业时间" prop="workTimeLine">
- <el-date-picker
- v-model="form.workTimeLine"
- format="YYYY-MM-DD HH:mm"
- value-format="YYYY-MM-DD HH:mm:00"
- type="datetimerange"
- range-separator="至"
- start-placeholder="开始时间"
- end-placeholder="结束时间"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业内容" prop="workContent">
- <el-input
- v-model="form.workContent"
- autosize
- type="textarea"
- placeholder="请输入作业内容"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="作业地址" prop="workLocation">
- <el-input
- v-model="form.workLocation"
- autosize
- type="textarea"
- placeholder="请输入作业地址"
- />
- </el-form-item>
- </el-col>
- </el-row>
-
-
- <el-row>
- <el-col :span="12">
- <el-form-item label="电源接入点" prop="workDetail.powerAccessPoint">
- <el-input
- v-model="form.workDetail.powerAccessPoint"
- autosize
- type="textarea"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="工作电压" prop="workDetail.workingVoltage">
- <el-input
- v-model="form.workDetail.workingVoltage"
- type="number"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="用电设备及功率" prop="workDetail.equipmentAndPower">
- <el-input
- v-model="form.workDetail.equipmentAndPower"
- autosize
- type="textarea"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </el-form>
- <div class="applyBtn">
- <el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
- </div>
- </div>
- </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>,
- workLevelList: Array<any>
- }
- export default defineComponent({
- name: 'hoistForm',
- components: {},
- setup() {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({
- form: {
- operatorUids: [],
- workType: 7,
- workLevel: 0,
- workContent: '',
- workLocation: '',
- workDetail:{
- powerAccessPoint: '',
- workingVoltage: null,
- equipmentAndPower: ''
- },
- workTimeLine: [],
- expStartTime: '',
- expEndTime: ''
- },
- workerList:[
- {
- label: "张三",
- value: 53
- },
- {
- label: "李四",
- value: 54
- },
- {
- label: "测试一",
- value: 55
- },
- {
- label: "测试二",
- value: 56
- }
- ],
- workLevelList: [
- {
- label: "一级吊装作业",
- value: 8
- },
- {
- label: "二级吊装作业",
- value: 9
- },
- {
- label: "三级吊装作业",
- value: 10
- }
- ]
- });
- const ruleFormRef = ref<FormInstance>()
- const applyRules = reactive<FormRules>({
- operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workLevel: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workLocation: [{ 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' }],
- "workDetail.equipmentAndPower": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
- });
- const submitForm = async (formEl: FormInstance | undefined) => {
- if (!formEl) return
- await formEl.validate(async (valid, fields) => {
- if (valid) {
- state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0]
- state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1]
- let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form))
- // data.workDetail.weightMass = Number(data.workDetail.weightMass)
- const res = await workApplyApi().postPowerApply(data)
- if (res.data.code === '200') {
- ElMessage({
- type: 'success',
- message: '提交成功!'
- });
- formEl.resetFields()
- } else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
- }
- } else {
- console.log('error submit!', fields)
- }
- })
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- Search,
- ruleFormRef,
- applyRules,
- submitForm,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .home-container {
- height: 100%;
- overflow: hidden;
- position: relative;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .applyBtn{
- width: 100%;
- background: #fff;
- height: 80px;
- z-index: 5;
- box-shadow: 0 -3px 8px rgba(150,150,150,.1);
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .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>
diff --git a/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/space.vue b/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/space.vue
deleted file mode 100644
index f93cd75..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workApplyForm/components/space.vue
+++ /dev/null
@@ -1,327 +0,0 @@
-<template>
- <div class="home-container">
- <div style="height: 100%">
- <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
- <div class="homeCard">
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业人" prop="operatorUids">
- <el-select v-model="form.operatorUids" multiple>
- <el-option
- v-for="item in workerList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业时间" prop="workTimeLine">
- <el-date-picker
- v-model="form.workTimeLine"
- format="YYYY-MM-DD HH:mm"
- value-format="YYYY-MM-DD HH:mm:00"
- type="datetimerange"
- range-separator="至"
- start-placeholder="开始时间"
- end-placeholder="结束时间"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="作业内容" prop="workContent">
- <el-input
- v-model="form.workContent"
- autosize
- type="textarea"
- placeholder="请输入作业内容"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="作业地址" prop="workLocation">
- <el-input
- v-model="form.workLocation"
- autosize
- type="textarea"
- placeholder="请输入作业地址"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="受限空间所属单位" prop="workDetail.csDepId">
- <el-select v-model="form.workDetail.csDepId">
- <el-option
- v-for="item in csDepList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="受限空间名称" prop="workDetail.csName">
- <el-input
- v-model="form.workDetail.csName"
- autosize
- type="textarea"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="空间内原有介质" prop="workDetail.csOriginalName">
- <el-input
- v-model="form.workDetail.csOriginalName"
- autosize
- type="textarea"
- placeholder="请输入"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="关联作业" prop="workDetail.otherSpecialWork">
- <el-select v-model="form.workDetail.otherSpecialWork" multiple>
- <el-option v-for="item in otherWorkList" :key="item.value" :label="item.label" :value="item.value" />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- </div>
- </el-form>
- <div class="applyBtn">
- <el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
- </div>
- </div>
- </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>,
- csDepList: Array<any>,
- otherWorkList: Array<any>
- }
- export default defineComponent({
- name: 'spaceForm',
- components: {},
- setup() {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({
- form: {
- operatorUids: [],
- workType: 2,
- workLevel: 0,
- workContent: '',
- workLocation: '',
- workDetail:{
- csDepId: null,
- csName: '',
- csOriginalName: '',
- otherSpecialWork: []
- },
- workTimeLine: [],
- expStartTime: '',
- expEndTime: ''
- },
- workerList:[
- {
- label: "张三",
- value: 53
- },
- {
- label: "李四",
- value: 54
- },
- {
- label: "测试一",
- value: 55
- },
- {
- label: "测试二",
- value: 56
- }
- ],
- csDepList: [
- {
- label: "单位一",
- value: 1
- },
- {
- label: "单位二",
- value: 2
- },
- {
- label: "单位三",
- value: 3
- },
- {
- label: "单位四",
- value: 4
- },
- {
- label: "单位五",
- value: 5
- },
- {
- label: "单位六",
- value: 6
- }
- ],
- otherWorkList: [
- {
- label: '动火作业',
- value: 1
- },
- {
- label: '受限空间作业',
- value: 2
- },
- {
- label: '吊装作业',
- value: 3
- },
- {
- label: '动土作业',
- value: 4
- },
- {
- label: '断路作业',
- value: 5
- },
- {
- label: '高处作业',
- value: 6
- },
- {
- label: '临时用电作业',
- value: 7
- },
- {
- label: '盲板抽堵作业',
- value: 8
- }
- ]
- });
- const ruleFormRef = ref<FormInstance>()
- const applyRules = reactive<FormRules>({
- operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
- workLocation: [{ 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' }],
- "workDetail.csOriginalName": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
- });
- const submitForm = async (formEl: FormInstance | undefined) => {
- if (!formEl) return
- await formEl.validate(async (valid, fields) => {
- if (valid) {
- state.form.expStartTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[0]
- state.form.expEndTime = JSON.parse(JSON.stringify(state.form.workTimeLine))[1]
- let { workTimeLine, ...data } = JSON.parse(JSON.stringify(state.form))
- data.workDetail.otherSpecialWork = data.workDetail.otherSpecialWork.join(',')
- console.log(data,'data')
- const res = await workApplyApi().postSpaceApply(data)
- if (res.data.code === '200') {
- ElMessage({
- type: 'success',
- message: '提交成功!'
- });
- formEl.resetFields()
- } else {
- ElMessage({
- type: 'warning',
- message: res.data.msg
- });
- }
- } else {
- console.log('error submit!', fields)
- }
- })
- }
- // 折线图
- const renderMenu = async (value: string) => {
- Session.set('projectId',value)
- userInfos.value.projectId = value
- await initBackEndControlRoutes();
- };
- return {
- renderMenu,
- Search,
- ruleFormRef,
- applyRules,
- submitForm,
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .home-container {
- height: 100%;
- overflow: hidden;
- position: relative;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .applyBtn{
- width: 100%;
- background: #fff;
- height: 80px;
- z-index: 5;
- box-shadow: 0 -3px 8px rgba(150,150,150,.1);
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .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>
diff --git a/src/views/specialWorkSystem/workApplyManage/workApplyForm/index.vue b/src/views/specialWorkSystem/workApplyManage/workApplyForm/index.vue
deleted file mode 100644
index aad84f8..0000000
--- a/src/views/specialWorkSystem/workApplyManage/workApplyForm/index.vue
+++ /dev/null
@@ -1,115 +0,0 @@
-<template>
- <div class="home-container">
- <el-tabs type="border-card">
- <el-tab-pane label="动火作业">
- <fire-form></fire-form>
- </el-tab-pane>
- <el-tab-pane label="受限空间作业">
- <space-form></space-form>
- </el-tab-pane>
- <el-tab-pane label="吊装作业">
- <hoist-form></hoist-form>
- </el-tab-pane>
- <el-tab-pane label="动土作业">
- <ground-form></ground-form>
- </el-tab-pane>
- <el-tab-pane label="断路作业">
- <broken-form></broken-form>
- </el-tab-pane>
- <el-tab-pane label="高处作业">
- <height-form></height-form>
- </el-tab-pane>
- <el-tab-pane label="临时用电作业">
- <power-form></power-form>
- </el-tab-pane>
- <el-tab-pane label="盲板抽堵作业">
- <plate-form></plate-form>
- </el-tab-pane>
- </el-tabs>
- </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 {
-
- }
- 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'))
- },
- setup() {
- const userInfo = useUserInfo()
- const { userInfos } = storeToRefs(userInfo);
- const state = reactive<stateType>({
-
- });
-
- return {
- ...toRefs(state),
- };
- },
- });
-</script>
-
-<style scoped lang="scss">
- .home-container {
- height: 100%;
- overflow: hidden;
- position: relative;
- .homeCard{
- width: 100%;
- padding: 20px;
- box-sizing: border-box;
- background: #fff;
- border-radius: 4px;
- margin-bottom: 20px;
- }
- .applyBtn{
- width: 100%;
- background: #fff;
- height: 80px;
- z-index: 5;
- box-shadow: 0 -3px 8px rgba(150,150,150,.1);
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .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>
diff --git a/src/views/specialWorkSystem/workTicket/myJobApply/components/brokenLog.vue b/src/views/specialWorkSystem/workTicket/myJobApply/components/brokenLog.vue
new file mode 100644
index 0000000..ff78b92
--- /dev/null
+++ b/src/views/specialWorkSystem/workTicket/myJobApply/components/brokenLog.vue
@@ -0,0 +1,113 @@
+<template>
+ <div style="height: 100%">
+ <el-form :model="details" label-width="150px">
+ <el-form-item label="作业申请单号">
+ <el-input v-model="details.workPermitNo" readonly />
+ </el-form-item>
+ <el-form-item label="申请人">
+ <el-input v-model="details.applyUname" readonly />
+ </el-form-item>
+ <el-form-item label="部门名称">
+ <el-input v-model="details.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="涉及相关部门">
+ <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'],
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ return {
+ Search
+ };
+ },
+ });
+</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>
diff --git a/src/views/specialWorkSystem/workTicket/myJobApply/components/fireLog.vue b/src/views/specialWorkSystem/workTicket/myJobApply/components/fireLog.vue
new file mode 100644
index 0000000..5bf55f2
--- /dev/null
+++ b/src/views/specialWorkSystem/workTicket/myJobApply/components/fireLog.vue
@@ -0,0 +1,107 @@
+<template>
+ <div style="height: 100%">
+ <el-form :model="details" label-width="150px">
+ <el-form-item label="作业申请单号">
+ <el-input v-model="details.workPermitNo" readonly />
+ </el-form-item>
+ <el-form-item label="申请人">
+ <el-input v-model="details.applyUname" readonly />
+ </el-form-item>
+ <el-form-item label="部门名称">
+ <el-input v-model="details.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'],
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ return {
+ Search
+ };
+ },
+ });
+</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>
diff --git a/src/views/specialWorkSystem/workTicket/myJobApply/components/groundLog.vue b/src/views/specialWorkSystem/workTicket/myJobApply/components/groundLog.vue
new file mode 100644
index 0000000..f1aba23
--- /dev/null
+++ b/src/views/specialWorkSystem/workTicket/myJobApply/components/groundLog.vue
@@ -0,0 +1,113 @@
+<template>
+ <div style="height: 100%">
+ <el-form :model="details" label-width="150px">
+ <el-form-item label="作业申请单号">
+ <el-input v-model="details.workPermitNo" readonly />
+ </el-form-item>
+ <el-form-item label="申请人">
+ <el-input v-model="details.applyUname" readonly />
+ </el-form-item>
+ <el-form-item label="部门名称">
+ <el-input v-model="details.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'],
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ return {
+ Search
+ };
+ },
+ });
+</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>
diff --git a/src/views/specialWorkSystem/workTicket/myJobApply/components/heightLog.vue b/src/views/specialWorkSystem/workTicket/myJobApply/components/heightLog.vue
new file mode 100644
index 0000000..04d38f9
--- /dev/null
+++ b/src/views/specialWorkSystem/workTicket/myJobApply/components/heightLog.vue
@@ -0,0 +1,110 @@
+<template>
+ <div style="height: 100%">
+ <el-form :model="details" label-width="150px">
+ <el-form-item label="作业申请单号">
+ <el-input v-model="details.workPermitNo" readonly />
+ </el-form-item>
+ <el-form-item label="申请人">
+ <el-input v-model="details.applyUname" readonly />
+ </el-form-item>
+ <el-form-item label="部门名称">
+ <el-input v-model="details.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'],
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ return {
+ Search
+ };
+ },
+ });
+</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>
diff --git a/src/views/specialWorkSystem/workTicket/myJobApply/components/hoistLog.vue b/src/views/specialWorkSystem/workTicket/myJobApply/components/hoistLog.vue
new file mode 100644
index 0000000..0e4e53b
--- /dev/null
+++ b/src/views/specialWorkSystem/workTicket/myJobApply/components/hoistLog.vue
@@ -0,0 +1,110 @@
+<template>
+ <div style="height: 100%">
+ <el-form :model="details" label-width="150px">
+ <el-form-item label="作业申请单号">
+ <el-input v-model="details.workPermitNo" readonly />
+ </el-form-item>
+ <el-form-item label="申请人">
+ <el-input v-model="details.applyUname" readonly />
+ </el-form-item>
+ <el-form-item label="部门名称">
+ <el-input v-model="details.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'],
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ return {
+ Search
+ };
+ },
+ });
+</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>
diff --git a/src/views/specialWorkSystem/workTicket/myJobApply/components/plateLog.vue b/src/views/specialWorkSystem/workTicket/myJobApply/components/plateLog.vue
new file mode 100644
index 0000000..7aac31b
--- /dev/null
+++ b/src/views/specialWorkSystem/workTicket/myJobApply/components/plateLog.vue
@@ -0,0 +1,131 @@
+<template>
+ <div style="height: 100%">
+ <el-form :model="details" label-width="150px">
+ <el-form-item label="作业申请单号">
+ <el-input v-model="details.workPermitNo" readonly />
+ </el-form-item>
+ <el-form-item label="申请人">
+ <el-input v-model="details.applyUname" readonly />
+ </el-form-item>
+ <el-form-item label="部门名称">
+ <el-input v-model="details.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'],
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ return {
+ Search
+ };
+ },
+ });
+</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>
diff --git a/src/views/specialWorkSystem/workTicket/myJobApply/components/powerLog.vue b/src/views/specialWorkSystem/workTicket/myJobApply/components/powerLog.vue
new file mode 100644
index 0000000..7c3b754
--- /dev/null
+++ b/src/views/specialWorkSystem/workTicket/myJobApply/components/powerLog.vue
@@ -0,0 +1,113 @@
+<template>
+ <div style="height: 100%">
+ <el-form :model="details" label-width="150px">
+ <el-form-item label="作业申请单号">
+ <el-input v-model="details.workPermitNo" readonly />
+ </el-form-item>
+ <el-form-item label="申请人">
+ <el-input v-model="details.applyUname" readonly />
+ </el-form-item>
+ <el-form-item label="部门名称">
+ <el-input v-model="details.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'],
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ return {
+ Search
+ };
+ },
+ });
+</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>
diff --git a/src/views/specialWorkSystem/workTicket/myJobApply/components/spaceLog.vue b/src/views/specialWorkSystem/workTicket/myJobApply/components/spaceLog.vue
new file mode 100644
index 0000000..c2f512b
--- /dev/null
+++ b/src/views/specialWorkSystem/workTicket/myJobApply/components/spaceLog.vue
@@ -0,0 +1,113 @@
+<template>
+ <div style="height: 100%">
+ <el-form :model="details" label-width="150px">
+ <el-form-item label="作业申请单号">
+ <el-input v-model="details.workPermitNo" readonly />
+ </el-form-item>
+ <el-form-item label="申请人">
+ <el-input v-model="details.applyUname" readonly />
+ </el-form-item>
+ <el-form-item label="部门名称">
+ <el-input v-model="details.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'],
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ return {
+ Search
+ };
+ },
+ });
+</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>
diff --git a/src/views/specialWorkSystem/workTicket/myJobApply/index.vue b/src/views/specialWorkSystem/workTicket/myJobApply/index.vue
index 5dfe941..1a502f1 100644
--- a/src/views/specialWorkSystem/workTicket/myJobApply/index.vue
+++ b/src/views/specialWorkSystem/workTicket/myJobApply/index.vue
@@ -1,14 +1,21 @@
<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>
@@ -49,54 +56,22 @@
</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-else :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">
@@ -171,46 +146,46 @@
</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';
@@ -243,6 +218,8 @@
details: {};
statusInfo: {};
workType: Array<type>;
+ depType: Array<type>;
+ dialogType: number
}
interface type {
id: number;
@@ -251,7 +228,16 @@
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);
@@ -260,6 +246,7 @@
pageIndex1: 1,
pageSize1: 10,
totalSize1: 0,
+ dialogType: null,
activeName: '1',
chosenIndex: null,
searchWord: '',
@@ -287,6 +274,12 @@
{ id: 6, name: '高处作业' },
{ id: 7, name: '临时用电作业' },
{ id: 8, name: '盲板抽堵作业' }
+ ],
+ depType: [
+ { id: 1, name: '部门一' },
+ { id: 2, name: '部门二' },
+ { id: 3, name: '部门三' },
+ { id: 4, name: '部门四' }
]
});
interface User {
@@ -313,7 +306,7 @@
// 分页获取工作时间组列表
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));
@@ -326,7 +319,7 @@
return item;
});
state.totalSize1 = res.data.total;
- console.log('0212121');
+ console.log( state.applyData,'0212121');
} else {
ElMessage({
type: 'warning',
@@ -363,7 +356,7 @@
getListByPage();
}
};
-
+ // 重置搜索
const clearSearch = async () => {
state.searchWord = '';
getListByPage();
@@ -428,10 +421,29 @@
// 查看记录
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;
};
diff --git a/src/views/specialWorkSystem/workTicket/workApply/components/broken.vue b/src/views/specialWorkSystem/workTicket/workApply/components/broken.vue
index 2a01ede..54cbca4 100644
--- a/src/views/specialWorkSystem/workTicket/workApply/components/broken.vue
+++ b/src/views/specialWorkSystem/workTicket/workApply/components/broken.vue
@@ -9,9 +9,9 @@
<el-select v-model="form.operatorUids" multiple>
<el-option
v-for="item in workerList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ :key="item.uid"
+ :label="item.username"
+ :value="item.uid"
/>
</el-select>
</el-form-item>
@@ -122,13 +122,13 @@
interface stateType {
form: Object,
- workerList: Array<any>,
csDepList: Array<any>,
otherWorkList: Array<any>
}
export default defineComponent({
name: 'brokenForm',
components: {},
+ props:['workerList'],
setup() {
const userInfo = useUserInfo()
const { userInfos } = storeToRefs(userInfo);
@@ -150,24 +150,6 @@
expStartTime: '',
expEndTime: ''
},
- workerList:[
- {
- label: "张三",
- value: 53
- },
- {
- label: "李四",
- value: 54
- },
- {
- label: "测试一",
- value: 55
- },
- {
- label: "测试二",
- value: 56
- }
- ],
csDepList: [
{
label: "单位一",
@@ -223,8 +205,7 @@
"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
@@ -287,7 +268,7 @@
.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;
diff --git a/src/views/specialWorkSystem/workTicket/workApply/components/fire.vue b/src/views/specialWorkSystem/workTicket/workApply/components/fire.vue
index fc1ed90..9732afb 100644
--- a/src/views/specialWorkSystem/workTicket/workApply/components/fire.vue
+++ b/src/views/specialWorkSystem/workTicket/workApply/components/fire.vue
@@ -9,9 +9,9 @@
<el-select v-model="form.operatorUids" multiple>
<el-option
v-for="item in workerList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ :key="item.uid"
+ :label="item.username"
+ :value="item.uid"
/>
</el-select>
</el-form-item>
@@ -113,7 +113,6 @@
interface stateType {
form: Object,
- workerList: Array<any>,
workTypeList: Array<any>,
workLevelList: Array<any>,
otherWorkList: Array<any>
@@ -121,6 +120,7 @@
export default defineComponent({
name: 'fireForm',
components: {},
+ props:['workerList'],
setup() {
const userInfo = useUserInfo()
const { userInfos } = storeToRefs(userInfo);
@@ -139,24 +139,6 @@
expStartTime: '',
expEndTime: ''
},
- workerList:[
- {
- label: "张三",
- value: 53
- },
- {
- label: "李四",
- value: 54
- },
- {
- label: "测试一",
- value: 55
- },
- {
- label: "测试二",
- value: 56
- }
- ],
workTypeList: [
{
label: "类型一",
@@ -287,7 +269,7 @@
.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;
diff --git a/src/views/specialWorkSystem/workTicket/workApply/components/ground.vue b/src/views/specialWorkSystem/workTicket/workApply/components/ground.vue
index ba6e7c1..9871118 100644
--- a/src/views/specialWorkSystem/workTicket/workApply/components/ground.vue
+++ b/src/views/specialWorkSystem/workTicket/workApply/components/ground.vue
@@ -9,9 +9,9 @@
<el-select v-model="form.operatorUids" multiple>
<el-option
v-for="item in workerList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ :key="item.uid"
+ :label="item.username"
+ :value="item.uid"
/>
</el-select>
</el-form-item>
@@ -120,13 +120,13 @@
interface stateType {
form: Object,
- workerList: Array<any>,
csDepList: Array<any>,
otherWorkList: Array<any>
}
export default defineComponent({
name: 'groundForm',
components: {},
+ props:['workerList'],
setup() {
const userInfo = useUserInfo()
const { userInfos } = storeToRefs(userInfo);
@@ -148,24 +148,6 @@
expStartTime: '',
expEndTime: ''
},
- workerList:[
- {
- label: "张三",
- value: 53
- },
- {
- label: "李四",
- value: 54
- },
- {
- label: "测试一",
- value: 55
- },
- {
- label: "测试二",
- value: 56
- }
- ],
csDepList: [
{
label: "单位一",
@@ -299,7 +281,7 @@
.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;
diff --git a/src/views/specialWorkSystem/workTicket/workApply/components/height.vue b/src/views/specialWorkSystem/workTicket/workApply/components/height.vue
index 4478df0..d0dc61f 100644
--- a/src/views/specialWorkSystem/workTicket/workApply/components/height.vue
+++ b/src/views/specialWorkSystem/workTicket/workApply/components/height.vue
@@ -9,9 +9,9 @@
<el-select v-model="form.operatorUids" multiple>
<el-option
v-for="item in workerList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ :key="item.uid"
+ :label="item.username"
+ :value="item.uid"
/>
</el-select>
</el-form-item>
@@ -85,7 +85,9 @@
v-model="form.workDetail.operationHeight"
type="number"
placeholder="请输入"
- />
+ >
+ <template #append>米(m)</template>
+ </el-input>
</el-form-item>
</el-col>
</el-row>
@@ -126,7 +128,6 @@
interface stateType {
form: Object,
- workerList: Array<any>,
workTypeList: Array<any>,
workLevelList: Array<any>,
heDepList: Array<any>,
@@ -135,6 +136,7 @@
export default defineComponent({
name: 'heightForm',
components: {},
+ props:['workerList'],
setup() {
const userInfo = useUserInfo()
const { userInfos } = storeToRefs(userInfo);
@@ -154,24 +156,6 @@
expStartTime: '',
expEndTime: ''
},
- workerList:[
- {
- label: "张三",
- value: 53
- },
- {
- label: "李四",
- value: 54
- },
- {
- label: "测试一",
- value: 55
- },
- {
- label: "测试二",
- value: 56
- }
- ],
heDepList: [
{
label: "单位一",
@@ -333,7 +317,7 @@
.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;
diff --git a/src/views/specialWorkSystem/workTicket/workApply/components/hoist.vue b/src/views/specialWorkSystem/workTicket/workApply/components/hoist.vue
index f9617a3..ca95264 100644
--- a/src/views/specialWorkSystem/workTicket/workApply/components/hoist.vue
+++ b/src/views/specialWorkSystem/workTicket/workApply/components/hoist.vue
@@ -9,9 +9,9 @@
<el-select v-model="form.operatorUids" multiple>
<el-option
v-for="item in workerList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ :key="item.uid"
+ :label="item.username"
+ :value="item.uid"
/>
</el-select>
</el-form-item>
@@ -83,7 +83,9 @@
v-model="form.workDetail.weightMass"
type="number"
placeholder="请输入"
- />
+ >
+ <template #append>吨(t)</template>
+ </el-input>
</el-form-item>
</el-col>
</el-row>
@@ -110,12 +112,12 @@
interface stateType {
form: Object,
- workerList: Array<any>,
workLevelList: Array<any>
}
export default defineComponent({
name: 'hoistForm',
components: {},
+ props:['workerList'],
setup() {
const userInfo = useUserInfo()
const { userInfos } = storeToRefs(userInfo);
@@ -134,24 +136,6 @@
expStartTime: '',
expEndTime: ''
},
- workerList:[
- {
- label: "张三",
- value: 53
- },
- {
- label: "李四",
- value: 54
- },
- {
- label: "测试一",
- value: 55
- },
- {
- label: "测试二",
- value: 56
- }
- ],
workLevelList: [
{
label: "一级吊装作业",
@@ -238,7 +222,7 @@
.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;
diff --git a/src/views/specialWorkSystem/workTicket/workApply/components/plate.vue b/src/views/specialWorkSystem/workTicket/workApply/components/plate.vue
index c5833fd..2011795 100644
--- a/src/views/specialWorkSystem/workTicket/workApply/components/plate.vue
+++ b/src/views/specialWorkSystem/workTicket/workApply/components/plate.vue
@@ -9,9 +9,9 @@
<el-select v-model="form.operatorUids" multiple>
<el-option
v-for="item in workerList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ :key="item.uid"
+ :label="item.username"
+ :value="item.uid"
/>
</el-select>
</el-form-item>
@@ -97,7 +97,9 @@
v-model="form.workDetail.temperature"
type="number"
placeholder="请输入"
- />
+ >
+ <template #append>摄氏度(℃)</template>
+ </el-input>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -106,7 +108,9 @@
v-model="form.workDetail.pressure"
type="number"
placeholder="请输入"
- />
+ >
+ <template #append>千帕(kPa)</template>
+ </el-input>
</el-form-item>
</el-col>
</el-row>
@@ -194,7 +198,6 @@
interface stateType {
form: Object,
- workerList: Array<any>,
csDepList: Array<any>,
otherWorkList: Array<any>,
workLevelList: Array<any>
@@ -202,6 +205,7 @@
export default defineComponent({
name: 'brokenForm',
components: {},
+ props:['workerList'],
setup() {
const userInfo = useUserInfo()
const { userInfos } = storeToRefs(userInfo);
@@ -230,24 +234,6 @@
expStartTime: '',
expEndTime: ''
},
- workerList:[
- {
- label: "张三",
- value: 53
- },
- {
- label: "李四",
- value: 54
- },
- {
- label: "测试一",
- value: 55
- },
- {
- label: "测试二",
- value: 56
- }
- ],
workLevelList: [
{
label: "抽盲板作业",
@@ -403,7 +389,7 @@
.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;
diff --git a/src/views/specialWorkSystem/workTicket/workApply/components/power.vue b/src/views/specialWorkSystem/workTicket/workApply/components/power.vue
index 633a0eb..0d52888 100644
--- a/src/views/specialWorkSystem/workTicket/workApply/components/power.vue
+++ b/src/views/specialWorkSystem/workTicket/workApply/components/power.vue
@@ -9,9 +9,9 @@
<el-select v-model="form.operatorUids" multiple>
<el-option
v-for="item in workerList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ :key="item.uid"
+ :label="item.username"
+ :value="item.uid"
/>
</el-select>
</el-form-item>
@@ -73,7 +73,9 @@
v-model="form.workDetail.workingVoltage"
type="number"
placeholder="请输入"
- />
+ >
+ <template #append>伏特(v)</template>
+ </el-input>
</el-form-item>
</el-col>
</el-row>
@@ -112,12 +114,12 @@
interface stateType {
form: Object,
- workerList: Array<any>,
workLevelList: Array<any>
}
export default defineComponent({
name: 'hoistForm',
components: {},
+ props:['workerList'],
setup() {
const userInfo = useUserInfo()
const { userInfos } = storeToRefs(userInfo);
@@ -137,24 +139,6 @@
expStartTime: '',
expEndTime: ''
},
- workerList:[
- {
- label: "张三",
- value: 53
- },
- {
- label: "李四",
- value: 54
- },
- {
- label: "测试一",
- value: 55
- },
- {
- label: "测试二",
- value: 56
- }
- ],
workLevelList: [
{
label: "一级吊装作业",
@@ -242,7 +226,7 @@
.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;
diff --git a/src/views/specialWorkSystem/workTicket/workApply/components/space.vue b/src/views/specialWorkSystem/workTicket/workApply/components/space.vue
index f93cd75..afe6404 100644
--- a/src/views/specialWorkSystem/workTicket/workApply/components/space.vue
+++ b/src/views/specialWorkSystem/workTicket/workApply/components/space.vue
@@ -9,9 +9,9 @@
<el-select v-model="form.operatorUids" multiple>
<el-option
v-for="item in workerList"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ :key="item.uid"
+ :label="item.username"
+ :value="item.uid"
/>
</el-select>
</el-form-item>
@@ -120,13 +120,13 @@
interface stateType {
form: Object,
- workerList: Array<any>,
csDepList: Array<any>,
otherWorkList: Array<any>
}
export default defineComponent({
name: 'spaceForm',
components: {},
+ props:['workerList'],
setup() {
const userInfo = useUserInfo()
const { userInfos } = storeToRefs(userInfo);
@@ -147,24 +147,6 @@
expStartTime: '',
expEndTime: ''
},
- workerList:[
- {
- label: "张三",
- value: 53
- },
- {
- label: "李四",
- value: 54
- },
- {
- label: "测试一",
- value: 55
- },
- {
- label: "测试二",
- value: 56
- }
- ],
csDepList: [
{
label: "单位一",
@@ -298,7 +280,7 @@
.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;
diff --git a/src/views/specialWorkSystem/workTicket/workApply/index.vue b/src/views/specialWorkSystem/workTicket/workApply/index.vue
index aad84f8..181b250 100644
--- a/src/views/specialWorkSystem/workTicket/workApply/index.vue
+++ b/src/views/specialWorkSystem/workTicket/workApply/index.vue
@@ -2,35 +2,35 @@
<div class="home-container">
<el-tabs type="border-card">
<el-tab-pane label="动火作业">
- <fire-form></fire-form>
+ <fire-form :workerList = allWorkers></fire-form>
</el-tab-pane>
<el-tab-pane label="受限空间作业">
- <space-form></space-form>
+ <space-form :workerList = allWorkers></space-form>
</el-tab-pane>
<el-tab-pane label="吊装作业">
- <hoist-form></hoist-form>
+ <hoist-form :workerList = allWorkers></hoist-form>
</el-tab-pane>
<el-tab-pane label="动土作业">
- <ground-form></ground-form>
+ <ground-form :workerList = allWorkers></ground-form>
</el-tab-pane>
<el-tab-pane label="断路作业">
- <broken-form></broken-form>
+ <broken-form :workerList = allWorkers></broken-form>
</el-tab-pane>
<el-tab-pane label="高处作业">
- <height-form></height-form>
+ <height-form :workerList = allWorkers></height-form>
</el-tab-pane>
<el-tab-pane label="临时用电作业">
- <power-form></power-form>
+ <power-form :workerList = allWorkers></power-form>
</el-tab-pane>
<el-tab-pane label="盲板抽堵作业">
- <plate-form></plate-form>
+ <plate-form :workerList = allWorkers></plate-form>
</el-tab-pane>
</el-tabs>
</div>
</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";
@@ -42,25 +42,41 @@
interface stateType {
-
+ allWorkers: Array<any>
}
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 { userInfos } = storeToRefs(userInfo);
const state = reactive<stateType>({
+ allWorkers: []
+ });
+ const getAll = async ()=>{
+ const res = await workApplyApi().getAllUsers()
+ if (res.data.code === '200') {
+ state.allWorkers = JSON.parse(JSON.stringify(res.data.data))
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ };
+ // 页面载入时执行方法
+ onMounted(() => {
+ getAll();
});
return {
--
Gitblit v1.9.2