| | |
| | | <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"> |
| | |
| | | <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" |
| | |
| | | </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="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> |
| | | </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-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="testPersonDepartmentId" 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> |
| | | <el-button link type="primary" @click="openDetect('查看', 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-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="repairStartDate" label="维修开始日期" /> |
| | | <el-table-column align="center" prop="repairEndDate" 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> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="检查标准设置" name="fourth">checkContent |
| | | <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-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="检查指标" /> |
| | |
| | | <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> |
| | | </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-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> |
| | | <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 categoryDailog from './categoryDailog.vue'; |
| | | import planDailog from './planDailog.vue'; |
| | | import maintenanceDailog from './maintenanceDailog.vue'; |
| | |
| | | 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'; |
| | | 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:[], |
| | | responsibilityPersonId: '', |
| | | setup(props, { emit }) { |
| | | const dialogVisible = ref(false); |
| | | const form = ref({ |
| | | equipmentTypeId: '3', |
| | | |
| | | treatment: '发生的', |
| | | |
| | | inputPersonId: 0, |
| | | |
| | | departmentId: 0, |
| | | |
| | | delRepaireDetailList: [], |
| | | |
| | | delTestDetailList: [], |
| | | |
| | | takecareDetailList: [ |
| | | { |
| | | leadingPersonDepartmentId: '', |
| | | |
| | | takecareDate: '', |
| | | |
| | | equipmentId: '', |
| | | |
| | | leadingPersonId: '', |
| | | |
| | | takecareMemo: '', |
| | | }, |
| | | ], |
| | | checkDetailList: [], |
| | | |
| | | responsibilityPersonId: 0, |
| | | |
| | | delTakecareStardardeDetailList: [], |
| | | connectPersonId:'', |
| | | scenePic:'', |
| | | partType:'', |
| | | toDangerous:'', |
| | | dangerousElement:'', |
| | | |
| | | connectPersonId: 0, |
| | | |
| | | scenePic: '', |
| | | |
| | | partType: 0, |
| | | |
| | | toDangerous: '份12', |
| | | |
| | | dangerousElement: '', |
| | | |
| | | takecareStardardeDetailList: [ |
| | | { |
| | | filePath: '', |
| | | } |
| | | ], |
| | | testDetailList:[{ |
| | | testMemo:'', |
| | | testPersonDepartmentId:'', |
| | | testPersonId:'', |
| | | testStatus:'', |
| | | testResult:'', |
| | | testDate:'', |
| | | }], |
| | | { |
| | | filePath: '123', |
| | | }, |
| | | ], |
| | | testDetailList: [ |
| | | { |
| | | testMemo: '', |
| | | |
| | | testPersonDepartmentId: 0, |
| | | |
| | | testStatus: '', |
| | | |
| | | testPersonId: 0, |
| | | |
| | | testResult: 0, |
| | | |
| | | testDate: 1658284314185 , |
| | | }, |
| | | ], |
| | | checkCycle: '', |
| | | repaireDetailList:[{ |
| | | repairStatus:'', |
| | | repairPersonDepartmentId:'', |
| | | repairMemo:'', |
| | | infoTpe:'', |
| | | repairPersonId:'', |
| | | repairEndDate:'', |
| | | repairStartDate:'', |
| | | exceptionInfo:'', |
| | | }], |
| | | delCheckStandardeDetailList:[], |
| | | leadingPersonName: '', |
| | | name: '', |
| | | delTakecareDetailList:[], |
| | | position:'', |
| | | emergencePlanId: '', |
| | | checkStandardeDetailList: [{ |
| | | checkContent:'', |
| | | checkTarget:'', |
| | | unit:'', |
| | | checkPart:'', |
| | | rate:'', |
| | | indexNum:'', |
| | | }], |
| | | delCheckStandardeDetails: '', |
| | | delTakecareStardardeDetails: '', |
| | | delTakecareDetails: '', |
| | | delRepaireDetails: '', |
| | | delTestDetails: '', |
| | | repaireDetailList: [ |
| | | { |
| | | repairStatus: 0, |
| | | repairPersonDepartmentId: 0, |
| | | repairMemo: '', |
| | | infoTpe: 0, |
| | | repairPersonId: 0, |
| | | repairEndDate: 1658284314184, |
| | | repairStartDate: 1658284314184, |
| | | exceptionInfo: '', |
| | | }, |
| | | ], |
| | | delCheckStandardeDetailList: [], |
| | | |
| | | leadingPersonName: '312', |
| | | |
| | | name: '3123', |
| | | |
| | | delTakecareDetailList: [], |
| | | |
| | | position: '312', |
| | | |
| | | emergencePlanId: 0, |
| | | |
| | | checkStandardeDetailList: [ |
| | | { |
| | | indexNum: '1', |
| | | |
| | | checkTarget: '3', |
| | | |
| | | checkPart: '5', |
| | | |
| | | checkContent: '2', |
| | | |
| | | unit: '4', |
| | | |
| | | rate: '6', |
| | | }, |
| | | ], |
| | | delCheckStandardeDetails: '1,2', |
| | | |
| | | delTakecareStardardeDetails: '1,2', |
| | | |
| | | delTakecareDetails: '1,2', |
| | | |
| | | delRepaireDetails: '1,2', |
| | | |
| | | delTestDetails: '1,2', |
| | | }); |
| | | 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; |
| | | Dailogtype.value = type; |
| | | if (num == 0) { |
| | | titles.value = `${title}仪表信息`; |
| | | } else if (num == 1) { |
| | | titles.value = `${title}设备设施`; |
| | | } else if (num == 2) { |
| | | titles.value = `${title}设备设施`; |
| | | } |
| | | |
| | | 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 activeName = ref('first'); |
| | | |
| | | const categoryShow = ref(); |
| | | const opencategory = () => { |
| | | categoryShow.value.openDailog(); |
| | | }; |
| | | |
| | | const tableData = [ |
| | |
| | | address: 'No. 189, Grove St, Los Angeles', |
| | | }, |
| | | ]; |
| | | const categoryShow = ref(); |
| | | const opencategory = () => { |
| | | categoryShow.value.openDailog(); |
| | | }; |
| | | |
| | | const planShow = ref(); |
| | | const openPlan = () => { |
| | | planShow.value.openDailog(); |
| | |
| | | UserShow.value.openDailog(); |
| | | }; |
| | | const maintenanceShow = ref(); |
| | | const openMaintenance = () => { |
| | | maintenanceShow.value.openDailog(); |
| | | const openMaintenance = (title: string, data: any) => { |
| | | maintenanceShow.value.openDailog(title, data); |
| | | }; |
| | | const detectShow = ref(); |
| | | const openDetect = () => { |
| | | detectShow.value.openDailog(); |
| | | const openDetect = (title: string, data: any) => { |
| | | detectShow.value.openDailog(title, data); |
| | | }; |
| | | const repairShow = ref(); |
| | | const openRepair = () => { |
| | | repairShow.value.openDailog(); |
| | | const openRepair = (title: string, data: any) => { |
| | | repairShow.value.openDailog(title, data); |
| | | }; |
| | | const standardShow = ref(); |
| | | const openStandard = () => { |
| | | standardShow.value.openDailog(); |
| | | const openStandard = (title: string, data: any) => { |
| | | standardShow.value.openDailog(title, data); |
| | | }; |
| | | // 上传 |
| | | const fileList = ref<UploadUserFile[]>([ |
| | |
| | | () => 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 imageUrl = ref(''); |
| | | |
| | |
| | | } |
| | | return true; |
| | | }; |
| | | //全屏 |
| | | |
| | | //全屏 |
| | | const full = ref(false); |
| | | const toggleFullscreen = () => { |
| | | if (full.value == false) { |
| | | full.value = true; |
| | | }else{ |
| | | full.value = false; |
| | | } |
| | | } else { |
| | | full.value = false; |
| | | } |
| | | }; |
| | | return { |
| | | isShowDialog, |
| | | submitForm, |
| | | dialogVisible, |
| | | Dailogtype, |
| | | form, |
| | | openDailog, |
| | | Search, |
| | | main, |
| | | delect, |
| | | Repair, |
| | | Stand, |
| | | activeName, |
| | | tableData, |
| | | categoryShow, |
| | |
| | | handleRemove, |
| | | handlePreview, |
| | | handleExceed, |
| | | disabled, |
| | | titles, |
| | | beforeRemove, |
| | | imageUrl, |
| | | handleAvatarSuccess, |
| | | beforeAvatarUpload, |
| | | Plus, |
| | | full, |
| | | full, |
| | | toggleFullscreen, |
| | | FullScreen, |
| | | ruleFormRef, |
| | | openDialog, |
| | | resetForm, |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | | <style scoped> |
| | | .el-row{ |
| | | padding: 0 0 20px 0; |
| | | } |
| | | .el-row { |
| | | padding: 0 0 20px 0; |
| | | } |
| | | .avatar-uploader .avatar { |
| | | width: 178px; |
| | | height: 178px; |
| | |
| | | } |
| | | </style> |
| | | <style> |
| | | .avatar-uploader .el-upload { |
| | | .avatar-uploader .el-upload { |
| | | border: 1px dashed var(--el-border-color); |
| | | border-radius: 6px; |
| | | cursor: pointer; |
| | |
| | | </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" placeholder="请选择" /> |
| | | <el-tree-select v-model="ruleForm.principalDepartmentId" :data="data" class="w100" :props="propse" clearable placeholder="请选择" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | |
| | | reactive, |
| | | ref, |
| | | defineComponent, |
| | | onMounted, |
| | | // toRefs, |
| | | } from 'vue'; |
| | | import { |
| | |
| | | import AddEmergencyPersonnel from "/@/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue"; |
| | | import DailogSearchUser from "/@/components/DailogSearchUser/index.vue" |
| | | import {contingencyApi} from "/@/api/contingency"; |
| | | import {goalManagementApi} from "/@/api/goalManagement"; |
| | | // import {releaseDrillPlanApi} from "/@/api/releaseDrillPlan"; |
| | | |
| | | |
| | |
| | | const ruleForm =ref({ |
| | | teamName: '', // 队伍名称 |
| | | teamLevel: '', // 队伍级别 |
| | | principalUid: 1, // 队伍负责人 |
| | | principalUid: '', // 队伍负责人 |
| | | principalDepartmentId: '', //负责人部门 |
| | | principalPhone: '', // 负责人手机 |
| | | telephoneNumber: '', // 固定电话 |
| | |
| | | // 上传附件 |
| | | const fileList = ref<UploadUserFile[]>([]) |
| | | |
| | | //部门树 |
| | | const department = () => { |
| | | goalManagementApi() |
| | | .getTreedepartment() |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | data.value = res.data.data; |
| | | } else { |
| | | ElMessage.error(res.data.msg); |
| | | } |
| | | }); |
| | | }; |
| | | //定义树形下拉框 |
| | | const principalDepartmentId = ref() |
| | | const data = [ |
| | | { |
| | | value: '1', |
| | | label: '广汇能源综合物流发展有限责任公司', |
| | | children: [ |
| | | { |
| | | value: '11', |
| | | label: '经营班子', |
| | | children: [], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '2', |
| | | label: '生产运行部', |
| | | children: [ |
| | | { |
| | | value: '21', |
| | | label: '灌装一班', |
| | | children: [] |
| | | }, |
| | | { |
| | | value: '22', |
| | | label: '工艺四班', |
| | | children: [], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '3', |
| | | label: '设备部', |
| | | children: [ |
| | | { |
| | | value: '31', |
| | | label: '仪表班', |
| | | children: [], |
| | | }, |
| | | { |
| | | value: '32', |
| | | label: '机修班', |
| | | children: [], |
| | | }, |
| | | ], |
| | | }, |
| | | ] |
| | | const propse = { |
| | | label: 'depName', |
| | | children: 'children', |
| | | value: 'depId', |
| | | }; |
| | | const data=ref() |
| | | onMounted(() => { |
| | | department(); |
| | | }); |
| | | // const data = [ |
| | | // { |
| | | // value: '1', |
| | | // label: '广汇能源综合物流发展有限责任公司', |
| | | // children: [ |
| | | // { |
| | | // value: '11', |
| | | // label: '经营班子', |
| | | // children: [], |
| | | // }, |
| | | // ], |
| | | // }, |
| | | // { |
| | | // value: '2', |
| | | // label: '生产运行部', |
| | | // children: [ |
| | | // { |
| | | // value: '21', |
| | | // label: '灌装一班', |
| | | // children: [] |
| | | // }, |
| | | // { |
| | | // value: '22', |
| | | // label: '工艺四班', |
| | | // children: [], |
| | | // }, |
| | | // ], |
| | | // }, |
| | | // { |
| | | // value: '3', |
| | | // label: '设备部', |
| | | // children: [ |
| | | // { |
| | | // value: '31', |
| | | // label: '仪表班', |
| | | // children: [], |
| | | // }, |
| | | // { |
| | | // value: '32', |
| | | // label: '机修班', |
| | | // children: [], |
| | | // }, |
| | | // ], |
| | | // }, |
| | | // ] |
| | | // 打开用户选择弹窗 |
| | | const userRef = ref(); |
| | | const openUser = () => { |
| | |
| | | ruleForm.value = { |
| | | teamName: '', // 队伍名称 |
| | | teamLevel: '', // 队伍级别 |
| | | principalUid: 1, // 队伍负责人 |
| | | principalUid: '', // 队伍负责人 |
| | | principalDepartmentId: '', //负责人部门 |
| | | principalPhone: '', // 负责人手机 |
| | | telephoneNumber: '', // 固定电话 |
| | |
| | | userRef, |
| | | titles, |
| | | disabled, |
| | | propse, |
| | | emit, |
| | | onSubmit, |
| | | openUser, |
| | |
| | | // listApi, |
| | | onEdit, |
| | | onRowDel, |
| | | department, |
| | | }; |
| | | }, |
| | | }); |
| | |
| | | </el-icon>删除 |
| | | </el-button> |
| | | </div> |
| | | <div class="button_Right"> |
| | | <el-button size="default" @click="upButton"> |
| | | <el-icon> |
| | | <Upload /> |
| | | </el-icon> |
| | | </el-button> |
| | | <el-button size="default"> |
| | | <el-icon> |
| | | <Download /> |
| | | </el-icon> |
| | | </el-button> |
| | | <el-button size="default"> |
| | | <el-icon> |
| | | <Refresh /> |
| | | </el-icon> |
| | | </el-button> |
| | | </div> |
| | | <!-- <div class="button_Right">--> |
| | | <!-- <el-button size="default" @click="upButton">--> |
| | | <!-- <el-icon>--> |
| | | <!-- <Upload />--> |
| | | <!-- </el-icon>--> |
| | | <!-- </el-button>--> |
| | | <!-- <el-button size="default">--> |
| | | <!-- <el-icon>--> |
| | | <!-- <Download />--> |
| | | <!-- </el-icon>--> |
| | | <!-- </el-button>--> |
| | | <!-- <el-button size="default">--> |
| | | <!-- <el-icon>--> |
| | | <!-- <Refresh />--> |
| | | <!-- </el-icon>--> |
| | | <!-- </el-button>--> |
| | | <!-- </div>--> |
| | | </div> |
| | | <el-table |
| | | :data="tableData" |
| | |
| | | import { Plus, |
| | | Edit, |
| | | Delete, |
| | | Upload, |
| | | Download, |
| | | Refresh, |
| | | // Upload, |
| | | // Download, |
| | | // Refresh, |
| | | View, |
| | | EditPen, |
| | | } from '@element-plus/icons-vue' |
| | |
| | | Plus, |
| | | Edit, |
| | | Delete, |
| | | Upload, |
| | | Download, |
| | | Refresh, |
| | | // Upload, |
| | | // Download, |
| | | // Refresh, |
| | | UpData, |
| | | contingencyApi |
| | | }, |
| | |
| | | }; |
| | | |
| | | // 上传 |
| | | const upShow=ref() |
| | | const upButton=()=>{ |
| | | upShow.value.openDialog() |
| | | } |
| | | // const upShow=ref() |
| | | // const upButton=()=>{ |
| | | // upShow.value.openDialog() |
| | | // } |
| | | // 打开新增应急队伍弹窗 |
| | | const addRef = ref(); |
| | | const onOpenAdd = () => { |
| | |
| | | return { |
| | | listQuery, |
| | | onSubmit, |
| | | upButton, |
| | | upShow, |
| | | // upButton, |
| | | // upShow, |
| | | onOpenAdd, //新增 |
| | | addRef, |
| | | pageIndex, |
| | |
| | | <el-form-item label="主办部门" placeholder="请选择" prop="departmentId"> |
| | | <el-tree-select |
| | | v-model="ruleForm.departmentId" |
| | | :data="data" class="w100" |
| | | :data="data" |
| | | check-strictly |
| | | class="w100" |
| | | :props="propse" |
| | | clearable |
| | | placeholder="请选择"/> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-form-item label="制定部门" prop="makingDepartmentId"> |
| | | <el-tree-select |
| | | v-model="ruleForm.makingDepartmentId" |
| | | :data="data" class="w100" |
| | | check-strictly |
| | | :data="data" |
| | | class="w100" |
| | | :props="propse" |
| | | clearable |
| | | placeholder="请选择"/> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | import { |
| | | // reactive, |
| | | ref, |
| | | defineComponent |
| | | defineComponent, |
| | | onMounted, |
| | | } from 'vue'; |
| | | |
| | | import type { |
| | |
| | | import UserCheckbox from "/@/components/userCheckbox/index.vue" |
| | | import RegionsDialog from "/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue" |
| | | import {releaseDrillPlanApi} from "/@/api/emergencyDrillPlan"; |
| | | import {goalManagementApi} from "/@/api/goalManagement"; |
| | | |
| | | export default defineComponent({ |
| | | name: 'openAdd', |
| | |
| | | ], |
| | | }, |
| | | ] |
| | | //部门树 |
| | | const department = () => { |
| | | goalManagementApi() |
| | | .getTreedepartment() |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | data.value = res.data.data; |
| | | } else { |
| | | ElMessage.error(res.data.msg); |
| | | } |
| | | }); |
| | | }; |
| | | //定义树形下拉框 |
| | | const responsibleDepartment = ref() |
| | | const data = [ |
| | | { |
| | | value: '1', |
| | | label: '广汇能源综合物流发展有限责任公司', |
| | | children: [ |
| | | { |
| | | value: '11', |
| | | label: '经营班子', |
| | | children: [], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '12', |
| | | label: '生产运行部', |
| | | children: [ |
| | | { |
| | | value: '21', |
| | | label: '灌装一班', |
| | | children: [] |
| | | }, |
| | | { |
| | | value: '22', |
| | | label: '工艺四班', |
| | | children: [], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '3', |
| | | label: '设备部', |
| | | children: [ |
| | | { |
| | | value: '31', |
| | | label: '仪表班', |
| | | children: [], |
| | | }, |
| | | { |
| | | value: '32', |
| | | label: '机修班', |
| | | children: [], |
| | | }, |
| | | ], |
| | | }, |
| | | ] |
| | | |
| | | const data = ref() |
| | | const propse = { |
| | | label: 'depName', |
| | | children: 'children', |
| | | value: 'depId', |
| | | }; |
| | | onMounted(() => { |
| | | department(); |
| | | }); |
| | | // 表单提交验证必填项 |
| | | const submitForm = async (title: string, formEl: FormInstance | undefined) => { |
| | | if (title == '新建应急演练计划发布') { |
| | |
| | | fileList, |
| | | responsibleDepartment, |
| | | data, |
| | | department, |
| | | propse, |
| | | Search, |
| | | ruleForm, |
| | | value1, |
| | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="负责部门" prop="departmentId"> |
| | | <el-tree-select v-model="ruleForm.departmentId" :data="data" class="w100" placeholder="请选择" /> |
| | | <el-tree-select |
| | | v-model="ruleForm.departmentId" |
| | | check-strictly |
| | | :data="data" |
| | | :props="propse" |
| | | class="w100" |
| | | clearable |
| | | :render-after-expand="false" |
| | | placeholder="请选择" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { reactive, ref, defineComponent } from 'vue'; |
| | | import { reactive, ref, defineComponent,onMounted, } from 'vue'; |
| | | |
| | | import type { FormInstance, FormRules } from 'element-plus'; |
| | | import { ElMessage } from 'element-plus'; |
| | |
| | | import PersonInCharge from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/personInCharge.vue'; |
| | | import RegionsCheckbox from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/regionsCheckbox.vue'; |
| | | import {emergencySuppliesApi} from "/@/api/emergencyResources"; |
| | | import {goalManagementApi} from "/@/api/goalManagement"; |
| | | |
| | | export default defineComponent({ |
| | | name: 'openAdd', |
| | |
| | | }; |
| | | //日期选择器 |
| | | const value1 = ref(''); |
| | | // 可选择树 |
| | | const treeSelect = ref(); |
| | | const tree = [ |
| | | { |
| | | value: '1', |
| | | label: 'Level one 1', |
| | | children: [ |
| | | { |
| | | value: '11', |
| | | label: 'Level two 1-1', |
| | | children: [ |
| | | { |
| | | value: '111', |
| | | label: 'Level three 1-1-1', |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '2', |
| | | label: 'Level one 2', |
| | | children: [ |
| | | { |
| | | value: '21', |
| | | label: 'Level two 2-1', |
| | | children: [ |
| | | { |
| | | value: '211', |
| | | label: 'Level three 2-1-1', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '22', |
| | | label: 'Level two 2-2', |
| | | children: [ |
| | | { |
| | | value: '221', |
| | | label: 'Level three 2-2-1', |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '3', |
| | | label: 'Level one 3', |
| | | children: [ |
| | | { |
| | | value: '31', |
| | | label: 'Level two 3-1', |
| | | children: [ |
| | | { |
| | | value: '311', |
| | | label: 'Level three 3-1-1', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '32', |
| | | label: 'Level two 3-2', |
| | | children: [ |
| | | { |
| | | value: '321', |
| | | label: 'Level three 3-2-1', |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | ]; |
| | | //部门树 |
| | | const department = () => { |
| | | goalManagementApi() |
| | | .getTreedepartment() |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | data.value = res.data.data; |
| | | } else { |
| | | ElMessage.error(res.data.msg); |
| | | } |
| | | }); |
| | | }; |
| | | //定义树形下拉框 |
| | | const responsibleDepartment = ref(); |
| | | const data = [ |
| | | { |
| | | value: '1', |
| | | label: '广汇能源综合物流发展有限责任公司', |
| | | children: [ |
| | | { |
| | | value: 11, |
| | | label: '经营班子', |
| | | children: [], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '2', |
| | | label: '生产运行部', |
| | | children: [ |
| | | { |
| | | value: '21', |
| | | label: '灌装一班', |
| | | children: [], |
| | | }, |
| | | { |
| | | value: '22', |
| | | label: '工艺四班', |
| | | children: [], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '3', |
| | | label: '设备部', |
| | | children: [ |
| | | { |
| | | value: '31', |
| | | label: '仪表班', |
| | | children: [], |
| | | }, |
| | | { |
| | | value: '32', |
| | | label: '机修班', |
| | | children: [], |
| | | }, |
| | | ], |
| | | }, |
| | | ]; |
| | | const data = ref() |
| | | const propse = { |
| | | label: 'depName', |
| | | children: 'children', |
| | | value: 'depId', |
| | | }; |
| | | onMounted(() => { |
| | | department(); |
| | | }); |
| | | // 必填项提示 |
| | | const rules = reactive<FormRules>({ |
| | | name: [ |
| | |
| | | isShowDialog, |
| | | responsibleDepartment, |
| | | data, |
| | | propse, |
| | | department, |
| | | Search, |
| | | ruleForm, |
| | | value1, |
| | | treeSelect, |
| | | tree, |
| | | daiInpt, |
| | | Shows, |
| | | ruleFormRef, |
| | |
| | | </template> |
| | | </el-dialog> |
| | | <EmergencySupplies ref="showRef" @SearchUser="onUser"/> |
| | | <userSelections ref="userRef"/> |
| | | <userSelections ref="userRef" @SearchUser="onUsers"/> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | Search, |
| | | FullScreen |
| | | } from '@element-plus/icons-vue' |
| | | import EmergencySupplies from '/@/components/emergencySupplies/index.vue' |
| | | import UserSelections from "/@/components/userSelections/index.vue" |
| | | import {maintenanceEmergencyMaterialsApi} from "/@/api/maintenanceEmergencyMaterials"; |
| | | import EmergencySupplies from '../../../../../components/emergencySupplies/index.vue' |
| | | import UserSelections from "../../../../../components/userSelections/index.vue" |
| | | import {maintenanceEmergencyMaterialsApi} from "../../../../../api/maintenanceEmergencyMaterials"; |
| | | |
| | | export default defineComponent({ |
| | | name: 'openAdd', |
| | |
| | | const openUser = () => { |
| | | userRef.value.openDialog(); |
| | | }; |
| | | const onUsers = (e:any) => { |
| | | ruleForm.value.userUid=e.id |
| | | }; |
| | | //全屏 |
| | | const full = ref(false); |
| | | const toggleFullscreen = () => { |
| | |
| | | maintainTime, |
| | | daiInpt, |
| | | onUser, |
| | | onUsers, |
| | | showRef, |
| | | ruleFormRef, |
| | | submitForm, |
| | |
| | | <el-dialog |
| | | :title="titles" |
| | | v-model="isShowDialog" |
| | | width="769px" |
| | | width="40%" |
| | | draggable |
| | | :fullscreen="full" |
| | | > |
| | |
| | | <el-form-item label="适用部门" prop="responsibleDepartment"> |
| | | <el-tree-select |
| | | v-model="ruleForm.treeSelect" |
| | | :data="tree" |
| | | :data="data" |
| | | multiple |
| | | :render-after-expand="true" |
| | | :props="propse" |
| | | show-checkbox |
| | | clearable |
| | | /> |
| | | <el-divider /> |
| | | </el-form-item> |
| | |
| | | <el-form-item label="编写部门" prop="authorDeptId"> |
| | | <el-tree-select |
| | | v-model="ruleForm.authorDeptId" |
| | | check-strictly |
| | | :data="data" |
| | | class="w100" |
| | | :props="propse" |
| | | clearable |
| | | :render-after-expand="false" |
| | | placeholder="请选择"/> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <script lang="ts"> |
| | | import { |
| | | ref, |
| | | defineComponent |
| | | defineComponent, |
| | | onMounted, |
| | | } from 'vue'; |
| | | |
| | | import type { |
| | |
| | | import CheckTemplate from '/@/components/checkTemplate/index.vue' |
| | | import RegionsDialog from '/@/components/regionsDialog/index.vue' |
| | | import {emergencyPlanApi} from "/@/api/emergencyPlan"; |
| | | import {goalManagementApi} from "/@/api/goalManagement"; |
| | | |
| | | export default defineComponent({ |
| | | name: 'openAdd', |
| | |
| | | const releaseDate = ref('') |
| | | // 上传附件 |
| | | const fileList = ref<UploadUserFile[]>([]) |
| | | // 可选择树 |
| | | //部门树 |
| | | const department = () => { |
| | | goalManagementApi() |
| | | .getTreedepartment() |
| | | .then((res) => { |
| | | if (res.data.code == 200) { |
| | | data.value = res.data.data; |
| | | } else { |
| | | ElMessage.error(res.data.msg); |
| | | } |
| | | }); |
| | | }; |
| | | const treeSelect = ref() |
| | | const tree = [ |
| | | { |
| | | value: '1', |
| | | label: 'Level one 1', |
| | | children: [ |
| | | { |
| | | value: '11', |
| | | label: 'Level two 1-1', |
| | | children: [ |
| | | { |
| | | value: '111', |
| | | label: 'Level three 1-1-1', |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '2', |
| | | label: 'Level one 2', |
| | | children: [ |
| | | { |
| | | value: '21', |
| | | label: 'Level two 2-1', |
| | | children: [ |
| | | { |
| | | value: '211', |
| | | label: 'Level three 2-1-1', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '22', |
| | | label: 'Level two 2-2', |
| | | children: [ |
| | | { |
| | | value: '221', |
| | | label: 'Level three 2-2-1', |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '3', |
| | | label: 'Level one 3', |
| | | children: [ |
| | | { |
| | | value: '31', |
| | | label: 'Level two 3-1', |
| | | children: [ |
| | | { |
| | | value: '311', |
| | | label: 'Level three 3-1-1', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '32', |
| | | label: 'Level two 3-2', |
| | | children: [ |
| | | { |
| | | value: '321', |
| | | label: 'Level three 3-2-1', |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | ] |
| | | // const trees = ref(); |
| | | const propse = { |
| | | label: 'depName', |
| | | children: 'children', |
| | | value: 'depId', |
| | | }; |
| | | onMounted(() => { |
| | | department(); |
| | | }); |
| | | // const tree = [ |
| | | // { |
| | | // value: '1', |
| | | // label: 'Level one 1', |
| | | // children: [ |
| | | // { |
| | | // value: '11', |
| | | // label: 'Level two 1-1', |
| | | // children: [ |
| | | // { |
| | | // value: '111', |
| | | // label: 'Level three 1-1-1', |
| | | // }, |
| | | // ], |
| | | // }, |
| | | // ], |
| | | // }, |
| | | // { |
| | | // value: '2', |
| | | // label: 'Level one 2', |
| | | // children: [ |
| | | // { |
| | | // value: '21', |
| | | // label: 'Level two 2-1', |
| | | // children: [ |
| | | // { |
| | | // value: '211', |
| | | // label: 'Level three 2-1-1', |
| | | // }, |
| | | // ], |
| | | // }, |
| | | // { |
| | | // value: '22', |
| | | // label: 'Level two 2-2', |
| | | // children: [ |
| | | // { |
| | | // value: '221', |
| | | // label: 'Level three 2-2-1', |
| | | // }, |
| | | // ], |
| | | // }, |
| | | // ], |
| | | // }, |
| | | // { |
| | | // value: '3', |
| | | // label: 'Level one 3', |
| | | // children: [ |
| | | // { |
| | | // value: '31', |
| | | // label: 'Level two 3-1', |
| | | // children: [ |
| | | // { |
| | | // value: '311', |
| | | // label: 'Level three 3-1-1', |
| | | // }, |
| | | // ], |
| | | // }, |
| | | // { |
| | | // value: '32', |
| | | // label: 'Level two 3-2', |
| | | // children: [ |
| | | // { |
| | | // value: '321', |
| | | // label: 'Level three 3-2-1', |
| | | // }, |
| | | // ], |
| | | // }, |
| | | // ], |
| | | // }, |
| | | // ] |
| | | //定义树形下拉框 |
| | | const responsibleDepartment = ref() |
| | | const data = [ |
| | | { |
| | | value: '1', |
| | | label: '广汇能源综合物流发展有限责任公司', |
| | | children: [ |
| | | { |
| | | value: '11', |
| | | label: '经营班子', |
| | | children: [], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '2', |
| | | label: '生产运行部', |
| | | children: [ |
| | | { |
| | | value: '21', |
| | | label: '灌装一班', |
| | | children: [] |
| | | }, |
| | | { |
| | | value: '22', |
| | | label: '工艺四班', |
| | | children: [], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: '3', |
| | | label: '设备部', |
| | | children: [ |
| | | { |
| | | value: '31', |
| | | label: '仪表班', |
| | | children: [], |
| | | }, |
| | | { |
| | | value: '32', |
| | | label: '机修班', |
| | | children: [], |
| | | }, |
| | | ], |
| | | }, |
| | | ] |
| | | const data = ref(); |
| | | |
| | | const submitForm = async (title: string, formEl: FormInstance | undefined) => { |
| | | if (title == '新建应急预案管理') { |
| | |
| | | Search, |
| | | releaseDate, |
| | | treeSelect, |
| | | tree, |
| | | // trees, |
| | | propse, |
| | | department, |
| | | daiInpt, |
| | | Shows, |
| | | submitForm, |
| | |
| | | <el-row> |
| | | <el-col :span="4"> |
| | | <el-form-item size="default"> |
| | | <el-input v-model="ruleForm.searchParams.equipmentTypeId" placeholder="装置/部位名称" /> |
| | | <el-input v-model="ruleForm.searchParams.qName" placeholder="装置/部位名称" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | |
| | | </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="defaultProps" :filter-node-method="filterNode" /> |
| | | <!-- <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> |
| | | </div> |
| | | <div style="padding-left: 10px"> |
| | | <el-table ref="multipleTableRef" :data="tableData" 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> |
| | | <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="name" align="center" label="保养情况" sortable /> |
| | | <el-table-column property="name" align="center" label="保养负责人" sortable /> |
| | | <el-table-column property="name" align="center" label="保养日期" sortable /> |
| | | <el-table-column property="name" align="center" label="保养负责人单位" sortable /> |
| | | <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" 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="name" align="center" label="检查人" sortable /> |
| | | <el-table-column property="name" align="center" label="检查日期" sortable /> |
| | | <el-table-column property="leadingPersonId" 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="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="name" align="center" label="检测人" sortable /> |
| | | <el-table-column property="name" align="center" label="检测日期" sortable /> |
| | | <el-table-column property="name" align="center" label="检测人单位" sortable /> |
| | | <el-table-column property="name" align="center" label="检测内容" sortable /> |
| | | <el-table-column property="name" align="center" label="检测结果" sortable /> |
| | | <el-table-column property="name" align="center" label="检测状态" sortable /> |
| | | <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" 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> |
| | | <el-tab-pane label="设备维修" name="fourth"> |
| | | <el-table ref="multipleTableRef" :data="scope.row.repaireDetailList" style="width: 100%"> |
| | | <el-table-column property="name" align="center" label="设施异常项" sortable /> |
| | | <el-table-column property="departmentId" align="center" label="维修状态" sortable /> |
| | | <el-table-column property="name" align="center" label="维修情况" sortable /> |
| | | <el-table-column property="name" align="center" label="维修负责人" sortable /> |
| | | <el-table-column property="name" align="center" label="维修负责人单位" sortable /> |
| | | <el-table-column property="name" align="center" label="维修开始日期" sortable /> |
| | | <el-table-column property="name" align="center" label="维修结束日期" sortable /> |
| | | <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" label="维修开始日期" sortable /> |
| | | <el-table-column property="repairEndDate" align="center" label="维修结束日期" sortable /> |
| | | </el-table> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="id" align="center" sortable> |
| | | <template #default="scope">{{ scope.row.date }}</template> |
| | | </el-table-column> |
| | | <el-table-column property="equipmentTypeId" align="center" label="类型/类别外键" sortable /> |
| | | <el-table-column property="name" 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 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="openEdit('查看', scope.row.id)">查看</el-button> |
| | | <el-button link type="primary" size="default" :icon="EditPen" @click="openEdit('修改', scope.row.id)">修改</el-button> |
| | | <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> |
| | |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <updata ref="Show"></updata> |
| | | <DailogS ref="ShowD" @myAdd="onMyAdd"></DailogS> |
| | | <!-- <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 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'; |
| | | interface Tree { |
| | | id: number; |
| | | label: string; |
| | | children?: Tree[]; |
| | | } |
| | | export default defineComponent({ |
| | | components:{updata,DailogS}, |
| | | components: { |
| | | // updata, |
| | | DailogS, |
| | | }, |
| | | setup() { |
| | | const ruleForm = reactive({ |
| | | pageSize: 10, |
| | | pageIndex: 1, |
| | | searchParams: { |
| | | equipmentTypeId: '', ////类型/类别外键 |
| | | name: '', ////装置/部位名称 |
| | | departmentId: '',////所属部门 |
| | | position: '', ////具体位置 |
| | | leadingPersonName: '', ////负责人姓名 |
| | | connectPersonId: '',////装置部位分类 |
| | | }, |
| | | pageSize: 10, |
| | | pageIndex: 1, |
| | | searchParams: { |
| | | equipmentTypeId: '', ////类型/类别外键 |
| | | qName: '', ////装置/部位名称 |
| | | // departmentId: '',////所属部门 |
| | | // position: '', ////具体位置 |
| | | // leadingPersonName: '', ////负责人姓名 |
| | | // connectPersonId: '',////装置部位分类 |
| | | infoTpe: 0, ////具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施 3:重点监管装置/设备 |
| | | }, |
| | | }); |
| | | // 重置 |
| | | const resetForm = () => { |
| | | ruleForm.searchParams.equipmentTypeId = ''; |
| | | 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 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 defaultProps = { |
| | | children: 'children', |
| | | label: 'typeName', |
| | | value: 'id', |
| | | // 树形 |
| | | 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.qName = data.typeName; |
| | | |
| | | // 删除 |
| | | const onDelete = (id: number) => { |
| | | ElMessageBox.confirm('确定删除所选项吗?', 'Warning', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }) |
| | | .then(() => { |
| | | facilityManagementApi() |
| | | .getkeypointEquipmentInfoDetele(id) |
| | | .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.toString(); |
| | | 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 data: Tree[] = [ |
| | | { |
| | | id: 1, |
| | | label: 'Level one 1', |
| | | children: [ |
| | | { |
| | | id: 4, |
| | | label: 'Level two 1-1', |
| | | children: [ |
| | | { |
| | | id: 9, |
| | | label: 'Level three 1-1-1', |
| | | }, |
| | | { |
| | | id: 10, |
| | | label: 'Level three 1-1-2', |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | id: 2, |
| | | label: 'Level one 2', |
| | | children: [ |
| | | { |
| | | id: 5, |
| | | label: 'Level two 2-1', |
| | | }, |
| | | { |
| | | id: 6, |
| | | label: 'Level two 2-2', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | id: 3, |
| | | label: 'Level one 3', |
| | | children: [ |
| | | { |
| | | id: 7, |
| | | label: 'Level two 3-1', |
| | | }, |
| | | { |
| | | id: 8, |
| | | label: 'Level two 3-2', |
| | | }, |
| | | ], |
| | | }, |
| | | ]; |
| | | listApi(); |
| | | }; |
| | | const data = ref([]); |
| | | onMounted(() => { |
| | | listApiTree(); |
| | | }); |
| | | // 删除 |
| | | const onDelete = (id: number) => { |
| | | ElMessageBox.confirm('确定删除所选项吗?', 'Warning', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }) |
| | | .then(() => { |
| | | facilityManagementApi() |
| | | .getkeypointEquipmentInfoDetele(id) |
| | | .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.toString(); |
| | | 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 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=()=>{ |
| | | ShowD.value.openDailog('新建仪器仪表',false) |
| | | } |
| | | // 新增后刷新 |
| | | const onMyAdd = (e: boolean) => { |
| | | if (e) { |
| | | listApi(); |
| | | } else { |
| | | listApi(); |
| | | } |
| | | }; |
| | | // 打开修改用户弹窗 |
| | | const openEdit = (val: string, row: object) => { |
| | | if (val == '查看') { |
| | | ShowD.value.openDailog('查看仪器仪表',row,true); |
| | | } else { |
| | | ShowD.value.openDailog('修改仪器仪表',row,false); |
| | | } |
| | | }; |
| | | // 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, |
| | | defaultProps, |
| | | props, |
| | | filterNode, |
| | | data, |
| | | tableData, |
| | | Show, |
| | | openUp, |
| | | // Show, |
| | | // openUp, |
| | | ShowD, |
| | | danger, |
| | | openD, |
| | | openEdit, |
| | | // openEdit, |
| | | Plus, |
| | | EditPen, |
| | | listApiTree, |
| | | Delete, |
| | | View, |
| | | View, |
| | | Download, |
| | | Refresh, |
| | | Upload, |
| | | resetForm, |
| | | listApi, |
| | | onMyAdd, |
| | | handleCurrentChange, |
| | | handleSizeChange, |
| | | onAddorUpdata, |
| | | total, |
| | | currentPage4, |
| | | pageSize4, |
| | | onDelete, |
| | | warning, |
| | | handleSelectionChange, |
| | | onDeleteAll, |
| | | resetForm, |
| | | listApi, |
| | | handleCurrentChange, |
| | | handleSizeChange, |
| | | onAddorUpdata, |
| | | total, |
| | | currentPage4, |
| | | pageSize4, |
| | | onDelete, |
| | | warning, |
| | | handleSelectionChange, |
| | | onDeleteAll, |
| | | handleNodeClick, |
| | | }; |
| | | }, |
| | | }); |