From e04c8dab8e435cabf1360bbcd6936e5ac9e77906 Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: Mon, 08 Aug 2022 16:46:47 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/gtqtOut
---
src/components/equipmentDailog/DailogS.vue | 472 +++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 298 insertions(+), 174 deletions(-)
diff --git a/src/components/equipmentDailog/DailogS.vue b/src/components/equipmentDailog/DailogS.vue
index 6da1e53..ff4fe8f 100644
--- a/src/components/equipmentDailog/DailogS.vue
+++ b/src/components/equipmentDailog/DailogS.vue
@@ -1,6 +1,6 @@
<template>
- <el-dialog :fullscreen="full" v-model="isShowDialog" :title="titles" width="60%">
- <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
+ <el-dialog :fullscreen="full" v-model="dialogVisible" draggable :title="titles" width="60%">
+ <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
<el-form :model="form" label-width="130px" :disabled="disabled">
<el-row>
<el-col :span="11">
@@ -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">
@@ -44,7 +42,7 @@
<el-form-item label="联系人" size="default">
<el-input v-model="form.connectPersonId" 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>
@@ -55,7 +53,7 @@
<el-form-item label="录入人" size="default">
<el-input v-model="form.inputPersonId" 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>
@@ -64,7 +62,7 @@
<el-form-item label="责任人" size="default">
<el-input v-model="form.responsibilityPersonId" 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>
@@ -120,7 +118,7 @@
<el-col :span="24">
<el-form-item label="现场图片">
<el-upload
- v-model="form.scenePic"
+ v-model="form.scenePic"
class="avatar-uploader"
action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
:show-file-list="false"
@@ -141,55 +139,62 @@
</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-table :data="tableData" style="width: 100%">
+ <el-button type="primary" size="default" @click="openMaintenance('新增', '')">新增</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="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>
- <el-button link type="primary" size="small">查看</el-button>
+ <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-table :data="tableData" style="width: 100%">
+ <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>
- <el-button link type="primary" size="small">查看</el-button>
+ <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-table :data="tableData" style="width: 100%">
+ <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>
- <el-button link type="primary" size="small">查看</el-button>
+ <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-table :data="tableData" style="width: 100%">
+ <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="检查内容" />
<el-table-column align="center" prop="checkTarget" label="检查指标" />
@@ -197,20 +202,22 @@
<el-table-column align="center" prop="checkPart" label="巡检部位" />
<el-table-column align="center" prop="rate" label="频次" />
<el-table-column align="center" label="操作">
- <template #default>
- <el-button link type="primary" size="small">查看</el-button>
+ <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>
</el-tab-pane>
<el-tab-pane label="巡检记录" name="five">
- <el-table :data="tableData" style="width: 100%">
+ <el-table :data="name" style="width: 100%">
<el-table-column align="center" type="selection" width="75" />
<el-table-column align="center" sortable prop="name" 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" 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>
@@ -235,24 +242,25 @@
</el-tabs>
<template #footer>
<span class="dialog-footer">
- <el-button @click="resetForm(ruleFormRef)">关闭</el-button>
- <el-button type="primary" v-if="disabled == true ? false : true" @click="submitForm(titles, ruleFormRef)">确定</el-button>
+ <el-button @click="resetForm">关闭</el-button>
+ <el-button type="primary" @click="submitForm">确定</el-button>
</span>
</template>
</el-dialog>
<categoryDailog ref="categoryShow"></categoryDailog>
- <planDailog ref="planShow"></planDailog>
- <DailogSearchUser ref="UserShow"></DailogSearchUser>
- <maintenanceDailog ref="maintenanceShow"></maintenanceDailog>
- <detectDailog ref="detectShow"></detectDailog>
- <repairDailog ref="repairShow"></repairDailog>
- <standardDailog ref="standardShow"></standardDailog>
+ <RegionsDialog ref="planShow" @SearchUser="onUser"></RegionsDialog>
+ <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, reactive } from 'vue';
-import { Search,Plus,FullScreen, FormInstance, } from '@element-plus/icons-vue';
+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';
@@ -260,152 +268,169 @@
import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
import { ElMessage, ElMessageBox } from 'element-plus';
import type { UploadProps, UploadUserFile } from 'element-plus';
-import {releaseDrillPlanApi} from "/@/api/emergencyDrillPlan";
-import {facilityManagementApi} from "/@/api/facilityManagement";
+import { facilityManagementApi } from '/@/api/facilityManagement';
+import {goalManagementApi} from "/@/api/goalManagement";
export default defineComponent({
- components: { categoryDailog, planDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },
- setup() {
- const isShowDialog = ref(false);
- const form = reactive({
- equipmentTypeId: '',
- treatment: '',
- inputPersonId: '',
- departmentId: '',
- delRepaireDetailList: [],
- delTestDetailList: [],
- takecareDetailList: [{
- leadingPersonId:'',
- takecareDate:'',
- leadingPersonDepartmentId:'',
- equipmentId: '',
- takecareMemo: '',
- }],
- checkDetailList:[],
+ components: { categoryDailog, RegionsDialog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },
+ setup(props, { emit }) {
+ const dialogVisible = ref(false);
+ const form = ref({
+ equipmentTypeId: '',
+
+ treatment: '',
+
+ inputPersonId: '',
+
+ departmentId: '',
+
+ delRepaireDetailList: [],
+
+ delTestDetailList: [],
+
+ takecareDetailList: [],
+ checkDetailList: [],
+
responsibilityPersonId: '',
+
delTakecareStardardeDetailList: [],
- connectPersonId:'',
- scenePic:'',
- partType:'',
- toDangerous:'',
- dangerousElement:'',
+
+ connectPersonId: '',
+
+ scenePic: '',
+
+ partType: '',
+
+ toDangerous: '',
+
+ dangerousElement: '',
+
takecareStardardeDetailList: [
- {
- filePath: '',
- }
- ],
- testDetailList:[{
- testMemo:'',
- testPersonDepartmentId:'',
- testPersonId:'',
- testStatus:'',
- testResult:'',
- testDate:'',
- }],
+ {
+ filePath: '',
+ },
+ ],
+ testDetailList: [],
checkCycle: '',
- repaireDetailList:[{
- repairStatus:'',
- repairPersonDepartmentId:'',
- repairMemo:'',
- infoTpe:'',
- repairPersonId:'',
- repairEndDate:'',
- repairStartDate:'',
- exceptionInfo:'',
- }],
- delCheckStandardeDetailList:[],
+ repaireDetailList: [],
+ delCheckStandardeDetailList: [],
+
leadingPersonName: '',
+
name: '',
- delTakecareDetailList:[],
- position:'',
+
+ delTakecareDetailList: [],
+
+ position: '',
+
emergencePlanId: '',
- checkStandardeDetailList: [{
- checkContent:'',
- checkTarget:'',
- unit:'',
- checkPart:'',
- rate:'',
- indexNum:'',
- }],
+
+ checkStandardeDetailList: [],
+ infoTpe: '',
delCheckStandardeDetails: '',
+
delTakecareStardardeDetails: '',
+
delTakecareDetails: '',
+
delRepaireDetails: '',
+
delTestDetails: '',
});
- const Dailogtype = ref(false);
- const openDailog = (type: boolean) => {
- isShowDialog.value = true;
- Dailogtype.value = type;
- };
- const ruleFormRef = ref<FormInstance>()
- const activeName = ref('first');
const titles = ref();
- const disabled = ref();
- // 打开弹窗
- const openDialog = (title: string, id: number, type: boolean) => {
- isShowDialog.value = true;
- titles.value = title;
- disabled.value = type;
- if (title == '查看仪器仪表' || title == '修改仪器仪表') {
- facilityManagementApi()
- .getkeypointEquipmentInfoDetail(id)
- .then((res) => {
- if (res.data.code == 200) {
- form.value = res.data.data;
- }
- });
+ 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}仪表信息`;
+ 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);
+ }
+ });
+ };
+ // 提交
+ 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 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 categoryShow = ref();
- const opencategory = () => {
- categoryShow.value.openDailog();
- };
+ // 应急预案弹窗
const planShow = ref();
const openPlan = () => {
planShow.value.openDailog();
};
+ const onUser = (e:any) => {
+ form.value.emergencePlanId=e.id
+ };
+
const UserShow = ref();
- const openUser = () => {
- UserShow.value.openDailog();
+ const openUser = (type: any) => {
+ UserShow.value.openDailog(type);
};
const maintenanceShow = ref();
- const openMaintenance = () => {
- maintenanceShow.value.openDailog();
+ const openMaintenance = (title: string, data: any) => {
+ index.value = form.value.takecareDetailList.indexOf(data);
+ maintenanceShow.value.openDailog(title, data);
};
const detectShow = ref();
- const openDetect = () => {
- detectShow.value.openDailog();
+ const openDetect = (title: string, data: any) => {
+ index.value = form.value.testDetailList.indexOf(data);
+ detectShow.value.openDailog(title, data);
};
const repairShow = ref();
- const openRepair = () => {
- repairShow.value.openDailog();
+ const openRepair = (title: string, data: any) => {
+ index.value = form.value.repaireDetailList.indexOf(data);
+ repairShow.value.openDailog(title, data);
};
const standardShow = ref();
- const openStandard = () => {
- standardShow.value.openDailog();
+ const openStandard = (title: string, data: any) => {
+ index.value = form.value.checkStandardeDetailList.indexOf(data);
+ standardShow.value.openDailog(title, data);
};
// 上传
const fileList = ref<UploadUserFile[]>([
@@ -437,6 +462,57 @@
() => false
);
};
+ 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('');
@@ -454,26 +530,63 @@
}
return true;
};
- //全屏
+
+ const userId = (val: any, type: number) => {
+ console.log(val, type);
+ if (type == 0) {
+ form.value.connectPersonId = val.uid;
+ } else if (type == 1) {
+ form.value.inputPersonId = val.uid;
+ } else if (type == 2){
+ form.value.responsibilityPersonId = val.uid;
+ }
+ };
+ //部门树
+ 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 = () => {
if (full.value == false) {
full.value = true;
- }else{
- full.value = false;
- }
+ } else {
+ full.value = false;
+ }
};
return {
- isShowDialog,
+ propse,
+ data,
+ submitForm,
+ dialogVisible,
Dailogtype,
form,
openDailog,
Search,
+ main,
+ delect,
+ Repair,
+ Stand,
+ index,
activeName,
- tableData,
categoryShow,
opencategory,
planShow,
+ onUser,
openPlan,
UserShow,
openUser,
@@ -484,29 +597,40 @@
repairShow,
openRepair,
standardShow,
+ userId,
openStandard,
fileList,
handleRemove,
handlePreview,
handleExceed,
+ disabled,
+ titles,
beforeRemove,
imageUrl,
handleAvatarSuccess,
beforeAvatarUpload,
Plus,
- full,
+ full,
toggleFullscreen,
FullScreen,
- ruleFormRef,
- openDialog,
+ resetForm,
+ deleteAId,
+ deleteBId,
+ deleteCId,
+ deleteDId,
+ deleteA,
+ deleteB,
+ deleteC,
+ deleteD,
+ timeDate,
};
},
});
</script>
<style scoped>
- .el-row{
- padding: 0 0 20px 0;
- }
+.el-row {
+ padding: 0 0 20px 0;
+}
.avatar-uploader .avatar {
width: 178px;
height: 178px;
@@ -514,7 +638,7 @@
}
</style>
<style>
- .avatar-uploader .el-upload {
+.avatar-uploader .el-upload {
border: 1px dashed var(--el-border-color);
border-radius: 6px;
cursor: pointer;
--
Gitblit v1.9.2