From 216d03fa53a38ffc6afe45756d2ae73b21bf00b5 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期二, 23 八月 2022 11:43:49 +0800
Subject: [PATCH] lct
---
src/views/intellectInspect/inspectIndex/index.vue | 157 +++++-----
src/views/intellectInspect/inspectTaskManage/inspectTask/index.vue | 21 +
.env.development | 4
.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_11_26__Default_Changelist_.xml | 4
src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue | 2
.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_11_26_[Default_Changelist]/shelved.patch | 579 +++++++++++++++++++++++++++++++++++++++++
src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue | 15
7 files changed, 693 insertions(+), 89 deletions(-)
diff --git a/.env.development b/.env.development
index e88bf91..fdcc879 100644
--- a/.env.development
+++ b/.env.development
@@ -1,13 +1,13 @@
# 本地环境
ENV = 'development'
-VITE_API_URL = 'http://192.168.0.35:8008'
+#VITE_API_URL = 'http://192.168.0.35:8008'
#李宇飞接口地址
#VITE_API_URL = 'http://192.168.0.50:8008'
#张凤接口地址
-#VITE_API_URL = 'http://192.168.0.29:8008'
+VITE_API_URL = 'http://192.168.0.29:8008'
#黄振接口地址
#VITE_API_URL = 'http://192.168.0.179:8008'
diff --git "a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_11_26_\133Default_Changelist\135/shelved.patch" "b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_11_26_\133Default_Changelist\135/shelved.patch"
new file mode 100644
index 0000000..9eb85a7
--- /dev/null
+++ "b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_11_26_\133Default_Changelist\135/shelved.patch"
@@ -0,0 +1,579 @@
+Index: .env.development
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
+<+># 本地环境\r\nENV = 'development'\r\n\r\nVITE_API_URL = 'http://192.168.0.35:8008'\r\n#李宇飞接口地址\r\n\r\n#VITE_API_URL = 'http://192.168.0.50:8008'\r\n#张凤接口地址\r\n\r\n#VITE_API_URL = 'http://192.168.0.29:8008'\r\n#黄振接口地址\r\n\r\n#VITE_API_URL = 'http://192.168.0.179:8008'\r\n#施正红接口地址\r\n\r\n#VITE_API_URL = 'http://192.168.0.69:8008'\r\n#戚会山接口地址\r\n\r\n#VITE_API_URL = 'http://121.239.169.27:16006/safeplatform'\r\n#线上正式环境接口地址\r\n\r\n#VITE_API_URL_OUT = 'http://121.239.169.27:16006/safeplatform-out'\r\n#线上正式环境外包接口地址\r\n\r\n#VITE_API_URL = 'http://192.168.0.52:8011/safeplatform'\r\n#本地预发接口地址\r\n\r\n#VITE_API_URL_OUT = 'http://192.168.0.52:8011/safeplatform-out'\r\n#本地外包预发接口地址\r\n\r\n#VITE_API_URL = 'http://192.168.0.52:7021/safeplatform'\r\n#本地测试接口地址\r\n\r\n#VITE_API_URL_SOCKET = 'http://192.168.0.52:7021/safeplatform'\r\n#本地测试websocket接口地址\r\n\r\n#VITE_API_URL = 'http://192.168.0.29:7008'\r\n#黄振接口test地址\r\n\r\n#VITE_API_URL_SOCKET = 'http://192.168.0.29:16107'\r\n#黄振websocket test接口地址\r\n\r\n#VITE_API_URL_SOCKET = 'http://192.168.0.29:8018'\r\n#黄振websocket接口地址\r\n
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/.env.development b/.env.development
+--- a/.env.development (revision 624a145dcb9959e769fa635a4b9e2fe4758772ed)
++++ b/.env.development (date 1661216855739)
+@@ -1,13 +1,13 @@
+ # 本地环境
+ ENV = 'development'
+
+-VITE_API_URL = 'http://192.168.0.35:8008'
++#VITE_API_URL = 'http://192.168.0.35:8008'
+ #李宇飞接口地址
+
+ #VITE_API_URL = 'http://192.168.0.50:8008'
+ #张凤接口地址
+
+-#VITE_API_URL = 'http://192.168.0.29:8008'
++VITE_API_URL = 'http://192.168.0.29:8008'
+ #黄振接口地址
+
+ #VITE_API_URL = 'http://192.168.0.179:8008'
+Index: src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
+<+><template>\r\n <div class=\"home-container\">\r\n <div style=\"height: 100%\">\r\n <el-row class=\"homeCard\">\r\n <div class=\"basic-line\">\r\n <span>任务类型:</span>\r\n <el-select v-model=\"tableData.params.taskType\" clearable filterable class=\"input-box\" placeholder=\"任务类型\">\r\n <el-option v-for=\"item in workTypeList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <div class=\"basic-line\">\r\n <span>执行班组:</span>\r\n <el-select v-model=\"tableData.params.execClassgroupId\" clearable filterable class=\"input-box\" placeholder=\"执行班组\">\r\n <el-option v-for=\"item in classGroupList\" :key=\"item.id\" :label=\"item.groupName\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <div class=\"basic-line\">\r\n <span>任务状态:</span>\r\n <el-select v-model=\"tableData.params.taskStatus\" clearable filterable class=\"input-box\" placeholder=\"执行班组\">\r\n <el-option v-for=\"item in taskStatusList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <div style=\"padding-bottom: 10px\">\r\n <el-button type=\"primary\" @click=\"getInspectRecord\">查询</el-button>\r\n <el-button plain @click=\"reset\">重置</el-button>\r\n </div>\r\n </el-row>\r\n <div class=\"homeCard\">\r\n <div class=\"main-card\">\r\n <el-row class=\"cardTop\">\r\n <el-button type=\"primary\" :icon=\"Refresh\" size=\"default\" />\r\n </el-row>\r\n <el-table ref=\"multipleTableRef\" :data=\"tableData.inspectRecordData\" style=\"width: 100%\" height=\"calc(100% - 100px)\" :header-cell-style=\"{ background: '#fafafa' }\">\r\n <el-table-column property=\"taskName\" label=\"任务名称\" />\r\n <el-table-column property=\"taskType\" label=\"任务类型\">\r\n <template #default=\"scope\">\r\n <span>\r\n {{ parseNumber(scope.row.taskType, '任务类型') }}\r\n </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column property=\"execClassgroupId\" label=\"巡检班组\">\r\n <template #default=\"scope\">\r\n <span>\r\n {{ parseNumber(scope.row.execClassgroupId, '巡检班组') }}\r\n </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column property=\"frequency\" label=\"检查频次\">\r\n <template #default=\"scope\">\r\n <span>\r\n {{ scope.row.checkCycle }}\r\n </span>\r\n <span>\r\n {{ parseNumber(scope.row.checkCycleUnit, '检查频次') }}\r\n </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column property=\"startTime\" label=\"任务开始时间\" />\r\n <el-table-column prop=\"execUserName\" label=\"执行人\" show-overflow-tooltip></el-table-column>\r\n <el-table-column property=\"taskStatus\" label=\"任务状态\">\r\n <template #default=\"scope\">\r\n <el-tag :type=\"scope.row.taskStatus === 1 ? 'info' : scope.row.taskStatus === 2 ? '' : scope.row.taskStatus === 3 ? 'success' : 'danger'\">\r\n <span>\r\n {{ parseNumber(scope.row.taskStatus, '任务状态') }}\r\n </span>\r\n </el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column property=\"resultStatus\" label=\"巡检结果\">\r\n <template #default=\"scope\">\r\n <span>\r\n {{ parseNumber(scope.row.resultStatus, '巡检状态') }}\r\n </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column fixed=\"right\" label=\"操作\" align=\"center\" width=\"300\">\r\n <template #default=\"scope\">\r\n <el-button link type=\"primary\" size=\"small\" :icon=\"View\" @click=\"openInspectRecordDialog('查看', scope.row)\">查看</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"pageBtn\">\r\n <el-pagination @size-change=\"onHandleSizeChange\" @current-change=\"onHandleCurrentChange\" :pager-count=\"5\" :page-sizes=\"[10, 20, 30]\" v-model:current-page=\"tableData.params.pageIndex\" background v-model:page-size=\"tableData.params.pageSize\" layout=\"total, sizes, prev, pager, next, jumper\" :total=\"tableData.total\" class=\"page-position\"> </el-pagination>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <inspect-record-dialog ref=\"inspectRecordDialogRef\" @refreshInspectRecord=\"getInspectRecord\"></inspect-record-dialog>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { toRefs, reactive, ref, onMounted, nextTick } from 'vue';\r\nimport { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue';\r\nimport { ElTable, ElMessage } from 'element-plus';\r\nimport { inspectRecordApi } from '/@/api/intellectInspectSystem/inspectRecord';\r\nimport inspectRecordDialog from './components/inspectRecordDialog.vue';\r\nimport { departmentApi } from '/@/api/systemManage/department';\r\nimport { teamManageApi } from '/@/api/systemManage/personShiftManage/teamManage';\r\nimport { inspectPointApi } from '/@/api/intellectInspectSystem/inspectPointManage';\r\nimport { inspectTaskApi } from '/@/api/intellectInspectSystem/inspectTask';\r\nlet global: any = {\r\n homeChartOne: null,\r\n homeChartTwo: null,\r\n homeCharThree: null,\r\n dispose: [null, '', undefined]\r\n};\r\n\r\ninterface stateType {\r\n tableData: {\r\n inspectRecordData: [];\r\n total: number;\r\n loading: boolean;\r\n params: {\r\n pageIndex: number | null;\r\n pageSize: number | null;\r\n taskName: string | null;\r\n taskType: number | null;\r\n taskStatus: number | null;\r\n execUserId: number | null;\r\n execClassgroupId: number | null;\r\n execDepId: number | null;\r\n startTime: string | null;\r\n validTime: string | null;\r\n createUserId: number | null;\r\n reportTime: string | null;\r\n };\r\n };\r\n workTypeList: Array<type>;\r\n taskStatusList: Array<type>;\r\n quotaList: [];\r\n departmentList: [];\r\n classGroupList: Array<classGroup>;\r\n inspectPointAllList: [];\r\n timeType: Array<type>;\r\n resultStatusList: Array<type>;\r\n}\r\ninterface type {\r\n id: number;\r\n name: string;\r\n}\r\ninterface classGroup {\r\n id: number;\r\n groupName: string;\r\n}\r\nexport default {\r\n name: 'index',\r\n components: { inspectRecordDialog },\r\n setup() {\r\n const inspectRecordDialogRef = ref();\r\n const state = reactive<stateType>({\r\n tableData: {\r\n inspectRecordData: [],\r\n total: 0,\r\n loading: false,\r\n params: {\r\n pageIndex: 1,\r\n pageSize: 10,\r\n taskName: null,\r\n taskType: null,\r\n taskStatus: 2,\r\n execUserId: null,\r\n execClassgroupId: null,\r\n execDepId: null,\r\n startTime: null,\r\n validTime: null,\r\n createUserId: null,\r\n reportTime: null\r\n }\r\n },\r\n workTypeList: [\r\n { id: 1, name: '单次任务' },\r\n { id: 2, name: '周期任务' }\r\n ],\r\n resultStatusList: [\r\n { id: 0, name: '正常' },\r\n { id: 1, name: '存在异常' }\r\n ],\r\n taskStatusList: [\r\n { id: 1, name: '待巡检' },\r\n { id: 2, name: '巡检中' },\r\n { id: 3, name: '已巡检' },\r\n { id: 4, name: '超时未巡检' }\r\n ],\r\n quotaList: [],\r\n departmentList: [],\r\n classGroupList: [],\r\n inspectPointAllList: [],\r\n timeType: [\r\n { id: 1, name: '分' },\r\n { id: 2, name: '小时' },\r\n { id: 3, name: '日' },\r\n { id: 4, name: '月' },\r\n { id: 5, name: '年' }\r\n ]\r\n });\r\n\r\n //获取巡检记录数据\r\n const getInspectRecord = async () => {\r\n let res = await inspectRecordApi().getInspectRecordList(state.tableData.params);\r\n if (res.data.code === '200') {\r\n state.tableData.inspectRecordData = res.data.data.records;\r\n state.tableData.total = res.data.data.total;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取部门\r\n const getDepartmentData = async () => {\r\n let res = await departmentApi().getDepartmentList();\r\n if (res.data.code === '200') {\r\n state.departmentList = res.data.data;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取部门\r\n const getQuotaList = async () => {\r\n let res = await inspectTaskApi().getQuotaList();\r\n if (res.data.code === '200') {\r\n state.quotaList = res.data.data;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取巡检点\r\n const getInspectTaskPoint = async () => {\r\n let res = await inspectPointApi().getInspectPointAll();\r\n if (res.data.code === '200') {\r\n state.inspectPointAllList = res.data.data;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取班组\r\n const getClassGroupData = async () => {\r\n let res = await teamManageApi().getRecord({ depIp: null, groupName: null, containGroupMemberEnable: null });\r\n if (res.data.code === '200') {\r\n state.classGroupList = res.data.data;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n const openInspectRecordDialog = (type: string, value: {}) => {\r\n inspectRecordDialogRef.value.showInspectRecordDialog(type, value, state.workTypeList, state.departmentList, state.timeType, state.classGroupList, state.quotaList, state.inspectPointAllList);\r\n };\r\n\r\n const parseNumber = (value: number, type: string) => {\r\n if (type === '任务类型') {\r\n return state.workTypeList.find((item) => item.id === value)?.name;\r\n } else if (type === '检查频次') {\r\n return state.timeType.find((item) => item.id == value)?.name;\r\n } else if (type === '巡检状态') {\r\n return state.resultStatusList.find((item) => item.id == value)?.name;\r\n } else if (type === '任务状态') {\r\n return state.taskStatusList.find((item) => item.id == value)?.name;\r\n } else {\r\n return state.classGroupList.find((item) => item.id == value)?.groupName;\r\n }\r\n };\r\n\r\n // 分页改变\r\n const onHandleSizeChange = (val: number) => {\r\n state.tableData.params.pageSize = val;\r\n getInspectRecord();\r\n };\r\n // 分页改变\r\n const onHandleCurrentChange = (val: number) => {\r\n state.tableData.params.pageIndex = val;\r\n getInspectRecord();\r\n };\r\n\r\n const reset = () => {\r\n state.tableData.params = {\r\n pageIndex: 1,\r\n pageSize: 10,\r\n taskName: null,\r\n taskType: null,\r\n taskStatus: null,\r\n execUserId: null,\r\n execClassgroupId: null,\r\n execDepId: null,\r\n startTime: null,\r\n validTime: null,\r\n createUserId: null,\r\n reportTime: null\r\n };\r\n };\r\n\r\n // 页面加载时\r\n onMounted(() => {\r\n getInspectRecord();\r\n getQuotaList();\r\n getDepartmentData();\r\n getClassGroupData();\r\n getInspectTaskPoint();\r\n });\r\n\r\n return {\r\n View,\r\n Edit,\r\n Delete,\r\n Refresh,\r\n Plus,\r\n reset,\r\n parseNumber,\r\n getInspectRecord,\r\n onHandleSizeChange,\r\n onHandleCurrentChange,\r\n inspectRecordDialogRef,\r\n openInspectRecordDialog,\r\n ...toRefs(state)\r\n };\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n$homeNavLengh: 8;\r\n.home-container {\r\n height: calc(100vh - 144px);\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n .homeCard {\r\n width: 100%;\r\n padding: 20px;\r\n box-sizing: border-box;\r\n background: #fff;\r\n border-radius: 4px;\r\n\r\n .main-card {\r\n width: 100%;\r\n height: 100%;\r\n .cardTop {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n margin-bottom: 20px;\r\n .mainCardBtn {\r\n margin: 0;\r\n }\r\n }\r\n .pageBtn {\r\n height: 60px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: right;\r\n\r\n .demo-pagination-block + .demo-pagination-block {\r\n margin-top: 10px;\r\n }\r\n .demo-pagination-block .demonstration {\r\n margin-bottom: 16px;\r\n }\r\n }\r\n }\r\n &:last-of-type {\r\n height: calc(100% - 100px);\r\n }\r\n }\r\n .el-row {\r\n display: flex;\r\n align-items: center;\r\n margin-bottom: 20px;\r\n &:last-child {\r\n margin-bottom: 0;\r\n }\r\n .grid-content {\r\n align-items: center;\r\n min-height: 36px;\r\n }\r\n\r\n .topInfo {\r\n display: flex;\r\n align-items: center;\r\n font-size: 16px;\r\n font-weight: bold;\r\n\r\n & > div {\r\n white-space: nowrap;\r\n margin-right: 20px;\r\n }\r\n }\r\n }\r\n}\r\n.stepItem {\r\n width: 100%;\r\n display: flex;\r\n align-items: flex-start;\r\n margin-bottom: 30px;\r\n margin-left: 30px;\r\n padding-bottom: 30px;\r\n border-left: 2px solid #ccc;\r\n &:first-of-type {\r\n margin-top: 30px;\r\n }\r\n &:last-of-type {\r\n margin-bottom: 0;\r\n border-left: none;\r\n }\r\n .stepNum {\r\n width: 30px;\r\n height: 30px;\r\n border-radius: 15px;\r\n box-sizing: border-box;\r\n color: #333;\r\n border: 1px solid #999;\r\n line-height: 28px;\r\n text-align: center;\r\n margin-right: 10px;\r\n margin-left: -16px;\r\n margin-top: -30px;\r\n }\r\n .stepCard {\r\n width: 100%;\r\n margin-top: -30px;\r\n\r\n .box-card {\r\n width: 100%;\r\n &:deep(.el-card__header) {\r\n padding: 10px 15px;\r\n }\r\n .card-header {\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n & > div:first-of-type {\r\n margin-right: 80px;\r\n font-size: 18px;\r\n font-weight: bold;\r\n }\r\n }\r\n }\r\n }\r\n &:hover .card-header {\r\n color: #0098f5;\r\n }\r\n &:hover .stepNum {\r\n border: 2px solid #0098f5;\r\n color: #0098f5;\r\n }\r\n}\r\n.el-input {\r\n width: 100% !important;\r\n}\r\n:deep(.el-date-editor) {\r\n width: 100%;\r\n}\r\n.el-select {\r\n width: 100%;\r\n}\r\n:deep(.el-textarea.is-disabled .el-textarea__inner) {\r\n background-color: var(--el-card-bg-color);\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__inner) {\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__wrapper) {\r\n background-color: var(--el-card-bg-color);\r\n}\r\n</style>\r\n
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue b/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue
+--- a/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue (revision 624a145dcb9959e769fa635a4b9e2fe4758772ed)
++++ b/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue (date 1661218047847)
+@@ -170,8 +170,8 @@
+ }
+ },
+ workTypeList: [
+- { id: 1, name: '单次任务' },
+- { id: 2, name: '周期任务' }
++ { id: 1, name: '周期任务' },
++ { id: 2, name: '单次任务' }
+ ],
+ resultStatusList: [
+ { id: 0, name: '正常' },
+Index: src/views/intellectInspect/inspectTaskManage/inspectTask/index.vue
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
+<+><template>\r\n <div class=\"home-container\">\r\n <div style=\"height: 100%\">\r\n <el-row class=\"homeCard\">\r\n <div class=\"basic-line\">\r\n <span>任务类型:</span>\r\n <el-select v-model=\"tableData.params.workType\" clearable filterable class=\"input-box\" placeholder=\"任务类型\">\r\n <el-option v-for=\"item in workTypeList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <div class=\"basic-line\">\r\n <span>执行班组:</span>\r\n <el-select v-model=\"tableData.params.execClassgroupId\" clearable filterable class=\"input-box\" placeholder=\"执行班组\">\r\n <el-option v-for=\"item in classGroupList\" :key=\"item.id\" :label=\"item.groupName\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <div style=\"padding-bottom: 10px\">\r\n <el-button type=\"primary\" @click=\"getInspectionTask\">查询</el-button>\r\n <el-button plain @click=\"reset\">重置</el-button>\r\n </div>\r\n </el-row>\r\n <div class=\"homeCard\">\r\n <div class=\"main-card\">\r\n <el-row class=\"cardTop\">\r\n <el-col :span=\"12\" class=\"mainCardBtn\">\r\n <el-button type=\"primary\" :icon=\"Plus\" size=\"default\" @click=\"openInspectTaskDialog('新增', {})\">新建</el-button>\r\n <!-- <el-button type=\"danger\" :icon=\"Delete\" size=\"default\" plain>删除</el-button>-->\r\n </el-col>\r\n <el-button type=\"primary\" :icon=\"Refresh\" size=\"default\" />\r\n </el-row>\r\n <el-table ref=\"multipleTableRef\" :data=\"tableData.inspectTaskData\" style=\"width: 100%\" height=\"calc(100% - 100px)\" :header-cell-style=\"{ background: '#fafafa' }\" @selection-change=\"handleSelectionChange\">\r\n <el-table-column type=\"selection\" width=\"55\" />\r\n <el-table-column property=\"unitName\" label=\"任务名称\" />\r\n <el-table-column property=\"workType\" label=\"任务类型\">\r\n <template #default=\"scope\">\r\n <span>\r\n {{ parseNumber(scope.row.workType, '任务类型') }}\r\n </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column property=\"execClassgroupId\" label=\"巡检班组\">\r\n <template #default=\"scope\">\r\n <span>\r\n {{ parseNumber(scope.row.execClassgroupId, '巡检班组') }}\r\n </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column property=\"frequency\" label=\"检查频次\">\r\n <template #default=\"scope\">\r\n <span>\r\n {{ scope.row.checkCycle }}\r\n </span>\r\n <span>\r\n {{ scope.row.checkCycleUnit }}\r\n </span>\r\n </template>\r\n </el-table-column>\r\n <!-- <el-table-column prop=\"validTime\" label=\"有效时间\" show-overflow-tooltip>-->\r\n <!-- <template #default=\"scope\">-->\r\n <!-- <span>-->\r\n <!-- {{ scope.row.validTime }}-->\r\n <!-- </span>-->\r\n <!-- <span>-->\r\n <!-- {{ parseNumber(scope.row.validTimeUnit, '检查频次') }}-->\r\n <!-- </span>-->\r\n <!-- </template>-->\r\n <!-- </el-table-column>-->\r\n <!-- <el-table-column prop=\"validTime\" label=\"提醒时间\" show-overflow-tooltip>-->\r\n <!-- <template #default=\"scope\">-->\r\n <!-- <span>-->\r\n <!-- {{ scope.row.noticeTime }}-->\r\n <!-- </span>-->\r\n <!-- <span>-->\r\n <!-- {{ parseNumber(scope.row.noticeTimeUnit, '检查频次') }}-->\r\n <!-- </span>-->\r\n <!-- </template>-->\r\n <!-- </el-table-column>-->\r\n <el-table-column property=\"firstStartTime\" label=\"任务开始时间\" />\r\n <el-table-column prop=\"createUserName\" label=\"创建人\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"gmtCreate\" label=\"创建时间\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"lastEditUserName\" label=\"最后修改人\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"gmtModitify\" label=\"最后修改时间\" show-overflow-tooltip></el-table-column>\r\n <el-table-column property=\"status\" label=\"状态\" width=\"60\" />\r\n <el-table-column fixed=\"right\" label=\"操作\" align=\"center\" width=\"300\">\r\n <template #default=\"scope\">\r\n <el-button link type=\"primary\" size=\"small\" :icon=\"View\" @click=\"openInspectTaskDialog('查看', scope.row)\">查看</el-button>\r\n <el-button link type=\"primary\" size=\"small\" :icon=\"Edit\" @click=\"openInspectTaskDialog('修改', scope.row)\">修改</el-button>\r\n <el-button link type=\"danger\" size=\"small\" :icon=\"Delete\" v-if=\"scope.row.taskUnitStatus === 2\" @click=\"deleteInspectTask(scope.row)\">删除</el-button>\r\n <div @click=\"changeStatus(scope.row)\">\r\n <el-switch v-model=\"scope.row.taskUnitStatus\" inline-prompt active-text=\"开\" inactive-text=\"关\" :active-value=\"1\" :inactive-value=\"2\" style=\"margin: 0 10px\" />\r\n </div>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"pageBtn\">\r\n <el-pagination @size-change=\"onHandleSizeChange\" @current-change=\"onHandleCurrentChange\" :pager-count=\"5\" :page-sizes=\"[10, 20, 30]\" v-model:current-page=\"tableData.params.pageIndex\" background v-model:page-size=\"tableData.params.pageSize\" layout=\"total, sizes, prev, pager, next, jumper\" :total=\"tableData.total\" class=\"page-position\"> </el-pagination>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <inspect-task-dialog ref=\"inspectTaskDialogRef\" @refreshInspectTask=\"getInspectionTask\"></inspect-task-dialog>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { toRefs, reactive, ref, onMounted } from 'vue';\r\nimport { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue';\r\nimport { ElTable, ElMessage, ElMessageBox } from 'element-plus';\r\nimport { inspectTaskApi } from '/@/api/intellectInspectSystem/inspectTask';\r\nimport inspectTaskDialog from './components/inspectTaskDialog.vue';\r\nimport { departmentApi } from '/@/api/systemManage/department';\r\nimport { teamManageApi } from '/@/api/systemManage/personShiftManage/teamManage';\r\nimport { inspectPointApi } from '/@/api/intellectInspectSystem/inspectPointManage';\r\nimport { facilityAreaApi } from '/@/api/intellectInspectSystem/facilityAreaManage';\r\nimport { RFIDApi } from '/@/api/intellectInspectSystem/RFID';\r\nlet global: any = {\r\n homeChartOne: null,\r\n homeChartTwo: null,\r\n homeCharThree: null,\r\n dispose: [null, '', undefined]\r\n};\r\n\r\ninterface stateType {\r\n tableData: {\r\n inspectTaskData: [];\r\n total: number;\r\n loading: boolean;\r\n params: {\r\n pageIndex: number | null;\r\n pageSize: number | null;\r\n unitName: string | null;\r\n workType: number | null;\r\n createUserId: number | null;\r\n execClassgroupId: number | null;\r\n checkCycle: number | null;\r\n checkCycleUnit: number | null;\r\n };\r\n };\r\n workTypeList: Array<type>;\r\n quotaList: [];\r\n departmentList: [];\r\n classGroupList: Array<classGroup>;\r\n inspectPointAllList: [];\r\n regionNameList: [];\r\n RFIDList: [];\r\n timeType: Array<type>;\r\n}\r\ninterface type {\r\n id: number;\r\n name: string;\r\n}\r\ninterface classGroup {\r\n id: number;\r\n groupName: string;\r\n}\r\nexport default {\r\n name: 'index',\r\n components: { inspectTaskDialog },\r\n setup() {\r\n const inspectTaskDialogRef = ref();\r\n const state = reactive<stateType>({\r\n tableData: {\r\n inspectTaskData: [],\r\n total: 0,\r\n loading: false,\r\n params: {\r\n pageIndex: 1,\r\n pageSize: 10,\r\n unitName: null,\r\n workType: null,\r\n createUserId: null,\r\n execClassgroupId: null,\r\n checkCycle: null,\r\n checkCycleUnit: null\r\n }\r\n },\r\n workTypeList: [\r\n { id: 1, name: '单次任务' },\r\n { id: 2, name: '周期任务' }\r\n ],\r\n quotaList: [],\r\n departmentList: [],\r\n classGroupList: [],\r\n inspectPointAllList: [],\r\n regionNameList: [],\r\n RFIDList: [],\r\n timeType: [\r\n { id: 1, name: '分' },\r\n { id: 2, name: '小时' },\r\n { id: 3, name: '日' },\r\n { id: 4, name: '月' },\r\n { id: 5, name: '年' }\r\n ]\r\n });\r\n\r\n //获取巡检任务数据\r\n const getInspectionTask = async () => {\r\n let res = await inspectTaskApi().getInspectTaskList(state.tableData.params);\r\n if (res.data.code === '200') {\r\n state.tableData.inspectTaskData = res.data.data.records;\r\n state.tableData.total = res.data.data.total;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取部门\r\n const getDepartmentData = async () => {\r\n let res = await departmentApi().getDepartmentList();\r\n if (res.data.code === '200') {\r\n state.departmentList = res.data.data;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取部门\r\n const getQuotaList = async () => {\r\n let res = await inspectTaskApi().getQuotaList();\r\n if (res.data.code === '200') {\r\n state.quotaList = res.data.data;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取巡检点\r\n const getInspectTaskPoint = async () => {\r\n let res = await inspectPointApi().getInspectPointAll();\r\n if (res.data.code === '200') {\r\n state.inspectPointAllList = res.data.data;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取所有设施区域名称\r\n const initFacilityAreaType = async () => {\r\n let res = await facilityAreaApi().getAllFacilityAreaList();\r\n if (res.data.code === '200') {\r\n state.regionNameList = JSON.parse(JSON.stringify(res.data.data));\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取所有RFID名称\r\n const initRFIDList = async () => {\r\n let res = await RFIDApi().getAllRFIDList();\r\n if (res.data.code === '200') {\r\n state.RFIDList = JSON.parse(JSON.stringify(res.data.data));\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n //获取班组\r\n const getClassGroupData = async () => {\r\n let res = await teamManageApi().getRecord({ depIp: null, groupName: null, containGroupMemberEnable: null });\r\n if (res.data.code === '200') {\r\n state.classGroupList = res.data.data;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n const changeStatus = async (value: { taskUnitStatus: number; id: number }) => {\r\n if (value.taskUnitStatus === 2) {\r\n ElMessageBox.confirm(`此操作将关闭该巡检任务”,是否继续?`, '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n })\r\n .then(async () => {\r\n let res = await inspectTaskApi().openOrCloseInspectTask({ id: value.id, taskUnitStatus: 2 });\r\n if (res.data.code === '200') {\r\n await getInspectionTask();\r\n ElMessage({\r\n type: 'success',\r\n duration: 2000,\r\n message: '关闭成功'\r\n });\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n })\r\n .catch((error) => {});\r\n } else {\r\n ElMessageBox.confirm(`此操作将开启该巡检任务”,是否继续?`, '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n })\r\n .then(async () => {\r\n let res = await inspectTaskApi().openOrCloseInspectTask({ id: value.id, taskUnitStatus: 1 });\r\n if (res.data.code === '200') {\r\n await getInspectionTask();\r\n ElMessage({\r\n type: 'success',\r\n duration: 2000,\r\n message: '开启成功'\r\n });\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n })\r\n .catch((error) => {});\r\n }\r\n await getInspectionTask();\r\n };\r\n\r\n // 删除\r\n const deleteInspectTask = (row: any) => {\r\n ElMessageBox.confirm(`此操作将永久删除该任务:“${row.unitName}”,是否继续?`, '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n })\r\n .then(async () => {\r\n let res = await inspectTaskApi().deleteInspectTask({ id: row.id });\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n duration: 2000,\r\n message: '删除成功'\r\n });\r\n await getInspectionTask();\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n })\r\n .catch(() => {});\r\n };\r\n\r\n const openInspectTaskDialog = (type: string, value: {}) => {\r\n inspectTaskDialogRef.value.showInspectTaskDialog(type, value, state.workTypeList, state.departmentList, state.timeType, state.classGroupList, state.quotaList, state.inspectPointAllList, state.regionNameList, state.RFIDList);\r\n };\r\n\r\n const parseNumber = (value: number, type: string) => {\r\n if (type === '任务类型') {\r\n return state.workTypeList.find((item) => item.id === value)?.name;\r\n } else if (type === '检查频次') {\r\n return state.timeType.find((item) => item.id == value)?.name;\r\n } else {\r\n return state.classGroupList.find((item) => item.id == value)?.groupName;\r\n }\r\n };\r\n\r\n // 分页改变\r\n const onHandleSizeChange = (val: number) => {\r\n state.tableData.params.pageSize = val;\r\n getInspectionTask();\r\n };\r\n // 分页改变\r\n const onHandleCurrentChange = (val: number) => {\r\n state.tableData.params.pageIndex = val;\r\n getInspectionTask();\r\n };\r\n\r\n const reset = () => {\r\n state.tableData.params = {\r\n pageIndex: 1,\r\n pageSize: 10,\r\n unitName: null,\r\n workType: null,\r\n createUserId: null,\r\n execClassgroupId: null,\r\n checkCycle: null,\r\n checkCycleUnit: null\r\n };\r\n };\r\n\r\n // 页面加载时\r\n onMounted(() => {\r\n getInspectionTask();\r\n getQuotaList();\r\n getDepartmentData();\r\n getClassGroupData();\r\n getInspectTaskPoint();\r\n initFacilityAreaType();\r\n initRFIDList();\r\n });\r\n\r\n return {\r\n View,\r\n Edit,\r\n Delete,\r\n Refresh,\r\n Plus,\r\n reset,\r\n changeStatus,\r\n parseNumber,\r\n deleteInspectTask,\r\n getInspectionTask,\r\n onHandleSizeChange,\r\n onHandleCurrentChange,\r\n inspectTaskDialogRef,\r\n openInspectTaskDialog,\r\n ...toRefs(state)\r\n };\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n$homeNavLengh: 8;\r\n.home-container {\r\n height: calc(100vh - 144px);\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n .homeCard {\r\n width: 100%;\r\n padding: 20px;\r\n box-sizing: border-box;\r\n background: #fff;\r\n border-radius: 4px;\r\n\r\n .main-card {\r\n width: 100%;\r\n height: 100%;\r\n .cardTop {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n margin-bottom: 20px;\r\n .mainCardBtn {\r\n margin: 0;\r\n }\r\n }\r\n .pageBtn {\r\n height: 60px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: right;\r\n\r\n .demo-pagination-block + .demo-pagination-block {\r\n margin-top: 10px;\r\n }\r\n .demo-pagination-block .demonstration {\r\n margin-bottom: 16px;\r\n }\r\n }\r\n }\r\n &:last-of-type {\r\n height: calc(100% - 100px);\r\n }\r\n }\r\n .el-row {\r\n display: flex;\r\n align-items: center;\r\n margin-bottom: 20px;\r\n &:last-child {\r\n margin-bottom: 0;\r\n }\r\n .grid-content {\r\n align-items: center;\r\n min-height: 36px;\r\n }\r\n\r\n .topInfo {\r\n display: flex;\r\n align-items: center;\r\n font-size: 16px;\r\n font-weight: bold;\r\n\r\n & > div {\r\n white-space: nowrap;\r\n margin-right: 20px;\r\n }\r\n }\r\n }\r\n}\r\n.stepItem {\r\n width: 100%;\r\n display: flex;\r\n align-items: flex-start;\r\n margin-bottom: 30px;\r\n margin-left: 30px;\r\n padding-bottom: 30px;\r\n border-left: 2px solid #ccc;\r\n &:first-of-type {\r\n margin-top: 30px;\r\n }\r\n &:last-of-type {\r\n margin-bottom: 0;\r\n border-left: none;\r\n }\r\n .stepNum {\r\n width: 30px;\r\n height: 30px;\r\n border-radius: 15px;\r\n box-sizing: border-box;\r\n color: #333;\r\n border: 1px solid #999;\r\n line-height: 28px;\r\n text-align: center;\r\n margin-right: 10px;\r\n margin-left: -16px;\r\n margin-top: -30px;\r\n }\r\n .stepCard {\r\n width: 100%;\r\n margin-top: -30px;\r\n\r\n .box-card {\r\n width: 100%;\r\n &:deep(.el-card__header) {\r\n padding: 10px 15px;\r\n }\r\n .card-header {\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n & > div:first-of-type {\r\n margin-right: 80px;\r\n font-size: 18px;\r\n font-weight: bold;\r\n }\r\n }\r\n }\r\n }\r\n &:hover .card-header {\r\n color: #0098f5;\r\n }\r\n &:hover .stepNum {\r\n border: 2px solid #0098f5;\r\n color: #0098f5;\r\n }\r\n}\r\n.el-input {\r\n width: 100% !important;\r\n}\r\n:deep(.el-date-editor) {\r\n width: 100%;\r\n}\r\n.el-select {\r\n width: 100%;\r\n}\r\n:deep(.el-textarea.is-disabled .el-textarea__inner) {\r\n background-color: var(--el-card-bg-color);\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__inner) {\r\n color: var(--el-input-text-color, var(--el-text-color-regular));\r\n}\r\n:deep(.el-input.is-disabled .el-input__wrapper) {\r\n background-color: var(--el-card-bg-color);\r\n}\r\n</style>\r\n
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/src/views/intellectInspect/inspectTaskManage/inspectTask/index.vue b/src/views/intellectInspect/inspectTaskManage/inspectTask/index.vue
+--- a/src/views/intellectInspect/inspectTaskManage/inspectTask/index.vue (revision 624a145dcb9959e769fa635a4b9e2fe4758772ed)
++++ b/src/views/intellectInspect/inspectTaskManage/inspectTask/index.vue (date 1661217995642)
+@@ -80,7 +80,22 @@
+ <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip></el-table-column>
+- <el-table-column property="status" label="状态" width="60" />
++ <el-table-column property="taskUnitStatus" label="状态" width="60">
++ <template #default="scope">
++ <div>
++ <div v-if="scope.row.taskUnitStatus === 1">
++ <el-tag :type="''">
++ {{ '开启' }}
++ </el-tag>
++ </div>
++ <div v-if="scope.row.taskUnitStatus === 2">
++ <el-tag :type="'danger'">
++ {{ '关闭' }}
++ </el-tag>
++ </div>
++ </div>
++ </template>
++ </el-table-column>
+ <el-table-column fixed="right" label="操作" align="center" width="300">
+ <template #default="scope">
+ <el-button link type="primary" size="small" :icon="View" @click="openInspectTaskDialog('查看', scope.row)">查看</el-button>
+@@ -175,8 +190,8 @@
+ }
+ },
+ workTypeList: [
+- { id: 1, name: '单次任务' },
+- { id: 2, name: '周期任务' }
++ { id: 1, name: '周期任务' },
++ { id: 2, name: '单次任务' }
+ ],
+ quotaList: [],
+ departmentList: [],
+Index: src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
+<+><template>\r\n <div class=\"system-add-menu-container\">\r\n <el-dialog v-model=\"ifShowInspectTaskDialog\" :title=\"title\" :close-on-click-modal=\"false\">\r\n <el-form :model=\"inspectTaskForm\" label-width=\"120px\" ref=\"inspectTaskFormRef\" :rules=\"inspectTaskFormRules\">\r\n <el-row>\r\n <el-col :span=\"12\" style=\"margin-bottom: 20px\">\r\n <el-form-item label=\"任务名称\" prop=\"unitName\">\r\n <el-input v-model=\"inspectTaskForm.unitName\" :disabled=\"!inspectPointConfirm\" class=\"input-add\" placeholder=\"请填写任务名称\"> </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\" style=\"margin-bottom: 20px\">\r\n <el-form-item label=\"任务类型\" prop=\"workType\">\r\n <el-select v-model=\"inspectTaskForm.workType\" :disabled=\"!inspectPointConfirm\" class=\"input-add\" placeholder=\"请选择任务类型\">\r\n <el-option v-for=\"item in workTypeList\" :key=\"item.id\" :value=\"item.id\" :label=\"item.name\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\" style=\"margin-bottom: 20px\">\r\n <el-form-item label=\"巡检部门\" prop=\"execDepId\">\r\n <el-cascader @change=\"giveClassGroup\" :disabled=\"!inspectPointConfirm\" v placeholder=\"请选择巡检部门\" :options=\"departmentList\" :props=\"{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }\" clearable filterable class=\"input-add\" v-model=\"inspectTaskForm.execDepId\"> </el-cascader>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\" style=\"margin-bottom: 20px\">\r\n <el-form-item label=\"巡检班组\" prop=\"execClassgroupId\">\r\n <el-select v-model=\"inspectTaskForm.execClassgroupId\" :disabled=\"!inspectPointConfirm\" placeholder=\"请选择巡检班组\" class=\"input-add\">\r\n <el-option v-for=\"item in classGroup\" :key=\"item.id\" :value=\"item.id\" :label=\"item.groupName\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\" style=\"margin-bottom: 20px\" v-if=\"inspectTaskForm.workType === 2\">\r\n <el-form-item label=\"巡检周期\" prop=\"checkCycle\">\r\n <el-input v-model=\"inspectTaskForm.checkCycle\" @input=\"onVerifiyNumberInteger($event, 'checkCycle')\" :disabled=\"!inspectPointConfirm\" placeholder=\"请输入巡检周期\" class=\"input-add\">\r\n <template #append>\r\n <el-form-item prop=\"checkCycleUnit\">\r\n <el-select v-model=\"inspectTaskForm.checkCycleUnit\" :disabled=\"!inspectPointConfirm\" placeholder=\"选择单位\">\r\n <el-option v-for=\"item in timeList\" :key=\"item.id\" :value=\"item.id\" :label=\"item.name\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\" style=\"margin-bottom: 20px\">\r\n <el-form-item label=\"提前通知时间\" prop=\"noticeTime\">\r\n <el-input @input=\"onVerifiyNumberInteger($event, 'noticeTime')\" v-model=\"inspectTaskForm.noticeTime\" :disabled=\"!inspectPointConfirm\" placeholder=\"请输入提前通知时间\" class=\"input-add\">\r\n <template #append>\r\n <el-form-item prop=\"noticeTimeUnit\">\r\n <el-select v-model=\"inspectTaskForm.noticeTimeUnit\" :disabled=\"!inspectPointConfirm\" placeholder=\"选择单位\">\r\n <el-option v-for=\"item in timeList\" :key=\"item.id\" :value=\"item.id\" :label=\"item.name\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\" style=\"margin-bottom: 20px\">\r\n <el-form-item label=\"有效时间\" prop=\"validTime\">\r\n <el-input v-model=\"inspectTaskForm.validTime\" @input=\"onVerifiyNumberInteger($event, 'validTime')\" :disabled=\"!inspectPointConfirm\" placeholder=\"请输入有效时间\" class=\"input-add\">\r\n <template #append>\r\n <el-form-item prop=\"noticeTimeUnit\">\r\n <el-select v-model=\"inspectTaskForm.validTimeUnit\" :disabled=\"!inspectPointConfirm\" placeholder=\"选择单位\">\r\n <el-option v-for=\"item in timeList\" :key=\"item.id\" :value=\"item.id\" :label=\"item.name\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\" style=\"margin-bottom: 20px\">\r\n <el-form-item label=\"任务开始时间\" prop=\"firstStartTime\">\r\n <el-date-picker v-model=\"inspectTaskForm.firstStartTime\" :disabled=\"!inspectPointConfirm\" placeholder=\"请选择任务开始时间\" type=\"datetime\" format=\"YYYY/MM/DD HH:mm:ss\" value-format=\"YYYY-MM-DD HH:mm:ss\" class=\"input-add\" />\r\n </el-form-item>\r\n </el-col>\r\n\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"创建巡检链\">\r\n <div style=\"width: 100%; margin-bottom: 20px\" v-show=\"inspectPointConfirm\">\r\n <el-button type=\"primary\" :icon=\"Plus\" size=\"default\" @click=\"openInspectPointDialog('新增', '')\">新增巡检点</el-button>\r\n </div>\r\n <div style=\"width: 100%; margin-left: -30px\">\r\n <div v-for=\"(item, index) in inspectTaskForm.points\" class=\"stepItem\">\r\n <div class=\"stepNum\">{{ index + 1 }}</div>\r\n <div class=\"stepCard\">\r\n <el-card class=\"box-card\">\r\n <template #header>\r\n <div class=\"card-header\" v-for=\"i in inspectPointAllList\">\r\n <div v-if=\"i.id == item.pointId\">\r\n <span>{{ i.code }}</span>\r\n </div>\r\n </div>\r\n </template>\r\n <div class=\"text item\" v-for=\"i in regionNameList\">\r\n <div v-if=\"i.id == item.regionId\">\r\n 所属设备区域:<span>{{ i.region }}</span>\r\n </div>\r\n </div>\r\n <!-- <div class=\"text item\">-->\r\n <!-- 所属设备区域:<span>{{ item.regionId }}</span>-->\r\n <!-- </div>-->\r\n <div class=\"text item\" v-for=\"i in RFIDList\">\r\n <div v-if=\"i.id == item.rfidId\">\r\n 所属设备区域:<span>{{ i.rfidName }}</span>\r\n </div>\r\n </div>\r\n <!-- <div class=\"text item\">-->\r\n <!-- 关联RFID:<span>{{ item.rfidId }}</span>-->\r\n <!-- </div>-->\r\n <div class=\"text item\" v-for=\"i in quotaList\">\r\n <div v-if=\"i.id == item.quotaId\">\r\n 所属设备区域:<span>{{ i.type }}</span>\r\n </div>\r\n </div>\r\n <!-- <div class=\"text item\">-->\r\n <!-- 巡检指标:<span>{{ item.quotaId }}</span>-->\r\n <!-- </div>-->\r\n <div class=\"text item\" v-for=\"i in dataReportTypeList\">\r\n <div v-if=\"i.id == item.dataReportType\">\r\n 所属设备区域:<span>{{ i.name }}</span>\r\n </div>\r\n </div>\r\n <!-- <div class=\"text item\">-->\r\n <!-- 数据填报类型:<span>{{ item.dataReportType }}</span>-->\r\n <!-- </div>-->\r\n <div class=\"text item\">\r\n 数据参考值:<span>{{ item.firstReferenceValue ? item.firstReferenceValue : item.secondReferenceValue ? item.secondReferenceValue : item.thirdReferenceValue }}</span>\r\n </div>\r\n </el-card>\r\n </div>\r\n <div v-show=\"inspectPointConfirm\">\r\n <!--\t\t\t\t\t\t\t\t<el-button type=\"primary\" size=\"default\" @click=\"addFlow(index)\">新增下一区域</el-button>-->\r\n <el-button type=\"primary\" style=\"margin-left: 12px\" size=\"default\" @click=\"openInspectPointDialog('修改', item)\">修改</el-button>\r\n <el-button type=\"danger\" size=\"default\" @click=\"deleteFlow(index, item)\">删除</el-button>\r\n </div>\r\n </div>\r\n </div>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n <div v-if=\"inspectPointConfirm\" class=\"dialog-footer\">\r\n <el-button type=\"warning\" @click=\"ifShowInspectTaskDialog = false\" size=\"default\" plain>取消</el-button>\r\n <el-button type=\"primary\" @click=\"submitInspectTask()\" size=\"default\">确认</el-button>\r\n </div>\r\n </template>\r\n </el-dialog>\r\n <el-dialog v-model=\"inspectPointDialog\" :title=\"pointTitle\" :close-on-click-modal=\"false\">\r\n <el-form :model=\"inspectPointForm\" label-width=\"150px\" ref=\"inspectPointFormRef\" :rules=\"inspectPointFormRules\">\r\n <el-form-item label=\"选择巡检点\" prop=\"pointId\">\r\n <el-select v-model=\"inspectPointForm.pointId\" @change=\"giveRegionAndRFID\" class=\"input-add\">\r\n <el-option v-for=\"item in inspectPointAllList\" :key=\"item.id\" :value=\"item.id\" :label=\"item.code\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label=\"所属设备区域\" prop=\"regionId\">\r\n <el-input v-model=\"inspectPointForm.regionId\" class=\"input-add\" readonly />\r\n </el-form-item>\r\n <el-form-item label=\"关联RFID\" prop=\"rfidId\">\r\n <el-input v-model=\"inspectPointForm.rfidId\" class=\"input-add\" readonly />\r\n </el-form-item>\r\n <el-form-item label=\"选择巡检指标\" prop=\"quotaId\">\r\n <el-select v-model=\"inspectPointForm.quotaId\" @change=\"giveQuotaUnit\" placeholder=\"请选择巡检指标\" class=\"input-add\">\r\n <el-option v-for=\"item in quotaList\" :key=\"item.id\" :value=\"item.id\" :label=\"item.type\"> </el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label=\"选择巡检指标单位\" prop=\"quotaUnit\">\r\n <el-input v-model=\"inspectPointForm.quotaUnit\" placeholder=\"单位\" class=\"input-add\"> </el-input>\r\n </el-form-item>\r\n <el-form-item label=\"数据填报类型\" prop=\"dataReportType\">\r\n <el-select v-model=\"inspectPointForm.dataReportType\" class=\"input-add\">\r\n <el-option v-for=\"item in dataReportTypeList\" :key=\"item.id\" :value=\"item.id\" :label=\"item.name\"> </el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item v-if=\"inspectPointForm.dataReportType == '1' || inspectPointForm.dataReportType == '3'\" label=\"数据参考值\" prop=\"firstReferenceValue\">\r\n <el-select v-model=\"inspectPointForm.firstReferenceValue\" class=\"input-add\">\r\n <el-option v-for=\"item in firstReferenceValueList\" :key=\"item.id\" :value=\"item.id\" :label=\"item.name\"> </el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item v-if=\"inspectPointForm.dataReportType == '2' || inspectPointForm.dataReportType == '3'\" label=\"数据参考值\">\r\n <el-input v-model=\"inspectPointForm.secondReferenceValue\" type=\"number\" class=\"input-add\" placeholder=\"请根据需求选择前方符号后再填写参考值,非必填\">\r\n <template #prepend>\r\n <el-select v-model=\"inspectPointForm.secondReferenceSign\" placeholder=\"Select\" style=\"width: 115px\">\r\n <el-option v-for=\"item in secondReferenceSignList\" :key=\"item.id\" :value=\"item.id\" :label=\"item.name\"> </el-option>\r\n </el-select>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n <el-form-item v-if=\"inspectPointForm.dataReportType == '2' || inspectPointForm.dataReportType == '3'\" label=\"\">\r\n <el-input v-model=\"inspectPointForm.thirdReferenceValue\" type=\"number\" class=\"input-add\" placeholder=\"请根据需求选择前方符号后再填写参考值,非必填\">\r\n <template #prepend>\r\n <el-select v-model=\"inspectPointForm.thirdReferenceSign\" placeholder=\"Select\" style=\"width: 115px\">\r\n <el-option v-for=\"item in thirdReferenceSignList\" :key=\"item.id\" :value=\"item.id\" :label=\"item.name\"> </el-option>\r\n </el-select>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n <div align=\"right\">\r\n <el-button type=\"warning\" @click=\"inspectPointDialog = false\" size=\"default\" plain>取消</el-button>\r\n <el-button type=\"primary\" @click=\"submitInspectPoint()\" size=\"default\">确认</el-button>\r\n </div>\r\n </el-form>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, toRefs, ref } from 'vue';\r\nimport { ElMessage } from 'element-plus/es';\r\nimport { inspectTaskApi } from '/@/api/intellectInspectSystem/inspectTask';\r\nimport { verifiyNumberInteger } from '/@/utils/toolsValidate';\r\n\r\ninterface dataState {\r\n title: string;\r\n pointTitle: string;\r\n inspectPointConfirm: boolean;\r\n inspectPointDialog: boolean;\r\n ifShowInspectTaskDialog: boolean;\r\n inspectPointForm: inspectPointForm;\r\n inspectTaskForm: {\r\n id: number | null;\r\n uuid: number | null;\r\n unitName: number | null;\r\n taskUnitStatus: number | null;\r\n workType: number | null;\r\n execClassgroupId: number | null;\r\n execDepId: number | null;\r\n checkCycle: number | null;\r\n checkCycleUnit: number | null;\r\n noticeTime: number | null;\r\n noticeTimeUnit: number | null;\r\n validTime: number | null;\r\n validTimeUnit: number | null;\r\n firstStartTime: number | null;\r\n points: Array<inspectPointForm>;\r\n };\r\n inspectTaskFormRules: {};\r\n inspectPointFormRules: {};\r\n workTypeList: [];\r\n departmentList: [];\r\n timeList: [];\r\n dataReportTypeList: Array<dataReport>;\r\n firstReferenceValueList: Array<dataReport>;\r\n secondReferenceSignList: Array<dataReport>;\r\n thirdReferenceSignList: Array<dataReport>;\r\n classGroupList: Array<classGroup>;\r\n classGroup: Array<classGroup>;\r\n quotaList: Array<quota>;\r\n inspectPointAllList: Array<inspectPointAllState>;\r\n regionNameList: Array<inspectPointAllState>;\r\n RFIDList: Array<inspectPointAllState>;\r\n}\r\ninterface inspectPointAllState {\r\n id: number;\r\n code: string;\r\n regionId: number;\r\n rfidId: number;\r\n rfidName: string;\r\n region: string;\r\n}\r\ninterface classGroup {\r\n depId: number;\r\n}\r\ninterface dataReport {\r\n id: number;\r\n name: string;\r\n}\r\ninterface quota {\r\n id: number;\r\n type: string;\r\n unit: string;\r\n}\r\ninterface inspectPointForm {\r\n id: number | null;\r\n unitId: number | null;\r\n unitUuid: string | null;\r\n pointId: number | null;\r\n pointUuid: string | null;\r\n regionId: number | null;\r\n regionUuid: string | null;\r\n rfidId: number | null;\r\n quotaId: number | null;\r\n quotaUnit: string | null;\r\n execSequence: number | null;\r\n dataReportType: number | null;\r\n firstReferenceValue: number | null;\r\n secondReferenceSign: number | null;\r\n secondReferenceValue: number | null;\r\n thirdReferenceSign: number | null;\r\n thirdReferenceValue: number | null;\r\n}\r\nexport default {\r\n name: 'inspectTaskDialog',\r\n setup(props: any, context: any) {\r\n const inspectTaskFormRef = ref();\r\n const inspectPointFormRef = ref();\r\n const data = reactive<dataState>({\r\n title: '',\r\n pointTitle: '',\r\n inspectPointConfirm: false,\r\n inspectPointDialog: false,\r\n ifShowInspectTaskDialog: false,\r\n inspectPointForm: {\r\n id: null,\r\n unitId: null,\r\n unitUuid: null,\r\n pointId: null,\r\n pointUuid: null,\r\n regionId: null,\r\n regionUuid: null,\r\n rfidId: null,\r\n quotaId: null,\r\n quotaUnit: null,\r\n execSequence: null,\r\n dataReportType: null,\r\n firstReferenceValue: null,\r\n secondReferenceSign: null,\r\n secondReferenceValue: null,\r\n thirdReferenceSign: null,\r\n thirdReferenceValue: null\r\n },\r\n inspectTaskForm: {\r\n id: null,\r\n uuid: null,\r\n unitName: null,\r\n taskUnitStatus: null,\r\n workType: null,\r\n execClassgroupId: null,\r\n execDepId: null,\r\n checkCycle: null,\r\n checkCycleUnit: null,\r\n noticeTime: null,\r\n noticeTimeUnit: null,\r\n validTime: null,\r\n validTimeUnit: null,\r\n firstStartTime: null,\r\n points: []\r\n },\r\n inspectTaskFormRules: {\r\n unitName: [{ required: true, message: '请填写巡检任务单元名称', trigger: 'blur' }],\r\n workType: [{ required: true, message: '请选择巡检任务类型', trigger: 'change' }],\r\n execClassgroupId: [{ required: true, message: '请选择巡检班组', trigger: 'change' }],\r\n execDepId: [{ required: true, message: '请选择巡检部门', trigger: 'blur' }],\r\n checkCycle: [{ required: true, message: '请填写巡检周期', trigger: 'blur' }],\r\n checkCycleUnit: [{ required: true, message: '请选择巡检周期单位', trigger: 'change' }],\r\n noticeTime: [{ required: true, message: '请填写提前通知时间', trigger: 'blur' }],\r\n noticeTimeUnit: [{ required: true, message: '请选择提前通知时间单位', trigger: 'change' }],\r\n validTime: [{ required: true, message: '请填写有效时间', trigger: 'blur' }],\r\n validTimeUnit: [{ required: true, message: '请选择有效时间单位', trigger: 'change' }],\r\n firstStartTime: [{ required: true, message: '请选择周期开始时间', trigger: 'change' }]\r\n },\r\n inspectPointFormRules: {\r\n pointId: [{ required: true, message: '请选择巡检点', trigger: 'change' }],\r\n regionId: [{ required: true, message: '', trigger: 'change' }],\r\n rfidId: [{ required: true, message: '', trigger: 'change' }],\r\n quotaId: [{ required: true, message: '请选择巡检指标', trigger: 'change' }],\r\n quotaUnit: [{ required: true, message: '请填写巡检指标单位', trigger: 'blur' }],\r\n dataReportType: [{ required: true, message: '请选择巡检指标单位', trigger: 'change' }]\r\n },\r\n workTypeList: [],\r\n departmentList: [],\r\n timeList: [],\r\n classGroupList: [],\r\n classGroup: [],\r\n quotaList: [],\r\n inspectPointAllList: [],\r\n regionNameList: [],\r\n RFIDList: [],\r\n dataReportTypeList: [\r\n { id: 1, name: '选择' },\r\n { id: 2, name: '填空' },\r\n { id: 3, name: '选择并填空' }\r\n ],\r\n firstReferenceValueList: [\r\n { id: 0, name: '正常' },\r\n { id: 1, name: '异常' }\r\n ],\r\n secondReferenceSignList: [\r\n { id: 1, name: '>' },\r\n { id: 2, name: '>=' }\r\n ],\r\n thirdReferenceSignList: [\r\n { id: 3, name: '<' },\r\n { id: 4, name: '<=' }\r\n ]\r\n });\r\n\r\n const openInspectPointDialog = (type: string, value: {}) => {\r\n data.inspectPointDialog = true;\r\n if (type === '新增') {\r\n data.pointTitle = '新增巡检点';\r\n data.inspectPointForm = {\r\n id: null,\r\n unitId: null,\r\n unitUuid: null,\r\n pointId: null,\r\n pointUuid: null,\r\n regionId: null,\r\n regionUuid: null,\r\n rfidId: null,\r\n quotaId: null,\r\n quotaUnit: null,\r\n execSequence: null,\r\n dataReportType: null,\r\n firstReferenceValue: null,\r\n secondReferenceSign: null,\r\n secondReferenceValue: null,\r\n thirdReferenceSign: null,\r\n thirdReferenceValue: null\r\n };\r\n } else {\r\n data.pointTitle = '修改巡检点';\r\n data.inspectPointForm = JSON.parse(JSON.stringify(value));\r\n }\r\n };\r\n\r\n const showInspectTaskDialog = (type: string, value: { id: number; uuid: string }, workTypeList: [], department: [], timeType: [], classGroupList: [], quotaList: [], inspectPointAllList: [], regionNameList: [], RFIDList: []) => {\r\n data.regionNameList = regionNameList;\r\n data.RFIDList = RFIDList;\r\n data.quotaList = JSON.parse(JSON.stringify(quotaList));\r\n data.timeList = JSON.parse(JSON.stringify(timeType));\r\n data.inspectPointAllList = JSON.parse(JSON.stringify(inspectPointAllList));\r\n data.workTypeList = JSON.parse(JSON.stringify(workTypeList));\r\n data.departmentList = JSON.parse(JSON.stringify(department));\r\n data.classGroupList = JSON.parse(JSON.stringify(classGroupList));\r\n data.ifShowInspectTaskDialog = true;\r\n if (type === '新增') {\r\n data.inspectPointConfirm = true;\r\n data.title = '新增巡检任务';\r\n data.inspectTaskForm = {\r\n id: null,\r\n uuid: null,\r\n unitName: null,\r\n taskUnitStatus: null,\r\n workType: null,\r\n execClassgroupId: null,\r\n execDepId: null,\r\n checkCycle: null,\r\n checkCycleUnit: null,\r\n noticeTime: null,\r\n noticeTimeUnit: null,\r\n validTime: null,\r\n validTimeUnit: null,\r\n firstStartTime: null,\r\n points: []\r\n };\r\n } else if (type === '修改') {\r\n data.inspectPointConfirm = true;\r\n data.title = '修改巡检任务';\r\n inspectTaskApi()\r\n .getInspectTaskById({ id: value.id, uuid: value.uuid })\r\n .then((res) => {\r\n if (res.data.code === '200') {\r\n data.inspectTaskForm.execDepId = res.data.data.execDepId;\r\n giveClassGroup();\r\n data.inspectTaskForm = JSON.parse(JSON.stringify(res.data.data));\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n })\r\n .catch((error) => {});\r\n } else {\r\n data.inspectPointConfirm = false;\r\n data.title = '查看巡检任务';\r\n inspectTaskApi()\r\n .getInspectTaskById({ id: value.id, uuid: value.uuid })\r\n .then((res) => {\r\n if (res.data.code === '200') {\r\n data.inspectTaskForm = JSON.parse(JSON.stringify(res.data.data));\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n })\r\n .catch((error) => {});\r\n }\r\n };\r\n\r\n const submitInspectPoint = () => {\r\n inspectPointFormRef.value.validate(async (valid: Boolean) => {\r\n if (valid) {\r\n if (data.title === '新增巡检任务' && data.pointTitle === '新增巡检点') {\r\n if (data.inspectTaskForm.points.length === 0) {\r\n data.inspectPointForm.execSequence = 1;\r\n } else {\r\n data.inspectPointForm.execSequence = (data.inspectTaskForm.points[data.inspectTaskForm.points.length - 1].execSequence as number) + 1;\r\n }\r\n data.inspectTaskForm.points.push(data.inspectPointForm);\r\n data.inspectPointDialog = false;\r\n } else if (data.title === '新增巡检任务' && data.pointTitle === '修改巡检点') {\r\n let result = data.inspectTaskForm.points.findIndex((item) => item.execSequence === data.inspectPointForm.execSequence);\r\n data.inspectTaskForm.points[result] = data.inspectPointForm;\r\n data.inspectPointDialog = false;\r\n } else if (data.title === '修改巡检任务' && data.pointTitle === '新增巡检点') {\r\n data.inspectPointForm.unitId = data.inspectTaskForm.id;\r\n if (data.inspectTaskForm.points.length === 0) {\r\n data.inspectPointForm.execSequence = 1;\r\n } else {\r\n data.inspectPointForm.execSequence = (data.inspectTaskForm.points[data.inspectTaskForm.points.length - 1].execSequence as number) + 1;\r\n }\r\n let res = await inspectTaskApi().addChainOfInspectTask(data.inspectPointForm);\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n message: '巡检点新增成功',\r\n duration: 2000\r\n });\r\n data.inspectPointDialog = false;\r\n data.inspectTaskForm.points.push(data.inspectPointForm);\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n } else {\r\n data.inspectPointForm.unitId = data.inspectTaskForm.id;\r\n let res = await inspectTaskApi().modChainOfInspectTask(data.inspectPointForm);\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n message: '巡检点修改成功',\r\n duration: 2000\r\n });\r\n let result = data.inspectTaskForm.points.findIndex((item) => item.execSequence === data.inspectPointForm.execSequence);\r\n data.inspectTaskForm.points[result] = data.inspectPointForm;\r\n data.inspectPointDialog = false;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n }\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: '请完善基本信息'\r\n });\r\n }\r\n });\r\n };\r\n const deleteFlow = async (index: number, item: { id: number }) => {\r\n if (data.pointTitle === '新增巡检点') {\r\n data.inspectTaskForm.points.splice(index, 1);\r\n } else {\r\n let res = await inspectTaskApi().deleteChainOfInspectTask({ id: item.id, unitId: data.inspectTaskForm.id });\r\n if (res.data.code === '200') {\r\n data.inspectTaskForm.points.splice(index, 1);\r\n ElMessage({\r\n type: 'success',\r\n message: '巡检点删除成功'\r\n });\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n }\r\n };\r\n\r\n const giveRegionAndRFID = () => {\r\n data.inspectPointForm.regionId = data.inspectPointAllList.find((item) => item.id === data.inspectPointForm.pointId)?.regionId as number;\r\n data.inspectPointForm.rfidId = data.inspectPointAllList.find((item) => item.id === data.inspectPointForm.pointId)?.rfidId as number;\r\n };\r\n\r\n const giveClassGroup = () => {\r\n data.inspectTaskForm.execClassgroupId = null;\r\n data.classGroup = data.classGroupList.filter((item) => item.depId === data.inspectTaskForm.execDepId);\r\n };\r\n\r\n const giveQuotaUnit = () => {\r\n data.inspectPointForm.quotaUnit = data.quotaList.find((item) => item.id === data.inspectPointForm.quotaId)?.unit as string;\r\n };\r\n\r\n const submitInspectTask = () => {\r\n inspectTaskFormRef.value.validate(async (valid: Boolean) => {\r\n if (valid) {\r\n if (data.title === '新增巡检任务') {\r\n let res = await inspectTaskApi().addInspectTask(data.inspectTaskForm);\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n message: '巡检任务新增成功',\r\n duration: 2000\r\n });\r\n data.ifShowInspectTaskDialog = false;\r\n context.emit('refreshInspectTask');\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n } else {\r\n let res = await inspectTaskApi().modInspectTask(data.inspectTaskForm);\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n message: '巡检指标修改成功',\r\n duration: 2000\r\n });\r\n data.ifShowInspectTaskDialog = false;\r\n context.emit('refreshInspectTask');\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n }\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: '请完善基本信息'\r\n });\r\n }\r\n });\r\n };\r\n\r\n const onVerifiyNumberInteger = (val: number, title: string) => {\r\n if (title === 'noticeTime') {\r\n data.inspectTaskForm.noticeTime = Number(verifiyNumberInteger(val.toString())) === 0 ? null : Number(verifiyNumberInteger(val.toString()));\r\n } else if (title === 'checkCycle') {\r\n data.inspectTaskForm.checkCycle = Number(verifiyNumberInteger(val.toString())) === 0 ? null : Number(verifiyNumberInteger(val.toString()));\r\n } else {\r\n data.inspectTaskForm.validTime = Number(verifiyNumberInteger(val.toString())) === 0 ? null : Number(verifiyNumberInteger(val.toString()));\r\n }\r\n };\r\n\r\n return {\r\n ...toRefs(data),\r\n inspectTaskFormRef,\r\n deleteFlow,\r\n giveQuotaUnit,\r\n giveClassGroup,\r\n inspectPointFormRef,\r\n onVerifiyNumberInteger,\r\n submitInspectTask,\r\n submitInspectPoint,\r\n giveRegionAndRFID,\r\n showInspectTaskDialog,\r\n openInspectPointDialog\r\n };\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n$homeNavLengh: 8;\r\n.home-container {\r\n height: calc(100vh - 144px);\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n .homeCard {\r\n width: 100%;\r\n padding: 20px;\r\n box-sizing: border-box;\r\n background: #fff;\r\n border-radius: 4px;\r\n\r\n .main-card {\r\n width: 100%;\r\n height: 100%;\r\n .cardTop {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n margin-bottom: 20px;\r\n .mainCardBtn {\r\n margin: 0;\r\n }\r\n }\r\n .pageBtn {\r\n height: 60px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: right;\r\n\r\n .demo-pagination-block + .demo-pagination-block {\r\n margin-top: 10px;\r\n }\r\n .demo-pagination-block .demonstration {\r\n margin-bottom: 16px;\r\n }\r\n }\r\n }\r\n &:last-of-type {\r\n height: calc(100% - 100px);\r\n }\r\n }\r\n .el-row {\r\n display: flex;\r\n align-items: center;\r\n margin-bottom: 20px;\r\n &:last-child {\r\n margin-bottom: 0;\r\n }\r\n .grid-content {\r\n align-items: center;\r\n min-height: 36px;\r\n }\r\n\r\n .topInfo {\r\n display: flex;\r\n align-items: center;\r\n font-size: 16px;\r\n font-weight: bold;\r\n\r\n & > div {\r\n white-space: nowrap;\r\n margin-right: 20px;\r\n }\r\n }\r\n }\r\n}\r\n.stepItem {\r\n width: 100%;\r\n display: flex;\r\n align-items: flex-start;\r\n margin-bottom: 30px;\r\n margin-left: 30px;\r\n padding-bottom: 30px;\r\n border-left: 2px solid #ccc;\r\n &:first-of-type {\r\n margin-top: 30px;\r\n }\r\n &:last-of-type {\r\n margin-bottom: 0;\r\n border-left: none;\r\n }\r\n .stepNum {\r\n width: 30px;\r\n height: 30px;\r\n border-radius: 15px;\r\n box-sizing: border-box;\r\n color: #333;\r\n border: 1px solid #999;\r\n line-height: 28px;\r\n text-align: center;\r\n margin-right: 10px;\r\n margin-left: -16px;\r\n margin-top: -30px;\r\n }\r\n .stepCard {\r\n width: 100%;\r\n margin-top: -30px;\r\n\r\n .box-card {\r\n width: 100%;\r\n &:deep(.el-card__header) {\r\n padding: 10px 15px;\r\n }\r\n .card-header {\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n & > div:first-of-type {\r\n margin-right: 80px;\r\n font-size: 18px;\r\n font-weight: bold;\r\n }\r\n }\r\n }\r\n }\r\n &:hover .card-header {\r\n color: #0098f5;\r\n }\r\n &:hover .stepNum {\r\n border: 2px solid #0098f5;\r\n color: #0098f5;\r\n }\r\n}\r\n:deep(.el-date-editor) {\r\n width: 100%;\r\n}\r\n</style>\r\n
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue b/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue
+--- a/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue (revision 624a145dcb9959e769fa635a4b9e2fe4758772ed)
++++ b/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue (date 1661218095819)
+@@ -27,7 +27,7 @@
+ </el-select>
+ </el-form-item>
+ </el-col>
+- <el-col :span="12" style="margin-bottom: 20px" v-if="inspectTaskForm.workType === 2">
++ <el-col :span="12" style="margin-bottom: 20px" v-if="inspectTaskForm.workType === 1">
+ <el-form-item label="巡检周期" prop="checkCycle">
+ <el-input v-model="inspectTaskForm.checkCycle" @input="onVerifiyNumberInteger($event, 'checkCycle')" :disabled="!inspectPointConfirm" placeholder="请输入巡检周期" class="input-add">
+ <template #append>
+Index: src/views/specialWorkSystem/workTicket/myApproval/index.vue
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
+<+><template>\r\n <div class=\"home-container\">\r\n<!-- <el-tabs v-model=\"activeName\" class=\"demo-tabs\" @tab-click=\"handleClick\">-->\r\n<!-- <el-tab-pane label=\"申请中\" name=\"1\">-->\r\n <div style=\"height: 100%\">\r\n <el-row class=\"homeCard\">\r\n <el-col :span=\"8\">\r\n <div class=\"grid-content topInfo\">\r\n <el-select v-model=\"searchWord\">\r\n <el-option\r\n v-for=\"item in workType\"\r\n :key=\"item.id\"\r\n :label=\"item.name\"\r\n :value=\"item.id\"\r\n />\r\n </el-select>\r\n <el-button type=\"primary\" @click=\"searchRecord\">查询</el-button>\r\n <el-button plain @click=\"clearSearch\">重置</el-button>\r\n </div>\r\n </el-col>\r\n </el-row>\r\n <div class=\"homeCard\">\r\n <div class=\"main-card\">\r\n <el-row class=\"cardTop\">\r\n <el-col :span=\"12\" class=\"mainCardBtn\">\r\n <el-button type=\"primary\" :icon=\"Plus\" size=\"default\" @click=\"toApply()\">申请</el-button>\r\n <!--\t\t\t\t\t\t\t\t\t<el-button type=\"danger\" :icon=\"Delete\" size=\"default\">删除</el-button>-->\r\n <!--\t\t\t\t\t\t\t\t\t<el-button type=\"success\" size=\"default\">设置分类</el-button>-->\r\n </el-col>\r\n <el-button type=\"primary\" :icon=\"Refresh\" size=\"default\" @click=\"reLoadData()\" />\r\n </el-row>\r\n <el-table ref=\"multipleTableRef\" :data=\"applyData\" style=\"width: 100%\" height=\"calc(100% - 100px)\" :header-cell-style=\"{ background: '#fafafa' }\">\r\n <el-table-column property=\"applyUname\" label=\"申请人\" />\r\n <el-table-column property=\"depName\" label=\"部门名称\" />\r\n <el-table-column property=\"operators\" label=\"作业人\" />\r\n <el-table-column property=\"workTypeDesc\" label=\"作业类型\" />\r\n <el-table-column property=\"workLevelDesc\" label=\"作业等级\" />\r\n <el-table-column property=\"applyTime\" label=\"申请时间\" width=\"180\" />\r\n <el-table-column label=\"申请状态\" width=\"180\">\r\n <template #default=\"scope\">\r\n <el-tag type=\"success\">{{ scope.row.statusDesc }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column fixed=\"right\" label=\"操作\" align=\"center\" width=\"250\">\r\n <template #default=\"scope\">\r\n <el-button link type=\"primary\" size=\"small\" :icon=\"View\" @click=\"viewRecord(scope.row)\">查看</el-button>\r\n <el-button link type=\"success\" size=\"small\" :icon=\"Finished\" @click=\"viewStatus(scope.row)\">进度</el-button>\r\n <el-button link type=\"warning\" size=\"small\" :icon=\"Delete\" @click=\"deleteRecordBtn(scope.row)\">终止</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"pageBtn\">\r\n <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\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <el-dialog v-model=\"dialogDetails\" title=\"作业审批详情\" center>\r\n <fire v-if=\"dialogType == 1\" :details = details></fire>\r\n <space v-else-if=\"dialogType == 2\" :details = details></space>\r\n <hoist v-else-if=\"dialogType == 3\" :details = details></hoist>\r\n <ground v-else-if=\"dialogType == 4\" :details = details></ground>\r\n <broken v-else-if=\"dialogType == 5\" :details = details></broken>\r\n <height v-else-if=\"dialogType == 6\" :details = details></height>\r\n <power v-else-if=\"dialogType == 7\" :details = details></power>\r\n <plate v-else :details = details></plate>\r\n <template #footer>\r\n <span class=\"dialog-footer\">\r\n <el-button type=\"primary\" @click=\"dialogDetails = false\"\r\n >确认</el-button\r\n >\r\n </span>\r\n </template>\r\n </el-dialog>\r\n <el-dialog v-model=\"dialogStatus\" title=\"作业审批进度\" center width=\"60%\">\r\n <el-form v-if=\"approveInfo.operators.length > 0\" style=\"margin-bottom: 40px\">\r\n <el-form-item label=\"申请作业人\">\r\n <el-input v-model=\"approveInfo.operators\" readonly type=\"textarea\" />\r\n </el-form-item>\r\n </el-form>\r\n <div style=\"display: flex; flex-direction: column-reverse\">\r\n <div v-for=\"(item, index) in approveInfo.approvalSteps\" class=\"stepItem\">\r\n <div class=\"stepNum\">{{ item.stepSerial }}</div>\r\n <div class=\"stepCard\">\r\n <el-card class=\"box-card\" shadow=\"always\">\r\n <div class=\"text\">\r\n 审批结果:<span>{{ item.approvalResultDesc }}</span>\r\n </div>\r\n <div class=\"text\">\r\n 审批类型:<span>{{ item.typeDesc }}</span>\r\n </div>\r\n <div class=\"text\" v-show=\"item.startApprovalTime != null\">\r\n 开始时间:<span>{{ item.startApprovalTime }}</span>\r\n </div>\r\n <div class=\"approveUnit\">\r\n <div class=\"item-tit\"><span>审批人</span><span>审批状态</span></div>\r\n <div class=\"item-cont\" v-for=\"i in item.stepUnits\">\r\n <span>{{ i.approvalUname }}</span\r\n ><span>{{ i.resultDesc }}</span>\r\n </div>\r\n </div>\r\n <div class=\"approveItem\">\r\n <div class=\"item-tit\">\r\n <span>审批项目</span>\r\n<!-- <span>类型</span>-->\r\n <div>措施标准</div>\r\n </div>\r\n <div class=\"item-cont\" v-for=\"i in item.stepItems\">\r\n <span>{{ i.itemName }}</span>\r\n<!-- <span>{{ i.typeDesc }}</span>-->\r\n <div v-if=\"i.measure !== null\">\r\n <div>\r\n <span>作业类型:</span><span>{{ i.measure.workTypeDesc }}</span>\r\n </div>\r\n <div>\r\n <span>措施内容:</span><span>{{ i.measure.context }}</span>\r\n </div>\r\n </div>\r\n <div v-if=\"i.stand !== null\">\r\n <div>\r\n <span>标题名称:</span><span>{{ i.stand.title }}</span>\r\n </div>\r\n <div>\r\n <span>标准内容:</span><span>{{ i.stand.typeDesc }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text\" v-show=\"item.expFinishApprovalTime != null\">\r\n 期望结束时间:<span>{{ item.expFinishApprovalTime }}</span>\r\n </div>\r\n <div class=\"text\" v-show=\"item.finishApprovalTime != null\">\r\n 结束时间:<span>{{ item.finishApprovalTime }}</span>\r\n </div>\r\n </el-card>\r\n </div>\r\n </div>\r\n </div>\r\n </el-dialog>\r\n <el-dialog v-model=\"deleteDialog\" title=\"提示\" width=\"30%\" center @close=\"indexClear\">\r\n <span>您确定要终止该条审批吗?</span>\r\n <template #footer>\r\n <span class=\"dialog-footer\">\r\n <el-button @click=\"deleteDialog = false\" size=\"default\">取消</el-button>\r\n <el-button type=\"primary\" @click=\"conFirmDelete\" size=\"default\">确认</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n<!-- </el-tab-pane>-->\r\n<!-- <el-tab-pane label=\"已通过\" name=\"2\">-->\r\n<!-- <div style=\"height: 100%\">-->\r\n<!-- <el-row class=\"homeCard\">-->\r\n<!-- <el-col :span=\"8\">-->\r\n<!-- <div class=\"grid-content topInfo\">-->\r\n<!-- <el-input v-model=\"searchWord\" placeholder=\"作业证名称\"></el-input>-->\r\n<!-- <el-button type=\"primary\">查询</el-button>-->\r\n<!-- <el-button plain>重置</el-button>-->\r\n<!-- </div>-->\r\n<!-- </el-col>-->\r\n<!-- </el-row>-->\r\n<!-- <div class=\"homeCard\">-->\r\n<!-- <div class=\"main-card\">-->\r\n<!-- <el-table ref=\"multipleTableRef\" :data=\"passedData\" style=\"width: 100%\" height=\"calc(100% - 48px)\" :header-cell-style=\"{ background: '#fafafa' }\" @selection-change=\"handleSelectionChange\">-->\r\n<!-- <el-table-column type=\"selection\" width=\"55\" />-->\r\n<!-- <el-table-column type=\"index\" label=\"编号\" width=\"200\" />-->\r\n<!-- <el-table-column property=\"level\" label=\"作业证等级\" width=\"180\" sortable />-->\r\n<!-- <el-table-column property=\"applyDate\" label=\"申请日期\" sortable />-->\r\n<!-- <el-table-column property=\"name\" label=\"申请人\" width=\"180\" />-->\r\n<!-- <el-table-column property=\"department\" label=\"申请部门\" width=\"180\" />-->\r\n<!-- <el-table-column label=\"申请状态\" width=\"180\">-->\r\n<!-- <template #default=\"scope\">-->\r\n<!-- <el-tag type=\"success\">{{ scope.row.status }}</el-tag>-->\r\n<!-- </template>-->\r\n<!-- </el-table-column>-->\r\n<!-- </el-table>-->\r\n<!-- <div class=\"pageBtn\">-->\r\n<!-- <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\" />-->\r\n<!-- </div>-->\r\n<!-- </div>-->\r\n<!-- </div>-->\r\n<!-- </div>-->\r\n<!-- </el-tab-pane>-->\r\n<!-- </el-tabs>-->\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {toRefs, reactive, defineComponent, ref, onMounted, defineAsyncComponent} from 'vue';\r\nimport { storeToRefs } from 'pinia';\r\nimport { initBackEndControlRoutes } from '/@/router/backEnd';\r\nimport { useUserInfo } from '/@/stores/userInfo';\r\nimport { Session } from '/@/utils/storage';\r\nimport { useRouter } from 'vue-router';\r\nimport { Edit, View, Plus, Delete, Refresh, Search, Finished } from '@element-plus/icons-vue';\r\nimport { ElTable } from 'element-plus';\r\nimport { FormInstance, FormRules, ElMessage } from 'element-plus';\r\nimport { workApprovalApi } from '/@/api/specialWorkSystem/workApproval';\r\nimport type { TabsPaneContext } from 'element-plus';\r\nimport {teamManageApi} from \"/@/api/systemManage/basicDateManage/personShiftManage/teamManage\";\r\n\r\n// 定义接口来定义对象的类型\r\ninterface stateType {\r\n applyData: Array<string>;\r\n workTimeList: Array<string>;\r\n multipleSelection: Array<any>;\r\n deleteArr: Array<any>;\r\n approveInfo: Object;\r\n dialogDetails: boolean;\r\n dialogStatus: boolean;\r\n deleteDialog: boolean;\r\n pageIndex1: number;\r\n pageSize1: number;\r\n chosenIndex: null | number;\r\n deleteId: null | number;\r\n searchWord: string;\r\n totalSize1: number;\r\n activeName: string;\r\n addRecord: {};\r\n details: {};\r\n statusInfo: {};\r\n workType: Array<type>;\r\n dialogType: number | null;\r\n departmentList: Array<any>;\r\n departmentRecursionList: Array<DepartmentState>;\r\n}\r\ninterface type {\r\n id: number;\r\n name: string;\r\n}\r\ninterface DepartmentState {\r\n depId: number;\r\n depName: string;\r\n}\r\nexport default defineComponent({\r\n name: 'myApproval',\r\n components: {\r\n fire: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/fireLog.vue')),\r\n space: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/spaceLog.vue')),\r\n hoist: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/hoistLog.vue')),\r\n ground: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/groundLog.vue')),\r\n broken: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/brokenLog.vue')),\r\n height: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/heightLog.vue')),\r\n power: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/powerLog.vue')),\r\n plate: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myApproval/components/plateLog.vue'))\r\n },\r\n setup() {\r\n const userInfo = useUserInfo();\r\n const { userInfos } = storeToRefs(userInfo);\r\n const router = useRouter();\r\n const state = reactive<stateType>({\r\n pageIndex1: 1,\r\n pageSize1: 10,\r\n totalSize1: 0,\r\n dialogType: null,\r\n activeName: '1',\r\n departmentList: [],\r\n departmentRecursionList: [],\r\n chosenIndex: null,\r\n searchWord: '',\r\n applyData: [],\r\n workTimeList: [],\r\n multipleSelection: [],\r\n approveInfo: {\r\n approvalSteps: [],\r\n operators: []\r\n },\r\n dialogDetails: false,\r\n dialogStatus: false,\r\n deleteDialog: false,\r\n addRecord: {},\r\n details: {},\r\n statusInfo: {},\r\n deleteId: null,\r\n deleteArr: [],\r\n workType: [\r\n { id: 1, name: '动火作业' },\r\n { id: 2, name: '受限空间作业' },\r\n { id: 3, name: '吊装作业' },\r\n { id: 4, name: '动土作业' },\r\n { id: 5, name: '断路作业' },\r\n { id: 6, name: '高处作业' },\r\n { id: 7, name: '临时用电作业' },\r\n { id: 8, name: '盲板抽堵作业' }\r\n ]\r\n });\r\n interface User {\r\n name: string;\r\n list: [];\r\n info: string;\r\n }\r\n\r\n // 刷新\r\n const reLoadData = async () => {\r\n getListByPage();\r\n };\r\n\r\n // 填写表单\r\n const toApply = () => {\r\n router.push({\r\n path: 'workApply'\r\n });\r\n };\r\n\r\n const handleClick = (tab: TabsPaneContext, event: Event) => {\r\n console.log(tab, event);\r\n };\r\n\r\n // 获取部门列表\r\n const getAllDepartment = async () => {\r\n let res = await teamManageApi().getAllDepartment();\r\n if (res.data.code === '200') {\r\n state.departmentList = JSON.parse(JSON.stringify(res.data.data))\r\n recursion(state.departmentList);\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n // 获取层级审批数据\r\n // const getApprovalData = async (id) => {\r\n // let res = await workApprovalApi().getApprovalData({workApplyId: id});\r\n // if (res.data.code === '200') {\r\n // console.log(res.data.data,'层级数据')\r\n // // state.departmentList = JSON.parse(JSON.stringify(res.data.data))\r\n // // recursion(state.departmentList);\r\n // } else {\r\n // ElMessage({\r\n // type: 'warning',\r\n // message: res.data.msg\r\n // });\r\n // }\r\n // };\r\n\r\n const recursion = (value: any) => {\r\n for (let i of value) {\r\n if (i.children.length !== 0) {\r\n state.departmentRecursionList.push(i);\r\n recursion(i.children);\r\n } else {\r\n state.departmentRecursionList.push(i);\r\n }\r\n }\r\n };\r\n\r\n // 分页获取工作时间组列表\r\n const getListByPage = async () => {\r\n const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { workType: state.searchWord } };\r\n let res = await workApprovalApi().getApprovalListPage(data);\r\n if (res.data.code === '200') {\r\n console.log(res.data.data,'approval')\r\n state.applyData = JSON.parse(JSON.stringify(res.data.data));\r\n state.applyData = state.applyData.map((item) => {\r\n if (item.operators == null || item.operators == []) {\r\n item.operators = [];\r\n } else {\r\n item.operators = Array.from(item.operators, ({ operatorUname }) => operatorUname);\r\n }\r\n return item;\r\n });\r\n state.totalSize1 = res.data.total;\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n // 关键词查询记录\r\n const searchRecord = async () => {\r\n if (state.searchWord == '') {\r\n ElMessage({\r\n type: 'warning',\r\n message: '请输入查询关键词'\r\n });\r\n } else {\r\n getListByPage();\r\n }\r\n };\r\n // 重置搜索\r\n const clearSearch = async () => {\r\n state.searchWord = '';\r\n getListByPage();\r\n };\r\n\r\n // 查看进度\r\n const viewStatus = (row) => {\r\n getStatus({ workApplyId: row.workApplyId });\r\n state.dialogStatus = true;\r\n };\r\n\r\n // 查询进度方法\r\n const getStatus = async (data: any) => {\r\n let res = await workApprovalApi().getApprovalStatus(data);\r\n if (res.data.code === '200') {\r\n state.approveInfo = JSON.parse(JSON.stringify(res.data.data));\r\n state.approveInfo.operators = Array.from(state.approveInfo.operators, ({ operatorUname }) => operatorUname);\r\n console.log(state.approveInfo, '我的审批');\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n const deleteRecordBtn = (row) => {\r\n state.deleteId = row.workApplyId;\r\n state.deleteDialog = true;\r\n };\r\n\r\n // 取消申请方法\r\n const deleteRecord = async (data: any) => {\r\n let res = await workApprovalApi().postAbord(data);\r\n if (res.data.code === '200') {\r\n ElMessage({\r\n type: 'success',\r\n message: res.data.msg\r\n });\r\n getListByPage();\r\n } else {\r\n ElMessage({\r\n type: 'warning',\r\n message: res.data.msg\r\n });\r\n }\r\n };\r\n\r\n const conFirmDelete = () => {\r\n deleteRecord({ workApplyId: state.deleteId });\r\n state.deleteDialog = false;\r\n };\r\n\r\n const handleSizeChange1 = (val: number) => {\r\n state.pageSize1 = val;\r\n getListByPage();\r\n };\r\n const handleCurrentChange1 = (val: number) => {\r\n state.pageIndex1 = val;\r\n getListByPage();\r\n };\r\n\r\n // 查看记录\r\n const viewRecord = (row: any) => {\r\n state.dialogType = row.workType\r\n state.details = JSON.parse(JSON.stringify(row));\r\n console.log(state.details,'details')\r\n // getApprovalData(state.details.workApplyId)\r\n if(state.details.workDetail.otherSpecialWork == '' || !state.details.workDetail.otherSpecialWork){\r\n state.details.workDetail.otherSpecialWork=[]\r\n }\r\n else {\r\n console.log(state.details.workDetail.otherSpecialWork,'split')\r\n const a = state.details.workDetail.otherSpecialWork\r\n state.details.workDetail.otherSpecialWork = a.split(',').map((item) => {\r\n return state.workType.find((i: { id: number }) => i.id === Number(item))?.name;\r\n });\r\n }\r\n if(state.details.workDetail.involvedDepIds == '' || !state.details.workDetail.involvedDepIds){\r\n state.details.workDetail.involvedDepIds=[]\r\n }\r\n else {\r\n const a = state.details.workDetail.involvedDepIds\r\n state.details.workDetail.involvedDepIds = a.split(',').map((item) => {\r\n return state.departmentRecursionList.find((i: { depId: number }) => i.depId === Number(item))?.depName;\r\n });\r\n }\r\n state.dialogDetails = true;\r\n };\r\n\r\n // 折线图\r\n const renderMenu = async (value: string) => {\r\n Session.set('projectId', value);\r\n userInfos.value.projectId = value;\r\n await initBackEndControlRoutes();\r\n };\r\n\r\n // 页面载入时执行方法\r\n onMounted(() => {\r\n getListByPage();\r\n getAllDepartment()\r\n });\r\n\r\n return {\r\n View,\r\n Edit,\r\n Delete,\r\n Refresh,\r\n Plus,\r\n Finished,\r\n reLoadData,\r\n toApply,\r\n handleClick,\r\n searchRecord,\r\n clearSearch,\r\n viewRecord,\r\n viewStatus,\r\n deleteRecordBtn,\r\n conFirmDelete,\r\n getListByPage,\r\n handleSizeChange1,\r\n handleCurrentChange1,\r\n ...toRefs(state)\r\n };\r\n }\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n$homeNavLengh: 8;\r\n.home-container {\r\n height: calc(100vh - 144px);\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n .demo-tabs {\r\n width: 100%;\r\n height: 100%;\r\n\r\n &::v-deep(.el-tabs__content) {\r\n height: calc(100% - 60px);\r\n }\r\n\r\n .el-tab-pane {\r\n height: 100%;\r\n }\r\n }\r\n .homeCard {\r\n width: 100%;\r\n padding: 20px;\r\n box-sizing: border-box;\r\n background: #fff;\r\n border-radius: 4px;\r\n\r\n .main-card {\r\n width: 100%;\r\n height: 100%;\r\n .cardTop {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n margin-bottom: 20px;\r\n .mainCardBtn {\r\n margin: 0;\r\n }\r\n }\r\n .pageBtn {\r\n height: 60px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: right;\r\n\r\n .demo-pagination-block + .demo-pagination-block {\r\n margin-top: 10px;\r\n }\r\n .demo-pagination-block .demonstration {\r\n margin-bottom: 16px;\r\n }\r\n }\r\n }\r\n &:last-of-type {\r\n height: calc(100% - 100px);\r\n }\r\n }\r\n .stepItem {\r\n display: flex;\r\n align-items: flex-start;\r\n margin-top: 30px;\r\n margin-left: 30px;\r\n padding-bottom: 30px;\r\n padding-left: 40px;\r\n border-left: 1px solid #a0cfff;\r\n position: relative;\r\n &:first-of-type {\r\n margin-top: 30px;\r\n }\r\n &:first-of-type {\r\n margin-bottom: 0;\r\n border-left: none;\r\n }\r\n .stepNum {\r\n position: absolute;\r\n width: 40px;\r\n height: 40px;\r\n border-radius: 20px;\r\n box-sizing: border-box;\r\n font-size: 18px;\r\n color: #333;\r\n border: 1px solid #a0cfff;\r\n line-height: 38px;\r\n text-align: center;\r\n left: -20px;\r\n top: -30px;\r\n background: #d9ecff;\r\n }\r\n .stepCard {\r\n width: 100%;\r\n margin-top: -30px;\r\n\r\n .box-card {\r\n width: 100%;\r\n\r\n .card-header {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n\r\n span {\r\n font-weight: bold;\r\n margin-left: 10px;\r\n }\r\n }\r\n\r\n .text {\r\n width: 100%;\r\n font-size: 14px;\r\n margin-bottom: 10px;\r\n padding-left: 10px;\r\n\r\n span {\r\n font-weight: bolder;\r\n color: #409eff;\r\n }\r\n\r\n &:last-of-type {\r\n margin-bottom: 0;\r\n }\r\n }\r\n .approveUnit {\r\n width: 100%;\r\n font-size: 14px;\r\n margin-bottom: 20px;\r\n padding: 10px 15px;\r\n border: 1px solid #fff;\r\n background: #ecf8ff;\r\n border-radius: 6px;\r\n .item-tit {\r\n width: 100%;\r\n display: flex;\r\n color: #409eff;\r\n align-items: flex-start;\r\n justify-content: space-between;\r\n padding-bottom: 10px;\r\n border-bottom: 1px solid #a0cfff;\r\n\r\n & > span {\r\n flex: 1;\r\n &:last-of-type{\r\n text-align: center;\r\n }\r\n }\r\n & > div {\r\n flex: 1;\r\n text-align: center;\r\n }\r\n }\r\n .item-cont {\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding: 10px 0;\r\n border-bottom: 1px solid #c6e2ff;\r\n\r\n & > span {\r\n flex: 1;\r\n &:last-of-type{\r\n text-align: center;\r\n }\r\n }\r\n & > div {\r\n flex: 1;\r\n text-align: center;\r\n\r\n & > div {\r\n text-align: left;\r\n width: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n span {\r\n width: 45%;\r\n &:first-of-type {\r\n width: 30%;\r\n }\r\n }\r\n }\r\n }\r\n &:last-of-type {\r\n border-bottom: 0;\r\n }\r\n }\r\n }\r\n .approveItem {\r\n width: 100%;\r\n font-size: 14px;\r\n margin-bottom: 20px;\r\n padding: 10px 15px;\r\n background: #ecf8ff;\r\n border: 1px solid #fff;\r\n border-radius: 6px;\r\n .item-tit {\r\n width: 100%;\r\n display: flex;\r\n color: #409eff;\r\n align-items: flex-start;\r\n justify-content: space-between;\r\n padding-bottom: 10px;\r\n border-bottom: 1px solid #a0cfff;\r\n\r\n & > span {\r\n flex: 1;\r\n }\r\n & > div {\r\n flex: 2;\r\n text-align: center;\r\n }\r\n }\r\n .item-cont {\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding: 10px 0;\r\n border-bottom: 1px solid #c6e2ff;\r\n\r\n & > span {\r\n flex: 1;\r\n }\r\n & > div {\r\n flex: 2;\r\n text-align: center;\r\n\r\n & > div {\r\n text-align: left;\r\n width: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: flex-start;\r\n margin-bottom: 10px;\r\n span {\r\n width: 50%;\r\n &:first-of-type {\r\n width: 25%;\r\n }\r\n }\r\n }\r\n }\r\n &:last-of-type {\r\n border-bottom: 0;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n &:hover .card-header {\r\n color: #0098f5;\r\n }\r\n &:hover .stepNum {\r\n border: 2px solid #0098f5;\r\n color: #0098f5;\r\n }\r\n }\r\n .el-row {\r\n display: flex;\r\n align-items: center;\r\n margin-bottom: 20px;\r\n &:last-child {\r\n margin-bottom: 0;\r\n }\r\n .grid-content {\r\n align-items: center;\r\n min-height: 36px;\r\n }\r\n\r\n .topInfo {\r\n display: flex;\r\n align-items: center;\r\n font-size: 16px;\r\n font-weight: bold;\r\n\r\n & > div {\r\n white-space: nowrap;\r\n margin-right: 20px;\r\n }\r\n }\r\n }\r\n .el-card {\r\n border: 0;\r\n }\r\n}\r\n</style>\r\n
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/src/views/specialWorkSystem/workTicket/myApproval/index.vue b/src/views/specialWorkSystem/workTicket/myApproval/index.vue
+--- a/src/views/specialWorkSystem/workTicket/myApproval/index.vue (revision 624a145dcb9959e769fa635a4b9e2fe4758772ed)
++++ b/src/views/specialWorkSystem/workTicket/myApproval/index.vue (date 1661164944383)
+@@ -1,191 +1,184 @@
+ <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-select v-model="searchWord">
+- <el-option
+- v-for="item in workType"
+- :key="item.id"
+- :label="item.name"
+- :value="item.id"
+- />
+- </el-select>
+- <el-button type="primary" @click="searchRecord">查询</el-button>
+- <el-button plain @click="clearSearch">重置</el-button>
+- </div>
+- </el-col>
+- </el-row>
+- <div class="homeCard">
+- <div class="main-card">
+- <el-row class="cardTop">
+- <el-col :span="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="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="作业审批详情" center>
+- <fire v-if="dialogType == 1" :details = details></fire>
+- <space v-else-if="dialogType == 2" :details = details></space>
+- <hoist v-else-if="dialogType == 3" :details = details></hoist>
+- <ground v-else-if="dialogType == 4" :details = details></ground>
+- <broken v-else-if="dialogType == 5" :details = details></broken>
+- <height v-else-if="dialogType == 6" :details = details></height>
+- <power v-else-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="作业审批进度" center width="60%">
+- <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>-->
++ <!-- <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-select v-model="searchWord">
++ <el-option v-for="item in workType" :key="item.id" :label="item.name" :value="item.id" />
++ </el-select>
++ <el-button type="primary" @click="searchRecord">查询</el-button>
++ <el-button plain @click="clearSearch">重置</el-button>
++ </div>
++ </el-col>
++ </el-row>
++ <div class="homeCard">
++ <div class="main-card">
++ <el-row class="cardTop">
++ <el-col :span="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="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="作业审批详情" center>
++ <fire v-if="dialogType == 1" :details="details"></fire>
++ <space v-else-if="dialogType == 2" :details="details"></space>
++ <hoist v-else-if="dialogType == 3" :details="details"></hoist>
++ <ground v-else-if="dialogType == 4" :details="details"></ground>
++ <broken v-else-if="dialogType == 5" :details="details"></broken>
++ <height v-else-if="dialogType == 6" :details="details"></height>
++ <power v-else-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="作业审批进度" center width="60%">
++ <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, defineAsyncComponent} 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';
+@@ -196,7 +189,7 @@
+ import { FormInstance, FormRules, ElMessage } from 'element-plus';
+ import { workApprovalApi } from '/@/api/specialWorkSystem/workApproval';
+ import type { TabsPaneContext } from 'element-plus';
+-import {teamManageApi} from "/@/api/systemManage/basicDateManage/personShiftManage/teamManage";
++import { teamManageApi } from '/@/api/systemManage/basicDateManage/personShiftManage/teamManage';
+
+ // 定义接口来定义对象的类型
+ interface stateType {
+@@ -309,7 +302,7 @@
+ const getAllDepartment = async () => {
+ let res = await teamManageApi().getAllDepartment();
+ if (res.data.code === '200') {
+- state.departmentList = JSON.parse(JSON.stringify(res.data.data))
++ state.departmentList = JSON.parse(JSON.stringify(res.data.data));
+ recursion(state.departmentList);
+ } else {
+ ElMessage({
+@@ -350,7 +343,7 @@
+ const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { workType: state.searchWord } };
+ let res = await workApprovalApi().getApprovalListPage(data);
+ if (res.data.code === '200') {
+- console.log(res.data.data,'approval')
++ console.log(res.data.data, 'approval');
+ state.applyData = JSON.parse(JSON.stringify(res.data.data));
+ state.applyData = state.applyData.map((item) => {
+ if (item.operators == null || item.operators == []) {
+@@ -445,25 +438,23 @@
+
+ // 查看记录
+ const viewRecord = (row: any) => {
+- state.dialogType = row.workType
++ state.dialogType = row.workType;
+ state.details = JSON.parse(JSON.stringify(row));
+- console.log(state.details,'details')
++ console.log(state.details, 'details');
+ // getApprovalData(state.details.workApplyId)
+- 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
++ 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
++ 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.departmentRecursionList.find((i: { depId: number }) => i.depId === Number(item))?.depName;
+ });
+@@ -481,7 +472,7 @@
+ // 页面载入时执行方法
+ onMounted(() => {
+ getListByPage();
+- getAllDepartment()
++ getAllDepartment();
+ });
+
+ return {
+@@ -647,7 +638,7 @@
+
+ & > span {
+ flex: 1;
+- &:last-of-type{
++ &:last-of-type {
+ text-align: center;
+ }
+ }
+@@ -666,7 +657,7 @@
+
+ & > span {
+ flex: 1;
+- &:last-of-type{
++ &:last-of-type {
+ text-align: center;
+ }
+ }
diff --git a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_11_26__Default_Changelist_.xml b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_11_26__Default_Changelist_.xml
new file mode 100644
index 0000000..3a6c087
--- /dev/null
+++ b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_11_26__Default_Changelist_.xml
@@ -0,0 +1,4 @@
+<changelist name="Uncommitted_changes_before_Update_at_2022_8_23_11_26_[Default_Changelist]" date="1661225223369" recycled="true" deleted="true">
+ <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_11_26_[Default_Changelist]/shelved.patch" />
+ <option name="DESCRIPTION" value="Uncommitted changes before Update at 2022/8/23 11:26 [Default Changelist]" />
+</changelist>
\ No newline at end of file
diff --git a/src/views/intellectInspect/inspectIndex/index.vue b/src/views/intellectInspect/inspectIndex/index.vue
index 80b5cbb..41c9c8e 100644
--- a/src/views/intellectInspect/inspectIndex/index.vue
+++ b/src/views/intellectInspect/inspectIndex/index.vue
@@ -2,32 +2,42 @@
<div class="home-container">
<div style="height: 100%">
<div class="homeCard topCard">
- <div class="title">
- 当前巡检任务
- </div>
- <div class="top-info" v-if="unchecked!=0||unusual!=0">
+ <div class="title">当前巡检任务</div>
+ <div class="top-info" v-if="unchecked != 0 || unusual != 0">
<el-icon :size="18" color="#F3001E" style="margin-right: 4px"><BellFilled /></el-icon>
预警消息:
- <div v-if="unchecked!=0">当日超期未巡检任务<span @click="toOverTime(4)">{{unchecked}}</span>个</div><span v-if="unchecked!=0&&unusual!=0">,</span>
- <div v-if="unusual!=0">存在异常任务<span @click="toUnusual(1)">{{unusual}}</span>个</div>。
+ <div v-if="unchecked != 0">
+ 当日超期未巡检任务<span @click="toOverTime(4)">{{ unchecked }}</span
+ >个
+ </div>
+ <span v-if="unchecked != 0 && unusual != 0">,</span>
+ <div v-if="unusual != 0">
+ 存在异常任务<span @click="toUnusual(1)">{{ unusual }}</span
+ >个
+ </div>
+ 。
</div>
</div>
<div class="homeCard">
<div class="main-card">
<div class="list">
- <div class="cardTop" v-for="(item,index) in tableData" :key="index">
+ <div class="cardTop" v-for="(item, index) in tableData" :key="index">
<div class="left-info">
- <span class="num">{{pageSize * (pageIndex-1) + index + 1}}、</span>
- <span class="place">{{item.taskName}},</span>
- <p v-if="item.execUserName==null">该任务暂无人认领</p>
- <p v-else><span class="time">{{item.taskStatus == 2?item.startTime:item.endTime}}</span>由<span class="name">{{item.execUserName}}</span>进行的巡检任务</p>
+ <span class="num">{{ pageSize * (pageIndex - 1) + index + 1 }}、</span>
+ <span class="place">{{ item.taskName }},</span>
+ <p v-if="item.execUserName == null">该任务暂无人认领</p>
+ <p v-else>
+ <span class="time">{{ item.taskStatus == 2 ? item.startTime : item.endTime }}</span
+ >由<span class="name">{{ item.execUserName }}</span
+ >进行的巡检任务
+ </p>
</div>
<div class="mid-info">
- 任务状态:<span :class="item.taskStatus == 1?'grey':(item.taskStatus == 2?'green':(item.taskStatus == 3?'blue':'red'))">{{item.taskStatus == 1?'待巡检':(item.taskStatus == 2?'巡检中':(item.taskStatus == 3?'已巡检':'超期未巡检'))}}</span>
+ 任务状态:<span :class="item.taskStatus == 1 ? 'grey' : item.taskStatus == 2 ? 'green' : item.taskStatus == 3 ? 'blue' : 'red'">{{ item.taskStatus == 1 ? '待巡检' : item.taskStatus == 2 ? '巡检中' : item.taskStatus == 3 ? '已巡检' : '超期未巡检' }}</span>
</div>
<div class="right-info">
<div v-if="item.taskStatus == 2" @click="toLine(item)" class="checkBtn">查看实时巡检</div>
- <div v-else class="reviewBtn" @click="toDetails('查看',item)">[查看巡检记录]</div>
+ <div v-else class="reviewBtn" @click="toDetails('查看', item)">[查看巡检记录]</div>
</div>
</div>
</div>
@@ -53,14 +63,14 @@
import { inspectRecordApi } from '/@/api/intellectInspectSystem/inspectRecord';
import { useRouter } from 'vue-router';
import inspectRecordDialog from './components/inspectRecordDialog.vue';
-import {departmentApi} from "/@/api/systemManage/department";
+import { departmentApi } from '/@/api/systemManage/department';
// 定义接口来定义对象的类型
interface stateType {
tableData: Array<string>;
- unchecked: null | number,
- unusual: null | number,
- uncheckedList: [],
- abnormalList: [],
+ unchecked: null | number;
+ unusual: null | number;
+ uncheckedList: [];
+ abnormalList: [];
pageIndex: number;
pageSize: number;
totalSize: number;
@@ -121,16 +131,16 @@
onMounted(() => {
getInspectRecord();
getDayData();
- getDepartmentData()
+ getDepartmentData();
});
// 分页获取工作时段列表
const getInspectRecord = async () => {
- const data = { pageSize: state.pageSize, pageIndex: state.pageIndex};
+ const data = { pageSize: state.pageSize, pageIndex: state.pageIndex };
let res = await inspectRecordApi().getInspectRecordByIndex(data);
- if (res.data.code === '200'){
- state.tableData = res.data.data.records
- state.totalSize = res.data.data.total
+ if (res.data.code === '200') {
+ state.tableData = res.data.data.records;
+ state.totalSize = res.data.data.total;
} else {
ElMessage({
type: 'warning',
@@ -155,11 +165,11 @@
const getDayData = async () => {
let res = await inspectRecordApi().getDayRecord();
if (res.data.code === '200') {
- state.unchecked = res.data.data.noCheckTaskCount
- state.unusual = res.data.data.abnormalTaskCount
- state.uncheckedList = res.data.data.noCheckTasks
- console.log(state.uncheckedList,'555555555555555')
- state.abnormalList = JSON.parse(JSON.stringify(res.data.data.abnormalTasks))
+ state.unchecked = res.data.data.noCheckTaskCount;
+ state.unusual = res.data.data.abnormalTaskCount;
+ state.uncheckedList = JSON.parse(JSON.stringify(res.data.data.noCheckTasks));
+ console.log(state.uncheckedList, '555555555555555');
+ state.abnormalList = JSON.parse(JSON.stringify(res.data.data.abnormalTasks));
} else {
ElMessage({
type: 'warning',
@@ -177,27 +187,28 @@
getInspectRecord();
};
- const toLine = (item) =>{
- let id = JSON.parse(JSON.stringify(item)).id
+ const toLine = (item) => {
+ let id = JSON.parse(JSON.stringify(item)).id;
router.push({
path: 'intelligentLine',
query: {
id: id
}
});
- }
+ };
- const toOverTime = (id) =>{
- console.log(state.uncheckedList,'list')
+ const toOverTime = (id) => {
+ console.log(state.uncheckedList, 'list');
+ debugger;
router.push({
path: 'inspectRecord',
query: {
id: id,
- dataList: state.uncheckedList,
+ dataList: JSON.stringify(state.uncheckedList),
total: state.uncheckedList.length
}
});
- }
+ };
// const toUnusual = (status) =>{
// router.push({
@@ -211,7 +222,7 @@
// }
const toDetails = (type: string, item) => {
inspectRecordDialogRef.value.showInspectRecordDialog(type, item, state.workTypeList, state.departmentList, state.timeType, state.classGroupList, state.quotaList, state.inspectPointAllList);
- }
+ };
return {
View,
Edit,
@@ -234,27 +245,27 @@
<style scoped lang="scss">
$homeNavLengh: 8;
@media screen and (min-width: 1366px) {
- .topCard{
+ .topCard {
display: flex;
align-items: center;
justify-content: space-between;
font-weight: bolder;
- .top-info{
+ .top-info {
display: flex;
font-size: 16px;
align-items: center;
padding: 10px 15px;
- background: #FFD057;
+ background: #ffd057;
border-radius: 8px;
- border: 1px solid #F3001E;
+ border: 1px solid #f3001e;
- &>div{
+ & > div {
vertical-align: middle;
white-space: nowrap;
- span{
+ span {
font-size: 22px;
- color: #F3001E;
+ color: #f3001e;
margin: 0 4px;
cursor: pointer;
}
@@ -269,14 +280,14 @@
font-size: 18px;
color: #333;
overflow-x: auto;
- &>span{
+ & > span {
white-space: nowrap;
}
- p{
+ p {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
- &>span{
+ & > span {
white-space: nowrap;
}
}
@@ -294,7 +305,7 @@
font-size: 16px;
color: #fff;
- div{
+ div {
white-space: nowrap;
}
}
@@ -308,14 +319,14 @@
font-size: 15px;
color: #333;
overflow-x: auto;
- &>span{
+ & > span {
white-space: nowrap;
}
- p{
+ p {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
- &>span{
+ & > span {
white-space: nowrap;
}
}
@@ -332,7 +343,7 @@
align-items: center;
font-size: 13px;
color: #fff;
- div{
+ div {
white-space: nowrap;
}
}
@@ -346,14 +357,14 @@
font-size: 12px;
color: #333;
overflow-x: auto;
- &>span{
+ & > span {
white-space: nowrap;
}
- p{
+ p {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
- &>span{
+ & > span {
white-space: nowrap;
}
}
@@ -370,7 +381,7 @@
align-items: center;
font-size: 12px;
color: #fff;
- div{
+ div {
white-space: nowrap;
}
}
@@ -387,7 +398,7 @@
background: #fff;
border-radius: 4px;
- .title{
+ .title {
font-size: 20px;
font-weight: bolder;
}
@@ -403,62 +414,58 @@
padding: 10px 15px;
border-radius: 8px;
- .left-info{
-
- .num{
+ .left-info {
+ .num {
font-weight: bolder;
margin-right: 10px;
}
- .place{
+ .place {
font-weight: bolder;
}
- .time{
+ .time {
font-weight: bolder;
margin-right: 5px;
}
- .name{
+ .name {
font-weight: bolder;
margin: 0 5px;
font-weight: bolder;
}
}
- .mid-info{
-
- span{
+ .mid-info {
+ span {
font-weight: bolder;
}
- .grey{
+ .grey {
color: #999;
}
- .green{
+ .green {
color: #44b100;
}
- .blue{
+ .blue {
color: #409eff;
}
- .red{
+ .red {
color: red;
}
}
- .right-info{
-
-
- .checkBtn{
+ .right-info {
+ .checkBtn {
padding: 10px 15px;
background: #409eff;
border-radius: 4px;
cursor: pointer;
}
- .reviewBtn{
+ .reviewBtn {
margin: 10px 15px;
cursor: pointer;
color: #44b100;
}
}
}
- .list{
+ .list {
height: calc(100% - 60px);
overflow-y: auto;
}
diff --git a/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue b/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue
index fb2865d..70255ce 100644
--- a/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue
+++ b/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue
@@ -100,7 +100,7 @@
import { teamManageApi } from '/@/api/systemManage/personShiftManage/teamManage';
import { inspectPointApi } from '/@/api/intellectInspectSystem/inspectPointManage';
import { inspectTaskApi } from '/@/api/intellectInspectSystem/inspectTask';
-import {useRoute} from "vue-router";
+import { useRoute } from 'vue-router';
let global: any = {
homeChartOne: null,
homeChartTwo: null,
@@ -172,8 +172,8 @@
}
},
workTypeList: [
- { id: 1, name: '单次任务' },
- { id: 2, name: '周期任务' }
+ { id: 1, name: '周期任务' },
+ { id: 2, name: '单次任务' }
],
resultStatusList: [
{ id: 0, name: '正常' },
@@ -312,11 +312,10 @@
// 页面加载时
onMounted(() => {
- if(route.query.id){
- console.log(route.query.dataList,'list')
- state.tableData.params.taskStatus = Number(route.query.id)
- state.tableData.inspectRecordData = route.query.dataList
- state.tableData.total = Number(route.query.total)
+ if (route.query.id) {
+ state.tableData.params.taskStatus = Number(route.query.id);
+ state.tableData.inspectRecordData = JSON.parse(route.query.dataList);
+ state.tableData.total = Number(route.query.total);
}
// getInspectRecord();
getQuotaList();
diff --git a/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue b/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue
index caac038..642567c 100644
--- a/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue
+++ b/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue
@@ -27,7 +27,7 @@
</el-select>
</el-form-item>
</el-col>
- <el-col :span="12" style="margin-bottom: 20px" v-if="inspectTaskForm.workType === 2">
+ <el-col :span="12" style="margin-bottom: 20px" v-if="inspectTaskForm.workType === 1">
<el-form-item label="巡检周期" prop="checkCycle">
<el-input v-model="inspectTaskForm.checkCycle" @input="onVerifiyNumberInteger($event, 'checkCycle')" :disabled="!inspectPointConfirm" placeholder="请输入巡检周期" class="input-add">
<template #append>
diff --git a/src/views/intellectInspect/inspectTaskManage/inspectTask/index.vue b/src/views/intellectInspect/inspectTaskManage/inspectTask/index.vue
index af20c4e..f5c4e63 100644
--- a/src/views/intellectInspect/inspectTaskManage/inspectTask/index.vue
+++ b/src/views/intellectInspect/inspectTaskManage/inspectTask/index.vue
@@ -80,7 +80,22 @@
<el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip></el-table-column>
<el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip></el-table-column>
<el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip></el-table-column>
- <el-table-column property="status" label="状态" width="60" />
+ <el-table-column property="taskUnitStatus" label="状态" width="60">
+ <template #default="scope">
+ <div>
+ <div v-if="scope.row.taskUnitStatus === 1">
+ <el-tag :type="''">
+ {{ '开启' }}
+ </el-tag>
+ </div>
+ <div v-if="scope.row.taskUnitStatus === 2">
+ <el-tag :type="'danger'">
+ {{ '关闭' }}
+ </el-tag>
+ </div>
+ </div>
+ </template>
+ </el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="300">
<template #default="scope">
<el-button link type="primary" size="small" :icon="View" @click="openInspectTaskDialog('查看', scope.row)">查看</el-button>
@@ -175,8 +190,8 @@
}
},
workTypeList: [
- { id: 1, name: '单次任务' },
- { id: 2, name: '周期任务' }
+ { id: 1, name: '周期任务' },
+ { id: 2, name: '单次任务' }
],
quotaList: [],
departmentList: [],
--
Gitblit v1.9.2