From 8e2ed696fcac962263ac7ea56bad9506728de8e0 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: Thu, 25 Aug 2022 09:53:38 +0800
Subject: [PATCH] 删除
---
.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_17_52_[Default_Changelist]/shelved.patch | 1315 ++++++++++++++++++++++++++++++++++++++++++++++++
.env.development | 4
/dev/null | 169 ------
src/views/system/user/index.vue | 4
.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_17_52__Default_Changelist_.xml | 4
.env.production | 11
src/views/system/user/component/userDialog.vue | 3
src/views/intellectInspect/inspectRecordManage/inspectRecord/components/inspectRecordDialog.vue | 5
src/views/specialWorkSystem/foundationSet/safetyAction/index.vue | 32 +
src/views/intellectInspect/inspectIndex/components/inspectRecordDialog.vue | 20
src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue | 47
11 files changed, 1,405 insertions(+), 209 deletions(-)
diff --git a/.env.development b/.env.development
index fdcc879..e88bf91 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/.env.production b/.env.production
index 968a706..ff90b90 100644
--- a/.env.production
+++ b/.env.production
@@ -5,6 +5,17 @@
VITE_API_URL = 'http://121.239.169.27:16006/safeplatform'
VITE_API_URL_OUT = 'http://121.239.169.27:16006/safeplatform-out'
VITE_API_URL_SOCKET = 'http://121.239.169.27:16006/safeplatform'
+
#VITE_API_URL = 'http://192.168.0.52:8011/safeplatform'
#VITE_API_URL_OUT = 'http://192.168.0.52:8011/safeplatform-out'
#VITE_API_URL_SOCKET = 'http://192.168.0.52:8011/safeplatform'
+
+#内网test环境
+#VITE_API_URL = 'http://192.168.0.52:7021/safeplatform'
+#VITE_API_URL_OUT = 'http://192.168.0.52:7021/safeplatform-out'
+#VITE_API_URL_SOCKET = 'http://192.168.0.52:7021/safeplatform'
+
+# 国泰线上试用环境接口地址
+#VITE_API_URL = 'http://121.239.169.27:16016/safeplatform'
+#VITE_API_URL_OUT = 'http://121.239.169.27:16016/safeplatform-out'
+#VITE_API_URL_SOCKET = 'http://121.239.169.27:16016/safeplatform'
diff --git "a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_16_15_03_\133Default_Changelist\135/shelved.patch" "b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_16_15_03_\133Default_Changelist\135/shelved.patch"
deleted file mode 100644
index 1717c72..0000000
--- "a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_16_15_03_\133Default_Changelist\135/shelved.patch"
+++ /dev/null
@@ -1,1194 +0,0 @@
-Index: src/views/specialWorkSystem/workFlow/approveBasic/components/approveBasicDialog.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 :title=\"title\" v-model=\"isShowApproveBasicDialog\" width=\"600px\" :close-on-click-modal=\"false\">\r\n <el-form :model=\"approveBasicForm\" :rules=\"approveBasicFormRules\" ref=\"approveBasicFormRef\" size=\"default\" label-width=\"120px\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"标题\" prop=\"title\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"approveBasicForm.title\" placeholder=\"请输入标题名称\" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"标准类型\" prop=\"ruleStandType\">\r\n <el-select class=\"input-add\" :disabled=\"!disabled\" v-model=\"approveBasicForm.ruleStandType\" placeholder=\"请选择标准类型\" clearable filterable>\r\n <el-option v-for=\"item in ruleStandTypeList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"最大值\" prop=\"maxVal\">\r\n <el-input v-model=\"approveBasicForm.maxVal\" type=\"number\" class=\"input-add\" placeholder=\"请根据需求选择\">\r\n <template #prepend>\r\n <el-select v-model=\"approveBasicForm.maxValMatchPattern\" placeholder=\"请根据需求选择\" style=\"width: 115px\">\r\n <el-option v-for=\"item in typeTwoList\" :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-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"最小值\" prop=\"minVal\">\r\n <el-input v-model=\"approveBasicForm.minVal\" type=\"number\" class=\"input-add\" placeholder=\"请根据需求选择\">\r\n <template #prepend>\r\n <el-select v-model=\"approveBasicForm.minValMatchPattern\" placeholder=\"请根据需求选择\" style=\"width: 115px\">\r\n <el-option v-for=\"item in typeList\" :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-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"描述\" prop=\"info\">\r\n <el-input class=\"input-add\" :rows=\"3\" v-model.trim=\"approveBasicForm.info\" type=\"textarea\" placeholder=\"请输入描述\" ></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"创建人\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"approveBasicForm.createByUserName\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"创建时间\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"approveBasicForm.gmtCreate\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"最后修改人\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"approveBasicForm.lastEditUserName\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"最后修改时间\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"approveBasicForm.gmtModitify\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n <span class=\"dialog-footer\" v-show=\"disabled\">\r\n <el-button @click=\"isShowApproveBasicDialog = !isShowApproveBasicDialog\" size=\"default\">取 消</el-button>\r\n <el-button type=\"primary\" @click=\"submitApproveBasic\" v-throttle size=\"default\">确 定</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\ninterface stateType {\r\n isShowApproveBasicDialog: Boolean;\r\n disabled: Boolean;\r\n personTime: Boolean;\r\n approveBasicForm: {\r\n ruleStandType: null|number,\r\n minVal: null|number,\r\n minValMatchPattern: null,\r\n maxVal: null|number,\r\n maxValMatchPattern: null|number,\r\n title:null| string,\r\n info:null| string,\r\n };\r\n title: string;\r\n departmentList: [];\r\n ruleStandTypeList: Array<levelListState>;\r\n typeList: Array<levelListState>;\r\n typeTwoList: Array<levelListState>;\r\n approveBasicFormRules: {};\r\n}\r\ninterface levelListState {\r\n id:number,\r\n name:string\r\n}\r\nimport { reactive, toRefs, ref } from 'vue';\r\nimport { approveBasicApi } from '/@/api/specialWorkSystem/approveBasic';\r\nimport { ElMessage } from 'element-plus';\r\nexport default {\r\n name: 'approveBasicDialog',\r\n setup(props: any, context: any) {\r\n const approveBasicFormRef = ref();\r\n const state = reactive<stateType>({\r\n title: '',\r\n disabled: false,\r\n personTime: false,\r\n departmentList: [],\r\n isShowApproveBasicDialog: false,\r\n ruleStandTypeList: [\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 ],\r\n typeList:[\r\n { id: 1, name: '大于' },\r\n { id: 2, name: '等于' },\r\n { id: 4, name: '大于等于' },\r\n ],\r\n typeTwoList:[\r\n { id: 3, name: '小于' },\r\n { id: 2, name: '等于' },\r\n { id: 5, name: '小于等于' },\r\n ],\r\n approveBasicForm: {\r\n ruleStandType: null,\r\n minVal: null,\r\n minValMatchPattern: null,\r\n maxVal: null,\r\n maxValMatchPattern: null,\r\n title: null,\r\n info: null,\r\n },\r\n approveBasicFormRules: {\r\n ruleStandType: [{ required: true, message: '请选择标准类型', trigger: 'change' }],\r\n minVal: [{ required: true, message: '请填写标最低值', trigger: 'blur' }],\r\n maxVal: [{ required: true, message: '请填写标最高值', trigger: 'blur' }],\r\n title: [{ required: true, message: '请选择风险等级', trigger: 'blur' }],\r\n info: [{ required: true, message: '请填写描述信息', trigger: 'blur' }]\r\n }\r\n });\r\n\r\n //打开模态框\r\n const showApproveBasicDialog = (type: string, value: object, department: []) => {\r\n state.isShowApproveBasicDialog = true;\r\n state.departmentList = department;\r\n setTimeout(() => {\r\n approveBasicFormRef.value.clearValidate();\r\n });\r\n if (type === '新增') {\r\n state.disabled = true;\r\n state.personTime = false;\r\n state.title = '新增审批标准';\r\n state.approveBasicForm = {\r\n ruleStandType: null,\r\n minVal: null,\r\n minValMatchPattern: null,\r\n maxVal: null,\r\n maxValMatchPattern: null,\r\n title: null,\r\n info: null,\r\n };\r\n } else if (type === '查看') {\r\n state.disabled = false;\r\n state.personTime = true;\r\n state.title = '查看审批标准';\r\n state.approveBasicForm = JSON.parse(JSON.stringify(value));\r\n } else {\r\n state.disabled = true;\r\n state.personTime = false;\r\n state.title = '修改审批标准';\r\n state.approveBasicForm = JSON.parse(JSON.stringify(value));\r\n }\r\n };\r\n\r\n //新增修改提交\r\n const submitApproveBasic = async () => {\r\n approveBasicFormRef.value.validate(async (valid: Boolean) => {\r\n if (valid) {\r\n if (state.title === '新增审批标准') {\r\n let res = await approveBasicApi().addApproveBasic(state.approveBasicForm);\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 state.isShowApproveBasicDialog = false;\r\n context.emit('refreshApproveBasic');\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 approveBasicApi().modApproveBasic(state.approveBasicForm);\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 state.isShowApproveBasicDialog = false;\r\n context.emit('refreshApproveBasic');\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 return {\r\n ...toRefs(state),\r\n approveBasicFormRef,\r\n submitApproveBasic,\r\n showApproveBasicDialog\r\n };\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped></style>\r\n
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/src/views/specialWorkSystem/workFlow/approveBasic/components/approveBasicDialog.vue b/src/views/specialWorkSystem/workFlow/approveBasic/components/approveBasicDialog.vue
---- a/src/views/specialWorkSystem/workFlow/approveBasic/components/approveBasicDialog.vue (revision a1d03a0e810219f8353748f6e55699bf2e1a77a6)
-+++ b/src/views/specialWorkSystem/workFlow/approveBasic/components/approveBasicDialog.vue (date 1660630612554)
-@@ -39,7 +39,7 @@
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="描述" prop="info">
-- <el-input class="input-add" :rows="3" v-model.trim="approveBasicForm.info" type="textarea" placeholder="请输入描述" ></el-input>
-+ <el-input class="input-add" :rows="3" v-model.trim="approveBasicForm.info" type="textarea" placeholder="请输入描述"></el-input>
- </el-form-item>
- </el-col>
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-show="personTime">
-@@ -80,13 +80,14 @@
- disabled: Boolean;
- personTime: Boolean;
- approveBasicForm: {
-- ruleStandType: null|number,
-- minVal: null|number,
-- minValMatchPattern: null,
-- maxVal: null|number,
-- maxValMatchPattern: null|number,
-- title:null| string,
-- info:null| string,
-+ ruleStandId: null | number;
-+ ruleStandType: null | number;
-+ minVal: null | number;
-+ minValMatchPattern: null;
-+ maxVal: null | number;
-+ maxValMatchPattern: null | number;
-+ title: null | string;
-+ info: null | string;
- };
- title: string;
- departmentList: [];
-@@ -96,9 +97,20 @@
- approveBasicFormRules: {};
- }
- interface levelListState {
-- id:number,
-- name:string
-+ id: number;
-+ name: string;
- }
-+interface approveBasicForm {
-+ ruleStandId: null | number;
-+ ruleStandType: null | number;
-+ minVal: null | number;
-+ minValMatchPattern: null;
-+ maxVal: null | number;
-+ maxValMatchPattern: null | number;
-+ title: null | string;
-+ info: null | string;
-+}
-+
- import { reactive, toRefs, ref } from 'vue';
- import { approveBasicApi } from '/@/api/specialWorkSystem/approveBasic';
- import { ElMessage } from 'element-plus';
-@@ -119,26 +131,27 @@
- { id: 4, name: '硫化氢浓度' },
- { id: 5, name: '温度' },
- { id: 6, name: '压力' },
-- { id: 7, name: '震动' },
-+ { id: 7, name: '震动' }
- ],
-- typeList:[
-+ typeList: [
- { id: 1, name: '大于' },
- { id: 2, name: '等于' },
-- { id: 4, name: '大于等于' },
-+ { id: 4, name: '大于等于' }
- ],
-- typeTwoList:[
-+ typeTwoList: [
- { id: 3, name: '小于' },
- { id: 2, name: '等于' },
-- { id: 5, name: '小于等于' },
-+ { id: 5, name: '小于等于' }
- ],
- approveBasicForm: {
-+ ruleStandId: null,
- ruleStandType: null,
- minVal: null,
- minValMatchPattern: null,
- maxVal: null,
- maxValMatchPattern: null,
- title: null,
-- info: null,
-+ info: null
- },
- approveBasicFormRules: {
- ruleStandType: [{ required: true, message: '请选择标准类型', trigger: 'change' }],
-@@ -161,13 +174,14 @@
- state.personTime = false;
- state.title = '新增审批标准';
- state.approveBasicForm = {
-+ ruleStandId: null,
- ruleStandType: null,
- minVal: null,
- minValMatchPattern: null,
- maxVal: null,
- maxValMatchPattern: null,
- title: null,
-- info: null,
-+ info: null
- };
- } else if (type === '查看') {
- state.disabled = false;
-@@ -179,6 +193,9 @@
- state.personTime = false;
- state.title = '修改审批标准';
- state.approveBasicForm = JSON.parse(JSON.stringify(value));
-+ // for (let i in state.approveBasicForm) {
-+ // state.approveBasicForm[i] = approveBasicForm[i];
-+ // }
- }
- };
-
-Index: src/views/specialWorkSystem/workFlow/approveBasic/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=\"openApproveBasicDialog('新增', {})\">新建</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.approveBasicData\" style=\"width: 100%\" height=\"calc(100% - 100px)\" :header-cell-style=\"{ background: '#fafafa' }\">\r\n <el-table-column property=\"title\" label=\"标题\" />\r\n <el-table-column property=\"ruleStandType\" label=\"标准类型\">\r\n <template #default=\"scope\">\r\n <span>\r\n {{ parseNumber(scope.row.ruleStandType, '标准类型') }}\r\n </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column property=\"minVal\" label=\"最低值\">\r\n <template #default=\"scope\">\r\n <span>\r\n {{ parseNumber(scope.row.minValMatchPattern, '最低值') }}\r\n </span>\r\n <span>\r\n {{scope.row.minVal}}\r\n </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column property=\"maxVal\" label=\"最高值\">\r\n <template #default=\"scope\">\r\n <span>\r\n {{ parseNumber(scope.row.maxValMatchPattern, '最高值') }}\r\n </span>\r\n <span>\r\n {{ scope.row.maxVal }}\r\n </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column property=\"info\" 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=\"openApproveBasicDialog('查看', scope.row)\">查看</el-button>\r\n <el-button link type=\"primary\" size=\"small\" :icon=\"Edit\" @click=\"openApproveBasicDialog('修改', scope.row)\">修改</el-button>\r\n <el-button link type=\"danger\" size=\"small\" :icon=\"Delete\" @click=\"deleteApproveBasic(scope.row)\">删除</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <br>\r\n <el-pagination\r\n @size-change=\"onHandleSizeChange\"\r\n @current-change=\"onHandleCurrentChange\"\r\n :pager-count=\"5\"\r\n :page-sizes=\"[10, 20, 30]\"\r\n v-model:current-page=\"tableData.params.pageIndex\"\r\n background\r\n v-model:page-size=\"tableData.params.pageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"tableData.total\"\r\n class=\"page-position\">\r\n </el-pagination>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <approve-basic-dialog ref=\"approveBasicDialogRef\" @refreshApproveBasic=\"getInspectionTask\"></approve-basic-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 { approveBasicApi } from '/@/api/specialWorkSystem/approveBasic';\r\nimport { departmentApi } from '/@/api/systemManage/department';\r\nimport approveBasicDialog from '/@/views/specialWorkSystem/workFlow/approveBasic/components/approveBasicDialog.vue';\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 approveBasicData: [];\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 ruleStandTypeList: Array<type>;\r\n typeList: Array<type>;\r\n typeTwoList: 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: { approveBasicDialog },\r\n setup() {\r\n const approveBasicDialogRef = ref();\r\n const state = reactive<stateType>({\r\n tableData: {\r\n approveBasicData: [],\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 ruleStandTypeList: [\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 ],\r\n typeList:[\r\n { id: 1, name: '大于' },\r\n { id: 2, name: '等于' },\r\n { id: 4, name: '大于等于' },\r\n ],\r\n typeTwoList:[\r\n { id: 3, name: '小于' },\r\n { id: 2, name: '等于' },\r\n { id: 5, name: '小于等于' },\r\n ],\r\n\r\n });\r\n\r\n //获取巡检任务数据\r\n const getInspectionTask = async () => {\r\n let res = await approveBasicApi().getApproveBasicList(state.tableData.params);\r\n if (res.data.code === '200') {\r\n state.tableData.approveBasicData = res.data.data;\r\n state.tableData.total = 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 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 deleteApproveBasic = (row: any) => {\r\n ElMessageBox.confirm(`此操作将永久删除该任务:“${row.title}”,是否继续?`, '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n })\r\n .then(async () => {\r\n let res = await approveBasicApi().deleteApproveBasic({ 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 openApproveBasicDialog = (type: string, value: {}) => {\r\n approveBasicDialogRef.value.showApproveBasicDialog(type, value);\r\n };\r\n\r\n const parseNumber = (value: number, type: string) => {\r\n if (type === '标准类型') {\r\n return state.ruleStandTypeList.find((item) => item.id === value)?.name;\r\n } else if (type === '最高值') {\r\n return state.typeTwoList.find((item) => item.id == value)?.name;\r\n } else {\r\n return state.typeList.find((item) => item.id == value)?.name;\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 });\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 deleteApproveBasic,\r\n getInspectionTask,\r\n onHandleSizeChange,\r\n onHandleCurrentChange,\r\n approveBasicDialogRef,\r\n openApproveBasicDialog,\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 - 114px);\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/specialWorkSystem/workFlow/approveBasic/index.vue b/src/views/specialWorkSystem/workFlow/approveBasic/index.vue
---- a/src/views/specialWorkSystem/workFlow/approveBasic/index.vue (revision a1d03a0e810219f8353748f6e55699bf2e1a77a6)
-+++ b/src/views/specialWorkSystem/workFlow/approveBasic/index.vue (date 1660631242441)
-@@ -5,14 +5,12 @@
- <div class="basic-line">
- <span>任务类型:</span>
- <el-select v-model="tableData.params.workType" clearable filterable class="input-box" placeholder="任务类型">
-- <el-option v-for="item in workTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>
-+ <!-- <el-option v-for="item in workTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
- </el-select>
- </div>
- <div class="basic-line">
- <span>执行班组:</span>
-- <el-select v-model="tableData.params.execClassgroupId" clearable filterable class="input-box" placeholder="执行班组">
-- <el-option v-for="item in classGroupList" :key="item.id" :label="item.groupName" :value="item.id"></el-option>
-- </el-select>
-+ <el-select v-model="tableData.params.execClassgroupId" clearable filterable class="input-box" placeholder="执行班组"> </el-select>
- </div>
- <div style="padding-bottom: 10px">
- <el-button type="primary" @click="getInspectionTask">查询</el-button>
-@@ -28,7 +26,8 @@
- </el-col>
- <el-button type="primary" :icon="Refresh" size="default" />
- </el-row>
-- <el-table ref="multipleTableRef" :data="tableData.approveBasicData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }">
-+ <el-table ref="multipleTableRef" :data="tableData.approveBasicData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }" @selection-change="handleSelectionChange">
-+ <el-table-column type="selection" width="55" />
- <el-table-column property="title" label="标题" />
- <el-table-column property="ruleStandType" label="标准类型">
- <template #default="scope">
-@@ -43,13 +42,13 @@
- {{ parseNumber(scope.row.minValMatchPattern, '最低值') }}
- </span>
- <span>
-- {{scope.row.minVal}}
-+ {{ scope.row.minVal }}
- </span>
- </template>
- </el-table-column>
- <el-table-column property="maxVal" label="最高值">
- <template #default="scope">
-- <span>
-+ <span>
- {{ parseNumber(scope.row.maxValMatchPattern, '最高值') }}
- </span>
- <span>
-@@ -71,20 +70,8 @@
- </template>
- </el-table-column>
- </el-table>
-- <br>
-- <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>
--
-+ <br />
-+ <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>
- </div>
- </div>
- </div>
-@@ -125,14 +112,16 @@
- ruleStandTypeList: Array<type>;
- typeList: Array<type>;
- typeTwoList: Array<type>;
-+ deleteList: {
-+ ids: Array<number>;
-+ };
- }
- interface type {
- id: number;
- name: string;
- }
--interface classGroup {
-- id: number;
-- groupName: string;
-+interface ruleType {
-+ ruleStandId: number;
- }
- export default {
- name: 'index',
-@@ -162,19 +151,21 @@
- { id: 4, name: '硫化氢浓度' },
- { id: 5, name: '温度' },
- { id: 6, name: '压力' },
-- { id: 7, name: '震动' },
-+ { id: 7, name: '震动' }
- ],
-- typeList:[
-+ typeList: [
- { id: 1, name: '大于' },
- { id: 2, name: '等于' },
-- { id: 4, name: '大于等于' },
-+ { id: 4, name: '大于等于' }
- ],
-- typeTwoList:[
-+ typeTwoList: [
- { id: 3, name: '小于' },
- { id: 2, name: '等于' },
-- { id: 5, name: '小于等于' },
-+ { id: 5, name: '小于等于' }
- ],
--
-+ deleteList: {
-+ ids: []
-+ }
- });
-
- //获取巡检任务数据
-@@ -212,7 +203,7 @@
- type: 'warning'
- })
- .then(async () => {
-- let res = await approveBasicApi().deleteApproveBasic({ id: row.id });
-+ let res = await approveBasicApi().deleteApproveBasic(state.deleteList);
- if (res.data.code === '200') {
- ElMessage({
- type: 'success',
-@@ -230,6 +221,12 @@
- .catch(() => {});
- };
-
-+ const handleSelectionChange = (val: Array<ruleType>) => {
-+ state.deleteList.ids = val.map((item) => {
-+ return item.ruleStandId;
-+ });
-+ };
-+
- const openApproveBasicDialog = (type: string, value: {}) => {
- approveBasicDialogRef.value.showApproveBasicDialog(type, value);
- };
-@@ -281,6 +278,7 @@
- Plus,
- reset,
- parseNumber,
-+ handleSelectionChange,
- deleteApproveBasic,
- getInspectionTask,
- onHandleSizeChange,
-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\nVITE_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://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://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\nVITE_API_URL_SOCKET = 'http://192.168.0.29:8018'\r\n#黄振websocket接口地址
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/.env.development b/.env.development
---- a/.env.development (revision a1d03a0e810219f8353748f6e55699bf2e1a77a6)
-+++ b/.env.development (date 1660616346693)
-@@ -1,7 +1,7 @@
- # 本地环境
- 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'
-@@ -29,4 +29,4 @@
- #线上正式环境外包接口地址
-
- VITE_API_URL_SOCKET = 'http://192.168.0.29:8018'
--#黄振websocket接口地址
-\ No newline at end of file
-+#黄振websocket接口地址
-Index: src/views/doublePrevent/dpIndex/index.vue
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
-<+><template>\r\n <div class=\"home-container\">\r\n <div class=\"main-cont\">\r\n <div class=\"table-item\">\r\n <div class=\"item-head\">\r\n <span>告警风险事件概括</span>\r\n <div @click=\"toRiskEve\">查看更多>></div>\r\n </div>\r\n <el-table :data=\"eventData\" style=\"width: 100%\" :header-cell-style=\"{ background: '#fafafa' }\">\r\n <el-table-column prop=\"riskEventName\" label=\"风险事件名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"riskUnitName\" label=\"风险分析单元名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"createByUserName\" 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>\r\n </div>\r\n <div class=\"table-item table-item2\">\r\n <div class=\"item-head\">\r\n <span>隐患状态详情</span>\r\n <div @click=\"toRiskStatus\">查看更多>></div>\r\n </div>\r\n <el-table :data=\"riskStatusData\" style=\"width: 100%\" :header-cell-style=\"{ background: '#fafafa' }\">\r\n <el-table-column type=\"index\" label=\"序号\" width=\"60\" />\r\n<!-- <el-table-column prop=\"reportTime\" label=\"上报时间\" show-overflow-tooltip width=\"170px\"></el-table-column>-->\r\n <el-table-column prop=\"dangerCode\" label=\"隐患名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"dangerLevel\" label=\"隐患等级\" show-overflow-tooltip>\r\n <template #default=\"scope\">\r\n <div :style=\"{color: scope.row.dangerLevel==1?'#409eff':'#ff0000'}\">\r\n {{scope.row.dangerLevel==1?'一般隐患':'重大隐患'}}\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"reportTime\" label=\"上报时间\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"dangerStatus\" label=\"隐患状态\" show-overflow-tooltip>\r\n <template #default=\"scope\">\r\n <div :style=\"{color: scope.row.dangerStatus==0 || scope.row.dangerStatus==1 ?'#67C23A':(scope.row.dangerStatus==2 || scope.row.dangerStatus==3?'#F56C6C':'#409EFF')}\">\r\n {{scope.row.dangerStatus==0?'整改中':(scope.row.dangerStatus==1?'待验收':(scope.row.dangerStatus==2?'延期整改':(scope.row.dangerStatus==3?'超期未整改':'已验收')))}}\r\n </div>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </div>\r\n <div class=\"table-item\">\r\n <div class=\"item-head\">\r\n <span>隐患整改情况</span>\r\n </div>\r\n <div id=\"riskFix\"></div>\r\n </div>\r\n <div class=\"table-item\">\r\n <div class=\"item-head\">\r\n <span>风险装置列表</span>\r\n <div @click=\"toRevice\">查看更多>></div>\r\n </div>\r\n <el-table class=\"deviceTable\" :data=\"deviceData\" style=\"width: 100%\" :header-cell-style=\"{ background: '#fafafa' }\">\r\n <el-table-column prop=\"produceDeviceName\" label=\"装置名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"riskLevel\" label=\"风险等级\" show-overflow-tooltip>\r\n <template #default=\"scope\">\r\n <div :style=\"{color: scope.row.riskLevel==1?'#409EFF':(scope.row.riskLevel==2?'#67C23A':(scope.row.riskLevel==3?'#E6A23C':'#F56C6C'))}\">\r\n {{scope.row.riskLevel==1?'低风险':(scope.row.riskLevel==2?'一般风险':(scope.row.riskLevel==3?'较大风险':'重大风险'))}}\r\n </div>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"deviceLevel\">\r\n <div class=\"levelItem red\">\r\n <span>0</span>\r\n <div>重大风险</div>\r\n </div>\r\n <div class=\"levelItem orange\">\r\n <span>2</span>\r\n <div>较大风险</div>\r\n </div>\r\n <div class=\"levelItem green\">\r\n <span>8</span>\r\n <div>一般风险</div>\r\n </div>\r\n <div class=\"levelItem blue\">\r\n <span>10</span>\r\n <div>低风险</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-item\">\r\n <div class=\"item-head\">\r\n <span>隐患等级分布</span>\r\n </div>\r\n <div id=\"riskLevel\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\n import { toRefs, reactive, ref, onMounted } from 'vue';\r\n import { storeToRefs } from 'pinia';\r\n import { initBackEndControlRoutes } from '/@/router/backEnd';\r\n import { useUserInfo } from '/@/stores/userInfo';\r\n import { Session } from '/@/utils/storage';\r\n import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue';\r\n import { ElTable } from 'element-plus';\r\n import { FormInstance, FormRules, ElMessage } from 'element-plus';\r\n import { safetyRiskEventApi } from '/@/api/doublePreventSystem/safetyRiskEvent/index.ts';\r\n import { useRouter } from 'vue-router';\r\n import {hiddenReportApi} from \"/@/api/doublePreventSystem/report\";\r\n import { productionDeviceApi } from '/@/api/doublePreventSystem/productionDevice/index.ts';\r\n import * as echarts from 'echarts/core';\r\n import {TooltipComponent, TooltipComponentOption, LegendComponent, LegendComponentOption} from 'echarts/components';\r\n import {PieChart, PieSeriesOption} from 'echarts/charts';\r\n import {LabelLayout} from 'echarts/features';\r\n import {CanvasRenderer} from 'echarts/renderers';\r\n echarts.use([TooltipComponent, LegendComponent, PieChart, CanvasRenderer, LabelLayout]);\r\n // 定义接口来定义对象的类型\r\n interface stateType {\r\n eventData: Array<any>;\r\n riskStatusData: Array<any>;\r\n deviceData: Array<any>;\r\n pageIndex: number;\r\n pageSize: number;\r\n totalSize: number;\r\n departmentList: [];\r\n classGroupList: Array<classGroup>;\r\n inspectPointAllList: [];\r\n }\r\n interface type {\r\n id: number;\r\n name: string;\r\n }\r\n interface classGroup {\r\n id: number;\r\n groupName: string;\r\n }\r\n export default {\r\n name: 'workingHours',\r\n components: {},\r\n setup() {\r\n const router = useRouter();\r\n const state = reactive<stateType>({\r\n pageIndex: 1,\r\n pageSize: 5,\r\n totalSize: 0,\r\n eventData: [],\r\n riskStatusData: [],\r\n deviceData: [],\r\n departmentList: [],\r\n classGroupList: [],\r\n inspectPointAllList: []\r\n });\r\n\r\n // 页面载入时执行方法\r\n onMounted(() => {\r\n getEventRecord();\r\n getRiskStatusRecord();\r\n getDeviceRecord();\r\n initRiskFix();\r\n initRiskLevel()\r\n });\r\n\r\n // 告警列表\r\n const getEventRecord = async () => {\r\n const data = { pageSize: state.pageSize, pageIndex: state.pageIndex};\r\n let res = await safetyRiskEventApi().getSafetyRiskEventList(data)\r\n if (res.data.code === '200'){\r\n state.eventData = 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 getRiskStatusRecord = async () => {\r\n const data = { pageSize: state.pageSize, pageIndex: state.pageIndex};\r\n let res = await hiddenReportApi().getHiddenReportList(data)\r\n if (res.data.code === '200'){\r\n state.riskStatusData = 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 getDeviceRecord = async () => {\r\n const data = { pageSize: state.pageSize, pageIndex: state.pageIndex};\r\n let res = await productionDeviceApi().getProductionDeviceList(data)\r\n if (res.data.code === '200'){\r\n state.deviceData = 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 initRiskFix =()=>{\r\n var dom = document.getElementById('riskFix');\r\n var myChart = echarts.init(dom, null, {\r\n renderer: 'canvas',\r\n useDirtyRect: false\r\n });\r\n var app = {};\r\n\r\n var option;\r\n\r\n option = {\r\n tooltip: {\r\n trigger: 'item'\r\n },\r\n legend: {\r\n bottom: '10%',\r\n left: 'center'\r\n },\r\n series: [\r\n {\r\n name: 'Access From',\r\n type: 'pie',\r\n radius: ['35%', '60%'],\r\n avoidLabelOverlap: false,\r\n itemStyle: {\r\n borderRadius: 6,\r\n borderColor: '#fff',\r\n borderWidth: 2\r\n },\r\n label: {\r\n show: false,\r\n position: 'center'\r\n },\r\n emphasis: {\r\n label: {\r\n show: true,\r\n fontSize: '40',\r\n fontWeight: 'bold'\r\n }\r\n },\r\n labelLine: {\r\n show: false\r\n },\r\n data: [\r\n { value: 1048, name: '整改中' },\r\n { value: 735, name: '待验收' },\r\n { value: 580, name: '延期整改' },\r\n { value: 484, name: '超期未整改' },\r\n { value: 300, name: '已验收' }\r\n ],\r\n center: ['50%','35%']\r\n }\r\n ]\r\n };\r\n\r\n if (option && typeof option === 'object') {\r\n myChart.setOption(option);\r\n }\r\n\r\n window.addEventListener('resize', myChart.resize);\r\n }\r\n\r\n // 隐患整改情况\r\n const initRiskLevel =()=>{\r\n var dom = document.getElementById('riskLevel');\r\n var myChart = echarts.init(dom, null, {\r\n renderer: 'canvas',\r\n useDirtyRect: false\r\n });\r\n var app = {};\r\n\r\n var option;\r\n\r\n option = {\r\n tooltip: {\r\n trigger: 'item'\r\n },\r\n legend: {\r\n bottom: '10%',\r\n left: 'center'\r\n },\r\n series: [\r\n {\r\n name: 'Access From',\r\n type: 'pie',\r\n radius: ['35%', '60%'],\r\n avoidLabelOverlap: false,\r\n itemStyle: {\r\n borderRadius: 6,\r\n borderColor: '#fff',\r\n borderWidth: 2\r\n },\r\n label: {\r\n show: false,\r\n position: 'center'\r\n },\r\n emphasis: {\r\n label: {\r\n show: true,\r\n fontSize: '40',\r\n fontWeight: 'bold'\r\n }\r\n },\r\n labelLine: {\r\n show: false\r\n },\r\n data: [\r\n { value: 1048, name: '一般隐患' },\r\n { value: 235, name: '重大隐患' }\r\n ],\r\n center: ['50%','35%']\r\n }\r\n ]\r\n };\r\n\r\n if (option && typeof option === 'object') {\r\n myChart.setOption(option);\r\n }\r\n\r\n window.addEventListener('resize', myChart.resize);\r\n }\r\n\r\n const toRiskEve = ()=>{\r\n router.push({\r\n path: 'event',\r\n });\r\n }\r\n\r\n const toRiskStatus = ()=>{\r\n router.push({\r\n path: 'hiddenReport',\r\n });\r\n }\r\n\r\n const toRevice = ()=>{\r\n router.push({\r\n path: 'device',\r\n });\r\n }\r\n\r\n return {\r\n View,\r\n Edit,\r\n Delete,\r\n Refresh,\r\n Plus,\r\n router,\r\n toRiskEve,\r\n toRiskStatus,\r\n toRevice,\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 height: 100%;\r\n padding: 20px;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n .main-cont {\r\n width: 100%;\r\n height: 100%;\r\n display: grid;\r\n grid-gap: 20px;\r\n grid-template-columns: repeat(3, 1fr);\r\n grid-template-rows: repeat(2, 1fr);\r\n grid-auto-flow: row;\r\n justify-content: center;\r\n .table-item{\r\n border-radius: 8px;\r\n background: #fff;\r\n padding: 20px;\r\n\r\n .item-head{\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n height: 30px;\r\n margin-bottom: 20px;\r\n span{\r\n font-size: 20px;\r\n color: #333;\r\n font-weight: bolder;\r\n }\r\n div{\r\n cursor: pointer;\r\n\r\n &:hover{\r\n color: #409eff;\r\n }\r\n }\r\n }\r\n #riskFix{\r\n height: calc(50vh - 80px);\r\n }\r\n #riskLevel{\r\n height: calc(50vh - 80px);\r\n }\r\n .deviceTable{\r\n height: calc((50vh - 100px) / 3 * 2);\r\n }\r\n .deviceLevel{\r\n height: calc((50vh - 100px) / 3);\r\n display: grid;\r\n grid-gap: 10px;\r\n grid-template-columns: repeat(4, 1fr);\r\n align-items: center;\r\n justify-content: space-between;\r\n\r\n .levelItem{\r\n display: flex;\r\n margin-top: 20px;\r\n flex-direction: column;\r\n align-items: center;\r\n padding: 15px;\r\n box-sizing: border-box;\r\n border-radius: 8px;\r\n color: #fff;\r\n font-size: 16px;\r\n\r\n span{\r\n margin-bottom: 10px;\r\n font-size: 24px;\r\n font-weight: bolder;\r\n }\r\n }\r\n .red{\r\n background: #F56C6C;\r\n }\r\n .orange{\r\n background: #E6A23C;\r\n }\r\n .green{\r\n background: #67C23A;\r\n }\r\n .blue{\r\n background: #409EFF;\r\n }\r\n }\r\n }\r\n .table-item2{\r\n grid-column-start: 2;\r\n grid-column-end: 4;\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 .el-input {\r\n width: 100% !important;\r\n }\r\n .el-date-editor::v-deep {\r\n width: 100%;\r\n }\r\n .el-select {\r\n width: 100%;\r\n }\r\n</style>
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/src/views/doublePrevent/dpIndex/index.vue b/src/views/doublePrevent/dpIndex/index.vue
---- a/src/views/doublePrevent/dpIndex/index.vue (revision a1d03a0e810219f8353748f6e55699bf2e1a77a6)
-+++ b/src/views/doublePrevent/dpIndex/index.vue (date 1660564801420)
-@@ -212,14 +212,14 @@
- trigger: 'item'
- },
- legend: {
-- bottom: '10%',
-+ bottom: '35%',
- left: 'center'
- },
- series: [
- {
- name: 'Access From',
- type: 'pie',
-- radius: ['35%', '60%'],
-+ radius: ['30%', '50%'],
- avoidLabelOverlap: false,
- itemStyle: {
- borderRadius: 6,
-@@ -247,7 +247,7 @@
- { value: 484, name: '超期未整改' },
- { value: 300, name: '已验收' }
- ],
-- center: ['50%','35%']
-+ center: ['50%','30%']
- }
- ]
- };
-@@ -275,14 +275,14 @@
- trigger: 'item'
- },
- legend: {
-- bottom: '10%',
-+ bottom: '35%',
- left: 'center'
- },
- series: [
- {
- name: 'Access From',
- type: 'pie',
-- radius: ['35%', '60%'],
-+ radius: ['30%', '50%'],
- avoidLabelOverlap: false,
- itemStyle: {
- borderRadius: 6,
-@@ -307,7 +307,7 @@
- { value: 1048, name: '一般隐患' },
- { value: 235, name: '重大隐患' }
- ],
-- center: ['50%','35%']
-+ center: ['50%','30%']
- }
- ]
- };
-@@ -357,8 +357,7 @@
- $homeNavLengh: 8;
- .home-container {
- /*height: calc(100vh - 144px);*/
-- height: 100%;
-- padding: 20px;
-+ height: calc(100vh - 144px);
- box-sizing: border-box;
- overflow: hidden;
- .main-cont {
-@@ -395,16 +394,16 @@
- }
- }
- #riskFix{
-- height: calc(50vh - 80px);
-+ height: calc(50vh - 42px);
- }
- #riskLevel{
-- height: calc(50vh - 80px);
-+ height: calc(50vh - 42px);
- }
- .deviceTable{
-- height: calc((50vh - 100px) / 3 * 2);
-+ height: calc((50vh - 172px) / 3 * 2);
- }
- .deviceLevel{
-- height: calc((50vh - 100px) / 3);
-+ height: calc((50vh - 172px) / 3);
- display: grid;
- grid-gap: 10px;
- grid-template-columns: repeat(4, 1fr);
-@@ -481,4 +480,4 @@
- .el-select {
- width: 100%;
- }
--</style>
-\ No newline at end of file
-+</style>
-Index: src/utils/request.ts
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
-<+>import axios from 'axios';\r\nimport { ElMessage, ElMessageBox } from 'element-plus';\r\nimport JSONbig from 'json-bigint';\r\nimport Cookies from 'js-cookie';\r\nimport {useLoginApi} from \"/@/api/login\";\r\nimport { Session, } from '/@/utils/storage';\r\n\r\n// var jsonBig = require('json-bigint')({ \"storeAsString\": true });\r\n// 配置新建一个 axios 实例\r\nconst service = axios.create({\r\n // baseURL: import.meta.env.VITE_API_URL as any,\r\n timeout: 50000,\r\n headers: { 'Content-Type': 'application/json' }\r\n});\r\n\r\nservice.interceptors.request.use(\r\n (config) => {\r\n for (let key in config.data) {\r\n if (config.data[key] == '' && config.data[key] !== 0) {\r\n config.data[key] = null;\r\n }\r\n }\r\n if (Cookies.get('token')) {\r\n (<any>config.headers).common['Authorization'] = `${Cookies.get('token')}`;\r\n (<any>config.headers).common['uid'] = `${Cookies.get('uid')}`;\r\n }\r\n return config;\r\n },\r\n (error) => {\r\n // 对请求错误做些什么\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\nservice.defaults.transformResponse = [\r\n function (data) {\r\n try {\r\n // 正常同通过return JSON.parse(data)对数据进行转换\r\n // 但是转化完成的数据可能超出安全数据长度\r\n // 因此我们定制使用第三包来转化\r\n return JSONbig.parse(data);\r\n } catch (err) {\r\n console.log(err);\r\n // 转换失败返回一个空对象\r\n return {};\r\n }\r\n }\r\n];\r\n\r\nservice.interceptors.response.use(\r\n (response) => {\r\n // 对响应数据做点什么\r\n if (response.data.code && response.data.code === 'A0213') {\r\n ElMessage.error('用户uid不存在');\r\n setTimeout(() => {\r\n Session.clear();\r\n window.location.href = '/';\r\n }, 1000);\r\n } else if (response.data.code && response.data.code === 'A0215') {\r\n ElMessage.error('token失效');\r\n // logOut;\r\n useLoginApi().signOut().then(()=>{\r\n setTimeout(() => {\r\n Session.clear();\r\n window.location.href = '/';\r\n }, 1000);\r\n })\r\n }\r\n // if(response.data.code && response.data.code !== '200'){\r\n return Promise.resolve(response);\r\n // }\r\n // Session.clear()\r\n // window.location.href = '/'\r\n // return Promise.reject(response)\r\n // const res = response.data;\r\n // debugger\r\n // if (res.code && res.code !== 0) {\r\n // \t// `token` 过期或者账号已在别处登录\r\n // \tif (res.code === 401 || res.code === 4001) {\r\n // \t\tSession.clear(); // 清除浏览器全部临时缓存\r\n // \t\twindow.location.href = '/'; // 去登录页\r\n // \t\tElMessageBox.alert('你已被登出,请重新登录', '提示', {})\r\n // \t\t\t.then(() => {})\r\n // \t\t\t.catch(() => {});\r\n // }\r\n // \treturn Promise.reject(service.interceptors.response);\r\n // } else {\r\n // \treturn response.data;\r\n // }\r\n },\r\n (error) => {\r\n // 对响应错误做点什么\r\n if (error.message.indexOf('timeout') != -1) {\r\n ElMessage.error('网络超时');\r\n setTimeout(() => {\r\n // Session.clear();\r\n window.location.href = '/';\r\n }, 1000);\r\n } else if (error.message == 'Network Error') {\r\n ElMessage.error('网络连接错误');\r\n // setTimeout(() => {\r\n // Session.clear();\r\n // window.location.href = '/';\r\n // }, 1000);\r\n } else {\r\n if (error.response.data) ElMessage.error(error.response.data.error);\r\n else ElMessage.error('接口路径找不到');\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\nexport default service;\r\n
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/src/utils/request.ts b/src/utils/request.ts
---- a/src/utils/request.ts (revision a1d03a0e810219f8353748f6e55699bf2e1a77a6)
-+++ b/src/utils/request.ts (date 1660615601526)
-@@ -52,18 +52,14 @@
- // 对响应数据做点什么
- if (response.data.code && response.data.code === 'A0213') {
- ElMessage.error('用户uid不存在');
-- setTimeout(() => {
- Session.clear();
- window.location.href = '/';
-- }, 1000);
- } else if (response.data.code && response.data.code === 'A0215') {
- ElMessage.error('token失效');
- // logOut;
- useLoginApi().signOut().then(()=>{
-- setTimeout(() => {
-- Session.clear();
-- window.location.href = '/';
-- }, 1000);
-+ Session.clear();
-+ window.location.href = '/';
- })
- }
- // if(response.data.code && response.data.code !== '200'){
-Index: src/api/specialWorkSystem/safetyAction/index.ts
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/src/api/specialWorkSystem/safetyAction/index.ts b/src/api/specialWorkSystem/safetyAction/index.ts
-new file mode 100644
---- /dev/null (date 1660632499860)
-+++ b/src/api/specialWorkSystem/safetyAction/index.ts (date 1660632499860)
-@@ -0,0 +1,45 @@
-+import request from '/@/utils/request';
-+
-+export function safetyActionApi() {
-+ return {
-+ // v1
-+ getSafetyActionList: (data: object) => {
-+ return request({
-+ url: import.meta.env.VITE_API_URL + `/rule/measure/page/list`,
-+ method: 'post',
-+ data: data
-+ });
-+ },
-+ // v1
-+ addSafetyAction: (data: object) => {
-+ return request({
-+ url: import.meta.env.VITE_API_URL + `/rule/measure/save`,
-+ method: 'post',
-+ data: data
-+ });
-+ },
-+ // v1
-+ modSafetyAction: (data: object) => {
-+ return request({
-+ url: import.meta.env.VITE_API_URL + `/rule/measure/mod`,
-+ method: 'post',
-+ data: data
-+ });
-+ },
-+ // v1
-+ deleteSafetyAction: (data: object) => {
-+ return request({
-+ url: import.meta.env.VITE_API_URL + `/rule/measure/delete`,
-+ method: 'post',
-+ data: data
-+ });
-+ },
-+ // v1
-+ getAllSafetyActionList: () => {
-+ return request({
-+ url: import.meta.env.VITE_API_URL + `/rule/measure/list`,
-+ method: 'post'
-+ });
-+ }
-+ };
-+}
-Index: src/views/specialWorkSystem/foundationSet/safetyAction/components/safetyActionDialog.vue
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/src/views/specialWorkSystem/foundationSet/safetyAction/components/safetyActionDialog.vue b/src/views/specialWorkSystem/foundationSet/safetyAction/components/safetyActionDialog.vue
-new file mode 100644
---- /dev/null (date 1660633049658)
-+++ b/src/views/specialWorkSystem/foundationSet/safetyAction/components/safetyActionDialog.vue (date 1660633049658)
-@@ -0,0 +1,214 @@
-+<template>
-+ <div class="system-add-menu-container">
-+ <el-dialog :title="title" v-model="isShowApproveBasicDialog" width="600px" :close-on-click-modal="false">
-+ <el-form :model="approveBasicForm" :rules="approveBasicFormRules" ref="approveBasicFormRef" size="default" label-width="120px">
-+ <el-row :gutter="35">
-+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-+ <el-form-item label="安全措施" prop="title">
-+ <el-input class="input-add" :disabled="!disabled" v-model.trim="approveBasicForm.title" placeholder="请输入标题名称" clearable></el-input>
-+ </el-form-item>
-+ </el-col>
-+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-+ <el-form-item label="标准类型" prop="ruleStandType">
-+ <el-select class="input-add" :disabled="!disabled" v-model="approveBasicForm.ruleStandType" placeholder="请选择标准类型" clearable filterable>
-+ <el-option v-for="item in ruleStandTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>
-+ </el-select>
-+ </el-form-item>
-+ </el-col>
-+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-+ <el-form-item label="描述" prop="info">
-+ <el-input class="input-add" :rows="3" v-model.trim="approveBasicForm.info" type="textarea" placeholder="请输入描述"></el-input>
-+ </el-form-item>
-+ </el-col>
-+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-show="personTime">
-+ <el-form-item label="创建人" prop="location">
-+ <el-input class="input-add" :disabled="!disabled" v-model.trim="approveBasicForm.createByUserName"></el-input>
-+ </el-form-item>
-+ </el-col>
-+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-show="personTime">
-+ <el-form-item label="创建时间" prop="location">
-+ <el-input class="input-add" :disabled="!disabled" v-model.trim="approveBasicForm.gmtCreate"></el-input>
-+ </el-form-item>
-+ </el-col>
-+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-show="personTime">
-+ <el-form-item label="最后修改人" prop="location">
-+ <el-input class="input-add" :disabled="!disabled" v-model.trim="approveBasicForm.lastEditUserName"></el-input>
-+ </el-form-item>
-+ </el-col>
-+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-show="personTime">
-+ <el-form-item label="最后修改时间" prop="location">
-+ <el-input class="input-add" :disabled="!disabled" v-model.trim="approveBasicForm.gmtModitify"></el-input>
-+ </el-form-item>
-+ </el-col>
-+ </el-row>
-+ </el-form>
-+ <template #footer>
-+ <span class="dialog-footer" v-show="disabled">
-+ <el-button @click="isShowApproveBasicDialog = !isShowApproveBasicDialog" size="default">取 消</el-button>
-+ <el-button type="primary" @click="submitApproveBasic" v-throttle size="default">确 定</el-button>
-+ </span>
-+ </template>
-+ </el-dialog>
-+ </div>
-+</template>
-+
-+<script lang="ts">
-+interface stateType {
-+ isShowApproveBasicDialog: Boolean;
-+ disabled: Boolean;
-+ personTime: Boolean;
-+ approveBasicForm: {
-+ workType: number | null;
-+ type: number | null;
-+ correctVal: number | null;
-+ context: string | null;
-+ };
-+ title: string;
-+ departmentList: [];
-+ ruleStandTypeList: Array<levelListState>;
-+ typeList: Array<levelListState>;
-+ typeTwoList: Array<levelListState>;
-+ approveBasicFormRules: {};
-+}
-+interface levelListState {
-+ id: number;
-+ name: string;
-+}
-+
-+import { reactive, toRefs, ref } from 'vue';
-+import { approveBasicApi } from '/@/api/specialWorkSystem/approveBasic';
-+import { ElMessage } from 'element-plus';
-+export default {
-+ name: 'approveBasicDialog',
-+ setup(props: any, context: any) {
-+ const approveBasicFormRef = ref();
-+ const state = reactive<stateType>({
-+ title: '',
-+ disabled: false,
-+ personTime: false,
-+ departmentList: [],
-+ isShowApproveBasicDialog: false,
-+ ruleStandTypeList: [
-+ { id: 1, name: '可燃气浓度' },
-+ { id: 2, name: '氧气浓度' },
-+ { id: 3, name: '一氧化碳浓度' },
-+ { id: 4, name: '硫化氢浓度' },
-+ { id: 5, name: '温度' },
-+ { id: 6, name: '压力' },
-+ { id: 7, name: '震动' }
-+ ],
-+ typeList: [
-+ { id: 1, name: '大于' },
-+ { id: 2, name: '等于' },
-+ { id: 4, name: '大于等于' }
-+ ],
-+ typeTwoList: [
-+ { id: 3, name: '小于' },
-+ { id: 2, name: '等于' },
-+ { id: 5, name: '小于等于' }
-+ ],
-+ approveBasicForm: {
-+ workType: null,
-+ type: null,
-+ correctVal: null,
-+ context: null
-+ },
-+ approveBasicFormRules: {
-+ ruleStandType: [{ required: true, message: '请选择标准类型', trigger: 'change' }],
-+ minVal: [{ required: true, message: '请填写标最低值', trigger: 'blur' }],
-+ maxVal: [{ required: true, message: '请填写标最高值', trigger: 'blur' }],
-+ title: [{ required: true, message: '请选择风险等级', trigger: 'blur' }],
-+ info: [{ required: true, message: '请填写描述信息', trigger: 'blur' }]
-+ }
-+ });
-+
-+ //打开模态框
-+ const showSafetyActionDialog = (type: string, value: object, department: []) => {
-+ state.isShowApproveBasicDialog = true;
-+ state.departmentList = department;
-+ setTimeout(() => {
-+ approveBasicFormRef.value.clearValidate();
-+ });
-+ if (type === '新增') {
-+ state.disabled = true;
-+ state.personTime = false;
-+ state.title = '新增审批标准';
-+ state.approveBasicForm = {
-+ workType: null,
-+ type: null,
-+ correctVal: null,
-+ context: null
-+ };
-+ } else if (type === '查看') {
-+ state.disabled = false;
-+ state.personTime = true;
-+ state.title = '查看审批标准';
-+ state.approveBasicForm = JSON.parse(JSON.stringify(value));
-+ } else {
-+ state.disabled = true;
-+ state.personTime = false;
-+ state.title = '修改审批标准';
-+ state.approveBasicForm = JSON.parse(JSON.stringify(value));
-+ // for (let i in state.approveBasicForm) {
-+ // state.approveBasicForm[i] = approveBasicForm[i];
-+ // }
-+ }
-+ };
-+
-+ //新增修改提交
-+ const submitApproveBasic = async () => {
-+ approveBasicFormRef.value.validate(async (valid: Boolean) => {
-+ if (valid) {
-+ if (state.title === '新增审批标准') {
-+ let res = await approveBasicApi().addApproveBasic(state.approveBasicForm);
-+ if (res.data.code === '200') {
-+ ElMessage({
-+ type: 'success',
-+ message: '审批标准新增成功',
-+ duration: 2000
-+ });
-+ state.isShowApproveBasicDialog = false;
-+ context.emit('refreshApproveBasic');
-+ } else {
-+ ElMessage({
-+ type: 'warning',
-+ message: res.data.msg
-+ });
-+ }
-+ } else {
-+ let res = await approveBasicApi().modApproveBasic(state.approveBasicForm);
-+ if (res.data.code === '200') {
-+ ElMessage({
-+ type: 'success',
-+ message: '审批标准修改成功',
-+ duration: 2000
-+ });
-+ state.isShowApproveBasicDialog = false;
-+ context.emit('refreshApproveBasic');
-+ } else {
-+ ElMessage({
-+ type: 'warning',
-+ message: res.data.msg
-+ });
-+ }
-+ }
-+ } else {
-+ ElMessage({
-+ type: 'warning',
-+ message: '请完善基本信息'
-+ });
-+ }
-+ });
-+ };
-+
-+ return {
-+ ...toRefs(state),
-+ approveBasicFormRef,
-+ submitApproveBasic,
-+ showSafetyActionDialog
-+ };
-+ }
-+};
-+</script>
-+
-+<style scoped></style>
-Index: src/views/intellectInspect/intelligentLine/index.vue
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
-<+><template>\r\n <div class=\"container\">\r\n <div class=\"big-title\" @click=\"goBack()\">国泰新华智能巡检系统</div>\r\n <div style=\"height: 20px;font-size: 14px;line-height: 20px; color: #00ffff; margin-top: 4px\">{{ present }}</div>\r\n <div class=\"btns\">\r\n <div class=\"fullbtn\" @click=\"onScreenfullClick\">\r\n <div class=\"toFull\">\r\n <i class=\"iconfont\" :title=\"isScreenfull ? $t('message.user.title6') : $t('message.user.title5')\" :class=\"!isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'\"></i>\r\n </div>\r\n <div>全屏</div>\r\n </div>\r\n <div class=\"backBtn\" @click=\"goBack()\">\r\n <img src=\"../../../assets/loginPage/back-icon.png\"/>\r\n <div>退出</div>\r\n </div>\r\n </div>\r\n <div class=\"blocks\">\r\n <div>\r\n <div class=\"star-pic\">\r\n <div class=\"star-bg\"><img src=\"../../../assets/loginPage/star-bg.png\" /></div>\r\n <div class=\"star\"><img src=\"../../../assets/loginPage/device-pic.png\" /></div>\r\n </div>\r\n <div class=\"line-map\" v-if=\"dataList && dataList.length > 0\">\r\n <div class=\"line-item\" v-for=\"(item, index) in dataList\" :key=\"index\">\r\n <div class=\"picbox\">\r\n <img src=\"../../../assets/loginPage/equipment.jpg\"/>\r\n <p>\r\n RFID: <span>{{ item.rfid }}</span>\r\n </p>\r\n <p>\r\n 位置: <span>{{ item.region.toString() }}</span>\r\n </p>\r\n </div>\r\n <div class=\"area-head\">\r\n <div class=\"indicator\" :class=\"item.points.some((e) => e.reportResult == 1) ? 'somewarning' : (item.points.some((e) => e.reportResult == null) ? 'someUndone' : '')\">\r\n <div class=\"indi-dot\"></div>\r\n <!-- <div class=\"indi-pulse\"></div>-->\r\n <!-- <div class=\"indi-pulse1\"></div>-->\r\n </div>\r\n <div class=\"arrow\" v-if=\"item.points.some((e) => e.reportResult != null)\"></div>\r\n <div class=\"top-line\" :class=\"item.points.some((e) => e.reportResult !== null) ? '' : 'fadeLine'\"></div>\r\n </div>\r\n <div class=\"more-info\">\r\n <div class=\"item\" v-for=\"(t, i) in item.points\" :key=\"i\" :class=\"t.reportResult == null ? 'undone' : t.reportResult == 1 ? 'warning' : ''\">\r\n <section>\r\n <div class=\"dot\"></div>\r\n <div class=\"pulse\"></div>\r\n <div class=\"pulse1\"></div>\r\n </section>\r\n <div :class=\"t.reportResult == null ? 'noBorder' : t.reportResult == 1 ? 'redBorder' : ''\">\r\n <div>\r\n <span>巡检点:</span><span>{{ t.point }}</span>\r\n </div>\r\n <div>\r\n <span>巡检状态:</span><span>{{ t.pointCheckStatus == 1 ? '未完成' : '已完成' }}</span>\r\n </div>\r\n <div v-if=\"t.reportResult != null\">\r\n <span>巡检指标:</span><span>{{ t.quotaContent }}</span>\r\n </div>\r\n <div v-if=\"(t.dataReportType == 2 || t.dataReportType == 3) && t.secondReferenceResult\">\r\n <span>参数:</span><span class=\"target\">{{ t.secondReferenceResult + t.quotaUnit }}</span>\r\n </div>\r\n <div>\r\n <span>巡检结果:</span><span class=\"target\">{{ t.reportResult == null ? '--' : t.reportResult == 0 ? '正常' : '异常' }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"line-item finish\">\r\n <div class=\"picbox\"></div>\r\n <div class=\"area-head\">\r\n <div class=\"finish-point\">\r\n <div>完成巡检</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"tip\" v-else>抱歉,暂时查询不到巡检路线...</div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport screenfull from 'screenfull';\r\nimport { lineApi } from '/@/api/intelligentLine';\r\nimport { toRefs, reactive, ref, onMounted, onUnmounted, computed } from 'vue';\r\nimport {useRoute} from 'vue-router';\r\nimport { storeToRefs } from 'pinia';\r\nimport { initBackEndControlRoutes } from '/@/router/backEnd';\r\nimport { Session } from '/@/utils/storage';\r\nimport { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue';\r\nimport { ElTable } from 'element-plus';\r\nimport { FormInstance, FormRules, ElMessage } from 'element-plus';\r\nimport { useUserInfo } from '/@/stores/userInfo';\r\n\r\n// 定义接口来定义对象的类型\r\ninterface stateType {\r\n present: string;\r\n isScreenfull: boolean;\r\n path: string;\r\n socket: any;\r\n socketData: string;\r\n data: Array<any>;\r\n id: string\r\n}\r\nexport default {\r\n name: 'intelligentLine',\r\n components: {},\r\n setup() {\r\n const userInfo = useUserInfo();\r\n const { userInfos } = storeToRefs(userInfo);\r\n const route = useRoute();\r\n const state = reactive<stateType>({\r\n present: '',\r\n isScreenfull: false,\r\n path: '',\r\n socketData: '',\r\n socket: null,\r\n data: [],\r\n id: ''\r\n });\r\n\r\n onMounted(() => {\r\n setInterval(() => {\r\n state.present = new Date().toLocaleString();\r\n }, 1000);\r\n let curId = route.query.id\r\n state.id = curId.toString()\r\n getLine(state.id)\r\n getUrl(state.id)\r\n });\r\n\r\n const dataList = computed(() => {\r\n return userInfos.value.dataList;\r\n });\r\n\r\n // 获取url\r\n\r\n const getUrl =async (id:string)=>{\r\n const res = await lineApi().getUrl();\r\n if (res.data.code === '200') {\r\n state.path = 'http://' + res.data.data.ip + ':' + res.data.data.port + '/ws/test/'\r\n if (typeof window.WebSocket === 'undefined') {\r\n alert('您的浏览器不支持socket');\r\n } else {\r\n // 实例化socket\r\n // debugger\r\n let uid = userInfos.value.uid.toString()\r\n var url = state.path + uid + '*' + id;\r\n console.log(url,'url',uid,'uid')\r\n url = url.replace('https', 'ws').replace('http', 'ws');\r\n console.log(url, '获取地址');\r\n state.socket = new window.WebSocket(url);\r\n // 监听socket连接\r\n state.socket.onopen = () => {\r\n console.log('socket连接成功');\r\n };\r\n // 监听socket错误信息\r\n state.socket.onerror = () => {\r\n console.log('socket连接错误');\r\n };\r\n // 监听socket消息\r\n state.socket.onmessage = (msg) => {\r\n if (msg.data === '连接成功') return;\r\n console.log(msg.data,'data')\r\n userInfos.value.dataList = JSON.parse(msg.data);\r\n };\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 // const send = () => {\r\n // state.socket.send(params);\r\n // };\r\n\r\n // 接口获取数据\r\n const getLine = async (id:string) => {\r\n let res = await lineApi().getLine({ id: id });\r\n if (res.data.code === '200') {\r\n console.log(res.data.data, '获取巡检点');\r\n userInfos.value.dataList = 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 onScreenfullClick = () => {\r\n if (!screenfull.isEnabled) {\r\n ElMessage.warning('暂不不支持全屏');\r\n return false;\r\n }\r\n screenfull.toggle();\r\n screenfull.on('change', () => {\r\n if (screenfull.isFullscreen) {\r\n state.isScreenfull = true;\r\n } else {\r\n state.isScreenfull = false;\r\n }\r\n });\r\n };\r\n\r\n // 返回\r\n const goBack = () => {\r\n window.history.go(-1);\r\n };\r\n\r\n // 页面关闭处理\r\n onUnmounted(() => {\r\n // 销毁监听\r\n state.socket.onclose = () => {\r\n console.log('socket已经关闭');\r\n };\r\n });\r\n return {\r\n dataList,\r\n goBack,\r\n onScreenfullClick,\r\n ...toRefs(state)\r\n };\r\n }\r\n};\r\n// export default {\r\n// name: 'NewForm',\r\n// props: {\r\n//\r\n// },\r\n// data(){\r\n// return{\r\n// present: '',\r\n// isScreenfull: false,\r\n// path: \"http://192.168.0.29:8008/ws/test/\",\r\n// socket: null,\r\n// socketData: '',\r\n// data: []\r\n// }\r\n// },\r\n// created() {\r\n// setInterval(() => {\r\n// this.present = new Date().toLocaleString()\r\n// }, 1000)\r\n// },\r\n// mounted () {\r\n// // 初始化\r\n// this.init()\r\n// // this.getLine()\r\n// },\r\n// methods:{\r\n// goBack(){\r\n// window.history.go(-1)\r\n// },\r\n//\r\n// async getLine (){\r\n// let res = await lineApi().getLine({ id: '80647416891768832' });\r\n// if (res.data.code === '200') {\r\n// console.log(res.data.data,'获取巡检点')\r\n// this.data = res.data.data\r\n// console.log(this.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// onScreenfullClick(){\r\n// const t = this\r\n// if (!screenfull.isEnabled) {\r\n// ElMessage.warning('暂不不支持全屏');\r\n// return false;\r\n// }\r\n// screenfull.toggle();\r\n// screenfull.on('change', () => {\r\n// if (screenfull.isFullscreen) {\r\n// t.isScreenfull = true\r\n// }\r\n// else{\r\n// t.isScreenfull = false\r\n// }\r\n// });\r\n// },\r\n//\r\n// // socket获取数据\r\n// init: function () {\r\n// if(typeof(window.WebSocket) === \"undefined\"){\r\n// alert(\"您的浏览器不支持socket\")\r\n// }else{\r\n// // 实例化socket\r\n// var url = this.path + '80938081556545536'\r\n// url = url.replace(\"https\",\"ws\").replace(\"http\",\"ws\");\r\n// console.log(url,'获取地址')\r\n// this.socket = new window.WebSocket(url)\r\n// // 监听socket连接\r\n// this.socket.onopen = this.open\r\n// // 监听socket错误信息\r\n// this.socket.onerror = this.error\r\n// // 监听socket消息\r\n// this.socket.onmessage = this.getMessage\r\n// }\r\n// },\r\n// open: function () {\r\n// console.log(\"socket连接成功\")\r\n// },\r\n// error: function () {\r\n// console.log(\"连接错误\")\r\n// },\r\n// getMessage: function (msg) {\r\n// console.log(typeof msg.data,'type')\r\n// if(msg.data =='连接成功') return\r\n// this.socketData = msg.data\r\n// console.log(JSON.parse(this.socketData),'------------------',)\r\n// if(typeof JSON.parse(this.socketData) == Array){\r\n// this.data = JSON.parse(this.socketData)\r\n// console.log(this.data)\r\n// }\r\n// // console.log(msg,'msg')\r\n// // console.log(this.data,'data-------')\r\n// },\r\n// send: function () {\r\n// this.socket.send(params)\r\n// },\r\n// close: function () {\r\n// console.log(\"socket已经关闭\")\r\n// }\r\n// },\r\n// destroyed () {\r\n// // 销毁监听\r\n// this.socket.onclose = this.close\r\n// }\r\n// }\r\n</script>\r\n\r\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\r\n<style scoped lang=\"scss\">\r\n@keyframes warn {\r\n 0% {\r\n transform: scale(0.3);\r\n -webkit-transform: scale(0.3);\r\n opacity: 0;\r\n }\r\n\r\n 25% {\r\n transform: scale(0.3);\r\n -webkit-transform: scale(0.3);\r\n opacity: 0.1;\r\n }\r\n\r\n 50% {\r\n transform: scale(0.5);\r\n -webkit-transform: scale(0.5);\r\n opacity: 0.3;\r\n }\r\n\r\n 75% {\r\n transform: scale(0.8);\r\n -webkit-transform: scale(0.8);\r\n opacity: 0.6;\r\n }\r\n\r\n 100% {\r\n transform: scale(1);\r\n -webkit-transform: scale(1);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@keyframes warn1 {\r\n 0% {\r\n transform: scale(0.3);\r\n -webkit-transform: scale(0.3);\r\n opacity: 0;\r\n }\r\n\r\n 25% {\r\n transform: scale(0.3);\r\n -webkit-transform: scale(0.3);\r\n opacity: 0.1;\r\n }\r\n\r\n 50% {\r\n transform: scale(0.3);\r\n -webkit-transform: scale(0.3);\r\n opacity: 0.3;\r\n }\r\n\r\n 75% {\r\n transform: scale(0.5);\r\n -webkit-transform: scale(0.5);\r\n opacity: 0.6;\r\n }\r\n\r\n 100% {\r\n transform: scale(0.8);\r\n -webkit-transform: scale(0.8);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@keyframes circle {\r\n 0% {\r\n transform: rotate(0);\r\n -webkit-transform: rotate(0);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n -webkit-transform: rotate(360deg);\r\n }\r\n}\r\n@keyframes run {\r\n to {\r\n transform: translateX(calc((100vw - 180px) / 6 - 80px));\r\n }\r\n}\r\n.container {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n background: url('../../../assets/loginPage/map-bg.jpg') no-repeat center;\r\n background-size: 100% 100%;\r\n .big-title {\r\n height: 40px;\r\n line-height: 40px;\r\n font-size: 28px;\r\n font-weight: bold;\r\n margin: 10px 0 20px;\r\n text-align: center;\r\n color: #fff;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n .btns {\r\n position: absolute;\r\n z-index: 99999;\r\n right: 60px;\r\n top: 40px;\r\n display: flex;\r\n align-items: center;\r\n .fullbtn {\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n margin-right: 20px;\r\n .toFull {\r\n font-weight: bolder;\r\n color: #00ffff;\r\n margin-right: 10px;\r\n }\r\n div {\r\n font-size: 16px;\r\n color: #00ffff;\r\n }\r\n }\r\n\r\n .backBtn {\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n img {\r\n width: 14px;\r\n height: 14px;\r\n margin-right: 10px;\r\n }\r\n div {\r\n font-size: 16px;\r\n color: #00ffff;\r\n }\r\n }\r\n }\r\n .blocks {\r\n width: 100%;\r\n height: calc(100% - 90px);\r\n padding: 10px 40px 35px;\r\n box-sizing: border-box;\r\n\r\n &>div{\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: flex-start;\r\n overflow: hidden;\r\n overflow-x: auto;\r\n overflow-y: auto;\r\n }\r\n\r\n .line-map {\r\n display: flex;\r\n justify-content: center;\r\n align-items: flex-start;\r\n\r\n .line-item {\r\n width: calc((100vw - 180px) / 6);\r\n padding-left: 20px;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n margin-right: 20px;\r\n flex-wrap: nowrap;\r\n\r\n .picbox {\r\n width: 100%;\r\n height: calc((100vh - 130px) / 5);\r\n padding: 10px;\r\n margin-bottom: 40px;\r\n box-sizing: border-box;\r\n\r\n img {\r\n display: block;\r\n width: 100%;\r\n height: 100px;\r\n margin-bottom: 10px;\r\n border-radius: 4px;\r\n }\r\n p {\r\n font-size: 14px;\r\n color: rgba(255, 255, 255, 0.8);\r\n margin-top: 10px;\r\n span {\r\n color: #fff;\r\n }\r\n }\r\n }\r\n .area-head {\r\n position: relative;\r\n width: 100%;\r\n height: 80px;\r\n padding-left: 38px;\r\n border-left: 1px solid #36fcfc;\r\n\r\n .indicator {\r\n width: 36px;\r\n height: 36px;\r\n border-radius: 50%;\r\n position: absolute;\r\n border: 1px solid #00ff66;\r\n top: -18px;\r\n left: -18px;\r\n\r\n .indi-dot {\r\n position: absolute;\r\n width: 20px;\r\n height: 20px;\r\n left: 7px;\r\n top: 7px;\r\n -webkit-border-radius: 50%;\r\n -moz-border-radius: 50%;\r\n border: 1px solid #00ff66;\r\n border-radius: 50%;\r\n background-color: #00ff66;\r\n z-index: 2;\r\n }\r\n .indi-pulse {\r\n position: absolute;\r\n width: 56px;\r\n height: 56px;\r\n left: -11px;\r\n top: -11px;\r\n border: 1px solid #00ff66;\r\n -webkit-border-radius: 50%;\r\n -moz-border-radius: 50%;\r\n border-radius: 50%;\r\n z-index: 1;\r\n opacity: 0;\r\n -webkit-animation: warn 2s ease-out;\r\n -moz-animation: warn 2s ease-out;\r\n animation: warn 2s ease-out;\r\n -webkit-animation-iteration-count: infinite;\r\n -moz-animation-iteration-count: infinite;\r\n animation-iteration-count: infinite;\r\n box-shadow: 1px 1px 30px #00ff66;\r\n }\r\n .indi-pulse1 {\r\n position: absolute;\r\n width: 56px;\r\n height: 56px;\r\n left: -11px;\r\n top: -11px;\r\n border: 1px solid #3399ff;\r\n -webkit-border-radius: 50%;\r\n -moz-border-radius: 50%;\r\n border-radius: 50%;\r\n z-index: 1;\r\n opacity: 0;\r\n -webkit-animation: warn1 2s ease-out;\r\n -moz-animation: warn1 2s ease-out;\r\n animation: warn1 2s ease-out;\r\n -webkit-animation-iteration-count: infinite;\r\n -moz-animation-iteration-count: infinite;\r\n animation-iteration-count: infinite;\r\n box-shadow: 1px 1px 30px #3399ff;\r\n }\r\n }\r\n .someUndone {\r\n width: 36px;\r\n height: 36px;\r\n border-radius: 50%;\r\n position: absolute;\r\n border: 1px solid #ccc;\r\n top: -18px;\r\n left: -18px;\r\n\r\n .indi-dot {\r\n position: absolute;\r\n width: 20px;\r\n height: 20px;\r\n left: 7px;\r\n top: 7px;\r\n -webkit-border-radius: 50%;\r\n -moz-border-radius: 50%;\r\n border: 1px solid #ccc;\r\n border-radius: 50%;\r\n background-color: #ccc;\r\n z-index: 2;\r\n }\r\n }\r\n .somewarning {\r\n width: 36px;\r\n height: 36px;\r\n border-radius: 50%;\r\n position: absolute;\r\n border: 1px solid #ff0000;\r\n top: -18px;\r\n left: -18px;\r\n\r\n .indi-dot {\r\n position: absolute;\r\n width: 20px;\r\n height: 20px;\r\n left: 7px;\r\n top: 7px;\r\n -webkit-border-radius: 50%;\r\n -moz-border-radius: 50%;\r\n border: 1px solid #ff0000;\r\n border-radius: 50%;\r\n background-color: #ff0000;\r\n z-index: 2;\r\n }\r\n }\r\n .arrow {\r\n position: absolute;\r\n width: 58px;\r\n height: 20px;\r\n left: 38px;\r\n top: -10px;\r\n background: url('../../../assets/loginPage/arrow-r.png') 0 / cover no-repeat;\r\n animation: run 2s steps(4) 0s infinite;\r\n }\r\n .top-line {\r\n width: 100%;\r\n border-top: 2px solid #36fcfc;\r\n }\r\n .fadeLine {\r\n width: 100%;\r\n border-top: 1px solid rgba(54,252,252,.6);\r\n }\r\n }\r\n .fadeBorder {\r\n border-left: 1px solid #ccc;\r\n }\r\n .more-info {\r\n width: 100%;\r\n\r\n .item {\r\n width: calc((100vw - 120px) / 6);\r\n height: calc((100vh - 130px) / 5);\r\n padding: 0 50px 20px;\r\n position: relative;\r\n box-sizing: border-box;\r\n border-left: 1px solid #36fcfc;\r\n\r\n &:last-of-type {\r\n border: none;\r\n }\r\n\r\n section {\r\n width: 24px;\r\n height: 24px;\r\n border-radius: 50%;\r\n position: absolute;\r\n border: 1px solid rgba(0, 225, 255, 0.6);\r\n top: -12px;\r\n left: 10px;\r\n\r\n .dot {\r\n position: absolute;\r\n width: 12px;\r\n height: 12px;\r\n left: 5px;\r\n top: 5px;\r\n -webkit-border-radius: 50%;\r\n -moz-border-radius: 50%;\r\n border: 1px solid #0072ff;\r\n border-radius: 50%;\r\n background-color: #00e1ff;\r\n z-index: 2;\r\n }\r\n .pulse {\r\n position: absolute;\r\n width: 48px;\r\n height: 48px;\r\n left: -13px;\r\n top: -13px;\r\n border: 1px solid #00e1ff;\r\n -webkit-border-radius: 50%;\r\n -moz-border-radius: 50%;\r\n border-radius: 50%;\r\n z-index: 1;\r\n opacity: 0;\r\n -webkit-animation: warn 2s ease-out;\r\n -moz-animation: warn 2s ease-out;\r\n animation: warn 2s ease-out;\r\n -webkit-animation-iteration-count: infinite;\r\n -moz-animation-iteration-count: infinite;\r\n animation-iteration-count: infinite;\r\n box-shadow: 1px 1px 30px #00e1ff;\r\n }\r\n .pulse1 {\r\n position: absolute;\r\n width: 48px;\r\n height: 48px;\r\n left: -13px;\r\n top: -13px;\r\n border: 1px solid #00e1ff;\r\n -webkit-border-radius: 50%;\r\n -moz-border-radius: 50%;\r\n border-radius: 50%;\r\n z-index: 1;\r\n opacity: 0;\r\n -webkit-animation: warn1 2s ease-out;\r\n -moz-animation: warn1 2s ease-out;\r\n animation: warn1 2s ease-out;\r\n -webkit-animation-iteration-count: infinite;\r\n -moz-animation-iteration-count: infinite;\r\n animation-iteration-count: infinite;\r\n box-shadow: 1px 1px 30px #00e1ff;\r\n }\r\n }\r\n & > div {\r\n padding: 10px 0;\r\n transform: translateY(-14px);\r\n border-radius: 8px;\r\n background-image: linear-gradient(to right, rgba(8, 109, 209, 0.4), rgba(11, 255, 255, 0.2));\r\n border: 1px solid rgba(54, 252, 252, 1);\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n\r\n div {\r\n margin-bottom: 5px;\r\n &:last-of-type {\r\n margin-bottom: none;\r\n }\r\n span {\r\n display: inline-block;\r\n width: 50%;\r\n font-size: 13px;\r\n color: #fff;\r\n text-align: left;\r\n\r\n &:first-of-type {\r\n text-align: right;\r\n color: rgba(255, 255, 255, 0.8);\r\n }\r\n }\r\n }\r\n }\r\n .noBorder{\r\n border: 1px solid rgba(54, 252, 252, 0.1);\r\n }\r\n .redBorder{\r\n border: 1px solid #ff0000;\r\n }\r\n p {\r\n width: 140px;\r\n height: 50px;\r\n font-size: 18px;\r\n line-height: 48px;\r\n text-align: center;\r\n color: #fff;\r\n border-radius: 8px;\r\n background-image: linear-gradient(to right, rgba(11, 255, 255, 0.2), rgba(8, 109, 209, 0.4));\r\n border: 1px solid rgba(54, 252, 252, 0.6);\r\n }\r\n }\r\n .warning {\r\n & > section {\r\n border: 1px solid #ff0000;\r\n\r\n .dot {\r\n border: 1px solid #ff0000;\r\n background: #ff0000;\r\n }\r\n .pulse {\r\n border: 1px solid #ff0000;\r\n box-shadow: 1px 1px 30px #ff0000;\r\n }\r\n .pulse1 {\r\n border: 1px solid #ff0000;\r\n box-shadow: 1px 1px 30px #ff0000;\r\n }\r\n }\r\n\r\n & > div {\r\n div {\r\n span.target {\r\n color: #ff2929;\r\n font-weight: bolder;\r\n }\r\n }\r\n }\r\n }\r\n .undone {\r\n & > section {\r\n border: 1px solid #ccc;\r\n\r\n .dot {\r\n border: 1px solid #ccc;\r\n background: #ccc;\r\n }\r\n .pulse {\r\n display: none;\r\n }\r\n .pulse1 {\r\n display: none;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n .finish {\r\n .area-head {\r\n position: relative;\r\n width: 100%;\r\n height: 80px;\r\n border-left: none;\r\n .finish-point {\r\n position: absolute;\r\n width: 90px;\r\n height: 90px;\r\n border: 2px solid #0072ff;\r\n left: -30px;\r\n top: -45px;\r\n border-radius: 50%;\r\n\r\n & > div {\r\n width: 80px;\r\n height: 80px;\r\n position: absolute;\r\n left: 3px;\r\n top: 3px;\r\n background: #0072ff;\r\n border-radius: 50%;\r\n color: #fff;\r\n font-size: 16px;\r\n line-height: 80px;\r\n text-align: center;\r\n font-weight: bolder;\r\n }\r\n }\r\n }\r\n }\r\n .pic-tit {\r\n display: flex;\r\n width: calc((100vw - 120px) / 7);\r\n height: 160px;\r\n padding: 20px;\r\n transform: translate(-20px, -40%);\r\n flex-direction: column;\r\n align-items: flex-start;\r\n\r\n img {\r\n width: calc((100vw - 120px) / 7 - 40px);\r\n height: 90px;\r\n margin-bottom: 10px;\r\n border-radius: 4px;\r\n }\r\n p {\r\n font-size: 16px;\r\n color: #00ffff;\r\n font-weight: bold;\r\n }\r\n }\r\n\r\n .water {\r\n transform: none;\r\n }\r\n .start {\r\n padding: 40px 0;\r\n p {\r\n margin-top: -21px;\r\n margin-left: 20px;\r\n }\r\n span {\r\n width: 1px;\r\n height: 50px;\r\n background: #36fcfc;\r\n position: absolute;\r\n top: -10px;\r\n left: 0;\r\n }\r\n section {\r\n position: absolute;\r\n top: 30px;\r\n left: -14px;\r\n }\r\n }\r\n }\r\n .tip {\r\n width: 100%;\r\n font-size: 30px;\r\n text-align: center;\r\n margin-top: 100px;\r\n color: #fff;\r\n font-weight: bolder;\r\n }\r\n .current-task {\r\n position: absolute;\r\n width: calc((500vw - 600px) / 7);\r\n z-index: 999999;\r\n top: 0;\r\n right: 0;\r\n padding: 0 60px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n\r\n .task-des {\r\n padding: 10px 20px;\r\n display: flex;\r\n align-items: center;\r\n border: 1px solid #36fcfc;\r\n\r\n .task-des-l {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n font-size: 20px;\r\n color: #36fcfc;\r\n border-right: 1px solid #36fcfc;\r\n padding-right: 20px;\r\n img {\r\n margin-bottom: 10px;\r\n }\r\n }\r\n .task-des-r {\r\n width: calc((200vw - 240px) / 7);\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n font-size: 20px;\r\n line-height: 28px;\r\n color: #fcfc36;\r\n padding-left: 20px;\r\n }\r\n }\r\n .current-data {\r\n width: 267px;\r\n height: 138px;\r\n padding: 20px 30px;\r\n box-sizing: border-box;\r\n background: url('../../../assets/loginPage/xj-bg.png') no-repeat center;\r\n background-size: 100% 100%;\r\n\r\n .data-area {\r\n display: flex;\r\n align-items: center;\r\n border-bottom: 1px solid #040c3b;\r\n font-weight: bold;\r\n padding-bottom: 10px;\r\n box-sizing: border-box;\r\n\r\n img {\r\n width: 30px;\r\n height: 30px;\r\n margin-right: 10px;\r\n animation: circle 1s ease-in-out infinite;\r\n }\r\n\r\n div {\r\n font-size: 15px;\r\n color: rgba(4, 12, 59, 0.8);\r\n\r\n span {\r\n color: #040c3b;\r\n }\r\n }\r\n }\r\n\r\n .data-spot {\r\n display: flex;\r\n align-items: flex-start;\r\n margin-top: 10px;\r\n\r\n & > div {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: 50%;\r\n font-size: 14px;\r\n color: rgba(4, 12, 59, 0.8);\r\n\r\n p {\r\n margin-top: 6px;\r\n color: #040c3b;\r\n }\r\n\r\n &:first-of-type {\r\n border-right: 1px solid #040c3b;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n .star-pic {\r\n position: absolute;\r\n width: calc((100vw - 120px) / 7);\r\n height: calc((100vw - 120px) / 7);\r\n z-index: 999999999;\r\n bottom: 40px;\r\n right: 40px;\r\n padding: 20px;\r\n\r\n .star-bg {\r\n position: inherit;\r\n width: 100%;\r\n height: 100%;\r\n left: 0;\r\n top: 0;\r\n img {\r\n width: 100%;\r\n height: auto;\r\n animation: circle 30s linear infinite;\r\n }\r\n }\r\n\r\n .star {\r\n position: inherit;\r\n width: 100%;\r\n height: 100%;\r\n left: 0;\r\n top: 0;\r\n img {\r\n width: 100%;\r\n height: auto;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/src/views/intellectInspect/intelligentLine/index.vue b/src/views/intellectInspect/intelligentLine/index.vue
---- a/src/views/intellectInspect/intelligentLine/index.vue (revision a1d03a0e810219f8353748f6e55699bf2e1a77a6)
-+++ b/src/views/intellectInspect/intelligentLine/index.vue (date 1660566611603)
-@@ -85,7 +85,7 @@
- <script lang="ts">
- import screenfull from 'screenfull';
- import { lineApi } from '/@/api/intelligentLine';
--import { toRefs, reactive, ref, onMounted, onUnmounted, computed } from 'vue';
-+import {toRefs, reactive, ref, onMounted, onUnmounted, computed, nextTick} from 'vue';
- import {useRoute} from 'vue-router';
- import { storeToRefs } from 'pinia';
- import { initBackEndControlRoutes } from '/@/router/backEnd';
-@@ -218,9 +218,11 @@
- // 页面关闭处理
- onUnmounted(() => {
- // 销毁监听
-- state.socket.onclose = () => {
-- console.log('socket已经关闭');
-- };
-+ nextTick(()=>{
-+ state.socket.onclose = () => {
-+ console.log('socket已经关闭');
-+ };
-+ })
- });
- return {
- dataList,
-Index: src/views/specialWorkSystem/foundationSet/safetyAction/index.vue
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/src/views/specialWorkSystem/foundationSet/safetyAction/index.vue b/src/views/specialWorkSystem/foundationSet/safetyAction/index.vue
-new file mode 100644
---- /dev/null (date 1660632779996)
-+++ b/src/views/specialWorkSystem/foundationSet/safetyAction/index.vue (date 1660632779996)
-@@ -0,0 +1,436 @@
-+<template>
-+ <div class="home-container">
-+ <div style="height: 100%">
-+ <el-row class="homeCard">
-+ <div class="basic-line">
-+ <span>任务类型:</span>
-+ <el-select v-model="tableData.params.workType" clearable filterable class="input-box" placeholder="任务类型">
-+ <!-- <el-option v-for="item in workTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
-+ </el-select>
-+ </div>
-+ <div class="basic-line">
-+ <span>执行班组:</span>
-+ <el-select v-model="tableData.params.execClassgroupId" clearable filterable class="input-box" placeholder="执行班组"> </el-select>
-+ </div>
-+ <div style="padding-bottom: 10px">
-+ <el-button type="primary" @click="initSafetyAction">查询</el-button>
-+ <el-button plain @click="reset">重置</el-button>
-+ </div>
-+ </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="openSafetyActionDialog('新增', {})">新建</el-button>
-+ <!-- <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>-->
-+ </el-col>
-+ <el-button type="primary" :icon="Refresh" size="default" />
-+ </el-row>
-+ <el-table ref="multipleTableRef" :data="tableData.safetyActionData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }" @selection-change="handleSelectionChange">
-+ <el-table-column type="selection" width="55" />
-+ <el-table-column property="title" label="标题" />
-+ <el-table-column property="ruleStandType" label="标准类型">
-+ <template #default="scope">
-+ <span>
-+ {{ parseNumber(scope.row.ruleStandType, '标准类型') }}
-+ </span>
-+ </template>
-+ </el-table-column>
-+ <el-table-column property="minVal" label="最低值">
-+ <template #default="scope">
-+ <span>
-+ {{ parseNumber(scope.row.minValMatchPattern, '最低值') }}
-+ </span>
-+ <span>
-+ {{ scope.row.minVal }}
-+ </span>
-+ </template>
-+ </el-table-column>
-+ <el-table-column property="maxVal" label="最高值">
-+ <template #default="scope">
-+ <span>
-+ {{ parseNumber(scope.row.maxValMatchPattern, '最高值') }}
-+ </span>
-+ <span>
-+ {{ scope.row.maxVal }}
-+ </span>
-+ </template>
-+ </el-table-column>
-+ <el-table-column property="info" label="描述" />
-+ <el-table-column prop="createUserName" label="创建人" show-overflow-tooltip></el-table-column>
-+ <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 fixed="right" label="操作" align="center" width="300">
-+ <template #default="scope">
-+ <el-button link type="primary" size="small" :icon="View" @click="openSafetyActionDialog('查看', scope.row)">查看</el-button>
-+ <el-button link type="primary" size="small" :icon="Edit" @click="openSafetyActionDialog('修改', scope.row)">修改</el-button>
-+ <el-button link type="danger" size="small" :icon="Delete" @click="deleteSafetyAction(scope.row)">删除</el-button>
-+ </template>
-+ </el-table-column>
-+ </el-table>
-+ <br />
-+ <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>
-+ </div>
-+ </div>
-+ </div>
-+ <safety-action-dialog ref="safetyActionDialogRef" @refreshSafetyAction="initSafetyAction"></safety-action-dialog>
-+ </div>
-+</template>
-+
-+<script lang="ts">
-+import { toRefs, reactive, ref, onMounted } from 'vue';
-+import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue';
-+import { ElTable, ElMessage, ElMessageBox } from 'element-plus';
-+import { safetyActionApi } from '/@/api/specialWorkSystem/safetyAction/index.ts';
-+import { departmentApi } from '/@/api/systemManage/department';
-+import safetyActionDialog from '/@/views/specialWorkSystem/foundationSet/safetyAction/components/safetyActionDialog.vue';
-+let global: any = {
-+ homeChartOne: null,
-+ homeChartTwo: null,
-+ homeCharThree: null,
-+ dispose: [null, '', undefined]
-+};
-+
-+interface stateType {
-+ tableData: {
-+ safetyActionData: [];
-+ total: number;
-+ loading: boolean;
-+ params: {
-+ pageIndex: number | null;
-+ pageSize: number | null;
-+ searchParams: {
-+ workType: number | null;
-+ type: number | null;
-+ context: string | null;
-+ };
-+ };
-+ };
-+ ruleStandTypeList: Array<type>;
-+ typeList: Array<type>;
-+ typeTwoList: Array<type>;
-+ deleteList: {
-+ ids: Array<number>;
-+ };
-+}
-+interface type {
-+ id: number;
-+ name: string;
-+}
-+interface ruleType {
-+ ruleStandId: number;
-+}
-+export default {
-+ name: 'index',
-+ components: { safetyActionDialog },
-+ setup() {
-+ const safetyActionDialogRef = ref();
-+ const state = reactive<stateType>({
-+ tableData: {
-+ safetyActionData: [],
-+ total: 0,
-+ loading: false,
-+ params: {
-+ pageIndex: 1,
-+ pageSize: 10,
-+ searchParams: {
-+ workType: null,
-+ type: null,
-+ context: null
-+ }
-+ }
-+ },
-+ ruleStandTypeList: [
-+ { id: 1, name: '可燃气浓度' },
-+ { id: 2, name: '氧气浓度' },
-+ { id: 3, name: '一氧化碳浓度' },
-+ { id: 4, name: '硫化氢浓度' },
-+ { id: 5, name: '温度' },
-+ { id: 6, name: '压力' },
-+ { id: 7, name: '震动' }
-+ ],
-+ typeList: [
-+ { id: 1, name: '大于' },
-+ { id: 2, name: '等于' },
-+ { id: 4, name: '大于等于' }
-+ ],
-+ typeTwoList: [
-+ { id: 3, name: '小于' },
-+ { id: 2, name: '等于' },
-+ { id: 5, name: '小于等于' }
-+ ],
-+ deleteList: {
-+ ids: []
-+ }
-+ });
-+
-+ //获取巡检任务数据
-+ const initSafetyAction = async () => {
-+ let res = await safetyActionApi().getSafetyActionList(state.tableData.params);
-+ if (res.data.code === '200') {
-+ state.tableData.safetyActionData = res.data.data;
-+ state.tableData.total = res.data.total;
-+ } else {
-+ ElMessage({
-+ type: 'warning',
-+ message: res.data.msg
-+ });
-+ }
-+ };
-+
-+ // //获取部门
-+ // const getDepartmentData = async () => {
-+ // let res = await departmentApi().getDepartmentList();
-+ // if (res.data.code === '200') {
-+ // state.departmentList = res.data.data;
-+ // } else {
-+ // ElMessage({
-+ // type: 'warning',
-+ // message: res.data.msg
-+ // });
-+ // }
-+ // };
-+
-+ // 删除
-+ const deleteSafetyAction = (row: any) => {
-+ ElMessageBox.confirm(`此操作将永久删除该任务:“${row.title}”,是否继续?`, '提示', {
-+ confirmButtonText: '确认',
-+ cancelButtonText: '取消',
-+ type: 'warning'
-+ })
-+ .then(async () => {
-+ let res = await safetyActionApi().deleteSafetyAction(state.deleteList);
-+ if (res.data.code === '200') {
-+ ElMessage({
-+ type: 'success',
-+ duration: 2000,
-+ message: '删除成功'
-+ });
-+ await initSafetyAction();
-+ } else {
-+ ElMessage({
-+ type: 'warning',
-+ message: res.data.msg
-+ });
-+ }
-+ })
-+ .catch(() => {});
-+ };
-+
-+ const handleSelectionChange = (val: Array<ruleType>) => {
-+ state.deleteList.ids = val.map((item) => {
-+ return item.ruleStandId;
-+ });
-+ };
-+
-+ const openSafetyActionDialog = (type: string, value: {}) => {
-+ safetyActionDialogRef.value.showSafetyActionDialog(type, value);
-+ };
-+
-+ const parseNumber = (value: number, type: string) => {
-+ if (type === '标准类型') {
-+ return state.ruleStandTypeList.find((item) => item.id === value)?.name;
-+ } else if (type === '最高值') {
-+ return state.typeTwoList.find((item) => item.id == value)?.name;
-+ } else {
-+ return state.typeList.find((item) => item.id == value)?.name;
-+ }
-+ };
-+
-+ // 分页改变
-+ const onHandleSizeChange = (val: number) => {
-+ state.tableData.params.pageSize = val;
-+ initSafetyAction();
-+ };
-+ // 分页改变
-+ const onHandleCurrentChange = (val: number) => {
-+ state.tableData.params.pageIndex = val;
-+ initSafetyAction();
-+ };
-+
-+ const reset = () => {
-+ state.tableData.params = {
-+ pageIndex: 1,
-+ pageSize: 10,
-+ searchParams: {
-+ workType: null,
-+ type: null,
-+ context: null
-+ }
-+ };
-+ };
-+
-+ // 页面加载时
-+ onMounted(() => {
-+ initSafetyAction();
-+ });
-+
-+ return {
-+ View,
-+ Edit,
-+ Delete,
-+ Refresh,
-+ Plus,
-+ reset,
-+ parseNumber,
-+ handleSelectionChange,
-+ deleteSafetyAction,
-+ initSafetyAction,
-+ onHandleSizeChange,
-+ onHandleCurrentChange,
-+ safetyActionDialogRef,
-+ openSafetyActionDialog,
-+ ...toRefs(state)
-+ };
-+ }
-+};
-+</script>
-+
-+<style scoped lang="scss">
-+$homeNavLengh: 8;
-+.home-container {
-+ height: calc(100vh - 114px);
-+ box-sizing: border-box;
-+ overflow: hidden;
-+ .homeCard {
-+ width: 100%;
-+ padding: 20px;
-+ box-sizing: border-box;
-+ background: #fff;
-+ border-radius: 4px;
-+
-+ .main-card {
-+ width: 100%;
-+ height: 100%;
-+ .cardTop {
-+ display: flex;
-+ align-items: center;
-+ justify-content: space-between;
-+ margin-bottom: 20px;
-+ .mainCardBtn {
-+ margin: 0;
-+ }
-+ }
-+ .pageBtn {
-+ height: 60px;
-+ display: flex;
-+ align-items: center;
-+ justify-content: right;
-+
-+ .demo-pagination-block + .demo-pagination-block {
-+ margin-top: 10px;
-+ }
-+ .demo-pagination-block .demonstration {
-+ margin-bottom: 16px;
-+ }
-+ }
-+ }
-+ &:last-of-type {
-+ height: calc(100% - 100px);
-+ }
-+ }
-+ .el-row {
-+ display: flex;
-+ align-items: center;
-+ margin-bottom: 20px;
-+ &:last-child {
-+ margin-bottom: 0;
-+ }
-+ .grid-content {
-+ align-items: center;
-+ min-height: 36px;
-+ }
-+
-+ .topInfo {
-+ display: flex;
-+ align-items: center;
-+ font-size: 16px;
-+ font-weight: bold;
-+
-+ & > div {
-+ white-space: nowrap;
-+ margin-right: 20px;
-+ }
-+ }
-+ }
-+}
-+.stepItem {
-+ width: 100%;
-+ display: flex;
-+ align-items: flex-start;
-+ margin-bottom: 30px;
-+ margin-left: 30px;
-+ padding-bottom: 30px;
-+ border-left: 2px solid #ccc;
-+ &:first-of-type {
-+ margin-top: 30px;
-+ }
-+ &:last-of-type {
-+ margin-bottom: 0;
-+ border-left: none;
-+ }
-+ .stepNum {
-+ width: 30px;
-+ height: 30px;
-+ border-radius: 15px;
-+ box-sizing: border-box;
-+ color: #333;
-+ border: 1px solid #999;
-+ line-height: 28px;
-+ text-align: center;
-+ margin-right: 10px;
-+ margin-left: -16px;
-+ margin-top: -30px;
-+ }
-+ .stepCard {
-+ width: 100%;
-+ margin-top: -30px;
-+
-+ .box-card {
-+ width: 100%;
-+ &:deep(.el-card__header) {
-+ padding: 10px 15px;
-+ }
-+ .card-header {
-+ width: 100%;
-+ display: flex;
-+ justify-content: space-between;
-+ align-items: center;
-+ & > div:first-of-type {
-+ margin-right: 80px;
-+ font-size: 18px;
-+ font-weight: bold;
-+ }
-+ }
-+ }
-+ }
-+ &:hover .card-header {
-+ color: #0098f5;
-+ }
-+ &:hover .stepNum {
-+ border: 2px solid #0098f5;
-+ color: #0098f5;
-+ }
-+}
-+.el-input {
-+ width: 100% !important;
-+}
-+:deep(.el-date-editor) {
-+ width: 100%;
-+}
-+.el-select {
-+ width: 100%;
-+}
-+:deep(.el-textarea.is-disabled .el-textarea__inner) {
-+ background-color: var(--el-card-bg-color);
-+ color: var(--el-input-text-color, var(--el-text-color-regular));
-+}
-+:deep(.el-input.is-disabled .el-input__inner) {
-+ color: var(--el-input-text-color, var(--el-text-color-regular));
-+}
-+:deep(.el-input.is-disabled .el-input__wrapper) {
-+ background-color: var(--el-card-bg-color);
-+}
-+</style>
diff --git a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_16_15_03__Default_Changelist_.xml b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_16_15_03__Default_Changelist_.xml
deleted file mode 100644
index 5b3136c..0000000
--- a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_16_15_03__Default_Changelist_.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<changelist name="Uncommitted_changes_before_Update_at_2022_8_16_15_03_[Default_Changelist]" date="1660633492977" recycled="true" deleted="true">
- <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_16_15_03_[Default_Changelist]/shelved.patch" />
- <option name="DESCRIPTION" value="Uncommitted changes before Update at 2022/8/16 15:03 [Default Changelist]" />
-</changelist>
\ No newline at end of file
diff --git "a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_17_9_18_\133Default_Changelist\135/shelved.patch" "b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_17_9_18_\133Default_Changelist\135/shelved.patch"
deleted file mode 100644
index 5ae934c..0000000
--- "a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_17_9_18_\133Default_Changelist\135/shelved.patch"
+++ /dev/null
@@ -1,1014 +0,0 @@
-diff --git a/dist/assets/index.166064956048772.js b/dist/assets/index.166064956048772.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487104.css b/dist/assets/index.1660649560487104.css
-deleted file mode 100644
-diff --git a/dist/assets/flowChart.16606495604872.js b/dist/assets/flowChart.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.16606495604875.js b/dist/assets/openAdd.16606495604875.js
-deleted file mode 100644
-diff --git a/dist/assets/lowerPlate.16606495604873.js b/dist/assets/lowerPlate.16606495604873.js
-deleted file mode 100644
-diff --git a/dist/assets/defaults.1660649560487.js b/dist/assets/defaults.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048768.js b/dist/assets/index.166064956048768.js
-deleted file mode 100644
-diff --git a/dist/assets/checkUnitDialog.1660649560487.js b/dist/assets/checkUnitDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/iframes.1660649560487.js b/dist/assets/iframes.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487136.js b/dist/assets/index.1660649560487136.js
-deleted file mode 100644
-diff --git a/dist/assets/formInformationTop.16606495604873.css b/dist/assets/formInformationTop.16606495604873.css
-deleted file mode 100644
-diff --git a/dist/assets/abolishDialog.1660649560487.js b/dist/assets/abolishDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/formInformationTops.16606495604873.css b/dist/assets/formInformationTops.16606495604873.css
-deleted file mode 100644
-diff --git a/dist/assets/main.1660649560487.js b/dist/assets/main.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/Dailog.16606495604874.js b/dist/assets/Dailog.16606495604874.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048731.js b/dist/assets/index.166064956048731.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487101.css b/dist/assets/index.1660649560487101.css
-deleted file mode 100644
-diff --git a/dist/assets/productionDeviceDialog.1660649560487.js b/dist/assets/productionDeviceDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/upData.1660649560487.js b/dist/assets/upData.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.16606495604874.css b/dist/assets/index.16606495604874.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048777.css b/dist/assets/index.166064956048777.css
-deleted file mode 100644
-diff --git a/dist/assets/logo-mini.1660649560487.svg b/dist/assets/logo-mini.1660649560487.svg
-deleted file mode 100644
-diff --git a/dist/assets/safetyRiskEventDialog.1660649560487.css b/dist/assets/safetyRiskEventDialog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/lowerPlate.1660649560487.js b/dist/assets/lowerPlate.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048712.js b/dist/assets/index.166064956048712.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487110.js b/dist/assets/index.1660649560487110.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048742.js b/dist/assets/index.166064956048742.js
-deleted file mode 100644
-diff --git a/dist/assets/401.1660649560487.css b/dist/assets/401.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/admin.1660649560487.js b/dist/assets/admin.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048783.js b/dist/assets/index.166064956048783.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487140.js b/dist/assets/index.1660649560487140.js
-deleted file mode 100644
-diff --git a/dist/assets/index.16606495604877.css b/dist/assets/index.16606495604877.css
-deleted file mode 100644
-diff --git a/dist/assets/checkUnitDialog.1660649560487.css b/dist/assets/checkUnitDialog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/flowChart.1660649560487.css b/dist/assets/flowChart.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487147.js b/dist/assets/index.1660649560487147.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048793.css b/dist/assets/index.166064956048793.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487151.js b/dist/assets/index.1660649560487151.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048749.js b/dist/assets/index.166064956048749.js
-deleted file mode 100644
-diff --git a/dist/assets/index.16606495604876.js b/dist/assets/index.16606495604876.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048745.css b/dist/assets/index.166064956048745.css
-deleted file mode 100644
-diff --git a/dist/assets/approval.1660649560487.js b/dist/assets/approval.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048735.css b/dist/assets/index.166064956048735.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048716.js b/dist/assets/index.166064956048716.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048761.js b/dist/assets/index.166064956048761.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048787.js b/dist/assets/index.166064956048787.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048771.css b/dist/assets/index.166064956048771.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048727.js b/dist/assets/index.166064956048727.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487125.js b/dist/assets/index.1660649560487125.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048750.js b/dist/assets/index.166064956048750.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048761.css b/dist/assets/index.166064956048761.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048798.js b/dist/assets/index.166064956048798.js
-deleted file mode 100644
-diff --git a/dist/assets/vue.1660649560487.js b/dist/assets/vue.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/DailogAdd.16606495604875.js b/dist/assets/DailogAdd.16606495604875.js
-deleted file mode 100644
-diff --git a/dist/assets/releaseOfDrillStart.1660649560487.js b/dist/assets/releaseOfDrillStart.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.166064956048710.css b/dist/assets/openAdd.166064956048710.css
-deleted file mode 100644
-diff --git a/dist/assets/approveBasicDialog.1660649560487.js b/dist/assets/approveBasicDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048767.css b/dist/assets/index.166064956048767.css
-deleted file mode 100644
-diff --git a/dist/assets/openEdit.16606495604872.css b/dist/assets/openEdit.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/DailogAq.1660649560487.css b/dist/assets/DailogAq.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487114.js b/dist/assets/index.1660649560487114.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048719.css b/dist/assets/index.166064956048719.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048738.js b/dist/assets/index.166064956048738.js
-deleted file mode 100644
-diff --git a/dist/assets/formInformationTops.16606495604872.js b/dist/assets/formInformationTops.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048713.css b/dist/assets/index.166064956048713.css
-deleted file mode 100644
-diff --git a/dist/assets/logo-mini.1660649560487.js b/dist/assets/logo-mini.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/recordDialog.1660649560487.css b/dist/assets/recordDialog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/search.1660649560487.js b/dist/assets/search.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/inspectTargetDialog.1660649560487.js b/dist/assets/inspectTargetDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/workDialog.1660649560487.js b/dist/assets/workDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048776.js b/dist/assets/index.166064956048776.js
-deleted file mode 100644
-diff --git a/dist/assets/blindPanelForm.1660649560487.js b/dist/assets/blindPanelForm.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048734.js b/dist/assets/index.166064956048734.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487132.js b/dist/assets/index.1660649560487132.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048787.css b/dist/assets/index.166064956048787.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048751.css b/dist/assets/index.166064956048751.css
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.16606495604879.js b/dist/assets/openAdd.16606495604879.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487.css b/dist/assets/index.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/personInCharge.1660649560487.js b/dist/assets/personInCharge.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487133.js b/dist/assets/index.1660649560487133.js
-deleted file mode 100644
-diff --git a/dist/assets/numberOfCasualties.1660649560487.js b/dist/assets/numberOfCasualties.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/safetyRiskEventDialog.1660649560487.js b/dist/assets/safetyRiskEventDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/fireWorkForm.1660649560487.js b/dist/assets/fireWorkForm.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048780.css b/dist/assets/index.166064956048780.css
-deleted file mode 100644
-diff --git a/dist/assets/approvalProgress.1660649560487.js b/dist/assets/approvalProgress.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487129.js b/dist/assets/index.1660649560487129.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048799.css b/dist/assets/index.166064956048799.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487103.js b/dist/assets/index.1660649560487103.js
-deleted file mode 100644
-diff --git a/dist/assets/loginPage.1660649560487.js b/dist/assets/loginPage.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/regionsDialog.1660649560487.js b/dist/assets/regionsDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048755.css b/dist/assets/index.166064956048755.css
-deleted file mode 100644
-diff --git a/dist/assets/inspectRecordDialog.16606495604872.css b/dist/assets/inspectRecordDialog.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.16606495604875.css b/dist/assets/openAdd.16606495604875.css
-deleted file mode 100644
-diff --git a/dist/assets/regionsDialog.16606495604872.css b/dist/assets/regionsDialog.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048758.css b/dist/assets/index.166064956048758.css
-deleted file mode 100644
-diff --git a/dist/assets/facilityAreaDialog.1660649560487.css b/dist/assets/facilityAreaDialog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487128.js b/dist/assets/index.1660649560487128.js
-deleted file mode 100644
-diff --git a/dist/assets/safetyActionDialog.1660649560487.js b/dist/assets/safetyActionDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/blindPanelForm.16606495604872.css b/dist/assets/blindPanelForm.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048753.js b/dist/assets/index.166064956048753.js
-deleted file mode 100644
-diff --git a/dist/assets/DailogAq.1660649560487.js b/dist/assets/DailogAq.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048735.js b/dist/assets/index.166064956048735.js
-deleted file mode 100644
-diff --git a/dist/assets/openSee.1660649560487.js b/dist/assets/openSee.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048716.css b/dist/assets/index.166064956048716.css
-deleted file mode 100644
-diff --git a/dist/assets/abolishLibrary.1660649560487.css b/dist/assets/abolishLibrary.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.16606495604873.css b/dist/assets/openAdd.16606495604873.css
-deleted file mode 100644
-diff --git a/dist/assets/DailogKh.1660649560487.css b/dist/assets/DailogKh.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487.js b/dist/assets/index.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048728.css b/dist/assets/index.166064956048728.css
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.16606495604878.js b/dist/assets/openAdd.16606495604878.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048726.css b/dist/assets/index.166064956048726.css
-deleted file mode 100644
-diff --git a/dist/assets/lowerPlate.16606495604873.css b/dist/assets/lowerPlate.16606495604873.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487109.js b/dist/assets/index.1660649560487109.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487106.js b/dist/assets/index.1660649560487106.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048757.js b/dist/assets/index.166064956048757.js
-deleted file mode 100644
-diff --git a/dist/assets/rectifyDialog.16606495604872.js b/dist/assets/rectifyDialog.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/fireWorkForm.16606495604872.css b/dist/assets/fireWorkForm.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/inspectTaskDialog.1660649560487.js b/dist/assets/inspectTaskDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048748.css b/dist/assets/index.166064956048748.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048756.js b/dist/assets/index.166064956048756.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048790.css b/dist/assets/index.166064956048790.css
-deleted file mode 100644
-diff --git a/dist/assets/fireWorkForm.1660649560487.css b/dist/assets/fireWorkForm.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/upData.16606495604872.js b/dist/assets/upData.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048738.css b/dist/assets/index.166064956048738.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048779.js b/dist/assets/index.166064956048779.js
-deleted file mode 100644
-diff --git a/dist/assets/limitedSpaceForm.16606495604872.js b/dist/assets/limitedSpaceForm.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/standardDailog.1660649560487.js b/dist/assets/standardDailog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487107.js b/dist/assets/index.1660649560487107.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048780.js b/dist/assets/index.166064956048780.js
-deleted file mode 100644
-diff --git a/dist/assets/formInformationTop.16606495604874.js b/dist/assets/formInformationTop.16606495604874.js
-deleted file mode 100644
-diff --git a/dist/assets/dailogAdd.1660649560487.css b/dist/assets/dailogAdd.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048730.js b/dist/assets/index.166064956048730.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487141.js b/dist/assets/index.1660649560487141.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048743.js b/dist/assets/index.166064956048743.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048739.css b/dist/assets/index.166064956048739.css
-deleted file mode 100644
-diff --git a/dist/assets/inspectPointDialog.1660649560487.js b/dist/assets/inspectPointDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048784.js b/dist/assets/index.166064956048784.js
-deleted file mode 100644
-diff --git a/dist/assets/index.16606495604879.js b/dist/assets/index.16606495604879.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048715.css b/dist/assets/index.166064956048715.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048765.css b/dist/assets/index.166064956048765.css
-deleted file mode 100644
-diff --git a/dist/assets/startUp.1660649560487.js b/dist/assets/startUp.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/DailogAdd.16606495604872.css b/dist/assets/DailogAdd.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/index.16606495604878.css b/dist/assets/index.16606495604878.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048712.css b/dist/assets/index.166064956048712.css
-deleted file mode 100644
-diff --git a/dist/assets/selectEmergencyPlan.1660649560487.css b/dist/assets/selectEmergencyPlan.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048713.js b/dist/assets/index.166064956048713.js
-deleted file mode 100644
-diff --git a/dist/assets/dirtWorkForm.1660649560487.css b/dist/assets/dirtWorkForm.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/DailogAdd.16606495604875.css b/dist/assets/DailogAdd.16606495604875.css
-deleted file mode 100644
-diff --git a/dist/assets/DailogSearch.16606495604872.css b/dist/assets/DailogSearch.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487100.js b/dist/assets/index.1660649560487100.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048736.css b/dist/assets/index.166064956048736.css
-deleted file mode 100644
-diff --git a/dist/assets/formInformationTops.1660649560487.js b/dist/assets/formInformationTops.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048773.css b/dist/assets/index.166064956048773.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048718.css b/dist/assets/index.166064956048718.css
-deleted file mode 100644
-diff --git a/dist/assets/maintain.1660649560487.css b/dist/assets/maintain.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/transverse.1660649560487.js b/dist/assets/transverse.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048762.css b/dist/assets/index.166064956048762.css
-deleted file mode 100644
-diff --git a/dist/assets/Dailog.16606495604873.js b/dist/assets/Dailog.16606495604873.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048741.js b/dist/assets/index.166064956048741.js
-deleted file mode 100644
-diff --git a/dist/assets/limitedSpaceForm.16606495604872.css b/dist/assets/limitedSpaceForm.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.1660649560487.css b/dist/assets/openAdd.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487111.js b/dist/assets/index.1660649560487111.js
-deleted file mode 100644
-diff --git a/dist/assets/RFIDDialog.1660649560487.js b/dist/assets/RFIDDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/TypeDailog.1660649560487.css b/dist/assets/TypeDailog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/facilityAreaDialog.1660649560487.js b/dist/assets/facilityAreaDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048771.js b/dist/assets/index.166064956048771.js
-deleted file mode 100644
-diff --git a/dist/assets/flowChart.16606495604872.css b/dist/assets/flowChart.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/inspectRecordDialog.1660649560487.css b/dist/assets/inspectRecordDialog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/upData.1660649560487.css b/dist/assets/upData.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/limitedSpaceForm.1660649560487.js b/dist/assets/limitedSpaceForm.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/initiateApproval.1660649560487.css b/dist/assets/initiateApproval.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/initiateApproval.1660649560487.js b/dist/assets/initiateApproval.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.16606495604872.css b/dist/assets/index.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048715.js b/dist/assets/index.166064956048715.js
-deleted file mode 100644
-diff --git a/dist/assets/equipment.1660649560487.js b/dist/assets/equipment.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/echarts.1660649560487.js b/dist/assets/echarts.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/regionsDialog.1660649560487.css b/dist/assets/regionsDialog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.16606495604877.js b/dist/assets/index.16606495604877.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048779.css b/dist/assets/index.166064956048779.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048775.js b/dist/assets/index.166064956048775.js
-deleted file mode 100644
-diff --git a/dist/assets/highWorkForm.16606495604872.css b/dist/assets/highWorkForm.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048748.js b/dist/assets/index.166064956048748.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487102.js b/dist/assets/index.1660649560487102.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487148.js b/dist/assets/index.1660649560487148.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048773.js b/dist/assets/index.166064956048773.js
-deleted file mode 100644
-diff --git a/dist/assets/lowerPlate.1660649560487.css b/dist/assets/lowerPlate.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/formInformationTops.16606495604873.js b/dist/assets/formInformationTops.16606495604873.js
-deleted file mode 100644
-diff --git a/dist/assets/riskControlMeasureDialog.1660649560487.css b/dist/assets/riskControlMeasureDialog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/deptDialog.1660649560487.js b/dist/assets/deptDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048783.css b/dist/assets/index.166064956048783.css
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.1660649560487.js b/dist/assets/openAdd.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048786.js b/dist/assets/index.166064956048786.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487113.js b/dist/assets/index.1660649560487113.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487103.css b/dist/assets/index.1660649560487103.css
-deleted file mode 100644
-diff --git a/dist/assets/reportDialog.1660649560487.js b/dist/assets/reportDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/login-icon-two.1660649560487.js b/dist/assets/login-icon-two.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/Dailog.16606495604875.js b/dist/assets/Dailog.16606495604875.js
-deleted file mode 100644
-diff --git a/dist/assets/openEdit.1660649560487.js b/dist/assets/openEdit.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/inspectPointDialog.1660649560487.css b/dist/assets/inspectPointDialog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/formInformationTop.16606495604874.css b/dist/assets/formInformationTop.16606495604874.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048789.css b/dist/assets/index.166064956048789.css
-deleted file mode 100644
-diff --git a/dist/assets/accountLogin.1660649560487.css b/dist/assets/accountLogin.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487145.js b/dist/assets/index.1660649560487145.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048747.js b/dist/assets/index.166064956048747.js
-deleted file mode 100644
-diff --git a/dist/assets/addEmergencyPersonnel.1660649560487.css b/dist/assets/addEmergencyPersonnel.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/DailogSearch.16606495604872.js b/dist/assets/DailogSearch.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/processForm.1660649560487.js b/dist/assets/processForm.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487115.js b/dist/assets/index.1660649560487115.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048718.js b/dist/assets/index.166064956048718.js
-deleted file mode 100644
-diff --git a/dist/assets/processForm.1660649560487.css b/dist/assets/processForm.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048789.js b/dist/assets/index.166064956048789.js
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.166064956048710.js b/dist/assets/openAdd.166064956048710.js
-deleted file mode 100644
-diff --git a/dist/assets/selectMeasureControlDialog.1660649560487.js b/dist/assets/selectMeasureControlDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/DailogSearch.1660649560487.js b/dist/assets/DailogSearch.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.16606495604874.js b/dist/assets/index.16606495604874.js
-deleted file mode 100644
-diff --git a/dist/assets/hangLoadForm.16606495604872.js b/dist/assets/hangLoadForm.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048725.css b/dist/assets/index.166064956048725.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487146.js b/dist/assets/index.1660649560487146.js
-deleted file mode 100644
-diff --git a/dist/assets/DailogSearch.16606495604873.js b/dist/assets/DailogSearch.16606495604873.js
-deleted file mode 100644
-diff --git a/dist/assets/index.16606495604875.js b/dist/assets/index.16606495604875.js
-deleted file mode 100644
-diff --git a/dist/assets/selectEmergencyPlan.1660649560487.js b/dist/assets/selectEmergencyPlan.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/login-icon-two.1660649560487.svg b/dist/assets/login-icon-two.1660649560487.svg
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.16606495604876.css b/dist/assets/openAdd.16606495604876.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487117.js b/dist/assets/index.1660649560487117.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048729.css b/dist/assets/index.166064956048729.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048766.css b/dist/assets/index.166064956048766.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048746.js b/dist/assets/index.166064956048746.js
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.16606495604879.css b/dist/assets/openAdd.16606495604879.css
-deleted file mode 100644
-diff --git a/dist/assets/approval.1660649560487.css b/dist/assets/approval.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.16606495604872.css b/dist/assets/openAdd.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048769.css b/dist/assets/index.166064956048769.css
-deleted file mode 100644
-diff --git a/dist/assets/standardDailog.1660649560487.css b/dist/assets/standardDailog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/userDialog.1660649560487.js b/dist/assets/userDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048722.css b/dist/assets/index.166064956048722.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487116.js b/dist/assets/index.1660649560487116.js
-deleted file mode 100644
-diff --git a/dist/assets/xj-icon.1660649560487.js b/dist/assets/xj-icon.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048788.js b/dist/assets/index.166064956048788.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048717.js b/dist/assets/index.166064956048717.js
-deleted file mode 100644
-diff --git a/dist/assets/DailogSearch.16606495604874.js b/dist/assets/DailogSearch.16606495604874.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487100.css b/dist/assets/index.1660649560487100.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048786.css b/dist/assets/index.166064956048786.css
-deleted file mode 100644
-diff --git a/dist/assets/404.1660649560487.css b/dist/assets/404.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487118.js b/dist/assets/index.1660649560487118.js
-deleted file mode 100644
-diff --git a/dist/assets/highWorkForm.16606495604872.js b/dist/assets/highWorkForm.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048770.js b/dist/assets/index.166064956048770.js
-deleted file mode 100644
-diff --git a/dist/assets/inspectRecordDialog.1660649560487.js b/dist/assets/inspectRecordDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048752.css b/dist/assets/index.166064956048752.css
-deleted file mode 100644
-diff --git a/dist/assets/checkDialog.1660649560487.css b/dist/assets/checkDialog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.16606495604872.js b/dist/assets/index.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048776.css b/dist/assets/index.166064956048776.css
-deleted file mode 100644
-diff --git a/dist/assets/roleDialog.1660649560487.css b/dist/assets/roleDialog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/inspect.1660649560487.css b/dist/assets/inspect.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/cutLineForm.1660649560487.css b/dist/assets/cutLineForm.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.16606495604875.css b/dist/assets/index.16606495604875.css
-deleted file mode 100644
-diff --git a/dist/assets/classic.1660649560487.js b/dist/assets/classic.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/tempElectForm.1660649560487.css b/dist/assets/tempElectForm.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/approvalProcess.1660649560487.js b/dist/assets/approvalProcess.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487142.js b/dist/assets/index.1660649560487142.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048745.js b/dist/assets/index.166064956048745.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048796.css b/dist/assets/index.166064956048796.css
-deleted file mode 100644
-diff --git a/dist/assets/link.1660649560487.js b/dist/assets/link.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/Dailogprove.1660649560487.js b/dist/assets/Dailogprove.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/formInformationTop.1660649560487.js b/dist/assets/formInformationTop.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048759.css b/dist/assets/index.166064956048759.css
-deleted file mode 100644
-diff --git a/dist/assets/index.16606495604873.js b/dist/assets/index.16606495604873.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048732.css b/dist/assets/index.166064956048732.css
-deleted file mode 100644
-diff --git a/dist/assets/blindPanelForm.16606495604872.js b/dist/assets/blindPanelForm.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487144.js b/dist/assets/index.1660649560487144.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048719.js b/dist/assets/index.166064956048719.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048749.css b/dist/assets/index.166064956048749.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048742.css b/dist/assets/index.166064956048742.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487119.js b/dist/assets/index.1660649560487119.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048744.js b/dist/assets/index.166064956048744.js
-deleted file mode 100644
-diff --git a/dist/assets/lowerPlate.16606495604874.css b/dist/assets/lowerPlate.16606495604874.css
-deleted file mode 100644
-diff --git a/dist/assets/accidentName.1660649560487.js b/dist/assets/accidentName.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487143.js b/dist/assets/index.1660649560487143.js
-deleted file mode 100644
-diff --git a/dist/assets/checkDialog.1660649560487.js b/dist/assets/checkDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487149.js b/dist/assets/index.1660649560487149.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048782.css b/dist/assets/index.166064956048782.css
-deleted file mode 100644
-diff --git a/dist/assets/openEdit.16606495604872.js b/dist/assets/openEdit.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/maintain.1660649560487.js b/dist/assets/maintain.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048756.css b/dist/assets/index.166064956048756.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048755.js b/dist/assets/index.166064956048755.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487112.js b/dist/assets/index.1660649560487112.js
-deleted file mode 100644
-diff --git a/dist/assets/homeMenu.1660649560487.js b/dist/assets/homeMenu.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/DailogAdd.16606495604873.js b/dist/assets/DailogAdd.16606495604873.js
-deleted file mode 100644
-diff --git a/dist/assets/Dailog.1660649560487.css b/dist/assets/Dailog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048785.css b/dist/assets/index.166064956048785.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487123.js b/dist/assets/index.1660649560487123.js
-deleted file mode 100644
-diff --git a/dist/assets/Dailog.16606495604872.css b/dist/assets/Dailog.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048788.css b/dist/assets/index.166064956048788.css
-deleted file mode 100644
-diff --git a/dist/assets/addDic.1660649560487.js b/dist/assets/addDic.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/processForms.1660649560487.js b/dist/assets/processForms.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.16606495604877.js b/dist/assets/openAdd.16606495604877.js
-deleted file mode 100644
-diff --git a/dist/assets/Dailog.16606495604872.js b/dist/assets/Dailog.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/homeMenu.1660649560487.css b/dist/assets/homeMenu.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/rectificationDialog.1660649560487.js b/dist/assets/rectificationDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/cutLineForm.1660649560487.js b/dist/assets/cutLineForm.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487101.js b/dist/assets/index.1660649560487101.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048774.js b/dist/assets/index.166064956048774.js
-deleted file mode 100644
-diff --git a/dist/assets/formInformationTops.16606495604874.js b/dist/assets/formInformationTops.16606495604874.js
-deleted file mode 100644
-diff --git a/dist/assets/dirtWorkForm.16606495604872.css b/dist/assets/dirtWorkForm.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048740.js b/dist/assets/index.166064956048740.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487138.js b/dist/assets/index.1660649560487138.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048736.js b/dist/assets/index.166064956048736.js
-deleted file mode 100644
-diff --git a/dist/assets/highWorkForm.1660649560487.js b/dist/assets/highWorkForm.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048740.css b/dist/assets/index.166064956048740.css
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.16606495604873.js b/dist/assets/openAdd.16606495604873.js
-deleted file mode 100644
-diff --git a/dist/assets/recordDialog.1660649560487.js b/dist/assets/recordDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048725.js b/dist/assets/index.166064956048725.js
-deleted file mode 100644
-diff --git a/dist/assets/index.16606495604879.css b/dist/assets/index.16606495604879.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048796.js b/dist/assets/index.166064956048796.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048772.css b/dist/assets/index.166064956048772.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048785.js b/dist/assets/index.166064956048785.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048714.js b/dist/assets/index.166064956048714.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048724.css b/dist/assets/index.166064956048724.css
-deleted file mode 100644
-diff --git a/dist/assets/DailogAdd.16606495604876.css b/dist/assets/DailogAdd.16606495604876.css
-deleted file mode 100644
-diff --git a/dist/assets/openEdit.1660649560487.css b/dist/assets/openEdit.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/safetyRiskAnalyseUnitDialog.1660649560487.js b/dist/assets/safetyRiskAnalyseUnitDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/DailogSearch.1660649560487.css b/dist/assets/DailogSearch.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.16606495604877.css b/dist/assets/openAdd.16606495604877.css
-deleted file mode 100644
-diff --git a/dist/assets/index.16606495604878.js b/dist/assets/index.16606495604878.js
-deleted file mode 100644
-diff --git a/dist/assets/riskControlMeasureDialog.1660649560487.js b/dist/assets/riskControlMeasureDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048750.css b/dist/assets/index.166064956048750.css
-deleted file mode 100644
-diff --git a/dist/assets/DailogSearch.16606495604874.css b/dist/assets/DailogSearch.16606495604874.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048775.css b/dist/assets/index.166064956048775.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048751.js b/dist/assets/index.166064956048751.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048746.css b/dist/assets/index.166064956048746.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048763.css b/dist/assets/index.166064956048763.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048759.js b/dist/assets/index.166064956048759.js
-deleted file mode 100644
-diff --git a/dist/assets/index.16606495604876.css b/dist/assets/index.16606495604876.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048760.css b/dist/assets/index.166064956048760.css
-deleted file mode 100644
-diff --git a/dist/assets/menuDialog.1660649560487.js b/dist/assets/menuDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/releaseOfDrillStart.1660649560487.css b/dist/assets/releaseOfDrillStart.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048710.js b/dist/assets/index.166064956048710.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048781.js b/dist/assets/index.166064956048781.js
-deleted file mode 100644
-diff --git a/dist/assets/processForms.1660649560487.css b/dist/assets/processForms.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/flowChart.1660649560487.js b/dist/assets/flowChart.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048752.js b/dist/assets/index.166064956048752.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048795.css b/dist/assets/index.166064956048795.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487104.js b/dist/assets/index.1660649560487104.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487127.js b/dist/assets/index.1660649560487127.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048729.js b/dist/assets/index.166064956048729.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048714.css b/dist/assets/index.166064956048714.css
-deleted file mode 100644
-diff --git a/dist/assets/approvalProcess.1660649560487.css b/dist/assets/approvalProcess.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/formInformationTop.16606495604872.css b/dist/assets/formInformationTop.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048777.js b/dist/assets/index.166064956048777.js
-deleted file mode 100644
-diff --git a/dist/assets/rectificationDialog.1660649560487.css b/dist/assets/rectificationDialog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/editDic.1660649560487.js b/dist/assets/editDic.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487134.js b/dist/assets/index.1660649560487134.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048792.css b/dist/assets/index.166064956048792.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048758.js b/dist/assets/index.166064956048758.js
-deleted file mode 100644
-diff --git a/dist/assets/parent.1660649560487.js b/dist/assets/parent.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/DailogKh.1660649560487.js b/dist/assets/DailogKh.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/addEmergencyPersonnel.1660649560487.js b/dist/assets/addEmergencyPersonnel.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048711.css b/dist/assets/index.166064956048711.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048778.js b/dist/assets/index.166064956048778.js
-deleted file mode 100644
-diff --git a/dist/assets/formInformationTops.16606495604872.css b/dist/assets/formInformationTops.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/DailogAdd.16606495604873.css b/dist/assets/DailogAdd.16606495604873.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487105.js b/dist/assets/index.1660649560487105.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048711.js b/dist/assets/index.166064956048711.js
-deleted file mode 100644
-diff --git a/dist/assets/formInformationTop.16606495604872.js b/dist/assets/formInformationTop.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048782.js b/dist/assets/index.166064956048782.js
-deleted file mode 100644
-diff --git a/dist/assets/accidentName.1660649560487.css b/dist/assets/accidentName.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/hangLoadForm.16606495604872.css b/dist/assets/hangLoadForm.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/index.html b/dist/index.html
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487130.js b/dist/assets/index.1660649560487130.js
-deleted file mode 100644
-diff --git a/dist/assets/regionsCheckbox.1660649560487.js b/dist/assets/regionsCheckbox.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/inspectTaskDialog.1660649560487.css b/dist/assets/inspectTaskDialog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/numberOfCasualties.1660649560487.css b/dist/assets/numberOfCasualties.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048743.css b/dist/assets/index.166064956048743.css
-deleted file mode 100644
-diff --git a/dist/assets/abolishLibrary.1660649560487.js b/dist/assets/abolishLibrary.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/formInformationTop.16606495604873.js b/dist/assets/formInformationTop.16606495604873.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048721.css b/dist/assets/index.166064956048721.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048733.js b/dist/assets/index.166064956048733.js
-deleted file mode 100644
-diff --git a/dist/assets/startUp.1660649560487.css b/dist/assets/startUp.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/userSelect.1660649560487.css b/dist/assets/userSelect.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487131.js b/dist/assets/index.1660649560487131.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487108.js b/dist/assets/index.1660649560487108.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048731.css b/dist/assets/index.166064956048731.css
-deleted file mode 100644
-diff --git a/dist/assets/updata.16606495604873.js b/dist/assets/updata.16606495604873.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048753.css b/dist/assets/index.166064956048753.css
-deleted file mode 100644
-diff --git a/dist/assets/DailogAdd.1660649560487.js b/dist/assets/DailogAdd.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/reportDialog.1660649560487.css b/dist/assets/reportDialog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048732.js b/dist/assets/index.166064956048732.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487124.js b/dist/assets/index.1660649560487124.js
-deleted file mode 100644
-diff --git a/dist/assets/lowerPlate.16606495604872.css b/dist/assets/lowerPlate.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/cutLineForm.16606495604872.js b/dist/assets/cutLineForm.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048741.css b/dist/assets/index.166064956048741.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048770.css b/dist/assets/index.166064956048770.css
-deleted file mode 100644
-diff --git a/dist/assets/regionsCheckbox.1660649560487.css b/dist/assets/regionsCheckbox.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048797.css b/dist/assets/index.166064956048797.css
-deleted file mode 100644
-diff --git a/dist/assets/loginPage.1660649560487.css b/dist/assets/loginPage.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/rectifyDialog.1660649560487.js b/dist/assets/rectifyDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/inspectRecordDialog.16606495604872.js b/dist/assets/inspectRecordDialog.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/upData.16606495604872.css b/dist/assets/upData.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048760.js b/dist/assets/index.166064956048760.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048794.css b/dist/assets/index.166064956048794.css
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.16606495604876.js b/dist/assets/openAdd.16606495604876.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048768.css b/dist/assets/index.166064956048768.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048739.js b/dist/assets/index.166064956048739.js
-deleted file mode 100644
-diff --git a/dist/assets/search.1660649560487.css b/dist/assets/search.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/404.1660649560487.js b/dist/assets/404.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/blindPanelForm.1660649560487.css b/dist/assets/blindPanelForm.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048754.js b/dist/assets/index.166064956048754.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048769.js b/dist/assets/index.166064956048769.js
-deleted file mode 100644
-diff --git a/dist/assets/regionsDialog.16606495604872.js b/dist/assets/regionsDialog.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/columns.1660649560487.js b/dist/assets/columns.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/Dailog.16606495604873.css b/dist/assets/Dailog.16606495604873.css
-deleted file mode 100644
-diff --git a/dist/assets/DailogKhS.1660649560487.css b/dist/assets/DailogKhS.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/openSee.1660649560487.css b/dist/assets/openSee.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048744.css b/dist/assets/index.166064956048744.css
-deleted file mode 100644
-diff --git a/dist/assets/DailogAdd.16606495604872.js b/dist/assets/DailogAdd.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487152.js b/dist/assets/index.1660649560487152.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048747.css b/dist/assets/index.166064956048747.css
-deleted file mode 100644
-diff --git a/dist/assets/userSelect.1660649560487.js b/dist/assets/userSelect.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048733.css b/dist/assets/index.166064956048733.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487126.js b/dist/assets/index.1660649560487126.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048757.css b/dist/assets/index.166064956048757.css
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.16606495604878.css b/dist/assets/openAdd.16606495604878.css
-deleted file mode 100644
-diff --git a/dist/assets/fireWorkForm.16606495604872.js b/dist/assets/fireWorkForm.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/dirtWorkForm.16606495604872.js b/dist/assets/dirtWorkForm.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048799.js b/dist/assets/index.166064956048799.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487139.js b/dist/assets/index.1660649560487139.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048724.js b/dist/assets/index.166064956048724.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048795.js b/dist/assets/index.166064956048795.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048728.js b/dist/assets/index.166064956048728.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487135.js b/dist/assets/index.1660649560487135.js
-deleted file mode 100644
-diff --git a/dist/assets/Dailogprove.1660649560487.css b/dist/assets/Dailogprove.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/dailogAdd.16606495604876.js b/dist/assets/dailogAdd.16606495604876.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048723.css b/dist/assets/index.166064956048723.css
-deleted file mode 100644
-diff --git a/dist/assets/DailogKhS.1660649560487.js b/dist/assets/DailogKhS.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/formInformationTops.16606495604874.css b/dist/assets/formInformationTops.16606495604874.css
-deleted file mode 100644
-diff --git a/dist/assets/tempElectForm.1660649560487.js b/dist/assets/tempElectForm.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/tempElectForm.16606495604872.css b/dist/assets/tempElectForm.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487150.js b/dist/assets/index.1660649560487150.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048737.js b/dist/assets/index.166064956048737.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048762.js b/dist/assets/index.166064956048762.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487137.js b/dist/assets/index.1660649560487137.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048778.css b/dist/assets/index.166064956048778.css
-deleted file mode 100644
-diff --git a/dist/assets/rectifyDialog.1660649560487.css b/dist/assets/rectifyDialog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/DailogAdd.16606495604874.js b/dist/assets/DailogAdd.16606495604874.js
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.16606495604874.js b/dist/assets/openAdd.16606495604874.js
-deleted file mode 100644
-diff --git a/dist/assets/tempElectForm.16606495604872.js b/dist/assets/tempElectForm.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048726.js b/dist/assets/index.166064956048726.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048797.js b/dist/assets/index.166064956048797.js
-deleted file mode 100644
-diff --git a/dist/assets/Dailog.16606495604874.css b/dist/assets/Dailog.16606495604874.css
-deleted file mode 100644
-diff --git a/dist/assets/workDialog.1660649560487.css b/dist/assets/workDialog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487120.js b/dist/assets/index.1660649560487120.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048734.css b/dist/assets/index.166064956048734.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048764.js b/dist/assets/index.166064956048764.js
-deleted file mode 100644
-diff --git a/dist/assets/main.1660649560487.css b/dist/assets/main.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048763.js b/dist/assets/index.166064956048763.js
-deleted file mode 100644
-diff --git a/dist/assets/limitedSpaceForm.1660649560487.css b/dist/assets/limitedSpaceForm.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048717.css b/dist/assets/index.166064956048717.css
-deleted file mode 100644
-diff --git a/dist/assets/index.16606495604873.css b/dist/assets/index.16606495604873.css
-deleted file mode 100644
-diff --git a/dist/assets/roleDialog.1660649560487.js b/dist/assets/roleDialog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048722.js b/dist/assets/index.166064956048722.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048793.js b/dist/assets/index.166064956048793.js
-deleted file mode 100644
-diff --git a/dist/assets/highWorkForm.1660649560487.css b/dist/assets/highWorkForm.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048737.css b/dist/assets/index.166064956048737.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048794.js b/dist/assets/index.166064956048794.js
-deleted file mode 100644
-diff --git a/dist/assets/personInCharge.1660649560487.css b/dist/assets/personInCharge.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487102.css b/dist/assets/index.1660649560487102.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048784.css b/dist/assets/index.166064956048784.css
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.16606495604872.js b/dist/assets/openAdd.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/hangLoadForm.1660649560487.js b/dist/assets/hangLoadForm.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/Dailog.1660649560487.js b/dist/assets/Dailog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/accountLogin.1660649560487.js b/dist/assets/accountLogin.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/columns.1660649560487.css b/dist/assets/columns.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/DailogAdd.16606495604874.css b/dist/assets/DailogAdd.16606495604874.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048765.js b/dist/assets/index.166064956048765.js
-deleted file mode 100644
-diff --git a/dist/assets/cutLineForm.16606495604872.css b/dist/assets/cutLineForm.16606495604872.css
-deleted file mode 100644
-diff --git a/dist/assets/formInformationTop.1660649560487.css b/dist/assets/formInformationTop.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048730.css b/dist/assets/index.166064956048730.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048781.css b/dist/assets/index.166064956048781.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048723.js b/dist/assets/index.166064956048723.js
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487105.css b/dist/assets/index.1660649560487105.css
-deleted file mode 100644
-diff --git a/dist/assets/approvalProgress.1660649560487.css b/dist/assets/approvalProgress.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/hangLoadForm.1660649560487.css b/dist/assets/hangLoadForm.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487122.js b/dist/assets/index.1660649560487122.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048791.js b/dist/assets/index.166064956048791.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048720.js b/dist/assets/index.166064956048720.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048798.css b/dist/assets/index.166064956048798.css
-deleted file mode 100644
-diff --git a/dist/assets/401.1660649560487.js b/dist/assets/401.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/DailogSearch.16606495604873.css b/dist/assets/DailogSearch.16606495604873.css
-deleted file mode 100644
-diff --git a/dist/assets/formInformationTops.1660649560487.css b/dist/assets/formInformationTops.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048774.css b/dist/assets/index.166064956048774.css
-deleted file mode 100644
-diff --git a/dist/assets/lowerPlate.16606495604874.js b/dist/assets/lowerPlate.16606495604874.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048790.js b/dist/assets/index.166064956048790.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048791.css b/dist/assets/index.166064956048791.css
-deleted file mode 100644
-diff --git a/dist/assets/index.1660649560487121.js b/dist/assets/index.1660649560487121.js
-deleted file mode 100644
-diff --git a/dist/assets/TypeDailog.1660649560487.js b/dist/assets/TypeDailog.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048754.css b/dist/assets/index.166064956048754.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048766.js b/dist/assets/index.166064956048766.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048720.css b/dist/assets/index.166064956048720.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048792.js b/dist/assets/index.166064956048792.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048721.js b/dist/assets/index.166064956048721.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048710.css b/dist/assets/index.166064956048710.css
-deleted file mode 100644
-diff --git a/dist/assets/aside.1660649560487.js b/dist/assets/aside.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/inspect.1660649560487.js b/dist/assets/inspect.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/openAdd.16606495604874.css b/dist/assets/openAdd.16606495604874.css
-deleted file mode 100644
-diff --git a/dist/assets/lowerPlate.16606495604872.js b/dist/assets/lowerPlate.16606495604872.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048767.js b/dist/assets/index.166064956048767.js
-deleted file mode 100644
-diff --git a/dist/assets/abolishDialog.1660649560487.css b/dist/assets/abolishDialog.1660649560487.css
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048764.css b/dist/assets/index.166064956048764.css
-deleted file mode 100644
-diff --git a/dist/assets/dirtWorkForm.1660649560487.js b/dist/assets/dirtWorkForm.1660649560487.js
-deleted file mode 100644
-diff --git a/dist/assets/index.166064956048727.css b/dist/assets/index.166064956048727.css
-deleted file mode 100644
diff --git a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_17_9_18__Default_Changelist_.xml b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_17_9_18__Default_Changelist_.xml
deleted file mode 100644
index accdd47..0000000
--- a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_17_9_18__Default_Changelist_.xml
+++ /dev/null
@@ -1,169 +0,0 @@
-<changelist name="Uncommitted_changes_before_Update_at_2022_8_17_9_18_[Default_Changelist]" date="1660699132393" recycled="true" deleted="true">
- <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_17_9_18_[Default_Changelist]/shelved.patch" />
- <option name="DESCRIPTION" value="Uncommitted changes before Update at 2022/8/17 9:18 [Default Changelist]" />
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/icon9.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/device-pic.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/topbg.1660649560487.jpg" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/icon7.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/card4.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/icon5.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/card6.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/card2.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/equipment.1660649560487.JPG" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/icon11.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/icon3.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/map-bg.1660649560487.jpg" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/card10.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/icon1.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/card8.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/star-bg.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/bg_home.1660649560487.jpg" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/leftbg.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/card5.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/icon6.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/icon8.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/card3.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/card7.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/card1.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/companyLogo.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/card11.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/icon2.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/icon4.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/icon10.1660649560487.png" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/favicon.ico" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/login-bg.1660649560487.jpg" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/watersys.1660649560487.JPG" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
- <binary>
- <option name="BEFORE_PATH" value="dist/assets/wind.1660649560487.JPG" />
- <option name="AFTER_PATH" />
- <option name="SHELVED_PATH" />
- </binary>
-</changelist>
\ No newline at end of file
diff --git "a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_17_52_\133Default_Changelist\135/shelved.patch" "b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_17_52_\133Default_Changelist\135/shelved.patch"
new file mode 100644
index 0000000..e0a3c43
--- /dev/null
+++ "b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_17_52_\133Default_Changelist\135/shelved.patch"
@@ -0,0 +1,1315 @@
+Index: .env.production
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
+<+># 线上环境\r\nENV = 'production'\r\n\r\n# 线上环境接口地址\r\nVITE_API_URL = 'http://121.239.169.27:16006/safeplatform'\r\nVITE_API_URL_OUT = 'http://121.239.169.27:16006/safeplatform-out'\r\nVITE_API_URL_SOCKET = 'http://121.239.169.27:16006/safeplatform'\r\n#VITE_API_URL = 'http://192.168.0.52:8011/safeplatform'\r\n#VITE_API_URL_OUT = 'http://192.168.0.52:8011/safeplatform-out'\r\n#VITE_API_URL_SOCKET = 'http://192.168.0.52:8011/safeplatform'\r\n
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/.env.production b/.env.production
+--- a/.env.production (revision 216d03fa53a38ffc6afe45756d2ae73b21bf00b5)
++++ b/.env.production (date 1661244605763)
+@@ -5,6 +5,17 @@
+ VITE_API_URL = 'http://121.239.169.27:16006/safeplatform'
+ VITE_API_URL_OUT = 'http://121.239.169.27:16006/safeplatform-out'
+ VITE_API_URL_SOCKET = 'http://121.239.169.27:16006/safeplatform'
++
+ #VITE_API_URL = 'http://192.168.0.52:8011/safeplatform'
+ #VITE_API_URL_OUT = 'http://192.168.0.52:8011/safeplatform-out'
+ #VITE_API_URL_SOCKET = 'http://192.168.0.52:8011/safeplatform'
++
++#内网test环境
++#VITE_API_URL = 'http://192.168.0.52:7021/safeplatform'
++#VITE_API_URL_OUT = 'http://192.168.0.52:7021/safeplatform-out'
++#VITE_API_URL_SOCKET = 'http://192.168.0.52:7021/safeplatform'
++
++# 国泰线上试用环境接口地址
++#VITE_API_URL = 'http://121.239.169.27:16016/safeplatform'
++#VITE_API_URL_OUT = 'http://121.239.169.27:16016/safeplatform-out'
++#VITE_API_URL_SOCKET = 'http://121.239.169.27:16016/safeplatform'
+Index: src/views/system/user/index.vue
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
+<+><template>\r\n <div class=\"system-user-container\">\r\n <el-card shadow=\"hover\">\r\n <div class=\"system-user-search mb15\">\r\n <el-input size=\"default\" v-model=\"userTableData.listQuery.searchParams.username\" placeholder=\"请输入用户名称\" style=\"max-width: 180px\"> </el-input>\r\n <el-input size=\"default\" v-model=\"userTableData.listQuery.searchParams.realName\" placeholder=\"请输入真实姓名\" style=\"max-width: 180px; margin-left: 10px\"> </el-input>\r\n <el-button size=\"default\" type=\"primary\" class=\"ml10\" @click=\"initUserTableData\">\r\n <el-icon>\r\n <ele-Search />\r\n </el-icon>\r\n 查询\r\n </el-button>\r\n <el-button size=\"default\" type=\"success\" class=\"ml10\" @click=\"onOpenUserDialog('新增', '')\">\r\n <el-icon>\r\n <ele-FolderAdd />\r\n </el-icon>\r\n 新增用户\r\n </el-button>\r\n </div>\r\n <el-table :data=\"userTableData.data\" style=\"width: 100%\">\r\n <el-table-column type=\"index\" label=\"序号\" width=\"60\" />\r\n <el-table-column prop=\"username\" label=\"账户名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"realName\" label=\"用户昵称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"sex\" label=\"性别\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"role.name\" label=\"关联角色\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"department.name\" label=\"部门\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"phone\" label=\"手机号\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"email\" label=\"邮箱\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"status\" label=\"用户状态\" show-overflow-tooltip>\r\n <template #default=\"scope\">\r\n <el-tag type=\"success\" v-if=\"scope.row.status\">启用</el-tag>\r\n <el-tag type=\"info\" v-else>禁用</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"gmtCreate\" label=\"创建时间\" show-overflow-tooltip></el-table-column>\r\n <el-table-column label=\"操作\" width=\"100\">\r\n <template #default=\"scope\">\r\n <el-button :disabled=\"scope.row.userName === 'admin'\" size=\"small\" text type=\"primary\" @click=\"onOpenUserDialog('修改', scope.row)\">修改</el-button>\r\n <el-button :disabled=\"scope.row.userName === 'admin'\" size=\"small\" text type=\"primary\" @click=\"onRowDel(scope.row)\">删除</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <br />\r\n <el-pagination @size-change=\"onHandleSizeChange\" @current-change=\"onHandleCurrentChange\" class=\"page-position\" :pager-count=\"5\" :page-sizes=\"[10, 20, 30]\" v-model:current-page=\"userTableData.listQuery.pageIndex\" background v-model:page-size=\"userTableData.listQuery.pageSize\" layout=\"total, sizes, prev, pager, next, jumper\" :total=\"userTableData.total\"> </el-pagination>\r\n <br />\r\n <br />\r\n </el-card>\r\n <userDialog ref=\"userRef\" @getUserList=\"initUserTableData\" />\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { toRefs, reactive, onMounted, ref, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\nimport userDialog from '/@/views/system/user/component/userDialog.vue';\r\nimport { userApi } from '/@/api/systemManage/user';\r\nimport { departmentApi } from '/@/api/systemManage/department';\r\nimport { useRoleApi } from '/@/api/systemManage/role';\r\n\r\n// 定义接口来定义对象的类型\r\ninterface TableDataRow {\r\n userName: string;\r\n userNickname: string;\r\n roleSign: string;\r\n department: string[];\r\n phone: string;\r\n email: string;\r\n sex: string;\r\n password: string;\r\n overdueTime: Date;\r\n status: boolean;\r\n describe: string;\r\n createTime: string;\r\n}\r\ninterface DepartmentDataRow {}\r\ninterface TableDataState {\r\n userTableData: {\r\n data: Array<TableDataRow>;\r\n total: number;\r\n loading: boolean;\r\n listQuery: {\r\n searchParams: {\r\n username: string | null;\r\n realName: string | null;\r\n };\r\n pageIndex: number;\r\n pageSize: number;\r\n };\r\n };\r\n departmentList: [];\r\n roleList: [];\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'systemUser',\r\n components: { userDialog },\r\n setup() {\r\n const userRef = ref();\r\n const state = reactive<TableDataState>({\r\n userTableData: {\r\n data: [],\r\n total: 0,\r\n loading: false,\r\n listQuery: {\r\n searchParams: {\r\n username: null,\r\n realName: null\r\n },\r\n pageIndex: 1,\r\n pageSize: 10\r\n }\r\n },\r\n departmentList: [],\r\n roleList: []\r\n });\r\n // 初始化表格数据\r\n const initUserTableData = async () => {\r\n let res = await userApi().getUserList(state.userTableData.listQuery);\r\n if (res.data.code === '200') {\r\n state.userTableData.data = res.data.data;\r\n state.userTableData.total = 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 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 const getRoleData = async () => {\r\n let res = await useRoleApi().getRoleList();\r\n if (res.data.code === '200') {\r\n state.roleList = 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 onOpenUserDialog = (type: string, value: any) => {\r\n userRef.value.openDialog(type, value, state.departmentList, state.roleList);\r\n };\r\n\r\n // 删除用户\r\n const onRowDel = (row: TableDataRow) => {\r\n ElMessageBox.confirm(`此操作将永久删除账户名称:“${row.userName}”,是否继续?`, '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n })\r\n .then(() => {\r\n ElMessage.success('删除成功');\r\n })\r\n .catch(() => {});\r\n };\r\n // 分页改变\r\n const onHandleSizeChange = (val: number) => {\r\n state.userTableData.listQuery.pageSize = val;\r\n initUserTableData();\r\n };\r\n // 分页改变\r\n const onHandleCurrentChange = (val: number) => {\r\n state.userTableData.listQuery.pageIndex = val;\r\n initUserTableData();\r\n };\r\n // 页面加载时\r\n onMounted(() => {\r\n initUserTableData();\r\n getDepartmentData();\r\n getRoleData();\r\n });\r\n return {\r\n userRef,\r\n onOpenUserDialog,\r\n onRowDel,\r\n onHandleSizeChange,\r\n initUserTableData,\r\n onHandleCurrentChange,\r\n ...toRefs(state)\r\n };\r\n }\r\n});\r\n</script>\r\n
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
+--- a/src/views/system/user/index.vue (revision 216d03fa53a38ffc6afe45756d2ae73b21bf00b5)
++++ b/src/views/system/user/index.vue (date 1661242148445)
+@@ -180,6 +180,10 @@
+ };
+ // 页面加载时
+ onMounted(() => {
++ let a = { name: 1, c: { name: 1 } };
++ let b = Object.assign({}, a);
++ b.c.name = 2;
++ console.log(a.c.name);
+ initUserTableData();
+ getDepartmentData();
+ getRoleData();
+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\nimport { useRoute } from 'vue-router';\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 route = useRoute();\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 if (route.query.id) {\r\n state.tableData.params.taskStatus = Number(route.query.id);\r\n state.tableData.inspectRecordData = JSON.parse(route.query.dataList);\r\n state.tableData.total = Number(route.query.total);\r\n }\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 216d03fa53a38ffc6afe45756d2ae73b21bf00b5)
++++ b/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue (date 1661228236216)
+@@ -314,7 +314,7 @@
+ onMounted(() => {
+ if (route.query.id) {
+ state.tableData.params.taskStatus = Number(route.query.id);
+- state.tableData.inspectRecordData = JSON.parse(route.query.dataList);
++ state.tableData.inspectRecordData = JSON.parse(route.query.dataList as string);
+ state.tableData.total = Number(route.query.total);
+ }
+ // getInspectRecord();
+Index: src/views/system/user/component/userDialog.vue
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
+<+><template>\r\n <div class=\"system-add-user-container\">\r\n <el-dialog :title=\"title\" v-model=\"isShowUserDialog\" width=\"769px\">\r\n <el-form :model=\"userForm\" size=\"default\" label-width=\"90px\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"账户名称\">\r\n <el-input v-model=\"userForm.username\" placeholder=\"请输入账户名称\" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"用户昵称\">\r\n <el-input v-model=\"userForm.realName\" placeholder=\"请输入用户昵称\" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"关联角色\">\r\n <el-select v-model=\"userForm.roleId\" placeholder=\"请选择\" clearable class=\"w100\">\r\n <el-option v-for=\"item in roleData\" :key=\"item.roleId\" :label=\"item.roleName\" :value=\"item.roleId\"> </el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"部门\">\r\n <el-cascader :options=\"departmentData\" :props=\"{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }\" placeholder=\"请选择部门\" clearable class=\"w100\" v-model=\"userForm.depId\"> </el-cascader>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"手机号\">\r\n <el-input v-model=\"userForm.phone\" placeholder=\"请输入手机号\" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"身份证\">\r\n <el-input v-model=\"userForm.identify\" placeholder=\"请输入身份证\" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"邮箱\">\r\n <el-input v-model=\"userForm.email\" placeholder=\"请输入\" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"性别\">\r\n <el-select v-model=\"userForm.gender\" placeholder=\"请选择\" clearable class=\"w100\">\r\n <el-option v-for=\"item in sexList\" :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 :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"账户密码\">\r\n <el-input v-model=\"userForm.password\" placeholder=\"请输入\" type=\"password\" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">\r\n <el-form-item label=\"账户过期\">\r\n <el-date-picker v-model=\"userForm.expireTime\" type=\"date\" placeholder=\"请选择\" class=\"w100\"> </el-date-picker>\r\n </el-form-item>\r\n </el-col>\r\n <!--\t\t\t\t\t<el-col :xs=\"24\" :sm=\"12\" :md=\"12\" :lg=\"12\" :xl=\"12\" class=\"mb20\">-->\r\n <!--\t\t\t\t\t\t<el-form-item label=\"用户状态\">-->\r\n <!--\t\t\t\t\t\t\t<el-switch v-model=\"userForm.status\" inline-prompt active-value = 1 inactive-value= 0 active-text=\"启\" inactive-text=\"禁\"></el-switch>-->\r\n <!--\t\t\t\t\t\t</el-form-item>-->\r\n <!--\t\t\t\t\t</el-col>-->\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n <span class=\"dialog-footer\">\r\n <el-button @click=\"isShowUserDialog = !isShowUserDialog\" size=\"default\">取 消</el-button>\r\n <el-button type=\"primary\" v-throttle @click=\"onSubmit\" size=\"default\">确 定</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { reactive, toRefs, onMounted, defineComponent } from 'vue';\r\nimport { ElMessageBox, ElMessage } from 'element-plus';\r\nimport { userApi } from '/@/api/systemManage/user';\r\n\r\n// 定义接口来定义对象的类型\r\ninterface DeptData {}\r\ninterface roleData {}\r\ninterface sexData {}\r\ninterface UserState {\r\n title: string;\r\n isShowUserDialog: boolean;\r\n userForm: {\r\n username: string;\r\n realName: string;\r\n roleId: number | null;\r\n depId: number | null;\r\n phone: string;\r\n email: string;\r\n gender: number | null;\r\n password: string;\r\n expireTime: string;\r\n status: number;\r\n identify: string;\r\n };\r\n departmentData: Array<DeptData>;\r\n roleData: Array<roleData>;\r\n sexList: Array<sexData>;\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'user',\r\n setup(props, context) {\r\n const state = reactive<UserState>({\r\n title: '',\r\n isShowUserDialog: false,\r\n userForm: {\r\n username: '', // 账户名称\r\n realName: '', // 用户昵称\r\n roleId: null, // 关联角色\r\n depId: null, // 部门\r\n phone: '', // 手机号\r\n email: '', // 邮箱\r\n identify: '',\r\n gender: null, // 性别\r\n password: '', // 账户密码\r\n expireTime: '', // 账户过期\r\n status: 1 // 用户状态\r\n },\r\n departmentData: [], // 部门数据\r\n roleData: [], //角色数据\r\n sexList: [\r\n { id: 1, name: '男' },\r\n { id: 0, name: '女' }\r\n ]\r\n });\r\n // 打开弹窗\r\n const openDialog = (type: string, value: any, departmentList: [], roleList: []) => {\r\n state.isShowUserDialog = true;\r\n state.departmentData = departmentList;\r\n state.roleData = roleList;\r\n if (type === '新增') {\r\n state.title = '新增用户';\r\n state.userForm = {\r\n username: '',\r\n realName: '',\r\n roleId: null,\r\n depId: null,\r\n phone: '',\r\n email: '',\r\n identify: '',\r\n gender: null,\r\n password: '',\r\n expireTime: '',\r\n status: 1\r\n };\r\n } else {\r\n state.title = '修改用户';\r\n state.userForm = JSON.parse(JSON.stringify(value));\r\n }\r\n };\r\n\r\n // 新增修改\r\n const onSubmit = async () => {\r\n if (state.title === '新增用户') {\r\n let res = await userApi().addUser(state.userForm);\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 state.isShowUserDialog = false;\r\n context.emit('getUserList');\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 userApi().modUser(state.userForm);\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 state.isShowUserDialog = false;\r\n context.emit('getUserList');\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 // 页面加载时\r\n onMounted(() => {});\r\n return {\r\n openDialog,\r\n onSubmit,\r\n ...toRefs(state)\r\n };\r\n }\r\n});\r\n</script>\r\n
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/src/views/system/user/component/userDialog.vue b/src/views/system/user/component/userDialog.vue
+--- a/src/views/system/user/component/userDialog.vue (revision 216d03fa53a38ffc6afe45756d2ae73b21bf00b5)
++++ b/src/views/system/user/component/userDialog.vue (date 1661237062499)
+@@ -94,6 +94,7 @@
+ phone: string;
+ email: string;
+ gender: number | null;
++ positionId: number | null;
+ password: string;
+ expireTime: string;
+ status: number;
+@@ -120,6 +121,7 @@
+ identify: '',
+ gender: null, // 性别
+ password: '', // 账户密码
++ positionId: 1, // 岗位
+ expireTime: '', // 账户过期
+ status: 1 // 用户状态
+ },
+@@ -145,6 +147,7 @@
+ phone: '',
+ email: '',
+ identify: '',
++ positionId: 1,
+ gender: null,
+ password: '',
+ expireTime: '',
+Index: .idea/shelf/Uncommitted_changes_before_Update_at_2022_8_16_15_03__Default_Changelist_.xml
+===================================================================
+diff --git a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_16_15_03__Default_Changelist_.xml b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_16_15_03__Default_Changelist_.xml
+deleted file mode 100644
+--- a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_16_15_03__Default_Changelist_.xml (revision 216d03fa53a38ffc6afe45756d2ae73b21bf00b5)
++++ /dev/null (revision 216d03fa53a38ffc6afe45756d2ae73b21bf00b5)
+@@ -1,4 +0,0 @@
+-<changelist name="Uncommitted_changes_before_Update_at_2022_8_16_15_03_[Default_Changelist]" date="1660633492977" recycled="true" deleted="true">
+- <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_16_15_03_[Default_Changelist]/shelved.patch" />
+- <option name="DESCRIPTION" value="Uncommitted changes before Update at 2022/8/16 15:03 [Default Changelist]" />
+-</changelist>
+\ No newline at end of file
+Index: .idea/shelf/Uncommitted_changes_before_Update_at_2022_8_16_15_03_[Default_Changelist]/shelved.patch
+===================================================================
+diff --git a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_16_15_03_[Default_Changelist]/shelved.patch b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_16_15_03_[Default_Changelist]/shelved.patch
+deleted file mode 100644
+--- a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_16_15_03_[Default_Changelist]/shelved.patch (revision 216d03fa53a38ffc6afe45756d2ae73b21bf00b5)
++++ /dev/null (revision 216d03fa53a38ffc6afe45756d2ae73b21bf00b5)
+@@ -1,1194 +0,0 @@
+-Index: src/views/specialWorkSystem/workFlow/approveBasic/components/approveBasicDialog.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 :title=\"title\" v-model=\"isShowApproveBasicDialog\" width=\"600px\" :close-on-click-modal=\"false\">\r\n <el-form :model=\"approveBasicForm\" :rules=\"approveBasicFormRules\" ref=\"approveBasicFormRef\" size=\"default\" label-width=\"120px\">\r\n <el-row :gutter=\"35\">\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"标题\" prop=\"title\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"approveBasicForm.title\" placeholder=\"请输入标题名称\" clearable></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"标准类型\" prop=\"ruleStandType\">\r\n <el-select class=\"input-add\" :disabled=\"!disabled\" v-model=\"approveBasicForm.ruleStandType\" placeholder=\"请选择标准类型\" clearable filterable>\r\n <el-option v-for=\"item in ruleStandTypeList\" :key=\"item.id\" :label=\"item.name\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"最大值\" prop=\"maxVal\">\r\n <el-input v-model=\"approveBasicForm.maxVal\" type=\"number\" class=\"input-add\" placeholder=\"请根据需求选择\">\r\n <template #prepend>\r\n <el-select v-model=\"approveBasicForm.maxValMatchPattern\" placeholder=\"请根据需求选择\" style=\"width: 115px\">\r\n <el-option v-for=\"item in typeTwoList\" :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-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"最小值\" prop=\"minVal\">\r\n <el-input v-model=\"approveBasicForm.minVal\" type=\"number\" class=\"input-add\" placeholder=\"请根据需求选择\">\r\n <template #prepend>\r\n <el-select v-model=\"approveBasicForm.minValMatchPattern\" placeholder=\"请根据需求选择\" style=\"width: 115px\">\r\n <el-option v-for=\"item in typeList\" :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-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\">\r\n <el-form-item label=\"描述\" prop=\"info\">\r\n <el-input class=\"input-add\" :rows=\"3\" v-model.trim=\"approveBasicForm.info\" type=\"textarea\" placeholder=\"请输入描述\" ></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"创建人\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"approveBasicForm.createByUserName\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"创建时间\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"approveBasicForm.gmtCreate\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"最后修改人\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"approveBasicForm.lastEditUserName\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :xs=\"24\" :sm=\"24\" :md=\"24\" :lg=\"24\" :xl=\"24\" class=\"mb20\" v-show=\"personTime\">\r\n <el-form-item label=\"最后修改时间\" prop=\"location\">\r\n <el-input class=\"input-add\" :disabled=\"!disabled\" v-model.trim=\"approveBasicForm.gmtModitify\"></el-input>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <template #footer>\r\n <span class=\"dialog-footer\" v-show=\"disabled\">\r\n <el-button @click=\"isShowApproveBasicDialog = !isShowApproveBasicDialog\" size=\"default\">取 消</el-button>\r\n <el-button type=\"primary\" @click=\"submitApproveBasic\" v-throttle size=\"default\">确 定</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\ninterface stateType {\r\n isShowApproveBasicDialog: Boolean;\r\n disabled: Boolean;\r\n personTime: Boolean;\r\n approveBasicForm: {\r\n ruleStandType: null|number,\r\n minVal: null|number,\r\n minValMatchPattern: null,\r\n maxVal: null|number,\r\n maxValMatchPattern: null|number,\r\n title:null| string,\r\n info:null| string,\r\n };\r\n title: string;\r\n departmentList: [];\r\n ruleStandTypeList: Array<levelListState>;\r\n typeList: Array<levelListState>;\r\n typeTwoList: Array<levelListState>;\r\n approveBasicFormRules: {};\r\n}\r\ninterface levelListState {\r\n id:number,\r\n name:string\r\n}\r\nimport { reactive, toRefs, ref } from 'vue';\r\nimport { approveBasicApi } from '/@/api/specialWorkSystem/approveBasic';\r\nimport { ElMessage } from 'element-plus';\r\nexport default {\r\n name: 'approveBasicDialog',\r\n setup(props: any, context: any) {\r\n const approveBasicFormRef = ref();\r\n const state = reactive<stateType>({\r\n title: '',\r\n disabled: false,\r\n personTime: false,\r\n departmentList: [],\r\n isShowApproveBasicDialog: false,\r\n ruleStandTypeList: [\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 ],\r\n typeList:[\r\n { id: 1, name: '大于' },\r\n { id: 2, name: '等于' },\r\n { id: 4, name: '大于等于' },\r\n ],\r\n typeTwoList:[\r\n { id: 3, name: '小于' },\r\n { id: 2, name: '等于' },\r\n { id: 5, name: '小于等于' },\r\n ],\r\n approveBasicForm: {\r\n ruleStandType: null,\r\n minVal: null,\r\n minValMatchPattern: null,\r\n maxVal: null,\r\n maxValMatchPattern: null,\r\n title: null,\r\n info: null,\r\n },\r\n approveBasicFormRules: {\r\n ruleStandType: [{ required: true, message: '请选择标准类型', trigger: 'change' }],\r\n minVal: [{ required: true, message: '请填写标最低值', trigger: 'blur' }],\r\n maxVal: [{ required: true, message: '请填写标最高值', trigger: 'blur' }],\r\n title: [{ required: true, message: '请选择风险等级', trigger: 'blur' }],\r\n info: [{ required: true, message: '请填写描述信息', trigger: 'blur' }]\r\n }\r\n });\r\n\r\n //打开模态框\r\n const showApproveBasicDialog = (type: string, value: object, department: []) => {\r\n state.isShowApproveBasicDialog = true;\r\n state.departmentList = department;\r\n setTimeout(() => {\r\n approveBasicFormRef.value.clearValidate();\r\n });\r\n if (type === '新增') {\r\n state.disabled = true;\r\n state.personTime = false;\r\n state.title = '新增审批标准';\r\n state.approveBasicForm = {\r\n ruleStandType: null,\r\n minVal: null,\r\n minValMatchPattern: null,\r\n maxVal: null,\r\n maxValMatchPattern: null,\r\n title: null,\r\n info: null,\r\n };\r\n } else if (type === '查看') {\r\n state.disabled = false;\r\n state.personTime = true;\r\n state.title = '查看审批标准';\r\n state.approveBasicForm = JSON.parse(JSON.stringify(value));\r\n } else {\r\n state.disabled = true;\r\n state.personTime = false;\r\n state.title = '修改审批标准';\r\n state.approveBasicForm = JSON.parse(JSON.stringify(value));\r\n }\r\n };\r\n\r\n //新增修改提交\r\n const submitApproveBasic = async () => {\r\n approveBasicFormRef.value.validate(async (valid: Boolean) => {\r\n if (valid) {\r\n if (state.title === '新增审批标准') {\r\n let res = await approveBasicApi().addApproveBasic(state.approveBasicForm);\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 state.isShowApproveBasicDialog = false;\r\n context.emit('refreshApproveBasic');\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 approveBasicApi().modApproveBasic(state.approveBasicForm);\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 state.isShowApproveBasicDialog = false;\r\n context.emit('refreshApproveBasic');\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 return {\r\n ...toRefs(state),\r\n approveBasicFormRef,\r\n submitApproveBasic,\r\n showApproveBasicDialog\r\n };\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped></style>\r\n
+-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+-<+>UTF-8
+-===================================================================
+-diff --git a/src/views/specialWorkSystem/workFlow/approveBasic/components/approveBasicDialog.vue b/src/views/specialWorkSystem/workFlow/approveBasic/components/approveBasicDialog.vue
+---- a/src/views/specialWorkSystem/workFlow/approveBasic/components/approveBasicDialog.vue (revision a1d03a0e810219f8353748f6e55699bf2e1a77a6)
+-+++ b/src/views/specialWorkSystem/workFlow/approveBasic/components/approveBasicDialog.vue (date 1660630612554)
+-@@ -39,7 +39,7 @@
+- </el-col>
+- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+- <el-form-item label="描述" prop="info">
+-- <el-input class="input-add" :rows="3" v-model.trim="approveBasicForm.info" type="textarea" placeholder="请输入描述" ></el-input>
+-+ <el-input class="input-add" :rows="3" v-model.trim="approveBasicForm.info" type="textarea" placeholder="请输入描述"></el-input>
+- </el-form-item>
+- </el-col>
+- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-show="personTime">
+-@@ -80,13 +80,14 @@
+- disabled: Boolean;
+- personTime: Boolean;
+- approveBasicForm: {
+-- ruleStandType: null|number,
+-- minVal: null|number,
+-- minValMatchPattern: null,
+-- maxVal: null|number,
+-- maxValMatchPattern: null|number,
+-- title:null| string,
+-- info:null| string,
+-+ ruleStandId: null | number;
+-+ ruleStandType: null | number;
+-+ minVal: null | number;
+-+ minValMatchPattern: null;
+-+ maxVal: null | number;
+-+ maxValMatchPattern: null | number;
+-+ title: null | string;
+-+ info: null | string;
+- };
+- title: string;
+- departmentList: [];
+-@@ -96,9 +97,20 @@
+- approveBasicFormRules: {};
+- }
+- interface levelListState {
+-- id:number,
+-- name:string
+-+ id: number;
+-+ name: string;
+- }
+-+interface approveBasicForm {
+-+ ruleStandId: null | number;
+-+ ruleStandType: null | number;
+-+ minVal: null | number;
+-+ minValMatchPattern: null;
+-+ maxVal: null | number;
+-+ maxValMatchPattern: null | number;
+-+ title: null | string;
+-+ info: null | string;
+-+}
+-+
+- import { reactive, toRefs, ref } from 'vue';
+- import { approveBasicApi } from '/@/api/specialWorkSystem/approveBasic';
+- import { ElMessage } from 'element-plus';
+-@@ -119,26 +131,27 @@
+- { id: 4, name: '硫化氢浓度' },
+- { id: 5, name: '温度' },
+- { id: 6, name: '压力' },
+-- { id: 7, name: '震动' },
+-+ { id: 7, name: '震动' }
+- ],
+-- typeList:[
+-+ typeList: [
+- { id: 1, name: '大于' },
+- { id: 2, name: '等于' },
+-- { id: 4, name: '大于等于' },
+-+ { id: 4, name: '大于等于' }
+- ],
+-- typeTwoList:[
+-+ typeTwoList: [
+- { id: 3, name: '小于' },
+- { id: 2, name: '等于' },
+-- { id: 5, name: '小于等于' },
+-+ { id: 5, name: '小于等于' }
+- ],
+- approveBasicForm: {
+-+ ruleStandId: null,
+- ruleStandType: null,
+- minVal: null,
+- minValMatchPattern: null,
+- maxVal: null,
+- maxValMatchPattern: null,
+- title: null,
+-- info: null,
+-+ info: null
+- },
+- approveBasicFormRules: {
+- ruleStandType: [{ required: true, message: '请选择标准类型', trigger: 'change' }],
+-@@ -161,13 +174,14 @@
+- state.personTime = false;
+- state.title = '新增审批标准';
+- state.approveBasicForm = {
+-+ ruleStandId: null,
+- ruleStandType: null,
+- minVal: null,
+- minValMatchPattern: null,
+- maxVal: null,
+- maxValMatchPattern: null,
+- title: null,
+-- info: null,
+-+ info: null
+- };
+- } else if (type === '查看') {
+- state.disabled = false;
+-@@ -179,6 +193,9 @@
+- state.personTime = false;
+- state.title = '修改审批标准';
+- state.approveBasicForm = JSON.parse(JSON.stringify(value));
+-+ // for (let i in state.approveBasicForm) {
+-+ // state.approveBasicForm[i] = approveBasicForm[i];
+-+ // }
+- }
+- };
+-
+-Index: src/views/specialWorkSystem/workFlow/approveBasic/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=\"openApproveBasicDialog('新增', {})\">新建</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.approveBasicData\" style=\"width: 100%\" height=\"calc(100% - 100px)\" :header-cell-style=\"{ background: '#fafafa' }\">\r\n <el-table-column property=\"title\" label=\"标题\" />\r\n <el-table-column property=\"ruleStandType\" label=\"标准类型\">\r\n <template #default=\"scope\">\r\n <span>\r\n {{ parseNumber(scope.row.ruleStandType, '标准类型') }}\r\n </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column property=\"minVal\" label=\"最低值\">\r\n <template #default=\"scope\">\r\n <span>\r\n {{ parseNumber(scope.row.minValMatchPattern, '最低值') }}\r\n </span>\r\n <span>\r\n {{scope.row.minVal}}\r\n </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column property=\"maxVal\" label=\"最高值\">\r\n <template #default=\"scope\">\r\n <span>\r\n {{ parseNumber(scope.row.maxValMatchPattern, '最高值') }}\r\n </span>\r\n <span>\r\n {{ scope.row.maxVal }}\r\n </span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column property=\"info\" 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=\"openApproveBasicDialog('查看', scope.row)\">查看</el-button>\r\n <el-button link type=\"primary\" size=\"small\" :icon=\"Edit\" @click=\"openApproveBasicDialog('修改', scope.row)\">修改</el-button>\r\n <el-button link type=\"danger\" size=\"small\" :icon=\"Delete\" @click=\"deleteApproveBasic(scope.row)\">删除</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <br>\r\n <el-pagination\r\n @size-change=\"onHandleSizeChange\"\r\n @current-change=\"onHandleCurrentChange\"\r\n :pager-count=\"5\"\r\n :page-sizes=\"[10, 20, 30]\"\r\n v-model:current-page=\"tableData.params.pageIndex\"\r\n background\r\n v-model:page-size=\"tableData.params.pageSize\"\r\n layout=\"total, sizes, prev, pager, next, jumper\"\r\n :total=\"tableData.total\"\r\n class=\"page-position\">\r\n </el-pagination>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <approve-basic-dialog ref=\"approveBasicDialogRef\" @refreshApproveBasic=\"getInspectionTask\"></approve-basic-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 { approveBasicApi } from '/@/api/specialWorkSystem/approveBasic';\r\nimport { departmentApi } from '/@/api/systemManage/department';\r\nimport approveBasicDialog from '/@/views/specialWorkSystem/workFlow/approveBasic/components/approveBasicDialog.vue';\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 approveBasicData: [];\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 ruleStandTypeList: Array<type>;\r\n typeList: Array<type>;\r\n typeTwoList: 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: { approveBasicDialog },\r\n setup() {\r\n const approveBasicDialogRef = ref();\r\n const state = reactive<stateType>({\r\n tableData: {\r\n approveBasicData: [],\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 ruleStandTypeList: [\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 ],\r\n typeList:[\r\n { id: 1, name: '大于' },\r\n { id: 2, name: '等于' },\r\n { id: 4, name: '大于等于' },\r\n ],\r\n typeTwoList:[\r\n { id: 3, name: '小于' },\r\n { id: 2, name: '等于' },\r\n { id: 5, name: '小于等于' },\r\n ],\r\n\r\n });\r\n\r\n //获取巡检任务数据\r\n const getInspectionTask = async () => {\r\n let res = await approveBasicApi().getApproveBasicList(state.tableData.params);\r\n if (res.data.code === '200') {\r\n state.tableData.approveBasicData = res.data.data;\r\n state.tableData.total = 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 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 deleteApproveBasic = (row: any) => {\r\n ElMessageBox.confirm(`此操作将永久删除该任务:“${row.title}”,是否继续?`, '提示', {\r\n confirmButtonText: '确认',\r\n cancelButtonText: '取消',\r\n type: 'warning'\r\n })\r\n .then(async () => {\r\n let res = await approveBasicApi().deleteApproveBasic({ 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 openApproveBasicDialog = (type: string, value: {}) => {\r\n approveBasicDialogRef.value.showApproveBasicDialog(type, value);\r\n };\r\n\r\n const parseNumber = (value: number, type: string) => {\r\n if (type === '标准类型') {\r\n return state.ruleStandTypeList.find((item) => item.id === value)?.name;\r\n } else if (type === '最高值') {\r\n return state.typeTwoList.find((item) => item.id == value)?.name;\r\n } else {\r\n return state.typeList.find((item) => item.id == value)?.name;\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 });\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 deleteApproveBasic,\r\n getInspectionTask,\r\n onHandleSizeChange,\r\n onHandleCurrentChange,\r\n approveBasicDialogRef,\r\n openApproveBasicDialog,\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 - 114px);\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/specialWorkSystem/workFlow/approveBasic/index.vue b/src/views/specialWorkSystem/workFlow/approveBasic/index.vue
+---- a/src/views/specialWorkSystem/workFlow/approveBasic/index.vue (revision a1d03a0e810219f8353748f6e55699bf2e1a77a6)
+-+++ b/src/views/specialWorkSystem/workFlow/approveBasic/index.vue (date 1660631242441)
+-@@ -5,14 +5,12 @@
+- <div class="basic-line">
+- <span>任务类型:</span>
+- <el-select v-model="tableData.params.workType" clearable filterable class="input-box" placeholder="任务类型">
+-- <el-option v-for="item in workTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+-+ <!-- <el-option v-for="item in workTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
+- </el-select>
+- </div>
+- <div class="basic-line">
+- <span>执行班组:</span>
+-- <el-select v-model="tableData.params.execClassgroupId" clearable filterable class="input-box" placeholder="执行班组">
+-- <el-option v-for="item in classGroupList" :key="item.id" :label="item.groupName" :value="item.id"></el-option>
+-- </el-select>
+-+ <el-select v-model="tableData.params.execClassgroupId" clearable filterable class="input-box" placeholder="执行班组"> </el-select>
+- </div>
+- <div style="padding-bottom: 10px">
+- <el-button type="primary" @click="getInspectionTask">查询</el-button>
+-@@ -28,7 +26,8 @@
+- </el-col>
+- <el-button type="primary" :icon="Refresh" size="default" />
+- </el-row>
+-- <el-table ref="multipleTableRef" :data="tableData.approveBasicData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }">
+-+ <el-table ref="multipleTableRef" :data="tableData.approveBasicData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }" @selection-change="handleSelectionChange">
+-+ <el-table-column type="selection" width="55" />
+- <el-table-column property="title" label="标题" />
+- <el-table-column property="ruleStandType" label="标准类型">
+- <template #default="scope">
+-@@ -43,13 +42,13 @@
+- {{ parseNumber(scope.row.minValMatchPattern, '最低值') }}
+- </span>
+- <span>
+-- {{scope.row.minVal}}
+-+ {{ scope.row.minVal }}
+- </span>
+- </template>
+- </el-table-column>
+- <el-table-column property="maxVal" label="最高值">
+- <template #default="scope">
+-- <span>
+-+ <span>
+- {{ parseNumber(scope.row.maxValMatchPattern, '最高值') }}
+- </span>
+- <span>
+-@@ -71,20 +70,8 @@
+- </template>
+- </el-table-column>
+- </el-table>
+-- <br>
+-- <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>
+--
+-+ <br />
+-+ <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>
+- </div>
+- </div>
+- </div>
+-@@ -125,14 +112,16 @@
+- ruleStandTypeList: Array<type>;
+- typeList: Array<type>;
+- typeTwoList: Array<type>;
+-+ deleteList: {
+-+ ids: Array<number>;
+-+ };
+- }
+- interface type {
+- id: number;
+- name: string;
+- }
+--interface classGroup {
+-- id: number;
+-- groupName: string;
+-+interface ruleType {
+-+ ruleStandId: number;
+- }
+- export default {
+- name: 'index',
+-@@ -162,19 +151,21 @@
+- { id: 4, name: '硫化氢浓度' },
+- { id: 5, name: '温度' },
+- { id: 6, name: '压力' },
+-- { id: 7, name: '震动' },
+-+ { id: 7, name: '震动' }
+- ],
+-- typeList:[
+-+ typeList: [
+- { id: 1, name: '大于' },
+- { id: 2, name: '等于' },
+-- { id: 4, name: '大于等于' },
+-+ { id: 4, name: '大于等于' }
+- ],
+-- typeTwoList:[
+-+ typeTwoList: [
+- { id: 3, name: '小于' },
+- { id: 2, name: '等于' },
+-- { id: 5, name: '小于等于' },
+-+ { id: 5, name: '小于等于' }
+- ],
+--
+-+ deleteList: {
+-+ ids: []
+-+ }
+- });
+-
+- //获取巡检任务数据
+-@@ -212,7 +203,7 @@
+- type: 'warning'
+- })
+- .then(async () => {
+-- let res = await approveBasicApi().deleteApproveBasic({ id: row.id });
+-+ let res = await approveBasicApi().deleteApproveBasic(state.deleteList);
+- if (res.data.code === '200') {
+- ElMessage({
+- type: 'success',
+-@@ -230,6 +221,12 @@
+- .catch(() => {});
+- };
+-
+-+ const handleSelectionChange = (val: Array<ruleType>) => {
+-+ state.deleteList.ids = val.map((item) => {
+-+ return item.ruleStandId;
+-+ });
+-+ };
+-+
+- const openApproveBasicDialog = (type: string, value: {}) => {
+- approveBasicDialogRef.value.showApproveBasicDialog(type, value);
+- };
+-@@ -281,6 +278,7 @@
+- Plus,
+- reset,
+- parseNumber,
+-+ handleSelectionChange,
+- deleteApproveBasic,
+- getInspectionTask,
+- onHandleSizeChange,
+-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\nVITE_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://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://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\nVITE_API_URL_SOCKET = 'http://192.168.0.29:8018'\r\n#黄振websocket接口地址
+-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+-<+>UTF-8
+-===================================================================
+-diff --git a/.env.development b/.env.development
+---- a/.env.development (revision a1d03a0e810219f8353748f6e55699bf2e1a77a6)
+-+++ b/.env.development (date 1660616346693)
+-@@ -1,7 +1,7 @@
+- # 本地环境
+- 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'
+-@@ -29,4 +29,4 @@
+- #线上正式环境外包接口地址
+-
+- VITE_API_URL_SOCKET = 'http://192.168.0.29:8018'
+--#黄振websocket接口地址
+-\ No newline at end of file
+-+#黄振websocket接口地址
+-Index: src/views/doublePrevent/dpIndex/index.vue
+-IDEA additional info:
+-Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
+-<+><template>\r\n <div class=\"home-container\">\r\n <div class=\"main-cont\">\r\n <div class=\"table-item\">\r\n <div class=\"item-head\">\r\n <span>告警风险事件概括</span>\r\n <div @click=\"toRiskEve\">查看更多>></div>\r\n </div>\r\n <el-table :data=\"eventData\" style=\"width: 100%\" :header-cell-style=\"{ background: '#fafafa' }\">\r\n <el-table-column prop=\"riskEventName\" label=\"风险事件名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"riskUnitName\" label=\"风险分析单元名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"createByUserName\" 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>\r\n </div>\r\n <div class=\"table-item table-item2\">\r\n <div class=\"item-head\">\r\n <span>隐患状态详情</span>\r\n <div @click=\"toRiskStatus\">查看更多>></div>\r\n </div>\r\n <el-table :data=\"riskStatusData\" style=\"width: 100%\" :header-cell-style=\"{ background: '#fafafa' }\">\r\n <el-table-column type=\"index\" label=\"序号\" width=\"60\" />\r\n<!-- <el-table-column prop=\"reportTime\" label=\"上报时间\" show-overflow-tooltip width=\"170px\"></el-table-column>-->\r\n <el-table-column prop=\"dangerCode\" label=\"隐患名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"dangerLevel\" label=\"隐患等级\" show-overflow-tooltip>\r\n <template #default=\"scope\">\r\n <div :style=\"{color: scope.row.dangerLevel==1?'#409eff':'#ff0000'}\">\r\n {{scope.row.dangerLevel==1?'一般隐患':'重大隐患'}}\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"reportTime\" label=\"上报时间\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"dangerStatus\" label=\"隐患状态\" show-overflow-tooltip>\r\n <template #default=\"scope\">\r\n <div :style=\"{color: scope.row.dangerStatus==0 || scope.row.dangerStatus==1 ?'#67C23A':(scope.row.dangerStatus==2 || scope.row.dangerStatus==3?'#F56C6C':'#409EFF')}\">\r\n {{scope.row.dangerStatus==0?'整改中':(scope.row.dangerStatus==1?'待验收':(scope.row.dangerStatus==2?'延期整改':(scope.row.dangerStatus==3?'超期未整改':'已验收')))}}\r\n </div>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </div>\r\n <div class=\"table-item\">\r\n <div class=\"item-head\">\r\n <span>隐患整改情况</span>\r\n </div>\r\n <div id=\"riskFix\"></div>\r\n </div>\r\n <div class=\"table-item\">\r\n <div class=\"item-head\">\r\n <span>风险装置列表</span>\r\n <div @click=\"toRevice\">查看更多>></div>\r\n </div>\r\n <el-table class=\"deviceTable\" :data=\"deviceData\" style=\"width: 100%\" :header-cell-style=\"{ background: '#fafafa' }\">\r\n <el-table-column prop=\"produceDeviceName\" label=\"装置名称\" show-overflow-tooltip></el-table-column>\r\n <el-table-column prop=\"riskLevel\" label=\"风险等级\" show-overflow-tooltip>\r\n <template #default=\"scope\">\r\n <div :style=\"{color: scope.row.riskLevel==1?'#409EFF':(scope.row.riskLevel==2?'#67C23A':(scope.row.riskLevel==3?'#E6A23C':'#F56C6C'))}\">\r\n {{scope.row.riskLevel==1?'低风险':(scope.row.riskLevel==2?'一般风险':(scope.row.riskLevel==3?'较大风险':'重大风险'))}}\r\n </div>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <div class=\"deviceLevel\">\r\n <div class=\"levelItem red\">\r\n <span>0</span>\r\n <div>重大风险</div>\r\n </div>\r\n <div class=\"levelItem orange\">\r\n <span>2</span>\r\n <div>较大风险</div>\r\n </div>\r\n <div class=\"levelItem green\">\r\n <span>8</span>\r\n <div>一般风险</div>\r\n </div>\r\n <div class=\"levelItem blue\">\r\n <span>10</span>\r\n <div>低风险</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-item\">\r\n <div class=\"item-head\">\r\n <span>隐患等级分布</span>\r\n </div>\r\n <div id=\"riskLevel\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\n import { toRefs, reactive, ref, onMounted } from 'vue';\r\n import { storeToRefs } from 'pinia';\r\n import { initBackEndControlRoutes } from '/@/router/backEnd';\r\n import { useUserInfo } from '/@/stores/userInfo';\r\n import { Session } from '/@/utils/storage';\r\n import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue';\r\n import { ElTable } from 'element-plus';\r\n import { FormInstance, FormRules, ElMessage } from 'element-plus';\r\n import { safetyRiskEventApi } from '/@/api/doublePreventSystem/safetyRiskEvent/index.ts';\r\n import { useRouter } from 'vue-router';\r\n import {hiddenReportApi} from \"/@/api/doublePreventSystem/report\";\r\n import { productionDeviceApi } from '/@/api/doublePreventSystem/productionDevice/index.ts';\r\n import * as echarts from 'echarts/core';\r\n import {TooltipComponent, TooltipComponentOption, LegendComponent, LegendComponentOption} from 'echarts/components';\r\n import {PieChart, PieSeriesOption} from 'echarts/charts';\r\n import {LabelLayout} from 'echarts/features';\r\n import {CanvasRenderer} from 'echarts/renderers';\r\n echarts.use([TooltipComponent, LegendComponent, PieChart, CanvasRenderer, LabelLayout]);\r\n // 定义接口来定义对象的类型\r\n interface stateType {\r\n eventData: Array<any>;\r\n riskStatusData: Array<any>;\r\n deviceData: Array<any>;\r\n pageIndex: number;\r\n pageSize: number;\r\n totalSize: number;\r\n departmentList: [];\r\n classGroupList: Array<classGroup>;\r\n inspectPointAllList: [];\r\n }\r\n interface type {\r\n id: number;\r\n name: string;\r\n }\r\n interface classGroup {\r\n id: number;\r\n groupName: string;\r\n }\r\n export default {\r\n name: 'workingHours',\r\n components: {},\r\n setup() {\r\n const router = useRouter();\r\n const state = reactive<stateType>({\r\n pageIndex: 1,\r\n pageSize: 5,\r\n totalSize: 0,\r\n eventData: [],\r\n riskStatusData: [],\r\n deviceData: [],\r\n departmentList: [],\r\n classGroupList: [],\r\n inspectPointAllList: []\r\n });\r\n\r\n // 页面载入时执行方法\r\n onMounted(() => {\r\n getEventRecord();\r\n getRiskStatusRecord();\r\n getDeviceRecord();\r\n initRiskFix();\r\n initRiskLevel()\r\n });\r\n\r\n // 告警列表\r\n const getEventRecord = async () => {\r\n const data = { pageSize: state.pageSize, pageIndex: state.pageIndex};\r\n let res = await safetyRiskEventApi().getSafetyRiskEventList(data)\r\n if (res.data.code === '200'){\r\n state.eventData = 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 getRiskStatusRecord = async () => {\r\n const data = { pageSize: state.pageSize, pageIndex: state.pageIndex};\r\n let res = await hiddenReportApi().getHiddenReportList(data)\r\n if (res.data.code === '200'){\r\n state.riskStatusData = 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 getDeviceRecord = async () => {\r\n const data = { pageSize: state.pageSize, pageIndex: state.pageIndex};\r\n let res = await productionDeviceApi().getProductionDeviceList(data)\r\n if (res.data.code === '200'){\r\n state.deviceData = 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 initRiskFix =()=>{\r\n var dom = document.getElementById('riskFix');\r\n var myChart = echarts.init(dom, null, {\r\n renderer: 'canvas',\r\n useDirtyRect: false\r\n });\r\n var app = {};\r\n\r\n var option;\r\n\r\n option = {\r\n tooltip: {\r\n trigger: 'item'\r\n },\r\n legend: {\r\n bottom: '10%',\r\n left: 'center'\r\n },\r\n series: [\r\n {\r\n name: 'Access From',\r\n type: 'pie',\r\n radius: ['35%', '60%'],\r\n avoidLabelOverlap: false,\r\n itemStyle: {\r\n borderRadius: 6,\r\n borderColor: '#fff',\r\n borderWidth: 2\r\n },\r\n label: {\r\n show: false,\r\n position: 'center'\r\n },\r\n emphasis: {\r\n label: {\r\n show: true,\r\n fontSize: '40',\r\n fontWeight: 'bold'\r\n }\r\n },\r\n labelLine: {\r\n show: false\r\n },\r\n data: [\r\n { value: 1048, name: '整改中' },\r\n { value: 735, name: '待验收' },\r\n { value: 580, name: '延期整改' },\r\n { value: 484, name: '超期未整改' },\r\n { value: 300, name: '已验收' }\r\n ],\r\n center: ['50%','35%']\r\n }\r\n ]\r\n };\r\n\r\n if (option && typeof option === 'object') {\r\n myChart.setOption(option);\r\n }\r\n\r\n window.addEventListener('resize', myChart.resize);\r\n }\r\n\r\n // 隐患整改情况\r\n const initRiskLevel =()=>{\r\n var dom = document.getElementById('riskLevel');\r\n var myChart = echarts.init(dom, null, {\r\n renderer: 'canvas',\r\n useDirtyRect: false\r\n });\r\n var app = {};\r\n\r\n var option;\r\n\r\n option = {\r\n tooltip: {\r\n trigger: 'item'\r\n },\r\n legend: {\r\n bottom: '10%',\r\n left: 'center'\r\n },\r\n series: [\r\n {\r\n name: 'Access From',\r\n type: 'pie',\r\n radius: ['35%', '60%'],\r\n avoidLabelOverlap: false,\r\n itemStyle: {\r\n borderRadius: 6,\r\n borderColor: '#fff',\r\n borderWidth: 2\r\n },\r\n label: {\r\n show: false,\r\n position: 'center'\r\n },\r\n emphasis: {\r\n label: {\r\n show: true,\r\n fontSize: '40',\r\n fontWeight: 'bold'\r\n }\r\n },\r\n labelLine: {\r\n show: false\r\n },\r\n data: [\r\n { value: 1048, name: '一般隐患' },\r\n { value: 235, name: '重大隐患' }\r\n ],\r\n center: ['50%','35%']\r\n }\r\n ]\r\n };\r\n\r\n if (option && typeof option === 'object') {\r\n myChart.setOption(option);\r\n }\r\n\r\n window.addEventListener('resize', myChart.resize);\r\n }\r\n\r\n const toRiskEve = ()=>{\r\n router.push({\r\n path: 'event',\r\n });\r\n }\r\n\r\n const toRiskStatus = ()=>{\r\n router.push({\r\n path: 'hiddenReport',\r\n });\r\n }\r\n\r\n const toRevice = ()=>{\r\n router.push({\r\n path: 'device',\r\n });\r\n }\r\n\r\n return {\r\n View,\r\n Edit,\r\n Delete,\r\n Refresh,\r\n Plus,\r\n router,\r\n toRiskEve,\r\n toRiskStatus,\r\n toRevice,\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 height: 100%;\r\n padding: 20px;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n .main-cont {\r\n width: 100%;\r\n height: 100%;\r\n display: grid;\r\n grid-gap: 20px;\r\n grid-template-columns: repeat(3, 1fr);\r\n grid-template-rows: repeat(2, 1fr);\r\n grid-auto-flow: row;\r\n justify-content: center;\r\n .table-item{\r\n border-radius: 8px;\r\n background: #fff;\r\n padding: 20px;\r\n\r\n .item-head{\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n height: 30px;\r\n margin-bottom: 20px;\r\n span{\r\n font-size: 20px;\r\n color: #333;\r\n font-weight: bolder;\r\n }\r\n div{\r\n cursor: pointer;\r\n\r\n &:hover{\r\n color: #409eff;\r\n }\r\n }\r\n }\r\n #riskFix{\r\n height: calc(50vh - 80px);\r\n }\r\n #riskLevel{\r\n height: calc(50vh - 80px);\r\n }\r\n .deviceTable{\r\n height: calc((50vh - 100px) / 3 * 2);\r\n }\r\n .deviceLevel{\r\n height: calc((50vh - 100px) / 3);\r\n display: grid;\r\n grid-gap: 10px;\r\n grid-template-columns: repeat(4, 1fr);\r\n align-items: center;\r\n justify-content: space-between;\r\n\r\n .levelItem{\r\n display: flex;\r\n margin-top: 20px;\r\n flex-direction: column;\r\n align-items: center;\r\n padding: 15px;\r\n box-sizing: border-box;\r\n border-radius: 8px;\r\n color: #fff;\r\n font-size: 16px;\r\n\r\n span{\r\n margin-bottom: 10px;\r\n font-size: 24px;\r\n font-weight: bolder;\r\n }\r\n }\r\n .red{\r\n background: #F56C6C;\r\n }\r\n .orange{\r\n background: #E6A23C;\r\n }\r\n .green{\r\n background: #67C23A;\r\n }\r\n .blue{\r\n background: #409EFF;\r\n }\r\n }\r\n }\r\n .table-item2{\r\n grid-column-start: 2;\r\n grid-column-end: 4;\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 .el-input {\r\n width: 100% !important;\r\n }\r\n .el-date-editor::v-deep {\r\n width: 100%;\r\n }\r\n .el-select {\r\n width: 100%;\r\n }\r\n</style>
+-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+-<+>UTF-8
+-===================================================================
+-diff --git a/src/views/doublePrevent/dpIndex/index.vue b/src/views/doublePrevent/dpIndex/index.vue
+---- a/src/views/doublePrevent/dpIndex/index.vue (revision a1d03a0e810219f8353748f6e55699bf2e1a77a6)
+-+++ b/src/views/doublePrevent/dpIndex/index.vue (date 1660564801420)
+-@@ -212,14 +212,14 @@
+- trigger: 'item'
+- },
+- legend: {
+-- bottom: '10%',
+-+ bottom: '35%',
+- left: 'center'
+- },
+- series: [
+- {
+- name: 'Access From',
+- type: 'pie',
+-- radius: ['35%', '60%'],
+-+ radius: ['30%', '50%'],
+- avoidLabelOverlap: false,
+- itemStyle: {
+- borderRadius: 6,
+-@@ -247,7 +247,7 @@
+- { value: 484, name: '超期未整改' },
+- { value: 300, name: '已验收' }
+- ],
+-- center: ['50%','35%']
+-+ center: ['50%','30%']
+- }
+- ]
+- };
+-@@ -275,14 +275,14 @@
+- trigger: 'item'
+- },
+- legend: {
+-- bottom: '10%',
+-+ bottom: '35%',
+- left: 'center'
+- },
+- series: [
+- {
+- name: 'Access From',
+- type: 'pie',
+-- radius: ['35%', '60%'],
+-+ radius: ['30%', '50%'],
+- avoidLabelOverlap: false,
+- itemStyle: {
+- borderRadius: 6,
+-@@ -307,7 +307,7 @@
+- { value: 1048, name: '一般隐患' },
+- { value: 235, name: '重大隐患' }
+- ],
+-- center: ['50%','35%']
+-+ center: ['50%','30%']
+- }
+- ]
+- };
+-@@ -357,8 +357,7 @@
+- $homeNavLengh: 8;
+- .home-container {
+- /*height: calc(100vh - 144px);*/
+-- height: 100%;
+-- padding: 20px;
+-+ height: calc(100vh - 144px);
+- box-sizing: border-box;
+- overflow: hidden;
+- .main-cont {
+-@@ -395,16 +394,16 @@
+- }
+- }
+- #riskFix{
+-- height: calc(50vh - 80px);
+-+ height: calc(50vh - 42px);
+- }
+- #riskLevel{
+-- height: calc(50vh - 80px);
+-+ height: calc(50vh - 42px);
+- }
+- .deviceTable{
+-- height: calc((50vh - 100px) / 3 * 2);
+-+ height: calc((50vh - 172px) / 3 * 2);
+- }
+- .deviceLevel{
+-- height: calc((50vh - 100px) / 3);
+-+ height: calc((50vh - 172px) / 3);
+- display: grid;
+- grid-gap: 10px;
+- grid-template-columns: repeat(4, 1fr);
+-@@ -481,4 +480,4 @@
+- .el-select {
+- width: 100%;
+- }
+--</style>
+-\ No newline at end of file
+-+</style>
+-Index: src/utils/request.ts
+-IDEA additional info:
+-Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
+-<+>import axios from 'axios';\r\nimport { ElMessage, ElMessageBox } from 'element-plus';\r\nimport JSONbig from 'json-bigint';\r\nimport Cookies from 'js-cookie';\r\nimport {useLoginApi} from \"/@/api/login\";\r\nimport { Session, } from '/@/utils/storage';\r\n\r\n// var jsonBig = require('json-bigint')({ \"storeAsString\": true });\r\n// 配置新建一个 axios 实例\r\nconst service = axios.create({\r\n // baseURL: import.meta.env.VITE_API_URL as any,\r\n timeout: 50000,\r\n headers: { 'Content-Type': 'application/json' }\r\n});\r\n\r\nservice.interceptors.request.use(\r\n (config) => {\r\n for (let key in config.data) {\r\n if (config.data[key] == '' && config.data[key] !== 0) {\r\n config.data[key] = null;\r\n }\r\n }\r\n if (Cookies.get('token')) {\r\n (<any>config.headers).common['Authorization'] = `${Cookies.get('token')}`;\r\n (<any>config.headers).common['uid'] = `${Cookies.get('uid')}`;\r\n }\r\n return config;\r\n },\r\n (error) => {\r\n // 对请求错误做些什么\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\nservice.defaults.transformResponse = [\r\n function (data) {\r\n try {\r\n // 正常同通过return JSON.parse(data)对数据进行转换\r\n // 但是转化完成的数据可能超出安全数据长度\r\n // 因此我们定制使用第三包来转化\r\n return JSONbig.parse(data);\r\n } catch (err) {\r\n console.log(err);\r\n // 转换失败返回一个空对象\r\n return {};\r\n }\r\n }\r\n];\r\n\r\nservice.interceptors.response.use(\r\n (response) => {\r\n // 对响应数据做点什么\r\n if (response.data.code && response.data.code === 'A0213') {\r\n ElMessage.error('用户uid不存在');\r\n setTimeout(() => {\r\n Session.clear();\r\n window.location.href = '/';\r\n }, 1000);\r\n } else if (response.data.code && response.data.code === 'A0215') {\r\n ElMessage.error('token失效');\r\n // logOut;\r\n useLoginApi().signOut().then(()=>{\r\n setTimeout(() => {\r\n Session.clear();\r\n window.location.href = '/';\r\n }, 1000);\r\n })\r\n }\r\n // if(response.data.code && response.data.code !== '200'){\r\n return Promise.resolve(response);\r\n // }\r\n // Session.clear()\r\n // window.location.href = '/'\r\n // return Promise.reject(response)\r\n // const res = response.data;\r\n // debugger\r\n // if (res.code && res.code !== 0) {\r\n // \t// `token` 过期或者账号已在别处登录\r\n // \tif (res.code === 401 || res.code === 4001) {\r\n // \t\tSession.clear(); // 清除浏览器全部临时缓存\r\n // \t\twindow.location.href = '/'; // 去登录页\r\n // \t\tElMessageBox.alert('你已被登出,请重新登录', '提示', {})\r\n // \t\t\t.then(() => {})\r\n // \t\t\t.catch(() => {});\r\n // }\r\n // \treturn Promise.reject(service.interceptors.response);\r\n // } else {\r\n // \treturn response.data;\r\n // }\r\n },\r\n (error) => {\r\n // 对响应错误做点什么\r\n if (error.message.indexOf('timeout') != -1) {\r\n ElMessage.error('网络超时');\r\n setTimeout(() => {\r\n // Session.clear();\r\n window.location.href = '/';\r\n }, 1000);\r\n } else if (error.message == 'Network Error') {\r\n ElMessage.error('网络连接错误');\r\n // setTimeout(() => {\r\n // Session.clear();\r\n // window.location.href = '/';\r\n // }, 1000);\r\n } else {\r\n if (error.response.data) ElMessage.error(error.response.data.error);\r\n else ElMessage.error('接口路径找不到');\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\nexport default service;\r\n
+-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+-<+>UTF-8
+-===================================================================
+-diff --git a/src/utils/request.ts b/src/utils/request.ts
+---- a/src/utils/request.ts (revision a1d03a0e810219f8353748f6e55699bf2e1a77a6)
+-+++ b/src/utils/request.ts (date 1660615601526)
+-@@ -52,18 +52,14 @@
+- // 对响应数据做点什么
+- if (response.data.code && response.data.code === 'A0213') {
+- ElMessage.error('用户uid不存在');
+-- setTimeout(() => {
+- Session.clear();
+- window.location.href = '/';
+-- }, 1000);
+- } else if (response.data.code && response.data.code === 'A0215') {
+- ElMessage.error('token失效');
+- // logOut;
+- useLoginApi().signOut().then(()=>{
+-- setTimeout(() => {
+-- Session.clear();
+-- window.location.href = '/';
+-- }, 1000);
+-+ Session.clear();
+-+ window.location.href = '/';
+- })
+- }
+- // if(response.data.code && response.data.code !== '200'){
+-Index: src/api/specialWorkSystem/safetyAction/index.ts
+-IDEA additional info:
+-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+-<+>UTF-8
+-===================================================================
+-diff --git a/src/api/specialWorkSystem/safetyAction/index.ts b/src/api/specialWorkSystem/safetyAction/index.ts
+-new file mode 100644
+---- /dev/null (date 1660632499860)
+-+++ b/src/api/specialWorkSystem/safetyAction/index.ts (date 1660632499860)
+-@@ -0,0 +1,45 @@
+-+import request from '/@/utils/request';
+-+
+-+export function safetyActionApi() {
+-+ return {
+-+ // v1
+-+ getSafetyActionList: (data: object) => {
+-+ return request({
+-+ url: import.meta.env.VITE_API_URL + `/rule/measure/page/list`,
+-+ method: 'post',
+-+ data: data
+-+ });
+-+ },
+-+ // v1
+-+ addSafetyAction: (data: object) => {
+-+ return request({
+-+ url: import.meta.env.VITE_API_URL + `/rule/measure/save`,
+-+ method: 'post',
+-+ data: data
+-+ });
+-+ },
+-+ // v1
+-+ modSafetyAction: (data: object) => {
+-+ return request({
+-+ url: import.meta.env.VITE_API_URL + `/rule/measure/mod`,
+-+ method: 'post',
+-+ data: data
+-+ });
+-+ },
+-+ // v1
+-+ deleteSafetyAction: (data: object) => {
+-+ return request({
+-+ url: import.meta.env.VITE_API_URL + `/rule/measure/delete`,
+-+ method: 'post',
+-+ data: data
+-+ });
+-+ },
+-+ // v1
+-+ getAllSafetyActionList: () => {
+-+ return request({
+-+ url: import.meta.env.VITE_API_URL + `/rule/measure/list`,
+-+ method: 'post'
+-+ });
+-+ }
+-+ };
+-+}
+-Index: src/views/specialWorkSystem/foundationSet/safetyAction/components/safetyActionDialog.vue
+-IDEA additional info:
+-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+-<+>UTF-8
+-===================================================================
+-diff --git a/src/views/specialWorkSystem/foundationSet/safetyAction/components/safetyActionDialog.vue b/src/views/specialWorkSystem/foundationSet/safetyAction/components/safetyActionDialog.vue
+-new file mode 100644
+---- /dev/null (date 1660633049658)
+-+++ b/src/views/specialWorkSystem/foundationSet/safetyAction/components/safetyActionDialog.vue (date 1660633049658)
+-@@ -0,0 +1,214 @@
+-+<template>
+-+ <div class="system-add-menu-container">
+-+ <el-dialog :title="title" v-model="isShowApproveBasicDialog" width="600px" :close-on-click-modal="false">
+-+ <el-form :model="approveBasicForm" :rules="approveBasicFormRules" ref="approveBasicFormRef" size="default" label-width="120px">
+-+ <el-row :gutter="35">
+-+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+-+ <el-form-item label="安全措施" prop="title">
+-+ <el-input class="input-add" :disabled="!disabled" v-model.trim="approveBasicForm.title" placeholder="请输入标题名称" clearable></el-input>
+-+ </el-form-item>
+-+ </el-col>
+-+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+-+ <el-form-item label="标准类型" prop="ruleStandType">
+-+ <el-select class="input-add" :disabled="!disabled" v-model="approveBasicForm.ruleStandType" placeholder="请选择标准类型" clearable filterable>
+-+ <el-option v-for="item in ruleStandTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+-+ </el-select>
+-+ </el-form-item>
+-+ </el-col>
+-+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+-+ <el-form-item label="描述" prop="info">
+-+ <el-input class="input-add" :rows="3" v-model.trim="approveBasicForm.info" type="textarea" placeholder="请输入描述"></el-input>
+-+ </el-form-item>
+-+ </el-col>
+-+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-show="personTime">
+-+ <el-form-item label="创建人" prop="location">
+-+ <el-input class="input-add" :disabled="!disabled" v-model.trim="approveBasicForm.createByUserName"></el-input>
+-+ </el-form-item>
+-+ </el-col>
+-+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-show="personTime">
+-+ <el-form-item label="创建时间" prop="location">
+-+ <el-input class="input-add" :disabled="!disabled" v-model.trim="approveBasicForm.gmtCreate"></el-input>
+-+ </el-form-item>
+-+ </el-col>
+-+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-show="personTime">
+-+ <el-form-item label="最后修改人" prop="location">
+-+ <el-input class="input-add" :disabled="!disabled" v-model.trim="approveBasicForm.lastEditUserName"></el-input>
+-+ </el-form-item>
+-+ </el-col>
+-+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-show="personTime">
+-+ <el-form-item label="最后修改时间" prop="location">
+-+ <el-input class="input-add" :disabled="!disabled" v-model.trim="approveBasicForm.gmtModitify"></el-input>
+-+ </el-form-item>
+-+ </el-col>
+-+ </el-row>
+-+ </el-form>
+-+ <template #footer>
+-+ <span class="dialog-footer" v-show="disabled">
+-+ <el-button @click="isShowApproveBasicDialog = !isShowApproveBasicDialog" size="default">取 消</el-button>
+-+ <el-button type="primary" @click="submitApproveBasic" v-throttle size="default">确 定</el-button>
+-+ </span>
+-+ </template>
+-+ </el-dialog>
+-+ </div>
+-+</template>
+-+
+-+<script lang="ts">
+-+interface stateType {
+-+ isShowApproveBasicDialog: Boolean;
+-+ disabled: Boolean;
+-+ personTime: Boolean;
+-+ approveBasicForm: {
+-+ workType: number | null;
+-+ type: number | null;
+-+ correctVal: number | null;
+-+ context: string | null;
+-+ };
+-+ title: string;
+-+ departmentList: [];
+-+ ruleStandTypeList: Array<levelListState>;
+-+ typeList: Array<levelListState>;
+-+ typeTwoList: Array<levelListState>;
+-+ approveBasicFormRules: {};
+-+}
+-+interface levelListState {
+-+ id: number;
+-+ name: string;
+-+}
+-+
+-+import { reactive, toRefs, ref } from 'vue';
+-+import { approveBasicApi } from '/@/api/specialWorkSystem/approveBasic';
+-+import { ElMessage } from 'element-plus';
+-+export default {
+-+ name: 'approveBasicDialog',
+-+ setup(props: any, context: any) {
+-+ const approveBasicFormRef = ref();
+-+ const state = reactive<stateType>({
+-+ title: '',
+-+ disabled: false,
+-+ personTime: false,
+-+ departmentList: [],
+-+ isShowApproveBasicDialog: false,
+-+ ruleStandTypeList: [
+-+ { id: 1, name: '可燃气浓度' },
+-+ { id: 2, name: '氧气浓度' },
+-+ { id: 3, name: '一氧化碳浓度' },
+-+ { id: 4, name: '硫化氢浓度' },
+-+ { id: 5, name: '温度' },
+-+ { id: 6, name: '压力' },
+-+ { id: 7, name: '震动' }
+-+ ],
+-+ typeList: [
+-+ { id: 1, name: '大于' },
+-+ { id: 2, name: '等于' },
+-+ { id: 4, name: '大于等于' }
+-+ ],
+-+ typeTwoList: [
+-+ { id: 3, name: '小于' },
+-+ { id: 2, name: '等于' },
+-+ { id: 5, name: '小于等于' }
+-+ ],
+-+ approveBasicForm: {
+-+ workType: null,
+-+ type: null,
+-+ correctVal: null,
+-+ context: null
+-+ },
+-+ approveBasicFormRules: {
+-+ ruleStandType: [{ required: true, message: '请选择标准类型', trigger: 'change' }],
+-+ minVal: [{ required: true, message: '请填写标最低值', trigger: 'blur' }],
+-+ maxVal: [{ required: true, message: '请填写标最高值', trigger: 'blur' }],
+-+ title: [{ required: true, message: '请选择风险等级', trigger: 'blur' }],
+-+ info: [{ required: true, message: '请填写描述信息', trigger: 'blur' }]
+-+ }
+-+ });
+-+
+-+ //打开模态框
+-+ const showSafetyActionDialog = (type: string, value: object, department: []) => {
+-+ state.isShowApproveBasicDialog = true;
+-+ state.departmentList = department;
+-+ setTimeout(() => {
+-+ approveBasicFormRef.value.clearValidate();
+-+ });
+-+ if (type === '新增') {
+-+ state.disabled = true;
+-+ state.personTime = false;
+-+ state.title = '新增审批标准';
+-+ state.approveBasicForm = {
+-+ workType: null,
+-+ type: null,
+-+ correctVal: null,
+-+ context: null
+-+ };
+-+ } else if (type === '查看') {
+-+ state.disabled = false;
+-+ state.personTime = true;
+-+ state.title = '查看审批标准';
+-+ state.approveBasicForm = JSON.parse(JSON.stringify(value));
+-+ } else {
+-+ state.disabled = true;
+-+ state.personTime = false;
+-+ state.title = '修改审批标准';
+-+ state.approveBasicForm = JSON.parse(JSON.stringify(value));
+-+ // for (let i in state.approveBasicForm) {
+-+ // state.approveBasicForm[i] = approveBasicForm[i];
+-+ // }
+-+ }
+-+ };
+-+
+-+ //新增修改提交
+-+ const submitApproveBasic = async () => {
+-+ approveBasicFormRef.value.validate(async (valid: Boolean) => {
+-+ if (valid) {
+-+ if (state.title === '新增审批标准') {
+-+ let res = await approveBasicApi().addApproveBasic(state.approveBasicForm);
+-+ if (res.data.code === '200') {
+-+ ElMessage({
+-+ type: 'success',
+-+ message: '审批标准新增成功',
+-+ duration: 2000
+-+ });
+-+ state.isShowApproveBasicDialog = false;
+-+ context.emit('refreshApproveBasic');
+-+ } else {
+-+ ElMessage({
+-+ type: 'warning',
+-+ message: res.data.msg
+-+ });
+-+ }
+-+ } else {
+-+ let res = await approveBasicApi().modApproveBasic(state.approveBasicForm);
+-+ if (res.data.code === '200') {
+-+ ElMessage({
+-+ type: 'success',
+-+ message: '审批标准修改成功',
+-+ duration: 2000
+-+ });
+-+ state.isShowApproveBasicDialog = false;
+-+ context.emit('refreshApproveBasic');
+-+ } else {
+-+ ElMessage({
+-+ type: 'warning',
+-+ message: res.data.msg
+-+ });
+-+ }
+-+ }
+-+ } else {
+-+ ElMessage({
+-+ type: 'warning',
+-+ message: '请完善基本信息'
+-+ });
+-+ }
+-+ });
+-+ };
+-+
+-+ return {
+-+ ...toRefs(state),
+-+ approveBasicFormRef,
+-+ submitApproveBasic,
+-+ showSafetyActionDialog
+-+ };
+-+ }
+-+};
+-+</script>
+-+
+-+<style scoped></style>
+-Index: src/views/intellectInspect/intelligentLine/index.vue
+-IDEA additional info:
+-Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
+-<+><template>\r\n <div class=\"container\">\r\n <div class=\"big-title\" @click=\"goBack()\">国泰新华智能巡检系统</div>\r\n <div style=\"height: 20px;font-size: 14px;line-height: 20px; color: #00ffff; margin-top: 4px\">{{ present }}</div>\r\n <div class=\"btns\">\r\n <div class=\"fullbtn\" @click=\"onScreenfullClick\">\r\n <div class=\"toFull\">\r\n <i class=\"iconfont\" :title=\"isScreenfull ? $t('message.user.title6') : $t('message.user.title5')\" :class=\"!isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'\"></i>\r\n </div>\r\n <div>全屏</div>\r\n </div>\r\n <div class=\"backBtn\" @click=\"goBack()\">\r\n <img src=\"../../../assets/loginPage/back-icon.png\"/>\r\n <div>退出</div>\r\n </div>\r\n </div>\r\n <div class=\"blocks\">\r\n <div>\r\n <div class=\"star-pic\">\r\n <div class=\"star-bg\"><img src=\"../../../assets/loginPage/star-bg.png\" /></div>\r\n <div class=\"star\"><img src=\"../../../assets/loginPage/device-pic.png\" /></div>\r\n </div>\r\n <div class=\"line-map\" v-if=\"dataList && dataList.length > 0\">\r\n <div class=\"line-item\" v-for=\"(item, index) in dataList\" :key=\"index\">\r\n <div class=\"picbox\">\r\n <img src=\"../../../assets/loginPage/equipment.jpg\"/>\r\n <p>\r\n RFID: <span>{{ item.rfid }}</span>\r\n </p>\r\n <p>\r\n 位置: <span>{{ item.region.toString() }}</span>\r\n </p>\r\n </div>\r\n <div class=\"area-head\">\r\n <div class=\"indicator\" :class=\"item.points.some((e) => e.reportResult == 1) ? 'somewarning' : (item.points.some((e) => e.reportResult == null) ? 'someUndone' : '')\">\r\n <div class=\"indi-dot\"></div>\r\n <!-- <div class=\"indi-pulse\"></div>-->\r\n <!-- <div class=\"indi-pulse1\"></div>-->\r\n </div>\r\n <div class=\"arrow\" v-if=\"item.points.some((e) => e.reportResult != null)\"></div>\r\n <div class=\"top-line\" :class=\"item.points.some((e) => e.reportResult !== null) ? '' : 'fadeLine'\"></div>\r\n </div>\r\n <div class=\"more-info\">\r\n <div class=\"item\" v-for=\"(t, i) in item.points\" :key=\"i\" :class=\"t.reportResult == null ? 'undone' : t.reportResult == 1 ? 'warning' : ''\">\r\n <section>\r\n <div class=\"dot\"></div>\r\n <div class=\"pulse\"></div>\r\n <div class=\"pulse1\"></div>\r\n </section>\r\n <div :class=\"t.reportResult == null ? 'noBorder' : t.reportResult == 1 ? 'redBorder' : ''\">\r\n <div>\r\n <span>巡检点:</span><span>{{ t.point }}</span>\r\n </div>\r\n <div>\r\n <span>巡检状态:</span><span>{{ t.pointCheckStatus == 1 ? '未完成' : '已完成' }}</span>\r\n </div>\r\n <div v-if=\"t.reportResult != null\">\r\n <span>巡检指标:</span><span>{{ t.quotaContent }}</span>\r\n </div>\r\n <div v-if=\"(t.dataReportType == 2 || t.dataReportType == 3) && t.secondReferenceResult\">\r\n <span>参数:</span><span class=\"target\">{{ t.secondReferenceResult + t.quotaUnit }}</span>\r\n </div>\r\n <div>\r\n <span>巡检结果:</span><span class=\"target\">{{ t.reportResult == null ? '--' : t.reportResult == 0 ? '正常' : '异常' }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"line-item finish\">\r\n <div class=\"picbox\"></div>\r\n <div class=\"area-head\">\r\n <div class=\"finish-point\">\r\n <div>完成巡检</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"tip\" v-else>抱歉,暂时查询不到巡检路线...</div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport screenfull from 'screenfull';\r\nimport { lineApi } from '/@/api/intelligentLine';\r\nimport { toRefs, reactive, ref, onMounted, onUnmounted, computed } from 'vue';\r\nimport {useRoute} from 'vue-router';\r\nimport { storeToRefs } from 'pinia';\r\nimport { initBackEndControlRoutes } from '/@/router/backEnd';\r\nimport { Session } from '/@/utils/storage';\r\nimport { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue';\r\nimport { ElTable } from 'element-plus';\r\nimport { FormInstance, FormRules, ElMessage } from 'element-plus';\r\nimport { useUserInfo } from '/@/stores/userInfo';\r\n\r\n// 定义接口来定义对象的类型\r\ninterface stateType {\r\n present: string;\r\n isScreenfull: boolean;\r\n path: string;\r\n socket: any;\r\n socketData: string;\r\n data: Array<any>;\r\n id: string\r\n}\r\nexport default {\r\n name: 'intelligentLine',\r\n components: {},\r\n setup() {\r\n const userInfo = useUserInfo();\r\n const { userInfos } = storeToRefs(userInfo);\r\n const route = useRoute();\r\n const state = reactive<stateType>({\r\n present: '',\r\n isScreenfull: false,\r\n path: '',\r\n socketData: '',\r\n socket: null,\r\n data: [],\r\n id: ''\r\n });\r\n\r\n onMounted(() => {\r\n setInterval(() => {\r\n state.present = new Date().toLocaleString();\r\n }, 1000);\r\n let curId = route.query.id\r\n state.id = curId.toString()\r\n getLine(state.id)\r\n getUrl(state.id)\r\n });\r\n\r\n const dataList = computed(() => {\r\n return userInfos.value.dataList;\r\n });\r\n\r\n // 获取url\r\n\r\n const getUrl =async (id:string)=>{\r\n const res = await lineApi().getUrl();\r\n if (res.data.code === '200') {\r\n state.path = 'http://' + res.data.data.ip + ':' + res.data.data.port + '/ws/test/'\r\n if (typeof window.WebSocket === 'undefined') {\r\n alert('您的浏览器不支持socket');\r\n } else {\r\n // 实例化socket\r\n // debugger\r\n let uid = userInfos.value.uid.toString()\r\n var url = state.path + uid + '*' + id;\r\n console.log(url,'url',uid,'uid')\r\n url = url.replace('https', 'ws').replace('http', 'ws');\r\n console.log(url, '获取地址');\r\n state.socket = new window.WebSocket(url);\r\n // 监听socket连接\r\n state.socket.onopen = () => {\r\n console.log('socket连接成功');\r\n };\r\n // 监听socket错误信息\r\n state.socket.onerror = () => {\r\n console.log('socket连接错误');\r\n };\r\n // 监听socket消息\r\n state.socket.onmessage = (msg) => {\r\n if (msg.data === '连接成功') return;\r\n console.log(msg.data,'data')\r\n userInfos.value.dataList = JSON.parse(msg.data);\r\n };\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 // const send = () => {\r\n // state.socket.send(params);\r\n // };\r\n\r\n // 接口获取数据\r\n const getLine = async (id:string) => {\r\n let res = await lineApi().getLine({ id: id });\r\n if (res.data.code === '200') {\r\n console.log(res.data.data, '获取巡检点');\r\n userInfos.value.dataList = 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 onScreenfullClick = () => {\r\n if (!screenfull.isEnabled) {\r\n ElMessage.warning('暂不不支持全屏');\r\n return false;\r\n }\r\n screenfull.toggle();\r\n screenfull.on('change', () => {\r\n if (screenfull.isFullscreen) {\r\n state.isScreenfull = true;\r\n } else {\r\n state.isScreenfull = false;\r\n }\r\n });\r\n };\r\n\r\n // 返回\r\n const goBack = () => {\r\n window.history.go(-1);\r\n };\r\n\r\n // 页面关闭处理\r\n onUnmounted(() => {\r\n // 销毁监听\r\n state.socket.onclose = () => {\r\n console.log('socket已经关闭');\r\n };\r\n });\r\n return {\r\n dataList,\r\n goBack,\r\n onScreenfullClick,\r\n ...toRefs(state)\r\n };\r\n }\r\n};\r\n// export default {\r\n// name: 'NewForm',\r\n// props: {\r\n//\r\n// },\r\n// data(){\r\n// return{\r\n// present: '',\r\n// isScreenfull: false,\r\n// path: \"http://192.168.0.29:8008/ws/test/\",\r\n// socket: null,\r\n// socketData: '',\r\n// data: []\r\n// }\r\n// },\r\n// created() {\r\n// setInterval(() => {\r\n// this.present = new Date().toLocaleString()\r\n// }, 1000)\r\n// },\r\n// mounted () {\r\n// // 初始化\r\n// this.init()\r\n// // this.getLine()\r\n// },\r\n// methods:{\r\n// goBack(){\r\n// window.history.go(-1)\r\n// },\r\n//\r\n// async getLine (){\r\n// let res = await lineApi().getLine({ id: '80647416891768832' });\r\n// if (res.data.code === '200') {\r\n// console.log(res.data.data,'获取巡检点')\r\n// this.data = res.data.data\r\n// console.log(this.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// onScreenfullClick(){\r\n// const t = this\r\n// if (!screenfull.isEnabled) {\r\n// ElMessage.warning('暂不不支持全屏');\r\n// return false;\r\n// }\r\n// screenfull.toggle();\r\n// screenfull.on('change', () => {\r\n// if (screenfull.isFullscreen) {\r\n// t.isScreenfull = true\r\n// }\r\n// else{\r\n// t.isScreenfull = false\r\n// }\r\n// });\r\n// },\r\n//\r\n// // socket获取数据\r\n// init: function () {\r\n// if(typeof(window.WebSocket) === \"undefined\"){\r\n// alert(\"您的浏览器不支持socket\")\r\n// }else{\r\n// // 实例化socket\r\n// var url = this.path + '80938081556545536'\r\n// url = url.replace(\"https\",\"ws\").replace(\"http\",\"ws\");\r\n// console.log(url,'获取地址')\r\n// this.socket = new window.WebSocket(url)\r\n// // 监听socket连接\r\n// this.socket.onopen = this.open\r\n// // 监听socket错误信息\r\n// this.socket.onerror = this.error\r\n// // 监听socket消息\r\n// this.socket.onmessage = this.getMessage\r\n// }\r\n// },\r\n// open: function () {\r\n// console.log(\"socket连接成功\")\r\n// },\r\n// error: function () {\r\n// console.log(\"连接错误\")\r\n// },\r\n// getMessage: function (msg) {\r\n// console.log(typeof msg.data,'type')\r\n// if(msg.data =='连接成功') return\r\n// this.socketData = msg.data\r\n// console.log(JSON.parse(this.socketData),'------------------',)\r\n// if(typeof JSON.parse(this.socketData) == Array){\r\n// this.data = JSON.parse(this.socketData)\r\n// console.log(this.data)\r\n// }\r\n// // console.log(msg,'msg')\r\n// // console.log(this.data,'data-------')\r\n// },\r\n// send: function () {\r\n// this.socket.send(params)\r\n// },\r\n// close: function () {\r\n// console.log(\"socket已经关闭\")\r\n// }\r\n// },\r\n// destroyed () {\r\n// // 销毁监听\r\n// this.socket.onclose = this.close\r\n// }\r\n// }\r\n</script>\r\n\r\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\r\n<style scoped lang=\"scss\">\r\n@keyframes warn {\r\n 0% {\r\n transform: scale(0.3);\r\n -webkit-transform: scale(0.3);\r\n opacity: 0;\r\n }\r\n\r\n 25% {\r\n transform: scale(0.3);\r\n -webkit-transform: scale(0.3);\r\n opacity: 0.1;\r\n }\r\n\r\n 50% {\r\n transform: scale(0.5);\r\n -webkit-transform: scale(0.5);\r\n opacity: 0.3;\r\n }\r\n\r\n 75% {\r\n transform: scale(0.8);\r\n -webkit-transform: scale(0.8);\r\n opacity: 0.6;\r\n }\r\n\r\n 100% {\r\n transform: scale(1);\r\n -webkit-transform: scale(1);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@keyframes warn1 {\r\n 0% {\r\n transform: scale(0.3);\r\n -webkit-transform: scale(0.3);\r\n opacity: 0;\r\n }\r\n\r\n 25% {\r\n transform: scale(0.3);\r\n -webkit-transform: scale(0.3);\r\n opacity: 0.1;\r\n }\r\n\r\n 50% {\r\n transform: scale(0.3);\r\n -webkit-transform: scale(0.3);\r\n opacity: 0.3;\r\n }\r\n\r\n 75% {\r\n transform: scale(0.5);\r\n -webkit-transform: scale(0.5);\r\n opacity: 0.6;\r\n }\r\n\r\n 100% {\r\n transform: scale(0.8);\r\n -webkit-transform: scale(0.8);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@keyframes circle {\r\n 0% {\r\n transform: rotate(0);\r\n -webkit-transform: rotate(0);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n -webkit-transform: rotate(360deg);\r\n }\r\n}\r\n@keyframes run {\r\n to {\r\n transform: translateX(calc((100vw - 180px) / 6 - 80px));\r\n }\r\n}\r\n.container {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n background: url('../../../assets/loginPage/map-bg.jpg') no-repeat center;\r\n background-size: 100% 100%;\r\n .big-title {\r\n height: 40px;\r\n line-height: 40px;\r\n font-size: 28px;\r\n font-weight: bold;\r\n margin: 10px 0 20px;\r\n text-align: center;\r\n color: #fff;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n .btns {\r\n position: absolute;\r\n z-index: 99999;\r\n right: 60px;\r\n top: 40px;\r\n display: flex;\r\n align-items: center;\r\n .fullbtn {\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n margin-right: 20px;\r\n .toFull {\r\n font-weight: bolder;\r\n color: #00ffff;\r\n margin-right: 10px;\r\n }\r\n div {\r\n font-size: 16px;\r\n color: #00ffff;\r\n }\r\n }\r\n\r\n .backBtn {\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n img {\r\n width: 14px;\r\n height: 14px;\r\n margin-right: 10px;\r\n }\r\n div {\r\n font-size: 16px;\r\n color: #00ffff;\r\n }\r\n }\r\n }\r\n .blocks {\r\n width: 100%;\r\n height: calc(100% - 90px);\r\n padding: 10px 40px 35px;\r\n box-sizing: border-box;\r\n\r\n &>div{\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: flex-start;\r\n overflow: hidden;\r\n overflow-x: auto;\r\n overflow-y: auto;\r\n }\r\n\r\n .line-map {\r\n display: flex;\r\n justify-content: center;\r\n align-items: flex-start;\r\n\r\n .line-item {\r\n width: calc((100vw - 180px) / 6);\r\n padding-left: 20px;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n margin-right: 20px;\r\n flex-wrap: nowrap;\r\n\r\n .picbox {\r\n width: 100%;\r\n height: calc((100vh - 130px) / 5);\r\n padding: 10px;\r\n margin-bottom: 40px;\r\n box-sizing: border-box;\r\n\r\n img {\r\n display: block;\r\n width: 100%;\r\n height: 100px;\r\n margin-bottom: 10px;\r\n border-radius: 4px;\r\n }\r\n p {\r\n font-size: 14px;\r\n color: rgba(255, 255, 255, 0.8);\r\n margin-top: 10px;\r\n span {\r\n color: #fff;\r\n }\r\n }\r\n }\r\n .area-head {\r\n position: relative;\r\n width: 100%;\r\n height: 80px;\r\n padding-left: 38px;\r\n border-left: 1px solid #36fcfc;\r\n\r\n .indicator {\r\n width: 36px;\r\n height: 36px;\r\n border-radius: 50%;\r\n position: absolute;\r\n border: 1px solid #00ff66;\r\n top: -18px;\r\n left: -18px;\r\n\r\n .indi-dot {\r\n position: absolute;\r\n width: 20px;\r\n height: 20px;\r\n left: 7px;\r\n top: 7px;\r\n -webkit-border-radius: 50%;\r\n -moz-border-radius: 50%;\r\n border: 1px solid #00ff66;\r\n border-radius: 50%;\r\n background-color: #00ff66;\r\n z-index: 2;\r\n }\r\n .indi-pulse {\r\n position: absolute;\r\n width: 56px;\r\n height: 56px;\r\n left: -11px;\r\n top: -11px;\r\n border: 1px solid #00ff66;\r\n -webkit-border-radius: 50%;\r\n -moz-border-radius: 50%;\r\n border-radius: 50%;\r\n z-index: 1;\r\n opacity: 0;\r\n -webkit-animation: warn 2s ease-out;\r\n -moz-animation: warn 2s ease-out;\r\n animation: warn 2s ease-out;\r\n -webkit-animation-iteration-count: infinite;\r\n -moz-animation-iteration-count: infinite;\r\n animation-iteration-count: infinite;\r\n box-shadow: 1px 1px 30px #00ff66;\r\n }\r\n .indi-pulse1 {\r\n position: absolute;\r\n width: 56px;\r\n height: 56px;\r\n left: -11px;\r\n top: -11px;\r\n border: 1px solid #3399ff;\r\n -webkit-border-radius: 50%;\r\n -moz-border-radius: 50%;\r\n border-radius: 50%;\r\n z-index: 1;\r\n opacity: 0;\r\n -webkit-animation: warn1 2s ease-out;\r\n -moz-animation: warn1 2s ease-out;\r\n animation: warn1 2s ease-out;\r\n -webkit-animation-iteration-count: infinite;\r\n -moz-animation-iteration-count: infinite;\r\n animation-iteration-count: infinite;\r\n box-shadow: 1px 1px 30px #3399ff;\r\n }\r\n }\r\n .someUndone {\r\n width: 36px;\r\n height: 36px;\r\n border-radius: 50%;\r\n position: absolute;\r\n border: 1px solid #ccc;\r\n top: -18px;\r\n left: -18px;\r\n\r\n .indi-dot {\r\n position: absolute;\r\n width: 20px;\r\n height: 20px;\r\n left: 7px;\r\n top: 7px;\r\n -webkit-border-radius: 50%;\r\n -moz-border-radius: 50%;\r\n border: 1px solid #ccc;\r\n border-radius: 50%;\r\n background-color: #ccc;\r\n z-index: 2;\r\n }\r\n }\r\n .somewarning {\r\n width: 36px;\r\n height: 36px;\r\n border-radius: 50%;\r\n position: absolute;\r\n border: 1px solid #ff0000;\r\n top: -18px;\r\n left: -18px;\r\n\r\n .indi-dot {\r\n position: absolute;\r\n width: 20px;\r\n height: 20px;\r\n left: 7px;\r\n top: 7px;\r\n -webkit-border-radius: 50%;\r\n -moz-border-radius: 50%;\r\n border: 1px solid #ff0000;\r\n border-radius: 50%;\r\n background-color: #ff0000;\r\n z-index: 2;\r\n }\r\n }\r\n .arrow {\r\n position: absolute;\r\n width: 58px;\r\n height: 20px;\r\n left: 38px;\r\n top: -10px;\r\n background: url('../../../assets/loginPage/arrow-r.png') 0 / cover no-repeat;\r\n animation: run 2s steps(4) 0s infinite;\r\n }\r\n .top-line {\r\n width: 100%;\r\n border-top: 2px solid #36fcfc;\r\n }\r\n .fadeLine {\r\n width: 100%;\r\n border-top: 1px solid rgba(54,252,252,.6);\r\n }\r\n }\r\n .fadeBorder {\r\n border-left: 1px solid #ccc;\r\n }\r\n .more-info {\r\n width: 100%;\r\n\r\n .item {\r\n width: calc((100vw - 120px) / 6);\r\n height: calc((100vh - 130px) / 5);\r\n padding: 0 50px 20px;\r\n position: relative;\r\n box-sizing: border-box;\r\n border-left: 1px solid #36fcfc;\r\n\r\n &:last-of-type {\r\n border: none;\r\n }\r\n\r\n section {\r\n width: 24px;\r\n height: 24px;\r\n border-radius: 50%;\r\n position: absolute;\r\n border: 1px solid rgba(0, 225, 255, 0.6);\r\n top: -12px;\r\n left: 10px;\r\n\r\n .dot {\r\n position: absolute;\r\n width: 12px;\r\n height: 12px;\r\n left: 5px;\r\n top: 5px;\r\n -webkit-border-radius: 50%;\r\n -moz-border-radius: 50%;\r\n border: 1px solid #0072ff;\r\n border-radius: 50%;\r\n background-color: #00e1ff;\r\n z-index: 2;\r\n }\r\n .pulse {\r\n position: absolute;\r\n width: 48px;\r\n height: 48px;\r\n left: -13px;\r\n top: -13px;\r\n border: 1px solid #00e1ff;\r\n -webkit-border-radius: 50%;\r\n -moz-border-radius: 50%;\r\n border-radius: 50%;\r\n z-index: 1;\r\n opacity: 0;\r\n -webkit-animation: warn 2s ease-out;\r\n -moz-animation: warn 2s ease-out;\r\n animation: warn 2s ease-out;\r\n -webkit-animation-iteration-count: infinite;\r\n -moz-animation-iteration-count: infinite;\r\n animation-iteration-count: infinite;\r\n box-shadow: 1px 1px 30px #00e1ff;\r\n }\r\n .pulse1 {\r\n position: absolute;\r\n width: 48px;\r\n height: 48px;\r\n left: -13px;\r\n top: -13px;\r\n border: 1px solid #00e1ff;\r\n -webkit-border-radius: 50%;\r\n -moz-border-radius: 50%;\r\n border-radius: 50%;\r\n z-index: 1;\r\n opacity: 0;\r\n -webkit-animation: warn1 2s ease-out;\r\n -moz-animation: warn1 2s ease-out;\r\n animation: warn1 2s ease-out;\r\n -webkit-animation-iteration-count: infinite;\r\n -moz-animation-iteration-count: infinite;\r\n animation-iteration-count: infinite;\r\n box-shadow: 1px 1px 30px #00e1ff;\r\n }\r\n }\r\n & > div {\r\n padding: 10px 0;\r\n transform: translateY(-14px);\r\n border-radius: 8px;\r\n background-image: linear-gradient(to right, rgba(8, 109, 209, 0.4), rgba(11, 255, 255, 0.2));\r\n border: 1px solid rgba(54, 252, 252, 1);\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n\r\n div {\r\n margin-bottom: 5px;\r\n &:last-of-type {\r\n margin-bottom: none;\r\n }\r\n span {\r\n display: inline-block;\r\n width: 50%;\r\n font-size: 13px;\r\n color: #fff;\r\n text-align: left;\r\n\r\n &:first-of-type {\r\n text-align: right;\r\n color: rgba(255, 255, 255, 0.8);\r\n }\r\n }\r\n }\r\n }\r\n .noBorder{\r\n border: 1px solid rgba(54, 252, 252, 0.1);\r\n }\r\n .redBorder{\r\n border: 1px solid #ff0000;\r\n }\r\n p {\r\n width: 140px;\r\n height: 50px;\r\n font-size: 18px;\r\n line-height: 48px;\r\n text-align: center;\r\n color: #fff;\r\n border-radius: 8px;\r\n background-image: linear-gradient(to right, rgba(11, 255, 255, 0.2), rgba(8, 109, 209, 0.4));\r\n border: 1px solid rgba(54, 252, 252, 0.6);\r\n }\r\n }\r\n .warning {\r\n & > section {\r\n border: 1px solid #ff0000;\r\n\r\n .dot {\r\n border: 1px solid #ff0000;\r\n background: #ff0000;\r\n }\r\n .pulse {\r\n border: 1px solid #ff0000;\r\n box-shadow: 1px 1px 30px #ff0000;\r\n }\r\n .pulse1 {\r\n border: 1px solid #ff0000;\r\n box-shadow: 1px 1px 30px #ff0000;\r\n }\r\n }\r\n\r\n & > div {\r\n div {\r\n span.target {\r\n color: #ff2929;\r\n font-weight: bolder;\r\n }\r\n }\r\n }\r\n }\r\n .undone {\r\n & > section {\r\n border: 1px solid #ccc;\r\n\r\n .dot {\r\n border: 1px solid #ccc;\r\n background: #ccc;\r\n }\r\n .pulse {\r\n display: none;\r\n }\r\n .pulse1 {\r\n display: none;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n .finish {\r\n .area-head {\r\n position: relative;\r\n width: 100%;\r\n height: 80px;\r\n border-left: none;\r\n .finish-point {\r\n position: absolute;\r\n width: 90px;\r\n height: 90px;\r\n border: 2px solid #0072ff;\r\n left: -30px;\r\n top: -45px;\r\n border-radius: 50%;\r\n\r\n & > div {\r\n width: 80px;\r\n height: 80px;\r\n position: absolute;\r\n left: 3px;\r\n top: 3px;\r\n background: #0072ff;\r\n border-radius: 50%;\r\n color: #fff;\r\n font-size: 16px;\r\n line-height: 80px;\r\n text-align: center;\r\n font-weight: bolder;\r\n }\r\n }\r\n }\r\n }\r\n .pic-tit {\r\n display: flex;\r\n width: calc((100vw - 120px) / 7);\r\n height: 160px;\r\n padding: 20px;\r\n transform: translate(-20px, -40%);\r\n flex-direction: column;\r\n align-items: flex-start;\r\n\r\n img {\r\n width: calc((100vw - 120px) / 7 - 40px);\r\n height: 90px;\r\n margin-bottom: 10px;\r\n border-radius: 4px;\r\n }\r\n p {\r\n font-size: 16px;\r\n color: #00ffff;\r\n font-weight: bold;\r\n }\r\n }\r\n\r\n .water {\r\n transform: none;\r\n }\r\n .start {\r\n padding: 40px 0;\r\n p {\r\n margin-top: -21px;\r\n margin-left: 20px;\r\n }\r\n span {\r\n width: 1px;\r\n height: 50px;\r\n background: #36fcfc;\r\n position: absolute;\r\n top: -10px;\r\n left: 0;\r\n }\r\n section {\r\n position: absolute;\r\n top: 30px;\r\n left: -14px;\r\n }\r\n }\r\n }\r\n .tip {\r\n width: 100%;\r\n font-size: 30px;\r\n text-align: center;\r\n margin-top: 100px;\r\n color: #fff;\r\n font-weight: bolder;\r\n }\r\n .current-task {\r\n position: absolute;\r\n width: calc((500vw - 600px) / 7);\r\n z-index: 999999;\r\n top: 0;\r\n right: 0;\r\n padding: 0 60px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n\r\n .task-des {\r\n padding: 10px 20px;\r\n display: flex;\r\n align-items: center;\r\n border: 1px solid #36fcfc;\r\n\r\n .task-des-l {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n font-size: 20px;\r\n color: #36fcfc;\r\n border-right: 1px solid #36fcfc;\r\n padding-right: 20px;\r\n img {\r\n margin-bottom: 10px;\r\n }\r\n }\r\n .task-des-r {\r\n width: calc((200vw - 240px) / 7);\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n font-size: 20px;\r\n line-height: 28px;\r\n color: #fcfc36;\r\n padding-left: 20px;\r\n }\r\n }\r\n .current-data {\r\n width: 267px;\r\n height: 138px;\r\n padding: 20px 30px;\r\n box-sizing: border-box;\r\n background: url('../../../assets/loginPage/xj-bg.png') no-repeat center;\r\n background-size: 100% 100%;\r\n\r\n .data-area {\r\n display: flex;\r\n align-items: center;\r\n border-bottom: 1px solid #040c3b;\r\n font-weight: bold;\r\n padding-bottom: 10px;\r\n box-sizing: border-box;\r\n\r\n img {\r\n width: 30px;\r\n height: 30px;\r\n margin-right: 10px;\r\n animation: circle 1s ease-in-out infinite;\r\n }\r\n\r\n div {\r\n font-size: 15px;\r\n color: rgba(4, 12, 59, 0.8);\r\n\r\n span {\r\n color: #040c3b;\r\n }\r\n }\r\n }\r\n\r\n .data-spot {\r\n display: flex;\r\n align-items: flex-start;\r\n margin-top: 10px;\r\n\r\n & > div {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: 50%;\r\n font-size: 14px;\r\n color: rgba(4, 12, 59, 0.8);\r\n\r\n p {\r\n margin-top: 6px;\r\n color: #040c3b;\r\n }\r\n\r\n &:first-of-type {\r\n border-right: 1px solid #040c3b;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n .star-pic {\r\n position: absolute;\r\n width: calc((100vw - 120px) / 7);\r\n height: calc((100vw - 120px) / 7);\r\n z-index: 999999999;\r\n bottom: 40px;\r\n right: 40px;\r\n padding: 20px;\r\n\r\n .star-bg {\r\n position: inherit;\r\n width: 100%;\r\n height: 100%;\r\n left: 0;\r\n top: 0;\r\n img {\r\n width: 100%;\r\n height: auto;\r\n animation: circle 30s linear infinite;\r\n }\r\n }\r\n\r\n .star {\r\n position: inherit;\r\n width: 100%;\r\n height: 100%;\r\n left: 0;\r\n top: 0;\r\n img {\r\n width: 100%;\r\n height: auto;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n
+-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+-<+>UTF-8
+-===================================================================
+-diff --git a/src/views/intellectInspect/intelligentLine/index.vue b/src/views/intellectInspect/intelligentLine/index.vue
+---- a/src/views/intellectInspect/intelligentLine/index.vue (revision a1d03a0e810219f8353748f6e55699bf2e1a77a6)
+-+++ b/src/views/intellectInspect/intelligentLine/index.vue (date 1660566611603)
+-@@ -85,7 +85,7 @@
+- <script lang="ts">
+- import screenfull from 'screenfull';
+- import { lineApi } from '/@/api/intelligentLine';
+--import { toRefs, reactive, ref, onMounted, onUnmounted, computed } from 'vue';
+-+import {toRefs, reactive, ref, onMounted, onUnmounted, computed, nextTick} from 'vue';
+- import {useRoute} from 'vue-router';
+- import { storeToRefs } from 'pinia';
+- import { initBackEndControlRoutes } from '/@/router/backEnd';
+-@@ -218,9 +218,11 @@
+- // 页面关闭处理
+- onUnmounted(() => {
+- // 销毁监听
+-- state.socket.onclose = () => {
+-- console.log('socket已经关闭');
+-- };
+-+ nextTick(()=>{
+-+ state.socket.onclose = () => {
+-+ console.log('socket已经关闭');
+-+ };
+-+ })
+- });
+- return {
+- dataList,
+-Index: src/views/specialWorkSystem/foundationSet/safetyAction/index.vue
+-IDEA additional info:
+-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+-<+>UTF-8
+-===================================================================
+-diff --git a/src/views/specialWorkSystem/foundationSet/safetyAction/index.vue b/src/views/specialWorkSystem/foundationSet/safetyAction/index.vue
+-new file mode 100644
+---- /dev/null (date 1660632779996)
+-+++ b/src/views/specialWorkSystem/foundationSet/safetyAction/index.vue (date 1660632779996)
+-@@ -0,0 +1,436 @@
+-+<template>
+-+ <div class="home-container">
+-+ <div style="height: 100%">
+-+ <el-row class="homeCard">
+-+ <div class="basic-line">
+-+ <span>任务类型:</span>
+-+ <el-select v-model="tableData.params.workType" clearable filterable class="input-box" placeholder="任务类型">
+-+ <!-- <el-option v-for="item in workTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
+-+ </el-select>
+-+ </div>
+-+ <div class="basic-line">
+-+ <span>执行班组:</span>
+-+ <el-select v-model="tableData.params.execClassgroupId" clearable filterable class="input-box" placeholder="执行班组"> </el-select>
+-+ </div>
+-+ <div style="padding-bottom: 10px">
+-+ <el-button type="primary" @click="initSafetyAction">查询</el-button>
+-+ <el-button plain @click="reset">重置</el-button>
+-+ </div>
+-+ </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="openSafetyActionDialog('新增', {})">新建</el-button>
+-+ <!-- <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>-->
+-+ </el-col>
+-+ <el-button type="primary" :icon="Refresh" size="default" />
+-+ </el-row>
+-+ <el-table ref="multipleTableRef" :data="tableData.safetyActionData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }" @selection-change="handleSelectionChange">
+-+ <el-table-column type="selection" width="55" />
+-+ <el-table-column property="title" label="标题" />
+-+ <el-table-column property="ruleStandType" label="标准类型">
+-+ <template #default="scope">
+-+ <span>
+-+ {{ parseNumber(scope.row.ruleStandType, '标准类型') }}
+-+ </span>
+-+ </template>
+-+ </el-table-column>
+-+ <el-table-column property="minVal" label="最低值">
+-+ <template #default="scope">
+-+ <span>
+-+ {{ parseNumber(scope.row.minValMatchPattern, '最低值') }}
+-+ </span>
+-+ <span>
+-+ {{ scope.row.minVal }}
+-+ </span>
+-+ </template>
+-+ </el-table-column>
+-+ <el-table-column property="maxVal" label="最高值">
+-+ <template #default="scope">
+-+ <span>
+-+ {{ parseNumber(scope.row.maxValMatchPattern, '最高值') }}
+-+ </span>
+-+ <span>
+-+ {{ scope.row.maxVal }}
+-+ </span>
+-+ </template>
+-+ </el-table-column>
+-+ <el-table-column property="info" label="描述" />
+-+ <el-table-column prop="createUserName" label="创建人" show-overflow-tooltip></el-table-column>
+-+ <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 fixed="right" label="操作" align="center" width="300">
+-+ <template #default="scope">
+-+ <el-button link type="primary" size="small" :icon="View" @click="openSafetyActionDialog('查看', scope.row)">查看</el-button>
+-+ <el-button link type="primary" size="small" :icon="Edit" @click="openSafetyActionDialog('修改', scope.row)">修改</el-button>
+-+ <el-button link type="danger" size="small" :icon="Delete" @click="deleteSafetyAction(scope.row)">删除</el-button>
+-+ </template>
+-+ </el-table-column>
+-+ </el-table>
+-+ <br />
+-+ <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>
+-+ </div>
+-+ </div>
+-+ </div>
+-+ <safety-action-dialog ref="safetyActionDialogRef" @refreshSafetyAction="initSafetyAction"></safety-action-dialog>
+-+ </div>
+-+</template>
+-+
+-+<script lang="ts">
+-+import { toRefs, reactive, ref, onMounted } from 'vue';
+-+import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue';
+-+import { ElTable, ElMessage, ElMessageBox } from 'element-plus';
+-+import { safetyActionApi } from '/@/api/specialWorkSystem/safetyAction/index.ts';
+-+import { departmentApi } from '/@/api/systemManage/department';
+-+import safetyActionDialog from '/@/views/specialWorkSystem/foundationSet/safetyAction/components/safetyActionDialog.vue';
+-+let global: any = {
+-+ homeChartOne: null,
+-+ homeChartTwo: null,
+-+ homeCharThree: null,
+-+ dispose: [null, '', undefined]
+-+};
+-+
+-+interface stateType {
+-+ tableData: {
+-+ safetyActionData: [];
+-+ total: number;
+-+ loading: boolean;
+-+ params: {
+-+ pageIndex: number | null;
+-+ pageSize: number | null;
+-+ searchParams: {
+-+ workType: number | null;
+-+ type: number | null;
+-+ context: string | null;
+-+ };
+-+ };
+-+ };
+-+ ruleStandTypeList: Array<type>;
+-+ typeList: Array<type>;
+-+ typeTwoList: Array<type>;
+-+ deleteList: {
+-+ ids: Array<number>;
+-+ };
+-+}
+-+interface type {
+-+ id: number;
+-+ name: string;
+-+}
+-+interface ruleType {
+-+ ruleStandId: number;
+-+}
+-+export default {
+-+ name: 'index',
+-+ components: { safetyActionDialog },
+-+ setup() {
+-+ const safetyActionDialogRef = ref();
+-+ const state = reactive<stateType>({
+-+ tableData: {
+-+ safetyActionData: [],
+-+ total: 0,
+-+ loading: false,
+-+ params: {
+-+ pageIndex: 1,
+-+ pageSize: 10,
+-+ searchParams: {
+-+ workType: null,
+-+ type: null,
+-+ context: null
+-+ }
+-+ }
+-+ },
+-+ ruleStandTypeList: [
+-+ { id: 1, name: '可燃气浓度' },
+-+ { id: 2, name: '氧气浓度' },
+-+ { id: 3, name: '一氧化碳浓度' },
+-+ { id: 4, name: '硫化氢浓度' },
+-+ { id: 5, name: '温度' },
+-+ { id: 6, name: '压力' },
+-+ { id: 7, name: '震动' }
+-+ ],
+-+ typeList: [
+-+ { id: 1, name: '大于' },
+-+ { id: 2, name: '等于' },
+-+ { id: 4, name: '大于等于' }
+-+ ],
+-+ typeTwoList: [
+-+ { id: 3, name: '小于' },
+-+ { id: 2, name: '等于' },
+-+ { id: 5, name: '小于等于' }
+-+ ],
+-+ deleteList: {
+-+ ids: []
+-+ }
+-+ });
+-+
+-+ //获取巡检任务数据
+-+ const initSafetyAction = async () => {
+-+ let res = await safetyActionApi().getSafetyActionList(state.tableData.params);
+-+ if (res.data.code === '200') {
+-+ state.tableData.safetyActionData = res.data.data;
+-+ state.tableData.total = res.data.total;
+-+ } else {
+-+ ElMessage({
+-+ type: 'warning',
+-+ message: res.data.msg
+-+ });
+-+ }
+-+ };
+-+
+-+ // //获取部门
+-+ // const getDepartmentData = async () => {
+-+ // let res = await departmentApi().getDepartmentList();
+-+ // if (res.data.code === '200') {
+-+ // state.departmentList = res.data.data;
+-+ // } else {
+-+ // ElMessage({
+-+ // type: 'warning',
+-+ // message: res.data.msg
+-+ // });
+-+ // }
+-+ // };
+-+
+-+ // 删除
+-+ const deleteSafetyAction = (row: any) => {
+-+ ElMessageBox.confirm(`此操作将永久删除该任务:“${row.title}”,是否继续?`, '提示', {
+-+ confirmButtonText: '确认',
+-+ cancelButtonText: '取消',
+-+ type: 'warning'
+-+ })
+-+ .then(async () => {
+-+ let res = await safetyActionApi().deleteSafetyAction(state.deleteList);
+-+ if (res.data.code === '200') {
+-+ ElMessage({
+-+ type: 'success',
+-+ duration: 2000,
+-+ message: '删除成功'
+-+ });
+-+ await initSafetyAction();
+-+ } else {
+-+ ElMessage({
+-+ type: 'warning',
+-+ message: res.data.msg
+-+ });
+-+ }
+-+ })
+-+ .catch(() => {});
+-+ };
+-+
+-+ const handleSelectionChange = (val: Array<ruleType>) => {
+-+ state.deleteList.ids = val.map((item) => {
+-+ return item.ruleStandId;
+-+ });
+-+ };
+-+
+-+ const openSafetyActionDialog = (type: string, value: {}) => {
+-+ safetyActionDialogRef.value.showSafetyActionDialog(type, value);
+-+ };
+-+
+-+ const parseNumber = (value: number, type: string) => {
+-+ if (type === '标准类型') {
+-+ return state.ruleStandTypeList.find((item) => item.id === value)?.name;
+-+ } else if (type === '最高值') {
+-+ return state.typeTwoList.find((item) => item.id == value)?.name;
+-+ } else {
+-+ return state.typeList.find((item) => item.id == value)?.name;
+-+ }
+-+ };
+-+
+-+ // 分页改变
+-+ const onHandleSizeChange = (val: number) => {
+-+ state.tableData.params.pageSize = val;
+-+ initSafetyAction();
+-+ };
+-+ // 分页改变
+-+ const onHandleCurrentChange = (val: number) => {
+-+ state.tableData.params.pageIndex = val;
+-+ initSafetyAction();
+-+ };
+-+
+-+ const reset = () => {
+-+ state.tableData.params = {
+-+ pageIndex: 1,
+-+ pageSize: 10,
+-+ searchParams: {
+-+ workType: null,
+-+ type: null,
+-+ context: null
+-+ }
+-+ };
+-+ };
+-+
+-+ // 页面加载时
+-+ onMounted(() => {
+-+ initSafetyAction();
+-+ });
+-+
+-+ return {
+-+ View,
+-+ Edit,
+-+ Delete,
+-+ Refresh,
+-+ Plus,
+-+ reset,
+-+ parseNumber,
+-+ handleSelectionChange,
+-+ deleteSafetyAction,
+-+ initSafetyAction,
+-+ onHandleSizeChange,
+-+ onHandleCurrentChange,
+-+ safetyActionDialogRef,
+-+ openSafetyActionDialog,
+-+ ...toRefs(state)
+-+ };
+-+ }
+-+};
+-+</script>
+-+
+-+<style scoped lang="scss">
+-+$homeNavLengh: 8;
+-+.home-container {
+-+ height: calc(100vh - 114px);
+-+ box-sizing: border-box;
+-+ overflow: hidden;
+-+ .homeCard {
+-+ width: 100%;
+-+ padding: 20px;
+-+ box-sizing: border-box;
+-+ background: #fff;
+-+ border-radius: 4px;
+-+
+-+ .main-card {
+-+ width: 100%;
+-+ height: 100%;
+-+ .cardTop {
+-+ display: flex;
+-+ align-items: center;
+-+ justify-content: space-between;
+-+ margin-bottom: 20px;
+-+ .mainCardBtn {
+-+ margin: 0;
+-+ }
+-+ }
+-+ .pageBtn {
+-+ height: 60px;
+-+ display: flex;
+-+ align-items: center;
+-+ justify-content: right;
+-+
+-+ .demo-pagination-block + .demo-pagination-block {
+-+ margin-top: 10px;
+-+ }
+-+ .demo-pagination-block .demonstration {
+-+ margin-bottom: 16px;
+-+ }
+-+ }
+-+ }
+-+ &:last-of-type {
+-+ height: calc(100% - 100px);
+-+ }
+-+ }
+-+ .el-row {
+-+ display: flex;
+-+ align-items: center;
+-+ margin-bottom: 20px;
+-+ &:last-child {
+-+ margin-bottom: 0;
+-+ }
+-+ .grid-content {
+-+ align-items: center;
+-+ min-height: 36px;
+-+ }
+-+
+-+ .topInfo {
+-+ display: flex;
+-+ align-items: center;
+-+ font-size: 16px;
+-+ font-weight: bold;
+-+
+-+ & > div {
+-+ white-space: nowrap;
+-+ margin-right: 20px;
+-+ }
+-+ }
+-+ }
+-+}
+-+.stepItem {
+-+ width: 100%;
+-+ display: flex;
+-+ align-items: flex-start;
+-+ margin-bottom: 30px;
+-+ margin-left: 30px;
+-+ padding-bottom: 30px;
+-+ border-left: 2px solid #ccc;
+-+ &:first-of-type {
+-+ margin-top: 30px;
+-+ }
+-+ &:last-of-type {
+-+ margin-bottom: 0;
+-+ border-left: none;
+-+ }
+-+ .stepNum {
+-+ width: 30px;
+-+ height: 30px;
+-+ border-radius: 15px;
+-+ box-sizing: border-box;
+-+ color: #333;
+-+ border: 1px solid #999;
+-+ line-height: 28px;
+-+ text-align: center;
+-+ margin-right: 10px;
+-+ margin-left: -16px;
+-+ margin-top: -30px;
+-+ }
+-+ .stepCard {
+-+ width: 100%;
+-+ margin-top: -30px;
+-+
+-+ .box-card {
+-+ width: 100%;
+-+ &:deep(.el-card__header) {
+-+ padding: 10px 15px;
+-+ }
+-+ .card-header {
+-+ width: 100%;
+-+ display: flex;
+-+ justify-content: space-between;
+-+ align-items: center;
+-+ & > div:first-of-type {
+-+ margin-right: 80px;
+-+ font-size: 18px;
+-+ font-weight: bold;
+-+ }
+-+ }
+-+ }
+-+ }
+-+ &:hover .card-header {
+-+ color: #0098f5;
+-+ }
+-+ &:hover .stepNum {
+-+ border: 2px solid #0098f5;
+-+ color: #0098f5;
+-+ }
+-+}
+-+.el-input {
+-+ width: 100% !important;
+-+}
+-+:deep(.el-date-editor) {
+-+ width: 100%;
+-+}
+-+.el-select {
+-+ width: 100%;
+-+}
+-+:deep(.el-textarea.is-disabled .el-textarea__inner) {
+-+ background-color: var(--el-card-bg-color);
+-+ color: var(--el-input-text-color, var(--el-text-color-regular));
+-+}
+-+:deep(.el-input.is-disabled .el-input__inner) {
+-+ color: var(--el-input-text-color, var(--el-text-color-regular));
+-+}
+-+:deep(.el-input.is-disabled .el-input__wrapper) {
+-+ background-color: var(--el-card-bg-color);
+-+}
+-+</style>
diff --git a/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_17_52__Default_Changelist_.xml b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_17_52__Default_Changelist_.xml
new file mode 100644
index 0000000..b0a5de5
--- /dev/null
+++ b/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_17_52__Default_Changelist_.xml
@@ -0,0 +1,4 @@
+<changelist name="Uncommitted_changes_before_Update_at_2022_8_23_17_52_[Default_Changelist]" date="1661248501300" recycled="true" deleted="true">
+ <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_2022_8_23_17_52_[Default_Changelist]/shelved.patch" />
+ <option name="DESCRIPTION" value="Uncommitted changes before Update at 2022/8/23 17:52 [Default Changelist]" />
+</changelist>
\ No newline at end of file
diff --git a/src/views/intellectInspect/inspectIndex/components/inspectRecordDialog.vue b/src/views/intellectInspect/inspectIndex/components/inspectRecordDialog.vue
index f08ccda..02fdd0a 100644
--- a/src/views/intellectInspect/inspectIndex/components/inspectRecordDialog.vue
+++ b/src/views/intellectInspect/inspectIndex/components/inspectRecordDialog.vue
@@ -43,7 +43,7 @@
<el-tabs class="active" v-model="activeName">
<el-tab-pane label="巡检链" name="inspectChain">
<el-table :data="inspectTaskForm.points" fit style="width: 100%">
- <el-table-column type="index" label="序号"/>
+ <el-table-column type="index" label="序号" />
<el-table-column prop="point" label="巡检点" show-overflow-tooltip align="center"></el-table-column>
<el-table-column prop="region" label="所属设备" show-overflow-tooltip align="center"></el-table-column>
<el-table-column prop="rfid" label="RFID" show-overflow-tooltip align="center"></el-table-column>
@@ -93,7 +93,7 @@
import { inspectRecordApi } from '/@/api/intellectInspectSystem/inspectRecord';
interface dataState {
title: string;
- taskAndQuotas: [],
+ taskAndQuotas: [];
pointTitle: string;
activeName: string;
inspectPointConfirm: boolean;
@@ -151,7 +151,7 @@
regionUuid: string | null;
rfidId: number | null;
quotaId: number | null;
- quotaUnit: number | null;
+ quotaUnit: string | null;
reportResult: number | null;
secondReferenceResult: number | null;
execSequence: number | null;
@@ -266,7 +266,7 @@
}
};
- const showInspectRecordDialog = (type: string, item: { id: number; uuid: string; execUserName:string }, workTypeList: [], department: [], timeType: [], classGroupList: [], quotaList: [], inspectPointAllList: []) => {
+ const showInspectRecordDialog = (type: string, item: { id: number; uuid: string; execUserName: string }, workTypeList: [], department: [], timeType: [], classGroupList: [], quotaList: [], inspectPointAllList: []) => {
data.quotaList = JSON.parse(JSON.stringify(quotaList));
data.timeList = JSON.parse(JSON.stringify(timeType));
data.inspectPointAllList = JSON.parse(JSON.stringify(inspectPointAllList));
@@ -276,7 +276,7 @@
data.ifShowInspectTaskDialog = true;
data.inspectPointConfirm = false;
data.title = '查看巡检记录';
- getSum(item.id)
+ getSum(item.id);
inspectRecordApi()
.getInspectRecordById({ id: item.id, uuid: item.uuid })
.then((res) => {
@@ -296,18 +296,18 @@
// return row.secondReferenceResult==0?'正常':(row.reportResult==1?'异常':'无')
// }
- const getSum = async (id) =>{
- let res = await inspectRecordApi().getInspectRecordSum({id:id});
+ const getSum = async (id: number) => {
+ let res = await inspectRecordApi().getInspectRecordSum({ id: id });
if (res.data.code === '200') {
- data.taskAndQuotas = JSON.parse(JSON.stringify(res.data.data.taskAndQuotas))
- console.log(data.taskAndQuotas,'666666666666')
+ data.taskAndQuotas = JSON.parse(JSON.stringify(res.data.data.taskAndQuotas));
+ console.log(data.taskAndQuotas, '666666666666');
} else {
ElMessage({
type: 'warning',
message: res.data.msg
});
}
- }
+ };
const submitInspectPoint = async () => {
if (data.title === '新增巡检任务' && data.pointTitle === '新增巡检点') {
diff --git a/src/views/intellectInspect/inspectRecordManage/inspectRecord/components/inspectRecordDialog.vue b/src/views/intellectInspect/inspectRecordManage/inspectRecord/components/inspectRecordDialog.vue
index 9dc829e..4aec32f 100644
--- a/src/views/intellectInspect/inspectRecordManage/inspectRecord/components/inspectRecordDialog.vue
+++ b/src/views/intellectInspect/inspectRecordManage/inspectRecord/components/inspectRecordDialog.vue
@@ -38,7 +38,7 @@
<el-tabs class="active" v-model="activeName">
<el-tab-pane label="巡检链" name="inspectChain">
<el-table :data="inspectTaskForm.points" fit style="width: 100%">
- <el-table-column type="index" label="序号"/>
+ <el-table-column type="index" label="序号" />
<el-table-column prop="point" label="巡检点" show-overflow-tooltip align="center"></el-table-column>
<el-table-column prop="region" label="所属设备" show-overflow-tooltip align="center"></el-table-column>
<el-table-column prop="rfid" label="RFID" show-overflow-tooltip align="center"></el-table-column>
@@ -80,7 +80,7 @@
</template>
<script lang="ts">
- import {reactive, toRefs, ref, defineAsyncComponent} from 'vue';
+import { reactive, toRefs, ref, defineAsyncComponent } from 'vue';
import { RFIDApi } from '/@/api/intellectInspectSystem/RFID';
import { ElMessage } from 'element-plus/es';
import { inspectTaskApi } from '/@/api/intellectInspectSystem/inspectTask';
@@ -261,7 +261,6 @@
data.ifShowInspectTaskDialog = true;
data.inspectPointConfirm = false;
data.title = '查看巡检记录';
- getSum(item.id)
inspectRecordApi()
.getInspectRecordById({ id: value.id, uuid: value.uuid })
.then((res) => {
diff --git a/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue b/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue
index 4bfad78..3ac0afc 100644
--- a/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue
+++ b/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue
@@ -33,8 +33,8 @@
<el-table ref="multipleTableRef" :data="tableData.inspectRecordData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }">
<el-table-column property="taskName" label="任务名称">
<template #default="scope">
- <div :class="hasJump == true && scope.row.startTime.slice(0, 10) == date&&(tableData.params.taskStatus == 4 || tableData.params.taskStatus == 5)?'redTit':''">
- {{scope.row.taskName}}
+ <div :class="hasJump == true && scope.row.startTime.slice(0, 10) == date && (tableData.params.taskStatus == 4 || tableData.params.taskStatus == 5) ? 'redTit' : ''">
+ {{ scope.row.taskName }}
</div>
</template>
</el-table-column>
@@ -66,9 +66,9 @@
<el-table-column prop="execUserName" label="执行人" show-overflow-tooltip></el-table-column>
<el-table-column property="taskStatus" label="任务状态" width="180">
<template #default="scope">
- <el-tag :type="scope.row.resultStatus === 1? 'danger': scope.row.taskStatus === 1 ? 'info' : scope.row.taskStatus === 2 ? '' : scope.row.taskStatus === 3 ? 'success' : 'danger'">
+ <el-tag :type="scope.row.resultStatus === 1 ? 'danger' : scope.row.taskStatus === 1 ? 'info' : scope.row.taskStatus === 2 ? '' : scope.row.taskStatus === 3 ? 'success' : 'danger'">
<span>
- {{ scope.row.resultStatus === 1?'已巡检存在异常':parseNumber(scope.row.taskStatus, '任务状态') }}
+ {{ scope.row.resultStatus === 1 ? '已巡检存在异常' : parseNumber(scope.row.taskStatus, '任务状态') }}
</span>
</el-tag>
</template>
@@ -115,7 +115,7 @@
};
interface stateType {
- isRed:boolean;
+ isRed: boolean;
hasJump: boolean;
date: string;
tableData: {
@@ -135,7 +135,7 @@
validTime: string | null;
createUserId: number | null;
reportTime: string | null;
- resultStatus: number | null
+ resultStatus: number | null;
};
};
workTypeList: Array<type>;
@@ -155,6 +155,7 @@
id: number;
groupName: string;
}
+interface timeType {}
export default {
name: 'index',
components: { inspectRecordDialog },
@@ -196,7 +197,7 @@
taskStatusList: [
{ id: 1, name: '待巡检' },
{ id: 2, name: '巡检中' },
- { id: 3, name: '已巡检正常'},
+ { id: 3, name: '已巡检正常' },
{ id: 5, name: '已巡检存在异常' },
{ id: 4, name: '超时未完成巡检' }
],
@@ -215,16 +216,16 @@
//获取巡检记录数据
const getInspectRecord = async () => {
- const data = JSON.parse(JSON.stringify(state.tableData.params))
- if(state.tableData.params.taskStatus == 3){
- data.taskStatus = 3
- data.resultStatus = 0
+ const data = JSON.parse(JSON.stringify(state.tableData.params));
+ if (state.tableData.params.taskStatus == 3) {
+ data.taskStatus = 3;
+ data.resultStatus = 0;
}
- if(state.tableData.params.taskStatus == 5){
- data.taskStatus = 3
- data.resultStatus = 1
+ if (state.tableData.params.taskStatus == 5) {
+ data.taskStatus = 3;
+ data.resultStatus = 1;
}
- console.log(state.tableData.params.taskStatus,data.taskStatus,'data')
+ console.log(state.tableData.params.taskStatus, data.taskStatus, 'data');
let res = await inspectRecordApi().getInspectRecordList(data);
if (res.data.code === '200') {
state.tableData.inspectRecordData = JSON.parse(JSON.stringify(res.data.data.records));
@@ -320,10 +321,10 @@
const onHandleCurrentChange = (val: number) => {
state.tableData.params.pageIndex = val;
getInspectRecord();
- state.isRed = false
+ state.isRed = false;
};
// 时间格式化
- const timeForm = {
+ const timeForm: timeType = {
hour12: false,
year: 'numeric',
month: '2-digit',
@@ -345,6 +346,7 @@
startTime: null,
validTime: null,
createUserId: null,
+ resultStatus: null,
reportTime: null
};
};
@@ -355,24 +357,23 @@
};
// 页面加载时
onMounted(() => {
- getDateTime()
+ getDateTime();
if (route.query.id) {
- state.hasJump = true
+ state.hasJump = true;
state.tableData.params.taskStatus = Number(route.query.id);
- state.isRed = true
+ state.isRed = true;
getInspectRecord();
getQuotaList();
getDepartmentData();
getClassGroupData();
getInspectTaskPoint();
- }else{
+ } else {
getInspectRecord();
getQuotaList();
getDepartmentData();
getClassGroupData();
getInspectTaskPoint();
}
-
});
return {
@@ -520,7 +521,7 @@
color: #0098f5;
}
}
-.redTit{
+.redTit {
color: red;
}
.el-input {
diff --git a/src/views/specialWorkSystem/foundationSet/safetyAction/index.vue b/src/views/specialWorkSystem/foundationSet/safetyAction/index.vue
index f51701b..2f51399 100644
--- a/src/views/specialWorkSystem/foundationSet/safetyAction/index.vue
+++ b/src/views/specialWorkSystem/foundationSet/safetyAction/index.vue
@@ -28,7 +28,7 @@
<el-row class="cardTop">
<el-col :span="12" class="mainCardBtn">
<el-button type="primary" :icon="Plus" size="default" @click="openSafetyActionDialog('新增', {})">新建</el-button>
- <!-- <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>-->
+ <el-button type="danger" :icon="Delete" size="default" @click="deleteMoreSafetyAction" plain>批量删除</el-button>
</el-col>
<el-button type="primary" :icon="Refresh" size="default" />
</el-row>
@@ -192,7 +192,7 @@
// };
// 删除
- const deleteSafetyAction = (row: any) => {
+ const deleteMoreSafetyAction = () => {
ElMessageBox.confirm(`此操作将永久删除该措施,是否继续?`, '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
@@ -201,6 +201,33 @@
.then(async () => {
let res = await safetyActionApi().deleteSafetyAction(state.deleteList);
if (res.data.code === '200') {
+ ElMessage({
+ type: 'success',
+ duration: 2000,
+ message: '删除成功'
+ });
+ await initSafetyAction();
+ } else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ })
+ .catch(() => {});
+ };
+
+ // 删除
+ const deleteSafetyAction = (row: any) => {
+ ElMessageBox.confirm(`此操作将永久删除该措施,是否继续?`, '提示', {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning'
+ })
+ .then(async () => {
+ let res = await safetyActionApi().deleteSafetyAction({ ids: [row.id] });
+ if (res.data.code === '200') {
+ state.deleteList.ids = [];
ElMessage({
type: 'success',
duration: 2000,
@@ -275,6 +302,7 @@
parseNumber,
handleSelectionChange,
deleteSafetyAction,
+ deleteMoreSafetyAction,
initSafetyAction,
onHandleSizeChange,
onHandleCurrentChange,
diff --git a/src/views/system/user/component/userDialog.vue b/src/views/system/user/component/userDialog.vue
index 3da423e..2f63678 100644
--- a/src/views/system/user/component/userDialog.vue
+++ b/src/views/system/user/component/userDialog.vue
@@ -94,6 +94,7 @@
phone: string;
email: string;
gender: number | null;
+ positionId: number | null;
password: string;
expireTime: string;
status: number;
@@ -120,6 +121,7 @@
identify: '',
gender: null, // 性别
password: '', // 账户密码
+ positionId: 1, // 岗位
expireTime: '', // 账户过期
status: 1 // 用户状态
},
@@ -145,6 +147,7 @@
phone: '',
email: '',
identify: '',
+ positionId: 1,
gender: null,
password: '',
expireTime: '',
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 2072e9e..0b18e75 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -180,6 +180,10 @@
};
// 页面加载时
onMounted(() => {
+ let a = { name: 1, c: { name: 1 } };
+ let b = Object.assign({}, a);
+ b.c.name = 2;
+ console.log(a.c.name);
initUserTableData();
getDepartmentData();
getRoleData();
--
Gitblit v1.9.2