From 988558aaa309068fd393cc654be537434b0a15ea Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期四, 11 八月 2022 19:11:18 +0800
Subject: [PATCH] 修改
---
src/views/doublePrevent/riskLevel/event/components/safetyRiskEventDialog.vue | 4
src/views/accidentManagementSystem/workInjuryDeclaration/index.vue | 763 ++--
src/views/contingencyManagement/panManagement/component/approval.vue | 169
src/views/contingencyManagement/contingency/component/openAdd.vue | 70
src/views/intellectInspect/inspectBasic/discriminate/index.vue | 29
src/views/goalManagement/Goalsummary/index.vue | 20
src/views/loginPage/loginPage.vue | 282
src/views/doublePrevent/riskCheckManage/checkTaskManage/checkWork/components/workDialog.vue | 22
src/views/specialWorkSystem/workApplyManage/workTicket/components/tempElectForm.vue | 153
src/layout/navBars/breadcrumb/user.vue | 173
src/views/specialWorkSystem/workApplyManage/workTicket/components/highWorkForm.vue | 153
src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenReport/components/reportDialog.vue | 32
src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue | 22
src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue | 15
.env.development | 13
src/views/specialWorkSystem/workApplyManage/workTicket/components/cutLineForm.vue | 220 +
src/views/accidentManagementSystem/accidentReport/component/openAdd.vue | 80
src/views/facilityManagement/ProductionEquipment/index.vue | 36
src/components/equipmentDailog/repairDailog.vue | 114
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue | 6
src/views/specialWorkSystem/approveProcessManage/examineTemplate/index.vue | 367 ++
src/components/equipmentDailog/Dailog.vue | 105
src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue | 4
src/views/goalManagement/targetDecompositionMonth/index.vue | 2
src/views/accidentManagementSystem/accidentReport/index.vue | 17
src/views/intellectInspect/inspectBasic/discriminate/components/RFIDDialog.vue | 14
src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue | 10
src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue | 77
src/components/checkTemplate/index.vue | 434 +-
src/views/goalManagement/safetyAssessment/component/Dailog.vue | 45
src/views/contingencyManagement/emergencyResources/emergencySupplies/component/maintain.vue | 1
src/views/facilityManagement/InstrumentationInformation/index.vue | 42
src/components/equipmentDailog/maintenanceDailog.vue | 87
src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/components/checkDialog.vue | 23
src/views/specialWorkSystem/workApplyManage/workTicket/components/limitedSpaceForm.vue | 175 +
src/views/intellectInspect/inspectRecordManage/inspectRecord/components/inspectRecordDialog.vue | 12
src/views/specialWorkSystem/workApplyManage/workTicket/components/hangLoadForm.vue | 169 +
src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue | 16
src/views/facilityManagement/deviceType/component/Dailog.vue | 20
src/views/intellectInspect/inspectTaskManage/inspectTask/index.vue | 10
src/views/contingencyManagement/panManagement/component/abolishLibrary.vue | 11
src/views/intellectInspect/inspectBasic/inspectPoint/index.vue | 16
src/views/specialWorkSystem/workApplyManage/workTicket/components/dirtWorkForm.vue | 221 +
src/views/contingencyManagement/panManagement/component/approvalProcess.vue | 316 -
src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenReport/index.vue | 37
src/views/contingencyManagement/emergencyResources/emergencySupplies/component/inspect.vue | 1
src/views/intellectInspect/inspectBasic/inspectTarget/components/inspectTargetDialog.vue | 14
src/views/doublePrevent/riskLevel/riskCheckUnit/index.vue | 17
src/views/intellectInspect/inspectBasic/facility/index.vue | 16
src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue | 27
src/views/safeKnowledge/index.vue | 0
src/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue | 10
src/views/contingencyManagement/contingency/index.vue | 31
src/views/doublePrevent/riskLevel/device/components/productionDeviceDialog.vue | 8
src/views/intellectInspect/inspectBasic/inspectTarget/index.vue | 14
src/components/equipmentDailog/detectDailog.vue | 94
src/views/facilityManagement/safetyEquipment/index.vue | 65
src/views/goalManagement/performanceAppraisal/component/DailogAq.vue | 8
src/components/equipmentDailog/standardDailog.vue | 72
src/components/DailogSearchUser/index.vue | 21
src/components/iconSelector/index.vue | 461 +-
src/views/doublePrevent/riskLevel/event/index.vue | 13
src/views/goalManagement/Incentivestandard/component/DailogAdd.vue | 6
src/views/doublePrevent/riskLevel/action/components/riskControlMeasureDialog.vue | 20
src/views/specialWorkSystem/workApplyManage/workTicket/components/fireWorkForm.vue | 164 +
src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue | 13
src/views/contingencyManagement/panManagement/index.vue | 22
src/views/doublePrevent/riskCheckManage/checkTaskManage/checkTask/components/recordDialog.vue | 2
src/views/goalManagement/safetyAssessment/component/DailogAdd.vue | 249 +
src/views/specialWorkSystem/workApplyManage/workTicket/components/blindPanelForm.vue | 354 ++
src/components/equipmentDailog/categoryDailog.vue | 122
src/views/goalManagement/IncentiveRecording/index.vue | 13
src/components/equipmentDailog/DailogS.vue | 215
src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/component/openAdd.vue | 4
src/views/goalManagement/targetDecompositionYear/index.vue | 2
.env.production | 4
src/api/goalManagement/index.ts | 2
src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue | 7
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue | 15
src/views/facilityManagement/keyEquipment/index.vue | 811 ++--
src/views/contingencyManagement/panManagement/component/openAdd.vue | 163
src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue | 74
src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue | 118
src/views/goalManagement/performanceAppraisal/index.vue | 10
src/views/goalManagement/targetDecompositionYear/component/Dailog.vue | 52
src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue | 30
src/views/specialWorkSystem/approveProcessManage/templateSetting/index.vue | 293 +
src/views/specialWorkSystem/workApplyManage/workTicket/index.vue | 671 ++++
src/views/doublePrevent/riskLevel/unit/index.vue | 13
src/views/specialWorkSystem/workApplyManage/myJobApply/index.vue | 362 ++
src/views/doublePrevent/riskLevel/action/index.vue | 15
src/views/contingencyManagement/emergencyPlanStartRecord/index.vue | 3
.env | 2
src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue | 8
src/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue | 6
src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/component/openAdd.vue | 4
src/views/goalManagement/performanceAppraisal/component/DailogKhS.vue | 2
src/views/doublePrevent/riskLevel/unit/components/safetyRiskAnalyseUnitDialog.vue | 10
/dev/null | 39
src/views/doublePrevent/riskLevel/device/index.vue | 13
src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue | 17
src/views/goalManagement/targetSettings/component/dailogAdd.vue | 2
src/views/doublePrevent/riskLevel/riskCheckUnit/components/checkUnitDialog.vue | 20
src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue | 74
104 files changed, 6,788 insertions(+), 2,717 deletions(-)
diff --git a/.env b/.env
index e0dead4..5cf9abf 100644
--- a/.env
+++ b/.env
@@ -5,6 +5,6 @@
VITE_OPEN = false
# public path 配置线上环境路径(打包)、本地通过 http-server 访问时,请置空即可
-#VITE_PUBLIC_PATH = 'http://121.239.169.27:6006'
VITE_PUBLIC_PATH = 'http://121.239.169.27:6006'
#VITE_PUBLIC_PATH = 'http://192.168.0.179:6006'
+#VITE_PUBLIC_PATH = 'http://192.168.0.52:6006'
diff --git a/.env.development b/.env.development
index 23bf9f2..de61f1c 100644
--- a/.env.development
+++ b/.env.development
@@ -1,12 +1,17 @@
# 本地环境
ENV = 'development'
-# 本地环境接口地址
#VITE_API_URL = 'http://192.168.0.35: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.69:8008'
+#黄振接口地址
+VITE_API_URL = 'http://192.168.0.69:8008'
+#戚会山接口地址
#VITE_API_URL = 'http://192.168.0.52:8011/safeplatform'
-#VITE_API_URL = 'http://121.239.169.27:16006/safeplatform'
+#本地测试接口地址
#VITE_API_URL_OUT = 'http://192.168.0.52:8011/safeplatform-out'
+#本地外包测试接口地址
+#VITE_API_URL = 'http://121.239.169.27:16006/safeplatform'
+#线上正式环境接口地址
VITE_API_URL_OUT = 'http://121.239.169.27:16006/safeplatform-out'
+#线上正式环境外包接口地址
diff --git a/.env.production b/.env.production
index ead0942..73165f4 100644
--- a/.env.production
+++ b/.env.production
@@ -2,7 +2,7 @@
ENV = 'production'
# 线上环境接口地址
-#VITE_API_URL = 'http://121.239.169.27:16008/safeplatform'
-#VITE_API_URL_OUT = 'http://121.239.169.27:16008/safeplatform-out'
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 = 'http://192.168.0.52:8011/safeplatform'
+#VITE_API_URL_OUT = 'http://192.168.0.52:8011/safeplatform-out'
diff --git a/src/api/goalManagement/index.ts b/src/api/goalManagement/index.ts
index 412f1a7..45e866b 100644
--- a/src/api/goalManagement/index.ts
+++ b/src/api/goalManagement/index.ts
@@ -265,7 +265,7 @@
// 人员
getManName: (params: any) => {
return request({
- url: `/account/dep/list?depId=${params}`,
+ url: import.meta.env.VITE_API_URL_OUT + `/account/dep/list?depId=${params}`,
method: 'get'
});
}
diff --git a/src/components/DailogSearchUser/index.vue b/src/components/DailogSearchUser/index.vue
index e7f8eb1..7345d2e 100644
--- a/src/components/DailogSearchUser/index.vue
+++ b/src/components/DailogSearchUser/index.vue
@@ -13,20 +13,20 @@
<el-col :span="14" style="padding: 20px">
<el-form ref="ruleFormRef" :model="ruleForm" status-icon>
<el-row>
- <el-col :span="10" :offset="1">
+ <!-- <el-col :span="10" :offset="1">
<el-form-item size="default">
<el-input v-model="ruleForm.pass" placeholder="登录名" />
</el-form-item>
- </el-col>
+ </el-col> -->
<el-col :span="8" :offset="1">
<el-form-item>
- <el-button size="default" type="primary" >查询</el-button>
- <el-button size="default">重置</el-button>
+ <!-- <el-button size="default" type="primary" >查询</el-button> -->
+ <el-button size="default" @click="clear">清除选择</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
- <el-table :data="tableData" style="width: 100%; margin-top: 20px" @selection-change="handleSelectionChange">
+ <el-table :data="tableData" style="width: 100%; margin-top: 20px" ref="clearAll" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" v-if="types==0"/>
<el-table-column align="center" v-if="types!=0">
<template #default="scope">
@@ -164,7 +164,7 @@
};
const handleSelectionChange = (val:any) => {
dynamicTags.value=val
-}
+ }
const types=ref()
// 开启弹窗
const dialogVisible = ref(false);
@@ -189,8 +189,17 @@
}
dialogVisible.value = false;
+ clear()
};
+ const clearAll=ref()
+ const clear=()=>{
+ dynamicTags.value=[]
+ radio1.value=""
+ clearAll.value.clearSelection()
+ }
return {
+ clear,
+ clearAll,
total,
types,
filterText,
diff --git a/src/components/checkTemplate/index.vue b/src/components/checkTemplate/index.vue
index 24f6c25..7dcd7eb 100644
--- a/src/components/checkTemplate/index.vue
+++ b/src/components/checkTemplate/index.vue
@@ -1,250 +1,230 @@
<template>
- <el-dialog v-model="dialogVisible" title="选择检查模板" width="900px" draggable :fullscreen="full">
- <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
- <el-row>
- <el-col :span="18">
- <el-row>
- <el-col :span="24">
- <el-form ref="ruleFormRef" :inline="true" status-icon>
- <el-form-item>
- <el-input size="default" v-model="listQuery.searchParams.id" placeholder="id" style="max-width: 215px;"/>
- </el-form-item>
- <el-form-item>
- <el-input size="default" v-model="listQuery.searchParams.teamName" placeholder="队伍名称" style="max-width: 215px;padding: 0 12px;"/>
- </el-form-item>
- <el-form-item>
- <el-button size="default" type="primary" @click="onSubmit">查询</el-button>
- <el-button size="default" @click="submitReset">重置</el-button>
- </el-form-item>
- </el-form>
- </el-col>
- <el-col :span="24">
- <el-button size="default" :icon="Delete" style="margin-top: 15px;" @click="submitReset">清除选择</el-button>
- </el-col>
- </el-row>
- <el-table
- :data="tableData"
- ref="multipleTableRef"
- style="width: 100%;margin-top:20px"
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="55" v-if="types==0">
- <template #default="scope" v-if="types!=0">
- <el-radio-group v-model="radio1">
- <el-radio :label="scope.row.id" @click="radio(scope.row)" size="large">{{ null }}</el-radio>
- </el-radio-group>
- </template>
- </el-table-column>
- <el-table-column align="center" prop="id" label="id" />
- <el-table-column align="center" prop="teamName" label="队伍名称"/>
- </el-table>
- <div class="pages">
- <el-pagination
- v-model:currentPage="pageIndex"
- v-model:page-size="pageSize"
- :page-sizes="[10, 20, 30, 40]"
- layout="total, sizes, prev, pager, next, jumper"
- :total="total"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- />
- </div>
- </el-col>
- <el-col :span="6" style="padding-left: 15px">
- <div v-if="dynamicTags[0] == '' ? false : true">
- <el-tag
- v-for="tag in dynamicTags"
- :key="tag"
- class="mx-1"
- style="margin: 5px"
- closable
- :disable-transitions="false"
- @close="handleClose(tag)"
- >
- {{ tag.teamName }}
- </el-tag>
- </div>
- </el-col>
- </el-row>
- <template #footer>
+ <el-dialog v-model="dialogVisible" title="选择应急队伍" width="900px" draggable :fullscreen="full">
+ <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
+ <el-row>
+ <el-col :span="18">
+ <el-row>
+ <el-col :span="24">
+ <el-form ref="ruleFormRef" :inline="true" status-icon>
+ <el-form-item>
+ <el-input size="default" v-model="listQuery.searchParams.teamName" placeholder="队伍名称" style="max-width: 215px; padding: 0 12px" />
+ </el-form-item>
+ <el-form-item>
+ <el-button size="default" type="primary" @click="onSubmit">查询</el-button>
+ <el-button size="default" @click="submitReset">重置</el-button>
+ </el-form-item>
+ </el-form>
+ </el-col>
+ <el-col :span="24">
+ <el-button size="default" :icon="Delete" style="margin-top: 15px" @click="submitReset">清除选择</el-button>
+ </el-col>
+ </el-row>
+ <el-table :data="tableData" ref="multipleTableRef" style="width: 100%; margin-top: 20px" @selection-change="handleSelectionChange">
+ <el-table-column type="selection" width="55" v-if="types == 0">
+ <template #default="scope" v-if="types != 0">
+ <el-radio-group v-model="radio1">
+ <el-radio :label="scope.row.id" @click="radio(scope.row)" size="large">{{ null }}</el-radio>
+ </el-radio-group>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" prop="id" label="id" />
+ <el-table-column align="center" prop="teamName" label="队伍名称" />
+ </el-table>
+ <div class="pages">
+ <el-pagination
+ v-model:currentPage="pageIndex"
+ v-model:page-size="pageSize"
+ :page-sizes="[10, 20, 30, 40]"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </el-col>
+ <el-col :span="6" style="padding-left: 15px">
+ <div v-if="dynamicTags[0] == '' ? false : true">
+ <el-tag
+ v-for="tag in dynamicTags"
+ :key="tag"
+ class="mx-1"
+ style="margin: 5px"
+ closable
+ :disable-transitions="false"
+ @close="handleClose(tag)"
+ >
+ {{ tag.teamName }}
+ </el-tag>
+ </div>
+ </el-col>
+ </el-row>
+ <template #footer>
<span class="dialog-footer">
<el-button @click="dialogVisible = false" size="default">关闭</el-button>
<el-button type="primary" @click="submitForm" size="default">确定</el-button>
</span>
- </template>
- </el-dialog>
+ </template>
+ </el-dialog>
</template>
<script lang="ts">
-import {
- defineComponent,
- reactive,
- ref,
- onMounted,
-} from 'vue';
-import {
- Delete,
- FullScreen
-} from '@element-plus/icons-vue';
-import {
- ElMessage,
-} from 'element-plus';
-import {contingencyApi} from "/@/api/contingencyManagement/contingency";
+import { defineComponent, reactive, ref, onMounted } from 'vue';
+import { Delete, FullScreen } from '@element-plus/icons-vue';
+import { ElMessage } from 'element-plus';
+import { contingencyApi } from '/@/api/contingencyManagement/contingency';
export default defineComponent({
- setup(props, { emit }) {
- const types=ref()
- const dialogVisible = ref<boolean>(false);
- const openDailog = (type:any) => {
- types.value=type
- dialogVisible.value = true;
- // onSubmit();
- };
- // 搜索条件
- const listQuery = reactive({
- pageIndex: 1,
- pageSize: 10,
- searchParams: {
- teamName: "",
- id: "",
- }
- });
- // 列表数据请求
- const onSubmit = async () => {
- let res = await contingencyApi().getTeamManagementList(listQuery)
- if(res.data.code === '200'){
- tableData.value = res.data.data;
- pageIndex.value = res.data.pageIndex;
- pageSize.value = res.data.pageSize;
- total.value = res.data.total;
- }else{
- ElMessage({
- showClose: true,
- type:'error',
- message:res.data.msg
- })
- }
- }
- const submitForm = () => {
- if(types.value==0){
- emit('SearchUser',dynamicTags.value,types.value);
- }
- else {
- emit('SearchUser',dynamicTags.value[0],types.value);
- }
- dialogVisible.value = false;
- };
- const handleSelectionChange = (val:any) => {
- dynamicTags.value=val
- }
- // 重置
- const submitReset = () => {
- listQuery.searchParams.teamName = '';
- listQuery.searchParams.id = '';
- radio1.value=""
- dynamicTags.value[0]=""
- onSubmit();
- };
- // 表格
- const tableData = ref();
- // 分页
- const pageIndex = ref();
- const pageSize = ref();
- const total = ref();
- const handleSizeChange = (val: number) => {
- listQuery.pageSize = val;
- onSubmit();
- };
- const handleCurrentChange = (val: number) => {
- listQuery.pageIndex = val;
- onSubmit();
- }
- // 右方点击添加后显示标签
- const dynamicTags = ref(['']);
- const handleClose = (tag: string) => {
- dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
- radio1.value = '';
- };
- const radio1 = ref('');
- const radio = (event: any) => {
- console.log(event)
- dynamicTags.value[0] = event;
- };
- onMounted(() => {
- onSubmit();
- });
- //全屏
- const full = ref(false);
- const toggleFullscreen = () => {
- if (full.value == false) {
- full.value = true;
- } else {
- full.value = false;
- }
- };
- return {
- dialogVisible,
- openDailog,
- tableData,
- pageSize,
- pageIndex,
- handleSizeChange,
- handleCurrentChange,
- dynamicTags,
- handleClose,
- Delete,
- toggleFullscreen,
- FullScreen,
- full,
- onSubmit,
- listQuery,
- submitReset,
- total,
- radio,
- radio1,
- submitForm,
- types,
- handleSelectionChange,
- };
- },
+ setup(props, { emit }) {
+ const types = ref();
+ const dialogVisible = ref<boolean>(false);
+ const openDailog = (type: any) => {
+ types.value = type;
+ dialogVisible.value = true;
+ // onSubmit();
+ };
+ // 搜索条件
+ const listQuery = reactive({
+ pageIndex: 1,
+ pageSize: 10,
+ searchParams: {
+ teamName: '',
+ },
+ });
+ // 列表数据请求
+ const onSubmit = async () => {
+ let res = await contingencyApi().getTeamManagementList(listQuery);
+ if (res.data.code === '200') {
+ tableData.value = res.data.data;
+ pageIndex.value = res.data.pageIndex;
+ pageSize.value = res.data.pageSize;
+ total.value = res.data.total;
+ } else {
+ ElMessage({
+ showClose: true,
+ type: 'error',
+ message: res.data.msg,
+ });
+ }
+ };
+ const submitForm = () => {
+ if (types.value == 0) {
+ emit('SearchUser', dynamicTags.value, types.value);
+ } else {
+ emit('SearchUser', dynamicTags.value[0], types.value);
+ }
+ dialogVisible.value = false;
+ };
+ const handleSelectionChange = (val: any) => {
+ dynamicTags.value = val;
+ };
+ // 重置
+ const submitReset = () => {
+ listQuery.searchParams.teamName = '';
+ listQuery.searchParams.id = '';
+ radio1.value = '';
+ dynamicTags.value[0] = '';
+ onSubmit();
+ };
+ // 表格
+ const tableData = ref();
+ // 分页
+ const pageIndex = ref();
+ const pageSize = ref();
+ const total = ref();
+ const handleSizeChange = (val: number) => {
+ listQuery.pageSize = val;
+ onSubmit();
+ };
+ const handleCurrentChange = (val: number) => {
+ listQuery.pageIndex = val;
+ onSubmit();
+ };
+ // 右方点击添加后显示标签
+ const dynamicTags = ref(['']);
+ const handleClose = (tag: string) => {
+ dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ radio1.value = '';
+ };
+ const radio1 = ref('');
+ const radio = (event: any) => {
+ console.log(event);
+ dynamicTags.value[0] = event;
+ };
+ onMounted(() => {
+ onSubmit();
+ });
+ //全屏
+ const full = ref(false);
+ const toggleFullscreen = () => {
+ if (full.value == false) {
+ full.value = true;
+ } else {
+ full.value = false;
+ }
+ };
+ return {
+ dialogVisible,
+ openDailog,
+ tableData,
+ pageSize,
+ pageIndex,
+ handleSizeChange,
+ handleCurrentChange,
+ dynamicTags,
+ handleClose,
+ Delete,
+ toggleFullscreen,
+ FullScreen,
+ full,
+ onSubmit,
+ listQuery,
+ submitReset,
+ total,
+ radio,
+ radio1,
+ submitForm,
+ types,
+ handleSelectionChange,
+ };
+ },
});
</script>
<style scoped>
-.el-form--inline .el-form-item{
- margin-bottom: 0;
- margin-right: 0;
+.el-form--inline .el-form-item {
+ margin-bottom: 0;
+ margin-right: 0;
}
/*分页*/
- .pages{
- /*display: flex;*/
- /*justify-content: flex-end;*/
- margin-top: 15px;
- }
+.pages {
+ /*display: flex;*/
+ /*justify-content: flex-end;*/
+ margin-top: 15px;
+}
::v-deep .el-pagination .el-pager li {
- margin: 0 5px;
- background-color: #f4f4f5;
- color: #606266;
- min-width: 30px;
- border-radius: 2px;
+ margin: 0 5px;
+ background-color: #f4f4f5;
+ color: #606266;
+ min-width: 30px;
+ border-radius: 2px;
}
::v-deep .el-pagination .el-pager li.is-active {
- background-color: #409eff;
- color: #fff;
+ background-color: #409eff;
+ color: #fff;
}
::v-deep .el-pagination .btn-prev {
- margin: 0 5px;
- background-color: #f4f4f5;
- color: #606266;
- min-width: 30px;
- border-radius: 2px;
+ margin: 0 5px;
+ background-color: #f4f4f5;
+ color: #606266;
+ min-width: 30px;
+ border-radius: 2px;
}
-::v-deep .el-pagination button:disabled{
- color: #c0c4cc;
+::v-deep .el-pagination button:disabled {
+ color: #c0c4cc;
}
-::v-deep .el-pagination .btn-next{
- margin: 0 5px;
- background-color: #f4f4f5;
- color: #606266;
- min-width: 30px;
- border-radius: 2px;
+::v-deep .el-pagination .btn-next {
+ margin: 0 5px;
+ background-color: #f4f4f5;
+ color: #606266;
+ min-width: 30px;
+ border-radius: 2px;
}
</style>
diff --git a/src/components/equipmentDailog/Dailog.vue b/src/components/equipmentDailog/Dailog.vue
index f56333f..c75400c 100644
--- a/src/components/equipmentDailog/Dailog.vue
+++ b/src/components/equipmentDailog/Dailog.vue
@@ -6,7 +6,7 @@
<el-input v-model="form.qName" placeholder="请填写装置设施名称" />
</el-form-item>
<el-form-item label="装置设施位号" size="default" prop="positionNum">
- <el-input v-model="form.positionNum" placeholder="请填写装置设施位号" />
+ <el-input disabled v-model="form.positionNum" placeholder="请填写装置设施位号" />
</el-form-item>
<el-form-item label="装置设施用途" size="default" prop="qUsage">
<el-input v-model="form.qUsage" placeholder="请填写装置设施用途" />
@@ -14,20 +14,20 @@
<el-form-item label="装置设施型号" size="default" prop="model">
<el-input v-model="form.model" placeholder="请填写装置设施型号" />
</el-form-item>
- <el-form-item label="类型/类别外键" size="default" prop="equipmentTypeId">
- <el-input v-model="form.equipmentTypeId" placeholder="请选择">
+ <el-form-item label="类型/类别外键" size="default" prop="equipmentTypeName">
+ <el-input v-model="form.equipmentTypeName" placeholder="请选择">
<template #append>
<el-button :icon="Search" @click="opencategory"></el-button>
</template>
</el-input>
</el-form-item>
<!-- <el-form-item label="区域名称" size="default">
- <el-input v-model="form.name" placeholder="请选择">
- <template #append>
- <el-button :icon="Search" @click="openRegion"></el-button>
- </template>
- </el-input>
- </el-form-item> -->
+ <el-input v-model="form.name" placeholder="请选择">
+ <template #append>
+ <el-button :icon="Search" @click="openRegion"></el-button>
+ </template>
+ </el-input>
+ </el-form-item> -->
<el-form-item label="单位部门" size="default" prop="departmentId">
<el-tree-select v-model="form.departmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" />
</el-form-item>
@@ -35,7 +35,7 @@
<el-input v-model="form.setPart" placeholder="请填写设置部位" />
</el-form-item>
<el-form-item label="生产日期" size="default" prop="produceTime">
- <el-date-picker v-model="form.produceTime" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ <el-date-picker v-model="form.produceTime" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
</el-form-item>
<el-form-item label="使用期限(天)" size="default" prop="useEndDay">
<el-input v-model="form.useEndDay" placeholder="请填写使用期限" />
@@ -44,11 +44,11 @@
<el-select v-model="form.lifeCycle" placeholder="请选择" style="width: 100%">
<el-option label="已投用" :value="1" />
<el-option label="库存中" :value="2" />
- <el-option label="报废" :value="3" />
+ <el-option label="报废" :value="3" />
</el-select>
</el-form-item>
<el-form-item label="投用日期" size="default" prop="useDate">
- <el-date-picker v-model="form.useDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ <el-date-picker v-model="form.useDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
</el-form-item>
<el-form-item label="维修状态" size="default" prop="repairStatus">
<el-select v-model="form.repairStatus" placeholder="请选择" style="width: 100%">
@@ -68,31 +68,33 @@
<el-date-picker
v-model="form.previousCheckDate"
format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
type="datetime"
placeholder="选择日期时间"
style="width: 100%"
/>
</el-form-item>
<el-form-item label="上次检测日期" size="default" prop="previousTestDate">
- <el-date-picker v-model="form.previousTestDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ <el-date-picker v-model="form.previousTestDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
</el-form-item>
<el-form-item label="上次保养日期" size="default" prop="previousTakecareDate">
<el-date-picker
v-model="form.previousTakecareDate"
format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
type="datetime"
placeholder="选择日期时间"
style="width: 100%"
/>
</el-form-item>
<el-form-item label="下次检查日期" size="default" prop="nextCheckDate">
- <el-date-picker v-model="form.nextCheckDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ <el-date-picker v-model="form.nextCheckDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
</el-form-item>
<el-form-item label="下次检测日期" size="default" prop="nextTestDate">
- <el-date-picker v-model="form.nextTestDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ <el-date-picker v-model="form.nextTestDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
</el-form-item>
<el-form-item label="下次保养日期" size="default" prop="nextTakecareDate">
- <el-date-picker v-model="form.nextTakecareDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ <el-date-picker v-model="form.nextTakecareDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
</el-form-item>
<el-form-item label="负责人" size="default" prop="leadingPersonName">
<el-input v-model="form.leadingPersonName" placeholder="请选择">
@@ -169,7 +171,7 @@
<el-input v-model="form.afterStopStep" placeholder="请填写停用后措施" />
</el-form-item>
<el-form-item label="实际停用日期" size="default" prop="actualStopDate">
- <el-date-picker v-model="form.actualStopDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ <el-date-picker v-model="form.actualStopDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
</el-form-item>
<el-form-item label="停用提交人" size="default" prop="stopSubmitPersonName">
<el-input v-model="form.stopSubmitPersonName" placeholder="请选择">
@@ -179,7 +181,7 @@
</el-input>
</el-form-item>
<el-form-item label="停用提交日期" size="default" prop="stopSubmitDate">
- <el-date-picker v-model="form.stopSubmitDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ <el-date-picker v-model="form.stopSubmitDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
</el-form-item>
<el-form-item label="恢复理由" size="default" prop="recoveryReason">
<el-input v-model="form.recoveryReason" placeholder="请填写恢复理由" />
@@ -188,6 +190,7 @@
<el-date-picker
v-model="form.recoverySubmitDate"
format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
type="datetime"
placeholder="选择日期时间"
style="width: 100%"
@@ -197,6 +200,7 @@
<el-date-picker
v-model="form.actualRecoveryDate"
format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
type="datetime"
placeholder="选择日期时间"
style="width: 100%"
@@ -209,6 +213,7 @@
<el-date-picker
v-model="form.destorySubmitDate"
format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
type="datetime"
placeholder="选择日期时间"
style="width: 100%"
@@ -218,6 +223,7 @@
<el-date-picker
v-model="form.actualDestoryDate"
format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
type="datetime"
placeholder="选择日期时间"
style="width: 100%"
@@ -231,7 +237,7 @@
<el-table-column align="center" prop="takecareMemo" label="保养情况" />
<el-table-column align="center" prop="leadingPersonName" label="保养负责人" />
<el-table-column align="center" prop="takecareDate" :formatter="timeDate" label="保养日期" />
- <el-table-column align="center" prop="leadingPersonDepartmentId" label="保养负责人单位" />
+ <el-table-column align="center" prop="leadingPersonDepartmentName" label="保养负责人单位" />
<el-table-column align="center" label="操作">
<template #default="scope">
<el-button link type="primary" @click="openMaintenance('查看', scope.row)" size="small">查看</el-button>
@@ -244,11 +250,16 @@
<el-tab-pane label="设备检测" name="second">
<el-button type="primary" size="default" :disabled="disabled" @click="openDetect('新增', '')">新增</el-button>
<el-table :data="form.testDetailList" style="width: 100%">
- <el-table-column align="center" prop="testPersonId" label="检测人" />
+ <el-table-column align="center" prop="testPersonName" label="检测人" />
<el-table-column align="center" prop="testDate" :formatter="timeDate" label="检测日期" />
- <el-table-column align="center" prop="testPersonDepartmentId" label="检测人单位" />
+ <el-table-column align="center" prop="testPersonDepartmentName" label="检测人单位" />
<el-table-column align="center" prop="testMemo" label="检测内容" />
- <el-table-column align="center" prop="testResult" label="检测结果" />
+ <el-table-column align="center" label="检测结果" >
+ <template #default="scope">
+ <span v-if="scope.row.testResult==1">成功</span>
+ <span v-if="scope.row.testResult==2">失败</span>
+ </template>
+ </el-table-column>
<el-table-column align="center" prop="testStatus" label="检测状态" />
<el-table-column align="center" label="操作">
<template #default="scope">
@@ -263,10 +274,15 @@
<el-button type="primary" size="default" :disabled="disabled" @click="openRepair('新增', '')">新增</el-button>
<el-table :data="form.repaireDetailList" style="width: 100%">
<el-table-column align="center" prop="exceptionInfo" label="设施异常项" />
- <el-table-column align="center" prop="repairStatus" label="维修状态" />
+ <el-table-column align="center" label="维修状态">
+ <template #default="scope">
+ <span v-if="scope.row.repairStatus==1">维修中</span>
+ <span v-if="scope.row.repairStatus==2">已修好</span>
+ </template>
+ </el-table-column>
<el-table-column align="center" prop="repairMemo" label="维修情况" />
- <el-table-column align="center" prop="repairPersonId" label="维修负责人" />
- <el-table-column align="center" prop="repairPersonDepartmentId" label="维修负责人单位" />
+ <el-table-column align="center" prop="repairPersonName" label="维修负责人" />
+ <el-table-column align="center" prop="repairPersonDepartmentName" label="维修负责人单位" />
<el-table-column align="center" prop="repairStartDate" :formatter="timeDate" label="维修开始日期" />
<el-table-column align="center" prop="repairEndDate" :formatter="timeDate" label="维修结束日期" />
<el-table-column align="center" label="操作">
@@ -334,6 +350,7 @@
</template>
</el-dialog>
<categoryDailog ref="categoryShow"></categoryDailog>
+ <categoryDailog ref="categoryShow" @typeId="Tid"></categoryDailog>
<regionDailog ref="regionShow"></regionDailog>
<DailogSearchUser ref="UserShow" @SearchUser="userId"></DailogSearchUser>
<maintenanceDailog ref="maintenanceShow" @onMain="main"></maintenanceDailog>
@@ -356,6 +373,7 @@
import type { UploadProps, UploadUserFile } from 'element-plus';
import { facilityManagementApi } from '/@/api/facilityManagement';
import { goalManagementApi } from '/@/api/goalManagement';
+import { deepClone } from '/@/utils/other';
export default defineComponent({
components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },
setup(props, { emit }) {
@@ -459,7 +477,7 @@
repaireDetailList: [],
- equipmentTypeId: 1,
+ equipmentTypeId: '',
useDate: '',
@@ -484,10 +502,12 @@
delTestDetails: '',
});
const titles = ref();
+ const titleT = ref();
const disabled = ref(false);
const Dailogtype = ref(false);
const openDailog = (title: string, type: boolean, id: number, num: any) => {
dialogVisible.value = true;
+ titleT.value = title;
department();
Dailogtype.value = type;
if (num == 0) {
@@ -519,6 +539,7 @@
qUsage: [],
model: [],
equipmentTypeId: [],
+ equipmentTypeName: [{ required: true, message: '类型/类别外键不能为空', trigger: 'change' }],
departmentId: [],
setPart: [],
produceTime: [],
@@ -571,6 +592,13 @@
form.value.delRepaireDetails = deleteCId.value.toString();
form.value.delCheckStandardeDetails = deleteDId.value.toString();
dialogVisible.value = false;
+ delete form.value.equipmentTypeName;
+ delete form.value.departmentName;
+ delete form.value.leadingPersonDepartmentName;
+ delete form.value.leadingDepartmentName;
+ if (titleT.value == '新建') {
+ delete form.value.id;
+ }
facilityManagementApi()
.getequipmentInfoAddOrUpdate(form.value)
.then((res) => {
@@ -618,7 +646,7 @@
};
const maintenanceShow = ref();
const openMaintenance = (title: string, data: any) => {
- index.value = form.value.takecareDetailList.indexOf(data);
+ index.value = form.value.takecareDetailList.indexOf(data);
maintenanceShow.value.openDailog(title, data);
};
const detectShow = ref();
@@ -688,28 +716,32 @@
deleteDId.value.push(tag.id);
};
// 回传
- const main = (val: any) => {
+ const main = (data: any) => {
+ const val = deepClone(data);
if (index.value == -1) {
form.value.takecareDetailList.push(val);
} else {
form.value.takecareDetailList[index.value] = val;
}
};
- const delect = (val: any) => {
+ const delect = (data: any) => {
+ const val = deepClone(data);
if (index.value == -1) {
form.value.testDetailList.push(val);
- } else {
+ } else {
form.value.testDetailList[index.value] = val;
}
};
- const Repair = (val: any) => {
+ const Repair = (data: any) => {
+ const val = deepClone(data);
if (index.value == -1) {
form.value.repaireDetailList.push(val);
} else {
form.value.repaireDetailList[index.value] = val;
}
};
- const Stand = (val: any) => {
+ const Stand = (data: any) => {
+ const val = deepClone(data);
if (index.value == -1) {
form.value.checkStandardeDetailList.push(val);
} else {
@@ -725,6 +757,11 @@
form.value.stopSubmitPersonId = val.uid;
form.value.stopSubmitPersonName = val.realName;
}
+ };
+ const Tid = (data: any) => {
+ form.value.equipmentTypeId = data.id;
+ form.value.equipmentTypeName = data.typeName;
+ form.value.positionNum = data.sortNum;
};
//全屏
const full = ref(false);
@@ -754,6 +791,8 @@
};
const data = ref();
return {
+ Tid,
+ deepClone,
rules,
userId,
department,
@@ -827,4 +866,4 @@
.el-form .el-form-item:last-of-type {
margin-bottom: 22px !important;
}
-</style>
\ No newline at end of file
+</style>
diff --git a/src/components/equipmentDailog/DailogS.vue b/src/components/equipmentDailog/DailogS.vue
index 749925a..01fcf6e 100644
--- a/src/components/equipmentDailog/DailogS.vue
+++ b/src/components/equipmentDailog/DailogS.vue
@@ -1,11 +1,11 @@
<template>
- <el-dialog :fullscreen="full" v-model="dialogVisible" draggable :title="titles" width="60%">
+ <el-dialog :fullscreen="full" v-model="dialogVisible" draggable :title="titles" width="60%" @close="resetForm(ruleFormRef)" >
<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
- <el-form :model="form" label-width="130px" :disabled="disabled">
+ <el-form :model="form" ref="ruleFormRef" label-width="130px" :rules="rules" :disabled="disabled">
<el-row>
<el-col :span="11">
- <el-form-item label="类型/类别外键" size="default">
- <el-input v-model="form.equipmentTypeId" placeholder="请选择">
+ <el-form-item label="类型/类别外键" size="default" prop="equipmentTypeId">
+ <el-input v-model="form.equipmentTypeName" placeholder="请选择">
<template #append>
<el-button :icon="Search" @click="opencategory"></el-button>
</template>
@@ -14,7 +14,7 @@
</el-col>
<el-col :span="11" :offset="2">
<el-form-item label="装置/部位名称" size="default">
- <el-input v-model="form.name" placeholder="请选择" />
+ <el-input v-model="form.name" placeholder="请填写装置/部位名称" />
</el-form-item>
</el-col>
</el-row>
@@ -39,10 +39,10 @@
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
- <el-form-item label="联系人" size="default">
+ <el-form-item label="联系人" size="default" prop="connectPersonName">
<el-input v-model="form.connectPersonName" placeholder="请选择">
<template #append>
- <el-button :icon="Search" @click="openUser(0)"></el-button>
+ <el-button :icon="Search" @click="openUser(1)"></el-button>
</template>
</el-input>
</el-form-item>
@@ -50,19 +50,19 @@
</el-row>
<el-row>
<el-col :span="11">
- <el-form-item label="录入人" size="default">
+ <el-form-item label="录入人" size="default" prop="inputPersonName">
<el-input v-model="form.inputPersonName" placeholder="请选择">
<template #append>
- <el-button :icon="Search" @click="openUser(1)"></el-button>
+ <el-button :icon="Search" @click="openUser(2)"></el-button>
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
- <el-form-item label="责任人" size="default">
+ <el-form-item label="责任人" size="default" prop="responsibilityPersonName">
<el-input v-model="form.responsibilityPersonName" placeholder="请选择">
<template #append>
- <el-button :icon="Search" @click="openUser(2)"></el-button>
+ <el-button :icon="Search" @click="openUser(3)"></el-button>
</template>
</el-input>
</el-form-item>
@@ -72,21 +72,21 @@
<el-col :span="11">
<el-form-item label="装置部位分类" size="default">
<el-select v-model="form.partType" placeholder="请选择" style="width: 100%">
- <el-option label="关键装置" value="关键装置" />
- <el-option label="重点部位" value="重点部位" />
+ <el-option label="关键装置" value="1" />
+ <el-option label="重点部位" value="2" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
<el-form-item label="检查周期" size="default">
- <el-input v-model="form.checkCycle" placeholder="请选择检查周期" />
+ <el-input v-model="form.checkCycle" placeholder="请填写检查周期" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label="相关应急预案" size="default">
- <el-input v-model="form.emergencePlanId" placeholder="请选择">
+ <el-input v-model="form.emergencePlanName" placeholder="请选择">
<template #append>
<el-button :icon="Search" @click="openPlan"></el-button>
</template>
@@ -95,21 +95,20 @@
</el-col>
<el-col :span="11" :offset="2">
<el-form-item label="主要危险有害因素" size="default">
- <el-input v-model="form.dangerousElement" placeholder="请选择" />
+ <el-input v-model="form.dangerousElement" placeholder="请填写主要危险有害因素" />
</el-form-item>
</el-col>
</el-row>
-
<el-row>
<el-col :span="11">
<el-form-item label="易导致风险" size="default">
- <el-input v-model="form.toDangerous" placeholder="请选择易导致风险" />
+ <el-input v-model="form.toDangerous" placeholder="请填写易导致风险" />
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
<el-form-item label="应急处置措施" size="default">
- <el-input v-model="form.treatment" placeholder="请选择应急处置措施" />
+ <el-input v-model="form.treatment" placeholder="请填写应急处置措施" />
</el-form-item>
</el-col>
</el-row>
@@ -133,68 +132,78 @@
</el-row>
<el-row>
<el-col :span="11">
- <el-form-item label="备注信息" size="default"> <el-input v-model="form.name" placeholder="请选择应急处置措施" /> </el-form-item>
+ <el-form-item label="备注信息" size="default"> <el-input v-model="form.memo" placeholder="请填写备注信息" /> </el-form-item>
</el-col>
</el-row>
</el-form>
<el-tabs v-model="activeName" class="demo-tabs">
<el-tab-pane label="设备保养" name="first">
- <el-button type="primary" size="default" @click="openMaintenance('新增', '')">新增</el-button>
+ <el-button type="primary" size="default" @click="openMaintenance('新增', '')" :disabled="disabled">新增</el-button>
<el-table :data="form.takecareDetailList" style="width: 100%">
<el-table-column align="center" prop="takecareMemo" label="保养情况" />
- <el-table-column align="center" prop="leadingPersonId" label="保养负责人" />
+ <el-table-column align="center" prop="leadingPersonName" label="保养负责人" />
<el-table-column align="center" prop="takecareDate" :formatter="timeDate" label="保养日期" />
- <el-table-column align="center" prop="leadingPersonDepartmentId" label="保养负责人单位" />
+ <el-table-column align="center" prop="leadingPersonDepartmentName" label="保养负责人单位" />
<el-table-column align="center" label="操作">
<template #default="scope">
- <el-button link type="primary" @click="openMaintenance('查看', scope.row)" size="small">查看</el-button>
- <el-button link type="primary" @click="openMaintenance('修改', scope.row)" size="small">修改</el-button>
- <el-button link type="primary" @click="deleteA(scope.row)" size="small">删除</el-button>
+ <el-button link type="primary" @click="openMaintenance('查看', scope.row)" size="small" :disabled="disabled">查看</el-button>
+ <el-button link type="primary" @click="openMaintenance('修改', scope.row)" size="small" :disabled="disabled">修改</el-button>
+ <el-button link type="primary" @click="deleteA(scope.row)" size="small" :disabled="disabled">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="设备检测" name="second">
- <el-button type="primary" size="default" @click="openDetect('新增', '')">新增</el-button>
- <el-table :data="form.testDetailList" style="width: 100%">
- <el-table-column align="center" prop="testPersonId" label="检测人" />
+ <el-button type="primary" size="default" @click="openDetect('新增', '')" :disabled="disabled">新增</el-button>
+ <el-table :data="form.checkDetailList" style="width: 100%">
+ <el-table-column align="center" prop="testPersonName" label="检测人" />
<el-table-column align="center" prop="testDate" :formatter="timeDate" label="检测日期" />
- <el-table-column align="center" prop="testPersonDepartmentId" label="检测人单位" />
+ <el-table-column align="center" prop="testPersonDepartmentName" label="检测人单位" />
<el-table-column align="center" prop="testMemo" label="检测内容" />
- <el-table-column align="center" prop="testResult" label="检测结果" />
+ <el-table-column align="center" prop="testResult" label="检测结果" >
+ <template #default="scope">
+ <span v-if="scope.row.testResult == 1">成功</span>
+ <span v-if="scope.row.testResult == 2">失败</span>
+ </template>
+ </el-table-column>
<el-table-column align="center" prop="testStatus" label="检测状态" />
<el-table-column align="center" label="操作">
<template #default="scope">
- <el-button link type="primary" @click="openDetect('查看', scope.row)" size="small">查看</el-button>
- <el-button link type="primary" @click="openDetect('修改', scope.row)" size="small">修改</el-button>
- <el-button link type="primary" @click="deleteB(scope.row)" size="small">删除</el-button>
+ <el-button link type="primary" @click="openDetect('查看', scope.row)" size="small" :disabled="disabled">查看</el-button>
+ <el-button link type="primary" @click="openDetect('修改', scope.row)" size="small" :disabled="disabled">修改</el-button>
+ <el-button link type="primary" @click="deleteB(scope.row)" size="small" :disabled="disabled">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="设备维修" name="third">
- <el-button type="primary" size="default" @click="openRepair('新增', '')">新增</el-button>
+ <el-button type="primary" size="default" @click="openRepair('新增', '')" :disabled="disabled">新增</el-button>
<el-table :data="form.repaireDetailList" style="width: 100%">
<el-table-column align="center" prop="exceptionInfo" label="设施异常项" />
- <el-table-column align="center" prop="repairStatus" label="维修状态" />
+ <el-table-column align="center" prop="repairStatus" label="维修状态" >
+ <template #default="scope">
+ <span v-if="scope.row.repairStatus == 1">维修中</span>
+ <span v-if="scope.row.repairStatus == 2">已维修</span>
+ </template>
+ </el-table-column>
<el-table-column align="center" prop="repairMemo" label="维修情况" />
- <el-table-column align="center" prop="repairPersonId" label="维修负责人" />
- <el-table-column align="center" prop="repairPersonDepartmentId" label="维修负责人单位" />
+ <el-table-column align="center" prop="repairPersonName" label="维修负责人" />
+ <el-table-column align="center" prop="repairPersonDepartmentName" label="维修负责人单位" />
<el-table-column align="center" prop="repairStartDate" :formatter="timeDate" label="维修开始日期" />
<el-table-column align="center" prop="repairEndDate" :formatter="timeDate" label="维修结束日期" />
<el-table-column align="center" label="操作">
<template #default="scope">
- <el-button link type="primary" @click="openRepair('查看', scope.row)" size="small">查看</el-button>
- <el-button link type="primary" @click="openRepair('修改', scope.row)" size="small">修改</el-button>
- <el-button link type="primary" @click="deleteC(scope.row)" size="small">删除</el-button>
+ <el-button link type="primary" @click="openRepair('查看', scope.row)" size="small" :disabled="disabled">查看</el-button>
+ <el-button link type="primary" @click="openRepair('修改', scope.row)" size="small" :disabled="disabled">修改</el-button>
+ <el-button link type="primary" @click="deleteC(scope.row)" size="small" :disabled="disabled">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="检查标准设置" name="fourth">
- <el-button type="primary" size="default" @click="openStandard('新增', '')">新增</el-button>
+ <el-button type="primary" size="default" @click="openStandard('新增', '')" :disabled="disabled">新增</el-button>
<el-table :data="form.checkStandardeDetailList" style="width: 100%">
- <el-table-column align="center" type="indexNum" label="序号" width="75" />
+ <el-table-column align="center" prop="indexNum" label="序号" width="75" />
<el-table-column align="center" prop="checkContent" label="检查内容" />
<el-table-column align="center" prop="checkTarget" label="检查指标" />
<el-table-column align="center" prop="unit" label="单位" />
@@ -202,9 +211,9 @@
<el-table-column align="center" prop="rate" label="频次" />
<el-table-column align="center" label="操作">
<template #default="scope">
- <el-button link type="primary" @click="openStandard('查看', scope.row)" size="small">查看</el-button>
- <el-button link type="primary" @click="openStandard('修改', scope.row)" size="small">修改</el-button>
- <el-button link type="primary" @click="deleteD(scope.row)" size="small">删除</el-button>
+ <el-button link type="primary" @click="openStandard('查看', scope.row)" size="small" :disabled="disabled">查看</el-button>
+ <el-button link type="primary" @click="openStandard('修改', scope.row)" size="small" :disabled="disabled">修改</el-button>
+ <el-button link type="primary" @click="deleteD(scope.row)" size="small" :disabled="disabled">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -241,23 +250,21 @@
</el-tabs>
<template #footer>
<span class="dialog-footer">
- <el-button @click="resetForm">关闭</el-button>
- <el-button type="primary" @click="submitForm">确定</el-button>
+ <el-button @click="resetForm(ruleFormRef)">关闭</el-button>
+ <el-button type="primary" @click="submitForm(ruleFormRef)">确定</el-button>
</span>
</template>
</el-dialog>
- <categoryDailog ref="categoryShow"></categoryDailog>
+ <categoryDailog ref="categoryShow" @typeId="Tid"></categoryDailog>
<RegionsDialog ref="planShow" @SearchUser="onUser"></RegionsDialog>
- <DailogSearchUser ref="UserOneShow" @SearchUser="userId"></DailogSearchUser>
-<!-- <DailogSearchUser ref="UserTwoShow" @SearchUser="userId"></DailogSearchUser>-->
-<!-- <DailogSearchUser ref="UserThreeShow" @SearchUser="userId"></DailogSearchUser>-->
+ <DailogSearchUser ref="UserShow" @SearchUser="userId"></DailogSearchUser>
<maintenanceDailog ref="maintenanceShow" @onMain="main"></maintenanceDailog>
<detectDailog ref="detectShow" @onDelect="delect"></detectDailog>
<repairDailog ref="repairShow" @onRepair="Repair"></repairDailog>
<standardDailog ref="standardShow" @onStand="Stand"></standardDailog>
</template>
<script lang="ts">
-import { defineComponent, ref } from 'vue';
+import { defineComponent, ref ,reactive} from 'vue';
import { Search, Plus, FullScreen } from '@element-plus/icons-vue';
import { timeDate } from '/@/assets/index.ts';
import categoryDailog from './categoryDailog.vue';
@@ -267,36 +274,37 @@
import repairDailog from './repairDailog.vue';
import standardDailog from './standardDailog.vue';
import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
-import { ElMessage, ElMessageBox } from 'element-plus';
+import { ElMessage, ElMessageBox ,FormInstance ,FormRules,} from 'element-plus';
import type { UploadProps, UploadUserFile } from 'element-plus';
import { facilityManagementApi } from '/@/api/facilityManagement';
import { goalManagementApi } from '/@/api/goalManagement';
+import {deepClone} from '/@/utils/other'
export default defineComponent({
components: { categoryDailog, RegionsDialog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },
setup(props, { emit }) {
const dialogVisible = ref(false);
const form = ref({
- equipmentTypeId: '',
-
+ equipmentTypeId: 1,
+ equipmentTypeName:"",
treatment: '',
inputPersonId: '',
- inputPersonName:'',
+ inputPersonName: '',
departmentId: '',
- delRepaireDetailList: [],
+ // delRepaireDetailList: [],
- delTestDetailList: [],
+ // delTestDetailList: [],
takecareDetailList: [],
checkDetailList: [],
responsibilityPersonId: '',
- responsibilityPersonName:'',
- delTakecareStardardeDetailList: [],
+ responsibilityPersonName: '',
+ // delTakecareStardardeDetailList: [],
connectPersonId: '',
- connectPersonName:'',
+ connectPersonName: '',
scenePic: '',
@@ -305,6 +313,7 @@
toDangerous: '',
dangerousElement: '',
+ memo:'',
takecareStardardeDetailList: [
{
@@ -314,17 +323,18 @@
testDetailList: [],
checkCycle: '',
repaireDetailList: [],
- delCheckStandardeDetailList: [],
+ // delCheckStandardeDetailList: [],
leadingPersonName: '',
name: '',
- delTakecareDetailList: [],
+ // delTakecareDetailList: [],
position: '',
- emergencePlanId: '',
+ emergencePlanId: '',
+ emergencePlanName:'',
checkStandardeDetailList: [],
infoTpe: '',
@@ -338,11 +348,14 @@
delTestDetails: '',
});
+ const ruleFormRef = ref<FormInstance>();
const titles = ref();
+ const titleT = ref();
const disabled = ref(false);
const Dailogtype = ref(false);
const openDailog = (title: string, type: boolean, id: number, num: any) => {
dialogVisible.value = true;
+ titleT.value = title;
department();
Dailogtype.value = type;
if (num == 0) {
@@ -375,6 +388,10 @@
form.value.delRepaireDetails = deleteCId.value.toString();
form.value.delCheckStandardeDetails = deleteDId.value.toString();
dialogVisible.value = false;
+ if (titleT.value == '新建') {
+ delete form.value.id;
+ delete form.value.infoTpe
+ }
facilityManagementApi()
.getkeypointEquipmentInfoAddOrUpdate(form.value)
.then((res) => {
@@ -391,8 +408,11 @@
// form.value = null;
};
// 取消
- const resetForm = () => {
+ const resetForm = (formEl: FormInstance | undefined) => {
+ if (!formEl) return;
+ formEl.resetFields();
dialogVisible.value = false;
+ form.value={}
};
const activeName = ref('first');
const index = ref<any>();
@@ -408,33 +428,29 @@
};
const onUser = (e: any) => {
form.value.emergencePlanId = e.id;
+ form.value.emergencePlanName=e.name
};
- const UserOneShow = ref();
- // const UserTwoShow = ref();
- // const UserThreeShow = ref();
- const openUser = (type: number) => {
- // if (type == 0) {
- // UserOneShow.value.openDailog();
- // } else if (type == 1) {
- // UserTwoShow.value.openDailog();
- // } else if (type == 2) {
- // UserThreeShow.value.openDailog();
- // }
- UserOneShow.value.openDailog();
+ const UserShow = ref();
+ const openUser = (type: any) => {
+ UserShow.value.openDailog(type);
};
- const userId = ( type: number,val: any) => {
- if (type == 0) {
- form.value.connectPersonId = val.uid;
- form.value.connectPersonName = val.realName;
- } else if (type == 1) {
- form.value.inputPersonId = val.uid;
- form.value.inputPersonName = val.username;
+ const userId = (val: any, type: number) => {
+ if (type == 1) {
+ form.value.connectPersonId = val.uid;
+ form.value.connectPersonName = val.realName;
} else if (type == 2) {
- form.value.responsibilityPersonId = val.id;
- form.value.responsibilityPersonName = val.username;
+ form.value.inputPersonId = val.uid;
+ form.value.inputPersonName = val.realName;
+ } else if (type == 3) {
+ form.value.responsibilityPersonId = val.id;
+ form.value.responsibilityPersonName = val.realName;
}
};
+ const Tid=(data:any)=>{
+ form.value.equipmentTypeId=data.id
+ form.value.equipmentTypeName=data.typeName
+ }
const maintenanceShow = ref();
const openMaintenance = (title: string, data: any) => {
index.value = form.value.takecareDetailList.indexOf(data);
@@ -507,35 +523,42 @@
deleteDId.value.push(tag.id);
};
// 回传
- const main = (val: any) => {
+ const main = (data: any) => {
+ let val=deepClone(data)
if (index.value == -1) {
form.value.takecareDetailList.push(val);
} else {
form.value.takecareDetailList[index.value] = val;
}
};
- const delect = (val: any) => {
+ const delect = (data: any) => {
+ let val=deepClone(data)
if (index.value == -1) {
form.value.testDetailList.push(val);
} else {
form.value.testDetailList[index.value] = val;
}
};
- const Repair = (val: any) => {
+ const Repair = (data: any) => {
+ let val=deepClone(data)
if (index.value == -1) {
form.value.repaireDetailList.push(val);
} else {
form.value.repaireDetailList[index.value] = val;
}
};
- const Stand = (val: any) => {
+ const Stand = (data: any) => {
+ let val=deepClone(data)
if (index.value == -1) {
form.value.checkStandardeDetailList.push(val);
} else {
form.value.checkStandardeDetailList[index.value] = val;
}
};
-
+ const rules = reactive<FormRules>({
+ equipmentTypeId: [],
+ equipmentTypeName:[],
+ })
//图片提交
const imageUrl = ref('');
@@ -594,6 +617,7 @@
delect,
Repair,
Stand,
+ ruleFormRef,
index,
activeName,
categoryShow,
@@ -601,10 +625,9 @@
planShow,
onUser,
openPlan,
- UserOneShow,
- // UserTwoShow,
- // UserThreeShow,
+ UserShow,
openUser,
+ rules,
maintenanceShow,
openMaintenance,
detectShow,
@@ -628,6 +651,7 @@
full,
toggleFullscreen,
FullScreen,
+ Tid,
resetForm,
deleteAId,
deleteBId,
@@ -638,6 +662,7 @@
deleteC,
deleteD,
timeDate,
+ titleT,
};
},
});
diff --git a/src/components/equipmentDailog/categoryDailog.vue b/src/components/equipmentDailog/categoryDailog.vue
index 4338c2d..4a8bf12 100644
--- a/src/components/equipmentDailog/categoryDailog.vue
+++ b/src/components/equipmentDailog/categoryDailog.vue
@@ -3,18 +3,18 @@
<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
<el-row>
<el-col :span="17">
- <el-form ref="ruleFormRef" :model="ruleForm" status-icon>
+ <!-- <el-form ref="ruleFormRef" :model="ruleForm" status-icon>
<el-row>
<el-col :span="12">
<el-form-item size="default">
<el-input v-model="ruleForm.pass" placeholder="类别名称" />
</el-form-item>
</el-col>
- <!-- <el-col :span="6" :offset="1">
+ <el-col :span="6" :offset="1">
<el-form-item>
<el-input v-model="ruleForm.checkPass" placeholder="目标指标编号" />
</el-form-item>
- </el-col> -->
+ </el-col>
<el-col :span="11" :offset="1">
<el-form-item>
<el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
@@ -22,34 +22,22 @@
</el-form-item>
</el-col>
</el-row>
- </el-form>
- <el-button size="default" :icon="Delete">清除选择</el-button>
- <el-table :data="tableData" style="width: 100%; margin-top: 20px">
- <el-table-column align="center">
+ </el-form> -->
+ <el-button size="default" :icon="Delete" @click="clear">清除选择</el-button>
+ <el-table :data="tableData" style="width: 100%; margin-top: 20px" row-key="id" :tree-props="propse">
+ <el-table-column align="center" width="100px">
<template #default="scope">
- <el-radio-group v-model="radio1" @change="radio">
- <el-radio :label="scope.row.date" size="large">{{ null }}</el-radio>
+ <el-radio-group v-model="radio1">
+ <el-radio :label="scope.row.id" @click="radio(scope.row)" size="large">{{ null }}</el-radio>
</el-radio-group>
</template>
</el-table-column>
- <el-table-column align="center" prop="date" label="id" />
- <el-table-column align="center" prop="name" label="类别名称" />
+ <el-table-column align="center" prop="id" label="id" />
+ <el-table-column align="center" prop="typeName" label="类别名称" />
</el-table>
- <el-pagination
- style="padding: 20px 0; border-bottom: 1px solid #dedede"
- v-model:currentPage="currentPage4"
- v-model:page-size="pageSize4"
- :page-sizes="[100, 200, 300, 400]"
- :small="small"
- :disabled="disabled"
- :background="background"
- layout="total, sizes, prev, pager, next, jumper"
- :total="400"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- />
</el-col>
<el-col :span="7">
+ <div v-if="dynamicTags[0]==''?false:true">
<el-tag
v-for="tag in dynamicTags"
:key="tag"
@@ -59,14 +47,15 @@
:disable-transitions="false"
@close="handleClose(tag)"
>
- {{ tag }}
+ {{ tag.typeName }}
</el-tag>
+ </div>
</el-col>
</el-row>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogVisible = false" size="default">关闭</el-button>
- <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
+ <el-button type="primary" @click="submitForm" size="default">确定</el-button>
</span>
</template>
</el-dialog>
@@ -74,57 +63,54 @@
<script lang="ts">
import { defineComponent, reactive, ref } from 'vue';
import { Delete, FullScreen } from '@element-plus/icons-vue';
+import { facilityManagementApi } from '/@/api/facilityManagement';
+import { ElMessage,ElMessageBox } from 'element-plus';
export default defineComponent({
- setup() {
+ setup(props,{emit}) {
const dialogVisible = ref<boolean>(false);
const openDailog = () => {
dialogVisible.value = true;
+ listApi()
};
- // 搜索条件
- const ruleForm = reactive({
- pass: '',
- checkPass: '',
- });
+ // 列表
+ const listApi = () => {
+ facilityManagementApi()
+ .getequipmentTypeMngTreeData()
+ .then((res) => {
+ if (res.data.code == 200) {
+ tableData.value = res.data.data;
+ } else {
+ ElMessage({
+ showClose: true,
+ message: res.data.msg,
+ type: 'error',
+ });
+ }
+ });
+ };
// 表格
- const tableData = [
- {
- date: '2016-05-03',
- name: 'Tom',
- address: 'No. 189, Grove St, Los Angeles',
- },
- {
- date: '2016-05-02',
- name: 'Tom',
- address: 'No. 189, Grove St, Los Angeles',
- },
- {
- date: '2016-05-04',
- name: 'Tom',
- address: 'No. 189, Grove St, Los Angeles',
- },
- {
- date: '2016-05-01',
- name: 'Tom',
- address: 'No. 189, Grove St, Los Angeles',
- },
- ];
- const pageSize4 = ref(100);
- const handleSizeChange = (val: number) => {
- console.log(`${val} items per page`);
- };
- const handleCurrentChange = (val: number) => {
- console.log(`current page: ${val}`);
+ const tableData = ref([])
+ const propse = {
+ children: 'childList',
};
// 右方点击添加后显示标签
- const dynamicTags = ref(['2016-05-03']);
+ const dynamicTags = ref(['']);
const handleClose = (tag: string) => {
dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
radio1.value = '';
};
- const radio1 = ref('2016-05-03');
- const radio = (event: any) => {
- dynamicTags.value[0] = event;
+ const radio1 = ref('');
+ const radio = (data: any) => {
+ dynamicTags.value[0] = data
};
+ const clear=()=>{
+ radio1.value=""
+ dynamicTags.value=['']
+ }
+ const submitForm=()=>{
+ emit('typeId',dynamicTags.value[0])
+ dialogVisible.value=false
+ }
//全屏
const full = ref(false);
const toggleFullscreen = () => {
@@ -135,13 +121,13 @@
}
};
return {
+ submitForm,
+ clear,
dialogVisible,
openDailog,
- ruleForm,
+ listApi,
+ propse,
tableData,
- pageSize4,
- handleSizeChange,
- handleCurrentChange,
dynamicTags,
handleClose,
radio1,
diff --git a/src/components/equipmentDailog/detectDailog.vue b/src/components/equipmentDailog/detectDailog.vue
index 71279e3..654f54c 100644
--- a/src/components/equipmentDailog/detectDailog.vue
+++ b/src/components/equipmentDailog/detectDailog.vue
@@ -1,36 +1,43 @@
<template>
- <el-dialog v-model="dialogVisible" @close="resetForm" :fullscreen="full" :title="titles" width="50%" draggable>
+ <el-dialog v-model="dialogVisible" @close="resetForm(ruleFormRef)" :fullscreen="full" :title="titles" width="50%" draggable>
<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
- <el-form :model="form" :disabled="disabled" label-width="120px">
+ <el-form :model="form" ref="ruleFormRef" :rules="rules" :disabled="disabled" label-width="120px">
<el-row>
<el-col :span="11">
- <el-form-item label="检测人" size="default">
- <el-input v-model="form.testPersonName">
+ <el-form-item label="检测人" size="default" prop="testPersonName">
+ <el-input v-model="form.testPersonName">
<template #append> <el-button :icon="Search" @click="openUser" /> </template
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
- <el-form-item label="检测日期" size="default">
- <el-date-picker v-model="form.testDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ <el-form-item label="检测日期" size="default" prop="testDate">
+ <el-date-picker v-model="form.testDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
- <el-form-item label="检测人单位" size="default">
- <el-tree-select v-model="form.testPersonDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" />
+ <el-form-item label="检测人单位" size="default" prop="testPersonDepartmentId">
+ <el-tree-select
+ v-model="form.testPersonDepartmentId"
+ :data="data"
+ check-strictly="true"
+ class="w100"
+ :props="propse"
+ placeholder="请选择"
+ />
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
- <el-form-item label="检测内容" size="default">
+ <el-form-item label="检测内容" size="default" prop="testMemo">
<el-input v-model="form.testMemo" placeholder="请填写检测内容" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
- <el-form-item label="检测结果" size="default">
+ <el-form-item label="检测结果" size="default" prop="testResult">
<el-select v-model="form.testResult" placeholder="请选择" style="width: 100%">
<el-option label="成功" value="1" />
<el-option label="失败" value="2" />
@@ -38,7 +45,7 @@
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
- <el-form-item label="检测状态" size="default">
+ <el-form-item label="检测状态" size="default" prop="testStatus">
<el-input v-model="form.testStatus" placeholder="请填写检测状态" />
</el-form-item>
</el-col>
@@ -47,8 +54,8 @@
<template #footer>
<span class="dialog-footer">
<!-- <el-button type="primary" @click="dialogVisible = false" size="default">继续添加</el-button> -->
- <el-button @click="resetForm" size="default">关闭</el-button>
- <el-button type="primary" @click="submitForm" size="default">确定</el-button>
+ <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button>
+ <el-button type="primary" @click="submitForm(ruleFormRef)" :disabled="disabled" size="default">确定</el-button>
</span>
</template>
</el-dialog>
@@ -56,16 +63,18 @@
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
-import { ElMessage, ElMessageBox} from 'element-plus';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import type { FormInstance, FormRules } from 'element-plus';
import { Search, FullScreen } from '@element-plus/icons-vue';
import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
import { goalManagementApi } from '/@/api/goalManagement';
export default defineComponent({
components: { DailogSearchUser },
setup(props, { emit }) {
+ const ruleFormRef = ref<FormInstance>();
const form = ref({
testPersonId: '',
- testPersonName:'',
+ testPersonName: '',
testDate: '',
testPersonDepartmentId: '',
testMemo: '',
@@ -77,13 +86,13 @@
const disabled = ref(false);
const dialogVisible = ref(false);
const openDailog = (title: string, data: any) => {
- department()
+ department();
dialogVisible.value = true;
titles.value = `${title}设备检测`;
if (title == '查看') {
disabled.value = true;
form.value = data;
- } else if(title == '修改'){
+ } else if (title == '修改') {
disabled.value = false;
form.value = data;
}
@@ -95,36 +104,37 @@
};
const User = (val: any) => {
form.value.testPersonId = val.uid;
- form.value.testPersonName=val.realName;
+ form.value.testPersonName = val.realName;
};
+ const rules = reactive<FormRules>({
+ testPersonName: [{ required: true, message: '检测人不能为空', trigger: 'blur' }],
+ testDate:[{ required: true, message: '检测日期不能为空', trigger: 'blur' }],
+ testPersonDepartmentId:[],
+ testMemo:[{ required: true, message: '检测内容不能为空', trigger: 'blur' }],
+ testResult:[{ required: true, message: '检测结果不能为空', trigger: 'blur' }],
+ testStatus:[{ required: true, message: '检测状态不能为空', trigger: 'blur' }],
+ });
// 提交
- const submitForm = () => {
- dialogVisible.value = false;
- emit('onDelect', form.value);
- form.value = {
- testPersonId: '',
- testPersonName:'',
- testDate: '',
- testPersonDepartmentId: '',
- testMemo: '',
- testResult: '',
- testStatus: '',
- };
+ const submitForm = async (formEl: FormInstance | undefined) => {
+ if (!formEl) return;
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ emit('onDelect', form.value);
+ dialogVisible.value = false;
+ } else {
+ console.log('error submit!', fields);
+ }
+ });
+
disabled.value = false;
};
// 取消
- const resetForm = () => {
+ const resetForm = (formEl: FormInstance | undefined) => {
+ if (!formEl) return;
+ formEl.clearValidate();
dialogVisible.value = false;
- form.value = {
- testPersonId: '',
- testPersonName:'',
- testDate: '',
- testPersonDepartmentId: '',
- testMemo: '',
- testResult: '',
- testStatus: '',
- };
disabled.value = false;
+ form.value={}
};
//全屏
const full = ref(false);
@@ -135,7 +145,7 @@
full.value = false;
}
};
- //部门树
+ //部门树
const department = () => {
goalManagementApi()
.getTreedepartment()
@@ -154,6 +164,8 @@
};
const data = ref();
return {
+ ruleFormRef,
+ rules,
department,
propse,
data,
diff --git a/src/components/equipmentDailog/maintenanceDailog.vue b/src/components/equipmentDailog/maintenanceDailog.vue
index e742cd7..3a22bc9 100644
--- a/src/components/equipmentDailog/maintenanceDailog.vue
+++ b/src/components/equipmentDailog/maintenanceDailog.vue
@@ -19,12 +19,25 @@
<el-row>
<el-col :span="11">
<el-form-item label="保养日期" size="default" prop="takecareDate">
- <el-date-picker v-model="form.takecareDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" style="width: 100%" />
+ <el-date-picker
+ v-model="form.takecareDate"
+ format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ type="datetime"
+ style="width: 100%"
+ />
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
<el-form-item label="保养负责人单位" size="default" prop="leadingPersonDepartmentId">
- <el-tree-select v-model="form.leadingPersonDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" />
+ <el-tree-select
+ v-model="form.leadingPersonDepartmentId"
+ :data="data"
+ check-strictly="true"
+ class="w100"
+ :props="propse"
+ placeholder="请选择"
+ />
</el-form-item>
</el-col>
</el-row>
@@ -33,7 +46,7 @@
<span class="dialog-footer">
<!-- <el-button type="primary" @click="dialogVisible = false" size="default">继续添加</el-button> -->
<el-button @click="resetForms(ruleFormRefs)" size="default">关闭</el-button>
- <el-button type="primary" @click="submitForms(ruleFormRefs)" size="default">确定</el-button>
+ <el-button type="primary" @click="submitForms(ruleFormRefs)" :disabled="disabled" size="default">确定</el-button>
</span>
</template>
</el-dialog>
@@ -41,7 +54,7 @@
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
-import { ElMessage, ElMessageBox} from 'element-plus';
+import { ElMessage, ElMessageBox } from 'element-plus';
import { Search, FullScreen } from '@element-plus/icons-vue';
import type { FormInstance, FormRules } from 'element-plus';
import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
@@ -62,7 +75,7 @@
const disabled = ref(false);
const dialogVisible = ref(false);
const openDailog = (title: string, data: any) => {
- department()
+ department();
dialogVisible.value = true;
titles.value = `${title}仪器仪表`;
if (title == '查看') {
@@ -75,32 +88,32 @@
};
const rules = reactive<FormRules>({
takecareMemo: [
- // {
- // required: true,
- // message: '保养情况不能为空',
- // trigger: 'change',
- // },
+ {
+ required: true,
+ message: '保养情况不能为空',
+ trigger: 'blur',
+ },
],
leadingPersonName: [
- // {
- // required: true,
- // message: '保养负责人不能为空',
- // trigger: 'change',
- // },
+ {
+ required: true,
+ message: '保养负责人不能为空',
+ trigger: 'blur',
+ },
],
takecareDate: [
- // {
- // required: true,
- // message: '保养日期不能为空',
- // trigger: 'change',
- // },
+ {
+ required: true,
+ message: '保养日期不能为空',
+ trigger: 'blur',
+ },
],
leadingPersonDepartmentId: [
- // {
- // required: true,
- // message: '保养负责人单位不能为空',
- // trigger: 'change',
- // },
+ {
+ required: true,
+ message: '保养负责人单位不能为空',
+ trigger: 'blur',
+ },
],
});
// 开启用户弹窗
@@ -123,29 +136,17 @@
console.log('error submit!', fields);
}
});
- form.value = {
- takecareMemo: '',
- leadingPersonId: '',
- leadingPersonName: '',
- takecareDate: '',
- leadingPersonDepartmentId: '',
- };
disabled.value = false;
- // formEl.resetFields();
};
// 取消
const resetForms = (formEl: FormInstance | undefined) => {
if (!formEl) return;
- form.value = {
- takecareMemo: '',
- leadingPersonId: '',
- leadingPersonName: '',
- takecareDate: '',
- leadingPersonDepartmentId: '',
- };
- // formEl.resetFields();
- dialogVisible.value = false;
+ formEl.clearValidate();
+
disabled.value = false;
+ form.value = {};
+
+ dialogVisible.value = false;
};
//全屏
const full = ref(false);
@@ -156,7 +157,7 @@
full.value = false;
}
};
- //部门树
+ //部门树
const department = () => {
goalManagementApi()
.getTreedepartment()
diff --git a/src/components/equipmentDailog/repairDailog.vue b/src/components/equipmentDailog/repairDailog.vue
index 0c3baff..54a2238 100644
--- a/src/components/equipmentDailog/repairDailog.vue
+++ b/src/components/equipmentDailog/repairDailog.vue
@@ -1,15 +1,15 @@
<template>
- <el-dialog v-model="dialogVisible" :fullscreen="full" :before-close="resetForm" :title="titles" width="50%" draggable>
+ <el-dialog v-model="dialogVisible" :fullscreen="full" @close="resetForm(ruleFormRef)" :title="titles" width="50%" draggable>
<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
- <el-form :model="form" :disabled="disabled" label-width="120px">
+ <el-form :model="form" ref="ruleFormRef" :rules="rules" :disabled="disabled" label-width="120px">
<el-row>
<el-col :span="11">
- <el-form-item label="设施异常项" size="default">
+ <el-form-item label="设施异常项" size="default" prop="exceptionInfo">
<el-input v-model="form.exceptionInfo" placeholder="请填写设施异常项" />
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
- <el-form-item label="维修状态" size="default">
+ <el-form-item label="维修状态" size="default" prop="repairStatus">
<el-select v-model="form.repairStatus" placeholder="请选择" style="width: 100%">
<el-option label="维修中" value="1" />
<el-option label="已修好" value="2" />
@@ -19,12 +19,12 @@
</el-row>
<el-row>
<el-col :span="11">
- <el-form-item label="维修情况" size="default">
+ <el-form-item label="维修情况" size="default" prop="repairMemo">
<el-input v-model="form.repairMemo" placeholder="请填写维修情况" />
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
- <el-form-item label="维修负责人" size="default">
+ <el-form-item label="维修负责人" size="default" prop="repairPersonName">
<el-input v-model="form.repairPersonName" placeholder="请选择">
<template #append> <el-button :icon="Search" @click="openUser" /> </template
></el-input>
@@ -33,20 +33,41 @@
</el-row>
<el-row>
<el-col :span="11">
- <el-form-item label="维修负责人单位" size="default">
- <el-tree-select v-model="form.repairPersonDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" />
+ <el-form-item label="维修负责人单位" size="default" prop="repairPersonDepartmentId">
+ <el-tree-select
+ v-model="form.repairPersonDepartmentId"
+ :data="data"
+ check-strictly="true"
+ class="w100"
+ :props="propse"
+ placeholder="请选择"
+ />
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
- <el-form-item label="维修开始日期" size="default">
- <el-date-picker v-model="form.repairStartDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ <el-form-item label="维修开始日期" size="default" prop="repairStartDate">
+ <el-date-picker
+ v-model="form.repairStartDate"
+ format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ type="datetime"
+ placeholder="选择日期时间"
+ style="width: 100%"
+ />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
- <el-form-item label="维修结束日期" size="default">
- <el-date-picker v-model="form.repairEndDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ <el-form-item label="维修结束日期" size="default" prop="repairEndDate">
+ <el-date-picker
+ v-model="form.repairEndDate"
+ format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ type="datetime"
+ placeholder="选择日期时间"
+ style="width: 100%"
+ />
</el-form-item>
</el-col>
</el-row>
@@ -54,8 +75,8 @@
<template #footer>
<span class="dialog-footer">
<!-- <el-button type="primary" @click="dialogVisible = false" size="default">继续添加</el-button> -->
- <el-button @click="resetForm" size="default">关闭</el-button>
- <el-button type="primary" @click="submitForm" size="default">确定</el-button>
+ <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button>
+ <el-button type="primary" @click="submitForm(ruleFormRef)" :disabled="disabled" size="default">确定</el-button>
</span>
</template>
</el-dialog>
@@ -63,20 +84,22 @@
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
-import { ElMessage, ElMessageBox} from 'element-plus';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import type { FormInstance, FormRules } from 'element-plus';
import { Search, FullScreen } from '@element-plus/icons-vue';
import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
import { goalManagementApi } from '/@/api/goalManagement';
export default defineComponent({
components: { DailogSearchUser },
setup(props, { emit }) {
+ const ruleFormRef = ref<FormInstance>();
const form = ref({
exceptionInfo: '',
repairStatus: '',
repairMemo: '',
repairPersonId: '',
- repairPersonName:'',
- repairPersonDepartmentId: "",
+ repairPersonName: '',
+ repairPersonDepartmentId: '',
repairStartDate: '',
repairEndDate: '',
});
@@ -85,13 +108,13 @@
const disabled = ref(false);
const dialogVisible = ref(false);
const openDailog = (title: string, data: any) => {
- department()
+ department();
dialogVisible.value = true;
titles.value = `${title}设备维修`;
if (title == '查看') {
disabled.value = true;
form.value = data;
- } else if(title == '修改') {
+ } else if (title == '修改') {
disabled.value = false;
form.value = data;
}
@@ -105,36 +128,35 @@
form.value.repairPersonId = val.uid;
form.value.repairPersonName = val.realName;
};
+ const rules = reactive<FormRules>({
+ exceptionInfo: [{ required: true, message: '设施异常项不能为空', trigger: 'blur' }],
+ repairStatus: [{ required: true, message: '维修状态不能为空', trigger: 'blur' }],
+ repairMemo: [{ required: true, message: '维修情况不能为空', trigger: 'blur' }],
+ // repairPersonName: [{ required: true, message: '维修负责人不能为空', trigger: 'blur' }],
+ repairPersonDepartmentId: [{ required: true, message: '维修负责人单位不能为空', trigger: 'blur' }],
+ repairStartDate: [{ required: true, message: '维修开始日期不能为空', trigger: 'blur' }],
+ repairEndDate: [{ required: true, message: '维修结束日期不能为空', trigger: 'blur' }],
+ });
// 提交
- const submitForm = () => {
- dialogVisible.value = false;
- emit('onRepair', form.value);
- form.value = {
- exceptionInfo: '',
- repairStatus: '',
- repairMemo: '',
- repairPersonId: '',
- repairPersonName:'',
- repairPersonDepartmentId: "",
- repairStartDate: '',
- repairEndDate: '',
- };
+ const submitForm = async (formEl: FormInstance | undefined) => {
+ if (!formEl) return;
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ emit('onRepair', form.value);
+ dialogVisible.value = false;
+ } else {
+ console.log('error submit!', fields);
+ }
+ });
disabled.value = false;
};
// 取消
- const resetForm = () => {
- dialogVisible.value = false;
- form.value = {
- exceptionInfo: '',
- repairStatus: '',
- repairMemo: '',
- repairPersonId: '',
- repairPersonName:"",
- repairPersonDepartmentId: "",
- repairStartDate: '',
- repairEndDate: '',
- };
+ const resetForm = (formEl: FormInstance | undefined) => {
+ if (!formEl) return;
+ formEl.clearValidate();
disabled.value = false;
+ dialogVisible.value = false;
+ form.value = {};
};
//全屏
const full = ref(false);
@@ -145,7 +167,7 @@
full.value = false;
}
};
- //部门树
+ //部门树
const department = () => {
goalManagementApi()
.getTreedepartment()
@@ -164,6 +186,8 @@
};
const data = ref();
return {
+ rules,
+ ruleFormRef,
department,
propse,
data,
diff --git a/src/components/equipmentDailog/standardDailog.vue b/src/components/equipmentDailog/standardDailog.vue
index a1f901e..7964ba0 100644
--- a/src/components/equipmentDailog/standardDailog.vue
+++ b/src/components/equipmentDailog/standardDailog.vue
@@ -1,14 +1,14 @@
<template>
- <el-dialog v-model="dialogVisible" :fullscreen="full" :before-close="resetForm" :title="titles" width="50%" draggable>
- <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
- <el-form :model="form" label-width="120px" :disabled="disabled">
+ <el-dialog v-model="dialogVisible" :fullscreen="full" @close="resetForm(ruleFormRef)" :title="titles" width="50%" draggable>
+ <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
+ <el-form :model="form" ref="ruleFormRef" :rules="rules" label-width="120px" :disabled="disabled">
<el-row>
<el-col :span="11">
- <el-form-item label="序号" size="default">
+ <el-form-item label="序号" size="default" prop="indexNum">
<el-input v-model="form.indexNum" placeholder="请填写序号" />
</el-form-item>
</el-col>
- <el-col :span="11" :offset="2" size="default">
+ <el-col :span="11" :offset="2" size="default" prop="checkContent">
<el-form-item label="检查内容">
<el-input v-model="form.checkContent" placeholder="请填写检查内容" />
</el-form-item>
@@ -16,24 +16,24 @@
</el-row>
<el-row>
<el-col :span="11">
- <el-form-item label="检查指标" size="default">
+ <el-form-item label="检查指标" size="default" prop="checkTarget">
<el-input v-model="form.checkTarget" placeholder="请填写检查指标" />
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
- <el-form-item label="单位" size="default">
+ <el-form-item label="单位" size="default" prop="unit">
<el-input v-model="form.unit" placeholder="请填写单位" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
- <el-form-item label="巡检部位" size="default">
+ <el-form-item label="巡检部位" size="default" prop="checkPart">
<el-input v-model="form.checkPart" placeholder="请填写巡检部位" />
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
- <el-form-item label="频次" size="default">
+ <el-form-item label="频次" size="default" prop="rate">
<el-input v-model="form.rate" placeholder="请填写频次" />
</el-form-item>
</el-col>
@@ -42,8 +42,8 @@
<template #footer>
<span class="dialog-footer">
<!-- <el-button type="primary" @click="dialogVisible = false" size="default">继续添加</el-button> -->
- <el-button @click="resetForm" size="default">关闭</el-button>
- <el-button type="primary" @click="submitForm" size="default">确定</el-button>
+ <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button>
+ <el-button type="primary" @click="submitForm(ruleFormRef)" size="default">确定</el-button>
</span>
</template>
</el-dialog>
@@ -51,17 +51,19 @@
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
+import type { FormInstance, FormRules } from 'element-plus';
import { Search, FullScreen } from '@element-plus/icons-vue';
import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
export default defineComponent({
components: { DailogSearchUser },
setup(props, { emit }) {
+ const ruleFormRef = ref<FormInstance>();
const form = ref({
indexNum: '',
checkContent: '',
checkTarget: '',
unit: '',
- checkPart: "",
+ checkPart: '',
rate: '',
});
// 开启弹窗
@@ -74,7 +76,7 @@
if (title == '查看') {
disabled.value = true;
form.value = data;
- } else if(title=='修改'){
+ } else if (title == '修改') {
disabled.value = false;
form.value = data;
}
@@ -84,32 +86,34 @@
const openUser = () => {
Show.value.openDailog();
};
+ const rules = reactive<FormRules>({
+ indexNum: [{ required: true, message: '序号不能为空', trigger: 'blur' }],
+ checkContent: [{ required: true, message: '检查内容不能为空', trigger: 'blur' }],
+ checkTarget: [{ required: true, message: '检查指标不能为空', trigger: 'blur' }],
+ unit: [{ required: true, message: '单位不能为空', trigger: 'blur' }],
+ checkPart: [{ required: true, message: '巡检部位不能为空', trigger: 'blur' }],
+ rate: [{ required: true, message: '频次不能为空', trigger: 'blur' }],
+ });
// 提交
- const submitForm = () => {
- dialogVisible.value = false;
- emit('onStand', form.value);
- form.value = {
- indexNum: '',
- checkContent: '',
- checkTarget: '',
- unit: '',
- checkPart: "",
- rate: '',
- };
+ const submitForm = async (formEl: FormInstance | undefined) => {
+ if (!formEl) return;
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ emit('onStand', form.value);
+ dialogVisible.value = false;
+ } else {
+ console.log('error submit!', fields);
+ }
+ });
disabled.value = false;
};
// 取消
- const resetForm = () => {
+ const resetForm = (formEl: FormInstance | undefined) => {
+ if (!formEl) return;
+ formEl.clearValidate();
dialogVisible.value = false;
- form.value = {
- indexNum: '',
- checkContent: '',
- checkTarget: '',
- unit: '',
- checkPart: "",
- rate: '',
- };
disabled.value = false;
+ form.value = {};
};
//全屏
const full = ref(false);
@@ -121,6 +125,8 @@
}
};
return {
+ rules,
+ ruleFormRef,
form,
titles,
disabled,
diff --git a/src/components/iconSelector/index.vue b/src/components/iconSelector/index.vue
index db142ba..07de786 100644
--- a/src/components/iconSelector/index.vue
+++ b/src/components/iconSelector/index.vue
@@ -1,44 +1,65 @@
<template>
- <div class="icon-selector w100 h100">
- <el-popover placement="bottom" :width="fontIconWidth" trigger="click" transition="el-zoom-in-top" popper-class="icon-selector-popper" @show="onPopoverShow">
- <template #reference>
- <el-input v-model="fontIconSearch" :placeholder="fontIconPlaceholder" :clearable="clearable" :disabled="disabled" :size="size" ref="inputWidthRef" @clear="onClearFontIcon" @focus="onIconFocus" @blur="onIconBlur">
- <template #prepend>
- <SvgIcon :name="fontIconPrefix === '' ? prepend : fontIconPrefix" class="font14" v-if="fontIconPrefix === '' ? prepend?.indexOf('ele-') > -1 : fontIconPrefix?.indexOf('ele-') > -1" />
- <i v-else :class="fontIconPrefix === '' ? prepend : fontIconPrefix" class="font14"></i>
- </template>
- </el-input>
- </template>
- <template #default>
- <div class="icon-selector-warp">
- <div class="icon-selector-warp-title flex">
- <div class="flex-auto">{{ title }}</div>
- <div class="icon-selector-warp-title-tab" v-if="type === 'all'">
- <span :class="{ 'span-active': fontIconType === 'ali' }" @click="onIconChange('ali')" class="ml10" title="iconfont 图标">ali</span>
- <span :class="{ 'span-active': fontIconType === 'ele' }" @click="onIconChange('ele')" class="ml10" title="elementPlus 图标">ele</span>
- <span :class="{ 'span-active': fontIconType === 'awe' }" @click="onIconChange('awe')" class="ml10" title="fontawesome 图标">awe</span>
- </div>
- </div>
- <div class="icon-selector-warp-row">
- <el-scrollbar ref="selectorScrollbarRef">
- <el-row :gutter="10" v-if="fontIconSheetsFilterList.length > 0">
- <el-col :xs="6" :sm="4" :md="4" :lg="4" :xl="4" @click="onColClick(v)" v-for="(v, k) in fontIconSheetsFilterList" :key="k">
- <div class="icon-selector-warp-item" :class="{ 'icon-selector-active': fontIconPrefix === v }">
- <div class="flex-margin">
- <div class="icon-selector-warp-item-value">
- <SvgIcon :name="v" />
- </div>
- </div>
- </div>
- </el-col>
- </el-row>
- <el-empty :image-size="100" v-if="fontIconSheetsFilterList.length <= 0" :description="emptyDescription"></el-empty>
- </el-scrollbar>
- </div>
- </div>
- </template>
- </el-popover>
- </div>
+ <div class="icon-selector w100 h100">
+ <el-popover
+ placement="bottom"
+ :width="fontIconWidth"
+ trigger="click"
+ transition="el-zoom-in-top"
+ popper-class="icon-selector-popper"
+ @show="onPopoverShow"
+ >
+ <template #reference>
+ <el-input
+ v-model="fontIconSearch"
+ :placeholder="fontIconPlaceholder"
+ :clearable="clearable"
+ :disabled="disabled"
+ :size="size"
+ ref="inputWidthRef"
+ @clear="onClearFontIcon"
+ @focus="onIconFocus"
+ @blur="onIconBlur"
+ >
+ <template #prepend>
+ <SvgIcon
+ :name="fontIconPrefix === '' ? prepend : fontIconPrefix"
+ class="font14"
+ v-if="fontIconPrefix === '' ? prepend?.indexOf('ele-') > -1 : fontIconPrefix?.indexOf('ele-') > -1"
+ />
+ <i v-else :class="fontIconPrefix === '' ? prepend : fontIconPrefix" class="font14"></i>
+ </template>
+ </el-input>
+ </template>
+ <template #default>
+ <div class="icon-selector-warp">
+ <div class="icon-selector-warp-title flex">
+ <div class="flex-auto">{{ title }}</div>
+ <div class="icon-selector-warp-title-tab" v-if="type === 'all'">
+ <span :class="{ 'span-active': fontIconType === 'ali' }" @click="onIconChange('ali')" class="ml10" title="iconfont 图标">ali</span>
+ <span :class="{ 'span-active': fontIconType === 'ele' }" @click="onIconChange('ele')" class="ml10" title="elementPlus 图标">ele</span>
+ <span :class="{ 'span-active': fontIconType === 'awe' }" @click="onIconChange('awe')" class="ml10" title="fontawesome 图标">awe</span>
+ </div>
+ </div>
+ <div class="icon-selector-warp-row">
+ <el-scrollbar ref="selectorScrollbarRef">
+ <el-row :gutter="10" v-if="fontIconSheetsFilterList.length > 0">
+ <el-col :xs="6" :sm="4" :md="4" :lg="4" :xl="4" @click="onColClick(v)" v-for="(v, k) in fontIconSheetsFilterList" :key="k">
+ <div class="icon-selector-warp-item" :class="{ 'icon-selector-active': fontIconPrefix === v }">
+ <div class="flex-margin">
+ <div class="icon-selector-warp-item-value">
+ <SvgIcon :name="v" />
+ </div>
+ </div>
+ </div>
+ </el-col>
+ </el-row>
+ <el-empty :image-size="100" v-if="fontIconSheetsFilterList.length <= 0" :description="emptyDescription"></el-empty>
+ </el-scrollbar>
+ </div>
+ </div>
+ </template>
+ </el-popover>
+ </div>
</template>
<script lang="ts">
@@ -46,186 +67,186 @@
import initIconfont from '/@/utils/getStyleSheets';
export default defineComponent({
- name: 'iconSelector',
- emits: ['update:modelValue', 'get', 'clear'],
- props: {
- // 输入框前置内容
- prepend: {
- type: String,
- default: () => 'ele-Pointer'
- },
- // 输入框占位文本
- placeholder: {
- type: String,
- default: () => '请输入内容搜索图标或者选择图标'
- },
- // 输入框占位文本
- size: {
- type: String,
- default: () => 'default'
- },
- // 弹窗标题
- title: {
- type: String,
- default: () => '请选择图标'
- },
- // icon 图标类型
- type: {
- type: String,
- default: () => 'ele'
- },
- // 禁用
- disabled: {
- type: Boolean,
- default: () => false
- },
- // 是否可清空
- clearable: {
- type: Boolean,
- default: () => true
- },
- // 自定义空状态描述文字
- emptyDescription: {
- type: String,
- default: () => '无相关图标'
- },
- // 双向绑定值,默认为 modelValue,
- // 参考:https://v3.cn.vuejs.org/guide/migration/v-model.html#%E8%BF%81%E7%A7%BB%E7%AD%96%E7%95%A5
- // 参考:https://v3.cn.vuejs.org/guide/component-custom-events.html#%E5%A4%9A%E4%B8%AA-v-model-%E7%BB%91%E5%AE%9A
- modelValue: String
- },
- setup(props, { emit }) {
- const inputWidthRef = ref();
- const selectorScrollbarRef = ref();
- const state = reactive({
- fontIconPrefix: '',
- fontIconWidth: 0,
- fontIconSearch: '',
- fontIconTabsIndex: 0,
- fontIconSheetsList: [],
- fontIconPlaceholder: '',
- fontIconType: 'ali',
- fontIconShow: true
- });
- // 处理 input 获取焦点时,modelValue 有值时,改变 input 的 placeholder 值
- const onIconFocus = () => {
- if (!props.modelValue) return false;
- state.fontIconSearch = '';
- state.fontIconPlaceholder = props.modelValue;
- };
- // 处理 input 失去焦点时,为空将清空 input 值,为点击选中图标时,将取原先值
- const onIconBlur = () => {
- setTimeout(() => {
- const icon = state.fontIconSheetsList.filter((icon: string) => icon === state.fontIconSearch);
- if (icon.length <= 0) state.fontIconSearch = '';
- }, 300);
- };
- // 处理 icon 双向绑定数值回显
- const initModeValueEcho = () => {
- if (props.modelValue === '') return ((<string | undefined>state.fontIconPlaceholder) = props.placeholder);
- (<string | undefined>state.fontIconPlaceholder) = props.modelValue;
- (<string | undefined>state.fontIconPrefix) = props.modelValue;
- };
- // 处理 icon type 类型为 all 时,类型 ali、ele、awe 回显问题
- const initFontIconTypeEcho = () => {
- if ((<any>props.modelValue)?.indexOf('iconfont') > -1) onIconChange('ali');
- else if ((<any>props.modelValue)?.indexOf('ele-') > -1) onIconChange('ele');
- else if ((<any>props.modelValue)?.indexOf('fa') > -1) onIconChange('awe');
- else onIconChange('ali');
- };
- // 图标搜索及图标数据显示
- const fontIconSheetsFilterList = computed(() => {
- if (!state.fontIconSearch) return state.fontIconSheetsList;
- let search = state.fontIconSearch.trim().toLowerCase();
- return state.fontIconSheetsList.filter((item: any) => {
- if (item.toLowerCase().indexOf(search) !== -1) return item;
- });
- });
- // 获取 input 的宽度
- const getInputWidth = () => {
- nextTick(() => {
- state.fontIconWidth = inputWidthRef.value.$el.offsetWidth;
- });
- };
- // 监听页面宽度改变
- const initResize = () => {
- window.addEventListener('resize', () => {
- getInputWidth();
- });
- };
- // 初始化数据
- const initFontIconData = async (type: string) => {
- state.fontIconSheetsList = [];
- if (type === 'ali') {
- await initIconfont.ali().then((res: any) => {
- // 阿里字体图标使用 `iconfont xxx`
- state.fontIconSheetsList = res.map((i: string) => `iconfont ${i}`);
- });
- } else if (type === 'ele') {
- await initIconfont.ele().then((res: any) => {
- state.fontIconSheetsList = res;
- });
- } else if (type === 'awe') {
- await initIconfont.awe().then((res: any) => {
- // fontawesome字体图标使用 `fa xxx`
- state.fontIconSheetsList = res.map((i: string) => `fa ${i}`);
- });
- }
- // 初始化 input 的 placeholder
- // 参考(单项数据流):https://cn.vuejs.org/v2/guide/components-props.html?#%E5%8D%95%E5%90%91%E6%95%B0%E6%8D%AE%E6%B5%81
- state.fontIconPlaceholder = props.placeholder;
- // 初始化双向绑定回显
- initModeValueEcho();
- };
- // 图标点击切换
- const onIconChange = (type: string) => {
- state.fontIconType = type;
- initFontIconData(type);
- };
- // 获取当前点击的 icon 图标
- const onColClick = (v: any) => {
- state.fontIconPlaceholder = v;
- state.fontIconPrefix = v;
- emit('get', state.fontIconPrefix);
- emit('update:modelValue', state.fontIconPrefix);
- };
- // 清空当前点击的 icon 图标
- const onClearFontIcon = () => {
- state.fontIconPrefix = '';
- emit('clear', state.fontIconPrefix);
- emit('update:modelValue', state.fontIconPrefix);
- };
- // 监听 Popover 打开,用于双向绑定值回显
- const onPopoverShow = () => {
- initModeValueEcho();
- initFontIconTypeEcho();
- };
- // 页面加载时
- onMounted(() => {
- initModeValueEcho();
- initResize();
- getInputWidth();
- });
+ name: 'iconSelector',
+ emits: ['update:modelValue', 'get', 'clear'],
+ props: {
+ // 输入框前置内容
+ prepend: {
+ type: String,
+ default: () => 'ele-Pointer',
+ },
+ // 输入框占位文本
+ placeholder: {
+ type: String,
+ default: () => '请输入内容搜索图标或者选择图标',
+ },
+ // 输入框占位文本
+ size: {
+ type: String,
+ default: () => 'default',
+ },
+ // 弹窗标题
+ title: {
+ type: String,
+ default: () => '请选择图标',
+ },
+ // icon 图标类型
+ type: {
+ type: String,
+ default: () => 'ele',
+ },
+ // 禁用
+ disabled: {
+ type: Boolean,
+ default: () => false,
+ },
+ // 是否可清空
+ clearable: {
+ type: Boolean,
+ default: () => true,
+ },
+ // 自定义空状态描述文字
+ emptyDescription: {
+ type: String,
+ default: () => '无相关图标',
+ },
+ // 双向绑定值,默认为 modelValue,
+ // 参考:https://v3.cn.vuejs.org/guide/migration/v-model.html#%E8%BF%81%E7%A7%BB%E7%AD%96%E7%95%A5
+ // 参考:https://v3.cn.vuejs.org/guide/component-custom-events.html#%E5%A4%9A%E4%B8%AA-v-model-%E7%BB%91%E5%AE%9A
+ modelValue: String,
+ },
+ setup(props, { emit }) {
+ const inputWidthRef = ref();
+ const selectorScrollbarRef = ref();
+ const state = reactive({
+ fontIconPrefix: '',
+ fontIconWidth: 0,
+ fontIconSearch: '',
+ fontIconTabsIndex: 0,
+ fontIconSheetsList: [],
+ fontIconPlaceholder: '',
+ fontIconType: 'ali',
+ fontIconShow: true,
+ });
+ // 处理 input 获取焦点时,modelValue 有值时,改变 input 的 placeholder 值
+ const onIconFocus = () => {
+ if (!props.modelValue) return false;
+ state.fontIconSearch = '';
+ state.fontIconPlaceholder = props.modelValue;
+ };
+ // 处理 input 失去焦点时,为空将清空 input 值,为点击选中图标时,将取原先值
+ const onIconBlur = () => {
+ setTimeout(() => {
+ const icon = state.fontIconSheetsList.filter((icon: string) => icon === state.fontIconSearch);
+ if (icon.length <= 0) state.fontIconSearch = '';
+ }, 300);
+ };
+ // 处理 icon 双向绑定数值回显
+ const initModeValueEcho = () => {
+ if (props.modelValue === '') return ((<string | undefined>state.fontIconPlaceholder) = props.placeholder);
+ (<string | undefined>state.fontIconPlaceholder) = props.modelValue;
+ (<string | undefined>state.fontIconPrefix) = props.modelValue;
+ };
+ // 处理 icon type 类型为 all 时,类型 ali、ele、awe 回显问题
+ const initFontIconTypeEcho = () => {
+ if ((<any>props.modelValue)?.indexOf('iconfont') > -1) onIconChange('ali');
+ else if ((<any>props.modelValue)?.indexOf('ele-') > -1) onIconChange('ele');
+ else if ((<any>props.modelValue)?.indexOf('fa') > -1) onIconChange('awe');
+ else onIconChange('ali');
+ };
+ // 图标搜索及图标数据显示
+ const fontIconSheetsFilterList = computed(() => {
+ if (!state.fontIconSearch) return state.fontIconSheetsList;
+ let search = state.fontIconSearch.trim().toLowerCase();
+ return state.fontIconSheetsList.filter((item: any) => {
+ if (item.toLowerCase().indexOf(search) !== -1) return item;
+ });
+ });
+ // 获取 input 的宽度
+ const getInputWidth = () => {
+ nextTick(() => {
+ state.fontIconWidth = inputWidthRef.value.$el.offsetWidth;
+ });
+ };
+ // 监听页面宽度改变
+ const initResize = () => {
+ window.addEventListener('resize', () => {
+ getInputWidth();
+ });
+ };
+ // 初始化数据
+ const initFontIconData = async (type: string) => {
+ state.fontIconSheetsList = [];
+ if (type === 'ali') {
+ await initIconfont.ali().then((res: any) => {
+ // 阿里字体图标使用 `iconfont xxx`
+ state.fontIconSheetsList = res.map((i: string) => `iconfont ${i}`);
+ });
+ } else if (type === 'ele') {
+ await initIconfont.ele().then((res: any) => {
+ state.fontIconSheetsList = res;
+ });
+ } else if (type === 'awe') {
+ await initIconfont.awe().then((res: any) => {
+ // fontawesome字体图标使用 `fa xxx`
+ state.fontIconSheetsList = res.map((i: string) => `fa ${i}`);
+ });
+ }
+ // 初始化 input 的 placeholder
+ // 参考(单项数据流):https://cn.vuejs.org/v2/guide/components-props.html?#%E5%8D%95%E5%90%91%E6%95%B0%E6%8D%AE%E6%B5%81
+ state.fontIconPlaceholder = props.placeholder;
+ // 初始化双向绑定回显
+ initModeValueEcho();
+ };
+ // 图标点击切换
+ const onIconChange = (type: string) => {
+ state.fontIconType = type;
+ initFontIconData(type);
+ };
+ // 获取当前点击的 icon 图标
+ const onColClick = (v: any) => {
+ state.fontIconPlaceholder = v;
+ state.fontIconPrefix = v;
+ emit('get', state.fontIconPrefix);
+ emit('update:modelValue', state.fontIconPrefix);
+ };
+ // 清空当前点击的 icon 图标
+ const onClearFontIcon = () => {
+ state.fontIconPrefix = '';
+ emit('clear', state.fontIconPrefix);
+ emit('update:modelValue', state.fontIconPrefix);
+ };
+ // 监听 Popover 打开,用于双向绑定值回显
+ const onPopoverShow = () => {
+ initModeValueEcho();
+ initFontIconTypeEcho();
+ };
+ // 页面加载时
+ onMounted(() => {
+ initModeValueEcho();
+ initResize();
+ getInputWidth();
+ });
- // 监听双向绑定 modelValue 的变化
- watch(
- () => props.modelValue,
- () => {
- initModeValueEcho();
- }
- );
- return {
- inputWidthRef,
- selectorScrollbarRef,
- fontIconSheetsFilterList,
- onColClick,
- onIconChange,
- onClearFontIcon,
- onIconFocus,
- onIconBlur,
- onPopoverShow,
- ...toRefs(state)
- };
- }
+ // 监听双向绑定 modelValue 的变化
+ watch(
+ () => props.modelValue,
+ () => {
+ initModeValueEcho();
+ }
+ );
+ return {
+ inputWidthRef,
+ selectorScrollbarRef,
+ fontIconSheetsFilterList,
+ onColClick,
+ onIconChange,
+ onClearFontIcon,
+ onIconFocus,
+ onIconBlur,
+ onPopoverShow,
+ ...toRefs(state),
+ };
+ },
});
</script>
diff --git a/src/layout/navBars/breadcrumb/user.vue b/src/layout/navBars/breadcrumb/user.vue
index bad2b59..7601048 100644
--- a/src/layout/navBars/breadcrumb/user.vue
+++ b/src/layout/navBars/breadcrumb/user.vue
@@ -1,79 +1,79 @@
<template>
<div class="layout-navbars-breadcrumb-user pr15" :style="{ flex: layoutUserFlexNum }">
<div class="logo">
- <img src="src/assets/menu/companyLogo.jpg">
- <span style="font-size: 16px;color: #333;font-weight: bolder"> | {{systemName}}</span>
+ <img src="../../../assets/menu/companyLogo.jpg" />
+ <span style="font-size: 16px; color: #333; font-weight: bolder"> | {{ systemName }}</span>
</div>
- <div style="display: flex;padding-right: 5px">
- <el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onComponentSizeChange">
- <div class="layout-navbars-breadcrumb-user-icon">
- <i class="iconfont icon-ziti" :title="$t('message.user.title0')"></i>
+ <div style="display: flex; padding-right: 5px">
+ <el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onComponentSizeChange">
+ <div class="layout-navbars-breadcrumb-user-icon">
+ <i class="iconfont icon-ziti" :title="$t('message.user.title0')"></i>
+ </div>
+ <template #dropdown>
+ <el-dropdown-menu>
+ <el-dropdown-item command="large" :disabled="disabledSize === 'large'">{{ $t('message.user.dropdownLarge') }}</el-dropdown-item>
+ <el-dropdown-item command="default" :disabled="disabledSize === 'default'">{{ $t('message.user.dropdownDefault') }}</el-dropdown-item>
+ <el-dropdown-item command="small" :disabled="disabledSize === 'small'">{{ $t('message.user.dropdownSmall') }}</el-dropdown-item>
+ </el-dropdown-menu>
+ </template>
+ </el-dropdown>
+ <!-- <el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onLanguageChange">-->
+ <!-- <div class="layout-navbars-breadcrumb-user-icon">-->
+ <!-- <i class="iconfont" :class="disabledI18n === 'en' ? 'icon-fuhao-yingwen' : 'icon-fuhao-zhongwen'" :title="$t('message.user.title1')"></i>-->
+ <!-- </div>-->
+ <!-- <template #dropdown>-->
+ <!-- <el-dropdown-menu>-->
+ <!-- <el-dropdown-item command="zh-cn" :disabled="disabledI18n === 'zh-cn'">简体中文</el-dropdown-item>-->
+ <!-- <el-dropdown-item command="en" :disabled="disabledI18n === 'en'">English</el-dropdown-item>-->
+ <!-- <el-dropdown-item command="zh-tw" :disabled="disabledI18n === 'zh-tw'">繁體中文</el-dropdown-item>-->
+ <!-- </el-dropdown-menu>-->
+ <!-- </template>-->
+ <!-- </el-dropdown>-->
+ <!-- <div class="layout-navbars-breadcrumb-user-icon" @click="onSearchClick">-->
+ <!-- <el-icon :title="$t('message.user.title2')">-->
+ <!-- <ele-Search />-->
+ <!-- </el-icon>-->
+ <!-- </div>-->
+ <!-- <div class="layout-navbars-breadcrumb-user-icon" @click="onLayoutSetingClick">-->
+ <!-- <i class="icon-skin iconfont" :title="$t('message.user.title3')"></i>-->
+ <!-- </div>-->
+ <!-- <div class="layout-navbars-breadcrumb-user-icon">-->
+ <!-- <el-popover placement="bottom" trigger="click" transition="el-zoom-in-top" :width="300" :persistent="false">-->
+ <!-- <template #reference>-->
+ <!-- <el-badge :is-dot="true">-->
+ <!-- <el-icon :title="$t('message.user.title4')">-->
+ <!-- <ele-Bell />-->
+ <!-- </el-icon>-->
+ <!-- </el-badge>-->
+ <!-- </template>-->
+ <!-- <template #default>-->
+ <!-- <UserNews />-->
+ <!-- </template>-->
+ <!-- </el-popover>-->
+ <!-- </div>-->
+ <div class="layout-navbars-breadcrumb-user-icon mr10" @click="onScreenfullClick">
+ <i class="iconfont" :title="isScreenfull ? $t('message.user.title6') : $t('message.user.title5')" :class="!isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'"></i>
</div>
- <template #dropdown>
- <el-dropdown-menu>
- <el-dropdown-item command="large" :disabled="disabledSize === 'large'">{{ $t('message.user.dropdownLarge') }}</el-dropdown-item>
- <el-dropdown-item command="default" :disabled="disabledSize === 'default'">{{ $t('message.user.dropdownDefault') }}</el-dropdown-item>
- <el-dropdown-item command="small" :disabled="disabledSize === 'small'">{{ $t('message.user.dropdownSmall') }}</el-dropdown-item>
- </el-dropdown-menu>
- </template>
- </el-dropdown>
-<!-- <el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onLanguageChange">-->
-<!-- <div class="layout-navbars-breadcrumb-user-icon">-->
-<!-- <i class="iconfont" :class="disabledI18n === 'en' ? 'icon-fuhao-yingwen' : 'icon-fuhao-zhongwen'" :title="$t('message.user.title1')"></i>-->
-<!-- </div>-->
-<!-- <template #dropdown>-->
-<!-- <el-dropdown-menu>-->
-<!-- <el-dropdown-item command="zh-cn" :disabled="disabledI18n === 'zh-cn'">简体中文</el-dropdown-item>-->
-<!-- <el-dropdown-item command="en" :disabled="disabledI18n === 'en'">English</el-dropdown-item>-->
-<!-- <el-dropdown-item command="zh-tw" :disabled="disabledI18n === 'zh-tw'">繁體中文</el-dropdown-item>-->
-<!-- </el-dropdown-menu>-->
-<!-- </template>-->
-<!-- </el-dropdown>-->
-<!-- <div class="layout-navbars-breadcrumb-user-icon" @click="onSearchClick">-->
-<!-- <el-icon :title="$t('message.user.title2')">-->
-<!-- <ele-Search />-->
-<!-- </el-icon>-->
-<!-- </div>-->
- <!-- <div class="layout-navbars-breadcrumb-user-icon" @click="onLayoutSetingClick">-->
- <!-- <i class="icon-skin iconfont" :title="$t('message.user.title3')"></i>-->
- <!-- </div>-->
- <!-- <div class="layout-navbars-breadcrumb-user-icon">-->
- <!-- <el-popover placement="bottom" trigger="click" transition="el-zoom-in-top" :width="300" :persistent="false">-->
- <!-- <template #reference>-->
- <!-- <el-badge :is-dot="true">-->
- <!-- <el-icon :title="$t('message.user.title4')">-->
- <!-- <ele-Bell />-->
- <!-- </el-icon>-->
- <!-- </el-badge>-->
- <!-- </template>-->
- <!-- <template #default>-->
- <!-- <UserNews />-->
- <!-- </template>-->
- <!-- </el-popover>-->
- <!-- </div>-->
- <div class="layout-navbars-breadcrumb-user-icon mr10" @click="onScreenfullClick">
- <i class="iconfont" :title="isScreenfull ? $t('message.user.title6') : $t('message.user.title5')" :class="!isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'"></i>
- </div>
- <el-dropdown :show-timeout="70" :hide-timeout="50" @command="onHandleCommandClick">
- <span class="layout-navbars-breadcrumb-user-link">
- <img :src="userInfos.photo" class="layout-navbars-breadcrumb-user-link-photo mr5" />
- {{ userInfos.userName }}
- <el-icon class="el-icon--right">
- <ele-ArrowDown />
- </el-icon>
- </span>
- <template #dropdown>
- <el-dropdown-menu>
- <el-dropdown-item command="/homeMenu">{{ $t('message.user.dropdown1') }}</el-dropdown-item>
- <!-- <el-dropdown-item command="wareHouse">{{ $t('message.user.dropdown6') }}</el-dropdown-item>-->
-<!-- <el-dropdown-item command="/personal">{{ $t('message.user.dropdown2') }}</el-dropdown-item>-->
- <!-- <el-dropdown-item command="/404">{{ $t('message.user.dropdown3') }}</el-dropdown-item>-->
- <!-- <el-dropdown-item command="/401">{{ $t('message.user.dropdown4') }}</el-dropdown-item>-->
- <el-dropdown-item divided command="logOut">{{ $t('message.user.dropdown5') }}</el-dropdown-item>
- </el-dropdown-menu>
- </template>
- </el-dropdown>
- <Search ref="searchRef" />
+ <el-dropdown :show-timeout="70" :hide-timeout="50" @command="onHandleCommandClick">
+ <span class="layout-navbars-breadcrumb-user-link">
+ <img :src="userInfos.photo" class="layout-navbars-breadcrumb-user-link-photo mr5" />
+ {{ userInfos.userName }}
+ <el-icon class="el-icon--right">
+ <ele-ArrowDown />
+ </el-icon>
+ </span>
+ <template #dropdown>
+ <el-dropdown-menu>
+ <el-dropdown-item command="/homeMenu">{{ $t('message.user.dropdown1') }}</el-dropdown-item>
+ <!-- <el-dropdown-item command="wareHouse">{{ $t('message.user.dropdown6') }}</el-dropdown-item>-->
+ <!-- <el-dropdown-item command="/personal">{{ $t('message.user.dropdown2') }}</el-dropdown-item>-->
+ <!-- <el-dropdown-item command="/404">{{ $t('message.user.dropdown3') }}</el-dropdown-item>-->
+ <!-- <el-dropdown-item command="/401">{{ $t('message.user.dropdown4') }}</el-dropdown-item>-->
+ <el-dropdown-item divided command="logOut">{{ $t('message.user.dropdown5') }}</el-dropdown-item>
+ </el-dropdown-menu>
+ </template>
+ </el-dropdown>
+ <Search ref="searchRef" />
</div>
</div>
</template>
@@ -97,15 +97,10 @@
import { ElMessage } from 'element-plus';
const menuApi = useMenuApi();
-import {
- backEndComponent,
- getBackEndControlRoutes,
- initBackEndControlRoutes,
- setAddRoute, setFilterMenuAndCacheTagsViewRoutes
-} from '../../../router/backEnd';
-import {NextLoading} from "/@/utils/loading";
-import {useRequestOldRoutes} from "/@/stores/requestOldRoutes";
-import {dynamicRoutes} from "/@/router/route";
+import { backEndComponent, getBackEndControlRoutes, initBackEndControlRoutes, setAddRoute, setFilterMenuAndCacheTagsViewRoutes } from '../../../router/backEnd';
+import { NextLoading } from '/@/utils/loading';
+import { useRequestOldRoutes } from '/@/stores/requestOldRoutes';
+import { dynamicRoutes } from '/@/router/route';
export default defineComponent({
name: 'layoutBreadcrumbUser',
@@ -254,24 +249,24 @@
}
};
- const getSysName = async()=>{
+ const getSysName = async () => {
if (window.nextLoading === undefined) NextLoading.start();
if (!Session.get('token')) return false;
const res = await menuApi.getMenuAdmin(Session.get('projectId') === null ? '' : Session.get('projectId'));
- if(res.data.code === '200'){
+ if (res.data.code === '200') {
state.systemName = res.data.data[1].project.projectName;
- console.log(state.systemName)
- }else{
- console.log('有问题')
+ console.log(state.systemName);
+ } else {
+ console.log('有问题');
}
- }
+ };
// 页面加载时
onMounted(() => {
if (Local.get('themeConfig')) {
initI18n();
initComponentSize();
}
- getSysName()
+ getSysName();
});
return {
userInfos,
@@ -295,14 +290,14 @@
align-items: center;
justify-content: space-between;
- .logo{
+ .logo {
height: 50px;
padding: 5px 10px;
display: flex;
align-items: center;
overflow: hidden;
box-sizing: border-box;
- img{
+ img {
height: 100%;
}
}
diff --git a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue
index 50a59d7..430d136 100644
--- a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue
+++ b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue
@@ -53,7 +53,8 @@
<el-radio :label="true">是</el-radio>
<el-radio :label="false">否</el-radio>
</el-radio-group>
- <el-button v-if="ruleForm.casualties" type="primary" style="margin-left: 20px" :icon="Edit" @click="openDai" round plain />
+ <el-button v-if="ruleForm.casualties" type="primary" style="margin-left: 20px"
+ :icon="Edit" @click="openDai" round plain />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
@@ -101,7 +102,8 @@
<template #footer>
<span class="dialog-footer">
<el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button>
- <el-button size="default" v-if="disabled == true ? false : true" type="primary" @click="submitForm(titles, ruleFormRef)">确定</el-button>
+ <el-button size="default" v-if="disabled == true ? false : true" type="primary"
+ @click="submitForm(titles, ruleFormRef)">确定</el-button>
</span>
</template>
</el-dialog>
@@ -387,7 +389,16 @@
};
const ShowUser = ref();
const openDai = () => {
- ShowUser.value.openDialog(ruleForm.value.id, disabled.value);
+ if(ruleForm.value.id==null||ruleForm.value.id==''){
+ ElMessage({
+ showClose: true,
+ message: '请先添加事故快报',
+ type: 'info',
+ });
+ }else {
+ ShowUser.value.openDialog(ruleForm.value.id, disabled.value);
+ }
+
};
// 应急队伍弹窗
const Shows = ref();
diff --git a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue
index de8cecb..a17ed5e 100644
--- a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue
+++ b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue
@@ -1,12 +1,12 @@
<template>
<div class="system-edit-user-container">
- <el-dialog :title="titles" v-model="isShowDialog" width="800px" draggable :fullscreen="full" @close="closeDialog(ruleFormRef)">
+ <el-dialog :title="titles" v-model="isShowDialog" width="800px" draggable :fullscreen="full" @close="resetForm(ruleFormRef)">
<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
<el-form ref="ruleFormRef" :model="ruleForm" size="default" :rules="rules" label-width="140px">
<el-row :gutter="35">
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="事故快报" prop="accidentName">
- <el-input v-model="ruleForm.accidentName" :disabled="true" placeholder="请选择" class="input-with-select">
+ <el-form-item label="事故快报" prop="accidentExpressId">
+ <el-input v-model="accidentName" :disabled="true" placeholder="请选择" class="input-with-select">
<template #append>
<el-button :icon="Search" @click="daiInpt" />
</template>
@@ -16,19 +16,19 @@
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="事故部门" placeholder="请选择" prop="accidentDepartmentId">
<!--<el-input v-model="ruleForm.accidentDepartmentName" class="input-with-select" />-->
- <el-tree-select v-model="ruleForm.accidentDepartmentId" :disabled="true" :data="newTreeList"
+ <el-tree-select v-model="accidentDepartmentId" :disabled="true" :data="newTreeList"
:props="propse" class="w100" placeholder="请选择" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="事故发生地点" prop="occurrencePlace">
- <el-input v-model="ruleForm.occurrencePlace" :disabled="true" placeholder="请填写发生地点"></el-input>
+ <el-input v-model="occurrencePlace" :disabled="true" placeholder="请填写发生地点"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="发生时间" prop="occurrenceTime">
<el-date-picker
- v-model="ruleForm.occurrenceTime"
+ v-model="occurrenceTime"
:disabled="true"
value-format="YYYY-MM-DD HH:mm:ss"
type="datetime"
@@ -240,13 +240,6 @@
//定义表单
const ruleForm = ref({
accidentExpressId:'',
- accidentExpressName:'',
- accidentDepartmentId:'',
- accidentDepartmentName:'',
- occurrencePlace:'',
- occurrenceTime:'',
-
-
accidentType: '',
accidentGrade: '',
@@ -294,19 +287,17 @@
.then((res) => {
if (res.data.code == 200) {
ruleForm.value = res.data.data;
+ accidentName.value = res.data.data.accidentName
+ accidentDepartmentId.value = res.data.data.accidentDepartmentId
+ occurrencePlace.value = res.data.data.occurrencePlace
+ occurrenceTime.value = res.data.data.occurrenceTime
}
});
}
};
- // 关闭弹窗
- const closeDialog = (formEl: FormInstance | undefined) => {
- formEl.resetFields();
- console.log(ruleForm)
- isShowDialog.value = false;
- };
// 取消
const onCancel = (formEl: FormInstance | undefined) => {
- closeDialog(formEl);
+ resetForm(formEl);
};
//日期选择器
const value1 = ref('');
@@ -320,18 +311,11 @@
];
// 必填项提示
const rules = reactive<FormRules>({
- accidentDepartmentId: [
+ accidentExpressId: [
{
required: true,
- message: '事故部门不能为空',
+ message: '快报不能为空',
trigger: 'change',
- },
- ],
- occurrenceTime: [
- {
- required: true,
- message: '发生时间不能为空',
- trigger: 'blur',
},
],
accidentType: [
@@ -420,18 +404,26 @@
},
],
});
+ const accidentDepartmentId = ref()
+ const occurrencePlace = ref()
+ const occurrenceTime = ref()
+ const accidentName = ref()
//事故快报回填
const onSelectItem = (item: any) => {
console.log('item', item[0]);
ruleForm.value.accidentExpressId = item[0].id
- ruleForm.value.accidentName = item[0].accidentName
- ruleForm.value.accidentDepartmentId = item[0].accidentDepartmentId
- ruleForm.value.accidentDepartmentName = item[0].deptName
- ruleForm.value.occurrencePlace = item[0].occurrencePlace
- ruleForm.value.occurrenceTime = item[0].occurrenceTime
+ accidentName.value = item[0].accidentName
+ accidentDepartmentId.value = item[0].accidentDepartmentId
+ occurrencePlace.value = item[0].occurrencePlace
+ occurrenceTime.value = item[0].occurrenceTime
};
// 表单提交验证必填项
const submitForm = async (title: string, formEl: FormInstance | undefined) => {
+ delete ruleForm.value.accidentName
+ delete ruleForm.value.accidentDepartmentId
+ delete ruleForm.value.occurrencePlace
+ delete ruleForm.value.occurrenceTime
+
if (title == '新建事故报告') {
if (!formEl) return;
await formEl.validate((valid, fields) => {
@@ -495,13 +487,6 @@
formEl.resetFields();
ruleForm.value = {
accidentExpressId:'',
- accidentExpressName:'',
- accidentDepartmentId:'',
- accidentDepartmentName:'',
- occurrencePlace:'',
- occurrenceTime:'',
-
-
accidentType: '',
accidentGrade: '',
@@ -531,6 +516,12 @@
isShowDialog.value = false;
if (!formEl) return;
formEl.resetFields();
+ // ruleForm.value.accidentExpressId = item[0].id
+ ruleForm.value = {}
+ accidentName.value = ''
+ accidentDepartmentId.value = ''
+ occurrencePlace.value = ''
+ occurrenceTime.value = ''
};
const handleChange = (val: number) => {
console.log(val);
@@ -602,7 +593,6 @@
};
return {
openDialog,
- closeDialog,
isShowDialog,
onCancel,
fileList,
@@ -635,7 +625,11 @@
department,
getTreeList,
propse,
- statusDisabled
+ statusDisabled,
+ accidentDepartmentId,
+ occurrencePlace,
+ occurrenceTime,
+ accidentName
};
},
});
diff --git a/src/views/accidentManagementSystem/accidentReport/index.vue b/src/views/accidentManagementSystem/accidentReport/index.vue
index 6694d4b..b007a48 100644
--- a/src/views/accidentManagementSystem/accidentReport/index.vue
+++ b/src/views/accidentManagementSystem/accidentReport/index.vue
@@ -74,14 +74,15 @@
</el-table>
<div class="pages">
<el-pagination
- v-model:currentPage="pageIndex"
- v-model:page-size="pageSize"
- :page-sizes="[10, 20, 30]"
- :pager-count="5"
- layout="total, sizes, prev, pager, next, jumper"
- :total="40"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
+ v-if="tableData.length == 0 ? false : true"
+ v-model:currentPage="pageIndex"
+ v-model:page-size="pageSize"
+ :page-sizes="[10, 20, 30]"
+ :pager-count="5"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
/>
</div>
</el-tab-pane>
diff --git a/src/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue b/src/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue
index d349645..86cd9a6 100644
--- a/src/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue
+++ b/src/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue
@@ -1,6 +1,6 @@
<template>
<div>
- <el-dialog v-model="dialogVisible" title="选择事故名称" width="900px" draggable :fullscreen="full">
+ <el-dialog v-model="dialogVisible" title="选择事故名称" width="900px" draggable :fullscreen="full" @close="handleClose">
<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
<el-row>
<el-col :span="18">
@@ -85,7 +85,7 @@
</el-row>
<template #footer>
<span class="dialog-footer">
- <el-button @click="dialogVisible = false" size="default">关闭</el-button>
+ <el-button @click="closeDialog()" size="default">关闭</el-button>
<el-button type="primary" @click="submitForm" size="default">确定</el-button>
</span>
</template>
@@ -146,6 +146,7 @@
const submitForm = () => {
emit('selectItem', dynamicTags.value);
dialogVisible.value = false;
+ radio1.value=''
};
//查询list数据
const listApi = async () => {
@@ -161,6 +162,10 @@
};
// 右方点击添加后显示标签
const dynamicTags = ref([]);
+ const closeDialog=()=>{
+ dialogVisible.value = false
+ handleClose()
+ };
const handleClose = () => {
dynamicTags.value = [];
radio1.value = '';
@@ -196,6 +201,7 @@
checkedItem,
submitReset,
submitForm,
+ closeDialog
};
},
});
diff --git a/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue b/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue
index 581cd61..9cad19d 100644
--- a/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue
+++ b/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue
@@ -351,6 +351,10 @@
await formEl.validate((valid, fields) => {
if (valid) {
isShowDialog.value = false;
+ ruleForm.value.fileList=[]
+ delete ruleForm.value.accidentName
+ delete ruleForm.value.occurrenceTime
+ delete ruleForm.value.id
accidentManagementSystemApi()
.workAdd(ruleForm.value)
.then((res) => {
@@ -380,6 +384,9 @@
await formEl.validate((valid, fields) => {
if (valid) {
isShowDialog.value = false;
+ ruleForm.value.fileList=[]
+ delete ruleForm.value.accidentName
+ delete ruleForm.value.occurrenceTime
accidentManagementSystemApi()
.workView(ruleForm.value)
.then((res) => {
diff --git a/src/views/accidentManagementSystem/workInjuryDeclaration/index.vue b/src/views/accidentManagementSystem/workInjuryDeclaration/index.vue
index 503246d..2f59a97 100644
--- a/src/views/accidentManagementSystem/workInjuryDeclaration/index.vue
+++ b/src/views/accidentManagementSystem/workInjuryDeclaration/index.vue
@@ -1,406 +1,391 @@
<template>
- <div class="system-user-container">
- <el-card shadow="hover">
- <div class="system-user-search mb15">
- <el-form ref="ruleFormRef" size="default" label-width="80px" :inline="true">
- <el-form-item prop="telephone">
- <el-input v-model="listQuery.searchParams.accidentName" placeholder="请选择事故快报" :disabled="true"
- class="input-with-select">
- <template #append>
- <el-button :icon="Search" @click="daiInpt"/>
- </template>
- </el-input>
- </el-form-item>
- <el-button size="default" type="primary" class="ml10" @click="listApi"> 查询</el-button>
- <el-button size="default" class="ml10" @click="submitReset"> 重置</el-button>
- </el-form>
- </div>
- <div class="button_Line">
- <div class="button_Left">
- <el-button size="default" type="primary" @click="onOpenAdd">
- <el-icon>
- <Plus/>
- </el-icon>
- 新建
- </el-button>
- <el-button size="default" type="warning" plain :disabled="warning">
- <el-icon>
- <Edit/>
- </el-icon>
- 修改
- </el-button>
- <el-button size="default" type="danger" plain @click="onDeleteAll" :disabled="danger">
- <el-icon>
- <Delete/>
- </el-icon>
- 删除
- </el-button>
- </div>
- <div class="button_Right">
- <el-button @click="upButton">
- <el-icon>
- <Upload/>
- </el-icon>
- </el-button>
- <el-button>
- <el-icon>
- <Download/>
- </el-icon>
- </el-button>
- <el-button>
- <el-icon>
- <Refresh/>
- </el-icon>
- </el-button>
- </div>
- </div>
- <el-table :data="tableData" style="width: 100%" ref="multipleTableRef"
- @selection-change="handleSelectionChange">
- <el-table-column type="selection" width="55"/>
- <el-table-column prop="declareUserName" label="申报人名称" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="deptName" label="申报人部门" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="accidentName" label="事故名称" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="workInjuryType" label="工商类型" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="declareDate" label="申报日期" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="visitHospital" label="就诊医院" show-overflow-tooltip sortable></el-table-column>
- <el-table-column label="操作" width="260" align="center" fixed="right">
- <template #default="scope">
- <!--<el-button size="small" text disabled>-->
- <!--<el-icon style="margin-right: 5px"> <Upload /> </el-icon>上报-->
- <!--</el-button>-->
- <el-button size="small" text type="primary" @click="onEdit('详情',scope.row.id)">
- <el-icon style="margin-right: 5px">
- <View/>
- </el-icon>
- 查看
- </el-button>
- <el-button size="small" text type="primary" @click="onEdit('修改',scope.row.id)">
- <el-icon style="margin-right: 5px">
- <EditPen/>
- </el-icon>
- 修改
- </el-button>
- <el-button size="small" text type="primary" @click="onRowDel(scope.row.id)"> 删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <div class="pages">
- <el-pagination
- v-if="tableData.length == 0 ? false : true"
- v-model:currentPage="pageIndex"
- v-model:page-size="pageSize"
- :page-sizes="[10, 20, 30]"
- :pager-count="5"
- layout="total, sizes, prev, pager, next, jumper"
- :total="total"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- />
- </div>
- </el-card>
- <AccidentName ref="showRef" @selectItem="onSelectItem"/>
- <OpenAdd ref="addRef" @myAdd="onMyAdd"/>
- <!-- <OpenEdit ref="editRef" />-->
- <upData ref="upShow"></upData>
- </div>
+ <div class="system-user-container">
+ <el-card shadow="hover">
+ <div class="system-user-search mb15">
+ <el-form ref="ruleFormRef" size="default" label-width="80px" :inline="true">
+ <el-form-item prop="telephone">
+ <el-input v-model="accidentName" placeholder="请选择事故快报" :disabled="true" class="input-with-select">
+ <template #append>
+ <el-button :icon="Search" @click="daiInpt" />
+ </template>
+ </el-input>
+ </el-form-item>
+ <el-button size="default" type="primary" class="ml10" @click="listApi"> 查询</el-button>
+ <el-button size="default" class="ml10" @click="submitReset"> 重置</el-button>
+ </el-form>
+ </div>
+ <div class="button_Line">
+ <div class="button_Left">
+ <el-button size="default" type="primary" @click="onOpenAdd">
+ <el-icon>
+ <Plus />
+ </el-icon>
+ 新建
+ </el-button>
+ <el-button size="default" type="warning" plain :disabled="warning">
+ <el-icon>
+ <Edit />
+ </el-icon>
+ 修改
+ </el-button>
+ <el-button size="default" type="danger" plain @click="onDeleteAll" :disabled="danger">
+ <el-icon>
+ <Delete />
+ </el-icon>
+ 删除
+ </el-button>
+ </div>
+ <div class="button_Right">
+ <el-button @click="upButton">
+ <el-icon>
+ <Upload />
+ </el-icon>
+ </el-button>
+ <el-button>
+ <el-icon>
+ <Download />
+ </el-icon>
+ </el-button>
+ <el-button>
+ <el-icon>
+ <Refresh />
+ </el-icon>
+ </el-button>
+ </div>
+ </div>
+ <el-table :data="tableData" style="width: 100%" ref="multipleTableRef" @selection-change="handleSelectionChange">
+ <el-table-column type="selection" width="55" />
+ <el-table-column prop="declareUserName" label="申报人名称" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="deptName" label="申报人部门" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="accidentName" label="事故名称" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="workInjuryType" label="工商类型" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="declareDate" label="申报日期" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="visitHospital" label="就诊医院" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column label="操作" width="260" align="center" fixed="right">
+ <template #default="scope">
+ <!--<el-button size="small" text disabled>-->
+ <!--<el-icon style="margin-right: 5px"> <Upload /> </el-icon>上报-->
+ <!--</el-button>-->
+ <el-button size="small" text type="primary" @click="onEdit('详情', scope.row.id)">
+ <el-icon style="margin-right: 5px">
+ <View />
+ </el-icon>
+ 查看
+ </el-button>
+ <el-button size="small" text type="primary" @click="onEdit('修改', scope.row.id)">
+ <el-icon style="margin-right: 5px">
+ <EditPen />
+ </el-icon>
+ 修改
+ </el-button>
+ <el-button size="small" text type="primary" @click="onRowDel(scope.row.id)"> 删除</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="pages">
+ <el-pagination
+ v-if="tableData.length == 0 ? false : true"
+ v-model:currentPage="pageIndex"
+ v-model:page-size="pageSize"
+ :page-sizes="[10, 20, 30]"
+ :pager-count="5"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </el-card>
+ <AccidentName ref="showRef" @selectItem="onSelectItem" />
+ <OpenAdd ref="addRef" @myAdd="onMyAdd" />
+ <!-- <OpenEdit ref="editRef" />-->
+ <upData ref="upShow"></upData>
+ </div>
</template>
<script lang="ts">
- import {
- // toRefs,
- reactive,
- // onMounted,
- ref,
- defineComponent,
- onMounted,
- } from 'vue';
- import {
- ElMessageBox,
- ElMessage
- } from 'element-plus';
- import {
- Plus,
- Download,
- Refresh,
- View,
- EditPen,
- Edit,
- Delete,
- Search,
- Upload
- } from '@element-plus/icons-vue';
- import AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue';
- import OpenAdd from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue';
- import OpenEdit from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/openEdit.vue';
- import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
- import {accidentManagementSystemApi} from '/@/api/accidentManagementSystem';
+import {
+ // toRefs,
+ reactive,
+ // onMounted,
+ ref,
+ defineComponent,
+ onMounted,
+} from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { Plus, Download, Refresh, View, EditPen, Edit, Delete, Search, Upload } from '@element-plus/icons-vue';
+import AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue';
+import OpenAdd from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue';
+import OpenEdit from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/openEdit.vue';
+import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
+import { accidentManagementSystemApi } from '/@/api/accidentManagementSystem';
- export default defineComponent({
- name: 'index',
- components: {
- OpenEdit,
- EditPen,
- Plus,
- Upload,
- Download,
- Refresh,
- Edit,
- View,
- Delete,
- UpData,
- OpenAdd,
- AccidentName,
- },
- setup() {
- //列表参数
- const listQuery = reactive({
- pageIndex: 1,
- pageSize: 10,
- searchParams: {
- accidentExpressId: "",
- },
- });
- //搜索条件回填
- const onSelectItem = (item: any) => {
- console.log('item', item[0].accidentName);
- listQuery.searchParams.accidentExpressId = item[0].id
- listQuery.searchParams.accidentName = item[0].accidentName
- };
- // 定义表格数据
- const tableData = ref([]);
- // 请求列表数据
- const listApi = async () => {
- let res = await accidentManagementSystemApi().workList(listQuery);
- if (res.data.code == 200) {
- tableData.value = res.data.data;
- pageIndex.value = res.data.pageIndex;
- pageSize.value = res.data.pageSize;
- total.value = res.data.total;
- } else {
- ElMessage.error(res.data.msg);
- }
- };
- onMounted(() => {
- listApi();
- });
- // 重置
- const submitReset = () => {
- listQuery.searchParams.accidentExpressId = ''
- listQuery.searchParams.accidentName = ''
- listApi();
- }
- const warning = ref(true);
- const danger = ref(true);
- const deletAll = ref();
- const handleSelectionChange = (val: any) => {
- let valId = JSON.parse(JSON.stringify(val));
- let arr = [];
- for (let i = 0; i < valId.length; i++) {
- arr.push(valId[i].id);
- }
- deletAll.value = arr;
- if (val.length == 1) {
- warning.value = false;
- danger.value = false;
- } else if (val.length == 0) {
- warning.value = true;
- danger.value = true;
- } else {
- warning.value = true;
- danger.value = false;
- }
- };
- // 事故名称弹窗
- const showRef = ref();
- const daiInpt = () => {
- showRef.value.openDailog();
- };
- // 打开新增弹窗
- const addRef = ref();
- const onOpenAdd = () => {
- addRef.value.openDialog('新建工伤申报', false);
- };
- // 新增后刷新
- const onMyAdd = (e: boolean) => {
- if (e) {
- listApi();
- } else {
- listApi();
- }
- };
- // 上传
- const upShow = ref();
- const upButton = () => {
- upShow.value.openDialog();
- };
+export default defineComponent({
+ name: 'index',
+ components: {
+ OpenEdit,
+ EditPen,
+ Plus,
+ Upload,
+ Download,
+ Refresh,
+ Edit,
+ View,
+ Delete,
+ UpData,
+ OpenAdd,
+ AccidentName,
+ },
+ setup() {
+ //列表参数
+ const listQuery = reactive({
+ pageIndex: 1,
+ pageSize: 10,
+ searchParams: {
+ accidentExpressId: '',
+ },
+ });
+ //搜索条件回填
+ const onSelectItem = (item: any) => {
+ console.log('item', item[0].accidentName);
+ listQuery.searchParams.accidentExpressId = item[0].id;
+ accidentName.value = item[0].accidentName;
+ };
+ // 定义表格数据
+ const tableData = ref([]);
+ // 请求列表数据
+ const listApi = async () => {
+ let res = await accidentManagementSystemApi().workList(listQuery);
+ if (res.data.code == 200) {
+ tableData.value = res.data.data;
+ pageIndex.value = res.data.pageIndex;
+ pageSize.value = res.data.pageSize;
+ total.value = res.data.total;
+ } else {
+ ElMessage.error(res.data.msg);
+ }
+ };
+ onMounted(() => {
+ listApi();
+ });
+ const accidentName = ref();
+ // 重置
+ const submitReset = () => {
+ listQuery.searchParams.accidentExpressId = '';
+ accidentName.value = '';
+ listApi();
+ };
+ const warning = ref(true);
+ const danger = ref(true);
+ const deletAll = ref();
+ const handleSelectionChange = (val: any) => {
+ let valId = JSON.parse(JSON.stringify(val));
+ let arr = [];
+ for (let i = 0; i < valId.length; i++) {
+ arr.push(valId[i].id);
+ }
+ deletAll.value = arr;
+ if (val.length == 1) {
+ warning.value = false;
+ danger.value = false;
+ } else if (val.length == 0) {
+ warning.value = true;
+ danger.value = true;
+ } else {
+ warning.value = true;
+ danger.value = false;
+ }
+ };
+ // 事故名称弹窗
+ const showRef = ref();
+ const daiInpt = () => {
+ showRef.value.openDailog();
+ };
+ // 打开新增弹窗
+ const addRef = ref();
+ const onOpenAdd = () => {
+ addRef.value.openDialog('新建工伤申报', false);
+ };
+ // 新增后刷新
+ const onMyAdd = (e: boolean) => {
+ if (e) {
+ listApi();
+ } else {
+ listApi();
+ }
+ };
+ // 上传
+ const upShow = ref();
+ const upButton = () => {
+ upShow.value.openDialog();
+ };
- // 打开修改用户弹窗
- // const editRef = ref();
- const onEdit = (val: string, row: object) => {
- if (val == '详情') {
- addRef.value.openDialog('查看工伤申报', row, true);
- } else {
- addRef.value.openDialog('修改工伤申报', row, false);
- }
- };
- // 删除用户
- const onRowDel = (data: any) => {
- ElMessageBox.confirm('确定删除所选项吗?', '提示', {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- })
- .then(() => {
- accidentManagementSystemApi()
- .workDelete([data])
- .then((res) => {
- if (res.data.code == 200) {
- ElMessage({
- showClose: true,
- message: res.data.msg,
- type: 'success',
- });
- listApi();
- } else {
- ElMessage({
- showClose: true,
- message: res.data.msg,
- type: 'error',
- });
- listApi();
- }
- });
- })
- .catch(() => {
- });
- };
- // 多选删除
- const onDeleteAll = () => {
- ElMessageBox.confirm('确定删除所选项吗?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning',
- })
- .then(() => {
- accidentManagementSystemApi()
- .workDelete(deletAll.value)
- .then((res) => {
- if (res.data.code == 200) {
- ElMessage({
- showClose: true,
- message: res.data.msg,
- type: 'success',
- });
- listApi();
- } else {
- ElMessage({
- showClose: true,
- message: res.data.msg,
- type: 'error',
- });
- listApi();
- }
- });
- })
- .catch(() => {
- });
- };
- // 分页
- const pageIndex = ref();
- const pageSize = ref();
- const total = ref();
- // 分页改变
- const handleSizeChange = (val: number) => {
- listQuery.pageSize = val;
- };
- // 分页未改变
- const handleCurrentChange = (val: number) => {
- listQuery.pageIndex = val;
- };
- return {
- daiInpt,
- showRef,
- upButton,
- upShow,
- tableData,
- pageIndex,
- pageSize,
- handleSizeChange,
- handleCurrentChange,
- onEdit,
- onOpenAdd,
- addRef,
- // editRef,
- listApi,
- Search,
- submitReset,
- onDeleteAll,
- handleSelectionChange,
- warning,
- danger,
- listQuery,
- onRowDel,
- total,
- onMyAdd,
- onSelectItem
- };
- },
- });
+ // 打开修改用户弹窗
+ // const editRef = ref();
+ const onEdit = (val: string, row: object) => {
+ if (val == '详情') {
+ addRef.value.openDialog('查看工伤申报', row, true);
+ } else {
+ addRef.value.openDialog('修改工伤申报', row, false);
+ }
+ };
+ // 删除用户
+ const onRowDel = (data: any) => {
+ ElMessageBox.confirm('确定删除所选项吗?', '提示', {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ })
+ .then(() => {
+ accidentManagementSystemApi()
+ .workDelete([data])
+ .then((res) => {
+ if (res.data.code == 200) {
+ ElMessage({
+ showClose: true,
+ message: res.data.msg,
+ type: 'success',
+ });
+ listApi();
+ } else {
+ ElMessage({
+ showClose: true,
+ message: res.data.msg,
+ type: 'error',
+ });
+ listApi();
+ }
+ });
+ })
+ .catch(() => {});
+ };
+ // 多选删除
+ const onDeleteAll = () => {
+ ElMessageBox.confirm('确定删除所选项吗?', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning',
+ })
+ .then(() => {
+ accidentManagementSystemApi()
+ .workDelete(deletAll.value)
+ .then((res) => {
+ if (res.data.code == 200) {
+ ElMessage({
+ showClose: true,
+ message: res.data.msg,
+ type: 'success',
+ });
+ listApi();
+ } else {
+ ElMessage({
+ showClose: true,
+ message: res.data.msg,
+ type: 'error',
+ });
+ listApi();
+ }
+ });
+ })
+ .catch(() => {});
+ };
+ // 分页
+ const pageIndex = ref();
+ const pageSize = ref();
+ const total = ref();
+ // 分页改变
+ const handleSizeChange = (val: number) => {
+ listQuery.pageSize = val;
+ };
+ // 分页未改变
+ const handleCurrentChange = (val: number) => {
+ listQuery.pageIndex = val;
+ };
+ return {
+ accidentName,
+ daiInpt,
+ showRef,
+ upButton,
+ upShow,
+ tableData,
+ pageIndex,
+ pageSize,
+ handleSizeChange,
+ handleCurrentChange,
+ onEdit,
+ onOpenAdd,
+ addRef,
+ // editRef,
+ listApi,
+ Search,
+ submitReset,
+ onDeleteAll,
+ handleSelectionChange,
+ warning,
+ danger,
+ listQuery,
+ onRowDel,
+ total,
+ onMyAdd,
+ onSelectItem,
+ };
+ },
+});
</script>
<style scoped lang="scss">
- .table_Box {
- padding: 20px;
- background-color: #fff;
- }
+.table_Box {
+ padding: 20px;
+ background-color: #fff;
+}
- .tableForm {
- margin-top: 10px;
- }
+.tableForm {
+ margin-top: 10px;
+}
- /*按钮行*/
- .button_Line {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- }
+/*按钮行*/
+.button_Line {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+}
- //分页
- .pages {
- display: flex;
- justify-content: flex-end;
- margin-top: 15px;
- }
+//分页
+.pages {
+ display: flex;
+ justify-content: flex-end;
+ margin-top: 15px;
+}
- ::v-deep .el-pagination .el-pager li {
- margin: 0 5px;
- background-color: #f4f4f5;
- color: #606266;
- min-width: 30px;
- border-radius: 2px;
- }
+::v-deep .el-pagination .el-pager li {
+ margin: 0 5px;
+ background-color: #f4f4f5;
+ color: #606266;
+ min-width: 30px;
+ border-radius: 2px;
+}
- ::v-deep .el-pagination .el-pager li.is-active {
- background-color: #409eff;
- color: #fff;
- }
+::v-deep .el-pagination .el-pager li.is-active {
+ background-color: #409eff;
+ color: #fff;
+}
- ::v-deep .el-pagination .btn-prev {
- margin: 0 5px;
- background-color: #f4f4f5;
- color: #606266;
- min-width: 30px;
- border-radius: 2px;
- }
+::v-deep .el-pagination .btn-prev {
+ margin: 0 5px;
+ background-color: #f4f4f5;
+ color: #606266;
+ min-width: 30px;
+ border-radius: 2px;
+}
- ::v-deep .el-pagination button:disabled {
- color: #c0c4cc;
- }
+::v-deep .el-pagination button:disabled {
+ color: #c0c4cc;
+}
- ::v-deep .el-pagination .btn-next {
- margin: 0 5px;
- background-color: #f4f4f5;
- color: #606266;
- min-width: 30px;
- border-radius: 2px;
- }
+::v-deep .el-pagination .btn-next {
+ margin: 0 5px;
+ background-color: #f4f4f5;
+ color: #606266;
+ min-width: 30px;
+ border-radius: 2px;
+}
</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue b/src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue
index de19c3f..cafe13e 100644
--- a/src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue
+++ b/src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue
@@ -20,7 +20,7 @@
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="选择人员" prop="name">
<el-input
- v-model="ruleForm.userName"
+ v-model="ruleForm.name"
placeholder="请选择"
class="input-with-select"
>
@@ -62,7 +62,7 @@
</el-form>
<template #footer>
<span class="dialog-footer">
- <el-button size="default" type="primary" @click="addForm(ruleFormRef)">继续添加</el-button>
+<!-- <el-button size="default" type="primary" @click="addForm(ruleFormRef)">继续添加</el-button>-->
<el-button size="default" @click="resetForm(ruleFormRef)">关闭</el-button>
<el-button size="default" type="primary" v-if="disabled == true ? false : true" @click="submitForm(titles, ruleFormRef)" >确定</el-button>
</span>
@@ -103,7 +103,6 @@
const ruleForm = ref ({
teamId: '',
userUid: '',
- userName:'',
gender: '',
jobNumber: '', // 人员工号
name: '', // 人员名称
@@ -149,11 +148,6 @@
})
const titles = ref();
const disabled = ref();
- //继续添加
- const addForm = (formEl: FormInstance | undefined) => {
- emit('myAdd', ruleForm.value);
- formEl.resetFields();
- }
const submitForm = async (title: string, formEl: FormInstance | undefined) => {
if (title == '新建应急队伍人员') {
if (!formEl) return;
@@ -220,7 +214,6 @@
ruleForm.value = {
teamId: '',
userUid: '',
- userName:'',
gender: '',
jobNumber: '', // 人员工号
name: '', // 人员名称
@@ -259,9 +252,8 @@
};
const onUser = (e:any) => {
ruleForm.value.userUid=e[0].uid
- ruleForm.value.userName=e[0].realName
ruleForm.value.gender=e[0].sex
- ruleForm.value.name=e[0].username
+ ruleForm.value.name=e[0].realName
ruleForm.value.jobNumber=e[0].jobNumber
ruleForm.value.phone=e[0].phone
ruleForm.value.position=e[0].position
@@ -295,7 +287,6 @@
openUser,
userRef,
onUser,
- addForm,
submitForm,
};
},
diff --git a/src/views/contingencyManagement/contingency/component/openAdd.vue b/src/views/contingencyManagement/contingency/component/openAdd.vue
index e853358..d5495f2 100644
--- a/src/views/contingencyManagement/contingency/component/openAdd.vue
+++ b/src/views/contingencyManagement/contingency/component/openAdd.vue
@@ -30,7 +30,7 @@
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="负责人部门" prop="principalDepartmentId">
- <el-tree-select v-model="ruleForm.principalDepartmentId" :data="data" class="w100"
+ <el-tree-select v-model="ruleForm.principalDepartmentId" :data="newTreeList" class="w100"
:props="propse" clearable placeholder="请选择"/>
</el-form-item>
</el-col>
@@ -163,12 +163,7 @@
principalPhone: '', // 负责人手机
telephoneNumber: '', // 固定电话
teamDesc: '', //队伍描述
- fileList: [
- {
- fileUrl: 'url',
- fileName: 'name',
- }
- ],
+ fileList: [],
memberList: []
});
const titles = ref();
@@ -201,29 +196,53 @@
// 上传附件
const fileList = ref<UploadUserFile[]>([])
- //部门树
- const department = () => {
- goalManagementApi()
+ //定义树形下拉框
+ const principalDepartmentId = ref()
+ const data = ref()
+
+
+
+ //el-tree-select回显
+ const propse = {
+ label: 'depName',
+ children: 'children',
+ };
+ const newTreeList = [];
+ //得到部门树
+ const department = async () => {
+ await goalManagementApi()
.getTreedepartment()
.then((res) => {
if (res.data.code == 200) {
data.value = res.data.data;
+ getTreeList(res.data.data, newTreeList);
} else {
ElMessage.error(res.data.msg);
}
});
};
- //定义树形下拉框
- const principalDepartmentId = ref()
- const propse = {
- label: 'depName',
- children: 'children',
- value: 'depId',
+ // 递归树状数据且修改字段名
+ const getTreeList = (treeList, newTreeList) => {
+ treeList.map((c) => {
+ let tempData = {
+ depName: c.depName,
+ value: c.depId,
+ children: [],
+ };
+ if (c.children && c.children.length > 0) {
+ tempData.children = [];
+ getTreeList(c.children, tempData.children);
+ }
+ newTreeList.push(tempData);
+ });
};
- const data = ref()
onMounted(() => {
department();
});
+
+
+
+
// 打开用户选择弹窗
const userRef = ref();
const openUser = () => {
@@ -327,6 +346,7 @@
if (!formEl) return;
await formEl.validate((valid, fields) => {
if (valid) {
+ ruleForm.value.fileList=[]
isShowDialog.value = false;
contingencyApi()
.editEmergencyTeam(ruleForm.value)
@@ -361,12 +381,7 @@
principalPhone: '', // 负责人手机
telephoneNumber: '', // 固定电话
teamDesc: '', //队伍描述
- fileList: [
- {
- fileUrl: 'url',
- fileName: 'name',
- }
- ],
+ fileList: [],
memberList: []
};
}
@@ -376,6 +391,7 @@
if (!formEl) return;
formEl.resetFields();
tableData.value=[]
+ ruleForm.value = {}
};
// 定义表格数据
const tableData = ref([]);
@@ -392,7 +408,6 @@
}else {
addRef.value.openDialog('新建应急队伍人员','',teamId.value);
}
-
};
// 请求列表数据
const listApi = async () => {
@@ -406,10 +421,6 @@
// 新增后刷新
const onMyAdd = (e: object) => {
listApi();
- // console.log(e)
- // item.value = e
- // tableData.value.push(item.value)
- // console.log(tableData)
};
// 打开修改弹窗
const onEdit = (val: string, row: object) => {
@@ -482,7 +493,8 @@
onRowDel,
department,
peopleInsertBtn,
- teamId
+ teamId,
+ newTreeList
};
},
});
diff --git a/src/views/contingencyManagement/contingency/index.vue b/src/views/contingencyManagement/contingency/index.vue
index 2196936..69ae1a4 100644
--- a/src/views/contingencyManagement/contingency/index.vue
+++ b/src/views/contingencyManagement/contingency/index.vue
@@ -7,7 +7,7 @@
<el-input size="default" v-model="listQuery.searchParams.teamName" placeholder="队伍名称"> </el-input>
</el-form-item>
<el-form-item>
- <el-select size="default" v-model="listQuery.searchParams.teamType" placeholder="请选择队伍级别">
+ <el-select size="default" v-model="listQuery.searchParams.teamLevel" placeholder="请选择队伍级别">
<el-option label="公司" value="1"></el-option>
<el-option label="分厂-车间" value="2"></el-option>
<el-option label="工序-班组等" value="3"></el-option>
@@ -30,11 +30,11 @@
<Plus />
</el-icon>新建
</el-button>
- <el-button size="default" type="warning" plain :disabled="warning">
- <el-icon>
- <Edit />
- </el-icon>修改
- </el-button>
+<!-- <el-button size="default" type="warning" plain :disabled="warning">-->
+<!-- <el-icon>-->
+<!-- <Edit />-->
+<!-- </el-icon>修改-->
+<!-- </el-button>-->
<el-button size="default" type="danger" plain :disabled="danger" @click="onDeleteAll">
<el-icon>
<Delete />
@@ -134,8 +134,8 @@
ElMessageBox,
ElMessage,
} from 'element-plus';
-import { Plus,
- Edit,
+import {
+ Plus,
Delete,
// Upload,
// Download,
@@ -155,7 +155,6 @@
View,
EditPen,
Plus,
- Edit,
Delete,
// Upload,
// Download,
@@ -170,7 +169,7 @@
pageSize: 10,
searchParams: {
teamName: "",
- teamType: "",
+ teamLevel: "",
}
})
// 定义表格数据
@@ -194,10 +193,10 @@
// 重置
const submitReset = () => {
listQuery.searchParams.teamName = '';
- listQuery.searchParams.teamType = '';
+ listQuery.searchParams.teamLevel = '';
onSubmit();
};
- const warning = ref(true);
+ // const warning = ref(true);
const danger = ref(true);
const deleteAll = ref();
const handleSelectionChange = (val: any) => {
@@ -208,13 +207,13 @@
}
deleteAll.value = arr;
if (val.length == 1) {
- warning.value = false;
+ // warning.value = false;
danger.value = false;
} else if (val.length == 0) {
- warning.value = true;
+ // warning.value = true;
danger.value = true;
} else {
- warning.value = true;
+ // warning.value = true;
danger.value = false;
}
};
@@ -340,7 +339,7 @@
onHandleSizeChange,
onHandleCurrentChange,
deleteAll,
- warning,
+ // warning,
danger,
};
},
diff --git a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue
index 07f4e5f..81b4674 100644
--- a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue
+++ b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue
@@ -6,6 +6,7 @@
width="900px"
draggable
:fullscreen="full"
+ @close="resetForm(ruleFormRef)"
>
<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
<el-form
@@ -433,7 +434,7 @@
const ruleFormRef = ref<FormInstance>()
//定义表单
const ruleForm = ref ({
- drillPlanId: '',
+ drillExecuteId: '',
suitable: '',
sufficient: '',
arrival: '',
@@ -450,10 +451,29 @@
questionAndImprove: '',
modifyContent: '',
fileList: [
- {
- fileName: 'name',
- fileUrl: 'url',
- }
+ ],
+ userList: [
+ ]
+ });
+ //定义表单
+ const realRuleForm = ref ({
+ drillExecuteId: '',
+ suitable: '',
+ sufficient: '',
+ arrival: '',
+ supplies: '',
+ protection: '',
+ whole: '',
+ division: '',
+ effect: '',
+ report: '',
+ safety: '',
+ rescue: '',
+ evacuate: '',
+ needModify: '',
+ questionAndImprove: '',
+ modifyContent: '',
+ fileList: [
],
userList: [
]
@@ -504,18 +524,28 @@
ruleForm.value.chargeUserListString=''
ruleForm.value.executeUserListString=''
ruleForm.value.evaluationUserListString=''
- for(var a = 0;a<res.data.data.planUserList.length;a++){
- ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'
+ if(res.data.data.planUserList){
+ for(var a = 0;a<res.data.data.planUserList.length;a++){
+ ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'
+ }
}
- for(var a = 0;a<res.data.data.planChargeUserList.length;a++){
- ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'
+
+ if(res.data.data.planChargeUserList){
+ for(var a = 0;a<res.data.data.planChargeUserList.length;a++){
+ ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'
+ }
}
- for(var a = 0;a<res.data.data.executeUserList.length;a++){
- ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'
+
+ if(res.data.data.executeUserList){
+ for(var a = 0;a<res.data.data.executeUserList.length;a++){
+ ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'
+ }
}
//演练负责人(评价)
- for(var a = 0;a<res.data.data.evaluationUserList.length;a++){
- ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'
+ if(res.data.data.evaluationUserList){
+ for(var a = 0;a<res.data.data.evaluationUserList.length;a++){
+ ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'
+ }
}
}
});
@@ -530,19 +560,31 @@
ruleForm.value.chargeUserListString=''
ruleForm.value.executeUserListString=''
ruleForm.value.evaluationUserListString=''
- for(var a = 0;a<res.data.data.planUserList.length;a++){
- ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'
+
+ if(res.data.data.planUserList){
+ for(var a = 0;a<res.data.data.planUserList.length;a++){
+ ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'
+ }
}
- for(var a = 0;a<res.data.data.planChargeUserList.length;a++){
- ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'
+
+ if(res.data.data.planChargeUserList){
+ for(var a = 0;a<res.data.data.planChargeUserList.length;a++){
+ ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'
+ }
}
- for(var a = 0;a<res.data.data.executeUserList.length;a++){
- ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'
+
+ if(res.data.data.executeUserList){
+ for(var a = 0;a<res.data.data.executeUserList.length;a++){
+ ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'
+ }
}
//演练负责人(评价)
- for(var a = 0;a<res.data.data.evaluationUserList.length;a++){
- ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'
+ if(res.data.data.evaluationUserList){
+ for(var a = 0;a<res.data.data.evaluationUserList.length;a++){
+ ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'
+ }
}
+
}
});
}
@@ -623,6 +665,34 @@
const submitForm = async (title: string, formEl: FormInstance | undefined) => {
//演练负责人(评价)
ruleForm.value.userList = ruleForm.value.evaluationUserList
+
+
+
+ realRuleForm.value.drillExecuteId=ruleForm.value.drillExecuteId
+ realRuleForm.value.suitable=ruleForm.value.suitable
+ realRuleForm.value.sufficient=ruleForm.value.sufficient
+ realRuleForm.value.arrival=ruleForm.value.arrival
+ realRuleForm.value.supplies=ruleForm.value.supplies
+ realRuleForm.value.protection=ruleForm.value.protection
+ realRuleForm.value.whole=ruleForm.value.whole
+ realRuleForm.value.division=ruleForm.value.division
+ realRuleForm.value.effect=ruleForm.value.effect
+ realRuleForm.value.report=ruleForm.value.report
+ realRuleForm.value.safety=ruleForm.value.safety
+ realRuleForm.value.rescue=ruleForm.value.rescue
+ realRuleForm.value.evacuate=ruleForm.value.evacuate
+ realRuleForm.value.needModify=ruleForm.value.needModify
+ realRuleForm.value.questionAndImprove=ruleForm.value.questionAndImprove
+ realRuleForm.value.modifyContent=ruleForm.value.modifyContent
+ realRuleForm.value.fileList=ruleForm.value.fileList
+ if(ruleForm.value.userList){
+ for(var a = 0;a<ruleForm.value.userList.length;a++){
+ realRuleForm.value.userList.push({
+ userUid:ruleForm.value.userList[a].userUid,
+ userName:ruleForm.value.userList[a].userName
+ })
+ }
+ }
// console.log(ruleForm.value.evaluationUserList)
// ruleForm.value.userList=[]
// for(var a = 0;a<ruleForm.value.evaluationUserList.length;a++){
@@ -634,7 +704,7 @@
if (valid) {
// console.log(ruleForm.value)
emergencyDrillEvaluationApi()
- .editEmergencyDrillEvaluation(ruleForm.value)
+ .editEmergencyDrillEvaluation(realRuleForm.value)
// emergencyDrillExecuteApi()
// .editEmergencyDrillExecute(ruleForm.value)
.then((res) => {
@@ -709,6 +779,7 @@
)
ruleForm.value.evaluationUserListString+=e[a].realName+';'
}
+ console.log(ruleForm.value.evaluationUserList)
}
//el-tree-select回显
const propse = {
@@ -789,7 +860,8 @@
department,
newTreeList,
selectUser,
- submitForm
+ submitForm,
+ realRuleForm
};
},
});
diff --git a/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue
index 15f3892..3b85b4a 100644
--- a/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue
+++ b/src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue
@@ -205,7 +205,7 @@
<el-form-item label="演练过程描述" prop="processDesc">
<el-input
v-model="ruleForm.processDesc"
- placeholder="请填写演练目的"
+ placeholder="请填写演练过程描述"
class="textarea"
type="textarea"
/>
@@ -412,6 +412,8 @@
const drillRecordDate = ref('')
// 表单提交验证必填项
const submitForm = async (title: string, formEl: FormInstance | undefined) => {
+ delete ruleForm.value.drillName
+ delete ruleForm.value.autualUserListString
if (title == '新建应急演练实施') {
if (!formEl) return;
await formEl.validate((valid, fields) => {
diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue
index a1a8412..8325c4b 100644
--- a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue
+++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue
@@ -80,11 +80,11 @@
<el-date-picker v-model="ruleForm.drillPlanDate" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
</el-form-item>
</el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="修改时间" prop="gmtModitify">
- <el-date-picker v-model="ruleForm.gmtModitify" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
- </el-form-item>
- </el-col>
+ <!--<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">-->
+ <!--<el-form-item label="修改时间" prop="gmtModitify">-->
+ <!--<el-date-picker v-model="ruleForm.gmtModitify" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />-->
+ <!--</el-form-item>-->
+ <!--</el-col>-->
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="计划定制人" prop="makingUserName">
<el-input v-model="ruleForm.makingUserName" placeholder="请填写计划定制人" disabled></el-input>
@@ -319,6 +319,11 @@
// 表单提交验证必填项
const submitForm = async (title: string, formEl: FormInstance | undefined) => {
ruleForm.value.userList = ruleForm.value.userList.concat(ruleForm.value.chargeUserList)
+ delete ruleForm.value.planName
+ delete ruleForm.value.chargeUserListString
+ delete ruleForm.value.userListString
+ delete ruleForm.value.chargeUserList
+ delete ruleForm.value.gmtModitify
if (title == '新建应急演练计划发布') {
if (!formEl) return;
await formEl.validate((valid, fields) => {
diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue
index ba15f44..07a7b7b 100644
--- a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue
+++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue
@@ -1,5 +1,5 @@
<template>
- <el-dialog v-model="dialogVisible" title="选择应急预案" width="900px" draggable :fullscreen="full">
+ <el-dialog v-model="dialogVisible" title="选择应急预案" width="900px" draggable :fullscreen="full" @close="closeDialog">
<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
<el-row>
<el-col :span="18">
@@ -132,6 +132,9 @@
dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
radio1.value = '';
};
+ const closeDialog = () =>{
+ handleClose('')
+ }
const radio1 = ref('');
const radio = (event: any) => {
dynamicTags.value[0] = event;
@@ -175,6 +178,7 @@
listQuery,
onSubmit,
submitForm,
+ closeDialog
};
},
});
diff --git a/src/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue b/src/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue
index da6b207..9fe5f86 100644
--- a/src/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue
+++ b/src/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue
@@ -1,5 +1,5 @@
<template>
- <el-dialog v-model="dialogVisible" title="选择应急预案" width="900px" draggable :fullscreen="full">
+ <el-dialog v-model="dialogVisible" title="选择应急预案" width="900px" draggable :fullscreen="full" @close="closeDialog">
<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
<el-row>
<el-col :span="18">
@@ -154,6 +154,9 @@
dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
radio1.value = '';
};
+ const closeDialog = () => {
+ handleClose('')
+ }
const radio1 = ref('');
const radio = (event: any) => {
dynamicTags.value[0] = event;
@@ -198,6 +201,7 @@
onSubmit,
submitForm,
total,
+ closeDialog
};
},
});
diff --git a/src/views/contingencyManagement/emergencyPlanStartRecord/index.vue b/src/views/contingencyManagement/emergencyPlanStartRecord/index.vue
index 29f589c..7c1587d 100644
--- a/src/views/contingencyManagement/emergencyPlanStartRecord/index.vue
+++ b/src/views/contingencyManagement/emergencyPlanStartRecord/index.vue
@@ -157,12 +157,15 @@
// 请求列表数据
const onSubmit = async () => {
+ var planName = listQuery.searchParams.planName
+ delete listQuery.searchParams.planName
let res = await emergencyPlanLogApi().getEmergencyPlanLogList(listQuery);
if (res.data.code == 200) {
tableData.value = res.data.data;
pageIndex.value = res.data.pageIndex;
pageSize.value = res.data.pageSize;
total.value = res.data.total;
+ listQuery.searchParams.planName = planName
} else {
ElMessage.error(res.data.msg);
}
diff --git a/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/component/openAdd.vue b/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/component/openAdd.vue
index 3137291..a241308 100644
--- a/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/component/openAdd.vue
+++ b/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/component/openAdd.vue
@@ -138,6 +138,8 @@
await formEl.validate((valid, fields) => {
if (valid) {
isShowDialog.value = false;
+ delete ruleForm.value.suppliesName
+ delete ruleForm.value.userName
emergencyMaterialsInspectionApi()
.addEmergencyMaterialsInspection(ruleForm.value)
.then((res) => {
@@ -167,6 +169,8 @@
await formEl.validate((valid, fields) => {
if (valid) {
isShowDialog.value = false;
+ delete ruleForm.value.suppliesName
+ delete ruleForm.value.userName
emergencyMaterialsInspectionApi()
.editEmergencyMaterialsInspection(ruleForm.value)
.then((res) => {
diff --git a/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue b/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue
index 5e14343..2e31c2e 100644
--- a/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue
+++ b/src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue
@@ -4,7 +4,7 @@
<div class="system-user-search mb15">
<el-form size="default" label-width="80px" :inline="true">
<el-form-item prop="telephone">
- <el-input v-model="listQuery.searchParams.suppliesName" placeholder="请选择应急物资" class="input-with-select">
+ <el-input v-model="suppliesName" placeholder="请选择应急物资" class="input-with-select">
<template #append>
<el-button :icon="Search" @click="daiInpt" />
</template>
@@ -143,10 +143,11 @@
});
}
};
+ const suppliesName=ref()
// 重置
const submitReset = () => {
listQuery.searchParams.suppliesId = '';
- listQuery.searchParams.suppliesName=""
+ suppliesName.value=""
onSubmit();
};
const warning = ref(true);
@@ -266,7 +267,7 @@
};
const onUser = (e: any) => {
listQuery.searchParams.suppliesId = e.id;
- listQuery.searchParams.suppliesName=e.name
+ suppliesName.value=e.name
};
// 分页
const pageIndex = ref();
@@ -287,6 +288,7 @@
onSubmit();
});
return {
+ suppliesName,
upButton,
upShow,
Edit,
diff --git a/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/inspect.vue b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/inspect.vue
index 0953d51..d67642c 100644
--- a/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/inspect.vue
+++ b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/inspect.vue
@@ -121,6 +121,7 @@
await formEl.validate((valid, fields) => {
if (valid) {
isShowDialog.value = false;
+ delete ruleForm.value.userName
emergencyMaterialsInspectionApi()
.addEmergencyMaterialsInspection(ruleForm.value)
.then((res) => {
diff --git a/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/maintain.vue b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/maintain.vue
index b30bcc2..fb8b0a1 100644
--- a/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/maintain.vue
+++ b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/maintain.vue
@@ -120,6 +120,7 @@
await formEl.validate((valid, fields) => {
if (valid) {
isShowDialog.value = false;
+ delete ruleForm.value.userName
maintenanceEmergencyMaterialsApi()
.addMaintenanceEmergencyMaterials(ruleForm.value)
.then((res) => {
diff --git a/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/component/openAdd.vue b/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/component/openAdd.vue
index 7bcfdce..fd30fbe 100644
--- a/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/component/openAdd.vue
+++ b/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/component/openAdd.vue
@@ -113,6 +113,8 @@
if (valid) {
if (titles.value == '新建应急物资保养') {
isShowDialog.value = false;
+ delete ruleForm.value.suppliesName
+ delete ruleForm.value.userName
maintenanceEmergencyMaterialsApi()
.addMaintenanceEmergencyMaterials(ruleForm.value)
.then((res) => {
@@ -134,6 +136,8 @@
});
} else if (titles.value == '修改应急物资保养') {
isShowDialog.value = false;
+ delete ruleForm.value.suppliesName
+ delete ruleForm.value.userName
maintenanceEmergencyMaterialsApi()
.editMaintenanceEmergencyMaterials(ruleForm.value)
.then((res) => {
diff --git a/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue b/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue
index 3544d06..f45019b 100644
--- a/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue
+++ b/src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue
@@ -4,7 +4,7 @@
<div class="system-user-search mb15">
<el-form size="default" label-width="80px" :inline="true">
<el-form-item prop="telephone">
- <el-input v-model="listQuery.searchParams.suppliesName" placeholder="请选择应急物资" class="input-with-select">
+ <el-input v-model="suppliesName" placeholder="请选择应急物资" class="input-with-select">
<template #append>
<el-button :icon="Search" @click="daiInpt" />
</template>
@@ -148,10 +148,11 @@
});
}
};
+ const suppliesName = ref('');
// 重置
const submitReset = () => {
listQuery.searchParams.suppliesId = '';
- listQuery.searchParams.suppliesName="";
+ suppliesName.value = '';
onSubmit();
};
const warning = ref(true);
@@ -163,7 +164,7 @@
for (let i = 0; i < valId.length; i++) {
arr.push(valId[i].id);
}
- deletAll.value = arr
+ deletAll.value = arr;
if (val.length == 1) {
warning.value = false;
danger.value = false;
@@ -178,7 +179,7 @@
// 打开新建用户弹窗
const addRef = ref();
- const onOpenAdd = (data:any) => {
+ const onOpenAdd = (data: any) => {
addRef.value.openDialog(data);
};
// 新增后刷新
@@ -199,8 +200,8 @@
};
// 删除
const onRowDel = (data: any) => {
- let arr=[]
- arr.push(data)
+ let arr = [];
+ arr.push(data);
ElMessageBox.confirm('确定删除所选项吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@@ -271,7 +272,7 @@
};
const onUser = (e: any) => {
listQuery.searchParams.suppliesId = e.id;
- listQuery.searchParams.suppliesName=e.name
+ suppliesName.value = e.name;
};
// 分页
const pageIndex = ref();
@@ -292,6 +293,7 @@
onSubmit();
});
return {
+ suppliesName,
upButton,
upShow,
Edit,
diff --git a/src/views/contingencyManagement/panManagement/component/abolishLibrary.vue b/src/views/contingencyManagement/panManagement/component/abolishLibrary.vue
index f13523f..c36b1e3 100644
--- a/src/views/contingencyManagement/panManagement/component/abolishLibrary.vue
+++ b/src/views/contingencyManagement/panManagement/component/abolishLibrary.vue
@@ -12,8 +12,15 @@
:header-cell-style="{ background: '#f6f7fa', color: '#909399' }"
>
<el-table-column prop="name" label="预案名称" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="type" label="预案类型" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="authorUid" label="编写人" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="type" label="预案类型" show-overflow-tooltip sortable>
+ <template #default="scope">
+ <div v-if="scope.row.type==1">综合应急预案</div>
+ <div v-if="scope.row.type==2">现场处置方案</div>
+ <div v-if="scope.row.type==3">专项应急预案</div>
+ <div v-if="scope.row.type==4">其他预案</div>
+ </template>
+ </el-table-column>
+ <el-table-column prop="authorName" label="编写人" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="releaseDate" label="发布实施日期" show-overflow-tooltip sortable></el-table-column>
<el-table-column label="操作" width="200" align="center">
<template #default="scope">
diff --git a/src/views/contingencyManagement/panManagement/component/approval.vue b/src/views/contingencyManagement/panManagement/component/approval.vue
index b6db937..aed57e8 100644
--- a/src/views/contingencyManagement/panManagement/component/approval.vue
+++ b/src/views/contingencyManagement/panManagement/component/approval.vue
@@ -6,19 +6,19 @@
<el-row :gutter="35">
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="审批名称" prop="workName">
- <el-input v-model="ruleForm.workName" placeholder="请填写队伍名称"></el-input>
+ <el-input v-model="ruleForm.workName" placeholder="请填写队伍名称" disabled></el-input>
</el-form-item>
</el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="审批标题" prop="title">
- <el-input v-model="ruleForm.title" placeholder="请填写审批名称"></el-input>
- </el-form-item>
- </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="审批标题" prop="title">
+ <el-input v-model="ruleForm.title" placeholder="请填写审批名称" disabled></el-input>
+ </el-form-item>
+ </el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="审批人" prop="approvePersonId">
- <el-input v-model="ruleForm.approvePersonName" placeholder="请选择" class="input-with-select">
+ <el-input v-model="ruleForm.approvePersonName" placeholder="请选择" class="input-with-select" disabled>
<template #append>
- <el-button :icon="Search" @click="openUser" />
+ <el-button :icon="Search" @click="openUser" :disabled="disabled"/>
</template>
</el-input>
</el-form-item>
@@ -26,8 +26,8 @@
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="审批结果" prop="authorUid">
<el-radio-group v-model="ruleForm.approveResult">
- <el-radio :label="false">不通过</el-radio>
- <el-radio :label="true">通过</el-radio>
+ <el-radio :label="false">不通过</el-radio>
+ <el-radio :label="true">通过</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
@@ -37,25 +37,25 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="是否完成" prop="authorUid" @change="typeChang">
+ <el-form-item label="是否完成" prop="complete" @change="typeChang">
<el-radio-group v-model="ruleForm.complete">
<el-radio :label="false">是</el-radio>
<el-radio :label="true">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
- <el-col v-if="ruleForm.complete" :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="审批名称" prop="workName">
- <el-input v-model="ruleForm.twoWorkName" placeholder="请填写队伍名称"></el-input>
- </el-form-item>
- </el-col>
- <el-col v-if="ruleForm.complete" :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="审批标题" prop="title">
- <el-input v-model="ruleForm.twoTitle" placeholder="请填写审批名称"></el-input>
- </el-form-item>
- </el-col>
<el-col v-if="ruleForm.complete" :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="审批人" prop="authorUid">
+ <el-form-item label="审批名称" prop="twoWorkName">
+ <el-input v-model="ruleForm.twoWorkName" placeholder="请填写队伍名称"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col v-if="ruleForm.complete" :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="审批标题" prop="twoTitle">
+ <el-input v-model="ruleForm.twoTitle" placeholder="请填写审批名称"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col v-if="ruleForm.complete" :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="审批人" prop="twoApprovePersonName">
<el-input v-model="ruleForm.twoApprovePersonName" placeholder="请选择" class="input-with-select">
<template #append>
<el-button :icon="Search" @click="openUser" />
@@ -88,72 +88,87 @@
export default defineComponent({
name: 'openAdd',
components: {
- DailogSearchUserManger,
+ DailogSearchUserManger,
},
setup(prop, { emit }) {
const isShowDialog = ref(false);
const ruleFormRef = ref<FormInstance>();
const ruleForm = ref({
- approveId: '',
- workName: '', // 审批名称
- title: '', //审批标题
- approvePersonId: '', //
- approvePersonName: '', // 审批人
- approveStatus: 2, //审批状态
- relateType: 1, //业务类型
- approveResult: false, //审批结果
- approveMemo: '', //审批意见
- relateId: '',
- twoWorkName:'',
- twoTitle:'',
- twoApprovePersonId:'',
- twoApprovePersonName:''
+ approveId: '',
+ workName: '', // 审批名称
+ title: '', //审批标题
+ approvePersonId: '', //
+ approvePersonName: '', // 审批人
+ approveStatus: 2, //审批状态
+ relateType: 1, //业务类型
+ approveResult: false, //审批结果
+ approveMemo: '', //审批意见
+ relateId: '',
+ twoWorkName: '',
+ twoTitle: '',
+ twoApprovePersonId: '',
+ twoApprovePersonName: '',
});
const titles = ref();
const disabled = ref();
- const uid = ref();
+ const uid = ref();
// 打开弹窗
- const openDialog = (title: string, id: number, type: boolean) => {
+ const openDialog = (title: string, approveId: number, type: boolean, id: number) => {
isShowDialog.value = true;
titles.value = title;
disabled.value = type;
- ruleForm.value.relateId = id;
- uid.value = id;
- if(title == '查看审批' || title == '修改审批') {
- emergencyPlanApi()
- .approvalProcessEmergencyPlan(id)
- .then((res) => {
- if (res.data.code == 200) {
- ruleForm.value = res.data.data;
- }
- });
- }
+
+ uid.value = approveId;
+ if (title == '查看审批' || title == '审批') {
+ emergencyPlanApi()
+ .approvalProcessEmergencyPlan(approveId)
+ .then((res) => {
+ if (res.data.code == 200) {
+ ruleForm.value = res.data.data;
+ ruleForm.value.relateId = id;
+ }
+ });
+ }
};
const submitForm = async () => {
- ruleForm.value.workName = ruleForm.value.twoWorkName
- ruleForm.value.title = ruleForm.value.twoTitle
- ruleForm.value.approvePersonId = ruleForm.value.twoApprovePersonId
- ruleForm.value.approvePersonName = ruleForm.value.twoApprovePersonName
- isShowDialog.value = false;
- emergencyPlanApi()
- .editApprovalEmergencyPlan(ruleForm.value)
- .then((res) => {
- if (res.data.code == 200) {
- ElMessage({
- showClose: true,
- message: '修改成功',
- type: 'success',
- });
- emit('myAdd', true);
- } else {
- ElMessage({
- showClose: true,
- message: res.data.msg,
- type: 'error',
- });
- emit('myAdd', true);
- }
- });
+ console.log(ruleForm.value);
+
+ ruleForm.value.workName = ruleForm.value.twoWorkName;
+ ruleForm.value.title = ruleForm.value.twoTitle;
+ ruleForm.value.approvePersonId = ruleForm.value.twoApprovePersonId;
+ ruleForm.value.approvePersonName = ruleForm.value.twoApprovePersonName;
+ ruleForm.value.relateType = 1;
+ isShowDialog.value = false;
+ if(ruleForm.value.complete == false) {
+ ruleForm.value.approveStatus=3
+ }
+ delete ruleForm.value.gmtCreate
+ delete ruleForm.value.complete
+ delete ruleForm.value.submitPersonName
+
+ delete ruleForm.value.twoApprovePersonId
+ delete ruleForm.value.twoApprovePersonName
+ delete ruleForm.value.twoTitle
+ delete ruleForm.value.twoWorkName
+ emergencyPlanApi()
+ .editApprovalEmergencyPlan(ruleForm.value)
+ .then((res) => {
+ if (res.data.code == 200) {
+ ElMessage({
+ showClose: true,
+ message: '修改成功',
+ type: 'success',
+ });
+ emit('myAdd', true);
+ } else {
+ ElMessage({
+ showClose: true,
+ message: res.data.msg,
+ type: 'error',
+ });
+ emit('myAdd', true);
+ }
+ });
};
const resetForm = () => {
isShowDialog.value = false;
@@ -165,8 +180,8 @@
};
//回显
const onUser = (e: any) => {
- ruleForm.value.twoApprovePersonId = e[0].uid;
- ruleForm.value.twoApprovePersonName = e[0].realName;
+ ruleForm.value.twoApprovePersonId = e[0].uid;
+ ruleForm.value.twoApprovePersonName = e[0].realName;
};
const typeChang = () => {
console.log('tag', ruleForm);
@@ -198,7 +213,7 @@
resetForm,
onUser,
typeChang,
- uid,
+ uid,
};
},
});
diff --git a/src/views/contingencyManagement/panManagement/component/approvalProcess.vue b/src/views/contingencyManagement/panManagement/component/approvalProcess.vue
index 2356a0b..209c51a 100644
--- a/src/views/contingencyManagement/panManagement/component/approvalProcess.vue
+++ b/src/views/contingencyManagement/panManagement/component/approvalProcess.vue
@@ -1,50 +1,45 @@
<template>
- <div class="system-edit-user-container">
- <el-dialog title="查看审批流程" v-model="isShowDialog" width="60%" draggable :fullscreen="full">
- <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
- <el-row :gutter="35">
- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-table
- :data="tableData"
- style="width: 100%; margin-top: 15px"
- ref="multipleTableRef"
- :model="formInline"
- :header-cell-style="{ background: '#f6f7fa', color: '#909399' }"
- >
- <el-table-column prop="workName" label="审批人" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="title" label="审批标题" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="approvePersonName" label="编写人" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="approveMemo" label="审批意见" show-overflow-tooltip sortable></el-table-column>
- <el-table-column label="操作" width="200" align="center">
- <template #default="scope">
- <el-button size="small" text type="primary" @click="onReduction(scope.row.id)">还原</el-button>
- </template>
- </el-table-column>
- </el-table>
- </el-col>
- </el-row>
- <div class="pages">
- <el-pagination
- v-if="tableData.length == 0 ? false : true"
- v-model:currentPage="pageIndex"
- v-model:page-size="pageSize"
- :page-sizes="[10, 20, 30]"
- :pager-count="5"
- class="mt15"
- background
- layout="total, sizes, prev, pager, next, jumper"
- :total="total"
- @size-change="onHandleSizeChange"
- @current-change="onHandleCurrentChange"
- />
- </div>
- <template #footer>
+ <div class="system-edit-user-container">
+ <el-dialog title="查看审批流程" v-model="isShowDialog" width="60%" draggable :fullscreen="full">
+ <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
+ <el-row :gutter="35">
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-table
+ :data="tableData"
+ style="width: 100%; margin-top: 15px"
+ ref="multipleTableRef"
+ :model="formInline"
+ :header-cell-style="{ background: '#f6f7fa', color: '#909399' }"
+ >
+ <el-table-column prop="workName" label="审批人" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="title" label="审批标题" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="approvePersonName" label="编写人" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="approveMemo" label="审批意见" show-overflow-tooltip sortable></el-table-column>
+ </el-table>
+ </el-col>
+ </el-row>
+ <div class="pages">
+ <el-pagination
+ v-if="tableData.length == 0 ? false : true"
+ v-model:currentPage="pageIndex"
+ v-model:page-size="pageSize"
+ :page-sizes="[10, 20, 30]"
+ :pager-count="5"
+ class="mt15"
+ background
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total"
+ @size-change="onHandleSizeChange"
+ @current-change="onHandleCurrentChange"
+ />
+ </div>
+ <template #footer>
<span class="dialog-footer">
<el-button @click="onCancel">取消</el-button>
</span>
- </template>
- </el-dialog>
- </div>
+ </template>
+ </el-dialog>
+ </div>
</template>
<script lang="ts">
@@ -52,151 +47,150 @@
import type { FormInstance } from 'element-plus';
import {
- // ElMessageBox,
- ElMessage,
+ // ElMessageBox,
+ ElMessage,
} from 'element-plus';
import { Search, FullScreen } from '@element-plus/icons-vue';
import { emergencyPlanApi } from '../../../../api/contingencyManagement/emergencyPlan';
export default defineComponent({
- name: 'abolishLibrary',
- components: {},
- setup(prop, { emit }) {
- // 列表参数
- const listQuery = reactive({
- pageIndex: 1,
- pageSize: 10,
- searchParams: {
- relateType: 1,
- relateId: '',
- startTime: '',
- endTime: '',
- },
- });
- // 定义表格数据
- const tableData = ref([]);
+ name: 'abolishLibrary',
+ components: {},
+ setup(prop, { emit }) {
+ // 列表参数
+ const listQuery = reactive({
+ pageIndex: 1,
+ pageSize: 10,
+ searchParams: {
+ relateType: 1,
+ relateId: '',
+ startTime: '',
+ endTime: '',
+ },
+ });
+ // 定义表格数据
+ const tableData = ref([]);
- // 列表数据请求
- const openDialog = async () => {
- isShowDialog.value = true;
- let res = await emergencyPlanApi().processEmergencyPlan(listQuery);
- if (res.data.code === '200') {
- tableData.value = res.data.data;
- pageIndex.value = res.data.pageIndex;
- pageSize.value = res.data.pageSize;
- total.value = res.data.total;
- } else {
- ElMessage({
- showClose: true,
- type: 'error',
- message: res.data.msg,
- });
- }
- };
+ // 列表数据请求
+ const uid = ref();
+ const openDialog = async (id: number) => {
+ isShowDialog.value = true;
+ listQuery.searchParams.relateId=id
+ uid.value = id;
+ let res = await emergencyPlanApi().processEmergencyPlan(listQuery);
+ if (res.data.code === '200') {
+ tableData.value = res.data.data;
+ pageIndex.value = res.data.pageIndex;
+ pageSize.value = res.data.pageSize;
+ total.value = res.data.total;
+ } else {
+ ElMessage({
+ showClose: true,
+ type: 'error',
+ message: res.data.msg,
+ });
+ }
+ };
- const isShowDialog = ref(false);
+ const isShowDialog = ref(false);
- const ruleFormRef = ref<FormInstance>();
- // 打开弹窗
- // const openDialog = () => {
- // isShowDialog.value = true;
- // };
- // 关闭弹窗
- const closeDialog = () => {
- isShowDialog.value = false;
- };
- // 取消
- const onCancel = () => {
- closeDialog();
- };
- const onReduction = async () => {
- isShowDialog.value = false;
- };
- // 分页
- const pageIndex = ref();
- const pageSize = ref();
- const total = ref();
- // 分页改变
- const handleSizeChange = (val: number) => {
- listQuery.pageSize = val;
- };
- // 分页未改变
- const handleCurrentChange = (val: number) => {
- listQuery.pageIndex = val;
- };
- //全屏
- const full = ref(false);
- const toggleFullscreen = () => {
- if (full.value == false) {
- full.value = true;
- } else {
- full.value = false;
- }
- };
- return {
- openDialog,
- closeDialog,
- isShowDialog,
- onCancel,
- tableData,
- Search,
- ruleFormRef,
- pageIndex,
- pageSize,
- handleSizeChange,
- handleCurrentChange,
- toggleFullscreen,
- FullScreen,
- full,
- listQuery,
- // onSubmit,
- total,
- emit,
- onReduction,
- };
- },
+ const ruleFormRef = ref<FormInstance>();
+ // 打开弹窗
+ // const openDialog = () => {
+ // isShowDialog.value = true;
+ // };
+ // 关闭弹窗
+ const closeDialog = () => {
+ isShowDialog.value = false;
+ };
+ // 取消
+ const onCancel = () => {
+ closeDialog();
+ };
+ // 分页
+ const pageIndex = ref();
+ const pageSize = ref();
+ const total = ref();
+ // 分页改变
+ const handleSizeChange = (val: number) => {
+ listQuery.pageSize = val;
+ };
+ // 分页未改变
+ const handleCurrentChange = (val: number) => {
+ listQuery.pageIndex = val;
+ };
+ //全屏
+ const full = ref(false);
+ const toggleFullscreen = () => {
+ if (full.value == false) {
+ full.value = true;
+ } else {
+ full.value = false;
+ }
+ };
+ return {
+ openDialog,
+ closeDialog,
+ isShowDialog,
+ onCancel,
+ tableData,
+ Search,
+ ruleFormRef,
+ pageIndex,
+ pageSize,
+ handleSizeChange,
+ handleCurrentChange,
+ toggleFullscreen,
+ FullScreen,
+ full,
+ listQuery,
+ total,
+ emit,
+ uid,
+ };
+ },
});
</script>
<style scoped lang="scss">
.textarea {
- height: 168px !important;
+ height: 168px !important;
}
.textarea ::v-deep .el-textarea__inner {
- height: 168px !important;
+ height: 168px !important;
}
::v-deep .el-table__cell {
- font-weight: 400;
+ font-weight: 400;
}
//分页
.pages {
- display: flex;
- justify-content: flex-end;
+ display: flex;
+ justify-content: flex-end;
}
::v-deep .el-pagination .el-pager li {
- margin: 0 5px;
- background-color: #f4f4f5;
- color: #606266;
- min-width: 30px;
- border-radius: 2px;
+ margin: 0 5px;
+ background-color: #f4f4f5;
+ color: #606266;
+ min-width: 30px;
+ border-radius: 2px;
}
::v-deep .el-pagination .el-pager li.is-active {
- background-color: #409eff;
- color: #fff;
+ background-color: #409eff;
+ color: #fff;
}
::v-deep .el-pagination .btn-prev {
- margin: 0 5px;
- background-color: #f4f4f5;
- color: #606266;
- min-width: 30px;
- border-radius: 2px;
+ margin: 0 5px;
+ background-color: #f4f4f5;
+ color: #606266;
+ min-width: 30px;
+ border-radius: 2px;
}
::v-deep .el-pagination button:disabled {
- color: #c0c4cc;
+ color: #c0c4cc;
}
::v-deep .el-pagination .btn-next {
- margin: 0 5px;
- background-color: #f4f4f5;
- color: #606266;
- min-width: 30px;
- border-radius: 2px;
+ margin: 0 5px;
+ background-color: #f4f4f5;
+ color: #606266;
+ min-width: 30px;
+ border-radius: 2px;
}
</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/panManagement/component/openAdd.vue b/src/views/contingencyManagement/panManagement/component/openAdd.vue
index 02c44c0..6a6bd50 100644
--- a/src/views/contingencyManagement/panManagement/component/openAdd.vue
+++ b/src/views/contingencyManagement/panManagement/component/openAdd.vue
@@ -1,6 +1,14 @@
<template>
<div class="system-edit-user-container">
- <el-dialog :title="titles" v-model="isShowDialog" width="50%" draggable :fullscreen="full" :close-on-click-modal="false">
+ <el-dialog
+ :title="titles"
+ v-model="isShowDialog"
+ width="50%"
+ draggable
+ :fullscreen="full"
+ :close-on-click-modal="false"
+ @close="resetForm(ruleFormRef)"
+ >
<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
<el-form ref="ruleFormRef" :model="ruleForm" size="default" label-width="120px" :disabled="disabled">
<el-row :gutter="35">
@@ -12,16 +20,17 @@
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="适用部门" prop="responsibleDepartment">
<el-tree-select
- v-model="ruleForm.responsibleDepartment"
- :data="data"
+ v-model="responsibleDepartment"
+ :data="newTreeList"
+ class="w100"
+ clearable
+ :props="propse"
multiple
:render-after-expand="false"
- :props="propse"
- clearable
- show-checkbox
- check-strictly
- check-on-click-node
- placeholder="请选择"
+ check-strictly
+ check-on-click-node
+ placeholder="请选择"
+ @change="changeDepartment"
/>
<el-divider />
</el-form-item>
@@ -66,8 +75,7 @@
<el-form-item label="编写部门" prop="authorDeptId">
<el-tree-select
v-model="ruleForm.authorDeptId"
- check-strictly
- :data="data"
+ :data="newTreeList"
class="w100"
:props="propse"
clearable
@@ -89,7 +97,7 @@
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="应急队伍" prop="emergencyTeam">
- <el-input v-model="ruleForm.emergencyTeam" placeholder="请选择" class="input-with-select">
+ <el-input v-model="ruleForm.teamName" placeholder="请选择" class="input-with-select">
<template #append>
<el-button :icon="Search" @click="daiInpt(0)" />
</template>
@@ -133,7 +141,7 @@
</span>
</template>
</el-dialog>
- <CheckTemplate ref="Shows" @SearchUser="SearchUser" />
+ <CheckTemplate ref="Shows" @SearchUser="SearchUser" />
<DailogSearchUserManger ref="userRef" @SearchUser="onUser" />
<RegionsDialog ref="openRef" />
</div>
@@ -170,17 +178,11 @@
authorName: '',
authorDeptId: '', // 编写部门
releaseDate: '', // 发布实施日期
- fileList: [
- // {
- // fileUrl: 'url',
- // fileName: 'name',
- // },
- ],
- emergencyTeam: '', //应急队伍
+ fileList: [],
areaList: [], //区域列表
teamList: [],
+ // teamId: '', //应急队伍
deptList: [],
- abolishStatus: false,
});
const titles = ref();
const disabled = ref();
@@ -195,12 +197,21 @@
.seeEmergencyTeam(id)
.then((res) => {
if (res.data.code == 200) {
- ruleForm.value = res.data.data;
- let arr = [];
- for (let i = 0; i < ruleForm.value.teamList.length; i++) {
- arr.push(ruleForm.value.teamList[i].emergencyTeam);
- }
- ruleForm.value.emergencyTeam = arr.toString();
+ ruleForm.value = res.data.data;
+ ruleForm.value.teamName = ''
+ responsibleDepartment.value = []
+ if(res.data.data.teamList){
+ for(var a = 0;a<res.data.data.teamList.length;a++){
+ ruleForm.value.teamName+=res.data.data.teamList[a].teamName+';'
+ }
+ }
+ if(res.data.data.deptList){
+ for(var a = 0;a<res.data.data.deptList.length;a++){
+
+ responsibleDepartment.value.push(res.data.data.deptList[a].departmentId)
+ }
+ }
+
}
});
}
@@ -209,30 +220,55 @@
const releaseDate = ref('');
// 上传附件
const fileList = ref<UploadUserFile[]>([]);
- //部门树
- const department = () => {
- goalManagementApi()
+ //el-tree-select回显
+ const propse = {
+ label: 'depName',
+ children: 'children',
+ };
+ const newTreeList = [];
+ //得到部门树
+ const department = async () => {
+ await goalManagementApi()
.getTreedepartment()
.then((res) => {
if (res.data.code == 200) {
- data.value = res.data.data;
+ data.value = res.data.data;
+ getTreeList(res.data.data, newTreeList);
} else {
ElMessage.error(res.data.msg);
}
});
};
- const treeSelect = ref();
- // const trees = ref();
- const propse = {
- label: 'depName',
- children: 'children',
- value: 'depId',
+ // 递归树状数据且修改字段名
+ const getTreeList = (treeList, newTreeList) => {
+ treeList.map((c) => {
+ let tempData = {
+ depName: c.depName,
+ value: c.depId,
+ children: [],
+ };
+ if (c.children && c.children.length > 0) {
+ tempData.children = [];
+ getTreeList(c.children, tempData.children);
+ }
+ newTreeList.push(tempData);
+ });
};
onMounted(() => {
department();
});
+ const changeDepartment = (e) => {
+ var temList = [];
+ for (var a = 0; a < e.length; a++) {
+ temList.push({
+ departmentId: e[a],
+ });
+ }
+ ruleForm.value.deptList = temList;
+ console.log(ruleForm);
+ };
//定义树形下拉框
- const responsibleDepartment = ref();
+ const responsibleDepartment = ref([]);
const data = ref();
const submitForm = async (title: string, formEl: FormInstance | undefined) => {
@@ -241,6 +277,7 @@
await formEl.validate((valid, fields) => {
if (valid) {
isShowDialog.value = false;
+ delete ruleForm.value.teamName
emergencyPlanApi()
.addEmergencyPlan(ruleForm.value)
.then((res) => {
@@ -269,8 +306,10 @@
if (!formEl) return;
await formEl.validate((valid, fields) => {
if (valid) {
- isShowDialog.value = false;
- emergencyPlanApi()
+ ruleForm.value.fileList=[]
+ isShowDialog.value = false;
+ delete ruleForm.value.teamName
+ emergencyPlanApi()
.editEmergencyTeam(ruleForm.value)
.then((res) => {
if (res.data.code == 200) {
@@ -304,18 +343,11 @@
authorName: '',
authorDeptId: '', // 编写部门
releaseDate: '', // 发布实施日期
- fileList: [
- // {
- // fileUrl: 'url',
- // fileName: 'name',
- // },
- ],
- emergencyTeam: '', //应急队伍
+ fileList: [],
+ // teamId: '', //应急队伍ID
areaList: [], //区域列表
- teamList: [
- ],
+ teamList: [],
deptList: [],
- abolishStatus: false,
};
}
};
@@ -323,23 +355,24 @@
isShowDialog.value = false;
if (!formEl) return;
formEl.resetFields();
+ ruleForm.value = {};
};
// 应急队伍弹窗
const Shows = ref();
const daiInpt = (data: any) => {
- Shows.value.openDailog(data);
+ Shows.value.openDailog(data);
};
- const SearchUser = (val: any) => {
- let arr = [];
- for (let i = 0; i < val.length; i++) {
- arr.push(val[i].teamName);
- ruleForm.value.teamList.push({
- userUid: val[i].uid,
- emergencyTeam: val[i].teamName,
- });
- }
- ruleForm.value.emergencyTeam = arr.toString();
- };
+ const SearchUser = (val: any) => {
+ let arr = [];
+ ruleForm.value.teamList = [];
+ for (let i = 0; i < val.length; i++) {
+ arr.push(val[i].teamName);
+ ruleForm.value.teamList.push({
+ teamId: val[i].id,
+ });
+ }
+ ruleForm.value.teamName = arr.toString();
+ };
// 选择区域弹窗
const openRef = ref();
const regionsDialog = () => {
@@ -371,13 +404,13 @@
data,
Search,
releaseDate,
- treeSelect,
+ // treeSelect,
// trees,
propse,
department,
daiInpt,
Shows,
- SearchUser,
+ SearchUser,
submitForm,
openUser,
userRef,
@@ -394,6 +427,8 @@
ruleForm,
resetForm,
onUser,
+ newTreeList,
+ changeDepartment,
};
},
});
diff --git a/src/views/contingencyManagement/panManagement/index.vue b/src/views/contingencyManagement/panManagement/index.vue
index cc2ec1b..58f1164 100644
--- a/src/views/contingencyManagement/panManagement/index.vue
+++ b/src/views/contingencyManagement/panManagement/index.vue
@@ -8,10 +8,10 @@
</el-form-item>
<el-form-item>
<el-select size="default" v-model="listQuery.searchParams.type" placeholder="请选择预案类型" class="ml10" style="max-width: 215px">
- <el-option label="综合应急预案" value="admin"></el-option>
- <el-option label="现场处置方案" value="common"></el-option>
- <el-option label="专项应急预案" value="common"></el-option>
- <el-option label="其他预案" value="common"></el-option>
+ <el-option label="综合应急预案" value="1"></el-option>
+ <el-option label="现场处置方案" value="2"></el-option>
+ <el-option label="专项应急预案" value="3"></el-option>
+ <el-option label="其他预案" value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item>
@@ -107,7 +107,7 @@
text
type="primary"
v-if="scope.row.approveStatus === 2 && scope.row.checkApprove === true"
- @click="onApproval('修改',scope.row.approveId)"
+ @click="onApproval('修改',scope.row.approveId,scope.row.id)"
>
审批
</el-button>
@@ -116,7 +116,7 @@
text
type="primary"
v-if="scope.row.approveStatus === 2 && scope.row.checkApprove === false"
- @click="onApproval('详情',scope.row.id)"
+ @click="onApproval('详情',scope.row.approveId,scope.row.id)"
>
查看审批
</el-button>
@@ -439,10 +439,12 @@
// 分页改变
const onHandleSizeChange = (val: number) => {
listQuery.pageSize = val;
+ onSubmit();
};
// 分页未改变
const onHandleCurrentChange = (val: number) => {
listQuery.pageIndex = val;
+ onSubmit();
};
// const router=useRouter()
@@ -471,17 +473,17 @@
};
// 审批
const approvalRef = ref();
- const onApproval = (val: string,row: object) => {
+ const onApproval = (val: string,row: object,id) => {
if(val=='详情'){
approvalRef.value.openDialog('查看审批', row, true);
} else {
- approvalRef.value.openDialog('修改审批', row, false);
+ approvalRef.value.openDialog('审批', row, false,id);
}
};
// 审批流程
const processRef = ref();
- const onApprovalProcess = () => {
- processRef.value.openDialog();
+ const onApprovalProcess = (row:object,id) => {
+ processRef.value.openDialog(row,id);
};
//全屏
diff --git a/src/views/doublePrevent/riskCheckManage/checkTaskManage/checkTask/components/recordDialog.vue b/src/views/doublePrevent/riskCheckManage/checkTaskManage/checkTask/components/recordDialog.vue
index 90cfdaa..769959b 100644
--- a/src/views/doublePrevent/riskCheckManage/checkTaskManage/checkTask/components/recordDialog.vue
+++ b/src/views/doublePrevent/riskCheckManage/checkTaskManage/checkTask/components/recordDialog.vue
@@ -6,7 +6,7 @@
<el-row :gutter="35">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="检查内容" prop="checkContent">
- <el-input class="input-length" type="textarea" :rows="3" v-model.trim="recordForm.checkContent" placeholder="检查内容"> </el-input>
+ <el-input class="input-length" :disabled="true" type="textarea" :rows="3" v-model.trim="recordForm.checkContent" placeholder="检查内容"> </el-input>
</el-form-item>
</el-col>
</el-row>
diff --git a/src/views/doublePrevent/riskCheckManage/checkTaskManage/checkWork/components/workDialog.vue b/src/views/doublePrevent/riskCheckManage/checkTaskManage/checkWork/components/workDialog.vue
index e187100..ca71159 100644
--- a/src/views/doublePrevent/riskCheckManage/checkTaskManage/checkWork/components/workDialog.vue
+++ b/src/views/doublePrevent/riskCheckManage/checkTaskManage/checkWork/components/workDialog.vue
@@ -6,66 +6,66 @@
<el-row :gutter="35">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="排查类型" prop="checkWorkType">
- <el-select class="input-add" v-model="workForm.checkWorkType" placeholder="请输入排查类型" clearable> <el-option v-for="item in checkWorkTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option></el-select>
+ <el-select class="input-add" :disabled="!disabled" v-model="workForm.checkWorkType" placeholder="请输入排查类型" clearable> <el-option v-for="item in checkWorkTypeList" :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="12" class="mb20">
<el-form-item label="排查名称" prop="checkWorkName">
- <el-input class="input-add" v-model.trim="workForm.checkWorkName" placeholder="请输入排查名称" clearable></el-input>
+ <el-input class="input-add" :disabled="!disabled" v-model.trim="workForm.checkWorkName" placeholder="请输入排查名称" clearable></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="排查周期" prop="checkCycle">
- <el-input class="input-add" type="number" v-model.trim="workForm.checkCycle" placeholder="请输入排查周期" clearable></el-input>
+ <el-input class="input-add" :disabled="!disabled" type="number" v-model.trim="workForm.checkCycle" placeholder="请输入排查周期" clearable></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="时间单位" prop="checkCycleUnit">
- <el-select class="input-add" v-model="workForm.checkCycleUnit" placeholder="请输入时间单位" clearable>
+ <el-select class="input-add" :disabled="!disabled" v-model="workForm.checkCycleUnit" placeholder="请输入时间单位" clearable>
<el-option v-for="item in timeType" :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="12" class="mb20">
<el-form-item label="有效时间" prop="validTime">
- <el-input class="input-add" type="number" v-model.trim="workForm.validTime" placeholder="请输入有效时间" clearable></el-input>
+ <el-input class="input-add" :disabled="!disabled" type="number" v-model.trim="workForm.validTime" placeholder="请输入有效时间" clearable></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="时间单位" prop="validTimeUnit">
- <el-select class="input-add" v-model="workForm.validTimeUnit" placeholder="请输入时间单位" clearable>
+ <el-select class="input-add" :disabled="!disabled" v-model="workForm.validTimeUnit" placeholder="请输入时间单位" clearable>
<el-option v-for="item in timeType" :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="12" class="mb20">
<el-form-item label="提醒时间" prop="noticeTime">
- <el-input class="input-add" type="number" v-model.trim="workForm.noticeTime" placeholder="请输入提醒时间" clearable></el-input>
+ <el-input class="input-add" :disabled="!disabled" type="number" v-model.trim="workForm.noticeTime" placeholder="请输入提醒时间" clearable></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="时间单位" prop="noticeTimeUnit">
- <el-select class="input-add" v-model="workForm.noticeTimeUnit" placeholder="请输入时间单位" clearable>
+ <el-select class="input-add" :disabled="!disabled" v-model="workForm.noticeTimeUnit" placeholder="请输入时间单位" clearable>
<el-option v-for="item in timeType" :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="12" class="mb20">
<el-form-item label="执行部门" prop="execDepId">
- <el-cascader @change="achieveUserList" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-add" v-model="workForm.execDepId"> </el-cascader>
+ <el-cascader :disabled="!disabled" @change="achieveUserList" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-add" v-model="workForm.execDepId"> </el-cascader>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="任务单元" prop="taskUnitId">
- <el-select class="input-add" v-model="workForm.taskUnitId" placeholder="请输入任务单元" clearable filterable>
+ <el-select class="input-add" :disabled="!disabled" v-model="workForm.taskUnitId" placeholder="请输入任务单元" clearable filterable>
<el-option v-for="item in taskUnitList" :key="item.id" :label="item.taskUnitName" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="首次任务开始时间" prop="firstStartTime">
- <el-date-picker class="input-add" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" v-model="workForm.firstStartTime" placeholder="请选择首次任务开始时间" clearable></el-date-picker>
+ <el-date-picker :disabled="!disabled" class="input-add" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" v-model="workForm.firstStartTime" placeholder="请选择首次任务开始时间" clearable></el-date-picker>
</el-form-item>
</el-col>
</el-row>
diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/components/checkDialog.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/components/checkDialog.vue
index fd981ae..cae63b9 100644
--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/components/checkDialog.vue
+++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/components/checkDialog.vue
@@ -22,24 +22,24 @@
<el-row :gutter="35">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="验收意见" prop="rectifyDesc">
- <el-input class="input-add" type="textarea" :rows="2" v-model.trim="checkInfoForm.rectifyDesc" readonly></el-input>
+ <el-input class="input-add" :disabled="true" type="textarea" :rows="2" v-model.trim="checkInfoForm.rectifyDesc" readonly></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="rectifyType">
- <el-select class="input-add" v-model="checkInfoForm.rectifyType" readonly>
+ <el-select class="input-add" :disabled="true" v-model="checkInfoForm.rectifyType" readonly>
<el-option v-for="item in rectifyTypeList" :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="rectifyDepId">
- <el-cascader @change="achieveUserList" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-add" v-model="checkInfoForm.rectifyDepId" readonly> </el-cascader>
+ <el-cascader :disabled="true" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-add" v-model="checkInfoForm.rectifyDepId" readonly> </el-cascader>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="整改责任人" prop="liablePersonId">
- <el-select class="input-add" v-model="checkInfoForm.liablePersonId" clearable filterable readonly>
+ <el-select class="input-add" :disabled="true" v-model="checkInfoForm.liablePersonId" clearable filterable readonly>
<el-option v-for="item in userList" :key="item.uid" :label="item.username" :value="item.uid"></el-option>
</el-select>
</el-form-item>
@@ -47,7 +47,7 @@
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="整改资金" prop="dangerResult">
- <el-input class="input-add" type="number" v-model="checkInfoForm.cost" readonly> </el-input>
+ <el-input class="input-add" :disabled="true" type="number" v-model="checkInfoForm.cost" readonly> </el-input>
</el-form-item>
</el-col>
</el-row>
@@ -182,4 +182,15 @@
};
</script>
-<style scoped></style>
+<style scoped>
+: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/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue
index 9e2e195..a471d01 100644
--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue
+++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenCheck/index.vue
@@ -204,4 +204,15 @@
});
</script>
-<style scoped></style>
+<style scoped>
+: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/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue
index afb11d9..9403e25 100644
--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue
+++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/components/rectifyDialog.vue
@@ -49,25 +49,25 @@
<el-row :gutter="35">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="整改内容说明" prop="rectifyDesc">
- <el-input class="input-add" type="textarea" :rows="2" v-model.trim="checkInfoForm.rectifyDesc" readonly></el-input>
+ <el-input class="input-add" :disabled="!disabled" type="textarea" :rows="2" v-model.trim="checkInfoForm.rectifyDesc" readonly></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="rectifyType">
- <el-select class="input-add" v-model="checkInfoForm.rectifyType" readonly>
+ <el-select class="input-add" :disabled="!disabled" v-model="checkInfoForm.rectifyType" readonly>
<el-option v-for="item in rectifyTypeList" :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="rectifyDepId">
- <el-cascader @change="achieveUserList" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-add" v-model="checkInfoForm.rectifyDepId" readonly> </el-cascader>
+ <el-cascader @change="achieveUserList" :disabled="!disabled" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-add" v-model="checkInfoForm.rectifyDepId" readonly> </el-cascader>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="整改责任人" prop="liablePersonId">
- <el-select class="input-add" v-model="checkInfoForm.liablePersonId" clearable filterable readonly>
+ <el-select class="input-add" :disabled="!disabled" v-model="checkInfoForm.liablePersonId" clearable filterable readonly>
<el-option v-for="item in userList" :key="item.uid" :label="item.username" :value="item.uid"></el-option>
</el-select>
</el-form-item>
@@ -75,7 +75,7 @@
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="整改资金" prop="dangerResult">
- <el-input class="input-add" type="number" v-model="checkInfoForm.cost" readonly> </el-input>
+ <el-input class="input-add" :disabled="!disabled" type="number" v-model="checkInfoForm.cost" readonly> </el-input>
</el-form-item>
</el-col>
</el-row>
diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue
index 093ec04..abb1fef 100644
--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue
+++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenRectify/index.vue
@@ -22,32 +22,32 @@
</div>
<el-table :data="rectifyData.data" style="width: 100%" fit highlight-current-row>
<el-table-column type="index" label="序号" width="60" />
- <el-table-column prop="rectifyDesc" label="整改内容说明" show-overflow-tooltip min-width="150px"></el-table-column>
- <el-table-column prop="rectifyTime" label="整改期限" show-overflow-tooltip min-width="200px">
+ <el-table-column prop="rectifyDesc" label="整改内容说明" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="rectifyTime" label="整改期限" min-width="130px" show-overflow-tooltip>
<template #default="scope">
<span>{{ scope.row.rectifyTime }}</span>
<span v-if="scope.row.dangerStatus === 2" class="overdue-img">逾期</span>
<span v-if="scope.row.dangerStatus === 9" class="overdue-img">逾期</span>
</template>
</el-table-column>
- <el-table-column prop="rectifyType" label=" 整改类型" show-overflow-tooltip min-width="150px">
+ <el-table-column prop="rectifyType" label=" 整改类型" show-overflow-tooltip>
<template #default="scope">
{{ parseNumber(scope.row.rectifyType, '整改类型') }}
</template>
</el-table-column>
- <el-table-column prop="liablePerson" label="整改责任人" show-overflow-tooltip min-width="150px"></el-table-column>
- <el-table-column prop="cost" label="整改资金" show-overflow-tooltip min-width="150px"></el-table-column>
- <el-table-column prop="dangerStatus" label="隐患整改状态" show-overflow-tooltip min-width="150px" align="center">
+ <el-table-column prop="liablePerson" label="整改责任人" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="cost" label="整改资金" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="dangerStatus" label="隐患整改状态" show-overflow-tooltip align="center">
<template #default="scope">
<el-tag :type="scope.row.dangerStatus === 0 ? 'info' : scope.row.dangerStatus === 1 ? 'primary' : scope.row.dangerStatus === 2 ? 'warning' : scope.row.dangerStatus === 4 ? 'danger' : 'success'">
{{ parseNumber(scope.row.dangerStatus, '隐患整改状态') }}
</el-tag>
</template>
</el-table-column>
- <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip min-width="150px"></el-table-column>
- <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip min-width="200px"></el-table-column>
- <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip min-width="150px"></el-table-column>
- <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip min-width="200px"></el-table-column>
+ <el-table-column prop="createByUserName" 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 label="操作" width="250" fixed="right" align="center">
<template #default="scope">
<el-button size="small" text type="primary" :icon="View" @click="onOpenDialogRef('查看', scope.row)">查看</el-button>
@@ -259,4 +259,14 @@
transform: scale(0.8);
padding: 1px 3px 0 3px;
}
+: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/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenReport/components/reportDialog.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenReport/components/reportDialog.vue
index f822e15..40b0a60 100644
--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenReport/components/reportDialog.vue
+++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenReport/components/reportDialog.vue
@@ -7,36 +7,36 @@
<el-row :gutter="25">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="隐患描述" prop="dangerDesc">
- <el-input class="input-add" v-model.trim="reportForm.dangerDesc" placeholder="请输入隐患情况描述" clearable></el-input>
+ <el-input class="input-add" :disabled="!disabled" v-model.trim="reportForm.dangerDesc" placeholder="请输入隐患情况描述" clearable></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="隐患名称" prop="dangerCode">
- <el-input class="input-add" v-model.trim="reportForm.dangerCode" placeholder="请输入隐患名称" clearable></el-input>
+ <el-input class="input-add" :disabled="!disabled" v-model.trim="reportForm.dangerCode" placeholder="请输入隐患名称" clearable></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="隐患所属部门" prop="depId">
- <el-cascader :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-add" v-model="reportForm.depId"> </el-cascader>
+ <el-cascader :disabled="!disabled" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-add" v-model="reportForm.depId"> </el-cascader>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="生产装置" prop="produceDeviceId">
- <el-select class="input-add" v-model="reportForm.produceDeviceId" placeholder="请输入生产装置" clearable filterable @change="changeUnit">
+ <el-select class="input-add" :disabled="!disabled" v-model="reportForm.produceDeviceId" placeholder="请输入生产装置" clearable filterable @change="changeUnit">
<el-option v-for="item in allProduceDeviceData" :key="item.id" :label="item.produceDeviceName" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="风险分析单元" prop="riskUnitId">
- <el-select class="input-add" v-model.trim="reportForm.riskUnitId" placeholder="请输入风险分析单元" clearable filterable>
+ <el-select class="input-add" :disabled="!disabled" v-model.trim="reportForm.riskUnitId" placeholder="请输入风险分析单元" clearable filterable>
<el-option v-for="item in safetyRiskUnitData" :key="item.id" :label="item.riskUnitName" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="隐患来源" prop="dangerSource">
- <el-select class="input-add" v-model="reportForm.dangerSource" placeholder="请选择隐患来源" clearable filterable>
+ <el-select class="input-add" :disabled="!disabled" v-model="reportForm.dangerSource" placeholder="请选择隐患来源" clearable filterable>
<el-option v-for="item in dangerSourceList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
@@ -44,28 +44,28 @@
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="隐患等级" prop="dangerLevel">
- <el-select class="input-add" v-model="reportForm.dangerLevel" placeholder="请选择隐患等级" clearable filterable>
+ <el-select class="input-add" :disabled="!disabled" v-model="reportForm.dangerLevel" placeholder="请选择隐患等级" clearable filterable>
<el-option v-for="item in dangerLevelList" :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="12" class="mb20">
<el-form-item label="隐患类型" prop="dangerType">
- <el-select class="input-add" v-model="reportForm.dangerType" placeholder="请选择隐患类型" clearable filterable>
+ <el-select class="input-add" :disabled="!disabled" v-model="reportForm.dangerType" placeholder="请选择隐患类型" clearable filterable>
<el-option v-for="item in dangerTypeList" :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="12" class="mb20">
<el-form-item label="隐患可能后果" prop="dangerResult">
- <el-select class="input-add" v-model="reportForm.dangerResult" placeholder="请选择隐患可能后果" clearable filterable>
+ <el-select class="input-add" :disabled="!disabled" v-model="reportForm.dangerResult" placeholder="请选择隐患可能后果" clearable filterable>
<el-option v-for="item in dangerResultList" :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="12">
<el-form-item label="隐患产生原因" prop="dangerReason">
- <el-input class="input-add" type="textarea" :rows="2" style="padding-bottom: 10px" v-model.trim="reportForm.dangerReason" placeholder="请输入隐患产生原因"></el-input>
+ <el-input class="input-add" :disabled="!disabled" type="textarea" :rows="2" style="padding-bottom: 10px" v-model.trim="reportForm.dangerReason" placeholder="请输入隐患产生原因"></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -79,24 +79,24 @@
<el-row>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="整改类型" prop="rectifyType">
- <el-select class="input-add" v-model="reportForm.rectifyType" placeholder="请选择整改类型" clearable filterable>
+ <el-select class="input-add" :disabled="!disabled" v-model="reportForm.rectifyType" placeholder="请选择整改类型" clearable filterable>
<el-option v-for="item in rectifyTypeList" :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="12" class="mb20">
<el-form-item label="整改期限" prop="rectifyTime">
- <el-date-picker type="datetime" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" v-model="reportForm.rectifyTime" placeholder="请选择整改期限" clearable> </el-date-picker>
+ <el-date-picker type="datetime" :disabled="!disabled" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" v-model="reportForm.rectifyTime" placeholder="请选择整改期限" clearable> </el-date-picker>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="整改部门" prop="rectifyDepId">
- <el-cascader @change="achieveUserList" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-add" v-model="reportForm.rectifyDepId"> </el-cascader>
+ <el-cascader :disabled="!disabled" @change="achieveUserList" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-add" v-model="reportForm.rectifyDepId"> </el-cascader>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="整改责任人" prop="liablePersonId">
- <el-select class="input-add" v-model="reportForm.liablePersonId" placeholder="请选择整改责任人" clearable filterable>
+ <el-select class="input-add" :disabled="!disabled" v-model="reportForm.liablePersonId" placeholder="请选择整改责任人" clearable filterable>
<el-option v-for="item in userList" :key="item.uid" :label="item.username" :value="item.uid"></el-option>
</el-select>
</el-form-item>
@@ -104,12 +104,12 @@
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="整改资金" prop="dangerResult">
- <el-input class="input-add" type="number" v-model="reportForm.cost" placeholder="请选择整改资金"> </el-input>
+ <el-input class="input-add" :disabled="!disabled" type="number" v-model="reportForm.cost" placeholder="请选择整改资金"> </el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12">
<el-form-item label="整改措施" prop="rectifyDesc">
- <el-input class="input-add" type="textarea" :rows="2" style="padding-bottom: 10px" v-model.trim="reportForm.rectifyDesc" placeholder="请输入整改措施"></el-input>
+ <el-input class="input-add" :disabled="!disabled" type="textarea" :rows="2" style="padding-bottom: 10px" v-model.trim="reportForm.rectifyDesc" placeholder="请输入整改措施"></el-input>
</el-form-item>
</el-col>
</el-row>
diff --git a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenReport/index.vue b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenReport/index.vue
index 6dba9f5..37cb2c1 100644
--- a/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenReport/index.vue
+++ b/src/views/doublePrevent/riskCheckManage/hiddenManagement/hiddenReport/index.vue
@@ -42,36 +42,36 @@
</div>
<el-table :data="reportData.data" style="width: 100%">
<el-table-column type="index" label="序号" width="60" />
- <el-table-column prop="dangerDesc" label="隐患情况描述" show-overflow-tooltip min-width="150px"></el-table-column>
- <el-table-column prop="produceDeviceName" label="生产装置名称" show-overflow-tooltip min-width="150px"></el-table-column>
- <el-table-column prop="riskUnitName" label="风险分析单元名称" show-overflow-tooltip min-width="150px"></el-table-column>
- <el-table-column prop="dangerSource" label="隐患来源" show-overflow-tooltip min-width="150px">
+ <el-table-column prop="dangerDesc" label="隐患情况描述" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="produceDeviceName" label="生产装置名称" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="riskUnitName" label="风险分析单元名称" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="dangerSource" label="隐患来源" show-overflow-tooltip>
<template #default="scope">
{{ parseNumber(scope.row.dangerSource, '隐患来源') }}
</template>
</el-table-column>
- <el-table-column prop="dangerLevel" label="隐患等级" show-overflow-tooltip min-width="150px" align="center">
+ <el-table-column prop="dangerLevel" label="隐患等级" show-overflow-tooltip align="center">
<template #default="scope">
<el-tag :type="scope.row.dangerLevel === 1 ? 'warning' : 'danger'">
{{ parseNumber(scope.row.dangerLevel, '隐患等级') }}
</el-tag>
</template>
</el-table-column>
- <el-table-column prop="dangerType" label="隐患类型" show-overflow-tooltip min-width="150px">
+ <el-table-column prop="dangerType" label="隐患类型" show-overflow-tooltip>
<template #default="scope">
{{ parseNumber(scope.row.dangerType, '隐患类型') }}
</template>
</el-table-column>
- <el-table-column prop="dangerReason" label="隐患产生原因分析" show-overflow-tooltip min-width="150px"></el-table-column>
- <el-table-column prop="dangerResult" label="隐患可能导致后果" show-overflow-tooltip min-width="150px" align="center">
+ <el-table-column prop="dangerReason" label="隐患产生原因分析" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="dangerResult" label="隐患可能导致后果" show-overflow-tooltip align="center">
<template #default="scope">
<el-tag :type="scope.row.dangerResult === 1 ? 'success' : scope.row.dangerResult === 2 ? 'info' : scope.row.dangerResult === 3 ? 'warning' : 'danger'"> {{ parseNumber(scope.row.dangerResult, '隐患可能导致后果') }}</el-tag>
</template>
</el-table-column>
- <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip min-width="150px"></el-table-column>
- <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip min-width="200px"></el-table-column>
- <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip min-width="150px"></el-table-column>
- <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip min-width="200px"></el-table-column>
+ <el-table-column prop="createByUserName" 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 label="操作" width="250" fixed="right" align="center">
<template #default="scope">
<el-button size="small" text type="primary" :icon="View" @click="onOpenDialogRef('查看', scope.row)">查看</el-button>
@@ -336,4 +336,15 @@
});
</script>
-<style scoped></style>
+<style scoped>
+: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/src/views/doublePrevent/riskLevel/action/components/riskControlMeasureDialog.vue b/src/views/doublePrevent/riskLevel/action/components/riskControlMeasureDialog.vue
index 77ca4ba..ac7d844 100644
--- a/src/views/doublePrevent/riskLevel/action/components/riskControlMeasureDialog.vue
+++ b/src/views/doublePrevent/riskLevel/action/components/riskControlMeasureDialog.vue
@@ -5,50 +5,50 @@
<el-row :gutter="35">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="风险事件名称" prop="riskEventId">
- <el-select class="input-length" v-model="riskControlMeasureForm.riskEventId" placeholder="请选择风险事件" clearable>
+ <el-select class="input-length" :disabled="!disabled" v-model="riskControlMeasureForm.riskEventId" placeholder="请选择风险事件" clearable>
<el-option v-for="item in allSafetyRiskEventData" :key="item.id" :label="item.riskEventName" :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="controlMeasureCode">
- <el-input class="input-length" v-model.trim="riskControlMeasureForm.controlMeasureCode" placeholder="请输入风险措施编码"></el-input>
+ <el-input class="input-length" :disabled="!disabled" v-model.trim="riskControlMeasureForm.controlMeasureCode" placeholder="请输入风险措施编码"></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="controlType">
- <el-select class="input-length" v-model="riskControlMeasureForm.controlType" placeholder="请选择管控方式" clearable>
+ <el-select class="input-length" :disabled="!disabled" v-model="riskControlMeasureForm.controlType" placeholder="请选择管控方式" clearable>
<el-option v-for="item in controlTypeList" :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="checkContent">
- <el-input class="input-length" type="textarea" :rows="3" v-model.trim="riskControlMeasureForm.checkContent" placeholder="请输入管控内容" clearable> </el-input>
+ <el-input class="input-length" :disabled="!disabled" type="textarea" :rows="3" v-model.trim="riskControlMeasureForm.checkContent" 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="管控措施分类1" prop="classify1">
- <el-select class="input-length" v-model="riskControlMeasureForm.classify1" @change="changeClassifyTwoList" placeholder="请选择管控方式" clearable>
+ <el-select class="input-length" :disabled="!disabled" v-model="riskControlMeasureForm.classify1" @change="changeClassifyTwoList" placeholder="请选择管控方式" clearable>
<el-option v-for="item in classifyOneList" :key="item.id" :label="item.riskMeasureName" :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="管控措施分类2" prop="classify2">
- <el-select class="input-length" v-model="riskControlMeasureForm.classify2" placeholder="请选择管控方式" clearable>
+ <el-select class="input-length" :disabled="!disabled" v-model="riskControlMeasureForm.classify2" placeholder="请选择管控方式" clearable>
<el-option v-for="item in classifyTwoList" :key="item.id" :label="item.riskMeasureName" :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="管控措施分类3" prop="classify3">
- <el-input class="input-length" v-model.trim="riskControlMeasureForm.classify3" placeholder="请选择管控方式" clearable> </el-input>
+ <el-input class="input-length" :disabled="!disabled" v-model.trim="riskControlMeasureForm.classify3" 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="measureDesc">
- <el-input class="input-length" type="textarea" :rows="3" v-model.trim="riskControlMeasureForm.measureDesc" placeholder="请输入措施说明" clearable> </el-input>
+ <el-input class="input-length" :disabled="!disabled" type="textarea" :rows="3" v-model.trim="riskControlMeasureForm.measureDesc" placeholder="请输入措施说明" clearable> </el-input>
</el-form-item>
</el-col>
</el-row>
@@ -158,10 +158,14 @@
} else if (type === '查看') {
state.disabled = false;
state.title = '修改风险管控措施';
+ state.riskControlMeasureForm.classify1 = JSON.parse(JSON.stringify(value)).classify1;
+ state.classifyTwoList = state.classifyTwoListAll.filter((item: any) => item.parentId === state.riskControlMeasureForm.classify1);
state.riskControlMeasureForm = JSON.parse(JSON.stringify(value));
} else {
state.disabled = true;
state.title = '修改风险管控措施';
+ state.riskControlMeasureForm.classify1 = JSON.parse(JSON.stringify(value)).classify1;
+ state.classifyTwoList = state.classifyTwoListAll.filter((item: any) => item.parentId === state.riskControlMeasureForm.classify1);
state.riskControlMeasureForm = JSON.parse(JSON.stringify(value));
}
};
diff --git a/src/views/doublePrevent/riskLevel/action/index.vue b/src/views/doublePrevent/riskLevel/action/index.vue
index b5827cb..0629615 100644
--- a/src/views/doublePrevent/riskLevel/action/index.vue
+++ b/src/views/doublePrevent/riskLevel/action/index.vue
@@ -232,7 +232,7 @@
// 删除角色
const onDelRiskControlMeasure = (row: any) => {
- ElMessageBox.confirm(`此操作将永久删除该条风险管控措施:“${row.produceDeviceName}”,是否继续?`, '提示', {
+ ElMessageBox.confirm(`此操作将永久删除该条风险管控措施:“${row.checkContent}”,是否继续?`, '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning'
@@ -309,4 +309,15 @@
};
</script>
-<style scoped></style>
+<style scoped>
+: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/src/views/doublePrevent/riskLevel/device/components/productionDeviceDialog.vue b/src/views/doublePrevent/riskLevel/device/components/productionDeviceDialog.vue
index 5ad24bd..cb1c0a9 100644
--- a/src/views/doublePrevent/riskLevel/device/components/productionDeviceDialog.vue
+++ b/src/views/doublePrevent/riskLevel/device/components/productionDeviceDialog.vue
@@ -5,25 +5,25 @@
<el-row :gutter="35">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="生产装置名称" prop="produceDeviceName">
- <el-input class="input-length" v-model.trim="productionDeviceForm.produceDeviceName" placeholder="请输入生产装置名称" clearable></el-input>
+ <el-input class="input-length" :disabled="!disabled" v-model.trim="productionDeviceForm.produceDeviceName" 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="depId">
- <el-cascader :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable style="width: 85%" v-model="productionDeviceForm.depId"> </el-cascader>
+ <el-cascader :options="departmentList" :disabled="!disabled" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable style="width: 85%" v-model="productionDeviceForm.depId"> </el-cascader>
<!-- <el-select class="input-length" v-model="productionDeviceForm.depName" placeholder="请选择所属部门" clearable filterable></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="riskLevel">
- <el-select class="input-length" v-model="productionDeviceForm.riskLevel" placeholder="请选择风险等级" clearable filterable>
+ <el-select class="input-length" :disabled="!disabled" v-model="productionDeviceForm.riskLevel" placeholder="请选择风险等级" clearable filterable>
<el-option v-for="item in levelList" :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="location">
- <el-input class="input-length" v-model.trim="productionDeviceForm.location" type="textarea" placeholder="请输入区域位置" maxlength="150"></el-input>
+ <el-input class="input-length" :disabled="!disabled" v-model.trim="productionDeviceForm.location" type="textarea" placeholder="请输入区域位置" maxlength="150"></el-input>
</el-form-item>
</el-col>
</el-row>
diff --git a/src/views/doublePrevent/riskLevel/device/index.vue b/src/views/doublePrevent/riskLevel/device/index.vue
index a8208fe..00ef584 100644
--- a/src/views/doublePrevent/riskLevel/device/index.vue
+++ b/src/views/doublePrevent/riskLevel/device/index.vue
@@ -247,4 +247,15 @@
};
</script>
-<style scoped></style>
+<style scoped>
+: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/src/views/doublePrevent/riskLevel/event/components/safetyRiskEventDialog.vue b/src/views/doublePrevent/riskLevel/event/components/safetyRiskEventDialog.vue
index 88b9e1b..2eea0e1 100644
--- a/src/views/doublePrevent/riskLevel/event/components/safetyRiskEventDialog.vue
+++ b/src/views/doublePrevent/riskLevel/event/components/safetyRiskEventDialog.vue
@@ -5,14 +5,14 @@
<el-row :gutter="35">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="安全风险分析单元名称" prop="riskUnitId">
- <el-select class="input-length" v-model="safetyRiskEventForm.riskUnitId" placeholder="请输入安全风险分析单元名称">
+ <el-select class="input-length" :disabled="!disabled" v-model="safetyRiskEventForm.riskUnitId" placeholder="请输入安全风险分析单元名称">
<el-option v-for="item in allSafetyRiskEventData" :key="item.id" :label="item.riskUnitName" :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="riskEventName">
- <el-input class="input-length" v-model.trim="safetyRiskEventForm.riskEventName" placeholder="请输入请输入安全风险事件名称" clearable></el-input>
+ <el-input class="input-length" :disabled="!disabled" v-model.trim="safetyRiskEventForm.riskEventName" placeholder="请输入请输入安全风险事件名称" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
diff --git a/src/views/doublePrevent/riskLevel/event/index.vue b/src/views/doublePrevent/riskLevel/event/index.vue
index c3210a3..cf18a4f 100644
--- a/src/views/doublePrevent/riskLevel/event/index.vue
+++ b/src/views/doublePrevent/riskLevel/event/index.vue
@@ -197,4 +197,15 @@
};
</script>
-<style scoped></style>
+<style scoped>
+: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/src/views/doublePrevent/riskLevel/riskCheckUnit/components/checkUnitDialog.vue b/src/views/doublePrevent/riskLevel/riskCheckUnit/components/checkUnitDialog.vue
index 903bfc2..b1e6ca0 100644
--- a/src/views/doublePrevent/riskLevel/riskCheckUnit/components/checkUnitDialog.vue
+++ b/src/views/doublePrevent/riskLevel/riskCheckUnit/components/checkUnitDialog.vue
@@ -7,12 +7,12 @@
<el-row :gutter="35">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="任务单元名称" prop="taskUnitName">
- <el-input class="input-length" v-model.trim="checkUnitForm.taskUnitName" placeholder="请输入任务单元名称" clearable></el-input>
+ <el-input class="input-length" :disabled="!disabled" v-model.trim="checkUnitForm.taskUnitName" placeholder="请输入任务单元名称" clearable></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20">
<el-form-item label="任务单元说明" prop="note">
- <el-input class="input-length" v-model.trim="checkUnitForm.note" placeholder="请输入任务单元说明" clearable></el-input>
+ <el-input class="input-length" :disabled="!disabled" v-model.trim="checkUnitForm.note" placeholder="请输入任务单元说明" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -23,7 +23,7 @@
<el-tabs class="active" v-model="activeName">
<el-tab-pane label="检查项信息" name="checkUnit">
<div class="filter-container">
- <el-button size="default" type="success" @click="onOpenDialogRef('新增', '')">
+ <el-button size="default" :disabled="!disabled" type="success" @click="onOpenDialogRef('新增', '')">
<el-icon>
<ele-FolderAdd />
</el-icon>
@@ -36,7 +36,7 @@
<el-table-column prop="checkContent" label="管控内容" show-overflow-tooltip align="center"></el-table-column>
<el-table-column label="操作" width="150" align="center">
<template #default="scope">
- <el-button size="small" text type="danger" @click="onDelCheckUnit(scope.$index, scope.row)">删除</el-button>
+ <el-button size="small" text :disabled="!disabled" type="danger" @click="onDelCheckUnit(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -104,7 +104,7 @@
});
//打开模态框
- const openCheckUnitDialog = (type: string, value: object, department: []) => {
+ const openCheckUnitDialog = (type: string, value: object) => {
state.isShowCheckUnitDialog = true;
setTimeout(() => {
checkUnitFormRef.value.clearValidate();
@@ -222,4 +222,14 @@
.filter-container {
padding: 10px 0px;
}
+: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/src/views/doublePrevent/riskLevel/riskCheckUnit/index.vue b/src/views/doublePrevent/riskLevel/riskCheckUnit/index.vue
index 5957cd3..385a1da 100644
--- a/src/views/doublePrevent/riskLevel/riskCheckUnit/index.vue
+++ b/src/views/doublePrevent/riskLevel/riskCheckUnit/index.vue
@@ -22,7 +22,7 @@
<el-icon>
<ele-FolderAdd />
</el-icon>
- 新增排查任务
+ 新增排查单元
</el-button>
</div>
<el-table :data="checkUnitData.data" style="width: 100%">
@@ -112,7 +112,7 @@
// 打开生产装置弹窗
const onOpenDialogRef = (type: string, value: any) => {
- checkUnitDialogRef.value.openCheckUnitDialog(type, value, state.departmentList);
+ checkUnitDialogRef.value.openCheckUnitDialog(type, value);
};
// 删除角色
const onDelCheckUnit = (row: any) => {
@@ -176,4 +176,15 @@
});
</script>
-<style scoped></style>
+<style scoped>
+: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/src/views/doublePrevent/riskLevel/unit/components/safetyRiskAnalyseUnitDialog.vue b/src/views/doublePrevent/riskLevel/unit/components/safetyRiskAnalyseUnitDialog.vue
index d1e6f10..28bf661 100644
--- a/src/views/doublePrevent/riskLevel/unit/components/safetyRiskAnalyseUnitDialog.vue
+++ b/src/views/doublePrevent/riskLevel/unit/components/safetyRiskAnalyseUnitDialog.vue
@@ -5,29 +5,29 @@
<el-row :gutter="35">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="安全风险分析对象编码" prop="riskCode">
- <el-input class="input-length" v-model.trim="safetyRiskAnalyseUnitForm.riskCode" placeholder="请输入安全风险分析对象编码"></el-input>
+ <el-input class="input-length" :disabled="!disabled" v-model.trim="safetyRiskAnalyseUnitForm.riskCode" placeholder="请输入安全风险分析对象编码"></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="riskUnitName">
- <el-input class="input-length" v-model.trim="safetyRiskAnalyseUnitForm.riskUnitName" placeholder="请输入安全风险分析单元名称"></el-input>
+ <el-input class="input-length" :disabled="!disabled" v-model.trim="safetyRiskAnalyseUnitForm.riskUnitName" placeholder="请输入安全风险分析单元名称"></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="produceDeviceId">
- <el-select class="input-length" v-model="safetyRiskAnalyseUnitForm.produceDeviceId" placeholder="请输入生产装置名称" clearable>
+ <el-select class="input-length" :disabled="!disabled" v-model="safetyRiskAnalyseUnitForm.produceDeviceId" placeholder="请输入生产装置名称" clearable>
<el-option v-for="item in allProduceDeviceData" :key="item.id" :label="item.produceDeviceName" :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="liableDepId">
- <el-cascader @change="achieveUserList" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable style="width: 85%" v-model="safetyRiskAnalyseUnitForm.liableDepId"> </el-cascader>
+ <el-cascader @change="achieveUserList" :disabled="!disabled" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable style="width: 85%" v-model="safetyRiskAnalyseUnitForm.liableDepId"> </el-cascader>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="责任人" prop="liablePersonId">
- <el-select class="input-length" v-model="safetyRiskAnalyseUnitForm.liablePersonId" placeholder="请选择责任人" clearable filterable>
+ <el-select class="input-length" :disabled="!disabled" v-model="safetyRiskAnalyseUnitForm.liablePersonId" placeholder="请选择责任人" clearable filterable>
<el-option v-for="item in userList" :key="item.uid" :label="item.realName" :value="item.uid"></el-option>
</el-select>
</el-form-item>
diff --git a/src/views/doublePrevent/riskLevel/unit/index.vue b/src/views/doublePrevent/riskLevel/unit/index.vue
index 93c4751..ec369c6 100644
--- a/src/views/doublePrevent/riskLevel/unit/index.vue
+++ b/src/views/doublePrevent/riskLevel/unit/index.vue
@@ -251,4 +251,15 @@
};
</script>
-<style scoped></style>
+<style scoped>
+: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/src/views/facilityManagement/InstrumentationInformation/index.vue b/src/views/facilityManagement/InstrumentationInformation/index.vue
index d4e4308..ee2b75e 100644
--- a/src/views/facilityManagement/InstrumentationInformation/index.vue
+++ b/src/views/facilityManagement/InstrumentationInformation/index.vue
@@ -27,7 +27,7 @@
<div class="btns">
<div>
<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>
- <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button>
+ <!-- <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button> -->
<el-button size="default" :disabled="danger" type="danger" :icon="Delete" @click="onDeleteAll" plain>删除</el-button>
</div>
<div>
@@ -37,7 +37,7 @@
</div>
</div>
<div style="padding-left: 10px">
- <el-table ref="multipleTableRef" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange">
+ <el-table ref="multipleTableRef" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="55" />
<el-table-column type="expand">
<template #default="scope">
@@ -45,14 +45,14 @@
<el-tab-pane label="设备保养" name="first">
<el-table ref="multipleTableRef" :data="scope.row.takecareDetailList" style="width: 100%">
<el-table-column property="takecareMemo" align="center" label="保养情况" sortable />
- <el-table-column property="leadingPersonId" align="center" label="保养负责人" sortable />
+ <el-table-column property="leadingPersonName" align="center" label="保养负责人" sortable />
<el-table-column property="takecareDate" align="center" :formatter="timeDate" label="保养日期" sortable />
- <el-table-column property="leadingPersonDepartmentId" align="center" label="保养负责人单位" sortable />
+ <el-table-column property="leadingPersonDepartmentName" align="center" label="保养负责人单位" sortable />
</el-table>
</el-tab-pane>
<el-tab-pane label="设备检查" name="second"
><el-table ref="multipleTableRef" :data="scope.row.checkDetailList" style="width: 100%">
- <el-table-column property="leadingPersonId" align="center" label="检查人" sortable />
+ <el-table-column property="leadingPersonName" align="center" label="检查人" sortable />
<el-table-column property="createTime" align="center" :formatter="timeDate" label="检查日期" sortable />
<el-table-column property="name" align="center" label="检查人部门" sortable />
<el-table-column property="takecareMemo" align="center" label="检查结果" sortable />
@@ -60,21 +60,31 @@
></el-tab-pane>
<el-tab-pane label="设备检测" name="third">
<el-table ref="multipleTableRef" :data="scope.row.testDetailList" style="width: 100%">
- <el-table-column property="testPersonId" align="center" label="检测人" sortable />
+ <el-table-column property="testPersonName" align="center" label="检测人" sortable />
<el-table-column property="testDate" align="center" :formatter="timeDate" label="检测日期" sortable />
- <el-table-column property="testPersonDepartmentId" align="center" label="检测人单位" sortable />
+ <el-table-column property="testPersonDepartmentName" align="center" label="检测人单位" sortable />
<el-table-column property="testMemo" align="center" label="检测内容" sortable />
- <el-table-column property="testResult" align="center" label="检测结果" sortable />
+ <el-table-column align="center" label="检测结果">
+ <template #default="scope">
+ <span v-if="scope.row.testResult == 1">成功</span>
+ <span v-if="scope.row.testResult == 2">失败</span>
+ </template>
+ </el-table-column>
<el-table-column property="testStatus" align="center" label="检测状态" sortable />
</el-table>
</el-tab-pane>
<el-tab-pane label="设备维修" name="fourth">
<el-table ref="multipleTableRef" :data="scope.row.repaireDetailList" style="width: 100%">
<el-table-column property="exceptionInfo" align="center" label="设施异常项" sortable />
- <el-table-column property="repairStatus" align="center" label="维修状态" sortable />
+ <el-table-column align="center" label="维修状态">
+ <template #default="scope">
+ <span v-if="scope.row.repairStatus == 1">维修中</span>
+ <span v-if="scope.row.repairStatus == 2">已修好</span>
+ </template>
+ </el-table-column>
<el-table-column property="repairMemo" align="center" label="维修情况" sortable />
- <el-table-column property="repairPersonId" align="center" label="维修负责人" sortable />
- <el-table-column property="repairPersonDepartmentId" align="center" label="维修负责人单位" sortable />
+ <el-table-column property="repairPersonName" align="center" label="维修负责人" sortable />
+ <el-table-column property="repairPersonDepartmentName" align="center" label="维修负责人单位" sortable />
<el-table-column property="repairStartDate" align="center" :formatter="timeDate" label="维修开始日期" sortable />
<el-table-column property="repairEndDate" align="center" :formatter="timeDate" label="维修结束日期" sortable />
</el-table>
@@ -136,6 +146,7 @@
searchParams: {
qName: '', ////名称
positionNum: '', ////位号
+ equipmentTypeId: '',
infoType: 0, ////具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施
},
});
@@ -188,8 +199,8 @@
};
// 删除
const onDelete = (id: number) => {
- let arr=[]
- arr.push(id)
+ let arr = [];
+ arr.push(id);
ElMessageBox.confirm('确定删除所选项吗?', 'Warning', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@@ -227,7 +238,7 @@
for (let i = 0; i < valId.length; i++) {
arr.push(valId[i].id);
}
- deletAll.value = arr
+ deletAll.value = arr;
if (val.length == 1) {
warning.value = false;
danger.value = false;
@@ -299,7 +310,8 @@
return data.typeName.includes(value);
};
const handleNodeClick = (data: Tree) => {
- ruleForm.searchParams.positionNum = data.id;
+ ruleForm.searchParams.positionNum = data.sortNum;
+ ruleForm.searchParams.equipmentTypeId = data.id;
listApi();
};
const data = ref([]);
diff --git a/src/views/facilityManagement/ProductionEquipment/index.vue b/src/views/facilityManagement/ProductionEquipment/index.vue
index ab8551e..bb4f4f9 100644
--- a/src/views/facilityManagement/ProductionEquipment/index.vue
+++ b/src/views/facilityManagement/ProductionEquipment/index.vue
@@ -28,7 +28,7 @@
<div class="btns">
<div>
<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>
- <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button>
+ <!-- <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button> -->
<el-button size="default" :disabled="danger" type="danger" :icon="Delete" @click="onDeleteAll" plain>删除</el-button>
</div>
<div>
@@ -46,14 +46,14 @@
<el-tab-pane label="设备保养" name="first">
<el-table ref="multipleTableRef" :data="scope.row.takecareDetailList" style="width: 100%">
<el-table-column property="takecareMemo" align="center" label="保养情况" sortable />
- <el-table-column property="leadingPersonId" align="center" label="保养负责人" sortable />
+ <el-table-column property="leadingPersonName" align="center" label="保养负责人" sortable />
<el-table-column property="takecareDate" align="center" label="保养日期" sortable />
- <el-table-column property="leadingPersonDepartmentId" align="center" label="保养负责人单位" sortable />
+ <el-table-column property="leadingPersonDepartmentName" align="center" label="保养负责人单位" sortable />
</el-table>
</el-tab-pane>
<el-tab-pane label="设备检查" name="second"
><el-table ref="multipleTableRef" :data="scope.row.checkDetailList" style="width: 100%">
- <el-table-column property="leadingPersonId" align="center" label="检查人" sortable />
+ <el-table-column property="leadingPersonName" align="center" label="检查人" sortable />
<el-table-column property="createTime" align="center" label="检查日期" sortable />
<el-table-column property="name" align="center" label="检查人部门" sortable />
<el-table-column property="takecareMemo" align="center" label="检查结果" sortable />
@@ -61,21 +61,31 @@
></el-tab-pane>
<el-tab-pane label="设备检测" name="third">
<el-table ref="multipleTableRef" :data="scope.row.testDetailList" style="width: 100%">
- <el-table-column property="testPersonId" align="center" label="检测人" sortable />
+ <el-table-column property="testPersonName" align="center" label="检测人" sortable />
<el-table-column property="testDate" align="center" label="检测日期" sortable />
- <el-table-column property="testPersonDepartmentId" align="center" label="检测人单位" sortable />
+ <el-table-column property="testPersonDepartmentName" align="center" label="检测人单位" sortable />
<el-table-column property="testMemo" align="center" label="检测内容" sortable />
- <el-table-column property="testResult" align="center" label="检测结果" sortable />
+ <el-table-column align="center" label="检测结果">
+ <template #default="scope">
+ <span v-if="scope.row.testResult == 1">成功</span>
+ <span v-if="scope.row.testResult == 2">失败</span>
+ </template>
+ </el-table-column>
<el-table-column property="testStatus" align="center" label="检测状态" sortable />
</el-table>
</el-tab-pane>
<el-tab-pane label="设备维修" name="fourth">
<el-table ref="multipleTableRef" :data="scope.row.repaireDetailList" style="width: 100%">
<el-table-column property="exceptionInfo" align="center" label="设施异常项" sortable />
- <el-table-column property="repairStatus" align="center" label="维修状态" sortable />
+ <el-table-column align="center" label="维修状态">
+ <template #default="scope">
+ <span v-if="scope.row.repairStatus == 1">维修中</span>
+ <span v-if="scope.row.repairStatus == 2">已修好</span>
+ </template>
+ </el-table-column>
<el-table-column property="repairMemo" align="center" label="维修情况" sortable />
- <el-table-column property="repairPersonId" align="center" label="维修负责人" sortable />
- <el-table-column property="repairPersonDepartmentId" align="center" label="维修负责人单位" sortable />
+ <el-table-column property="repairPersonName" align="center" label="维修负责人" sortable />
+ <el-table-column property="repairPersonDepartmentName" align="center" label="维修负责人单位" sortable />
<el-table-column property="repairStartDate" align="center" label="维修开始日期" sortable />
<el-table-column property="repairEndDate" align="center" label="维修结束日期" sortable />
</el-table>
@@ -136,7 +146,8 @@
searchParams: {
qName: '', ////名称
positionNum: '', ////位号
- infoType: 0, ////具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施
+ equipmentTypeId:"",
+ infoType: 1, ////具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施
},
});
// 重置
@@ -299,7 +310,8 @@
return data.typeName.includes(value);
};
const handleNodeClick=(data: Tree)=>{
- ruleForm.searchParams.positionNum=data.id
+ ruleForm.searchParams.equipmentTypeId=data.id
+ ruleForm.searchParams.equipmentTypeId = data.id;
listApi();
}
const data=ref([])
diff --git a/src/views/facilityManagement/deviceType/component/Dailog.vue b/src/views/facilityManagement/deviceType/component/Dailog.vue
index 576135f..ce4d7af 100644
--- a/src/views/facilityManagement/deviceType/component/Dailog.vue
+++ b/src/views/facilityManagement/deviceType/component/Dailog.vue
@@ -6,14 +6,14 @@
<el-col :span="11">
<el-form-item label="是否为设备内容" size="default" prop="isContent">
<el-select v-model="form.isContent" placeholder="请选择" style="width: 100%">
- <el-option label="是" value="1" />
- <el-option label="否" value="2" />
+ <el-option label="是" :value="1" />
+ <el-option label="否" :value="2" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
<el-form-item label="父级编号" size="default" prop="parentId">
- <el-tree-select clearable check-strictly="true" v-model="form.parentId" :data="data" :props="propst" class="w100" placeholder="请选择" />
+ <el-tree-select clearable check-strictly="true" v-model="form.parentId" :data="data" :props="propst" class="w100" placeholder="请选择" />
</el-form-item>
</el-col>
</el-row>
@@ -51,16 +51,18 @@
const form = ref({
isContent: '', ////是否为设备内容 1:是 2:否
typeName: '', ////类别名称
- parentId: "", ////父级ID,如果没有父级,为0
+ parentId: '', ////父级ID,如果没有父级,为0
isCheck: 0, ////是否检测 1:是 2:否
isVisit: 0, ////是否巡检 1:是 2:否
sortNum: '', //排列序列
- id: '', //设备类型ID ,更新时必填
+ // id: '', //设备类型ID ,更新时必填
});
const titles = ref();
+ const titleT = ref();
const disabled = ref(false);
const openDailog = (title: string, id: number) => {
listApi();
+ titleT.value = title;
dialogVisible.value = true;
titles.value = `${title}设备设施类型管理`;
if (title == '查看') {
@@ -69,7 +71,7 @@
} else if (title == '修改') {
detail(id);
} else if (title == '添加') {
- form.value.parentId=id
+ form.value.parentId = id;
}
};
const detail = (id: number) => {
@@ -123,6 +125,9 @@
if (!formEl) return;
await formEl.validate((valid, fields) => {
if (valid) {
+ if (titleT.value == '新建') {
+ delete form.value.id;
+ }
facilityManagementApi()
.getequipmentTypeMngAddOrUpdate(form.value)
.then((res) => {
@@ -147,11 +152,13 @@
console.log('error submit!', fields);
}
});
+ disabled.value=false
};
const resetForm = (formEl: FormInstance | undefined) => {
if (!formEl) return;
formEl.resetFields();
dialogVisible.value = false;
+ disabled.value=false
};
//全屏
const full = ref(false);
@@ -163,6 +170,7 @@
}
};
return {
+ titleT,
detail,
rules,
ruleFormRef,
diff --git a/src/views/facilityManagement/keyEquipment/index.vue b/src/views/facilityManagement/keyEquipment/index.vue
index 7e987d6..78b54f1 100644
--- a/src/views/facilityManagement/keyEquipment/index.vue
+++ b/src/views/facilityManagement/keyEquipment/index.vue
@@ -1,384 +1,447 @@
<template>
- <div>
- <el-form ref="ruleFormRef" :model="ruleForm" status-icon label-width="20px" class="topTitle">
- <el-row>
- <el-col :span="4">
- <el-form-item size="default">
- <el-input v-model="ruleForm.searchParams.qName" placeholder="装置/部位名称" />
- </el-form-item>
- </el-col>
- <el-col :span="4">
- <el-form-item>
- <el-button size="default" type="primary" @click="listApi">查询</el-button>
- <el-button size="default" @click="resetForm">重置</el-button>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <el-row>
- <el-col :span="4">
- <el-input v-model="filterText" style="height: 30px" placeholder="请输入关键字" />
- <div class="tree">
- <!-- <el-input v-model="filterText" style="height: 30px" placeholder="Filter keyword" />-->
- <el-tree ref="treeRef" :data="data" :props="props" @node-click="handleNodeClick" :filter-node-method="filterNode" />
- </div>
- </el-col>
- <el-col :span="20">
- <div class="btns">
- <div>
- <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>
- <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button>
- <el-button size="default" :disabled="danger" type="danger" :icon="Delete" @click="onDeleteAll" plain>删除</el-button>
- </div>
- <div>
- <!-- <el-button size="default" :icon="Upload" @click="openUp"></el-button>
- <el-button size="default" :icon="Download"></el-button>
- <el-button size="default" :icon="Refresh"></el-button> -->
- </div>
- </div>
- <div style="padding-left: 10px">
- <el-table ref="multipleTableRef" :data="tableData" @selection-change="handleSelectionChange" style="width: 100%">
- <el-table-column type="selection" align="center" width="55" />
- <el-table-column type="expand">
- <template #default="scope">
- <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick" style="margin: 0 5%">
- <el-tab-pane label="设备保养" name="first">
- <el-table ref="multipleTableRef" :data="scope.row.takecareDetailList" style="width: 100%">
- <el-table-column property="takecareMemo" align="center" label="保养情况" sortable />
- <el-table-column property="leadingPersonId" align="center" label="保养负责人" sortable />
- <el-table-column property="takecareDate" align="center" :formatter="timeDate" label="保养日期" sortable />
- <el-table-column property="leadingPersonDepartmentId" align="center" label="保养负责人单位" sortable />
- </el-table>
- </el-tab-pane>
- <el-tab-pane label="设备检查" name="second"
- ><el-table ref="multipleTableRef" :data="scope.row.checkDetailList" style="width: 100%">
- <el-table-column property="leadingPersonId" align="center" label="检查人" sortable />
- <el-table-column property="createTime" align="center" :formatter="timeDate" label="检查日期" sortable />
- <el-table-column property="name" align="center" label="检查人部门" sortable />
- <el-table-column property="takecareMemo" align="center" label="检查结果" sortable />
- <el-table-column property="name" align="center" label="检查状态" sortable /> </el-table
- ></el-tab-pane>
- <el-tab-pane label="设备检测" name="third">
- <el-table ref="multipleTableRef" :data="scope.row.testDetailList" style="width: 100%">
- <el-table-column property="testPersonId" align="center" label="检测人" sortable />
- <el-table-column property="testDate" align="center" :formatter="timeDate" label="检测日期" sortable />
- <el-table-column property="testPersonDepartmentId" align="center" label="检测人单位" sortable />
- <el-table-column property="testMemo" align="center" label="检测内容" sortable />
- <el-table-column property="testResult" align="center" label="检测结果" sortable />
- <el-table-column property="testStatus" align="center" label="检测状态" sortable />
- </el-table>
- </el-tab-pane>
- <el-tab-pane label="设备维修" name="fourth">
- <el-table ref="multipleTableRef" :data="scope.row.repaireDetailList" style="width: 100%">
- <el-table-column property="exceptionInfo" align="center" label="设施异常项" sortable />
- <el-table-column property="repairStatus" align="center" label="维修状态" sortable />
- <el-table-column property="repairMemo" align="center" label="维修情况" sortable />
- <el-table-column property="repairPersonId" align="center" label="维修负责人" sortable />
- <el-table-column property="repairPersonDepartmentId" align="center" label="维修负责人单位" sortable />
- <el-table-column property="repairStartDate" align="center" :formatter="timeDate" label="维修开始日期" sortable />
- <el-table-column property="repairEndDate" align="center" :formatter="timeDate" label="维修结束日期" sortable />
- </el-table>
- </el-tab-pane>
- </el-tabs>
- </template>
- </el-table-column>
- <el-table-column property="equipmentTypeId" align="center" label="类型/类别外键" sortable />
- <el-table-column property="qName" align="center" label="装置/部位名称" sortable />
- <el-table-column property="departmentId" label="所属部门" align="center" sortable show-overflow-tooltip />
- <el-table-column property="position" label="具体位置" align="center" sortable show-overflow-tooltip />
- <el-table-column property="leadingPersonName" label="负责人姓名" align="center" sortable show-overflow-tooltip />
- <el-table-column property="connectPersonId" label="装置部位分类" align="center" sortable show-overflow-tooltip />
- <el-table-column label="操作" align="center" width="250">
- <template #default="scope">
- <el-button link type="primary" size="default" :icon="View" @click="openD('查看', scope.row.id)">查看</el-button>
- <el-button link type="primary" size="default" :icon="EditPen" @click="openD('修改', scope.row.id)">修改</el-button>
- <el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <div class="pages">
- <el-pagination
- v-model:currentPage="currentPage4"
- v-model:page-size="pageSize4"
- :page-sizes="[10, 20, 30, 40]"
- layout="total, sizes, prev, pager, next, jumper"
- :total="total"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- />
- </div>
- </div>
- </el-col>
- </el-row>
- <!-- <updata ref="Show"></updata>-->
- <DailogS ref="ShowD" @navAddorUpdata="onAddorUpdata"></DailogS>
- </div>
+ <div>
+ <el-form ref="ruleFormRef" :model="ruleForm" status-icon label-width="20px" class="topTitle">
+ <el-row>
+ <el-col :span="4">
+ <el-form-item size="default">
+ <el-input v-model="ruleForm.searchParams.name" placeholder="装置/部位名称"/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="4">
+ <el-form-item>
+ <el-button size="default" type="primary" @click="listApi">查询</el-button>
+ <el-button size="default" @click="resetForm">重置</el-button>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <el-row>
+ <el-col :span="4">
+ <el-input v-model="filterText" style="height: 30px" placeholder="请输入关键字"/>
+ <div class="tree">
+ <!-- <el-input v-model="filterText" style="height: 30px" placeholder="Filter keyword" />-->
+ <el-tree ref="treeRef" :data="data" :props="props" @node-click="handleNodeClick"
+ :filter-node-method="filterNode"/>
+ </div>
+ </el-col>
+ <el-col :span="20">
+ <div class="btns">
+ <div>
+ <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>
+ <!-- <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button>-->
+ <el-button size="default" :disabled="danger" type="danger" :icon="Delete" @click="onDeleteAll"
+ plain>删除
+ </el-button>
+ </div>
+ <div>
+ <!-- <el-button size="default" :icon="Upload" @click="openUp"></el-button>
+ <el-button size="default" :icon="Download"></el-button>
+ <el-button size="default" :icon="Refresh"></el-button> -->
+ </div>
+ </div>
+ <div style="padding-left: 10px">
+ <el-table ref="multipleTableRef" :data="tableData" @selection-change="handleSelectionChange"
+ style="width: 100%">
+ <el-table-column type="selection" align="center" width="55"/>
+ <el-table-column type="expand">
+ <template #default="scope">
+ <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"
+ style="margin: 0 5%">
+ <el-tab-pane label="设备保养" name="first">
+ <el-table ref="multipleTableRef" :data="scope.row.takecareDetailList"
+ style="width: 100%">
+ <el-table-column property="takecareMemo" align="center" label="保养情况"
+ sortable/>
+ <el-table-column property="leadingPersonName" align="center" label="保养负责人"
+ sortable/>
+ <el-table-column property="takecareDate" align="center"
+ :formatter="timeDate" label="保养日期" sortable/>
+ <el-table-column property="leadingPersonDepartmentName" align="center"
+ label="保养负责人单位" sortable/>
+ </el-table>
+ </el-tab-pane>
+ <el-tab-pane label="设备检查" name="second"
+ >
+ <el-table ref="multipleTableRef" :data="scope.row.checkDetailList"
+ style="width: 100%">
+ <el-table-column property="testPersonName" align="center" label="检查人"
+ sortable/>
+ <el-table-column property="testDate" align="center" :formatter="timeDate"
+ label="检查日期" sortable/>
+ <el-table-column property="testPersonDepartmentName" align="center" label="检查人部门" sortable/>
+ <el-table-column property="testResult" align="center" label="检查结果"
+ sortable>
+ <template #default="scope">
+ <span v-if="scope.row.testResult == 1">成功</span>
+ <span v-if="scope.row.testResult == 2">失败</span>
+ </template>
+ </el-table-column>
+ <el-table-column property="testStatus" align="center" label="检查状态" sortable/>
+ </el-table
+ >
+ </el-tab-pane>
+ <el-tab-pane label="设备检测" name="third">
+ <el-table ref="multipleTableRef" :data="scope.row.testDetailList"
+ style="width: 100%">
+ <el-table-column property="repairPersonName" align="center" label="检测人"
+ sortable/>
+ <el-table-column property="repairStarDate" align="center" :formatter="timeDate"
+ label="检测日期" sortable/>
+ <el-table-column property="repairPersonDepartmentName" align="center"
+ label="检测人单位" sortable/>
+ <el-table-column property="testMemo" align="center" label="检测内容" sortable/>
+ <el-table-column property="testResult" align="center" label="检测结果"
+ sortable/>
+ <el-table-column property="testStatus" align="center" label="检测状态"
+ sortable/>
+ </el-table>
+ </el-tab-pane>
+ <el-tab-pane label="设备维修" name="fourth">
+ <el-table ref="multipleTableRef" :data="scope.row.repaireDetailList"
+ style="width: 100%">
+ <el-table-column property="exceptionInfo" align="center" label="设施异常项"
+ sortable/>
+ <el-table-column property="repairStatus" align="center" label="维修状态"
+ sortable>
+ <template #default="scope">
+ <span v-if="scope.row.repairStatus == 1">维修中</span>
+ <span v-if="scope.row.repairStatus == 2">已维修</span>
+ </template>
+
+ </el-table-column>
+ <el-table-column property="repairMemo" align="center" label="维修情况"
+ sortable/>
+ <el-table-column property="repairPersonName" align="center" label="维修负责人"
+ sortable/>
+ <el-table-column property="repairPersonDepartmentName" align="center"
+ label="维修负责人单位" sortable/>
+ <el-table-column property="repairStartDate" align="center"
+ :formatter="timeDate" label="维修开始日期" sortable/>
+ <el-table-column property="repairEndDate" align="center"
+ :formatter="timeDate" label="维修结束日期" sortable/>
+ </el-table>
+ </el-tab-pane>
+ </el-tabs>
+ </template>
+ </el-table-column>
+ <el-table-column property="equipmentTypeName" align="center" label="类型/类别外键" sortable/>
+ <el-table-column property="name" align="center" label="装置/部位名称" sortable/>
+ <el-table-column property="departmentName" label="所属部门" align="center" sortable
+ show-overflow-tooltip/>
+ <el-table-column property="position" label="具体位置" align="center" sortable
+ show-overflow-tooltip/>
+ <el-table-column property="leadingPersonName" label="负责人姓名" align="center" sortable
+ show-overflow-tooltip/>
+ <el-table-column property="partType" label="装置部位分类" align="center" sortable
+ show-overflow-tooltip>
+ <template #default="scope">
+ <span v-if="scope.row.partType == 1">关键装置</span>
+ <span v-if="scope.row.partType == 2">重点部位</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="操作" align="center" width="250">
+ <template #default="scope">
+ <el-button link type="primary" size="default" :icon="View"
+ @click="openD('查看', scope.row.id)">查看
+ </el-button>
+ <el-button link type="primary" size="default" :icon="EditPen"
+ @click="openD('修改', scope.row.id)">修改
+ </el-button>
+ <el-button link type="primary" size="default" :icon="Delete"
+ @click="onDelete(scope.row.id)">删除
+ </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="pages">
+ <el-pagination
+ v-model:currentPage="currentPage4"
+ v-model:page-size="pageSize4"
+ :page-sizes="[10, 20, 30, 40]"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </div>
+ </el-col>
+ </el-row>
+ <!-- <updata ref="Show"></updata>-->
+ <DailogS ref="ShowD" @navAddorUpdata="onAddorUpdata"></DailogS>
+ </div>
</template>
<script lang="ts">
-import { defineComponent, ref, reactive, watch, onMounted } from 'vue';
-// import updata from '/@/components/updata/updata.vue'
-import DailogS from '/@/components/equipmentDailog/DailogS.vue';
-import { ElTree, TabsPaneContext, ElMessage, ElMessageBox } from 'element-plus';
-import { EditPen, Plus, Delete, Download, Refresh, Upload, View } from '@element-plus/icons-vue';
-import { facilityManagementApi } from '/@/api/facilityManagement';
-import {timeDate} from '/@/assets/index.ts'
-interface Tree {
- label: string;
- children?: Tree[];
-}
-export default defineComponent({
- components: {
- // updata,
- DailogS,
- },
- setup() {
- const ruleForm = reactive({
- pageSize: 10,
- pageIndex: 1,
- searchParams: {
- equipmentTypeId: '', ////类型/类别外键
- qName: '', ////装置/部位名称
- // departmentId: '',////所属部门
- // position: '', ////具体位置
- // leadingPersonName: '', ////负责人姓名
- // connectPersonId: '',////装置部位分类
- infoTpe: 0, ////具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施 3:重点监管装置/设备
- },
- });
- // 重置
- const resetForm = () => {
- ruleForm.searchParams.qName = '';
- listApi();
- };
- const listApi = () => {
- facilityManagementApi()
- .getkeypointEquipmentInfoAddOrList(ruleForm)
- .then((res) => {
- if (res.data.code == 200) {
- tableData.value = res.data.data;
- currentPage4.value = res.data.pageIndex;
- pageSize4.value = res.data.pageSize;
- total.value = res.data.total;
- } else {
- ElMessage.error(res.data.msg);
- }
- });
- };
- onMounted(() => {
- listApi();
- });
- const onAddorUpdata = () => {
- listApi();
- };
- const tableData = ref();
- const currentPage4 = ref();
- const pageSize4 = ref();
- const total = ref();
- const handleSizeChange = (val: number) => {
- // console.log(`${val} items per page`);
- ruleForm.pageSize = val;
- listApi();
- };
- const handleCurrentChange = (val: number) => {
- // console.log(`current page: ${val}`);
- ruleForm.pageIndex = val;
- listApi();
- };
- const filterText = ref('');
- const treeRef = ref<InstanceType<typeof ElTree>>();
- // 树形
- const listApiTree = () => {
- facilityManagementApi()
- .getequipmentTypeMngTreeData()
- .then((res) => {
- if (res.data.code == 200) {
- console.log(res.data.data);
- data.value = res.data.data;
- } else {
- ElMessage({
- showClose: true,
- message: res.data.msg,
- type: 'error',
- });
- }
- });
- };
- const props = {
- label: 'typeName',
- children: 'childList',
- value: 'id',
+ import {defineComponent, ref, reactive, watch, onMounted} from 'vue';
+ // import updata from '/@/components/updata/updata.vue'
+ import DailogS from '/@/components/equipmentDailog/DailogS.vue';
+ import {ElTree, TabsPaneContext, ElMessage, ElMessageBox} from 'element-plus';
+ import {EditPen, Plus, Delete, Download, Refresh, Upload, View} from '@element-plus/icons-vue';
+ import {facilityManagementApi} from '/@/api/facilityManagement';
+ import {timeDate} from '/@/assets/index.ts'
+
+ interface Tree {
+ label: string;
+ children?: Tree[];
}
- watch(filterText, (val) => {
- treeRef.value!.filter(val);
- });
- const filterNode = (value: string, data: Tree) => {
- if (!value) return true;
- return data.typeName.includes(value);
- };
- const handleNodeClick = (data: Tree) => {
- console.log(data)
- ruleForm.searchParams.qName = data.typeName;
- listApi();
- };
- const data = ref([]);
- onMounted(() => {
- listApiTree();
- });
- // 删除
- const onDelete = (id: number) => {
- let arr=[]
- arr.push(id)
- ElMessageBox.confirm('确定删除所选项吗?', 'Warning', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning',
- })
- .then(() => {
- facilityManagementApi()
- .getkeypointEquipmentInfoDetele(arr)
- .then((res) => {
- if (res.data.code == 200) {
- ElMessage({
- message: res.data.msg,
- type: 'success',
- });
- listApi();
- } else {
- ElMessage.error(res.data.msg);
- }
- });
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: 'Delete canceled',
- });
- });
- };
- // 批量删除
- const warning = ref(true);
- const danger = ref(true);
- const deletAll = ref();
- const handleSelectionChange = (val: any) => {
- let valId = JSON.parse(JSON.stringify(val));
- let arr = [];
- for (let i = 0; i < valId.length; i++) {
- arr.push(valId[i].id);
- }
- deletAll.value = arr;
- if (val.length == 1) {
- warning.value = false;
- danger.value = false;
- } else if (val.length == 0) {
- warning.value = true;
- danger.value = true;
- } else {
- warning.value = true;
- danger.value = false;
- }
- };
- const onDeleteAll = () => {
- ElMessageBox.confirm('确定删除所选项吗?', 'Warning', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning',
- })
- .then(() => {
- facilityManagementApi()
- .getkeypointEquipmentInfoDetele(deletAll.value)
- .then((res) => {
- if (res.data.code == 200) {
- ElMessage({
- message: res.data.msg,
- type: 'success',
- });
- listApi();
- } else {
- ElMessage.error(res.data.msg);
- }
- });
- })
- .catch(() => {
- // ElMessage({
- // type: 'info',
- // message: 'Delete canceled',
- // });
- });
- };
+ export default defineComponent({
+ components: {
+ // updata,
+ DailogS,
+ },
+ setup() {
+ const ruleForm = reactive({
+ pageSize: 10,
+ pageIndex: 1,
+ searchParams: {
+ // equipmentTypeId: '', ////类型/类别外键
+ name: '', ////装置/部位名称
+ // departmentId: '',////所属部门
+ // position: '', ////具体位置
+ // leadingPersonName: '', ////负责人姓名
+ // connectPersonId: '',////装置部位分类
+ // infoTpe: 0, ////具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施 3:重点监管装置/设备
+ equipmentTypeId: ''
+ },
+ });
+ // 重置
+ const resetForm = () => {
+ ruleForm.searchParams.equipmentTypeId = '';
+ listApi();
+ };
+ const listApi = () => {
+ // delete ruleForm.qName
+ facilityManagementApi()
+ .getkeypointEquipmentInfoAddOrList(ruleForm)
+ .then((res) => {
+ if (res.data.code == 200) {
+ tableData.value = res.data.data;
+ currentPage4.value = res.data.pageIndex;
+ pageSize4.value = res.data.pageSize;
+ total.value = res.data.total;
+ } else {
+ ElMessage.error(res.data.msg);
+ }
+ });
+ };
+ onMounted(() => {
+ listApi();
+ });
+ const onAddorUpdata = () => {
+ listApi();
+ };
+ const tableData = ref();
+ const currentPage4 = ref();
+ const pageSize4 = ref();
+ const total = ref();
+ const handleSizeChange = (val: number) => {
+ // console.log(`${val} items per page`);
+ ruleForm.pageSize = val;
+ listApi();
+ };
+ const handleCurrentChange = (val: number) => {
+ // console.log(`current page: ${val}`);
+ ruleForm.pageIndex = val;
+ listApi();
+ };
+ const filterText = ref('');
+ const treeRef = ref<InstanceType<typeof ElTree>>();
+ // 树形
+ const listApiTree = () => {
+ facilityManagementApi()
+ .getequipmentTypeMngTreeData()
+ .then((res) => {
+ if (res.data.code == 200) {
+ console.log(res.data.data);
+ data.value = res.data.data;
+ } else {
+ ElMessage({
+ showClose: true,
+ message: res.data.msg,
+ type: 'error',
+ });
+ }
+ });
+ };
+ const props = {
+ label: 'typeName',
+ children: 'childList',
+ value: 'id',
+ }
+ watch(filterText, (val) => {
+ treeRef.value!.filter(val);
+ });
+ const filterNode = (value: string, data: Tree) => {
+ if (!value) return true;
+ return data.typeName.includes(value);
+ };
+ const handleNodeClick = (data: Tree) => {
+ console.log(data)
+ ruleForm.searchParams.equipmentTypeId = data.id;
- const activeName = ref('first');
+ listApi();
+ };
+ const data = ref([]);
+ onMounted(() => {
+ listApiTree();
+ });
+ // 删除
+ const onDelete = (id: number) => {
+ let arr = []
+ arr.push(id)
+ ElMessageBox.confirm('确定删除所选项吗?', 'Warning', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning',
+ })
+ .then(() => {
+ facilityManagementApi()
+ .getkeypointEquipmentInfoDetele(arr)
+ .then((res) => {
+ if (res.data.code == 200) {
+ ElMessage({
+ message: res.data.msg,
+ type: 'success',
+ });
+ listApi();
+ } else {
+ ElMessage.error(res.data.msg);
+ }
+ });
+ })
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: 'Delete canceled',
+ });
+ });
+ };
+ // 批量删除
+ // const warning = ref(true);
+ const danger = ref(true);
+ const deletAll = ref();
+ const handleSelectionChange = (val: any) => {
+ let valId = JSON.parse(JSON.stringify(val));
+ let arr = [];
+ for (let i = 0; i < valId.length; i++) {
+ arr.push(valId[i].id);
+ }
+ deletAll.value = arr;
+ if (val.length == 1) {
+ // warning.value = false;
+ danger.value = false;
+ } else if (val.length == 0) {
+ // warning.value = true;
+ danger.value = true;
+ } else {
+ // warning.value = true;
+ danger.value = false;
+ }
+ };
+ const onDeleteAll = () => {
+ ElMessageBox.confirm('确定删除所选项吗?', 'Warning', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning',
+ })
+ .then(() => {
+ facilityManagementApi()
+ .getkeypointEquipmentInfoDetele(deletAll.value)
+ .then((res) => {
+ if (res.data.code == 200) {
+ ElMessage({
+ message: res.data.msg,
+ type: 'success',
+ });
+ listApi();
+ } else {
+ ElMessage.error(res.data.msg);
+ }
+ });
+ })
+ .catch(() => {
+ // ElMessage({
+ // type: 'info',
+ // message: 'Delete canceled',
+ // });
+ });
+ };
- const handleClick = (tab: TabsPaneContext, event: Event) => {
- console.log(tab, event);
- };
- // const Show=ref()
- // const openUp=()=>{
- // Show.value.openDialog()
- // }
- // 新增弹窗
- const ShowD = ref();
- const openD = (title: String, id: number) => {
- ShowD.value.openDailog(title, false, id, 2);
- };
- return {
- activeName,
- handleClick,
- ruleForm,
- filterText,
- treeRef,
- props,
- filterNode,
- data,
- tableData,
- // Show,
- // openUp,
- ShowD,
- danger,
- openD,
- // openEdit,
- Plus,
- EditPen,
- listApiTree,
- Delete,
- View,
- Download,
- Refresh,
- Upload,
- resetForm,
- listApi,
- handleCurrentChange,
- handleSizeChange,
- onAddorUpdata,
- total,
- currentPage4,
- pageSize4,
- onDelete,
- warning,
- handleSelectionChange,
- onDeleteAll,
- handleNodeClick,
- timeDate,
- };
- },
-});
+ const activeName = ref('first');
+
+ const handleClick = (tab: TabsPaneContext, event: Event) => {
+ console.log(tab, event);
+ };
+ // const Show=ref()
+ // const openUp=()=>{
+ // Show.value.openDialog()
+ // }
+ // 新增弹窗
+ const ShowD = ref();
+ const openD = (title: String, id: number) => {
+ ShowD.value.openDailog(title, false, id, 2);
+ };
+ return {
+ activeName,
+ handleClick,
+ ruleForm,
+ filterText,
+ treeRef,
+ props,
+ filterNode,
+ data,
+ tableData,
+ // Show,
+ // openUp,
+ ShowD,
+ danger,
+ openD,
+ // openEdit,
+ Plus,
+ EditPen,
+ listApiTree,
+ Delete,
+ View,
+ Download,
+ Refresh,
+ Upload,
+ resetForm,
+ listApi,
+ handleCurrentChange,
+ handleSizeChange,
+ onAddorUpdata,
+ total,
+ currentPage4,
+ pageSize4,
+ onDelete,
+ // warning,
+ handleSelectionChange,
+ onDeleteAll,
+ handleNodeClick,
+ timeDate,
+ };
+ },
+ });
</script>
<style scoped>
-.topTitle {
- background-color: #fff;
- padding: 20px 0px 20px 0px;
- margin-bottom: 10px;
-}
-.tree {
- height: 750px;
- background-color: #fff;
- overflow: hidden;
- overflow-y: auto;
-}
-.btns {
- padding: 10px 0px 10px 10px;
- display: flex;
- justify-content: space-between;
- background-color: #fff;
-}
+ .topTitle {
+ background-color: #fff;
+ padding: 20px 0px 20px 0px;
+ margin-bottom: 10px;
+ }
+
+ .tree {
+ height: 750px;
+ background-color: #fff;
+ overflow: hidden;
+ overflow-y: auto;
+ }
+
+ .btns {
+ padding: 10px 0px 10px 10px;
+ display: flex;
+ justify-content: space-between;
+ background-color: #fff;
+ }
</style>
diff --git a/src/views/facilityManagement/safetyEquipment/index.vue b/src/views/facilityManagement/safetyEquipment/index.vue
index 576cfb7..98b78a0 100644
--- a/src/views/facilityManagement/safetyEquipment/index.vue
+++ b/src/views/facilityManagement/safetyEquipment/index.vue
@@ -17,9 +17,8 @@
</el-form>
<el-row>
<el-col :span="4">
- <el-input v-model="filterText" style="height: 30px" placeholder="请输入关键字" />
+ <el-input v-model="filterText" style="height: 30px" placeholder="请输入关键字" />
<div class="tree">
-
<!-- <el-tree ref="treeRef" class="filter-tree" :data="data" :props="props" :filter-node-method="filterNode" /> -->
<el-tree ref="treeRef" :data="data" :props="props" @node-click="handleNodeClick" :filter-node-method="filterNode" />
</div>
@@ -28,7 +27,7 @@
<div class="btns">
<div>
<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>
- <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button>
+ <!-- <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button> -->
<el-button size="default" :disabled="danger" type="danger" :icon="Delete" @click="onDeleteAll" plain>删除</el-button>
</div>
<div>
@@ -38,7 +37,7 @@
</div>
</div>
<div style="padding-left: 10px">
- <el-table ref="multipleTableRef" :data="tableData" @selection-change="handleSelectionChange" style="width: 100%">
+ <el-table ref="multipleTableRef" :data="tableData" @selection-change="handleSelectionChange" style="width: 100%">
<el-table-column type="selection" align="center" width="55" />
<el-table-column type="expand">
<template #default="scope">
@@ -46,14 +45,14 @@
<el-tab-pane label="设备保养" name="first">
<el-table ref="multipleTableRef" :data="scope.row.takecareDetailList" style="width: 100%">
<el-table-column property="takecareMemo" align="center" label="保养情况" sortable />
- <el-table-column property="leadingPersonId" align="center" label="保养负责人" sortable />
+ <el-table-column property="leadingPersonName" align="center" label="保养负责人" sortable />
<el-table-column property="takecareDate" align="center" :formatter="timeDate" label="保养日期" sortable />
- <el-table-column property="leadingPersonDepartmentId" align="center" label="保养负责人单位" sortable />
+ <el-table-column property="leadingPersonDepartmentName" align="center" label="保养负责人单位" sortable />
</el-table>
</el-tab-pane>
<el-tab-pane label="设备检查" name="second"
><el-table ref="multipleTableRef" :data="scope.row.checkDetailList" style="width: 100%">
- <el-table-column property="leadingPersonId" align="center" label="检查人" sortable />
+ <el-table-column property="leadingPersonName" align="center" label="检查人" sortable />
<el-table-column property="createTime" align="center" :formatter="timeDate" label="检查日期" sortable />
<el-table-column property="name" align="center" label="检查人部门" sortable />
<el-table-column property="takecareMemo" align="center" label="检查结果" sortable />
@@ -61,21 +60,31 @@
></el-tab-pane>
<el-tab-pane label="设备检测" name="third">
<el-table ref="multipleTableRef" :data="scope.row.testDetailList" style="width: 100%">
- <el-table-column property="testPersonId" align="center" label="检测人" sortable />
+ <el-table-column property="testPersonName" align="center" label="检测人" sortable />
<el-table-column property="testDate" align="center" :formatter="timeDate" label="检测日期" sortable />
- <el-table-column property="testPersonDepartmentId" align="center" label="检测人单位" sortable />
+ <el-table-column property="testPersonDepartmentName" align="center" label="检测人单位" sortable />
<el-table-column property="testMemo" align="center" label="检测内容" sortable />
- <el-table-column property="testResult" align="center" label="检测结果" sortable />
+ <el-table-column align="center" label="检测结果">
+ <template #default="scope">
+ <span v-if="scope.row.testResult == 1">成功</span>
+ <span v-if="scope.row.testResult == 2">失败</span>
+ </template>
+ </el-table-column>
<el-table-column property="testStatus" align="center" label="检测状态" sortable />
</el-table>
</el-tab-pane>
<el-tab-pane label="设备维修" name="fourth">
<el-table ref="multipleTableRef" :data="scope.row.repaireDetailList" style="width: 100%">
<el-table-column property="exceptionInfo" align="center" label="设施异常项" sortable />
- <el-table-column property="repairStatus" align="center" label="维修状态" sortable />
+ <el-table-column align="center" label="维修状态">
+ <template #default="scope">
+ <span v-if="scope.row.repairStatus == 1">维修中</span>
+ <span v-if="scope.row.repairStatus == 2">已修好</span>
+ </template>
+ </el-table-column>
<el-table-column property="repairMemo" align="center" label="维修情况" sortable />
- <el-table-column property="repairPersonId" align="center" label="维修负责人" sortable />
- <el-table-column property="repairPersonDepartmentId" align="center" label="维修负责人单位" sortable />
+ <el-table-column property="repairPersonName" align="center" label="维修负责人" sortable />
+ <el-table-column property="repairPersonDepartmentName" align="center" label="维修负责人单位" sortable />
<el-table-column property="repairStartDate" align="center" :formatter="timeDate" label="维修开始日期" sortable />
<el-table-column property="repairEndDate" align="center" :formatter="timeDate" label="维修结束日期" sortable />
</el-table>
@@ -121,7 +130,7 @@
import Dailog from '/@/components/equipmentDailog/Dailog.vue';
import { ElTree, TabsPaneContext, ElMessage, ElMessageBox } from 'element-plus';
import { facilityManagementApi } from '/@/api/facilityManagement';
-import {timeDate} from '/@/assets/index.ts'
+import { timeDate } from '/@/assets/index.ts';
import { EditPen, View, Plus, Delete, Download, Refresh, Upload } from '@element-plus/icons-vue';
interface Tree {
label: string;
@@ -137,7 +146,8 @@
searchParams: {
qName: '', ////名称
positionNum: '', ////位号
- infoType: 0, ////具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施
+ equipmentTypeId: '',
+ infoType: 2, ////具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施
},
});
// 重置
@@ -185,12 +195,12 @@
// 弹窗
const openAdd = ref();
const openD = (title: String, id: number) => {
- openAdd.value.openDailog(title,false,id,2);
+ openAdd.value.openDailog(title, false, id, 2);
};
// 删除
const onDelete = (id: number) => {
- let arr=[]
- arr.push(id)
+ let arr = [];
+ arr.push(id);
ElMessageBox.confirm('确定删除所选项吗?', 'Warning', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@@ -228,7 +238,7 @@
for (let i = 0; i < valId.length; i++) {
arr.push(valId[i].id);
}
- deletAll.value = arr
+ deletAll.value = arr;
if (val.length == 1) {
warning.value = false;
danger.value = false;
@@ -276,7 +286,7 @@
.getequipmentTypeMngTreeData()
.then((res) => {
if (res.data.code == 200) {
- data.value= res.data.data;
+ data.value = res.data.data;
} else {
ElMessage({
showClose: true,
@@ -290,7 +300,7 @@
label: 'typeName',
children: 'childList',
value: 'id',
- }
+ };
watch(filterText, (val) => {
treeRef.value!.filter(val);
});
@@ -299,18 +309,19 @@
if (!value) return true;
return data.typeName.includes(value);
};
- const handleNodeClick=(data: Tree)=>{
- ruleForm.searchParams.positionNum=data.id
+ const handleNodeClick = (data: Tree) => {
+ ruleForm.searchParams.equipmentTypeId = data.id;
+ ruleForm.searchParams.equipmentTypeId = data.id;
listApi();
- }
- const data=ref([])
+ };
+ const data = ref([]);
onMounted(() => {
listApiTree();
});
const handleClicks = (tab: TabsPaneContext, event: Event) => {
console.log(tab, event);
};
-
+
const activeName = ref('first');
// const Show=ref()
// const openUp=()=>{
@@ -351,7 +362,7 @@
Refresh,
View,
Upload,
- timeDate,
+ timeDate,
};
},
});
diff --git a/src/views/goalManagement/Goalsummary/index.vue b/src/views/goalManagement/Goalsummary/index.vue
index 4d241e4..4947ed0 100644
--- a/src/views/goalManagement/Goalsummary/index.vue
+++ b/src/views/goalManagement/Goalsummary/index.vue
@@ -24,10 +24,10 @@
<div class="btns">
<p>汇总日期:2022-07-04 23:00:07</p>
<div>
- <el-button type="primary" size="default" :icon="Download">导出</el-button>
+ <el-button type="primary" size="default" :icon="Download" @click="exportExcel('tab1', '会员明细.xlsx')">导出</el-button>
</div>
</div>
- <el-table :data="tableData" style="width: 100%">
+ <el-table :data="tableData" style="width: 100%" id="tab1">
<el-table-column label="责任部门" align="center">
<template #default="scope">{{ scope.row.departmentId }}</template>
</el-table-column>
@@ -68,6 +68,9 @@
import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';
import { Plus, Delete, Upload, Download, Refresh, View } from '@element-plus/icons-vue';
import { goalManagementApi } from '/@/api/goalManagement';
+
+// import * as XLSX from 'xlsx';
+
export default defineComponent({
components: { ElButton, ElInput },
setup() {
@@ -162,6 +165,16 @@
],
},
];
+
+ const exportExcel = (id:string,name:string) => {
+ let workbook = XLSX.utils.table_to_book(document.getElementById(id)); //需要在table上定义一个id
+ try {
+ XLSX.writeFile(workbook, name);
+ console.log('导出成功!');
+ } catch (e) {
+ console.log('导出失败!');
+ }
+ }
return {
ruleForm,
tableData,
@@ -179,6 +192,7 @@
Download,
Refresh,
View,
+ exportExcel
};
},
});
@@ -210,4 +224,4 @@
display: flex;
justify-content: right;
}
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue b/src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue
index ec8fdd2..c0a5906 100644
--- a/src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue
+++ b/src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue
@@ -5,8 +5,8 @@
<el-row>
<el-col :span="24">
<el-form-item label="员工姓名" size="default">
- <el-input v-model="form.personId" placeholder="请选择">
- <template #append> <el-button :icon="Search" @click="daiInpts" /> </template
+ <el-input v-model="form.personName" placeholder="请选择">
+ <template #append> <el-button :icon="Search" @click="daiInpts(0)" /> </template
></el-input>
</el-form-item>
</el-col>
@@ -14,31 +14,34 @@
<el-row>
<el-col :span="11">
<el-form-item label="奖惩名称" size="default">
- <el-input v-model="form.rewardPunishmentStandardId" placeholder="请选择">
+ <el-input v-model="form.rewardPunishmentStandardName" placeholder="请选择">
<template #append> <el-button :icon="Search" @click="daiInpt" /> </template
></el-input>
</el-form-item>
</el-col>
- <!-- <el-col :span="11" :offset="2">
+ <el-col :span="11" :offset="2">
<el-form-item label="奖惩类型" size="default">
- <el-input disabled v-model="form.personId" />
+ <el-select v-model="form.standardType" disabled size="default" style="width: 100%" placeholder="请选择">
+ <el-option label="奖励" :value="1" />
+ <el-option label="惩罚" :value="2" />
+ </el-select>
</el-form-item>
- </el-col> -->
+ </el-col>
</el-row>
- <!-- <el-row>
+ <el-row>
<el-col :span="24">
<el-form-item label="奖惩内容" size="default">
- <el-input disabled v-model="form.personId" placeholder="请填写奖惩内容" />
+ <el-input disabled v-model="form.content" placeholder="请填写奖惩内容" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="依据" size="default">
- <el-input disabled v-model="form.personId" placeholder="请填写奖惩依据" />
+ <el-input disabled v-model="form.reason" placeholder="请填写奖惩依据" />
</el-form-item>
</el-col>
- </el-row> -->
+ </el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注信息">
@@ -50,7 +53,7 @@
<template #footer>
<span class="dialog-footer">
<el-button @click="resetForm" size="default">关闭</el-button>
- <el-button type="primary" @click="submitForm" size="default">确定</el-button>
+ <el-button type="primary" @click="submitForm" size="default" :disabled="disabled">确定</el-button>
</span>
</template>
</el-dialog>
@@ -70,22 +73,27 @@
const dialogVisible = ref<boolean>(false);
const form = ref({
rewardPunishmentStandardId: '', //奖惩标准/外键
+ rewardPunishmentStandardName: '',
memo: '', ////备注信息
- personId: "", ////员工(多个用逗号隔开)
+ personId: '', ////员工(多个用逗号隔开)
+ personName: '',
});
const titles = ref();
const disabled = ref(false);
// 打开弹窗
- const openDailog = (title: string, value: any, id: number) => {
+ const openDailog = (title: string, value: any, data: any) => {
dialogVisible.value = true;
titles.value = `${title}奖惩标准设定`;
disabled.value = title == '查看' ? true : false;
if (title == '查看' || title == '修改')
goalManagementApi()
- .getrewardPunishmentDetail(id)
+ .getrewardPunishmentDetail(data.id)
.then((res) => {
if (res.data.code == 200) {
form.value = res.data.data;
+ form.value.standardType = data.standardType;
+ form.value.content = data.content;
+ form.value.reason = data.reason;
} else {
ElMessage.error(res.data.msg);
}
@@ -94,6 +102,10 @@
// 提交
const submitForm = () => {
dialogVisible.value = false;
+ delete form.value.standardType;
+ delete form.value.content;
+ delete form.value.reason;
+ delete form.value.rewardPunishmentStandardName
goalManagementApi()
.getrewardPunishmentAddOrUpdate(form.value)
.then((res) => {
@@ -109,8 +121,10 @@
});
form.value = {
rewardPunishmentStandardId: '', //奖惩标准/外键
+ rewardPunishmentStandardName: '',
memo: '', ////备注信息
- personId: "", ////员工(多个用逗号隔开)
+ personId: '', ////员工(多个用逗号隔开)
+ personName: '',
};
};
// 取消
@@ -118,8 +132,10 @@
dialogVisible.value = false;
form.value = {
rewardPunishmentStandardId: '', //奖惩标准/外键
+ rewardPunishmentStandardName: '',
memo: '', ////备注信息
- personId: "", ////员工(多个用逗号隔开)
+ personId: '', ////员工(多个用逗号隔开)
+ personName: '',
};
};
@@ -129,16 +145,27 @@
Shows.value.openDailog();
};
const Show = ref();
- const daiInpts = () => {
- Show.value.openDailog();
+ const daiInpts = (type: any) => {
+ Show.value.openDailog(type);
};
- const numberId=(val:any)=>{
- console.log(val)
- form.value.rewardPunishmentStandardId=val.id
- }
- const UserId=(val:any)=>{
- form.value.personId=val.id
- }
+ const numberId = (val: any) => {
+ console.log(val);
+ form.value.rewardPunishmentStandardId = val.id;
+ form.value.rewardPunishmentStandardName = val.qname;
+ form.value.standardType = val.standardType;
+ form.value.content = val.content;
+ form.value.reason = val.reason;
+ };
+ const UserId = (val: any) => {
+ let arr = [];
+ let arrId = [];
+ for (let i = 0; i < val.length; i++) {
+ arr.push(val[i].realName);
+ arrId.push(val[i].uid);
+ }
+ form.value.personName = arr.toString();
+ form.value.personId = arrId.toString();
+ };
//全屏
const full = ref(false);
const toggleFullscreen = () => {
diff --git a/src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue b/src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue
index 3cdcb66..aabfa03 100644
--- a/src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue
+++ b/src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue
@@ -24,22 +24,22 @@
</el-row>
</el-form>
<el-button size="default" :icon="Delete" @click="clear">清除选择</el-button>
- <el-table :data="tableData" style="width: 100%; margin-top: 20px" @cell-click="radio">
- <el-table-column align="center">
+ <el-table :data="tableData" style="width: 100%; margin-top: 20px">
+ <el-table-column align="center">
<template #default="scope">
<el-radio-group v-model="radio1">
- <el-radio :label="scope.row.id" size="large">{{ null }}</el-radio>
+ <el-radio :label="scope.row.id" @click="radio(scope.row)" size="large">{{ null }}</el-radio>
</el-radio-group>
</template>
</el-table-column>
<el-table-column align="center" prop="qname" label="奖惩名称" width="180" />
<el-table-column align="center" label="奖惩类型" width="180">
<template #default="scope">
- <span v-if="scope.row.standardType==1">奖励</span>
- <span v-if="scope.row.standardType==2">惩罚</span>
- <span></span>
+ <span v-if="scope.row.standardType == 1">奖励</span>
+ <span v-if="scope.row.standardType == 2">惩罚</span>
+ <span></span>
</template>
- </el-table-column>
+ </el-table-column>
<el-table-column align="center" prop="content" label="奖惩内容" />
</el-table>
<el-pagination
@@ -54,18 +54,18 @@
/>
</el-col>
<el-col :span="7">
- <div v-if="dynamicTags[0]==''?false:true">
- <el-tag
- v-for="tag in dynamicTags"
- :key="tag"
- class="mx-1"
- style="margin: 5px"
- closable
- :disable-transitions="false"
- @close="handleClose(tag)"
- >
- {{ tag.qname }}
- </el-tag>
+ <div v-if="dynamicTags[0] == '' ? false : true">
+ <el-tag
+ v-for="tag in dynamicTags"
+ :key="tag"
+ class="mx-1"
+ style="margin: 5px"
+ closable
+ :disable-transitions="false"
+ @close="handleClose(tag)"
+ >
+ {{ tag.qname }}
+ </el-tag>
</div>
</el-col>
</el-row>
@@ -78,12 +78,12 @@
</el-dialog>
</template>
<script lang="ts">
-import { defineComponent, reactive, ref,onMounted } from 'vue';
+import { defineComponent, reactive, ref, onMounted } from 'vue';
import { Delete, FullScreen } from '@element-plus/icons-vue';
import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';
import { goalManagementApi } from '/@/api/goalManagement';
export default defineComponent({
- setup(props,{emit}) {
+ setup(props, { emit }) {
// 搜索条件
const ruleForm = reactive({
pageSize: 10,
@@ -117,9 +117,7 @@
ruleForm.searchParams.standardType = targetType.paneName;
listApi();
};
- onMounted(() => {
-
- });
+ onMounted(() => {});
// const onAddorUpdata = () => {
// listApi();
// };
@@ -139,12 +137,12 @@
listApi();
};
// 打开弹窗
- const dialogVisible=ref(false)
- const openDailog=()=>{
- dialogVisible.value=true
+ const dialogVisible = ref(false);
+ const openDailog = () => {
+ dialogVisible.value = true;
listApi();
- }
- // 右方点击添加后显示标签
+ };
+ // 右方点击添加后显示标签
const dynamicTags = ref(['']);
const handleClose = (tag: string) => {
dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
@@ -154,15 +152,15 @@
const radio = (event: any) => {
dynamicTags.value[0] = event;
};
- const clear=()=>{
- dynamicTags.value=['']
- radio1.value=""
- }
- const submitForm=()=>{
- let obj=JSON.parse(JSON.stringify(dynamicTags.value))
- emit("backNum",obj[0])
- dialogVisible.value = false
- }
+ const clear = () => {
+ dynamicTags.value = [''];
+ radio1.value = '';
+ };
+ const submitForm = () => {
+ let obj = JSON.parse(JSON.stringify(dynamicTags.value));
+ emit('backNum', obj[0]);
+ dialogVisible.value = false;
+ };
//全屏
const full = ref(false);
const toggleFullscreen = () => {
diff --git a/src/views/goalManagement/IncentiveRecording/index.vue b/src/views/goalManagement/IncentiveRecording/index.vue
index b9a9fa9..e1dd080 100644
--- a/src/views/goalManagement/IncentiveRecording/index.vue
+++ b/src/views/goalManagement/IncentiveRecording/index.vue
@@ -4,7 +4,7 @@
<el-row>
<el-col :span="4">
<el-form-item size="default">
- <el-input v-model="ruleForm.searchParams.personId" placeholder="请选择被奖惩者">
+ <el-input v-model="ruleForm.searchParams.personName" placeholder="请选择被奖惩者">
<template #append>
<el-button :icon="Search" @click="openSearch" />
</template>
@@ -28,8 +28,8 @@
<div class="btns">
<div>
<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>
- <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button>
- <el-button size="default" :disabled="danger" type="danger" :icon="Delete" plain @click="handleSelectionChange">删除 </el-button>
+ <!-- <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button> -->
+ <el-button size="default" :disabled="danger" type="danger" :icon="Delete" plain @click="onDeleteAll">删除 </el-button>
</div>
<div>
<!-- <el-button size="default" :icon="Download"></el-button>
@@ -45,13 +45,13 @@
<span v-if="scope.row.standardType == 2">惩罚</span>
</template>
</el-table-column>
- <el-table-column property="personId" align="center" label="被奖惩者" sortable />
+ <el-table-column property="personName" align="center" label="被奖惩者" sortable />
<el-table-column property="content" label="奖惩内容" align="center" sortable show-overflow-tooltip />
<el-table-column property="reason" label="奖惩依据" align="center" sortable show-overflow-tooltip />
<el-table-column label="操作" align="center" sortable show-overflow-tooltip>
<template #default="scope">
- <el-button link type="primary" size="default" :icon="View" @click="openD('查看', scope.row.id)">查看 </el-button>
- <el-button link type="primary" size="default" :icon="EditPen" @click="openD('修改', scope.row.id)">修改</el-button>
+ <el-button link type="primary" size="default" :icon="View" @click="openD('查看', scope.row)">查看 </el-button>
+ <el-button link type="primary" size="default" :icon="EditPen" @click="openD('修改', scope.row)">修改</el-button>
<el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除 </el-button>
</template>
</el-table-column>
@@ -229,6 +229,7 @@
};
const userId = (val: any) => {
ruleForm.searchParams.personId = val.uid;
+ ruleForm.searchParams.personName = val.realName;
};
return {
timeDate,
diff --git a/src/views/goalManagement/Incentivestandard/component/DailogAdd.vue b/src/views/goalManagement/Incentivestandard/component/DailogAdd.vue
index 3d5abeb..e910cb5 100644
--- a/src/views/goalManagement/Incentivestandard/component/DailogAdd.vue
+++ b/src/views/goalManagement/Incentivestandard/component/DailogAdd.vue
@@ -6,8 +6,8 @@
<el-col :span="11">
<el-form-item label="奖惩类型" size="default">
<el-select v-model="form.standardType" style="width: 100%" placeholder="请选择">
- <el-option label="奖励" value="1" />
- <el-option label="惩罚" value="2" />
+ <el-option label="奖励" :value="1" />
+ <el-option label="惩罚" :value="2" />
</el-select>
</el-form-item>
</el-col>
@@ -40,7 +40,7 @@
<template #footer>
<span class="dialog-footer">
<el-button @click="resetForm" size="default">关闭</el-button>
- <el-button type="primary" @click="submitForm" size="default">确定</el-button>
+ <el-button type="primary" @click="submitForm" size="default" :disabled="disabled">确定</el-button>
</span>
</template>
</el-dialog>
diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue b/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue
index af27844..cc51dcd 100644
--- a/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue
+++ b/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue
@@ -115,7 +115,11 @@
<el-table :data="tableData" style="width: 100%">
<el-table-column align="center" prop="date" label="考核项目" />
<el-table-column align="center" prop="name" label="考核内容" />
- <el-table-column align="center" prop="address" label="考核分数" />
+ <el-table-column align="center" label="考核分数">
+ <template #default="scope">
+ <el-input v-model="scope.row.address" type="textarea"> </el-input>
+ </template>
+ </el-table-column>
<!-- <el-table-column align="center" prop="address" label="制定日期" />
<el-table-column align="center" prop="address" label="上报人" />
<el-table-column align="center" label="操作">
@@ -279,7 +283,7 @@
if (type == 1) {
form.value.examinePersonId = val.uid;
form.value.examinePersonName = val.realName;
- } else if (type == 2) {
+ } else if (type == 0) {
let uid=[]
let realName=[]
for(let i=0;i<val.length;i++){
diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogKhS.vue b/src/views/goalManagement/performanceAppraisal/component/DailogKhS.vue
index 98b6f83..f186ab3 100644
--- a/src/views/goalManagement/performanceAppraisal/component/DailogKhS.vue
+++ b/src/views/goalManagement/performanceAppraisal/component/DailogKhS.vue
@@ -40,7 +40,7 @@
</el-form>
<template #footer>
<span class="dialog-footer">
- <el-button type="primary" @click="dialogVisible = false" size="default">继续添加</el-button>
+<!-- <el-button type="primary" @click="dialogVisible = false" size="default">继续添加</el-button>-->
<el-button @click="resetForm" size="default">关闭</el-button>
<el-button type="primary" @click="submitForm" size="default">确定</el-button>
</span>
diff --git a/src/views/goalManagement/performanceAppraisal/index.vue b/src/views/goalManagement/performanceAppraisal/index.vue
index a1c9637..0f3e9de 100644
--- a/src/views/goalManagement/performanceAppraisal/index.vue
+++ b/src/views/goalManagement/performanceAppraisal/index.vue
@@ -21,7 +21,7 @@
<div class="btns">
<div>
<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>
- <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button>
+ <!-- <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button> -->
<el-button size="default" :disabled="danger" type="danger" plain :icon="Delete" @click="onDeleteAll">删除</el-button>
</div>
</div>
@@ -40,7 +40,7 @@
</el-table-column>
<el-table-column property="examineDate" align="center" :formatter="timeDate" label="考核日期" sortable />
<el-table-column property="examineDepartmentName" align="center" label="考核部门" sortable />
- <el-table-column property="examinePersonId" label="考核人" align="center" sortable show-overflow-tooltip />
+ <el-table-column property="examinePersonName" label="考核人" align="center" sortable show-overflow-tooltip />
<el-table-column property="beExaminedDepartmentName" label="被考核部门" align="center" sortable show-overflow-tooltip />
<el-table-column property="examineTotalNumber" label="总分" align="center" sortable show-overflow-tooltip />
<el-table-column property="numberDetailJson.number" label="考核结果" align="center" sortable show-overflow-tooltip />
@@ -84,7 +84,7 @@
<div class="btns">
<div>
<el-button size="default" type="primary" :icon="Plus" @click="openDs('新建')">新建</el-button>
- <el-button size="default" :disabled="warnings" type="warning" plain :icon="EditPen">修改</el-button>
+ <!-- <el-button size="default" :disabled="warnings" type="warning" plain :icon="EditPen">修改</el-button> -->
<el-button size="default" :disabled="dangers" type="danger" plain :icon="Delete" @click="onDeleteAlls">删除</el-button>
</div>
</div>
@@ -105,8 +105,8 @@
</el-table-column>
<el-table-column label="标准标题" property="title" align="center" sortable />
<el-table-column property="applyRange" align="center" label="适用范围" sortable />
- <el-table-column property="setPersonId" label="设定人" align="center" sortable show-overflow-tooltip />
- <el-table-column property="setPersonDepartmentId" label="设定人部门" align="center" sortable show-overflow-tooltip />
+ <el-table-column property="setPersonName" label="设定人" align="center" sortable show-overflow-tooltip />
+ <el-table-column property="setPersonDepartmentName" label="设定人部门" align="center" sortable show-overflow-tooltip />
<el-table-column property="setTimem" label="设定日期" align="center" :formatter="timeDate" sortable show-overflow-tooltip />
<el-table-column property="templateCode" label="模板分类编码" align="center" sortable show-overflow-tooltip />
<el-table-column property="acceptanceNumber" label="合格分数" align="center" sortable show-overflow-tooltip />
diff --git a/src/views/goalManagement/safetyAssessment/component/Dailog.vue b/src/views/goalManagement/safetyAssessment/component/Dailog.vue
index 7639890..3032820 100644
--- a/src/views/goalManagement/safetyAssessment/component/Dailog.vue
+++ b/src/views/goalManagement/safetyAssessment/component/Dailog.vue
@@ -1,5 +1,5 @@
<template>
- <el-dialog v-model="dialogVisible" :fullscreen="full" title="目标分解" width="70%" draggable>
+ <el-dialog v-model="dialogVisible" :fullscreen="full" title="目标考核" width="70%" draggable>
<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
<el-form :model="form" label-width="120px">
<el-row>
@@ -30,7 +30,9 @@
</el-row>
</el-form>
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
- <el-tab-pane label="目标指标分解" name="1"> </el-tab-pane>
+ <el-tab-pane label="目标指标分解" name="1">
+ <el-button type="primary" size="default" @click="daiAdd('新增')" :disabled="disabled">新增</el-button>
+ </el-tab-pane>
</el-tabs>
<el-table :data="tableData" style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="70" />
@@ -44,8 +46,8 @@
<el-table-column align="center" prop="address" label="考核人" />
<el-table-column align="center" prop="address" label="考核时间" />
<el-table-column align="center" label="操作">
- <template #default>
- <el-button link type="primary">查看</el-button>
+ <template #default="scope">
+ <el-button link type="primary" @click="daiAdd('修改', scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
@@ -57,15 +59,18 @@
</template>
</el-dialog>
<DailogSearch ref="Shows" @backNum="onNumber"></DailogSearch>
+ <DailogAdd ref="Show" @onAdd="add"></DailogAdd>
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
import { Search, FullScreen } from '@element-plus/icons-vue';
import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';
import DailogSearch from '../../../../components/DailogSearch/DailogSearch.vue';
+import DailogAdd from './DailogAdd.vue';
import { goalManagementApi } from '/@/api/goalManagement';
+import {deepClone} from "/@/utils/other";
export default defineComponent({
- components: { DailogSearch },
+ components: { DailogSearch ,DailogAdd},
setup() {
const dialogVisible = ref<boolean>(false);
const form = ref({});
@@ -101,6 +106,31 @@
const daiInpt = () => {
Shows.value.openDailog(targetType.value);
};
+
+ // 新增弹窗
+ const index=ref<any>()
+ const Show = ref();
+ const daiAdd = (title: string, data: any) => {
+ // index.value = formUp.targetDivideDetailList.indexOf(data);
+ Show.value.openDailog(title, data);
+ };
+ const formUp = reactive({
+ targetId: '', //关联的目标指标/外键
+ delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开
+ // targetDivideDetailList: [], //目标指标分解列表
+ });
+
+ const add = (val: any) => {
+ const item = deepClone(val)
+ if(index.value==-1){
+ formUp.targetDivideDetailList.push(item);
+ }else{
+ formUp.targetDivideDetailList[index.value] = item;
+ }
+
+ // let obj=JSON.parse(JSON.stringify(form.value))
+ };
+
//全屏
const full = ref(false);
const toggleFullscreen = () => {
@@ -126,6 +156,11 @@
full,
toggleFullscreen,
FullScreen,
+ daiAdd,
+ index,
+ Show,
+ formUp,
+ add,
};
},
});
diff --git a/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue b/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue
new file mode 100644
index 0000000..0eddb52
--- /dev/null
+++ b/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue
@@ -0,0 +1,249 @@
+<template>
+ <el-dialog v-model="dialogVisible" :fullscreen="full" :title="titles" width="50%" draggable @close="resetForm(ruleFormRef)">
+ <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
+ <el-form :model="form" :disabled="disabled" label-width="120px" ref="ruleFormRef" :rules="rules">
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="责任部门" prop="dutyDepartmentId" size="default">
+ <el-tree-select v-model="form.dutyDepartmentId" check-strictly="true" :data="data" class="w100" :props="propse" placeholder="请选择" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="考核指标" prop="value" size="default">
+ <el-input v-model.number="form.value" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="制定人部门" prop="makerDepartmentId" size="default">
+ <el-tree-select v-model="form.makerDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="制定日期" prop="makeDate" size="default">
+ <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="上报值" prop="commitPersonName" size="default">
+ <el-input v-model="form.commitPersonName">
+<!-- <template #append> <el-button :icon="Search" @click="openUser" /> </template>-->
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="上报时间" prop="makeDate" size="default">
+ <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="考核结果" prop="commitPersonName" size="default">
+ <el-input v-model="form.commitPersonName">
+ <!-- <template #append> <el-button :icon="Search" @click="openUser" /> </template>-->
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="考核人" prop="commitPersonName" size="default">
+ <el-input v-model="form.commitPersonName">
+ <template #append> <el-button :icon="Search" @click="openUser" /> </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="考核时间" prop="commitPersonName" size="default">
+ <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2"></el-col>
+ </el-row>
+ </el-form>
+ <template #footer>
+ <span class="dialog-footer">
+
+ <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button>
+ <el-button type="primary" @click="submitForm(ruleFormRef)" size="default">确定</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ <DailogSearchUser ref="Show" @SearchUser="onUser"></DailogSearchUser>
+</template>
+<script lang="ts">
+import { defineComponent, ref, reactive, onMounted } from 'vue';
+import { Search, FullScreen } from '@element-plus/icons-vue';
+import type { FormInstance, FormRules } from 'element-plus';
+import DailogSearchUser from '../../../../components/DailogSearchUser/index.vue';
+import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';
+import { goalManagementApi } from '/@/api/goalManagement';
+export default defineComponent({
+ components: { DailogSearchUser },
+ setup(props, { emit }) {
+ const ruleFormRef = ref<FormInstance>()
+ const form = ref({
+ dutyDepartmentId: '', ////责任部门/外键
+ makerDepartmentId: '', ////制定人部门/外键
+ commitPersonId: '', ////上报人/外键
+ commitPersonName: '',
+ value: '', ////考核指标值
+ makeDate: '', ////制定日期
+ });
+ //部门
+ const department = () => {
+ goalManagementApi()
+ .getTreedepartment()
+ .then((res) => {
+ if (res.data.code == 200) {
+ data.value = res.data.data;
+ } else {
+ ElMessage.error(res.data.msg);
+ }
+ });
+ };
+ const propse = {
+ label: 'depName',
+ children: 'children',
+ value: 'depId',
+ };
+ onMounted(() => {
+ department();
+ });
+ const disabled = ref(false);
+ // 开启弹窗
+ const titles = ref();
+ const dialogVisible = ref(false);
+ const openDailog = (title: string, data: any) => {
+ titles.value = `${title}目标考核`;
+ if (title == '查看') {
+ disabled.value = true;
+ form.value = data;
+ } else if (title == '修改') {
+ disabled.value = false;
+ form.value = data;
+ } else {
+ disabled.value = false;
+ }
+ dialogVisible.value = true;
+ };
+ // 开启用户弹窗
+ const Show = ref();
+ const openUser = () => {
+ Show.value.openDailog();
+ };
+ const rules = reactive<FormRules>({
+ dutyDepartmentId: [
+ {
+ required: true,
+ message: '责任部门不能为空',
+ trigger: 'blur',
+ },
+ ],
+ makerDepartmentId: [
+ {
+ required: true,
+ message: '制定人部门不能为空',
+ trigger: 'blur',
+ },
+ ],
+ commitPersonId: [
+ {
+ required: true,
+ message: '上报人不能为空',
+ trigger: 'blur',
+ },
+ ],
+ value: [
+ {
+ required: true,
+ message: '考核指标值不能为空',
+ trigger: 'blur',
+ },
+ {
+ type: 'number',
+ message: '考核指标值只能为数字类型',
+ trigger: 'blur',
+ },
+ ],
+ makeDate: [
+ {
+ required: true,
+ message: '制定日期不能为空',
+ trigger: 'blur',
+ },
+ ],
+ commitPersonName: [],
+ });
+ const submitForm = async (formEl: FormInstance | undefined) => {
+ if (!formEl) return;
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ emit('onAdd', form.value);
+ dialogVisible.value = false;
+ // handleClose(formEl)
+ } else {
+ console.log('error submit!', fields);
+ }
+ });
+ };
+
+ const resetForm = (formEl: FormInstance | undefined) => {
+ // console.log(formEl);
+ if (!formEl) return
+ formEl.resetFields();
+ dialogVisible.value = false;
+ form.value={}
+ };
+ // const handleClose = (formEl: any) => {
+ // formEl.resetFields();
+ // };
+ //全屏
+ const full = ref(false);
+ const toggleFullscreen = () => {
+ if (full.value == false) {
+ full.value = true;
+ } else {
+ full.value = false;
+ }
+ };
+ const data = ref();
+ const onUser = (e: any) => {
+ console.log(e)
+ form.value.commitPersonId = e.uid;
+ form.value.commitPersonName = e.realName;
+ };
+ return {
+ disabled,
+ titles,
+ // handleClose,
+ form,
+ propse,
+ department,
+ dialogVisible,
+ openDailog,
+ Show,
+ openUser,
+ Search,
+ full,
+ toggleFullscreen,
+ FullScreen,
+ data,
+ onUser,
+ ruleFormRef,
+ rules,
+ submitForm,
+ resetForm,
+ };
+ },
+});
+</script>
+<style scoped>
+.el-row {
+ padding: 0 0 20px 0;
+}
+</style>
diff --git a/src/views/goalManagement/targetDecompositionMonth/index.vue b/src/views/goalManagement/targetDecompositionMonth/index.vue
index 09e743f..ea96184 100644
--- a/src/views/goalManagement/targetDecompositionMonth/index.vue
+++ b/src/views/goalManagement/targetDecompositionMonth/index.vue
@@ -24,7 +24,7 @@
<div class="btns">
<div>
<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>
- <el-button size="default" type="warning" :disabled="warning" :icon="EditPen" plain>修改</el-button>
+ <!-- <el-button size="default" type="warning" :disabled="warning" :icon="EditPen" plain>修改</el-button> -->
<el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="onDeleteAll">删除</el-button>
</div>
</div>
diff --git a/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue b/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue
index 8960533..1157f13 100644
--- a/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue
+++ b/src/views/goalManagement/targetDecompositionYear/component/Dailog.vue
@@ -37,10 +37,10 @@
</el-tab-pane>
</el-tabs>
<el-table :data="formUp.targetDivideDetailList" style="width: 100%">
- <el-table-column align="center" property="dutyDepartmentId" label="责任部门" width="180" />
+ <el-table-column align="center" property="dutyDepartmentName" label="责任部门" width="180" />
<el-table-column align="center" property="value" label="考核指标" width="180" />
- <el-table-column align="center" property="makerDepartmentId" label="制定人部门" />
- <el-table-column align="center" property="makeDate" label="制定日期" :formatter="timeDate"/>
+ <el-table-column align="center" property="makerDepartmentName" label="制定人部门" />
+ <el-table-column align="center" property="makeDate" label="制定日期" />
<el-table-column align="center" property="commitPersonName" label="上报人" />
<el-table-column align="center" property="操作">
<template #default="scope">
@@ -62,23 +62,24 @@
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
-import {timeDate} from '/@/assets/index.ts'
+import { timeDate } from '/@/assets/index.ts';
import { Search, FullScreen } from '@element-plus/icons-vue';
import DailogAdd from './DailogAdd.vue';
import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';
import DailogSearch from '../../../../components/DailogSearch/DailogSearch.vue';
import { goalManagementApi } from '/@/api/goalManagement';
import { emit } from 'process';
+import { deepClone } from '/@/utils/other';
export default defineComponent({
- components: { DailogAdd, DailogSearch},
- setup(props,{emit}) {
+ components: { DailogAdd, DailogSearch },
+ setup(props, { emit }) {
const dialogVisible = ref<boolean>(false);
const form = ref({
qName: '',
indexNum: '',
year: '',
value: '',
- targetDivideDetailList:[]
+ targetDivideDetailList: [],
});
const targetType = ref();
const disabled = ref(false);
@@ -94,7 +95,7 @@
.then((res) => {
if (res.data.code == 200) {
form.value = res.data.data;
- formUp.targetDivideDetailList=form.value.targetDivideDetailList
+ formUp.targetDivideDetailList = form.value.targetDivideDetailList;
} else {
ElMessage.error(res.data.msg);
}
@@ -109,7 +110,7 @@
// 表格
const tableData = ref([]);
// 新增弹窗
- const index=ref<any>()
+ const index = ref<any>();
const Show = ref();
const daiAdd = (title: string, data: any) => {
index.value = formUp.targetDivideDetailList.indexOf(data);
@@ -120,19 +121,27 @@
delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开
targetDivideDetailList: [], //目标指标分解列表
});
+
const add = (val: any) => {
- if(index.value==-1){
- formUp.targetDivideDetailList.push(val);
- }else{
- formUp.targetDivideDetailList[index.value] = val;
+ const item = deepClone(val);
+ console.log(item)
+ if (index.value == -1) {
+ formUp.targetDivideDetailList.push(item);
+ } else {
+ formUp.targetDivideDetailList[index.value] = item;
}
-
+
// let obj=JSON.parse(JSON.stringify(form.value))
};
// 新增
const submitForm = () => {
- formUp.delTargetDivideDetails=arr.value.toString()
+ formUp.delTargetDivideDetails = arr.value.toString();
formUp.targetId = form.value.id;
+ dialogVisible.value = false;
+ for(let i=0;i<formUp.targetDivideDetailList.length;i++){
+ delete formUp.targetDivideDetailList[i].dutyDepartmentName
+ delete formUp.targetDivideDetailList[i].makerDepartmentName
+ }
goalManagementApi()
.gettargetDivideDetail(formUp)
.then((res) => {
@@ -141,30 +150,29 @@
message: res.data.msg,
type: 'success',
});
- dialogVisible.value = false;
- emit("addList")
+ emit('addList');
} else {
ElMessage.error(res.data.msg);
}
});
- form.value = {
+ form.value = {
qName: '',
indexNum: '',
year: '',
value: '',
- targetDivideDetailList:[]
+ targetDivideDetailList: [],
};
tableData.value = [];
formUp.targetId = '';
formUp.delTargetDivideDetails = '';
formUp.targetDivideDetailList = [];
};
- const arr=ref([])
+ const arr = ref([]);
// 删除
const Delete = (data: any) => {
formUp.targetDivideDetailList.splice(form.value.targetDivideDetailList.indexOf(data), 1);
formUp.targetId = data.targetId;
- arr.value.push(data.id)
+ arr.value.push(data.id);
};
// 安全目标指标弹窗
const Shows = ref();
@@ -179,7 +187,7 @@
indexNum: '',
year: '',
value: '',
- targetDivideDetailList:[]
+ targetDivideDetailList: [],
};
tableData.value = [];
formUp.targetId = '';
diff --git a/src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue b/src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue
index 9786b4e..a06417d 100644
--- a/src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue
+++ b/src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue
@@ -1,11 +1,11 @@
<template>
- <el-dialog v-model="dialogVisible" :fullscreen="full" :title="titles" width="50%" draggable>
+ <el-dialog v-model="dialogVisible" :fullscreen="full" :title="titles" width="50%" draggable @close="resetForm(ruleFormRef)">
<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
<el-form :model="form" :disabled="disabled" label-width="120px" ref="ruleFormRef" :rules="rules">
<el-row>
<el-col :span="11">
<el-form-item label="责任部门" prop="dutyDepartmentId" size="default">
- <el-tree-select v-model="form.dutyDepartmentId" check-strictly="true" :data="data" class="w100" :props="propse" placeholder="请选择" />
+ <el-tree-select v-model="form.dutyDepartmentId" check-strictly="true" @current-change="dutyName" :data="data" class="w100" :props="propse" placeholder="请选择" />
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
@@ -17,12 +17,12 @@
<el-row>
<el-col :span="11">
<el-form-item label="制定人部门" prop="makerDepartmentId" size="default">
- <el-tree-select v-model="form.makerDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" />
+ <el-tree-select v-model="form.makerDepartmentId" :data="data" @current-change="makerName" check-strictly="true" class="w100" :props="propse" placeholder="请选择" />
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
<el-form-item label="制定日期" prop="makeDate" size="default">
- <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" />
+ <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" />
</el-form-item>
</el-col>
</el-row>
@@ -41,7 +41,7 @@
<span class="dialog-footer">
<el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button>
- <el-button type="primary" @click="submitForm(ruleFormRef)" size="default">确定</el-button>
+ <el-button type="primary" @click="submitForm(ruleFormRef)" :disabled="disabled" size="default">确定</el-button>
</span>
</template>
</el-dialog>
@@ -113,14 +113,14 @@
{
required: true,
message: '责任部门不能为空',
- trigger: 'change',
+ trigger: 'blur',
},
],
makerDepartmentId: [
{
required: true,
message: '制定人部门不能为空',
- trigger: 'change',
+ trigger: 'blur',
},
],
commitPersonId: [
@@ -167,8 +167,9 @@
const resetForm = (formEl: FormInstance | undefined) => {
// console.log(formEl);
if (!formEl) return
- formEl.resetFields();
- // dialogVisible.value = false;
+ formEl.clearValidate();
+ dialogVisible.value = false;
+ form.value={}
};
// const handleClose = (formEl: any) => {
// formEl.resetFields();
@@ -188,8 +189,16 @@
form.value.commitPersonId = e.uid;
form.value.commitPersonName = e.realName;
};
+ const makerName=(data:any)=>{
+ form.value.makerDepartmentName=data.depName
+ }
+ const dutyName=(data:any)=>{
+ form.value.dutyDepartmentName=data.depName
+ }
return {
disabled,
+ makerName,
+ dutyName,
titles,
// handleClose,
form,
diff --git a/src/views/goalManagement/targetDecompositionYear/index.vue b/src/views/goalManagement/targetDecompositionYear/index.vue
index b4d29b8..8782bc2 100644
--- a/src/views/goalManagement/targetDecompositionYear/index.vue
+++ b/src/views/goalManagement/targetDecompositionYear/index.vue
@@ -24,7 +24,7 @@
<div class="btns">
<div>
<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>
- <el-button size="default" type="warning" :disabled="warning" :icon="EditPen" plain>修改</el-button>
+ <!-- <el-button size="default" type="warning" :disabled="warning" :icon="EditPen" plain>修改</el-button> -->
<el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="onDeleteAll">删除</el-button>
</div>
</div>
diff --git a/src/views/goalManagement/targetSettings/component/dailogAdd.vue b/src/views/goalManagement/targetSettings/component/dailogAdd.vue
index f0fdef8..721fe7e 100644
--- a/src/views/goalManagement/targetSettings/component/dailogAdd.vue
+++ b/src/views/goalManagement/targetSettings/component/dailogAdd.vue
@@ -38,7 +38,7 @@
</el-col>
<el-col :span="11" :offset="2">
<el-form-item label="完成期限" size="default" prop="completeDate">
- <el-date-picker v-model="form.completeDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" />
+ <el-date-picker v-model="form.completeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" />
</el-form-item>
</el-col>
</el-row>
diff --git a/src/views/intellectInspect/inspectBasic/discriminate/components/RFIDDialog.vue b/src/views/intellectInspect/inspectBasic/discriminate/components/RFIDDialog.vue
index 1d2e3d8..6316678 100644
--- a/src/views/intellectInspect/inspectBasic/discriminate/components/RFIDDialog.vue
+++ b/src/views/intellectInspect/inspectBasic/discriminate/components/RFIDDialog.vue
@@ -5,12 +5,12 @@
<el-row :gutter="35">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="RFID名称" prop="rfidName">
- <el-input class="input-length" v-model.trim="RFIDForm.rfidName" placeholder="请输入RFID名称" clearable></el-input>
+ <el-input class="input-add" v-model.trim="RFIDForm.rfidName" placeholder="请输入RFID名称" 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="RFID编码" prop="rfid">
- <el-input class="input-length" v-model.trim="RFIDForm.rfid" placeholder="请输入RFID编码" clearable></el-input>
+ <el-input class="input-add" v-model.trim="RFIDForm.rfid" placeholder="请输入RFID编码" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -65,13 +65,13 @@
RFIDFormRef.value.clearValidate();
});
if (type === '新增') {
- state.title = '新增巡检指标';
+ state.title = '新增RFID';
state.RFIDForm = {
rfid: '',
rfidName: ''
};
} else {
- state.title = '修改巡检指标';
+ state.title = '修改RFID';
state.RFIDForm = JSON.parse(JSON.stringify(value));
}
};
@@ -132,8 +132,4 @@
};
</script>
-<style scoped>
-.input-length {
- width: 85%;
-}
-</style>
+<style scoped></style>
diff --git a/src/views/intellectInspect/inspectBasic/discriminate/index.vue b/src/views/intellectInspect/inspectBasic/discriminate/index.vue
index 1ddaf5b..79a7053 100644
--- a/src/views/intellectInspect/inspectBasic/discriminate/index.vue
+++ b/src/views/intellectInspect/inspectBasic/discriminate/index.vue
@@ -20,7 +20,7 @@
<el-icon>
<ele-FolderAdd />
</el-icon>
- 新增巡检指标
+ 新增RFID
</el-button>
</div>
<el-table :data="RFIDData.data" style="width: 100%">
@@ -39,19 +39,7 @@
</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="RFIDData.params.pageIndex"
- background
- v-model:page-size="RFIDData.params.pageSize"
- layout="total, sizes, prev, pager, next, jumper"
- :total="RFIDData.total"
- class="page-position"
- >
- </el-pagination>
+ <el-pagination @size-change="onHandleSizeChange" @current-change="onHandleCurrentChange" :pager-count="5" :page-sizes="[10, 20, 30]" v-model:current-page="RFIDData.params.pageIndex" background v-model:page-size="RFIDData.params.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="RFIDData.total" class="page-position"> </el-pagination>
<br />
<br />
</el-card>
@@ -187,4 +175,15 @@
});
</script>
-<style scoped></style>
+<style scoped>
+: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/src/views/intellectInspect/inspectBasic/facility/index.vue b/src/views/intellectInspect/inspectBasic/facility/index.vue
index d4502f3..76c6efc 100644
--- a/src/views/intellectInspect/inspectBasic/facility/index.vue
+++ b/src/views/intellectInspect/inspectBasic/facility/index.vue
@@ -22,7 +22,7 @@
<el-icon>
<ele-FolderAdd />
</el-icon>
- 新增巡检指标
+ 新增设备区域
</el-button>
</div>
<el-table :data="facilityAreaData.data" style="width: 100%">
@@ -41,19 +41,7 @@
</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="facilityAreaData.params.pageIndex"
- background
- v-model:page-size="facilityAreaData.params.pageSize"
- layout="total, sizes, prev, pager, next, jumper"
- :total="facilityAreaData.total"
- class="page-position"
- >
- </el-pagination>
+ <el-pagination @size-change="onHandleSizeChange" @current-change="onHandleCurrentChange" :pager-count="5" :page-sizes="[10, 20, 30]" v-model:current-page="facilityAreaData.params.pageIndex" background v-model:page-size="facilityAreaData.params.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="facilityAreaData.total" class="page-position"> </el-pagination>
<br />
<br />
</el-card>
diff --git a/src/views/intellectInspect/inspectBasic/inspectPoint/index.vue b/src/views/intellectInspect/inspectBasic/inspectPoint/index.vue
index 635b1be..62064e6 100644
--- a/src/views/intellectInspect/inspectBasic/inspectPoint/index.vue
+++ b/src/views/intellectInspect/inspectBasic/inspectPoint/index.vue
@@ -22,7 +22,7 @@
<el-icon>
<ele-FolderAdd />
</el-icon>
- 新增巡检指标
+ 新增巡检点
</el-button>
</div>
<el-table :data="inspectPointData.data" style="width: 100%">
@@ -42,19 +42,7 @@
</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="inspectPointData.params.pageIndex"
- background
- v-model:page-size="inspectPointData.params.pageSize"
- layout="total, sizes, prev, pager, next, jumper"
- :total="inspectPointData.total"
- class="page-position"
- >
- </el-pagination>
+ <el-pagination @size-change="onHandleSizeChange" @current-change="onHandleCurrentChange" :pager-count="5" :page-sizes="[10, 20, 30]" v-model:current-page="inspectPointData.params.pageIndex" background v-model:page-size="inspectPointData.params.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="inspectPointData.total" class="page-position"> </el-pagination>
<br />
<br />
</el-card>
diff --git a/src/views/intellectInspect/inspectBasic/inspectTarget/components/inspectTargetDialog.vue b/src/views/intellectInspect/inspectBasic/inspectTarget/components/inspectTargetDialog.vue
index b7a96b1..a15475d 100644
--- a/src/views/intellectInspect/inspectBasic/inspectTarget/components/inspectTargetDialog.vue
+++ b/src/views/intellectInspect/inspectBasic/inspectTarget/components/inspectTargetDialog.vue
@@ -5,19 +5,19 @@
<el-row :gutter="35">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="指标名称" prop="quota">
- <el-input class="input-length" v-model.trim="inspectTargetForm.quota" placeholder="请输入指标名称" clearable></el-input>
+ <el-input class="input-add" v-model.trim="inspectTargetForm.quota" 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="quotaTypeId">
- <el-select class="input-length" v-model="inspectTargetForm.quotaTypeId" @change="changeQuotaUnit" placeholder="请选择指标类型" clearable filterable>
+ <el-select class="input-add" v-model="inspectTargetForm.quotaTypeId" @change="changeQuotaUnit" placeholder="请选择指标类型" clearable filterable>
<el-option v-for="item in quotaTypeList" :key="item.id" :label="item.type" :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="quotaUnit">
- <el-input class="input-length" v-model.trim="inspectTargetForm.quotaUnit" type="textarea" placeholder="请输入指标单位" maxlength="150"></el-input>
+ <el-input class="input-add" v-model.trim="inspectTargetForm.quotaUnit" type="textarea" placeholder="请输入指标单位" maxlength="150"></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -33,8 +33,6 @@
</template>
<script lang="ts">
-import { inspectPointApi } from '/@/api/intellectInspectSystem/inspectPointManage';
-
interface stateType {
isShowInspectTargetDialog: Boolean;
inspectTargetForm: {
@@ -163,8 +161,4 @@
};
</script>
-<style scoped>
-.input-length {
- width: 85%;
-}
-</style>
+<style scoped></style>
diff --git a/src/views/intellectInspect/inspectBasic/inspectTarget/index.vue b/src/views/intellectInspect/inspectBasic/inspectTarget/index.vue
index cae2d06..4308c50 100644
--- a/src/views/intellectInspect/inspectBasic/inspectTarget/index.vue
+++ b/src/views/intellectInspect/inspectBasic/inspectTarget/index.vue
@@ -36,19 +36,7 @@
</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="inspectTargetData.params.pageIndex"
- background
- v-model:page-size="inspectTargetData.params.pageSize"
- layout="total, sizes, prev, pager, next, jumper"
- :total="inspectTargetData.total"
- class="page-position"
- >
- </el-pagination>
+ <el-pagination @size-change="onHandleSizeChange" @current-change="onHandleCurrentChange" :pager-count="5" :page-sizes="[10, 20, 30]" v-model:current-page="inspectTargetData.params.pageIndex" background v-model:page-size="inspectTargetData.params.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="inspectTargetData.total" class="page-position"> </el-pagination>
<br />
<br />
</el-card>
diff --git a/src/views/intellectInspect/inspectRecordManage/inspectRecord/components/inspectRecordDialog.vue b/src/views/intellectInspect/inspectRecordManage/inspectRecord/components/inspectRecordDialog.vue
index f07d72e..e61d78d 100644
--- a/src/views/intellectInspect/inspectRecordManage/inspectRecord/components/inspectRecordDialog.vue
+++ b/src/views/intellectInspect/inspectRecordManage/inspectRecord/components/inspectRecordDialog.vue
@@ -5,31 +5,31 @@
<el-row>
<el-col :span="12" style="margin-bottom: 20px">
<el-form-item label="任务名称" prop="unitName">
- <el-input v-model="inspectTaskForm.taskName" class="input-add" placeholder="请填写任务名称"> </el-input>
+ <el-input v-model="inspectTaskForm.taskName" :disabled="!inspectPointConfirm" class="input-add" placeholder="请填写任务名称"> </el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-bottom: 20px">
<el-form-item label="任务类型" prop="taskType">
- <el-select v-model="inspectTaskForm.taskType" class="input-add" placeholder="请选择任务类型">
+ <el-select v-model="inspectTaskForm.taskType" :disabled="!inspectPointConfirm" class="input-add" placeholder="请选择任务类型">
<el-option v-for="item in workTypeList" :key="item.id" :value="item.id" :label="item.name"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-bottom: 20px">
<el-form-item label="巡检部门" prop="execDepId">
- <el-cascader @change="giveClassGroup" placeholder="请选择巡检部门" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" clearable filterable class="input-add" v-model="inspectTaskForm.execDepId"> </el-cascader>
+ <el-cascader @change="giveClassGroup" :disabled="!inspectPointConfirm" placeholder="请选择巡检部门" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" clearable filterable class="input-add" v-model="inspectTaskForm.execDepId"> </el-cascader>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-bottom: 20px">
<el-form-item label="巡检班组" prop="execClassgroupId">
- <el-select v-model="inspectTaskForm.execClassgroupId" placeholder="请选择巡检班组" class="input-add">
+ <el-select v-model="inspectTaskForm.execClassgroupId" :disabled="!inspectPointConfirm" placeholder="请选择巡检班组" class="input-add">
<el-option v-for="item in classGroup" :key="item.id" :value="item.id" :label="item.groupName"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-bottom: 20px">
<el-form-item label="任务开始时间" prop="startTime">
- <el-date-picker v-model="inspectTaskForm.startTime" placeholder="请选择任务开始时间" type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" />
+ <el-date-picker v-model="inspectTaskForm.startTime" :disabled="!inspectPointConfirm" placeholder="请选择任务开始时间" type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" />
</el-form-item>
</el-col>
</el-row>
@@ -243,7 +243,6 @@
.getInspectRecordById({ id: value.id, uuid: value.uuid })
.then((res) => {
if (res.data.code === '200') {
- debugger;
data.inspectTaskForm.execDepId = res.data.data.execDepId;
giveClassGroup();
data.inspectTaskForm = JSON.parse(JSON.stringify(res.data.data));
@@ -334,7 +333,6 @@
};
const giveClassGroup = () => {
- debugger;
data.inspectTaskForm.execClassgroupId = null;
data.classGroup = data.classGroupList.filter((item) => item.depId === data.inspectTaskForm.execDepId);
};
diff --git a/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue b/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue
index 10bf5c8..008e90c 100644
--- a/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue
+++ b/src/views/intellectInspect/inspectRecordManage/inspectRecord/index.vue
@@ -4,7 +4,7 @@
<el-row class="homeCard">
<div class="basic-line">
<span>任务类型:</span>
- <el-select v-model="tableData.params.workType" clearable filterable class="input-box" placeholder="任务类型">
+ <el-select v-model="tableData.params.taskType" 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>
@@ -12,6 +12,12 @@
<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>
+ </div>
+ <div class="basic-line">
+ <span>任务状态:</span>
+ <el-select v-model="tableData.params.taskStatus" clearable filterable class="input-box" placeholder="执行班组">
+ <el-option v-for="item in taskStatusList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</div>
<div style="padding-bottom: 10px">
@@ -50,29 +56,18 @@
</span>
</template>
</el-table-column>
- <!-- <el-table-column prop="validTime" label="有效时间" show-overflow-tooltip>-->
- <!-- <template #default="scope">-->
- <!-- <span>-->
- <!-- {{ scope.row.validTime }}-->
- <!-- </span>-->
- <!-- <span>-->
- <!-- {{ parseNumber(scope.row.validTimeUnit, '检查频次') }}-->
- <!-- </span>-->
- <!-- </template>-->
- <!-- </el-table-column>-->
- <!-- <el-table-column prop="validTime" label="提醒时间" show-overflow-tooltip>-->
- <!-- <template #default="scope">-->
- <!-- <span>-->
- <!-- {{ scope.row.noticeTime }}-->
- <!-- </span>-->
- <!-- <span>-->
- <!-- {{ parseNumber(scope.row.noticeTimeUnit, '检查频次') }}-->
- <!-- </span>-->
- <!-- </template>-->
- <!-- </el-table-column>-->
<el-table-column property="startTime" label="任务开始时间" />
<el-table-column prop="execUserName" label="执行人" show-overflow-tooltip></el-table-column>
- <el-table-column property="resultStatus" label="状态">
+ <el-table-column property="taskStatus" label="任务状态">
+ <template #default="scope">
+ <el-tag :type="scope.row.taskStatus === 1 ? 'info' : scope.row.taskStatus === 2 ? 'primary' : scope.row.taskStatus === 3 ? 'success' : 'danger'">
+ <span>
+ {{ parseNumber(scope.row.taskStatus, '任务状态') }}
+ </span>
+ </el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column property="resultStatus" label="巡检结果">
<template #default="scope">
<span>
{{ parseNumber(scope.row.resultStatus, '巡检状态') }}
@@ -133,6 +128,7 @@
};
};
workTypeList: Array<type>;
+ taskStatusList: Array<type>;
quotaList: [];
departmentList: [];
classGroupList: Array<classGroup>;
@@ -163,7 +159,7 @@
pageSize: 10,
taskName: null,
taskType: null,
- taskStatus: null,
+ taskStatus: 2,
execUserId: null,
execClassgroupId: null,
execDepId: null,
@@ -180,6 +176,12 @@
resultStatusList: [
{ id: 0, name: '正常' },
{ id: 1, name: '异常' }
+ ],
+ taskStatusList: [
+ { id: 1, name: '待巡检' },
+ { id: 2, name: '巡检中' },
+ { id: 3, name: '已巡检' },
+ { id: 4, name: '超时未巡检' }
],
quotaList: [],
departmentList: [],
@@ -271,6 +273,8 @@
return state.timeType.find((item) => item.id == value)?.name;
} else if (type === '巡检状态') {
return state.resultStatusList.find((item) => item.id == value)?.name;
+ } else if (type === '任务状态') {
+ return state.taskStatusList.find((item) => item.id == value)?.name;
} else {
return state.classGroupList.find((item) => item.id == value)?.groupName;
}
@@ -291,12 +295,16 @@
state.tableData.params = {
pageIndex: 1,
pageSize: 10,
- unitName: null,
- workType: null,
- createUserId: null,
+ taskName: null,
+ taskType: null,
+ taskStatus: null,
+ execUserId: null,
execClassgroupId: null,
- checkCycle: null,
- checkCycleUnit: null
+ execDepId: null,
+ startTime: null,
+ validTime: null,
+ createUserId: null,
+ reportTime: null
};
};
@@ -463,4 +471,14 @@
.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/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue b/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue
index 79a10c7..fcbddcf 100644
--- a/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue
+++ b/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue
@@ -5,33 +5,33 @@
<el-row>
<el-col :span="12" style="margin-bottom: 20px">
<el-form-item label="任务名称" prop="unitName">
- <el-input v-model="inspectTaskForm.unitName" class="input-add" placeholder="请填写任务名称"> </el-input>
+ <el-input v-model="inspectTaskForm.unitName" :disabled="!inspectPointConfirm" class="input-add" placeholder="请填写任务名称"> </el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-bottom: 20px">
<el-form-item label="任务类型" prop="workType">
- <el-select v-model="inspectTaskForm.workType" class="input-add" placeholder="请选择任务类型">
+ <el-select v-model="inspectTaskForm.workType" :disabled="!inspectPointConfirm" class="input-add" placeholder="请选择任务类型">
<el-option v-for="item in workTypeList" :key="item.id" :value="item.id" :label="item.name"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-bottom: 20px">
<el-form-item label="巡检部门" prop="execDepId">
- <el-cascader @change="giveClassGroup" placeholder="请选择巡检部门" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" clearable filterable class="input-add" v-model="inspectTaskForm.execDepId"> </el-cascader>
+ <el-cascader @change="giveClassGroup" :disabled="!inspectPointConfirm" v placeholder="请选择巡检部门" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" clearable filterable class="input-add" v-model="inspectTaskForm.execDepId"> </el-cascader>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-bottom: 20px">
<el-form-item label="巡检班组" prop="execClassgroupId">
- <el-select v-model="inspectTaskForm.execClassgroupId" placeholder="请选择巡检班组" class="input-add">
+ <el-select v-model="inspectTaskForm.execClassgroupId" :disabled="!inspectPointConfirm" placeholder="请选择巡检班组" class="input-add">
<el-option v-for="item in classGroup" :key="item.id" :value="item.id" :label="item.groupName"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-bottom: 20px">
<el-form-item label="巡检周期" prop="checkCycle">
- <el-input v-model="inspectTaskForm.checkCycle" placeholder="请输入巡检周期" class="input-add">
+ <el-input v-model="inspectTaskForm.checkCycle" :disabled="!inspectPointConfirm" placeholder="请输入巡检周期" class="input-add">
<template #append>
- <el-select v-model="inspectTaskForm.checkCycleUnit" placeholder="选择单位">
+ <el-select v-model="inspectTaskForm.checkCycleUnit" :disabled="!inspectPointConfirm" placeholder="选择单位">
<el-option v-for="item in timeList" :key="item.id" :value="item.id" :label="item.name"></el-option>
</el-select>
</template>
@@ -40,9 +40,9 @@
</el-col>
<el-col :span="12" style="margin-bottom: 20px">
<el-form-item label="提前通知时间" prop="noticeTime">
- <el-input v-model="inspectTaskForm.noticeTime" placeholder="请输入提前通知时间" class="input-add">
+ <el-input v-model="inspectTaskForm.noticeTime" :disabled="!inspectPointConfirm" placeholder="请输入提前通知时间" class="input-add">
<template #append>
- <el-select v-model="inspectTaskForm.noticeTimeUnit" placeholder="选择单位">
+ <el-select v-model="inspectTaskForm.noticeTimeUnit" :disabled="!inspectPointConfirm" placeholder="选择单位">
<el-option v-for="item in timeList" :key="item.id" :value="item.id" :label="item.name"></el-option>
</el-select>
</template>
@@ -51,9 +51,9 @@
</el-col>
<el-col :span="12" style="margin-bottom: 20px">
<el-form-item label="有效时间" prop="validTime">
- <el-input v-model="inspectTaskForm.validTime" placeholder="请输入有效时间" class="input-add">
+ <el-input v-model="inspectTaskForm.validTime" :disabled="!inspectPointConfirm" placeholder="请输入有效时间" class="input-add">
<template #append>
- <el-select v-model="inspectTaskForm.validTimeUnit" placeholder="选择单位">
+ <el-select v-model="inspectTaskForm.validTimeUnit" :disabled="!inspectPointConfirm" placeholder="选择单位">
<el-option v-for="item in timeList" :key="item.id" :value="item.id" :label="item.name"></el-option>
</el-select>
</template>
@@ -62,7 +62,7 @@
</el-col>
<el-col :span="12" style="margin-bottom: 20px">
<el-form-item label="周期开始时间" prop="firstStartTime">
- <el-date-picker v-model="inspectTaskForm.firstStartTime" placeholder="请选择周期开始时间" type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" />
+ <el-date-picker v-model="inspectTaskForm.firstStartTime" :disabled="!inspectPointConfirm" placeholder="请选择周期开始时间" type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" />
</el-form-item>
</el-col>
diff --git a/src/views/intellectInspect/inspectTaskManage/inspectTask/index.vue b/src/views/intellectInspect/inspectTaskManage/inspectTask/index.vue
index b2ab549..2158c0c 100644
--- a/src/views/intellectInspect/inspectTaskManage/inspectTask/index.vue
+++ b/src/views/intellectInspect/inspectTaskManage/inspectTask/index.vue
@@ -452,4 +452,14 @@
.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/src/views/loginPage/loginPage.vue b/src/views/loginPage/loginPage.vue
index 9b976a0..b285c23 100644
--- a/src/views/loginPage/loginPage.vue
+++ b/src/views/loginPage/loginPage.vue
@@ -1,33 +1,33 @@
<template>
- <div class="login-container">
- <div id="particles-js" style="display: flex;align-items: center;justify-content: center">
- <canvas class="particles-js-canvas-el" style="width: 100%; height: 100%;" width="472" height="625"></canvas>
- </div>
- <el-row class="loginContent">
- <el-col :md="12">
- <div class="loginContL">
- <div class="apTitleT">新疆国泰新华</div>
- <div class="apTitleB">安全风险预警监测系统</div>
- <span></span>
- </div>
- </el-col>
- <el-col :md="12" style="display: flex;justify-content: flex-end">
- <div class="loginPanel">
- <div class="welc">WELCOME!</div>
- <div class="welcc">欢迎登录</div>
-<!-- <div class="loginInfo">-->
-<!-- <el-input v-model="input" placeholder="Please input" />-->
-<!-- </div>-->
- <div>
- <el-tabs v-model="tabsActiveName">
- <AccountLogin />
- </el-tabs>
- </div>
- </div>
- </el-col>
- </el-row>
- <div class="rights">技术支持:苏州国科鸿宇智能科技有限公司</div>
- </div>
+ <div class="login-container">
+ <div id="particles-js" style="display: flex; align-items: center; justify-content: center">
+ <canvas class="particles-js-canvas-el" style="width: 100%; height: 100%" width="472" height="625"></canvas>
+ </div>
+ <el-row class="loginContent">
+ <el-col :md="12">
+ <div class="loginContL">
+ <div class="apTitleT">新疆国泰新华</div>
+ <div class="apTitleB">安全风险预警监测系统</div>
+ <span></span>
+ </div>
+ </el-col>
+ <el-col :md="12" style="display: flex; justify-content: flex-end">
+ <div class="loginPanel">
+ <div class="welc">WELCOME!</div>
+ <div class="welcc">欢迎登录</div>
+ <!-- <div class="loginInfo">-->
+ <!-- <el-input v-model="input" placeholder="Please input" />-->
+ <!-- </div>-->
+ <div>
+ <el-tabs v-model="tabsActiveName">
+ <AccountLogin />
+ </el-tabs>
+ </div>
+ </div>
+ </el-col>
+ </el-row>
+ <div class="rights">技术支持:苏州国科鸿宇智能科技有限公司</div>
+ </div>
</template>
<script lang="ts">
@@ -38,133 +38,133 @@
import loginIconTwo from '/@/assets/login-icon-two.svg';
import { NextLoading } from '/@/utils/loading';
import AccountLogin from '/@/views/loginPage/component/accountLogin.vue';
-import { loginBg } from '../../../static/loginPage.js/login.js'
-import { loginApp } from '../../../static/loginPage.js/loginApp.js'
+import { loginBg } from '../../../static/loginPage.js/login.js';
+import { loginApp } from '../../../static/loginPage.js/loginApp.js';
// 定义接口来定义对象的类型
interface LoginState {
- tabsActiveName: string;
- isScan: boolean;
+ tabsActiveName: string;
+ isScan: boolean;
}
export default defineComponent({
- name: 'loginIndex',
- components: { AccountLogin },
- setup() {
- const storesThemeConfig = useThemeConfig();
- const { themeConfig } = storeToRefs(storesThemeConfig);
- const state = reactive<LoginState>({
- tabsActiveName: 'account',
- isScan: false,
- });
- // 获取布局配置信息
- const getThemeConfig = computed(() => {
- return themeConfig.value;
- });
- // 页面加载时
- onMounted(() => {
- NextLoading.done();
- loginBg();
- loginApp()
- });
- return {
- logoMini,
- loginIconTwo,
- getThemeConfig,
- ...toRefs(state),
- };
- },
+ name: 'loginIndex',
+ components: { AccountLogin },
+ setup() {
+ const storesThemeConfig = useThemeConfig();
+ const { themeConfig } = storeToRefs(storesThemeConfig);
+ const state = reactive<LoginState>({
+ tabsActiveName: 'account',
+ isScan: false
+ });
+ // 获取布局配置信息
+ const getThemeConfig = computed(() => {
+ return themeConfig.value;
+ });
+ // 页面加载时
+ onMounted(() => {
+ NextLoading.done();
+ loginBg();
+ loginApp();
+ });
+ return {
+ logoMini,
+ loginIconTwo,
+ getThemeConfig,
+ ...toRefs(state)
+ };
+ }
});
</script>
<style scoped lang="scss">
.login-container {
- width: 100%;
- height: 100%;
- position: relative;
- z-index: 999;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- background: url("../../assets/loginPage/login-bg.jpg") no-repeat center;
- /*background-image: radial-gradient(at center, #0075c3, #000b61);*/
+ width: 100%;
+ height: 100%;
+ position: relative;
+ z-index: 999;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ background: url('../../assets/loginPage/login-bg.jpg') no-repeat center;
+ /*background-image: radial-gradient(at center, #0075c3, #000b61);*/
- canvas {
- display: block;
- vertical-align: bottom;
- }
+ canvas {
+ display: block;
+ vertical-align: bottom;
+ }
- #particles-js {
- width: 100%;
- height: 100%;
- background-size: cover;
- background-position: 50% 50%;
- background-repeat: no-repeat;
- position: absolute;
- top: 0;
- left: 0;
- }
- .rights{
- font-size: 14px;
- color: #fff;
- }
- .loginContent{
- width: 100%;
- padding: 0 200px;
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- justify-content: space-around;
- margin-bottom: 40px;
+ #particles-js {
+ width: 100%;
+ height: 100%;
+ background-size: cover;
+ background-position: 50% 50%;
+ background-repeat: no-repeat;
+ position: absolute;
+ top: 0;
+ left: 0;
+ }
+ .rights {
+ font-size: 16px;
+ color: #fff;
+ }
+ .loginContent {
+ width: 100%;
+ padding: 0 200px;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: space-around;
+ margin-bottom: 60px;
- .loginContL{
- width: 100%;
- font-size: 60px;
- font-weight: bold;
- margin-bottom: 100px;
+ .loginContL {
+ width: 100%;
+ font-size: 60px;
+ font-weight: bold;
+ margin-bottom: 100px;
- .apTitleT{
- color: #fff;
- margin-bottom: 20px;
- letter-spacing: 4px;
- }
- .apTitleB{
- color: #01d0ff;
- margin-bottom: 40px;
- letter-spacing: 4px;
- }
- &>span{
- display: block;
- width: 120px;
- height: 8px;
- background: #01d0ff;
- }
- }
- .loginPanel{
- width: 65%;
- padding: 85px 70px;
- background: #fff;
- min-width: 450px;
- border-radius: 15px;
- box-shadow: 0 8px 40px rgba(0,0,0,.15);
+ .apTitleT {
+ color: #fff;
+ margin-bottom: 20px;
+ letter-spacing: 4px;
+ }
+ .apTitleB {
+ color: #01d0ff;
+ margin-bottom: 40px;
+ letter-spacing: 4px;
+ }
+ & > span {
+ display: block;
+ width: 120px;
+ height: 8px;
+ background: #01d0ff;
+ }
+ }
+ .loginPanel {
+ width: 65%;
+ padding: 85px 70px;
+ background: #fff;
+ min-width: 450px;
+ border-radius: 15px;
+ box-shadow: 0 8px 40px rgba(0, 0, 0, 0.15);
- .welc{
- font-size: 36px;
- font-family: "PingFang SC";
- font-weight: normal;
- color: #999999;
- letter-spacing: 2px;
- margin-bottom: 15px;
- }
- .welcc{
- font-size: 32px;
- font-family: "PingFang SC";
- font-weight: lighter;
- color: #333;
- letter-spacing: 2px;
- }
- }
- }
+ .welc {
+ font-size: 36px;
+ font-family: 'PingFang SC';
+ font-weight: normal;
+ color: #999999;
+ letter-spacing: 2px;
+ margin-bottom: 15px;
+ }
+ .welcc {
+ font-size: 32px;
+ font-family: 'PingFang SC';
+ font-weight: lighter;
+ color: #333;
+ letter-spacing: 2px;
+ }
+ }
+ }
}
</style>
diff --git a/src/views/safeKnowledgeSys/index.vue b/src/views/safeKnowledge/index.vue
similarity index 100%
rename from src/views/safeKnowledgeSys/index.vue
rename to src/views/safeKnowledge/index.vue
diff --git a/src/views/safeKnowledgeSys/bmgz/index.vue b/src/views/safeKnowledgeSys/bmgz/index.vue
deleted file mode 100644
index f74c241..0000000
--- a/src/views/safeKnowledgeSys/bmgz/index.vue
+++ /dev/null
@@ -1,40 +0,0 @@
-<template>
- <div class="home-container">
- <iframe src="http://39.104.85.193/bmgz"></iframe>
- </div>
-</template>
-
-<script>
-export default {
- name: 'safeKnowledgeSys',
- props: {
-
- },
- data(){
- return{
-
- }
- },
- created() {
-
- },
- methods:{
-
- }
-}
-</script>
-
-<!-- Add "scoped" attribute to limit CSS to this component only -->
-<style scoped lang="scss">
- .home-container{
- height: calc(100vh - 114px);
- box-sizing: border-box;
- overflow: hidden;
-
- iframe{
- width: 100%;
- height: 100%;
- border: none;
- }
- }
-</style>
diff --git a/src/views/safeKnowledgeSys/df/index.vue b/src/views/safeKnowledgeSys/df/index.vue
deleted file mode 100644
index 38e4824..0000000
--- a/src/views/safeKnowledgeSys/df/index.vue
+++ /dev/null
@@ -1,40 +0,0 @@
-<template>
- <div class="home-container">
- <iframe src="http://39.104.85.193/df"></iframe>
- </div>
-</template>
-
-<script>
-export default {
- name: 'safeKnowledgeSys',
- props: {
-
- },
- data(){
- return{
-
- }
- },
- created() {
-
- },
- methods:{
-
- }
-}
-</script>
-
-<!-- Add "scoped" attribute to limit CSS to this component only -->
-<style scoped lang="scss">
- .home-container{
- height: calc(100vh - 114px);
- box-sizing: border-box;
- overflow: hidden;
-
- iframe{
- width: 100%;
- height: 100%;
- border: none;
- }
- }
-</style>
diff --git a/src/views/safeKnowledgeSys/inner/index.vue b/src/views/safeKnowledgeSys/inner/index.vue
deleted file mode 100644
index 97b9588..0000000
--- a/src/views/safeKnowledgeSys/inner/index.vue
+++ /dev/null
@@ -1,40 +0,0 @@
-<template>
- <div class="home-container">
- <iframe src="http://39.104.85.193/inner"></iframe>
- </div>
-</template>
-
-<script>
-export default {
- name: 'safeKnowledgeSys',
- props: {
-
- },
- data(){
- return{
-
- }
- },
- created() {
-
- },
- methods:{
-
- }
-}
-</script>
-
-<!-- Add "scoped" attribute to limit CSS to this component only -->
-<style scoped lang="scss">
- .home-container{
- height: calc(100vh - 114px);
- box-sizing: border-box;
- overflow: hidden;
-
- iframe{
- width: 100%;
- height: 100%;
- border: none;
- }
- }
-</style>
diff --git a/src/views/safeKnowledgeSys/internationalRules/index.vue b/src/views/safeKnowledgeSys/internationalRules/index.vue
deleted file mode 100644
index 2c88f1e..0000000
--- a/src/views/safeKnowledgeSys/internationalRules/index.vue
+++ /dev/null
@@ -1,40 +0,0 @@
-<template>
- <div class="home-container">
- <iframe src="http://39.104.85.193/law"></iframe>
- </div>
-</template>
-
-<script>
-export default {
- name: 'safeKnowledgeSys',
- props: {
-
- },
- data(){
- return{
-
- }
- },
- created() {
-
- },
- methods:{
-
- }
-}
-</script>
-
-<!-- Add "scoped" attribute to limit CSS to this component only -->
-<style scoped lang="scss">
- .home-container{
- height: calc(100vh - 114px);
- box-sizing: border-box;
- overflow: hidden;
-
- iframe{
- width: 100%;
- height: 100%;
- border: none;
- }
- }
-</style>
diff --git a/src/views/safeKnowledgeSys/law/index.vue b/src/views/safeKnowledgeSys/law/index.vue
deleted file mode 100644
index 8f4fa8f..0000000
--- a/src/views/safeKnowledgeSys/law/index.vue
+++ /dev/null
@@ -1,40 +0,0 @@
-<template>
- <div class="home-container">
- <iframe src="http://39.104.85.193/gong"></iframe>
- </div>
-</template>
-
-<script>
-export default {
- name: 'safeKnowledgeSys',
- props: {
-
- },
- data(){
- return{
-
- }
- },
- created() {
-
- },
- methods:{
-
- }
-}
-</script>
-
-<!-- Add "scoped" attribute to limit CSS to this component only -->
-<style scoped lang="scss">
- .home-container{
- height: calc(100vh - 114px);
- box-sizing: border-box;
- overflow: hidden;
-
- iframe{
- width: 100%;
- height: 100%;
- border: none;
- }
- }
-</style>
diff --git a/src/views/safeKnowledgeSys/sfjs/index.vue b/src/views/safeKnowledgeSys/sfjs/index.vue
deleted file mode 100644
index 3682dcc..0000000
--- a/src/views/safeKnowledgeSys/sfjs/index.vue
+++ /dev/null
@@ -1,40 +0,0 @@
-<template>
- <div class="home-container">
- <iframe src="http://39.104.85.193/laws"></iframe>
- </div>
-</template>
-
-<script>
-export default {
- name: 'safeKnowledgeSys',
- props: {
-
- },
- data(){
- return{
-
- }
- },
- created() {
-
- },
- methods:{
-
- }
-}
-</script>
-
-<!-- Add "scoped" attribute to limit CSS to this component only -->
-<style scoped lang="scss">
- .home-container{
- height: calc(100vh - 114px);
- box-sizing: border-box;
- overflow: hidden;
-
- iframe{
- width: 100%;
- height: 100%;
- border: none;
- }
- }
-</style>
diff --git a/src/views/safeKnowledgeSys/xzfg/index.vue b/src/views/safeKnowledgeSys/xzfg/index.vue
deleted file mode 100644
index a50d44c..0000000
--- a/src/views/safeKnowledgeSys/xzfg/index.vue
+++ /dev/null
@@ -1,39 +0,0 @@
-<template>
- <div class="home-container">
- <iframe src="http://39.104.85.193/xzfg"></iframe>
- </div>
-</template>
-
-<script>
-export default {
- name: 'safeKnowledgeSys',
- props: {
-
- },
- data(){
- return{
-
- }
- },
- created() {
-
- },
- methods:{
-
- }
-}
-</script>
-
-<!-- Add "scoped" attribute to limit CSS to this component only -->
-<style scoped lang="scss">
- .home-container{
- height: calc(100vh - 114px);
- box-sizing: border-box;
- overflow: hidden;
-
- iframe{
- width: 100%;
- height: 100%;
- }
- }
-</style>
diff --git a/src/views/specialWorkSystem/approveProcessManage/examineTemplate/index.vue b/src/views/specialWorkSystem/approveProcessManage/examineTemplate/index.vue
new file mode 100644
index 0000000..1591de7
--- /dev/null
+++ b/src/views/specialWorkSystem/approveProcessManage/examineTemplate/index.vue
@@ -0,0 +1,367 @@
+<template>
+ <div class="home-container">
+ <div style="height: 100%">
+ <el-row class="homeCard">
+ <el-col :span="8">
+ <div class="grid-content topInfo">
+ <el-input v-model="searchWord" placeholder="流程名称"></el-input>
+ <el-button type="primary">查询</el-button>
+ <el-button plain>重置</el-button>
+ </div>
+ </el-col>
+ </el-row>
+ <div class="homeCard">
+ <div class="main-card">
+ <el-row class="cardTop">
+ <el-col :span="12" class="mainCardBtn">
+ <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord = true" v-throttle>新建</el-button>
+ <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button>
+ <el-button type="success" size="default" plain>设置分类</el-button>
+ </el-col>
+ <el-button type="primary" :icon="Refresh" size="default" />
+ </el-row>
+ <el-table ref="multipleTableRef" :data="tableData" 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="name" label="流程名称" width="200" />
+ <el-table-column property="flowKey" label="流程key" width="180" />
+ <el-table-column property="sort" label="分类" />
+ <el-table-column label="版本" width="180">
+ <template #default="scope">
+ <el-tag>{{ scope.row.version }}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column label="流程状态" width="180">
+ <template #default="scope">
+ <el-tag type="success">{{ scope.row.status }}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column property="updateTime" label="更新时间" />
+ <el-table-column fixed="right" label="操作" align="center" width="250">
+ <template #default="scope">
+ <el-button link type="primary" :icon="Edit" size="small" @click="editRecord(scope.$index, scope.row)" v-throttle>修改</el-button>
+ <el-button link type="success" size="small">发布</el-button>
+ <el-button link type="danger" :icon="Delete" size="small" @click="deleteRecord(scope.$index)">删除</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="pageBtn">
+ <el-pagination v-model:currentPage="currentPage" v-model:page-size="pageSize" :page-sizes="[10, 15]" small="false" background layout="total, sizes, prev, pager, next, jumper" :total="100" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
+ </div>
+ </div>
+ </div>
+ </div>
+ <el-dialog v-model="dialogAddRecord" title="审批流程编辑" @close="closeAdd">
+ <el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
+ <el-form-item label="流程名称" prop="name">
+ <el-input v-model="addRecord.name" placeholder="流程名称" />
+ </el-form-item>
+ <el-form-item label="流程key" prop="flowKey">
+ <el-input v-model="addRecord.flowKey" placeholder="流程key"> </el-input>
+ </el-form-item>
+ <el-form-item label="分类" prop="sort">
+ <el-select v-model="addRecord.sort" placeholder="请选择">
+ <el-option label="临时用电" value="临时用电" />
+ <el-option label="设备检修" value="设备检修" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="版本" prop="version">
+ <el-input v-model="addRecord.version" placeholder="请选择工种"> </el-input>
+ </el-form-item>
+ <el-form-item label="状态" prop="status">
+ <el-select v-model="addRecord.status" placeholder="请选择">
+ <el-option label="已发布" value="已发布" />
+ <el-option label="未发布" value="未发布" />
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
+ <el-button type="primary" @click="confirmAddRecord(addRef)" size="default" v-throttle>确认</el-button>
+ </el-form-item>
+ </el-form>
+ </el-dialog>
+ <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
+ <span>您确定要删除该条记录吗?</span>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="deleteDialog = false" size="default">取消</el-button>
+ <el-button type="primary" @click="conFirmDelete" size="default" v-throttle>确认</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+
+<script lang="ts" setup>
+import { toRefs, reactive, defineComponent, ref } from 'vue';
+import { storeToRefs } from 'pinia';
+import { initBackEndControlRoutes } from '/@/router/backEnd';
+import { useUserInfo } from '/@/stores/userInfo';
+import { Session } from '/@/utils/storage';
+import { Plus, Delete, Refresh, Edit } from '@element-plus/icons-vue';
+import { ElTable, FormInstance, FormRules } from 'element-plus';
+let global: any = {
+ homeChartOne: null,
+ homeChartTwo: null,
+ homeCharThree: null,
+ dispose: [null, '', undefined]
+};
+
+interface stateType {
+ homeOne: Array<type>;
+}
+interface type {}
+interface User {
+ date: string;
+ name: string;
+ address: string;
+}
+const userInfo = useUserInfo();
+const { userInfos } = storeToRefs(userInfo);
+const state = reactive<stateType>({});
+const multipleTableRef = ref<InstanceType<typeof ElTable>>();
+const multipleSelection = ref<User[]>([]);
+const handleSelectionChange = (val: User[]) => {
+ multipleSelection.value = val;
+};
+const currentPage = ref(1);
+const pageSize = ref(10);
+const chosenIndex = ref(-1);
+const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+};
+const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+};
+const tableData = reactive([
+ {
+ name: '风险点复评预警',
+ flowKey: 'process111',
+ sort: '未设置',
+ version: 'V:4',
+ status: '已发布',
+ updateTime: '2021-04-22 15:21:31'
+ },
+ {
+ name: '风险点复评预警',
+ flowKey: 'process111',
+ sort: '未设置',
+ version: 'V:4',
+ status: '已发布',
+ updateTime: '2021-04-22 15:21:31'
+ },
+ {
+ name: '风险点复评预警',
+ flowKey: 'process111',
+ sort: '未设置',
+ version: 'V:4',
+ status: '已发布',
+ updateTime: '2021-04-22 15:21:31'
+ },
+ {
+ name: '风险点复评预警',
+ flowKey: 'process111',
+ sort: '未设置',
+ version: 'V:4',
+ status: '已发布',
+ updateTime: '2021-04-22 15:21:31'
+ },
+ {
+ name: '风险点复评预警',
+ flowKey: 'process111',
+ sort: '未设置',
+ version: 'V:4',
+ status: '已发布',
+ updateTime: '2021-04-22 15:21:31'
+ },
+ {
+ name: '风险点复评预警',
+ flowKey: 'process111',
+ sort: '未设置',
+ version: 'V:4',
+ status: '已发布',
+ updateTime: '2021-04-22 15:21:31'
+ },
+ {
+ name: '风险点复评预警',
+ flowKey: 'process111',
+ sort: '未设置',
+ version: 'V:4',
+ status: '已发布',
+ updateTime: '2021-04-22 15:21:31'
+ },
+ {
+ name: '风险点复评预警',
+ flowKey: 'process111',
+ sort: '未设置',
+ version: 'V:4',
+ status: '已发布',
+ updateTime: '2021-04-22 15:21:31'
+ },
+ {
+ name: '风险点复评预警',
+ flowKey: 'process111',
+ sort: '未设置',
+ version: 'V:4',
+ status: '已发布',
+ updateTime: '2021-04-22 15:21:31'
+ },
+ {
+ name: '风险点复评预警',
+ flowKey: 'process111',
+ sort: '未设置',
+ version: 'V:4',
+ status: '已发布',
+ updateTime: '2021-04-22 15:21:31'
+ }
+]);
+
+// 时间格式化
+const timeForm = {
+ hour12: false,
+ year: 'numeric',
+ month: '2-digit',
+ day: '2-digit',
+ hour: '2-digit',
+ minute: '2-digit',
+ second: '2-digit'
+};
+const addRef = ref<FormInstance>();
+const addRules = reactive<FormRules>({
+ name: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+ flowKey: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+ sort: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+ version: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+ status: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+ updateTime: [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
+});
+const dialogDetails = ref(false);
+const dialogAddRecord = ref(false);
+const deleteDialog = ref(false);
+const addRecord = ref({});
+const details = ref({});
+
+// 查看记录
+const viewRecord = (row) => {
+ details.value = JSON.parse(JSON.stringify(row));
+ dialogDetails.value = true;
+};
+
+// 删除记录
+const deleteRecord = (index) => {
+ chosenIndex.value = index;
+ deleteDialog.value = true;
+};
+const conFirmDelete = () => {
+ tableData.splice(chosenIndex.value, 1);
+ deleteDialog.value = false;
+};
+
+// 修改记录
+const editRecord = (index, row) => {
+ dialogAddRecord.value = true;
+ chosenIndex.value = index;
+ addRecord.value = JSON.parse(JSON.stringify(row));
+};
+
+// 新增修改记录确认
+const confirmAddRecord = async (formEl: FormInstance | undefined) => {
+ if (!formEl) return;
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ if (chosenIndex.value == -1) {
+ addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g, '-');
+ tableData.unshift(addRecord.value);
+ } else {
+ addRecord.value.updateTime = new Date().toLocaleString('zh', timeForm).replace(/\//g, '-');
+ tableData[chosenIndex.value] = addRecord.value;
+ }
+ dialogAddRecord.value = false;
+ } else {
+ console.log('error submit!', fields);
+ }
+ });
+};
+const closeAdd = () => {
+ addRecord.value = {};
+ chosenIndex.value = -1;
+};
+const indexClear = () => {
+ chosenIndex.value = -1;
+};
+// 折线图
+const renderMenu = async (value: string) => {
+ Session.set('projectId', value);
+ userInfos.value.projectId = value;
+ await initBackEndControlRoutes();
+};
+</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;
+ }
+ }
+ }
+}
+</style>
diff --git a/src/views/specialWorkSystem/approveProcessManage/templateSetting/index.vue b/src/views/specialWorkSystem/approveProcessManage/templateSetting/index.vue
new file mode 100644
index 0000000..a8b85a8
--- /dev/null
+++ b/src/views/specialWorkSystem/approveProcessManage/templateSetting/index.vue
@@ -0,0 +1,293 @@
+<template>
+ <div class="home-container">
+ <el-scrollbar height="100%">
+ <div class="homeCard">
+ <div>
+ <div v-for="(item, index) in approveSteps" class="stepItem">
+ <div class="stepNum">{{ index + 1 }}</div>
+ <div class="stepCard">
+ <el-card class="box-card" shadow="hover">
+ <template #header>
+ <div class="card-header">
+ <div>
+ 步骤<span>{{ index + 1 }}</span>
+ </div>
+ <div>
+ <el-button type="primary" size="default" @click="addFlow(index)">新增</el-button>
+ <el-button type="danger" size="default" @click="deleteFlow(index)">删除</el-button>
+ </div>
+ </div>
+ </template>
+ <div class="text item">
+ 审批部门:<span>{{ item.department }}</span>
+ </div>
+ <div class="text item">
+ 审批人员:<span>{{ item.manager }}</span>
+ </div>
+ <div class="text item">
+ 其他参数:<span>{{ item.others }}</span>
+ </div>
+ </el-card>
+ </div>
+ </div>
+ </div>
+ <el-row>
+ <el-button type="primary" @click="confirmEdit" size="large">确认</el-button>
+ <el-button @click="cancelEdit" size="large">取消</el-button>
+ </el-row>
+ </div>
+ <el-drawer v-model="showAdd" direction="rtl" @close="colseDrawer">
+ <template #title>
+ <h4>新增审批流</h4>
+ </template>
+ <template #default>
+ <el-form :model="addProgress" label-width="120px" ref="ruleFormRef" :rules="ProgressRules">
+ <el-form-item label="审批部门" prop="department">
+ <el-select v-model="addProgress.department" placeholder="请选择审批部门">
+ <el-option label="动土" value="动土" />
+ <el-option label="动火" value="动火" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="审批人员" prop="manager">
+ <el-select v-model="addProgress.manager" placeholder="请选择审批人员">
+ <el-option label="人员1" value="人员1" />
+ <el-option label="人员2" value="人员2" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="其他参数" prop="others">
+ <el-input v-model="addProgress.others" />
+ </el-form-item>
+ </el-form>
+ </template>
+ <template #footer>
+ <div style="flex: auto">
+ <el-button type="primary" @click="confirmClick(ruleFormRef)" size="default">确认</el-button>
+ <el-button @click="cancelClick" size="default">取消</el-button>
+ </div>
+ </template>
+ </el-drawer>
+ <el-dialog v-model="deleteDialog" title="提示" width="30%" center>
+ <span>您确定要删除该审批流吗?</span>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="deleteDialog = false" size="default">取消</el-button>
+ <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </el-scrollbar>
+ </div>
+</template>
+
+<script lang="ts">
+import { toRefs, reactive, defineComponent, ref } from 'vue';
+import { storeToRefs } from 'pinia';
+import { initBackEndControlRoutes } from '/@/router/backEnd';
+import { useUserInfo } from '/@/stores/userInfo';
+import { Session } from '/@/utils/storage';
+import { ElMessage } from 'element-plus';
+import type { FormInstance, FormRules } from 'element-plus';
+let global: any = {
+ homeChartOne: null,
+ homeChartTwo: null,
+ homeCharThree: null,
+ dispose: [null, '', undefined]
+};
+
+interface stateType {
+ homeOne: Array<type>;
+}
+interface type {}
+export default defineComponent({
+ name: 'approveProcessSetting',
+ setup() {
+ const userInfo = useUserInfo();
+ const { userInfos } = storeToRefs(userInfo);
+ const approveSteps = [
+ {
+ department: '动土',
+ manager: '',
+ others: ''
+ },
+ {
+ department: '动土',
+ manager: '',
+ others: ''
+ },
+ {
+ department: '动土',
+ manager: '',
+ others: ''
+ }
+ ];
+ const showAdd = ref(false);
+ const deleteDialog = ref(false);
+ const chosenIndex = ref('');
+ const addProgress = ref({
+ department: '',
+ manager: '',
+ others: ''
+ });
+ const ruleFormRef = ref<FormInstance>();
+ const ProgressRules = reactive<FormRules>({
+ department: [{ required: true, message: '该选项不能为空', trigger: 'blur' }],
+ manager: [{ required: true, message: '该选项不能为空', trigger: 'blur' }]
+ });
+
+ // 确认新增
+ const confirmClick = async (formEl: FormInstance | undefined) => {
+ if (!formEl) return;
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ approveSteps.splice(chosenIndex.value + 1, 0, addProgress.value);
+ showAdd.value = false;
+ } else {
+ console.log('error submit!', fields);
+ }
+ });
+ };
+ const cancelClick = () => {
+ showAdd.value = false;
+ };
+
+ // 新增
+ const addFlow = (index) => {
+ showAdd.value = true;
+ chosenIndex.value = index;
+ };
+
+ // 删除记录
+ const deleteFlow = (index) => {
+ if (approveSteps.length > 1) {
+ deleteDialog.value = true;
+ chosenIndex.value = index;
+ } else {
+ ElMessage({
+ message: '抱歉最后一条无法删除',
+ type: 'warning'
+ });
+ }
+ };
+ const conFirmDelete = () => {
+ const i = chosenIndex.value;
+ approveSteps.splice(i, 1);
+ deleteDialog.value = false;
+ };
+ const colseDrawer = () => {
+ addProgress.value = {
+ department: '',
+ manager: '',
+ others: ''
+ };
+ };
+ const cancelEdit = () => {};
+ const confirmEdit = () => {};
+ const state = reactive<stateType>({});
+ // 折线图
+ const renderMenu = async (value: string) => {
+ Session.set('projectId', value);
+ userInfos.value.projectId = value;
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ showAdd,
+ approveSteps,
+ addProgress,
+ ruleFormRef,
+ ProgressRules,
+ chosenIndex,
+ deleteDialog,
+ colseDrawer,
+ conFirmDelete,
+ cancelClick,
+ deleteFlow,
+ addFlow,
+ confirmClick,
+ cancelEdit,
+ confirmEdit,
+ ...toRefs(state)
+ };
+ }
+});
+</script>
+
+<style scoped lang="scss">
+$homeNavLengh: 8;
+.home-container {
+ height: 100%;
+ overflow: hidden;
+ padding: 20px;
+ .homeCard {
+ width: 100%;
+ padding: 20px;
+ background: #fff;
+ border-radius: 4px;
+ }
+ .stepItem {
+ 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: 2px solid #999;
+ line-height: 26px;
+ text-align: center;
+ margin-right: 40px;
+ margin-left: -16px;
+ margin-top: -30px;
+ }
+ .stepCard {
+ margin-top: -30px;
+
+ .box-card {
+ width: 480px;
+
+ .card-header {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ span {
+ font-weight: bold;
+ margin-left: 10px;
+ }
+ }
+
+ .text {
+ font-size: 14px;
+ }
+
+ .item {
+ margin-bottom: 18px;
+ }
+ }
+ }
+ &:hover .card-header {
+ color: #0098f5;
+ }
+ &:hover .stepNum {
+ border: 2px solid #0098f5;
+ color: #0098f5;
+ }
+ }
+
+ .el-form {
+ padding: 40px 20px;
+ }
+}
+</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/myJobApply/index.vue b/src/views/specialWorkSystem/workApplyManage/myJobApply/index.vue
new file mode 100644
index 0000000..44f571a
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManage/myJobApply/index.vue
@@ -0,0 +1,362 @@
+<template>
+ <div class="home-container">
+ <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
+ <el-tab-pane label="申请中" name="Applying">
+ <div style="height: 100%">
+ <el-row class="homeCard">
+ <el-col :span="8">
+ <div class="grid-content topInfo">
+ <el-input v-model="searchWord" placeholder="作业证名称"></el-input>
+ <el-button type="primary">查询</el-button>
+ <el-button plain>重置</el-button>
+ </div>
+ </el-col>
+ </el-row>
+ <div class="homeCard">
+ <div class="main-card">
+ <el-row class="cardTop">
+ <el-col :span="12" class="mainCardBtn">
+ <el-button type="primary" :icon="Plus" size="default">申请</el-button>
+<!-- <el-button type="danger" :icon="Delete" size="default">删除</el-button>-->
+<!-- <el-button type="success" size="default">设置分类</el-button>-->
+ </el-col>
+ <el-button type="primary" :icon="Refresh" size="default"/>
+ </el-row>
+ <el-table
+ ref="multipleTableRef"
+ :data="applyData"
+ 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 type="index" label="作业证编号" width="200"/>
+ <el-table-column property="level" label="作业证等级" width="180" sortable />
+ <el-table-column property="applyDate" label="申请日期" sortable />
+ <el-table-column property="name" label="申请人" width="180"/>
+ <el-table-column property="department" label="申请部门" width="180" />
+ <el-table-column label="申请状态" width="180">
+ <template #default="scope">
+ <el-tag type="success">{{ scope.row.status }}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column fixed="right" label="操作" align="center" width="250">
+ <template #default="scope">
+ <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
+ <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="pageBtn">
+ <el-pagination
+ v-model:currentPage="currentPage"
+ v-model:page-size="pageSize"
+ :page-sizes="[10, 15]"
+ small=false
+ background
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="100"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </div>
+ </div>
+ </div>
+ <el-dialog v-model="dialogDetails" title="作业票查看">
+ <el-form :model="details" label-width="120px">
+ <el-form-item label="作业证等级">
+ <el-input
+ v-model="details.level"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="申请日期">
+ <el-input
+ v-model="details.applyDate"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="申请人">
+ <el-input
+ v-model="details.name"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="申请部门">
+ <el-input
+ v-model="details.department"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item label="状态">
+ <el-input
+ v-model="details.status"
+ readonly
+ />
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
+ </el-form-item>
+ </el-form>
+ </el-dialog>
+ <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">
+ <span>您确定要删除该条记录吗?</span>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="deleteDialog = false" size="default">取消</el-button>
+ <el-button type="primary" @click="conFirmDelete" size="default" v-throttle>确认</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </el-tab-pane>
+ <el-tab-pane label="已通过" name="passed">
+ <div style="height: 100%">
+ <el-row class="homeCard">
+ <el-col :span="8">
+ <div class="grid-content topInfo">
+ <el-input v-model="searchWord" placeholder="作业证名称"></el-input>
+ <el-button type="primary">查询</el-button>
+ <el-button plain>重置</el-button>
+ </div>
+ </el-col>
+ </el-row>
+ <div class="homeCard">
+ <div class="main-card">
+<!-- <el-row class="cardTop">-->
+<!-- <el-col :span="12" class="mainCardBtn">-->
+<!-- <el-button type="primary" :icon="Plus" size="default">申请</el-button>-->
+<!-- <el-button type="danger" :icon="Delete" size="default">删除</el-button>-->
+<!-- <el-button type="success" size="default">设置分类</el-button>-->
+<!-- </el-col>-->
+<!-- <el-button type="primary" size="default" :icon="Refresh" />-->
+<!-- </el-row>-->
+ <el-table
+ ref="multipleTableRef"
+ :data="passedData"
+ style="width: 100%"
+ height="calc(100% - 48px)"
+ :header-cell-style="{background: '#fafafa'}"
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column type="selection" width="55" />
+ <el-table-column type="index" label="编号" width="200"/>
+ <el-table-column property="level" label="作业证等级" width="180" sortable />
+ <el-table-column property="applyDate" label="申请日期" sortable />
+ <el-table-column property="name" label="申请人" width="180"/>
+ <el-table-column property="department" label="申请部门" width="180" />
+ <el-table-column label="申请状态" width="180">
+ <template #default="scope">
+ <el-tag type="success">{{ scope.row.status }}</el-tag>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="pageBtn">
+ <el-pagination
+ v-model:currentPage="currentPage"
+ v-model:page-size="pageSize"
+ :page-sizes="[10, 15]"
+ small=false
+ background
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="100"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </div>
+ </div>
+ </div>
+ </el-tab-pane>
+ </el-tabs>
+ </div>
+</template>
+
+<script lang="ts" setup>
+ import { toRefs, reactive, defineComponent, ref } from 'vue';
+ import { storeToRefs } from 'pinia';
+ import { initBackEndControlRoutes } from '/@/router/backEnd';
+ import {useUserInfo} from "/@/stores/userInfo";
+ import { Session } from '/@/utils/storage';
+ import { Plus, Delete, Refresh } from '@element-plus/icons-vue'
+ import { ElTable } from 'element-plus'
+ import type { TabsPaneContext } from 'element-plus'
+ let global: any = {
+ homeChartOne: null,
+ homeChartTwo: null,
+ homeCharThree: null,
+ dispose: [null, '', undefined],
+ };
+
+ interface stateType {
+ homeOne: Array <type>
+ }
+ interface type {
+
+ }
+ interface User {
+ num: string
+ level: string
+ applyDate: string
+ name: string
+ department: string
+ status: string
+ }
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const activeName = ref('Applying')
+ const handleClick = (tab: TabsPaneContext, event: Event) => {
+ console.log(tab, event)
+ }
+ const multipleTableRef = ref<InstanceType<typeof ElTable>>()
+ const multipleSelection = ref<User[]>([])
+ const handleSelectionChange = (val: User[]) => {
+ multipleSelection.value = val
+ }
+ const currentPage = ref(1)
+ const pageSize = ref(10)
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`)
+ }
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`)
+ }
+ const applyData = reactive([
+ {
+ level: '等级一',
+ applyDate: '2022-07-27 14:19:33',
+ name: '张三',
+ department: '部门一',
+ status: '审核中'
+
+ },
+ {
+ level: '等级一',
+ applyDate: '2022-07-27 14:19:33',
+ name: '张三',
+ department: '部门一',
+ status: '审核中'
+
+ },
+ {
+ level: '等级一',
+ applyDate: '2022-07-27 14:19:33',
+ name: '张三',
+ department: '部门一',
+ status: '审核中'
+
+ }
+ ])
+ const chosenIndex = ref(-1)
+ const passedData: User[] = []
+ const dialogDetails = ref(false)
+ const details = ref({})
+ const deleteDialog = ref(false)
+
+ // 查看记录
+ const viewRecord = (row) =>{
+ details.value = JSON.parse(JSON.stringify(row))
+ dialogDetails.value = true
+ }
+
+ // 删除记录
+ const deleteRecord = (index) =>{
+ chosenIndex.value = index
+ deleteDialog.value = true
+ }
+
+ // 弹窗确认删除记录
+ const conFirmDelete = ()=> {
+ applyData.splice(chosenIndex.value,1)
+ deleteDialog.value = false
+ }
+ // 折线图
+ const renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+</script>
+
+<style scoped lang="scss">
+ $homeNavLengh: 8;
+ .home-container {
+ height: calc(100vh - 114px);
+ box-sizing: border-box;
+ overflow: hidden;
+ .demo-tabs{
+ width: 100%;
+ height: 100%;
+
+ &::v-deep(.el-tabs__content){
+ height: calc(100% - 60px);
+ }
+
+ .el-tab-pane{
+ height: 100%;
+ }
+ }
+ .homeCard{
+ width: 100%;
+ padding: 20px;
+ box-sizing: border-box;
+ background: #fff;
+ border-radius: 4px;
+
+ .main-card{
+ width: 100%;
+ height: 100%;
+ .cardTop{
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 20px;
+ .mainCardBtn{
+ margin: 0;
+ }
+ }
+ .pageBtn{
+ height: 60px;
+ display: flex;
+ align-items: center;
+ justify-content: right;
+
+ .demo-pagination-block + .demo-pagination-block {
+ margin-top: 10px;
+ }
+ .demo-pagination-block .demonstration {
+ margin-bottom: 16px;
+ }
+ }
+ }
+ &:last-of-type{
+ height: calc(100% - 100px);
+ }
+ }
+ .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;
+ }
+ }
+ }
+ }
+</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/components/blindPanelForm.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/components/blindPanelForm.vue
new file mode 100644
index 0000000..bf26c37
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManage/workTicket/components/blindPanelForm.vue
@@ -0,0 +1,354 @@
+<template>
+ <div class="comp-container">
+ <el-form :model="bpForm" label-width="180px" :rules="bpFormRules" ref="bpRef">
+ <div class="homeCard">
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="申请部门" prop="bpDepartment">
+ <el-select v-model="bpForm.bpDepartment" placeholder="请选择部门">
+ <el-option label="机修班" value="机修班" />
+ <el-option label="火工班" value="火工班" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="申请人" prop="bpApplyName">
+ <el-input
+ v-model="bpForm.bpApplyName"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="设备管道名称" prop="bpTubeName">
+ <el-input
+ v-model="bpForm.bpTubeName"
+ placeholder="请输入"
+ class="input-with-select"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="主要介质" prop="bpMainMatter">
+ <el-input
+ v-model="bpForm.bpMainMatter"
+ placeholder="请输入"
+ class="input-with-select"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="温度" prop="bpTemperature">
+ <el-input
+ v-model="bpForm.bpTemperature"
+ placeholder="请输入"
+ class="input-with-select"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="压力" prop="bpPressure">
+ <el-input
+ v-model="bpForm.bpPressure"
+ placeholder="请输入"
+ class="input-with-select"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="盲板材质" prop="bpMaterial">
+ <el-input
+ v-model="bpForm.bpMaterial"
+ placeholder="请输入"
+ class="input-with-select"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="盲板规格" prop="bpFormat">
+ <el-input
+ v-model="bpForm.bpFormat"
+ placeholder="请输入"
+ class="input-with-select"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="盲板编号" prop="bpNum">
+ <el-input
+ v-model="bpForm.bpNum"
+ placeholder="请输入"
+ class="input-with-select"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="盲板位置" prop="bpLocation">
+ <el-input
+ v-model="bpForm.bpLocation"
+ placeholder="请输入"
+ class="input-with-select"
+ type="textarea"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="盲板位置图">
+ <el-upload
+ v-model:file-list="bpForm.picList"
+ class="upload-demo"
+ action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
+ multiple
+ :on-preview="handlePreview"
+ :on-remove="handleRemove"
+ :before-remove="beforeRemove"
+ :limit="3"
+ :on-exceed="handleExceed"
+ >
+ <el-button type="primary">上传附件</el-button>
+ <template #tip>
+ <div class="el-upload__tip">
+ jpg/png 文件大小须在500k以内.
+ </div>
+ </template>
+ </el-upload>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="装盲板负责人" prop="bpPrincipals">
+ <el-select v-model="bpForm.bpPrincipals" placeholder="请选择" multiple>
+ <el-option label="负责人一" value="负责人一" />
+ <el-option label="负责人二" value="负责人二" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="装盲板时间" prop="bpInstallTime">
+ <el-date-picker
+ v-model="bpForm.bpInstallTime"
+ type="datetime"
+ placeholder="请选择"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="拆盲板负责人" prop="bpDePrincipals">
+ <el-select v-model="bpForm.bpDePrincipals" placeholder="请选择" multiple>
+ <el-option label="负责人一" value="负责人一" />
+ <el-option label="负责人二" value="负责人二" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="拆盲板时间" prop="bpUninstallTime">
+ <el-date-picker
+ v-model="bpForm.bpUninstallTime"
+ type="datetime"
+ placeholder="请选择"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ </el-form>
+ </div>
+</template>
+
+<script lang="ts">
+ import { toRefs, reactive, defineComponent, ref } from 'vue';
+ import { storeToRefs } from 'pinia';
+ import { initBackEndControlRoutes } from '/@/router/backEnd';
+ import {useUserInfo} from "/@/stores/userInfo";
+ import { Session } from '/@/utils/storage';
+ import { Search } from '@element-plus/icons-vue'
+ import { ElMessage, ElMessageBox } from 'element-plus'
+ import type { FormInstance, FormRules, UploadProps, UploadUserFile } from 'element-plus'
+ let global: any = {
+ homeChartOne: null,
+ homeChartTwo: null,
+ homeCharThree: null,
+ dispose: [null, '', undefined],
+ };
+
+ interface stateType {
+ homeOne: Array <type>
+ }
+ interface type {
+
+ }
+ export default defineComponent({
+ name: 'blindPanelForm',
+ props: {
+ bpForm: Object,
+ },
+ setup(props) {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const bpForm1 = reactive(props.bpForm)
+ // const bpForm = reactive({
+ // bpDepartment: '',
+ // bpApplyName: '',
+ // bpTubeName: '',
+ // bpMainMatter: '',
+ // bpTemperature: '',
+ // bpPressure: '',
+ // bpMaterial: '',
+ // bpFormat: '',
+ // bpNum: '',
+ // bpLocation: '',
+ // fileList: [],
+ // bpPrincipals: [],
+ // bpInstallTime: '',
+ // bpDePrincipals: [],
+ // bpUninstallTime: ''
+ // })
+ const bpRef = ref<FormInstance>()
+ const bpFormRules = reactive<FormRules>({
+ bpDepartment:[{required: true,message: '此处不可为空'}],
+ bpApplyName:[{required: true,message: '此处不可为空'}],
+ bpTubeName: [{required: true,message: '此处不可为空'}],
+ bpMainMatter: [{required: true,message: '此处不可为空'}],
+ bpTemperature: [{required: true,message: '此处不可为空'}],
+ bpPressure: [{required: true,message: '此处不可为空'}],
+ bpMaterial: [{required: true,message: '此处不可为空'}],
+ bpFormat: [{required: true,message: '此处不可为空'}],
+ bpNum: [{required: true,message: '此处不可为空'}],
+ bpLocation: [{required: true,message: '此处不可为空'}],
+ bpPrincipals: [{type: 'array',required: true,message: '此处不可为空',trigger:'blur'}],
+ bpInstallTime: [{required: true,message: '此处不可为空'}],
+ bpDePrincipals: [{type: 'array',required: true,message: '此处不可为空',trigger:'blur'}],
+ bpUninstallTime: [{required: true,message: '此处不可为空'}]
+ })
+ const fileList = ref<UploadUserFile[]>([
+ {
+ name: 'element-plus-logo.svg',
+ url: 'https://element-plus.org/images/element-plus-logo.svg',
+ }
+ ])
+
+ const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {
+ console.log(file, uploadFiles)
+ }
+
+ const handlePreview: UploadProps['onPreview'] = (uploadFile) => {
+ console.log(uploadFile)
+ }
+
+ const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
+ ElMessage.warning(
+ // `The limit is 3, you selected ${files.length} files this time, add up to ${
+ // files.length + uploadFiles.length
+ // } totally`
+ '文件总数超出限制'
+ )
+ }
+
+ const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
+ return ElMessageBox.confirm(
+ `取消上传 ${uploadFile.name} ?`
+ ).then(
+ () => true,
+ () => false
+ )
+ }
+
+ const validateForm = async () => {
+ let flag = null
+ await bpRef.value.validate(valid=>{
+ if(valid){
+ flag = true
+ }else{
+ flag = false
+ }
+ })
+ return flag
+ }
+ // 折线图
+ const renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ bpForm1,
+ bpFormRules,
+ bpRef,
+ fileList,
+ Search,
+ validateForm,
+ handleRemove,
+ handlePreview,
+ handleExceed,
+ beforeRemove,
+ ...toRefs(state),
+ };
+ },
+ });
+</script>
+
+<style scoped lang="scss">
+ .home-container {
+ height: 100%;
+ overflow: hidden;
+ .homeCard{
+ width: 100%;
+ padding: 20px;
+ background: #fff;
+ border-radius: 4px;
+ margin-bottom: 20px;
+ }
+ .el-row{
+ margin-bottom: 20px;
+ }
+ .el-row:last-child {
+ margin-bottom: 0;
+ }
+ .el-input{
+ width: 100% !important;
+ }
+ .el-date-editor::v-deep{
+ width: 100%;
+ }
+ .el-select{
+ width: 100%;
+ }
+ .el-cascader{
+ width: 100% !important;
+ }
+ .submitBtn{
+ display: flex;
+ justify-content: center;
+ }
+ }
+</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/components/cutLineForm.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/components/cutLineForm.vue
new file mode 100644
index 0000000..4a0a5be
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManage/workTicket/components/cutLineForm.vue
@@ -0,0 +1,220 @@
+<template>
+ <div class="comp-container">
+ <el-form :model="clForm" label-width="180px" :rules="clFormRules" ref="clRef">
+ <div class="homeCard">
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="申请部门" prop="clDepartment">
+ <el-select v-model="clForm.clDepartment" placeholder="请选择部门">
+ <el-option label="机修班" value="机修班" />
+ <el-option label="火工班" value="火工班" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="申请人" prop="clApplyName">
+ <el-input
+ v-model="clForm.clApplyName"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="断路原因" prop="clReason">
+ <el-input
+ v-model="clForm.clReason"
+ placeholder="请输入"
+ class="input-with-select"
+ type="textarea"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="涉及相关单位(部门)" prop="clUnits">
+ <el-select v-model="clForm.clUnits" placeholder="请选择" multiple>
+ <el-option label="单位一" value="单位一" />
+ <el-option label="单位二" value="单位二" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="断路地段示意图" prop="fileList">
+ <el-upload
+ v-model:file-list="fileList"
+ class="upload-demo"
+ action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
+ multiple
+ :on-preview="handlePreview"
+ :on-remove="handleRemove"
+ :before-remove="beforeRemove"
+ :limit="3"
+ :on-exceed="handleExceed"
+ >
+ <el-button type="primary">上传附件</el-button>
+ <template #tip>
+ <div class="el-upload__tip">
+ jpg/png 文件大小须在500k以内.
+ </div>
+ </template>
+ </el-upload>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ </el-form>
+ </div>
+</template>
+
+<script lang="ts">
+ import { toRefs, reactive, defineComponent, ref } from 'vue';
+ import { storeToRefs } from 'pinia';
+ import { initBackEndControlRoutes } from '/@/router/backEnd';
+ import {useUserInfo} from "/@/stores/userInfo";
+ import { Session } from '/@/utils/storage';
+ import { Search } from '@element-plus/icons-vue'
+ import { ElMessage, ElMessageBox } from 'element-plus'
+ import type { FormInstance, FormRules, UploadProps, UploadUserFile } from 'element-plus'
+ let global: any = {
+ homeChartOne: null,
+ homeChartTwo: null,
+ homeCharThree: null,
+ dispose: [null, '', undefined],
+ };
+
+ interface stateType {
+ homeOne: Array <type>
+ }
+ interface type {
+
+ }
+ export default defineComponent({
+ name: 'cutLineForm',
+ props: {
+ clForm: Object
+ },
+ setup(props) {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const clForm1 = reactive(props.clForm)
+ const clRef = ref<FormInstance>()
+ const clFormRules = reactive<FormRules>({
+ clDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
+ clApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
+ clReason: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ clUnits: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ fileList: [{type: 'array',required: true,message: '此处不可为空',trigger: 'change'}]
+ })
+ const fileList = ref<UploadUserFile[]>([
+ {
+ name: 'element-plus-logo.svg',
+ url: 'https://element-plus.org/images/element-plus-logo.svg',
+ }
+ ])
+
+ const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {
+ console.log(file, uploadFiles)
+ }
+
+ const handlePreview: UploadProps['onPreview'] = (uploadFile) => {
+ console.log(uploadFile)
+ }
+
+ const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
+ ElMessage.warning(
+ // `The limit is 3, you selected ${files.length} files this time, add up to ${
+ // files.length + uploadFiles.length
+ // } totally`
+ '文件总数超出限制'
+ )
+ }
+
+ const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
+ return ElMessageBox.confirm(
+ `取消上传 ${uploadFile.name} ?`
+ ).then(
+ () => true,
+ () => false
+ )
+ }
+ const validateForm = async () => {
+ let flag = null
+ await clRef.value.validate(valid=>{
+ if(valid){
+ flag = true
+ }else{
+ flag = false
+ }
+ })
+ return flag
+ }
+ // 折线图
+ const renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ clForm1,
+ Search,
+ clFormRules,
+ clRef,
+ fileList,
+ validateForm,
+ handleRemove,
+ handlePreview,
+ handleExceed,
+ beforeRemove,
+ ...toRefs(state),
+ };
+ },
+ });
+</script>
+
+<style scoped lang="scss">
+ .home-container {
+ height: 100%;
+ overflow: hidden;
+ .homeCard{
+ width: 100%;
+ padding: 20px;
+ background: #fff;
+ border-radius: 4px;
+ margin-bottom: 20px;
+ }
+ .el-row{
+ margin-bottom: 20px;
+ }
+ .el-row:last-child {
+ margin-bottom: 0;
+ }
+ .el-input{
+ width: 100% !important;
+ }
+ .el-date-editor::v-deep{
+ width: 100%;
+ }
+ .el-select{
+ width: 100%;
+ }
+ .el-cascader{
+ width: 100% !important;
+ }
+ .submitBtn{
+ display: flex;
+ justify-content: center;
+ }
+ }
+</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/components/dirtWorkForm.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/components/dirtWorkForm.vue
new file mode 100644
index 0000000..4bb6e52
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManage/workTicket/components/dirtWorkForm.vue
@@ -0,0 +1,221 @@
+<template>
+ <div class="comp-container">
+ <el-form :model="dwForm" label-width="180px" :rules="dwFormRules" ref="dwRef">
+ <div class="homeCard">
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="申请部门" prop="dwDepartment">
+ <el-select v-model="dwForm.dwDepartment" placeholder="请选择部门">
+ <el-option label="机修班" value="机修班" />
+ <el-option label="火工班" value="火工班" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="申请人" prop="dwApplyName">
+ <el-input
+ v-model="dwForm.dwApplyName"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="动土范围" prop="dwRange">
+ <el-input
+ v-model="dwForm.dwRange"
+ placeholder="请输入"
+ class="input-with-select"
+ type="textarea"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="动土方式" prop="dwWay">
+ <el-input
+ v-model="dwForm.dwWay"
+ placeholder="请输入"
+ class="input-with-select"
+ type="textarea"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="动土简图" prop="fileList">
+ <el-upload
+ v-model:file-list="fileList"
+ class="upload-demo"
+ action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
+ multiple
+ :on-preview="handlePreview"
+ :on-remove="handleRemove"
+ :before-remove="beforeRemove"
+ :limit="3"
+ :on-exceed="handleExceed"
+ >
+ <el-button type="primary">上传附件</el-button>
+ <template #tip>
+ <div class="el-upload__tip">
+ jpg/png 文件大小须在500k以内.
+ </div>
+ </template>
+ </el-upload>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ </el-form>
+ </div>
+</template>
+
+<script lang="ts">
+ import { toRefs, reactive, defineComponent, ref } from 'vue';
+ import { storeToRefs } from 'pinia';
+ import { initBackEndControlRoutes } from '/@/router/backEnd';
+ import {useUserInfo} from "/@/stores/userInfo";
+ import { Session } from '/@/utils/storage';
+ import { Search } from '@element-plus/icons-vue'
+ import { ElMessage, ElMessageBox } from 'element-plus'
+ import type { FormInstance, FormRules, UploadProps, UploadUserFile } from 'element-plus'
+ let global: any = {
+ homeChartOne: null,
+ homeChartTwo: null,
+ homeCharThree: null,
+ dispose: [null, '', undefined],
+ };
+
+ interface stateType {
+ homeOne: Array <type>
+ }
+ interface type {
+
+ }
+ export default defineComponent({
+ name: 'dirtWorkForm',
+ props:{
+ dwForm: Object
+ },
+ setup(props) {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const dwForm1 = reactive(props.dwForm)
+ const dwRef = ref<FormInstance>()
+ const dwFormRules = reactive<FormRules>({
+ dwDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
+ dwApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
+ dwRange: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ dwWay: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ fileList: [{type: 'array',required: true,message: '此处不可为空',trigger: 'change'}]
+ })
+ const fileList = ref<UploadUserFile[]>([
+ {
+ name: 'element-plus-logo.svg',
+ url: 'https://element-plus.org/images/element-plus-logo.svg',
+ }
+ ])
+
+ const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {
+ console.log(file, uploadFiles)
+ }
+
+ const handlePreview: UploadProps['onPreview'] = (uploadFile) => {
+ console.log(uploadFile)
+ }
+
+ const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
+ ElMessage.warning(
+ // `The limit is 3, you selected ${files.length} files this time, add up to ${
+ // files.length + uploadFiles.length
+ // } totally`
+ '文件总数超出限制'
+ )
+ }
+
+ const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
+ return ElMessageBox.confirm(
+ `取消上传 ${uploadFile.name} ?`
+ ).then(
+ () => true,
+ () => false
+ )
+ }
+ const validateForm = async () => {
+ let flag = null
+ await dwRef.value.validate(valid=>{
+ if(valid){
+ flag = true
+ }else{
+ flag = false
+ }
+ })
+ return flag
+ }
+ // 折线图
+ const renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ dwForm1,
+ dwFormRules,
+ dwRef,
+ fileList,
+ validateForm,
+ handleRemove,
+ handlePreview,
+ handleExceed,
+ beforeRemove,
+ ...toRefs(state),
+ };
+ },
+ });
+</script>
+
+<style scoped lang="scss">
+ .home-container {
+ height: 100%;
+ overflow: hidden;
+ .homeCard{
+ width: 100%;
+ padding: 20px;
+ background: #fff;
+ border-radius: 4px;
+ margin-bottom: 20px;
+ }
+ .el-row{
+ margin-bottom: 20px;
+ }
+ .el-row:last-child {
+ margin-bottom: 0;
+ }
+ .el-input{
+ width: 100% !important;
+ }
+ .el-date-editor::v-deep{
+ width: 100%;
+ }
+ .el-select{
+ width: 100%;
+ }
+ .el-cascader{
+ width: 100% !important;
+ }
+ .submitBtn{
+ display: flex;
+ justify-content: center;
+ }
+ }
+</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/components/fireWorkForm.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/components/fireWorkForm.vue
new file mode 100644
index 0000000..084f86c
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManage/workTicket/components/fireWorkForm.vue
@@ -0,0 +1,164 @@
+<template>
+ <div class="comp-container">
+ <el-form :model="fwForm" label-width="150px" :rules="fwRules" ref="fwRef">
+ <div class="homeCard">
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="申请部门" prop="fwDepartment">
+ <el-select v-model="fwForm.fwDepartment" placeholder="请选择部门">
+ <el-option label="机修班" value="机修班" />
+ <el-option label="火工班" value="火工班" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="申请人" prop="fwApplyName">
+ <el-input
+ v-model="fwForm.fwApplyName"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="作业等级" prop="fwLevel">
+ <el-select v-model="fwForm.fwLevel" placeholder="请选择">
+ <el-option label="一" value="一" />
+ <el-option label="二" value="二" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="危害辨识" prop="fwRiskIdentify">
+ <el-select v-model="fwForm.fwRiskIdentify" placeholder="请选择">
+ <el-option label="辨识一" value="辨识一" />
+ <el-option label="辨识二" value="辨识二" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="动火方式" prop="fwWorkWay">
+ <el-select v-model="fwForm.fwWorkWay" placeholder="请选择">
+ <el-option label="方式一" value="方式一" />
+ <el-option label="方式二" value="方式二" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ </el-form>
+ </div>
+</template>
+
+<script lang="ts">
+ import { toRefs, reactive, defineComponent, ref } from 'vue';
+ import { storeToRefs } from 'pinia';
+ import { initBackEndControlRoutes } from '/@/router/backEnd';
+ import {useUserInfo} from "/@/stores/userInfo";
+ import { Session } from '/@/utils/storage';
+ import { Search } from '@element-plus/icons-vue'
+ import type { FormInstance, FormRules } from 'element-plus'
+ let global: any = {
+ homeChartOne: null,
+ homeChartTwo: null,
+ homeCharThree: null,
+ dispose: [null, '', undefined],
+ };
+
+ interface stateType {
+ homeOne: Array <type>
+ }
+ interface type {
+
+ }
+ export default defineComponent({
+ name: 'fireWorkForm',
+ props: {
+ fwForm: Object
+ },
+ setup(props) {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const fwForm1 = reactive(props.fwForm)
+ const fwRef = ref<FormInstance>()
+ const fwRules = reactive<FormRules>({
+ fwDepartment:[{required: true,message: '此处不可为空'}],
+ fwApplyName:[{required: true,message: '此处不可为空'}],
+ fwLevel: [{required: true,message: '此处不可为空'}],
+ fwRiskIdentify: [{required: true,message: '此处不可为空'}],
+ fwWorkWay: [{required: true,message: '此处不可为空'}]
+ })
+ const validateForm = async () => {
+ let flag = null
+ await fwRef.value.validate(valid=>{
+ if(valid){
+ flag = true
+ }else{
+ flag = false
+ }
+ })
+ return flag
+ }
+ // 折线图
+ const renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ Search,
+ fwForm1,
+ fwRules,
+ fwRef,
+ validateForm,
+ ...toRefs(state),
+ };
+ },
+ });
+</script>
+
+<style scoped lang="scss">
+ .comp-container {
+ height: 100%;
+ overflow: hidden;
+ .homeCard{
+ width: 100%;
+ padding: 20px;
+ background: #fff;
+ border-radius: 4px;
+ margin-bottom: 20px;
+ }
+ .el-row{
+ margin-bottom: 20px;
+ }
+ .el-row:last-child {
+ margin-bottom: 0;
+ }
+ .el-input{
+ width: 100% !important;
+ }
+ .el-date-editor::v-deep{
+ width: 100%;
+ }
+ .el-select{
+ width: 100%;
+ }
+ .el-cascader{
+ width: 100% !important;
+ }
+ .submitBtn{
+ display: flex;
+ justify-content: center;
+ }
+ }
+</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/components/hangLoadForm.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/components/hangLoadForm.vue
new file mode 100644
index 0000000..6b36361
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManage/workTicket/components/hangLoadForm.vue
@@ -0,0 +1,169 @@
+<template>
+ <div class="comp-container">
+ <el-form :model="hlForm" label-width="180px" :rules="hlFormRules" ref="hlRef">
+ <div class="homeCard">
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="申请部门" prop="hlDepartment">
+ <el-select v-model="hlForm.hlDepartment" placeholder="请选择部门">
+ <el-option label="机修班" value="机修班" />
+ <el-option label="火工班" value="火工班" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="申请人" prop="hlApplyName">
+ <el-input
+ v-model="hlForm.hlApplyName"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="作业等级" prop="hlLevel">
+ <el-select v-model="hlForm.hlLevel" placeholder="请选择等级">
+ <el-option label="等级一" value="等级一" />
+ <el-option label="等级二" value="等级二" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="起吊重物质量" prop="hlWeight">
+ <el-input
+ v-model="hlForm.hlWeight"
+ placeholder="请输入"
+ class="input-with-select"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="吊装工具名称" prop="hlToolsName">
+ <el-input
+ v-model="hlForm.hlToolsName"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ </el-form>
+ </div>
+</template>
+
+<script lang="ts">
+ import { toRefs, reactive, defineComponent, ref } from 'vue';
+ import { storeToRefs } from 'pinia';
+ import { initBackEndControlRoutes } from '/@/router/backEnd';
+ import {useUserInfo} from "/@/stores/userInfo";
+ import { Session } from '/@/utils/storage';
+ import { Search } from '@element-plus/icons-vue'
+ import type { FormInstance, FormRules } from 'element-plus'
+ let global: any = {
+ homeChartOne: null,
+ homeChartTwo: null,
+ homeCharThree: null,
+ dispose: [null, '', undefined],
+ };
+
+ interface stateType {
+ homeOne: Array <type>
+ }
+ interface type {
+
+ }
+ export default defineComponent({
+ name: 'hangLoadForm',
+ props: {
+ hlForm: Object
+ },
+ setup(props) {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const hlForm1 = reactive(props.hlForm)
+ const hlRef = ref<FormInstance>()
+ const hlFormRules = reactive<FormRules>({
+ hlDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
+ hlApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
+ hlLevel: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ hlWeight: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ hlToolsName: [{required: true,message: '此处不可为空',trigger: 'blur'}]
+ })
+ const validateForm = async () => {
+ let flag = null
+ await hlRef.value.validate(valid=>{
+ if(valid){
+ flag = true
+ }else{
+ flag = false
+ }
+ })
+ return flag
+ }
+ // 折线图
+ const renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ hlForm1,
+ hlFormRules,
+ hlRef,
+ validateForm,
+ ...toRefs(state),
+ };
+ },
+ });
+</script>
+
+<style scoped lang="scss">
+ .home-container {
+ height: 100%;
+ overflow: hidden;
+ .homeCard{
+ width: 100%;
+ padding: 20px;
+ background: #fff;
+ border-radius: 4px;
+ margin-bottom: 20px;
+ }
+ .el-row{
+ margin-bottom: 20px;
+ }
+ .el-row:last-child {
+ margin-bottom: 0;
+ }
+ .el-input{
+ width: 100% !important;
+ }
+ .el-date-editor::v-deep{
+ width: 100%;
+ }
+ .el-select{
+ width: 100%;
+ }
+ .el-cascader{
+ width: 100% !important;
+ }
+ .submitBtn{
+ display: flex;
+ justify-content: center;
+ }
+ }
+</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/components/highWorkForm.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/components/highWorkForm.vue
new file mode 100644
index 0000000..1ae364a
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManage/workTicket/components/highWorkForm.vue
@@ -0,0 +1,153 @@
+<template>
+ <div class="comp-container">
+ <el-form :model="hwForm" label-width="150px" :rules="hwRules" ref="hwRef">
+ <div class="homeCard">
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="申请部门" prop="hwDepartment">
+ <el-select v-model="hwForm.hwDepartment" placeholder="请选择部门">
+ <el-option label="机修班" value="机修班" />
+ <el-option label="火工班" value="火工班" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="申请人" prop="hwApplyName">
+ <el-input
+ v-model="hwForm.hwApplyName"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="作业等级" prop="hwLevel">
+ <el-select v-model="hwForm.hwLevel" placeholder="请选择">
+ <el-option label="一" value="一" />
+ <el-option label="二" value="二" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="作业高度" prop="hwHeight">
+ <el-input
+ v-model="hwForm.hwHeight"
+ placeholder="请输入"
+ class="input-with-select"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ </el-form>
+ </div>
+</template>
+
+<script lang="ts">
+ import { toRefs, reactive, defineComponent, ref } from 'vue';
+ import { storeToRefs } from 'pinia';
+ import { initBackEndControlRoutes } from '/@/router/backEnd';
+ import {useUserInfo} from "/@/stores/userInfo";
+ import { Session } from '/@/utils/storage';
+ import { Search } from '@element-plus/icons-vue'
+ import type { FormInstance, FormRules } from 'element-plus'
+ let global: any = {
+ homeChartOne: null,
+ homeChartTwo: null,
+ homeCharThree: null,
+ dispose: [null, '', undefined],
+ };
+
+ interface stateType {
+ homeOne: Array <type>
+ }
+ interface type {
+
+ }
+ export default defineComponent({
+ name: 'highWorkForm',
+ props:{
+ hwForm: Object
+ },
+ setup(props) {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const hwForm1 = reactive(props.hwForm)
+ const hwRef = ref<FormInstance>()
+ const hwRules = reactive<FormRules>({
+ hwDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
+ hwApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
+ hwLevel: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ hwHeight: [{required: true,message: '此处不可为空',trigger: 'blur'}]
+ })
+ const validateForm = async () => {
+ let flag = null
+ await hwRef.value.validate(valid=>{
+ if(valid){
+ flag = true
+ }else{
+ flag = false
+ }
+ })
+ return flag
+ }
+ // 折线图
+ const renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ hwForm1,
+ hwRef,
+ hwRules,
+ validateForm,
+ ...toRefs(state),
+ };
+ },
+ });
+</script>
+
+<style scoped lang="scss">
+ .comp-container {
+ height: 100%;
+ overflow: hidden;
+ .homeCard{
+ width: 100%;
+ padding: 20px;
+ background: #fff;
+ border-radius: 4px;
+ margin-bottom: 20px;
+ }
+ .el-row{
+ margin-bottom: 20px;
+ }
+ .el-row:last-child {
+ margin-bottom: 0;
+ }
+ .el-input{
+ width: 100% !important;
+ }
+ .el-date-editor::v-deep{
+ width: 100%;
+ }
+ .el-select{
+ width: 100%;
+ }
+ .el-cascader{
+ width: 100% !important;
+ }
+ .submitBtn{
+ display: flex;
+ justify-content: center;
+ }
+ }
+</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/components/limitedSpaceForm.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/components/limitedSpaceForm.vue
new file mode 100644
index 0000000..bd92649
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManage/workTicket/components/limitedSpaceForm.vue
@@ -0,0 +1,175 @@
+<template>
+ <div class="comp-container">
+ <el-form :model="lsForm" label-width="180px" :rules="lsFormRules" ref="lsRef">
+ <div class="homeCard">
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="申请部门" prop="lsDepartment">
+ <el-select v-model="lsForm.lsDepartment" placeholder="请选择部门">
+ <el-option label="机修班" value="机修班" />
+ <el-option label="火工班" value="火工班" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="申请人" prop="lsApplyName">
+ <el-input
+ v-model="lsForm.lsApplyName"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="受限空间名称" prop="lsUnitName">
+ <el-input
+ v-model="lsForm.lsUnitName"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="受限空间所属单位" prop="lsUnit">
+ <el-select v-model="lsForm.lsUnit" placeholder="请选择">
+ <el-option label="一" value="一" />
+ <el-option label="二" value="二" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="受限空间内原有介质名称" prop="lsUnitName">
+ <el-input
+ v-model="lsForm.lsUnitMatterName"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ </el-form>
+ </div>
+</template>
+
+<script lang="ts">
+ import { toRefs, reactive, defineComponent, ref } from 'vue';
+ import { storeToRefs } from 'pinia';
+ import { initBackEndControlRoutes } from '/@/router/backEnd';
+ import {useUserInfo} from "/@/stores/userInfo";
+ import { Session } from '/@/utils/storage';
+ import { Search } from '@element-plus/icons-vue'
+ import type { FormInstance, FormRules } from 'element-plus'
+ let global: any = {
+ homeChartOne: null,
+ homeChartTwo: null,
+ homeCharThree: null,
+ dispose: [null, '', undefined],
+ };
+
+ interface stateType {
+ homeOne: Array <type>
+ }
+ interface type {
+
+ }
+ export default defineComponent({
+ name: 'limitedSpaceForm',
+ props: {
+ lsForm: Object
+ },
+ setup(props) {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const lsForm1 = reactive(props.lsForm)
+ const lsRef = ref<FormInstance>()
+ const lsFormRules = reactive<FormRules>({
+ lsDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
+ lsApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
+ lsUnitName: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ lsUnit: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ lsUnitMatterName: [{required: true,message: '此处不可为空',trigger: 'blur'}]
+ })
+ const validateForm = async () => {
+ let flag = null
+ await lsRef.value.validate(valid=>{
+ if(valid){
+ flag = true
+ }else{
+ flag = false
+ }
+ })
+ return flag
+ }
+ // 折线图
+ const renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ lsForm1,
+ lsFormRules,
+ lsRef,
+ validateForm,
+ ...toRefs(state),
+ };
+ },
+ });
+</script>
+
+<style scoped lang="scss">
+ .home-container {
+ height: 100%;
+ overflow: hidden;
+ .homeCard{
+ width: 100%;
+ padding: 20px;
+ background: #fff;
+ border-radius: 4px;
+ margin-bottom: 20px;
+ }
+ .el-row{
+ margin-bottom: 20px;
+ }
+ .el-row:last-child {
+ margin-bottom: 0;
+ }
+ .el-input{
+ width: 100% !important;
+ }
+ .el-date-editor::v-deep{
+ width: 100%;
+ }
+ .el-select{
+ width: 100%;
+ }
+ .el-cascader{
+ width: 100% !important;
+ }
+ .submitBtn{
+ display: flex;
+ justify-content: center;
+ }
+ }
+</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/components/tempElectForm.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/components/tempElectForm.vue
new file mode 100644
index 0000000..cc21d11
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManage/workTicket/components/tempElectForm.vue
@@ -0,0 +1,153 @@
+<template>
+ <div class="comp-container">
+ <el-form :model="teForm" label-width="150px" :rules="teRules" ref="teRef">
+ <div class="homeCard">
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="申请部门" prop="teDepartment">
+ <el-select v-model="teForm.teDepartment" placeholder="请选择部门">
+ <el-option label="机修班" value="机修班" />
+ <el-option label="火工班" value="火工班" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="申请人" prop="teApplyName">
+ <el-input
+ v-model="teForm.teApplyName"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="作业等级" prop="teLevel">
+ <el-select v-model="teForm.teLevel" placeholder="请选择等级">
+ <el-option label="等级一" value="等级一" />
+ <el-option label="等级二" value="等级二" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="作业高度" prop="teHeight">
+ <el-input
+ v-model="teForm.teHeight"
+ placeholder="请输入"
+ class="input-with-select"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ </el-form>
+ </div>
+</template>
+
+<script lang="ts">
+ import { toRefs, reactive, defineComponent, ref } from 'vue';
+ import { storeToRefs } from 'pinia';
+ import { initBackEndControlRoutes } from '/@/router/backEnd';
+ import {useUserInfo} from "/@/stores/userInfo";
+ import { Session } from '/@/utils/storage';
+ import { Search } from '@element-plus/icons-vue'
+ import type { FormInstance, FormRules } from 'element-plus'
+ let global: any = {
+ homeChartOne: null,
+ homeChartTwo: null,
+ homeCharThree: null,
+ dispose: [null, '', undefined],
+ };
+
+ interface stateType {
+ homeOne: Array <type>
+ }
+ interface type {
+
+ }
+ export default defineComponent({
+ name: 'tempElectForm',
+ props: {
+ teForm: Object
+ },
+ setup(props) {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({});
+ const teForm1 = reactive(props.teForm)
+ const teRef = ref<FormInstance>()
+ const teRules = reactive<FormRules>({
+ teDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
+ teApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
+ teLevel: [{required: true,message: '此处不可为空',trigger: 'blur'}],
+ teHeight: [{required: true,message: '此处不可为空',trigger: 'blur'}]
+ })
+ const validateForm = async () => {
+ let flag = null
+ await teRef.value.validate(valid=>{
+ if(valid){
+ flag = true
+ }else{
+ flag = false
+ }
+ })
+ return flag
+ }
+ // 折线图
+ const renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ teForm1,
+ teRef,
+ teRules,
+ validateForm,
+ ...toRefs(state),
+ };
+ },
+ });
+</script>
+
+<style scoped lang="scss">
+ .comp-container {
+ height: 100%;
+ overflow: hidden;
+ .homeCard{
+ width: 100%;
+ padding: 20px;
+ background: #fff;
+ border-radius: 4px;
+ margin-bottom: 20px;
+ }
+ .el-row{
+ margin-bottom: 20px;
+ }
+ .el-row:last-child {
+ margin-bottom: 0;
+ }
+ .el-input{
+ width: 100% !important;
+ }
+ .el-date-editor::v-deep{
+ width: 100%;
+ }
+ .el-select{
+ width: 100%;
+ }
+ .el-cascader{
+ width: 100% !important;
+ }
+ .submitBtn{
+ display: flex;
+ justify-content: center;
+ }
+ }
+</style>
diff --git a/src/views/specialWorkSystem/workApplyManage/workTicket/index.vue b/src/views/specialWorkSystem/workApplyManage/workTicket/index.vue
new file mode 100644
index 0000000..466fa00
--- /dev/null
+++ b/src/views/specialWorkSystem/workApplyManage/workTicket/index.vue
@@ -0,0 +1,671 @@
+<template>
+ <div class="home-container">
+ <div style="height: 100%">
+ <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef2">
+<!-- <blind-panel-form :bpForm="form.addForm" ref="additionalForm"></blind-panel-form>-->
+<!-- <cut-line-form :clForm="form.addForm" ref="additionalForm"></cut-line-form>-->
+<!-- <dirt-work-form :dwForm="form.addForm" ref="additionalForm"></dirt-work-form>-->
+ <fire-work-form :fwForm="form.addForm" ref="additionalForm"></fire-work-form>
+<!-- <hang-load-form :hlForm="form.addForm" ref="additionalForm"></hang-load-form>-->
+<!-- <high-work-form :hwForm="form.addForm" ref="additionalForm"></high-work-form>-->
+<!-- <limited-space-form :lsForm="form.addForm" ref="additionalForm"></limited-space-form>-->
+<!-- <temp-elect-form :teForm="form.addForm" ref="additionalForm"></temp-elect-form>-->
+ <div>
+ <div class="homeCard">
+ <el-row>
+ <el-col :span="3"><el-button type="primary" size="default" @click="dialogAddWorker = true">添加作业人</el-button></el-col>
+ <el-col :span="21">
+ <el-table :data="form.workerList" style="width: 100%">
+ <el-table-column type="index" label="序号" width="100"/>
+ <el-table-column prop="worker" label="作业人"/>
+ <el-table-column prop="role" label="作业人角色" width="180"/>
+ <el-table-column prop="unit" label="所属单位" width="180" />
+ <el-table-column prop="certificate" label="证书名称" width="180" />
+ <el-table-column prop="certificateId" label="证书号" />
+ <el-table-column fixed="right" label="操作" align="center" width="180">
+ <template #default="scope">
+ <el-button link type="danger" size="small" @click="deleteRow(scope.$index)">删除</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="作业地点" prop="workLocation">
+ <el-input
+ v-model="form.workLocation"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="作业期限" prop="workTimeLine">
+ <el-date-picker
+ v-model="form.workTimeLine"
+ type="daterange"
+ unlink-panels
+ range-separator="至"
+ start-placeholder="开始日期"
+ end-placeholder="结束日期"
+ :shortcuts="shortcuts"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="作业内容" prop="workContent">
+ <el-input
+ v-model="form.workContent"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="作业单位" prop="workUnit">
+ <el-input
+ v-model="form.workUnit"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>选择作业单位</template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="作业负责人" prop="responsor">
+ <el-input
+ v-model="form.responsor"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="监护人" prop="monitor">
+ <el-input
+ v-model="form.monitor"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="监护人岗位" prop="monitorStation">
+ <el-input
+ v-model="form.monitorStation"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="生产车间负责人" prop="workhouseLeader">
+ <el-input
+ v-model="form.workhouseLeader"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="申请日期" prop="applyDate">
+ <el-date-picker
+ size="large"
+ v-model="form.applyDate"
+ type="date"
+ placeholder="请选择"
+ style="width: 100%"
+ ></el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ <div class="homeCard">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="涉及的其他特殊作业" prop="otherSpecialWorks">
+ <el-checkbox-group v-model="form.otherSpecialWorks">
+ <el-checkbox label="动火作业" />
+ <el-checkbox label="受限空间" />
+ <el-checkbox label="高处作业" />
+ <el-checkbox label="吊装作业" />
+ <el-checkbox label="临时用电" />
+ <el-checkbox label="设备检修" />
+ <el-checkbox label="盲板抽堵" />
+ <el-checkbox label="断路作业" />
+ <el-checkbox label="动土作业" />
+ </el-checkbox-group>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col>
+ <el-form-item label="防护用品" prop="protections">
+ <el-cascader
+ v-model="form.protections"
+ :options="protectOption"
+ :props="{expandTrigger: 'hover'}"
+ @change="protectionsChange"
+ placeholder="请选择"
+ style="width: 100%"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row style="justify-content: center">
+ <el-button type="primary" size="default" @click="dialogAddFile = true">点击添加安全交底和风险告知书</el-button>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="实施安全教育人" prop="safetyMan">
+ <el-input
+ v-model="form.safetyMan"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search"/>
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="被教育人" prop="educated">
+ <el-input
+ v-model="form.educated"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </div>
+ </div>
+ </el-form>
+ <div class="applyBtn">
+ <el-col :span="24" class="submitBtn">
+ <el-button type="primary" size="large" plain @click="handleApply(ruleFormRef2)">发起申请</el-button>
+ </el-col>
+ </div>
+ <el-dialog v-model="dialogAddWorker" title="添加作业人">
+ <el-form :model="addWorkerForm" label-width="120px" :rules="addWorkerRules" ref='ruleFormRef3'>
+ <el-form-item label="作业人" prop="worker">
+ <el-input
+ v-model="addWorkerForm.worker"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ <el-form-item label="作业人角色" prop="role">
+ <el-input
+ v-model="addWorkerForm.role"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ <el-form-item label="作业人角色" prop="unit">
+ <el-input
+ v-model="addWorkerForm.unit"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ <el-form-item label="证书名称" prop="certificate">
+ <el-input
+ v-model="addWorkerForm.certificate"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ <el-form-item label="证书号" prop="certificateId">
+ <el-input
+ v-model="addWorkerForm.certificateId"
+ placeholder="请输入"
+ class="input-with-select"
+ >
+ <template #append>
+ <el-button :icon="Search" />
+ </template>
+ </el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="onSubmitAddForm(ruleFormRef3)" size="default">确认</el-button>
+ <el-button size="default" @click="cancleAdd">取消</el-button>
+ </el-form-item>
+ </el-form>
+ </el-dialog>
+ <el-dialog v-model="dialogAddFile" title="安全交底和风险告知">
+ <el-form :model="saftyFileForm" label-width="0" ref="ruleFormRef" :rules="saftyFileRules">
+ <el-form-item label="" prop="surrounding">
+ <div>1.作业许可范围及作业环境:</div>
+ <el-input
+ v-model="saftyFileForm.surrounding"
+ :rows="2"
+ type="textarea"
+ placeholder="请输入"
+ />
+ </el-form-item>
+ <el-form-item label="" prop="risk">
+ <div>2.作业风险:</div>
+ <el-input
+ v-model="saftyFileForm.risk"
+ :rows="2"
+ type="textarea"
+ placeholder="请输入"
+ />
+ </el-form-item>
+ <el-form-item label="" prop="protection">
+ <div>3.防范措施(工艺、设备、个体防护等):</div>
+ <el-input
+ v-model="saftyFileForm.protection"
+ :rows="2"
+ type="textarea"
+ placeholder="请输入"
+ />
+ </el-form-item>
+ <el-form-item label="" prop="emergency">
+ <div>4.应急措施:</div>
+ <el-input
+ v-model="saftyFileForm.emergency"
+ :rows="2"
+ type="textarea"
+ placeholder="请输入"
+ />
+ </el-form-item>
+ <el-form-item label="" prop="otherStuff">
+ <div>5.其他注意事项:</div>
+ <el-input
+ v-model="saftyFileForm.otherStuff"
+ :rows="2"
+ type="textarea"
+ placeholder="请输入"
+ />
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="onSubmitAddFile(ruleFormRef)" size="default">确认</el-button>
+ <el-button size="default" @click="cancleAddFile">取消</el-button>
+ </el-form-item>
+ </el-form>
+ </el-dialog>
+ </div>
+ </div>
+</template>
+
+<script lang="ts">
+ import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue';
+ import { storeToRefs } from 'pinia';
+ import { initBackEndControlRoutes } from '/@/router/backEnd';
+ import {useUserInfo} from "/@/stores/userInfo";
+ import { Session } from '/@/utils/storage';
+ import { Search } from '@element-plus/icons-vue'
+ import { ElMessage } from 'element-plus'
+ import type { FormInstance, FormRules } from 'element-plus'
+ let global: any = {
+ homeChartOne: null,
+ homeChartTwo: null,
+ homeCharThree: null,
+ dispose: [null, '', undefined],
+ };
+
+ interface stateType {
+ homeOne: Array <type>
+ }
+ interface type {
+
+ }
+ export default defineComponent({
+ name: 'workApplyForm',
+ components: {
+ fireWorkForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/fireWorkForm.vue')),
+ limitedSpaceForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/limitedSpaceForm.vue')),
+ hangLoadForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/hangLoadForm.vue')),
+ dirtWorkForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/dirtWorkForm.vue')),
+ cutLineForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/cutLineForm.vue')),
+ highWorkForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/highWorkForm.vue')),
+ tempElectForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/tempElectForm.vue')),
+ blindPanelForm: defineAsyncComponent(()=> import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/blindPanelForm.vue'))
+ },
+ setup() {
+ const userInfo = useUserInfo()
+ const { userInfos } = storeToRefs(userInfo);
+ const state = reactive<stateType>({
+ homeOne:[{id:1,name:'安全基础信息系统'},{id:2,name:'双重预防系统'},{id:3,name:'系统2'},{id:4,name:'系统3'},{id:5,name:'系统4'}],
+ });
+ const form = reactive({
+ addForm: {},
+ workerList: [],
+ workLocation: '',
+ workTimeLine: '',
+ workContent: '',
+ workUnit: '',
+ responsor: '',
+ monitor: '',
+ workMonitor: '',
+ monitorStation: '',
+ workhouseLeader: '',
+ applyDate: '',
+ otherSpecialWorks: [],
+ protections: '',
+ saftyFile: {},
+ safetyMan: '',
+ educated: ''
+ })
+ const dialogAddWorker = ref(false)
+ const dialogAddFile = ref(false)
+ const addWorkerForm = ref({
+ worker: '',
+ role: '',
+ unit: '',
+ certificate: '',
+ certificateId: ''
+ })
+ const saftyFileForm = reactive({
+ surrounding: '',
+ risk: '',
+ protection: '',
+ emergency: '',
+ otherStuff: ''
+ })
+ const shortcuts = [
+ {
+ text: 'Last week',
+ value: () => {
+ const end = new Date()
+ const start = new Date()
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
+ return [start, end]
+ },
+ },
+ {
+ text: 'Last month',
+ value: () => {
+ const end = new Date()
+ const start = new Date()
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
+ return [start, end]
+ },
+ },
+ {
+ text: 'Last 3 months',
+ value: () => {
+ const end = new Date()
+ const start = new Date()
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
+ return [start, end]
+ },
+ },
+ ]
+ const protectOption = [
+ {
+ value: 'guide',
+ label: 'Guide',
+ children: [
+ {
+ value: 'disciplines',
+ label: 'Disciplines',
+ children: [
+ {
+ value: 'consistency',
+ label: 'Consistency',
+ },
+ {
+ value: 'feedback',
+ label: 'Feedback',
+ }
+ ],
+ },
+ {
+ value: 'navigation',
+ label: 'Navigation',
+ children: [
+ {
+ value: 'side nav',
+ label: 'Side Navigation',
+ }
+ ],
+ },
+ ],
+ }
+ ]
+ const ruleFormRef = ref<FormInstance>()
+ const ruleFormRef2 = ref<FormInstance>()
+ const ruleFormRef3 = ref<FormInstance>()
+ const applyRules = reactive<FormRules>({
+ extraForm: [{type: 'object', required: true,message: '此处不能为空'}],
+ workLocation: [{required: true,message: '此处不能为空'}],
+ workTimeLine: [{required: true,message: '此处不能为空'}],
+ workContent: [{required: true,message: '此处不能为空'}],
+ workUnit: [{required: true,message: '此处不能为空'}],
+ responsor: [{required: true,message: '此处不能为空'}],
+ monitor: [{required: true,message: '此处不能为空'}],
+ workMonitor: [{required: true,message: '此处不能为空'}],
+ monitorStation: [{required: true,message: '此处不能为空'}],
+ workhouseLeader: [{required: true,message: '此处不能为空'}],
+ applyDate: [{required: true,message: '此处不能为空'}],
+ otherSpecialWorks: [{type: 'array', required: true,message: '此处不能为空'}],
+ protections: [{required: true,message: '此处不能为空'}],
+ safetyMan: [{required: true,message: '此处不能为空'}],
+ educated: [{required: true,message: '此处不能为空'}]
+ })
+ const addWorkerRules = reactive<FormRules>({
+ worker: [{required: true,message: '此处不能为空'}],
+ role: [{required: true,message: '此处不能为空'}],
+ unit: [{required: true,message: '此处不能为空'}],
+ certificate: [{required: true,message: '此处不能为空'}],
+ certificateId: [{required: true,message: '此处不能为空'}]
+ })
+ const saftyFileRules = reactive<FormRules>({
+ surrounding: [{required: true,message: '该选项不能为空'}],
+ risk: [{required: true,message: '该选项不能为空'}],
+ protection: [{required: true,message: '该选项不能为空'} ],
+ emergency: [{required: true,message: '该选项不能为空'} ]
+ })
+ const protectionsChange = (value) => {
+ console.log(value)
+ }
+
+ const onSubmitAddForm = async (formEl: FormInstance | undefined) => {
+ if (!formEl) return
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ form.workerList.unshift(addWorkerForm.value)
+ addWorkerForm.value = {
+ worker: '',
+ role: '',
+ unit: '',
+ certificate: '',
+ certificateId: ''
+ }
+ dialogAddWorker.value = false
+ } else {
+ console.log('error submit!', fields)
+ }
+ })
+ }
+ const onSubmitAddFile = () =>{
+
+ }
+ const cancleAdd = ()=> {
+ addWorkerForm.value = {
+ worker: '',
+ role: '',
+ unit: '',
+ certificate: '',
+ certificateId: ''
+ }
+ dialogAddWorker.value = false
+ }
+ const cancleAddFile = ()=>{
+
+ }
+ const deleteRow = (index) =>{
+ form.workerList.splice( index,1)
+ }
+ const isValid = ref(false)
+ const additionalForm = ref(null)
+ const handleApply = async (formEl: FormInstance | undefined) =>{
+ if (!formEl) return
+ const flag = additionalForm.value.validateForm()
+ await flag.then((res)=>{
+ isValid.value = res
+ })
+ await formEl.validate((valid, fields) => {
+ console.log(valid,'and',isValid.value)
+ if (valid && isValid.value) {
+ console.log('submit',form,fields)
+ ElMessage({
+ message: '提交成功!',
+ type: 'success',
+ })
+ } else {
+ // console.log('error submit!',form,fields)
+ ElMessage({
+ message: '表单未填写完整',
+ type: 'error',
+ })
+ }
+ })
+
+ }
+ // 折线图
+ const renderMenu = async (value: string) => {
+ Session.set('projectId',value)
+ userInfos.value.projectId = value
+ await initBackEndControlRoutes();
+ };
+ return {
+ renderMenu,
+ form,
+ Search,
+ shortcuts,
+ protectOption,
+ dialogAddWorker,
+ dialogAddFile,
+ addWorkerForm,
+ saftyFileForm,
+ ruleFormRef,
+ ruleFormRef2,
+ ruleFormRef3,
+ additionalForm,
+ addWorkerRules,
+ saftyFileRules,
+ applyRules,
+ isValid,
+ handleApply,
+ cancleAddFile,
+ deleteRow,
+ cancleAdd,
+ onSubmitAddForm,
+ onSubmitAddFile,
+ protectionsChange,
+ ...toRefs(state),
+ };
+ },
+ });
+</script>
+
+<style scoped lang="scss">
+ .home-container {
+ height: 100%;
+ overflow: hidden;
+ position: relative;
+ .homeCard{
+ width: 100%;
+ padding: 20px;
+ background: #fff;
+ border-radius: 4px;
+ margin-bottom: 20px;
+
+ &:last-of-type{
+ margin-bottom: 100px;
+ }
+ }
+ .applyBtn{
+ position: absolute;
+ width: 100%;
+ padding: 20px;
+ background: #fff;
+ bottom: 0;
+ left: 0;
+ height: 80px;
+ z-index: 999;
+ margin-bottom: 0;
+ border-radius: 0;
+ box-shadow: 0 -3px 8px rgba(150,150,150,.1);
+ }
+ .el-row{
+ margin-bottom: 20px;
+ }
+ .el-row:last-child {
+ margin-bottom: 0;
+ }
+ .el-input{
+ width: 100% !important;
+ }
+ .el-date-editor::v-deep{
+ width: 100%;
+ }
+ .el-select{
+ width: 100%;
+ }
+ .el-cascader{
+ width: 100% !important;
+ }
+ .submitBtn{
+ display: flex;
+ justify-content: center;
+ }
+ }
+</style>
--
Gitblit v1.9.2