From 4b709c7eeafe8dfb3a3f838cbde57d6d12cc96c1 Mon Sep 17 00:00:00 2001
From: zhaojiale <631455805@qq.com>
Date: Tue, 09 Aug 2022 11:03:45 +0800
Subject: [PATCH] 多选下拉树修改
---
src/components/equipmentDailog/DailogS.vue | 467 ++++++++++++++++++++++++++++++++--------------------------
1 files changed, 256 insertions(+), 211 deletions(-)
diff --git a/src/components/equipmentDailog/DailogS.vue b/src/components/equipmentDailog/DailogS.vue
index 5e33533..749925a 100644
--- a/src/components/equipmentDailog/DailogS.vue
+++ b/src/components/equipmentDailog/DailogS.vue
@@ -21,10 +21,8 @@
<el-row>
<el-col :span="11">
<el-form-item label="所属部门" size="default">
- <el-select v-model="form.departmentId" placeholder="请选择" style="width: 100%">
- <el-option label="Zone one" value="shanghai" />
- <el-option label="Zone two" value="beijing" />
- </el-select>
+ <el-tree-select v-model="form.departmentId" :data="data" check-strictly="true" placeholder="请选择" :props="propse" style="width: 100%">
+ </el-tree-select>
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
@@ -42,9 +40,9 @@
</el-col>
<el-col :span="11" :offset="2">
<el-form-item label="联系人" size="default">
- <el-input v-model="form.connectPersonId" placeholder="请选择">
+ <el-input v-model="form.connectPersonName" placeholder="请选择">
<template #append>
- <el-button :icon="Search" @click="openUser"></el-button>
+ <el-button :icon="Search" @click="openUser(0)"></el-button>
</template>
</el-input>
</el-form-item>
@@ -53,18 +51,18 @@
<el-row>
<el-col :span="11">
<el-form-item label="录入人" size="default">
- <el-input v-model="form.inputPersonId" placeholder="请选择">
+ <el-input v-model="form.inputPersonName" placeholder="请选择">
<template #append>
- <el-button :icon="Search" @click="openUser"></el-button>
+ <el-button :icon="Search" @click="openUser(1)"></el-button>
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
<el-form-item label="责任人" size="default">
- <el-input v-model="form.responsibilityPersonId" placeholder="请选择">
+ <el-input v-model="form.responsibilityPersonName" placeholder="请选择">
<template #append>
- <el-button :icon="Search" @click="openUser"></el-button>
+ <el-button :icon="Search" @click="openUser(2)"></el-button>
</template>
</el-input>
</el-form-item>
@@ -74,8 +72,8 @@
<el-col :span="11">
<el-form-item label="装置部位分类" size="default">
<el-select v-model="form.partType" placeholder="请选择" style="width: 100%">
- <el-option label="Zone one" value="shanghai" />
- <el-option label="Zone two" value="beijing" />
+ <el-option label="关键装置" value="关键装置" />
+ <el-option label="重点部位" value="重点部位" />
</el-select>
</el-form-item>
</el-col>
@@ -145,51 +143,56 @@
<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="takecareDate" label="保养日期" />
+ <el-table-column align="center" prop="takecareDate" :formatter="timeDate" label="保养日期" />
<el-table-column align="center" prop="leadingPersonDepartmentId" 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>
</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-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-table-column align="center" prop="testDate" 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="testMemo" label="检测内容" />
<el-table-column align="center" prop="testResult" label="检测结果" />
<el-table-column align="center" prop="testStatus" label="检测状态" />
<el-table-column align="center" label="操作">
- <template #default>
+ <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>
</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('新增', '')">新增</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="repairMemo" label="维修情况" />
<el-table-column align="center" prop="repairPersonId" label="维修负责人" />
<el-table-column align="center" prop="repairPersonDepartmentId" label="维修负责人单位" />
- <el-table-column align="center" prop="repairStartDate" label="维修开始日期" />
- <el-table-column align="center" prop="repairEndDate" 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>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
- <el-tab-pane label="检查标准设置" name="fourth"
- >checkContent
- <el-button type="primary" size="default" @click="openStandard">新增</el-button>
+ <el-tab-pane label="检查标准设置" name="fourth">
+ <el-button type="primary" size="default" @click="openStandard('新增', '')">新增</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="checkContent" label="检查内容" />
@@ -200,6 +203,8 @@
<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>
</template>
</el-table-column>
</el-table>
@@ -211,7 +216,7 @@
<el-table-column align="center" sortable prop="address" label="任务名称" />
<el-table-column align="center" sortable prop="address" label="点位类型" />
<el-table-column align="center" sortable prop="address" label="检查频次" />
- <el-table-column align="center" sortable prop="address" label="巡检时间" />
+ <el-table-column align="center" sortable prop="address" :formatter="timeDate" label="巡检时间" />
<el-table-column align="center" sortable prop="address" label="巡检人" />
</el-table>
</el-tab-pane>
@@ -242,8 +247,10 @@
</template>
</el-dialog>
<categoryDailog ref="categoryShow"></categoryDailog>
- <planDailog ref="planShow"></planDailog>
- <DailogSearchUser ref="UserShow"></DailogSearchUser>
+ <RegionsDialog ref="planShow" @SearchUser="onUser"></RegionsDialog>
+ <DailogSearchUser ref="UserOneShow" @SearchUser="userId"></DailogSearchUser>
+<!-- <DailogSearchUser ref="UserTwoShow" @SearchUser="userId"></DailogSearchUser>-->
+<!-- <DailogSearchUser ref="UserThreeShow" @SearchUser="userId"></DailogSearchUser>-->
<maintenanceDailog ref="maintenanceShow" @onMain="main"></maintenanceDailog>
<detectDailog ref="detectShow" @onDelect="delect"></detectDailog>
<repairDailog ref="repairShow" @onRepair="Repair"></repairDailog>
@@ -252,8 +259,9 @@
<script lang="ts">
import { defineComponent, ref } from 'vue';
import { Search, Plus, FullScreen } from '@element-plus/icons-vue';
+import { timeDate } from '/@/assets/index.ts';
import categoryDailog from './categoryDailog.vue';
-import planDailog from './planDailog.vue';
+import RegionsDialog from '../../views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue';
import maintenanceDailog from './maintenanceDailog.vue';
import detectDailog from './detectDailog.vue';
import repairDailog from './repairDailog.vue';
@@ -262,222 +270,189 @@
import { ElMessage, ElMessageBox } from 'element-plus';
import type { UploadProps, UploadUserFile } from 'element-plus';
import { facilityManagementApi } from '/@/api/facilityManagement';
+import { goalManagementApi } from '/@/api/goalManagement';
export default defineComponent({
- components: { categoryDailog, planDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },
+ components: { categoryDailog, RegionsDialog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },
setup(props, { emit }) {
const dialogVisible = ref(false);
const form = ref({
- equipmentTypeId: '3',
+ equipmentTypeId: '',
- treatment: '发生的',
+ treatment: '',
- inputPersonId: 0,
-
- departmentId: 0,
+ inputPersonId: '',
+ inputPersonName:'',
+ departmentId: '',
delRepaireDetailList: [],
delTestDetailList: [],
- takecareDetailList: [
+ takecareDetailList: [],
+ checkDetailList: [],
+
+ responsibilityPersonId: '',
+ responsibilityPersonName:'',
+ delTakecareStardardeDetailList: [],
+
+ connectPersonId: '',
+ connectPersonName:'',
+
+ scenePic: '',
+
+ partType: '',
+
+ toDangerous: '',
+
+ dangerousElement: '',
+
+ takecareStardardeDetailList: [
{
- leadingPersonDepartmentId: '',
-
- takecareDate: '',
-
- equipmentId: '',
-
- leadingPersonId: '',
-
- takecareMemo: '',
+ filePath: '',
},
],
- checkDetailList: [],
+ testDetailList: [],
+ checkCycle: '',
+ repaireDetailList: [],
+ delCheckStandardeDetailList: [],
- responsibilityPersonId: 0,
+ leadingPersonName: '',
- delTakecareStardardeDetailList: [],
-
- connectPersonId: 0,
-
- scenePic: '',
-
- partType: 0,
-
- toDangerous: '份12',
-
- dangerousElement: '',
-
- takecareStardardeDetailList: [
- {
- filePath: '123',
- },
- ],
- testDetailList: [
- {
- testMemo: '',
-
- testPersonDepartmentId: 0,
-
- testStatus: '',
-
- testPersonId: 0,
-
- testResult: 0,
-
- testDate: 1658284314185 ,
- },
- ],
- checkCycle: '',
- repaireDetailList: [
- {
- repairStatus: 0,
- repairPersonDepartmentId: 0,
- repairMemo: '',
- infoTpe: 0,
- repairPersonId: 0,
- repairEndDate: 1658284314184,
- repairStartDate: 1658284314184,
- exceptionInfo: '',
- },
- ],
- delCheckStandardeDetailList: [],
-
- leadingPersonName: '312',
-
- name: '3123',
+ name: '',
delTakecareDetailList: [],
- position: '312',
+ position: '',
- emergencePlanId: 0,
+ emergencePlanId: '',
- checkStandardeDetailList: [
- {
- indexNum: '1',
+ checkStandardeDetailList: [],
+ infoTpe: '',
+ delCheckStandardeDetails: '',
- checkTarget: '3',
+ delTakecareStardardeDetails: '',
- checkPart: '5',
+ delTakecareDetails: '',
- checkContent: '2',
+ delRepaireDetails: '',
- unit: '4',
-
- rate: '6',
- },
- ],
- delCheckStandardeDetails: '1,2',
-
- delTakecareStardardeDetails: '1,2',
-
- delTakecareDetails: '1,2',
-
- delRepaireDetails: '1,2',
-
- delTestDetails: '1,2',
+ delTestDetails: '',
});
- const titles = ref();
- const disabled = ref(false);
- const Dailogtype = ref(false);
+ const titles = ref();
+ const disabled = ref(false);
+ const Dailogtype = ref(false);
const openDailog = (title: string, type: boolean, id: number, num: any) => {
dialogVisible.value = true;
+ department();
Dailogtype.value = type;
- if (num == 0) {
- titles.value = `${title}仪表信息`;
- } else if (num == 1) {
- titles.value = `${title}设备设施`;
- } else if (num == 2) {
- titles.value = `${title}设备设施`;
- }
+ if (num == 0) {
+ titles.value = `${title}仪表信息`;
+ form.value.infoTpe = num;
+ } else if (num == 1) {
+ titles.value = `${title}设备设施`;
+ form.value.infoTpe = num;
+ } else if (num == 2) {
+ titles.value = `${title}设备设施`;
+ form.value.infoTpe = num;
+ }
- disabled.value = title == '查看' ? true : false;
- if (title == '查看' || title == '修改')
- facilityManagementApi()
- .getkeypointEquipmentInfoDetail(id)
- .then((res) => {
- if (res.data.code == 200) {
- form.value = res.data.data;
- } else {
- ElMessage.error(res.data.msg);
- }
- });
+ disabled.value = title == '查看' ? true : false;
+ if (title == '查看' || title == '修改')
+ facilityManagementApi()
+ .getkeypointEquipmentInfoDetail(id)
+ .then((res) => {
+ if (res.data.code == 200) {
+ form.value = res.data.data;
+ } else {
+ ElMessage.error(res.data.msg);
+ }
+ });
};
- // 提交
- const submitForm = () => {
- dialogVisible.value = false;
- facilityManagementApi()
- .getkeypointEquipmentInfoAddOrUpdate(form.value)
- .then((res) => {
- if (res.data.code == 200) {
- ElMessage({
- message: res.data.msg,
- type: 'success',
- });
- emit('navAddorUpdata');
- } else {
- ElMessage.error(res.data.msg);
- }
- });
- // form.value = null;
- };
- // 取消
- const resetForm = () => {
- dialogVisible.value = false;
- };
+ // 提交
+ const submitForm = () => {
+ form.value.delTakecareDetails = deleteAId.value.toString();
+ form.value.delTestDetails = deleteBId.value.toString();
+ form.value.delRepaireDetails = deleteCId.value.toString();
+ form.value.delCheckStandardeDetails = deleteDId.value.toString();
+ dialogVisible.value = false;
+ facilityManagementApi()
+ .getkeypointEquipmentInfoAddOrUpdate(form.value)
+ .then((res) => {
+ if (res.data.code == 200) {
+ ElMessage({
+ message: res.data.msg,
+ type: 'success',
+ });
+ emit('navAddorUpdata');
+ } else {
+ ElMessage.error(res.data.msg);
+ }
+ });
+ // form.value = null;
+ };
+ // 取消
+ const resetForm = () => {
+ dialogVisible.value = false;
+ };
const activeName = ref('first');
+ const index = ref<any>();
+ const categoryShow = ref();
+ const opencategory = () => {
+ categoryShow.value.openDailog();
+ };
- const categoryShow = ref();
- const opencategory = () => {
- categoryShow.value.openDailog();
- };
-
- 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 planShow = ref();
const openPlan = () => {
planShow.value.openDailog();
};
- const UserShow = ref();
- const openUser = () => {
- UserShow.value.openDailog();
+ const onUser = (e: any) => {
+ form.value.emergencePlanId = e.id;
+ };
+
+ 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 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;
+ } else if (type == 2) {
+ form.value.responsibilityPersonId = val.id;
+ form.value.responsibilityPersonName = val.username;
+ }
};
const maintenanceShow = ref();
const openMaintenance = (title: string, data: any) => {
+ index.value = form.value.takecareDetailList.indexOf(data);
maintenanceShow.value.openDailog(title, data);
};
const detectShow = ref();
const openDetect = (title: string, data: any) => {
+ index.value = form.value.testDetailList.indexOf(data);
detectShow.value.openDailog(title, data);
};
const repairShow = ref();
const openRepair = (title: string, data: any) => {
+ index.value = form.value.repaireDetailList.indexOf(data);
repairShow.value.openDailog(title, data);
};
const standardShow = ref();
const openStandard = (title: string, data: any) => {
+ index.value = form.value.checkStandardeDetailList.indexOf(data);
standardShow.value.openDailog(title, data);
};
// 上传
@@ -510,19 +485,56 @@
() => false
);
};
- // 回传
- const main = (val: any) => {
- form.value.takecareDetailList.push(val);
- };
- const delect = (val: any) => {
- form.value.testDetailList.push(val);
- };
- const Repair= (val:any)=>{
- form.value.repaireDetailList.push(val);
- }
- const Stand=(val:any)=>{
- form.value.checkStandardeDetailList.push(val);
- }
+ const deleteAId = ref([]);
+ const deleteBId = ref([]);
+ const deleteCId = ref([]);
+ const deleteDId = ref([]);
+ // 删除
+ const deleteA = (tag: any) => {
+ form.value.takecareDetailList.splice(form.value.takecareDetailList.indexOf(tag), 1);
+ deleteAId.value.push(tag.id);
+ };
+ const deleteB = (tag: any) => {
+ form.value.testDetailList.splice(form.value.testDetailList.indexOf(tag), 1);
+ deleteBId.value.push(tag.id);
+ };
+ const deleteC = (tag: any) => {
+ form.value.repaireDetailList.splice(form.value.repaireDetailList.indexOf(tag), 1);
+ deleteCId.value.push(tag.id);
+ };
+ const deleteD = (tag: any) => {
+ form.value.checkStandardeDetailList.splice(form.value.checkStandardeDetailList.indexOf(tag), 1);
+ deleteDId.value.push(tag.id);
+ };
+ // 回传
+ const main = (val: any) => {
+ if (index.value == -1) {
+ form.value.takecareDetailList.push(val);
+ } else {
+ form.value.takecareDetailList[index.value] = val;
+ }
+ };
+ const delect = (val: any) => {
+ if (index.value == -1) {
+ form.value.testDetailList.push(val);
+ } else {
+ form.value.testDetailList[index.value] = val;
+ }
+ };
+ const Repair = (val: any) => {
+ if (index.value == -1) {
+ form.value.repaireDetailList.push(val);
+ } else {
+ form.value.repaireDetailList[index.value] = val;
+ }
+ };
+ const Stand = (val: any) => {
+ if (index.value == -1) {
+ form.value.checkStandardeDetailList.push(val);
+ } else {
+ form.value.checkStandardeDetailList[index.value] = val;
+ }
+ };
//图片提交
const imageUrl = ref('');
@@ -542,6 +554,24 @@
return true;
};
+ //部门树
+ 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',
+ };
+ const data = ref();
//全屏
const full = ref(false);
const toggleFullscreen = () => {
@@ -552,23 +582,28 @@
}
};
return {
+ propse,
+ data,
submitForm,
dialogVisible,
Dailogtype,
form,
openDailog,
Search,
- main,
- delect,
- Repair,
- Stand,
+ main,
+ delect,
+ Repair,
+ Stand,
+ index,
activeName,
- tableData,
categoryShow,
opencategory,
planShow,
+ onUser,
openPlan,
- UserShow,
+ UserOneShow,
+ // UserTwoShow,
+ // UserThreeShow,
openUser,
maintenanceShow,
openMaintenance,
@@ -577,13 +612,14 @@
repairShow,
openRepair,
standardShow,
+ userId,
openStandard,
fileList,
handleRemove,
handlePreview,
handleExceed,
- disabled,
- titles,
+ disabled,
+ titles,
beforeRemove,
imageUrl,
handleAvatarSuccess,
@@ -593,6 +629,15 @@
toggleFullscreen,
FullScreen,
resetForm,
+ deleteAId,
+ deleteBId,
+ deleteCId,
+ deleteDId,
+ deleteA,
+ deleteB,
+ deleteC,
+ deleteD,
+ timeDate,
};
},
});
--
Gitblit v1.9.2