From 9f2882f17b22eddc1c78c4033481c64ac5f395d6 Mon Sep 17 00:00:00 2001 From: shj <1790240199@qq.com> Date: 星期六, 30 七月 2022 17:20:17 +0800 Subject: [PATCH] 对接 --- src/views/facilityManagement/ProductionEquipment/index.vue | 429 ++++++++++------- src/views/facilityManagement/InstrumentationInformation/index.vue | 38 src/components/equipmentDailog/Dailog.vue | 465 +++++++++++++++----- src/views/facilityManagement/safetyEquipment/index.vue | 431 ++++++++++------- 4 files changed, 868 insertions(+), 495 deletions(-) diff --git a/src/components/equipmentDailog/Dailog.vue b/src/components/equipmentDailog/Dailog.vue index 4898767..b80cb5f 100644 --- a/src/components/equipmentDailog/Dailog.vue +++ b/src/components/equipmentDailog/Dailog.vue @@ -1,21 +1,21 @@ <template> - <el-dialog v-model="dialogVisible" :fullscreen="full" draggable title="新建仪器仪表" width="60%"> + <el-dialog v-model="dialogVisible" :fullscreen="full" draggable :title="titles" width="60%"> <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> - <el-form :model="form" label-width="120px" class="formType"> + <el-form :model="form" :disabled="disabled" label-width="120px" class="formType"> <el-form-item label="装置设施名称" size="default"> - <el-input v-model="form.name" placeholder="请填写装置设施名称" /> + <el-input v-model="form.qName" placeholder="请填写装置设施名称" /> </el-form-item> <el-form-item label="装置设施位号" size="default"> - <el-input v-model="form.name" placeholder="请填写装置设施位号" /> + <el-input v-model="form.positionNum" placeholder="请填写装置设施位号" /> </el-form-item> <el-form-item label="装置设施用途" size="default"> - <el-input v-model="form.name" placeholder="请填写装置设施用途" /> + <el-input v-model="form.qUsage" placeholder="请填写装置设施用途" /> </el-form-item> <el-form-item label="装置设施型号" size="default"> - <el-input v-model="form.name" placeholder="请填写装置设施型号" /> + <el-input v-model="form.model" placeholder="请填写装置设施型号" /> </el-form-item> <el-form-item label="类型/类别外键" size="default"> - <el-input v-model="form.name" placeholder="请选择"> + <el-input v-model="form.equipmentTypeId" placeholder="请选择"> <template #append> <el-button :icon="Search" @click="opencategory"></el-button> </template> @@ -29,172 +29,215 @@ </el-input> </el-form-item> <el-form-item label="单位部门" size="default"> - <el-select v-model="form.region" placeholder="请选择" style="width: 100%"> + <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-form-item> <el-form-item label="设置部位" size="default"> - <el-input v-model="form.name" placeholder="请填写设置部位" /> + <el-input v-model="form.setPart" placeholder="请填写设置部位" /> </el-form-item> <el-form-item label="生产日期" size="default"> - <el-date-picker v-model="form.date1" :size="large" type="date" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker + v-model="form.produceTime" + :size="large" + format="YYYY-MM-DD HH:mm:ss" + type="datetime" + placeholder="选择日期时间" + style="width: 100%" + /> </el-form-item> <el-form-item label="使用期限(天)" size="default"> - <el-input v-model="form.name" placeholder="请填写使用期限" /> + <el-input v-model="form.useEndDay" placeholder="请填写使用期限" /> </el-form-item> <el-form-item label="生命周期" size="default"> - <el-select v-model="form.region" placeholder="请选择" style="width: 100%"> + <el-select v-model="form.lifeCycle" placeholder="请选择" style="width: 100%"> <el-option label="Zone one" value="shanghai" /> <el-option label="Zone two" value="beijing" /> </el-select> </el-form-item> <el-form-item label="投用日期" size="default"> - <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker v-model="form.useDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="维修状态" size="default"> - <el-select v-model="form.region" placeholder="请选择" style="width: 100%"> + <el-select v-model="form.repairStatus" placeholder="请选择" style="width: 100%"> <el-option label="Zone one" value="shanghai" /> <el-option label="Zone two" value="beijing" /> </el-select> </el-form-item> <el-form-item label="停用状态" size="default"> - <el-select v-model="form.region" placeholder="请选择" style="width: 100%"> + <el-select v-model="form.stopStatus" placeholder="请选择" style="width: 100%"> <el-option label="Zone one" value="shanghai" /> <el-option label="Zone two" value="beijing" /> </el-select> </el-form-item> <el-form-item label="上次检查日期" size="default"> - <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker + v-model="form.previousCheckDate" + format="YYYY-MM-DD HH:mm:ss" + type="datetime" + placeholder="选择日期时间" + style="width: 100%" + /> </el-form-item> <el-form-item label="上次检测日期" size="default"> - <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker v-model="form.previousTestDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="上次保养日期" size="default"> - <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker + v-model="form.previousTakecareDate" + format="YYYY-MM-DD HH:mm:ss" + type="datetime" + placeholder="选择日期时间" + style="width: 100%" + /> </el-form-item> <el-form-item label="下次检查日期" size="default"> - <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker v-model="form.nextCheckDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="下次检测日期" size="default"> - <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker v-model="form.nextTestDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="下次保养日期" size="default"> - <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker v-model="form.nextTakecareDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="负责人" size="default"> - <el-input v-model="form.name" placeholder="请选择"> + <el-input v-model="form.leadingPersonId" placeholder="请选择"> <template #append> <el-button :icon="Search" @click="openUser"></el-button> </template> </el-input> </el-form-item> <el-form-item label="负责人部门" size="default"> - <el-select v-model="form.region" placeholder="请选择" style="width: 100%"> + <el-select v-model="form.leadingPersonDepartmentId" placeholder="请选择" style="width: 100%"> <el-option label="Zone one" value="shanghai" /> <el-option label="Zone two" value="beijing" /> </el-select> </el-form-item> <el-form-item label="供应商" size="default"> - <el-input v-model="form.name" placeholder="请填写供应商" /> + <el-input v-model="form.supplyName" placeholder="请填写供应商" /> </el-form-item> <el-form-item label="使用说明" size="default"> - <el-input v-model="form.name" placeholder="请填写使用说明" /> + <el-input v-model="form.useMemo" placeholder="请填写使用说明" /> </el-form-item> <el-form-item label="是否检查" size="default"> - <el-select v-model="form.region" placeholder="请选择" style="width: 100%"> + <el-select v-model="form.isNeedCheck" placeholder="请选择" style="width: 100%"> <el-option label="Zone one" value="shanghai" /> <el-option label="Zone two" value="beijing" /> </el-select> </el-form-item> <el-form-item label="检查周期" size="default"> - <el-input v-model="form.name" placeholder="请填写检查周期" /> + <el-input v-model="form.checkCycle" placeholder="请填写检查周期" /> </el-form-item> <el-form-item label="检查提前提醒" size="default"> - <el-input v-model="form.name" placeholder="请填写检查提前提醒" /> + <el-input v-model="form.checkWarn" placeholder="请填写检查提前提醒" /> </el-form-item> <el-form-item label="是否检测" size="default"> - <el-select v-model="form.region" placeholder="请选择" style="width: 100%"> + <el-select v-model="form.isNeedTest" placeholder="请选择" style="width: 100%"> <el-option label="Zone one" value="shanghai" /> <el-option label="Zone two" value="beijing" /> </el-select> </el-form-item> <el-form-item label="检测周期" size="default"> - <el-input v-model="form.name" placeholder="请填写检测周期" /> + <el-input v-model="form.testCycle" placeholder="请填写检测周期" /> </el-form-item> <el-form-item label="检测提前提醒" size="default"> - <el-input v-model="form.name" placeholder="请填写检测提前提醒" /> + <el-input v-model="form.testWarn" placeholder="请填写检测提前提醒" /> </el-form-item> <el-form-item label="是否保养" size="default"> - <el-select v-model="form.region" placeholder="请选择" style="width: 100%"> + <el-select v-model="form.isNeedTakecare" placeholder="请选择" style="width: 100%"> <el-option label="Zone one" value="shanghai" /> <el-option label="Zone two" value="beijing" /> </el-select> </el-form-item> <el-form-item label="检查内容" size="default"> - <el-input v-model="form.name" placeholder="请填写检查内容" /> + <el-input v-model="form.checkContent" placeholder="请填写检查内容" /> </el-form-item> <el-form-item label="负责部门" size="default"> - <el-select v-model="form.region" placeholder="请选择" style="width: 100%"> + <el-select v-model="form.leadingDepartmentId" placeholder="请选择" style="width: 100%"> <el-option label="Zone one" value="shanghai" /> <el-option label="Zone two" value="beijing" /> </el-select> </el-form-item> <el-form-item label="检查指标" size="default"> - <el-input v-model="form.name" placeholder="请填写检查指标" /> + <el-input v-model="form.checkPoint" placeholder="请填写检查指标" /> </el-form-item> <el-form-item label="预警值" size="default"> - <el-input v-model="form.name" placeholder="请填写预警值" /> + <el-input v-model="form.alertNum" placeholder="请填写预警值" /> </el-form-item> <el-form-item label="联锁值" size="default"> - <el-input v-model="form.name" placeholder="请填写联锁值" /> + <el-input v-model="form.lockNum" placeholder="请填写联锁值" /> </el-form-item> <el-form-item label="停用理由" size="default"> - <el-input v-model="form.name" placeholder="请填写停用理由" /> + <el-input v-model="form.stopReason" placeholder="请填写停用理由" /> </el-form-item> <el-form-item label="停用后措施" size="default"> - <el-input v-model="form.name" placeholder="请填写停用后措施" /> + <el-input v-model="form.afterStopStep" placeholder="请填写停用后措施" /> </el-form-item> <el-form-item label="实际停用日期" size="default"> - <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker v-model="form.actualStopDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="停用提交人" size="default"> - <el-input v-model="form.name" placeholder="请选择"> + <el-input v-model="form.stopSubmitPersonId" placeholder="请选择"> <template #append> <el-button :icon="Search" @click="openUser"></el-button> </template> </el-input> </el-form-item> <el-form-item label="停用提交日期" size="default"> - <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker v-model="form.stopSubmitDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="恢复理由" size="default"> - <el-input v-model="form.name" placeholder="请填写恢复理由" /> + <el-input v-model="form.recoveryReason" placeholder="请填写恢复理由" /> </el-form-item> <el-form-item label="恢复填报日期" size="default"> - <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker + v-model="form.recoverySubmitDate" + format="YYYY-MM-DD HH:mm:ss" + type="datetime" + placeholder="选择日期时间" + style="width: 100%" + /> </el-form-item> <el-form-item label="实际恢复日期" size="default"> - <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker + v-model="form.actualRecoveryDate" + format="YYYY-MM-DD HH:mm:ss" + type="datetime" + placeholder="选择日期时间" + style="width: 100%" + /> </el-form-item> <el-form-item label="报废理由" size="default"> - <el-input v-model="form.name" placeholder="请填写报废理由" /> + <el-input v-model="form.destoryReason" placeholder="请填写报废理由" /> </el-form-item> <el-form-item label="报废填报日期" size="default"> - <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker + v-model="form.destorySubmitDate" + format="YYYY-MM-DD HH:mm:ss" + type="datetime" + placeholder="选择日期时间" + style="width: 100%" + /> </el-form-item> <el-form-item label="实际报废日期" size="default"> - <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker + v-model="form.actualDestoryDate" + format="YYYY-MM-DD HH:mm:ss" + type="datetime" + placeholder="选择日期时间" + style="width: 100%" + /> </el-form-item> </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-table-column align="center" prop="date" label="保养情况" /> - <el-table-column align="center" prop="name" label="保养负责人" /> - <el-table-column align="center" prop="address" label="保养日期" /> - <el-table-column align="center" prop="address" label="保养负责人单位" /> + <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" prop="address" label="操作"> <template #default> <el-button link type="primary" size="small">查看</el-button> @@ -204,14 +247,14 @@ </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-column align="center" prop="date" label="检测人" /> - <el-table-column align="center" prop="name" label="检测日期" /> - <el-table-column align="center" prop="address" label="检测人单位" /> - <el-table-column align="center" prop="address" label="检测内容" /> - <el-table-column align="center" prop="address" label="检测结果" /> - <el-table-column align="center" prop="address" label="检测状态" /> - <el-table-column align="center" prop="address" label="操作"> + <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="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> @@ -220,15 +263,15 @@ </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-column align="center" prop="date" label="设施异常项" /> - <el-table-column align="center" prop="name" label="维修状态" /> - <el-table-column align="center" prop="address" label="维修情况" /> - <el-table-column align="center" prop="address" label="维修负责人" /> - <el-table-column align="center" prop="address" label="维修负责人单位" /> - <el-table-column align="center" prop="address" label="维修开始日期" /> - <el-table-column align="center" prop="address" label="维修结束日期" /> - <el-table-column align="center" prop="address" label="操作"> + <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" label="操作"> <template #default> <el-button link type="primary" size="small">查看</el-button> </template> @@ -237,14 +280,14 @@ </el-tab-pane> <el-tab-pane label="检查标准设置" name="fourth"> <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="index" label="序号" width="75" /> - <el-table-column align="center" prop="name" label="检查内容" /> - <el-table-column align="center" prop="address" label="检查指标" /> - <el-table-column align="center" prop="address" label="单位" /> - <el-table-column align="center" prop="address" label="巡检部位" /> - <el-table-column align="center" prop="address" label="频次" /> - <el-table-column align="center" prop="address" label="操作"> + <el-table-column align="center" prop="checkContent" label="检查内容" /> + <el-table-column align="center" prop="checkTarget" label="检查指标" /> + <el-table-column align="center" prop="unit" 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> @@ -252,7 +295,7 @@ </el-table> </el-tab-pane> <el-tab-pane label="巡检记录" size="default" 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="任务名称" /> @@ -283,8 +326,8 @@ </el-tabs> <template #footer> <span class="dialog-footer"> - <el-button @click="dialogVisible = false">关闭</el-button> - <el-button type="primary" @click="dialogVisible = false">确定</el-button> + <el-button @click="resetForm">关闭</el-button> + <el-button type="primary" @click="submitForm">确定</el-button> </span> </template> </el-dialog> @@ -308,48 +351,237 @@ import DailogSearchUser from '/@/components/DailogSearchUser/index.vue'; import { ElMessage, ElMessageBox } from 'element-plus'; import type { UploadProps, UploadUserFile } from 'element-plus'; +import { facilityManagementApi } from '/@/api/facilityManagement'; export default defineComponent({ components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog }, - setup() { + setup(props, { emit }) { const dialogVisible = ref(false); - const form = reactive({ - name: '', - region: '', - date1: '', - date2: '', - delivery: false, - type: [], - resource: '', - desc: '', + const form = ref({ + supplyName: 'name1', + + nextTestDate: 1658279204173, + + qUsage: '23', + + departmentId: 1, + + produceTime: 1658279204173, + + actualStopDate: 1658279204173, + + takecareDetailList: [ + { + leadingPersonDepartmentId: 2, + + takecareDate: 1658279204172, + + leadingPersonId: 4, + + takecareMemo: '', + }, + ], + + infoType: 2, + + leadingDepartmentId: 2, + + useEndDay: '1234', + + previousTakecareDate: 1658279204173, + + previousCheckDate: 1658279204173, + + model: '', + + stopStatus: 0, + + testWarn: '', + + stopSubmitDate: 1658279204173, + + repairStatus: 0, + + takecareStardardeDetailList: [ + { + filePath: '123', + }, + ], + + nextCheckDate: 1658279204173, + + checkCycle: '发多少', + + checkPoint: '发多少', + + leadingPersonId: 0, + + qName: '发顺丰', + + nextTakecareDate: 1658279204173, + + setPart: '改好', + + checkStandardeDetailList: [ + { + checkTarget: '3', + + checkPart: '5', + + checkContent: '2', + + indexNum: '1', + + unit: '4', + + rate: '6', + }, + ], + + actualDestoryDate: 1658279204173, + + isNeedTest: 0, + + alertNum: '321', + + checkContent: '312', + + useMemo: '312', + + previousTestDate: 1658279204173, + + isNeedTakecare: 1, + + destoryReason: '312', + + checkDetailList: [], + + positionNum: '34', + + testCycle: '566', + + recoveryReason: '89', + + isNeedCheck: 0, + + actualRecoveryDate: 1658279204173, + + leadingPersonDepartmentId: 3, + + stopReason: 'fdf', + + destorySubmitDate: 1658279204173, + + testDetailList: [ + { + testMemo: '', + + testPersonDepartmentId: 0, + + testStatus: '', + + testPersonId: 0, + + testResult: 0, + + testDate: 1658279204171, + }, + ], + + checkWarn: '', + + repaireDetailList: [ + { + repairStatus: 0, + + repairPersonDepartmentId: 0, + + repairMemo: '发生的', + + repairPersonId: 0, + + repairEndDate: 1658279204171, + + repairStartDate: 1658279204171, + + exceptionInfo: 'ddd对对对', + }, + ], + + equipmentTypeId: 4, + + useDate: 1658279204173, + + recoverySubmitDate: 1658279204173, + + lockNum: '94', + + stopSubmitPersonId: 2, + + afterStopStep: '32', + + lifeCycle: 1, + + delCheckStandardeDetails: '1,2', + + delTakecareStardardeDetails: '1,2', + + delTakecareDetails: '1,2', + + delRepaireDetails: '1,2', + + delTestDetails: '1,2', }); + const titles = ref(); + const disabled = ref(false); const Dailogtype = ref(false); - const openDailog = (type: boolean) => { + 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() + .getequipmentInfoDetail(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() + .getequipmentInfoAddOrUpdate(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; + // form.value = null; }; const activeName = ref('first'); - 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(); @@ -418,13 +650,16 @@ } }; return { + resetForm, + submitForm, + titles, dialogVisible, + disabled, Dailogtype, form, openDailog, Search, activeName, - tableData, categoryShow, opencategory, regionShow, @@ -466,6 +701,6 @@ flex-wrap: wrap; } .el-form .el-form-item:last-of-type { - margin-bottom: 22px!important; + margin-bottom: 22px !important; } </style> \ No newline at end of file diff --git a/src/views/facilityManagement/InstrumentationInformation/index.vue b/src/views/facilityManagement/InstrumentationInformation/index.vue index 3a8d289..3a43231 100644 --- a/src/views/facilityManagement/InstrumentationInformation/index.vue +++ b/src/views/facilityManagement/InstrumentationInformation/index.vue @@ -27,7 +27,7 @@ <el-col :span="20"> <div class="btns"> <div> - <el-button size="default" type="primary" :icon="Plus" @click="openD">新建</el-button> + <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button> <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button> <el-button size="default" :disabled="danger" type="danger" :icon="Delete" @click="onDeleteAll" plain>删除</el-button> </div> @@ -45,10 +45,10 @@ <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClicks" 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="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="name" align="center" label="保养负责人单位" sortable /> + <el-table-column property="leadingPersonDepartmentId" align="center" label="保养负责人单位" sortable /> </el-table> </el-tab-pane> <el-tab-pane label="设备检查" name="second" @@ -61,23 +61,23 @@ ></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-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 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="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-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> @@ -112,7 +112,7 @@ </el-col> </el-row> <!-- <updata ref="Show"></updata> --> - <Dailog ref="openAdd"></Dailog> + <Dailog ref="openAdd" @navAddorUpdata="onAddorUpdata"></Dailog> </div> </template> <script lang="ts"> @@ -183,7 +183,7 @@ // 弹窗 const openAdd = ref(); const openD = (title: String, id: number) => { - openAdd.value.openDailog(title, id); + openAdd.value.openDailog(title,false,id,0); }; // 删除 const onDelete = (id: number) => { diff --git a/src/views/facilityManagement/ProductionEquipment/index.vue b/src/views/facilityManagement/ProductionEquipment/index.vue index 4cdae93..c932fbc 100644 --- a/src/views/facilityManagement/ProductionEquipment/index.vue +++ b/src/views/facilityManagement/ProductionEquipment/index.vue @@ -4,35 +4,32 @@ <el-row> <el-col :span="4"> <el-form-item size="default"> - <el-input v-model="ruleForm.pass" placeholder="装置设施名称" /> - </el-form-item> - </el-col> - <el-col :span="4"> - <el-form-item size="default"> - <el-input v-model="ruleForm.pass" placeholder="装置设施位号" /> + <el-input v-model="ruleForm.searchParams.qName" placeholder="装置设施名称" /> </el-form-item> </el-col> <el-col :span="4"> <el-form-item> - <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button> - <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button> + <el-button size="default" type="primary" @click="listApi">查询</el-button> + <el-button size="default" @click="resetForm">重置</el-button> </el-form-item> </el-col> </el-row> </el-form> <el-row> <el-col :span="4"> + <el-input v-model="filterText" style="height: 30px" placeholder="请输入关键字" /> <div class="tree"> - <el-input v-model="filterText" style="height: 30px" placeholder="Filter keyword" /> - <el-tree ref="treeRef" class="filter-tree" :data="data" :props="defaultProps" default-expand-all :filter-node-method="filterNode" /> + + <!-- <el-tree ref="treeRef" class="filter-tree" :data="data" :props="props" :filter-node-method="filterNode" /> --> + <el-tree ref="treeRef" :data="data" :props="props" @node-click="handleNodeClick" :filter-node-method="filterNode" /> </div> </el-col> <el-col :span="20"> <div class="btns"> <div> - <el-button size="default" type="primary" :icon="Plus" @click="openD">新建</el-button> - <el-button size="default" type="warning" plain :icon="EditPen">修改</el-button> - <el-button size="default" type="danger" :icon="Delete" plain>删除</el-button> + <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button> + <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button> + <el-button size="default" :disabled="danger" type="danger" :icon="Delete" @click="onDeleteAll" plain>删除</el-button> </div> <div> <!-- <el-button size="default" :icon="Upload" @click="openUp"></el-button> @@ -44,61 +41,59 @@ <el-table ref="multipleTableRef" :data="tableData" style="width: 100%"> <el-table-column type="selection" align="center" width="55" /> <el-table-column type="expand"> - <template #default> - <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick" style="margin: 0 5%"> + <template #default="scope"> + <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClicks" style="margin: 0 5%"> <el-tab-pane label="设备保养" name="first"> - <el-table ref="multipleTableRef" :data="tableData" 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 ref="multipleTableRef" :data="scope.row.takecareDetailList" style="width: 100%"> + <el-table-column property="takecareMemo" align="center" label="保养情况" sortable /> + <el-table-column property="leadingPersonId" align="center" label="保养负责人" sortable /> + <el-table-column property="takecareDate" align="center" 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="tableData" style="width: 100%"> - <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.checkDetailList" style="width: 100%"> + <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="tableData" 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="tableData" 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-column property="name" align="center" label="维修结束日期" sortable /> + <el-table ref="multipleTableRef" :data="scope.row.repaireDetailList" style="width: 100%"> + <el-table-column property="exceptionInfo" align="center" label="设施异常项" sortable /> + <el-table-column property="repairStatus" align="center" label="维修状态" sortable /> + <el-table-column property="repairMemo" align="center" label="维修情况" sortable /> + <el-table-column property="repairPersonId" align="center" label="维修负责人" sortable /> + <el-table-column property="repairPersonDepartmentId" align="center" label="维修负责人单位" sortable /> + <el-table-column property="repairStartDate" align="center" 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="装置设施名称" align="center" sortable> - <template #default="scope">{{ scope.row.date }}</template> - </el-table-column> - <el-table-column property="name" align="center" label="装置设施位号" sortable /> - <el-table-column property="name" align="center" label="装置设施用途" sortable /> - <el-table-column property="address" label="装置设施型号" align="center" sortable show-overflow-tooltip /> - <el-table-column property="address" label="类型/类别外键" align="center" sortable show-overflow-tooltip /> - <el-table-column property="address" label="设施部位" align="center" sortable show-overflow-tooltip /> + <el-table-column property="qName" label="装置设施名称" align="center" sortable /> + <el-table-column property="positionNum" align="center" label="装置设施位号" sortable /> + <el-table-column property="qUsage" align="center" label="装置设施用途" sortable /> + <el-table-column property="model" label="装置设施型号" align="center" sortable show-overflow-tooltip /> + <el-table-column property="equipmentTypeId" label="类型/类别外键" align="center" sortable show-overflow-tooltip /> + <el-table-column property="setPart" label="设施部位" align="center" sortable show-overflow-tooltip /> <el-table-column label="操作" align="center" width="250"> - <template #default> - <el-button link type="primary" size="default" :icon="View">查看</el-button> - <el-button link type="primary" size="default" :icon="EditPen">修改</el-button> - <el-button link type="primary" size="default" :icon="Delete">删除</el-button> + <template #default="scope"> + <el-button link type="primary" size="default" :icon="View" @click="openD('查看', scope.row.id)">查看</el-button> + <el-button link type="primary" size="default" :icon="EditPen" @click="openD('修改', scope.row.id)">修改</el-button> + <el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button> </template> </el-table-column> </el-table> @@ -106,12 +101,9 @@ <el-pagination v-model:currentPage="currentPage4" v-model:page-size="pageSize4" - :page-sizes="[100, 200, 300, 400]" - :small="small" - :disabled="disabled" - :background="background" + :page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" - :total="400" + :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" /> @@ -119,164 +111,241 @@ </div> </el-col> </el-row> - <updata ref="Show"></updata> - <Dailog ref="ShowD"></Dailog> + <!-- <updata ref="Show"></updata> --> + <Dailog ref="openAdd" @navAddorUpdata="onAddorUpdata"></Dailog> </div> </template> <script lang="ts"> -import { defineComponent, ref, reactive, watch } from 'vue'; -import updata from '/@/components/updata/updata.vue' -import Dailog from '/@/components/equipmentDailog/Dailog.vue' -import { ElTree, TabsPaneContext } from 'element-plus'; -import { EditPen, Plus, Delete, Download, Refresh, Upload } from '@element-plus/icons-vue'; +import { defineComponent, ref, reactive, watch, onMounted } from 'vue'; +import updata from '/@/components/updata/updata.vue'; +import Dailog from '/@/components/equipmentDailog/Dailog.vue'; +import { ElTree, TabsPaneContext, ElMessage, ElMessageBox } from 'element-plus'; +import { facilityManagementApi } from '/@/api/facilityManagement'; +import { EditPen, View, Plus, Delete, Download, Refresh, Upload } from '@element-plus/icons-vue'; interface Tree { - id: number; label: string; children?: Tree[]; } export default defineComponent({ - components:{updata,Dailog}, + components: { updata, Dailog }, setup() { + // 搜索条件 const ruleForm = reactive({ - pass: '', - checkPass: '', + pageSize: 10, + pageIndex: 1, + searchParams: { + qName: '', ////名称 + positionNum: '', ////位号 + infoType: 0, ////具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施 + }, }); + // 重置 + const resetForm = () => { + ruleForm.searchParams.qName = ''; + listApi(); + }; + const listApi = () => { + facilityManagementApi() + .getequipmentInfoList(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 openAdd = ref(); + const openD = (title: String, id: number) => { + openAdd.value.openDailog(title,false,id,1); + }; + // 删除 + const onDelete = (id: number) => { + ElMessageBox.confirm('确定删除所选项吗?', 'Warning', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning', + }) + .then(() => { + facilityManagementApi() + .getequipmentInfoDelete(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() + .getequipmentInfoDelete(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 filterText = ref(''); const treeRef = ref<InstanceType<typeof ElTree>>(); - - const defaultProps = { - children: 'children', - label: 'label', + // 树形 + const listApiTree = () => { + facilityManagementApi() + .getequipmentTypeMngTreeData() + .then((res) => { + if (res.data.code == 200) { + 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.label.includes(value); + return data.typeName.includes(value); }; - - 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', - }, - ], - }, - ]; - 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', - }, - { - date: '2016-05-08', - name: 'Tom', - address: 'No. 189, Grove St, Los Angeles', - }, - { - date: '2016-05-06', - name: 'Tom', - address: 'No. 189, Grove St, Los Angeles', - }, - { - date: '2016-05-07', - name: 'Tom', - address: 'No. 189, Grove St, Los Angeles', - }, - ]; - const activeName = ref('first'); - - const handleClick = (tab: TabsPaneContext, event: Event) => { + const handleNodeClick=(data: Tree)=>{ + ruleForm.searchParams.positionNum=data.id + listApi(); + } + const data=ref([]) + onMounted(() => { + listApiTree(); + }); + const handleClicks = (tab: TabsPaneContext, event: Event) => { console.log(tab, event); }; - const Show=ref() - const openUp=()=>{ - Show.value.openDialog() - } - const ShowD=ref() - const openD=()=>{ - ShowD.value.openDailog(true) - } + + const activeName = ref('first'); + // const Show=ref() + // const openUp=()=>{ + // Show.value.openDialog() + // } return { - activeName, - handleClick, + handleNodeClick, ruleForm, + resetForm, + listApi, + onAddorUpdata, + tableData, + currentPage4, + pageSize4, + total, + handleSizeChange, + handleCurrentChange, + onDelete, + warning, + danger, + deletAll, + handleSelectionChange, + onDeleteAll, + listApiTree, + handleClicks, filterText, treeRef, - defaultProps, + props, filterNode, data, - tableData, - Show, - openUp, - ShowD, + openAdd, openD, + activeName, Plus, EditPen, Delete, Download, Refresh, + View, Upload, }; }, diff --git a/src/views/facilityManagement/safetyEquipment/index.vue b/src/views/facilityManagement/safetyEquipment/index.vue index d48ed90..62aa834 100644 --- a/src/views/facilityManagement/safetyEquipment/index.vue +++ b/src/views/facilityManagement/safetyEquipment/index.vue @@ -4,35 +4,32 @@ <el-row> <el-col :span="4"> <el-form-item size="default"> - <el-input v-model="ruleForm.pass" placeholder="装置设施名称" /> - </el-form-item> - </el-col> - <el-col :span="4"> - <el-form-item size="default"> - <el-input v-model="ruleForm.pass" placeholder="装置设施位号" /> + <el-input v-model="ruleForm.searchParams.qName" placeholder="装置设施名称" /> </el-form-item> </el-col> <el-col :span="4"> <el-form-item> - <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button> - <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button> + <el-button size="default" type="primary" @click="listApi">查询</el-button> + <el-button size="default" @click="resetForm">重置</el-button> </el-form-item> </el-col> </el-row> </el-form> <el-row> <el-col :span="4"> + <el-input v-model="filterText" style="height: 30px" placeholder="请输入关键字" /> <div class="tree"> - <el-input v-model="filterText" style="height: 30px" placeholder="Filter keyword" /> - <el-tree ref="treeRef" class="filter-tree" :data="data" :props="defaultProps" default-expand-all :filter-node-method="filterNode" /> + + <!-- <el-tree ref="treeRef" class="filter-tree" :data="data" :props="props" :filter-node-method="filterNode" /> --> + <el-tree ref="treeRef" :data="data" :props="props" @node-click="handleNodeClick" :filter-node-method="filterNode" /> </div> </el-col> <el-col :span="20"> <div class="btns"> <div> - <el-button size="default" type="primary" :icon="Plus" @click="openD">新建</el-button> - <el-button size="default" type="warning" plain :icon="EditPen">修改</el-button> - <el-button size="default" type="danger" :icon="Delete" plain>删除</el-button> + <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button> + <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button> + <el-button size="default" :disabled="danger" type="danger" :icon="Delete" @click="onDeleteAll" plain>删除</el-button> </div> <div> <!-- <el-button size="default" :icon="Upload" @click="openUp"></el-button> @@ -44,61 +41,59 @@ <el-table ref="multipleTableRef" :data="tableData" style="width: 100%"> <el-table-column type="selection" align="center" width="55" /> <el-table-column type="expand"> - <template #default> - <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick" style="margin: 0 5%"> + <template #default="scope"> + <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClicks" style="margin: 0 5%"> <el-tab-pane label="设备保养" name="first"> - <el-table ref="multipleTableRef" :data="tableData" 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 ref="multipleTableRef" :data="scope.row.takecareDetailList" style="width: 100%"> + <el-table-column property="takecareMemo" align="center" label="保养情况" sortable /> + <el-table-column property="leadingPersonId" align="center" label="保养负责人" sortable /> + <el-table-column property="takecareDate" align="center" 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="tableData" style="width: 100%"> - <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.checkDetailList" style="width: 100%"> + <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="tableData" 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="tableData" 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-column property="name" align="center" label="维修结束日期" sortable /> + <el-table ref="multipleTableRef" :data="scope.row.repaireDetailList" style="width: 100%"> + <el-table-column property="exceptionInfo" align="center" label="设施异常项" sortable /> + <el-table-column property="repairStatus" align="center" label="维修状态" sortable /> + <el-table-column property="repairMemo" align="center" label="维修情况" sortable /> + <el-table-column property="repairPersonId" align="center" label="维修负责人" sortable /> + <el-table-column property="repairPersonDepartmentId" align="center" label="维修负责人单位" sortable /> + <el-table-column property="repairStartDate" align="center" 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="装置设施名称" align="center" sortable> - <template #default="scope">{{ scope.row.date }}</template> - </el-table-column> - <el-table-column property="name" align="center" label="装置设施位号" sortable /> - <el-table-column property="name" align="center" label="装置设施用途" sortable /> - <el-table-column property="address" label="装置设施型号" align="center" sortable show-overflow-tooltip /> - <el-table-column property="address" label="类型/类别外键" align="center" sortable show-overflow-tooltip /> - <el-table-column property="address" label="设施部位" align="center" sortable show-overflow-tooltip /> + <el-table-column property="qName" label="装置设施名称" align="center" sortable /> + <el-table-column property="positionNum" align="center" label="装置设施位号" sortable /> + <el-table-column property="qUsage" align="center" label="装置设施用途" sortable /> + <el-table-column property="model" label="装置设施型号" align="center" sortable show-overflow-tooltip /> + <el-table-column property="equipmentTypeId" label="类型/类别外键" align="center" sortable show-overflow-tooltip /> + <el-table-column property="setPart" label="设施部位" align="center" sortable show-overflow-tooltip /> <el-table-column label="操作" align="center" width="250"> - <template #default> - <el-button link type="primary" size="default" :icon="View">查看</el-button> - <el-button link type="primary" size="default" :icon="EditPen">修改</el-button> - <el-button link type="primary" size="default" :icon="Delete">删除</el-button> + <template #default="scope"> + <el-button link type="primary" size="default" :icon="View" @click="openD('查看', scope.row.id)">查看</el-button> + <el-button link type="primary" size="default" :icon="EditPen" @click="openD('修改', scope.row.id)">修改</el-button> + <el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button> </template> </el-table-column> </el-table> @@ -106,12 +101,9 @@ <el-pagination v-model:currentPage="currentPage4" v-model:page-size="pageSize4" - :page-sizes="[100, 200, 300, 400]" - :small="small" - :disabled="disabled" - :background="background" + :page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" - :total="400" + :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" /> @@ -119,164 +111,241 @@ </div> </el-col> </el-row> - <updata ref="Show"></updata> - <Dailog ref="ShowD"></Dailog> + <!-- <updata ref="Show"></updata> --> + <Dailog ref="openAdd" @navAddorUpdata="onAddorUpdata"></Dailog> </div> </template> <script lang="ts"> -import { defineComponent, ref, reactive, watch } from 'vue'; -import updata from '/@/components/updata/updata.vue' -import Dailog from '/@/components/equipmentDailog/Dailog.vue' -import { ElTree, TabsPaneContext } from 'element-plus'; -import { EditPen, Plus, Delete, Download, Refresh, Upload } from '@element-plus/icons-vue'; +import { defineComponent, ref, reactive, watch, onMounted } from 'vue'; +import updata from '/@/components/updata/updata.vue'; +import Dailog from '/@/components/equipmentDailog/Dailog.vue'; +import { ElTree, TabsPaneContext, ElMessage, ElMessageBox } from 'element-plus'; +import { facilityManagementApi } from '/@/api/facilityManagement'; +import { EditPen, View, Plus, Delete, Download, Refresh, Upload } from '@element-plus/icons-vue'; interface Tree { - id: number; label: string; children?: Tree[]; } export default defineComponent({ - components:{updata,Dailog}, + components: { updata, Dailog }, setup() { + // 搜索条件 const ruleForm = reactive({ - pass: '', - checkPass: '', + pageSize: 10, + pageIndex: 1, + searchParams: { + qName: '', ////名称 + positionNum: '', ////位号 + infoType: 0, ////具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施 + }, }); + // 重置 + const resetForm = () => { + ruleForm.searchParams.qName = ''; + listApi(); + }; + const listApi = () => { + facilityManagementApi() + .getequipmentInfoList(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 openAdd = ref(); + const openD = (title: String, id: number) => { + openAdd.value.openDailog(title,false,id,2); + }; + // 删除 + const onDelete = (id: number) => { + ElMessageBox.confirm('确定删除所选项吗?', 'Warning', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning', + }) + .then(() => { + facilityManagementApi() + .getequipmentInfoDelete(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() + .getequipmentInfoDelete(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 filterText = ref(''); const treeRef = ref<InstanceType<typeof ElTree>>(); - - const defaultProps = { - children: 'children', - label: 'label', + // 树形 + const listApiTree = () => { + facilityManagementApi() + .getequipmentTypeMngTreeData() + .then((res) => { + if (res.data.code == 200) { + 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.label.includes(value); + return data.typeName.includes(value); }; - - 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', - }, - ], - }, - ]; - 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', - }, - { - date: '2016-05-08', - name: 'Tom', - address: 'No. 189, Grove St, Los Angeles', - }, - { - date: '2016-05-06', - name: 'Tom', - address: 'No. 189, Grove St, Los Angeles', - }, - { - date: '2016-05-07', - name: 'Tom', - address: 'No. 189, Grove St, Los Angeles', - }, - ]; - const activeName = ref('first'); - - const handleClick = (tab: TabsPaneContext, event: Event) => { + const handleNodeClick=(data: Tree)=>{ + ruleForm.searchParams.positionNum=data.id + listApi(); + } + const data=ref([]) + onMounted(() => { + listApiTree(); + }); + const handleClicks = (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 activeName = ref('first'); + // const Show=ref() + // const openUp=()=>{ + // Show.value.openDialog() + // } return { - activeName, - handleClick, + handleNodeClick, ruleForm, + resetForm, + listApi, + onAddorUpdata, + tableData, + currentPage4, + pageSize4, + total, + handleSizeChange, + handleCurrentChange, + onDelete, + warning, + danger, + deletAll, + handleSelectionChange, + onDeleteAll, + listApiTree, + handleClicks, filterText, treeRef, - defaultProps, + props, filterNode, data, - tableData, - Show, - openUp, - ShowD, + openAdd, openD, + activeName, Plus, EditPen, Delete, Download, Refresh, + View, Upload, }; }, @@ -300,4 +369,4 @@ justify-content: space-between; background-color: #fff; } -</style> \ No newline at end of file +</style> -- Gitblit v1.9.2