From 7df64634d3d7b292713eebfa008c40b3f5f9f65f Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: Tue, 20 Sep 2022 15:57:03 +0800
Subject: [PATCH] 修改
---
src/components/equipmentDailog/Dailog.vue | 981 +++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 708 insertions(+), 273 deletions(-)
diff --git a/src/components/equipmentDailog/Dailog.vue b/src/components/equipmentDailog/Dailog.vue
index 5bee0dc..9ed675f 100644
--- a/src/components/equipmentDailog/Dailog.vue
+++ b/src/components/equipmentDailog/Dailog.vue
@@ -1,300 +1,351 @@
<template>
- <el-dialog v-model="dialogVisible" :fullscreen="full" title="新建仪器仪表" width="60%">
+ <el-dialog v-model="dialogVisible" :fullscreen="full" @close="resetForm(ruleFormRef)" 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-item label="装置设施名称">
- <el-input v-model="form.name" placeholder="请填写装置设施名称" />
+ <el-form :model="form" ref="ruleFormRef" :rules="rules" :disabled="disabled" label-width="120px" class="formType">
+ <el-form-item label="装置设施名称" size="default" prop="qName">
+ <el-input v-model="form.qName" placeholder="请填写装置设施名称" />
</el-form-item>
- <el-form-item label="装置设施位号">
- <el-input v-model="form.name" placeholder="请填写装置设施位号" />
+ <el-form-item label="装置设施位号" size="default" prop="positionNum">
+ <el-input disabled v-model="form.positionNum" placeholder="请填写装置设施位号" />
</el-form-item>
- <el-form-item label="装置设施用途">
- <el-input v-model="form.name" placeholder="请填写装置设施用途" />
+ <el-form-item label="装置设施用途" size="default" prop="qUsage">
+ <el-input v-model="form.qUsage" placeholder="请填写装置设施用途" />
</el-form-item>
- <el-form-item label="装置设施型号">
- <el-input v-model="form.name" placeholder="请填写装置设施型号" />
+ <el-form-item label="装置设施型号" size="default" prop="model">
+ <el-input v-model="form.model" placeholder="请填写装置设施型号" />
</el-form-item>
- <el-form-item label="类型/类别外键">
- <el-input v-model="form.name" placeholder="请选择">
+ <el-form-item label="类型/类别外键" size="default" prop="equipmentTypeName">
+ <el-input v-model="form.equipmentTypeName" placeholder="请选择">
<template #append>
<el-button :icon="Search" @click="opencategory"></el-button>
</template>
</el-input>
</el-form-item>
- <el-form-item label="区域名称">
- <el-input v-model="form.name" placeholder="请选择">
+ <!-- <el-form-item label="区域名称" size="default">
+ <el-input v-model="form.name" placeholder="请选择">
+ <template #append>
+ <el-button :icon="Search" @click="openRegion"></el-button>
+ </template>
+ </el-input>
+ </el-form-item> -->
+ <el-form-item label="单位部门" size="default" prop="departmentId">
+ <el-tree-select v-model="form.departmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" />
+ </el-form-item>
+ <el-form-item label="设置部位" size="default" prop="setPart">
+ <el-input v-model="form.setPart" placeholder="请填写设置部位" />
+ </el-form-item>
+ <el-form-item label="生产日期" size="default" prop="produceTime">
+ <el-date-picker v-model="form.produceTime" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ </el-form-item>
+ <el-form-item label="使用期限(天)" size="default" prop="useEndDay">
+ <el-input v-model="form.useEndDay" placeholder="请填写使用期限" />
+ </el-form-item>
+ <el-form-item label="生命周期" size="default" prop="lifeCycle">
+ <el-select v-model="form.lifeCycle" placeholder="请选择" style="width: 100%">
+ <el-option label="已投用" :value="1" />
+ <el-option label="库存中" :value="2" />
+ <el-option label="报废" :value="3" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="投用日期" size="default" prop="useDate">
+ <el-date-picker v-model="form.useDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ </el-form-item>
+ <el-form-item label="维修状态" size="default" prop="repairStatus">
+ <el-select v-model="form.repairStatus" placeholder="请选择" style="width: 100%">
+ <el-option label="维修中" :value="1" />
+ <el-option label="已修好" :value="2" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="停用状态" size="default" prop="stopStatus">
+ <el-select v-model="form.stopStatus" placeholder="请选择" style="width: 100%">
+ <el-option label="停用" :value="1" />
+ <el-option label="在用" :value="2" />
+ <el-option label="维修" :value="3" />
+ <el-option label="报废" :value="4" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="上次检查日期" size="default" prop="previousCheckDate">
+ <el-date-picker
+ v-model="form.previousCheckDate"
+ format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ type="datetime"
+ placeholder="选择日期时间"
+ style="width: 100%"
+ />
+ </el-form-item>
+ <el-form-item label="上次检测日期" size="default" prop="previousTestDate">
+ <el-date-picker v-model="form.previousTestDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ </el-form-item>
+ <el-form-item label="上次保养日期" size="default" prop="previousTakecareDate">
+ <el-date-picker
+ v-model="form.previousTakecareDate"
+ format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ type="datetime"
+ placeholder="选择日期时间"
+ style="width: 100%"
+ />
+ </el-form-item>
+ <el-form-item label="下次检查日期" size="default" prop="nextCheckDate">
+ <el-date-picker v-model="form.nextCheckDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ </el-form-item>
+ <el-form-item label="下次检测日期" size="default" prop="nextTestDate">
+ <el-date-picker v-model="form.nextTestDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ </el-form-item>
+ <el-form-item label="下次保养日期" size="default" prop="nextTakecareDate">
+ <el-date-picker v-model="form.nextTakecareDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ </el-form-item>
+ <el-form-item label="负责人" size="default" prop="leadingPersonName">
+ <el-input v-model="form.leadingPersonName" placeholder="请选择">
<template #append>
- <el-button :icon="Search" @click="openRegion"></el-button>
+ <el-button :icon="Search" @click="openUser(1)"></el-button>
</template>
</el-input>
</el-form-item>
- <el-form-item label="单位部门">
- <el-select v-model="form.region" placeholder="请选择" style="width: 100%">
- <el-option label="Zone one" value="shanghai" />
- <el-option label="Zone two" value="beijing" />
+ <el-form-item label="负责人部门" size="default" prop="leadingPersonDepartmentId">
+ <el-tree-select
+ v-model="form.leadingPersonDepartmentId"
+ :data="data"
+ check-strictly="true"
+ class="w100"
+ :props="propse"
+ placeholder="请选择"
+ />
+ </el-form-item>
+ <el-form-item label="供应商" size="default" prop="supplyName">
+ <el-input v-model="form.supplyName" placeholder="请填写供应商" />
+ </el-form-item>
+ <el-form-item label="使用说明" size="default" prop="useMemo">
+ <el-input v-model="form.useMemo" placeholder="请填写使用说明" />
+ </el-form-item>
+ <el-form-item label="是否检查" size="default" prop="isNeedCheck">
+ <el-select v-model="form.isNeedCheck" placeholder="请选择" style="width: 100%">
+ <el-option label="是" :value="1" />
+ <el-option label="否" :value="2" />
</el-select>
</el-form-item>
- <el-form-item label="设置部位">
- <el-input v-model="form.name" placeholder="请填写设置部位" />
+ <el-form-item label="检查周期" size="default" prop="checkCycle">
+ <el-input v-model="form.checkCycle" placeholder="请填写检查周期" />
</el-form-item>
- <el-form-item label="生产日期">
- <el-date-picker v-model="form.date1" :size="large" type="date" placeholder="选择日期时间" style="width: 100%" />
+ <el-form-item label="检查提前提醒" size="default" prop="checkWarn">
+ <el-input v-model="form.checkWarn" placeholder="请填写检查提前提醒" />
</el-form-item>
- <el-form-item label="使用期限(天)">
- <el-input v-model="form.name" placeholder="请填写使用期限" />
- </el-form-item>
- <el-form-item label="生命周期">
- <el-select v-model="form.region" placeholder="请选择" style="width: 100%">
- <el-option label="Zone one" value="shanghai" />
- <el-option label="Zone two" value="beijing" />
+ <el-form-item label="是否检测" size="default" prop="isNeedTest">
+ <el-select v-model="form.isNeedTest" placeholder="请选择" style="width: 100%">
+ <el-option label="是" :value="1" />
+ <el-option label="否" :value="2" />
</el-select>
</el-form-item>
- <el-form-item label="投用日期">
- <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" />
+ <el-form-item label="检测周期" size="default" prop="testCycle">
+ <el-input v-model="form.testCycle" placeholder="请填写检测周期" />
</el-form-item>
- <el-form-item label="维修状态">
- <el-select v-model="form.region" placeholder="请选择" style="width: 100%">
- <el-option label="Zone one" value="shanghai" />
- <el-option label="Zone two" value="beijing" />
+ <el-form-item label="检测提前提醒" size="default" prop="testWarn">
+ <el-input v-model="form.testWarn" placeholder="请填写检测提前提醒" />
+ </el-form-item>
+ <el-form-item label="是否保养" size="default" prop="isNeedTakecare">
+ <el-select v-model="form.isNeedTakecare" placeholder="请选择" style="width: 100%">
+ <el-option label="是" :value="1" />
+ <el-option label="否" :value="2" />
</el-select>
</el-form-item>
- <el-form-item label="停用状态">
- <el-select v-model="form.region" placeholder="请选择" style="width: 100%">
- <el-option label="Zone one" value="shanghai" />
- <el-option label="Zone two" value="beijing" />
- </el-select>
+ <el-form-item label="检查内容" size="default" prop="checkContent">
+ <el-input v-model="form.checkContent" placeholder="请填写检查内容" />
</el-form-item>
- <el-form-item label="上次检查日期">
- <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" />
+ <el-form-item label="负责部门" size="default" prop="leadingDepartmentId">
+ <el-tree-select v-model="form.leadingDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" />
</el-form-item>
- <el-form-item label="上次检测日期">
- <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" />
+ <el-form-item label="检查指标" size="default" prop="checkPoint">
+ <el-input v-model="form.checkPoint" placeholder="请填写检查指标" />
</el-form-item>
- <el-form-item label="上次保养日期">
- <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" />
+ <el-form-item label="预警值" size="default" prop="alertNum">
+ <el-input v-model="form.alertNum" placeholder="请填写预警值" />
</el-form-item>
- <el-form-item label="下次检查日期">
- <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" />
+ <el-form-item label="联锁值" size="default" prop="lockNum">
+ <el-input v-model="form.lockNum" placeholder="请填写联锁值" />
</el-form-item>
- <el-form-item label="下次检测日期">
- <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" />
+ <el-form-item label="停用理由" size="default" prop="stopReason">
+ <el-input v-model="form.stopReason" placeholder="请填写停用理由" />
</el-form-item>
- <el-form-item label="下次保养日期">
- <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" />
+ <el-form-item label="停用后措施" size="default" prop="afterStopStep">
+ <el-input v-model="form.afterStopStep" placeholder="请填写停用后措施" />
</el-form-item>
- <el-form-item label="负责人">
- <el-input v-model="form.name" placeholder="请选择">
+ <el-form-item label="实际停用日期" size="default" prop="actualStopDate">
+ <el-date-picker v-model="form.actualStopDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ </el-form-item>
+ <el-form-item label="停用提交人" size="default" prop="stopSubmitPersonName">
+ <el-input v-model="form.stopSubmitPersonName" placeholder="请选择">
<template #append>
- <el-button :icon="Search" @click="openUser"></el-button>
+ <el-button :icon="Search" @click="openUser(2)"></el-button>
</template>
</el-input>
</el-form-item>
- <el-form-item label="负责人部门">
- <el-select v-model="form.region" placeholder="请选择" style="width: 100%">
- <el-option label="Zone one" value="shanghai" />
- <el-option label="Zone two" value="beijing" />
- </el-select>
+ <el-form-item label="停用提交日期" size="default" prop="stopSubmitDate">
+ <el-date-picker v-model="form.stopSubmitDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
</el-form-item>
- <el-form-item label="供应商">
- <el-input v-model="form.name" placeholder="请填写供应商" />
+ <el-form-item label="恢复理由" size="default" prop="recoveryReason">
+ <el-input v-model="form.recoveryReason" placeholder="请填写恢复理由" />
</el-form-item>
- <el-form-item label="使用说明">
- <el-input v-model="form.name" placeholder="请填写使用说明" />
+ <el-form-item label="恢复填报日期" size="default" prop="recoverySubmitDate">
+ <el-date-picker
+ v-model="form.recoverySubmitDate"
+ format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ type="datetime"
+ placeholder="选择日期时间"
+ style="width: 100%"
+ />
</el-form-item>
- <el-form-item label="是否检查">
- <el-select v-model="form.region" placeholder="请选择" style="width: 100%">
- <el-option label="Zone one" value="shanghai" />
- <el-option label="Zone two" value="beijing" />
- </el-select>
+ <el-form-item label="实际恢复日期" size="default" prop="actualRecoveryDate">
+ <el-date-picker
+ v-model="form.actualRecoveryDate"
+ format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ type="datetime"
+ placeholder="选择日期时间"
+ style="width: 100%"
+ />
</el-form-item>
- <el-form-item label="检查周期">
- <el-input v-model="form.name" placeholder="请填写检查周期" />
+ <el-form-item label="报废理由" size="default" prop="destoryReason">
+ <el-input v-model="form.destoryReason" placeholder="请填写报废理由" />
</el-form-item>
- <el-form-item label="检查提前提醒">
- <el-input v-model="form.name" placeholder="请填写检查提前提醒" />
+ <el-form-item label="报废填报日期" size="default" prop="destorySubmitDate">
+ <el-date-picker
+ v-model="form.destorySubmitDate"
+ format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ type="datetime"
+ placeholder="选择日期时间"
+ style="width: 100%"
+ />
</el-form-item>
- <el-form-item label="是否检测">
- <el-select v-model="form.region" placeholder="请选择" style="width: 100%">
- <el-option label="Zone one" value="shanghai" />
- <el-option label="Zone two" value="beijing" />
- </el-select>
+ <el-form-item label="实际报废日期" size="default" prop="actualDestoryDate">
+ <el-date-picker
+ v-model="form.actualDestoryDate"
+ format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ type="datetime"
+ placeholder="选择日期时间"
+ style="width: 100%"
+ />
</el-form-item>
- <el-form-item label="检测周期">
- <el-input v-model="form.name" placeholder="请填写检测周期" />
- </el-form-item>
- <el-form-item label="检测提前提醒">
- <el-input v-model="form.name" placeholder="请填写检测提前提醒" />
- </el-form-item>
- <el-form-item label="是否保养">
- <el-select v-model="form.region" 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="检查内容">
- <el-input v-model="form.name" placeholder="请填写检查内容" />
- </el-form-item>
- <el-form-item label="负责部门">
- <el-select v-model="form.region" 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="检查指标">
- <el-input v-model="form.name" placeholder="请填写检查指标" />
- </el-form-item>
- <el-form-item label="预警值">
- <el-input v-model="form.name" placeholder="请填写预警值" />
- </el-form-item>
- <el-form-item label="联锁值">
- <el-input v-model="form.name" placeholder="请填写联锁值" />
- </el-form-item>
- <el-form-item label="停用理由">
- <el-input v-model="form.name" placeholder="请填写停用理由" />
- </el-form-item>
- <el-form-item label="停用后措施">
- <el-input v-model="form.name" placeholder="请填写停用后措施" />
- </el-form-item>
- <el-form-item label="实际停用日期">
- <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" />
- </el-form-item>
- <el-form-item label="停用提交人">
- <el-input v-model="form.name" placeholder="请选择">
- <template #append>
- <el-button :icon="Search" @click="openUser"></el-button>
- </template>
- </el-input>
- </el-form-item>
- <el-form-item label="停用提交日期">
- <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" />
- </el-form-item>
- <el-form-item label="恢复理由">
- <el-input v-model="form.name" placeholder="请填写恢复理由" />
- </el-form-item>
- <el-form-item label="恢复填报日期">
- <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" />
- </el-form-item>
- <el-form-item label="实际恢复日期">
- <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" />
- </el-form-item>
- <el-form-item label="报废理由">
- <el-input v-model="form.name" placeholder="请填写报废理由" />
- </el-form-item>
- <el-form-item label="报废填报日期">
- <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" />
- </el-form-item>
- <el-form-item label="实际报废日期">
- <el-date-picker v-model="form.date1" type="date" placeholder="选择日期时间" style="width: 100%" />
+ <el-form-item label="保养周期" size="default" prop="takecareCycle ">
+ <el-input v-model="form.takecareCycle" placeholder="请填写保养周期" />
</el-form-item>
</el-form>
<el-tabs v-model="activeName" class="demo-tabs">
<el-tab-pane label="设备保养" name="first">
- <el-button type="primary" @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-column align="center" prop="address" label="操作">
- <template #default>
- <el-button link type="primary" size="small">查看</el-button>
+ <el-button type="primary" size="default" :disabled="disabled" @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="leadingPersonName" label="保养负责人" />
+ <el-table-column align="center" prop="takecareDate" :formatter="timeDate" label="保养日期" />
+ <el-table-column align="center" prop="leadingPersonDepartmentName" label="保养负责人单位" />
+ <el-table-column align="center" label="操作">
+ <template #default="scope">
+ <el-button link type="primary" @click="openMaintenance('查看', scope.row)" size="small">查看</el-button>
+ <el-button link type="primary" @click="openMaintenance('修改', scope.row)" size="small">修改</el-button>
+ <el-button link type="primary" @click="deleteA(scope.row)" size="small">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="设备检测" name="second">
- <el-button type="primary" @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="操作">
- <template #default>
- <el-button link type="primary" size="small">查看</el-button>
+ <el-button type="primary" size="default" :disabled="disabled" @click="openDetect('新增', '')">新增</el-button>
+ <el-table :data="form.testDetailList" style="width: 100%">
+ <el-table-column align="center" prop="testPersonName" label="检测人" />
+ <el-table-column align="center" prop="testDate" :formatter="timeDate" label="检测日期" />
+ <el-table-column align="center" prop="testPersonDepartmentName" label="检测人单位" />
+ <el-table-column align="center" prop="testMemo" label="检测内容" />
+ <el-table-column align="center" label="检测结果" >
+ <template #default="scope">
+ <span v-if="scope.row.testResult==1">成功</span>
+ <span v-if="scope.row.testResult==2">失败</span>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" prop="testStatus" label="检测状态" />
+ <el-table-column align="center" label="操作">
+ <template #default="scope">
+ <el-button link type="primary" @click="openDetect('查看', scope.row)" size="small">查看</el-button>
+ <el-button link type="primary" @click="openDetect('修改', scope.row)" size="small">修改</el-button>
+ <el-button link type="primary" @click="deleteB(scope.row)" size="small">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="设备维修" name="third">
- <el-button type="primary" @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="操作">
- <template #default>
- <el-button link type="primary" size="small">查看</el-button>
+ <el-button type="primary" size="default" :disabled="disabled" @click="openRepair('新增', '')">新增</el-button>
+ <el-table :data="form.repaireDetailList" style="width: 100%">
+ <el-table-column align="center" prop="exceptionInfo" label="设施异常项" />
+ <el-table-column align="center" label="维修状态">
+ <template #default="scope">
+ <span v-if="scope.row.repairStatus==1">维修中</span>
+ <span v-if="scope.row.repairStatus==2">已修好</span>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" prop="repairMemo" label="维修情况" />
+ <el-table-column align="center" prop="repairPersonName" label="维修负责人" />
+ <el-table-column align="center" prop="repairPersonDepartmentName" label="维修负责人单位" />
+ <el-table-column align="center" prop="repairStartDate" :formatter="timeDate" label="维修开始日期" />
+ <el-table-column align="center" prop="repairEndDate" :formatter="timeDate" label="维修结束日期" />
+ <el-table-column align="center" label="操作">
+ <template #default="scope">
+ <el-button link type="primary" @click="openRepair('查看', scope.row)" size="small">查看</el-button>
+ <el-button link type="primary" @click="openRepair('修改', scope.row)" size="small">修改</el-button>
+ <el-button link type="primary" @click="deleteC(scope.row)" size="small">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="检查标准设置" name="fourth">
- <el-button type="primary" @click="openStandard">新增</el-button>
- <el-table :data="tableData" 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="操作">
- <template #default>
- <el-button link type="primary" size="small">查看</el-button>
+ <el-button type="primary" size="default" :disabled="disabled" @click="openStandard('新增', '')">新增</el-button>
+ <el-table :data="form.checkStandardeDetailList" style="width: 100%">
+ <el-table-column align="center" prop="indexNum" label="序号" width="75" />
+ <el-table-column align="center" prop="checkContent" label="检查内容" />
+ <el-table-column align="center" prop="checkTarget" label="检查指标" />
+ <el-table-column align="center" prop="unit" label="单位" />
+ <el-table-column align="center" prop="checkPart" label="巡检部位" />
+ <el-table-column align="center" prop="rate" label="频次" />
+ <el-table-column align="center" label="操作">
+ <template #default="scope">
+ <el-button link type="primary" @click="openStandard('查看', scope.row)" size="small">查看</el-button>
+ <el-button link type="primary" @click="openStandard('修改', scope.row)" size="small">修改</el-button>
+ <el-button link type="primary" @click="deleteD(scope.row)" size="small">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
- <el-tab-pane label="巡检记录" name="five">
- <el-table :data="tableData" style="width: 100%">
+ <el-tab-pane label="巡检记录" size="default" name="five">
+ <el-table :data="name" style="width: 100%">
<el-table-column align="center" type="selection" width="75" />
<el-table-column align="center" sortable prop="name" label="任务编号" />
<el-table-column align="center" sortable prop="address" label="任务名称" />
<el-table-column align="center" sortable prop="address" label="点位类型" />
<el-table-column align="center" sortable prop="address" label="检查频次" />
- <el-table-column align="center" sortable prop="address" label="巡检时间" />
+ <el-table-column align="center" sortable prop="address" :formatter="timeDate" label="巡检时间" />
<el-table-column align="center" sortable prop="address" label="巡检人" />
</el-table>
</el-tab-pane>
<el-tab-pane label="保养维修标准" name="six" v-if="Dailogtype">
- <el-upload
- v-model:file-list="fileList"
- class="upload-demo"
- action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
- multiple
- :on-preview="handlePreview"
- :on-remove="handleRemove"
- :before-remove="beforeRemove"
- :limit="3"
- :on-exceed="handleExceed"
- >
- <el-button type="primary">点击上传</el-button>
- <template #tip>
- <div class="el-upload__tip"></div>
- </template>
- </el-upload>
+ <uploaderFile :fileList="fileList" :systemName="'EQUIPMENT'" :disabled="disabled"
+ @successUploader="successUploader"></uploaderFile>
</el-tab-pane>
</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(ruleFormRef)">关闭</el-button>
+ <el-button type="primary" @click="submitForm(ruleFormRef)">确定</el-button>
</span>
</template>
</el-dialog>
<categoryDailog ref="categoryShow"></categoryDailog>
+ <categoryDailog ref="categoryShow" @typeId="Tid"></categoryDailog>
<regionDailog ref="regionShow"></regionDailog>
- <DailogSearchUser ref="UserShow"></DailogSearchUser>
- <maintenanceDailog ref="maintenanceShow"></maintenanceDailog>
- <detectDailog ref="detectShow"></detectDailog>
- <repairDailog ref="repairShow"></repairDailog>
- <standardDailog ref="standardShow"></standardDailog>
+ <DailogSearchUser ref="UserShow" @SearchUser="userId"></DailogSearchUser>
+ <maintenanceDailog ref="maintenanceShow" @onMain="main"></maintenanceDailog>
+ <detectDailog ref="detectShow" @onDelect="delect"></detectDailog>
+ <repairDailog ref="repairShow" @onRepair="Repair"></repairDailog>
+ <standardDailog ref="standardShow" @onStand="Stand"></standardDailog>
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
@@ -304,52 +355,323 @@
import maintenanceDailog from './maintenanceDailog.vue';
import detectDailog from './detectDailog.vue';
import repairDailog from './repairDailog.vue';
+import { timeDate } from '/@/assets/index.ts';
import standardDailog from './standardDailog.vue';
import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
-import { ElMessage, ElMessageBox } from 'element-plus';
+import { ElMessage, ElMessageBox, FormInstance, FormRules } from 'element-plus';
import type { UploadProps, UploadUserFile } from 'element-plus';
+import { facilityManagementApi } from '/@/api/facilityManagement';
+import { goalManagementApi } from '/@/api/goalManagement';
+import { deepClone } from '/@/utils/other';
+import uploaderFile from '/@/components/uploaderFile/index.vue';
export default defineComponent({
- components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },
- setup() {
+ components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog,
+ detectDailog, repairDailog, standardDailog,uploaderFile },
+ setup(props, { emit }) {
const dialogVisible = ref(false);
- const form = reactive({
- name: '',
- region: '',
- date1: '',
- date2: '',
- delivery: false,
- type: [],
- resource: '',
- desc: '',
+ const ruleFormRef = ref<FormInstance>();
+ const form = ref({
+ supplyName: '',
+
+ nextTestDate: '',
+
+ qUsage: '',
+
+ departmentId: '',
+
+ produceTime: '',
+
+ actualStopDate: '',
+
+ takecareDetailList: [],
+
+ infoType: '',
+
+ leadingDepartmentId: '',
+
+ useEndDay: '',
+
+ previousTakecareDate: '',
+
+ previousCheckDate: '',
+
+ model: '',
+
+ stopStatus: '',
+
+ testWarn: '',
+
+ stopSubmitDate: '',
+
+ repairStatus: '',
+
+ takecareStardardeDetailList: [
+ ],
+
+ nextCheckDate: '',
+
+ checkCycle: '',
+
+ checkPoint: '',
+
+ leadingPersonId: '',
+ leadingPersonName: '',
+
+ qName: '',
+
+ nextTakecareDate: '',
+
+ setPart: '',
+
+ checkStandardeDetailList: [],
+
+ actualDestoryDate: '',
+
+ isNeedTest: '',
+
+ alertNum: '',
+
+ checkContent: '',
+
+ useMemo: '',
+
+ previousTestDate: '',
+
+ isNeedTakecare: '',
+
+ destoryReason: '',
+
+ checkDetailList: [],
+
+ positionNum: '',
+
+ testCycle: '',
+
+ recoveryReason: '',
+
+ isNeedCheck: '',
+
+ actualRecoveryDate: '',
+
+ leadingPersonDepartmentId: '',
+
+ stopReason: '',
+
+ destorySubmitDate: '',
+
+ testDetailList: [],
+
+ checkWarn: '',
+
+ repaireDetailList: [],
+
+ equipmentTypeId: '',
+
+ useDate: '',
+
+ recoverySubmitDate: '',
+ takecareCycle:"",
+
+ lockNum: '',
+
+ stopSubmitPersonId: '',
+ stopSubmitPersonName: '',
+ afterStopStep: '',
+
+ lifeCycle: '',
+
+ delCheckStandardeDetails: '',
+
+ delTakecareStardardeDetails: '',
+
+ delTakecareDetails: '',
+
+ delRepaireDetails: '',
+
+ delTestDetails: '',
});
+ const titles = ref();
+ const titleT = 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;
+ titleT.value = title;
+ department();
Dailogtype.value = type;
+ if (num == 0) {
+ titles.value = `${title}仪表信息`;
+ form.value.infoType = num;
+ } else if (num == 1) {
+ titles.value = `${title}设备设施`;
+ form.value.infoType = num;
+ } else if (num == 2) {
+ titles.value = `${title}设备设施`;
+ form.value.infoType = num;
+ }
+
+ disabled.value = title == '查看' ? true : false;
+ if (title == '查看' || title == '修改')
+ facilityManagementApi()
+ .getequipmentInfoDetail(id)
+ .then((res) => {
+ if (res.data.code == 200) {
+ form.value = res.data.data;
+
+ //初始化日期格式
+ form.value.actualDestoryDate = timeC(form.value.actualDestoryDate);
+ form.value.actualRecoveryDate = timeC(form.value.actualRecoveryDate);
+ form.value.actualStopDate = timeC(form.value.actualStopDate);
+ form.value.destorySubmitDate = timeC(form.value.destorySubmitDate);
+ form.value.nextCheckDate = timeC(form.value.nextCheckDate);
+ form.value.nextTakecareDate = timeC(form.value.nextTakecareDate);
+ form.value.nextTestDate = timeC(form.value.nextTestDate);
+ form.value.previousCheckDate = timeC(form.value.previousCheckDate);
+ form.value.previousTakecareDate = timeC(form.value.previousTakecareDate);
+ form.value.previousTestDate = timeC(form.value.previousTestDate);
+ form.value.produceTime = timeC(form.value.produceTime);
+ form.value.recoverySubmitDate = timeC(form.value.recoverySubmitDate);
+ form.value.stopSubmitDate = timeC(form.value.stopSubmitDate);
+ form.value.useDate = timeC(form.value.useDate);
+
+ fileList.value = (res.data.data.takecareStardardeDetailList?res.data.data.takecareStardardeDetailList:[])
+ initFileListData()
+ } else {
+ ElMessage.error(res.data.msg);
+ }
+ });
+ };
+ const timeC = (timestamp: any) => {
+ let a = new Date(timestamp).getTime();
+ const date = new Date(a);
+ const Y = date.getFullYear() + '-';
+ const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
+ const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';
+ const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
+ const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
+ const s = date.getSeconds(); // 秒
+ const dateString = Y + M + D + h + m +`:${s}`;
+ // console.log('dateString', dateString); // > dateString 2021-07-06 14:23
+ return dateString;
+ };
+ const initFileListData = async () => {
+ for(var a = 0;a<fileList.value.length;a++){
+ fileList.value[a].name = fileList.value[a].filePath
+ }
+ }
+ // 上传成功组装数据
+ const successUploader = (list) =>{
+ fileList.value = list
+ const formFileList = []
+ for(var a = 0;a<fileList.value.length;a++){
+ formFileList.push(
+ {
+ filePath:fileList.value[a].fileName
+ }
+ )
+ }
+ form.value.takecareStardardeDetailList = formFileList
+ }
+ const rules = reactive<FormRules>({
+ qName: [],
+ positionNum: [],
+ qUsage: [],
+ model: [],
+ equipmentTypeId: [],
+ equipmentTypeName: [{ required: true, message: '类型/类别外键不能为空', trigger: 'change' }],
+ departmentId: [],
+ setPart: [],
+ produceTime: [],
+ useEndDay: [],
+ lifeCycle: [],
+ useDate: [],
+ repairStatus: [],
+ stopStatus: [],
+ previousCheckDate: [],
+ previousTestDate: [],
+ previousTakecareDate: [],
+ nextCheckDate: [],
+ nextTestDate: [],
+ nextTakecareDate: [],
+ leadingPersonName: [],
+ leadingPersonDepartmentId: [],
+ supplyName: [],
+ useMemo: [],
+ isNeedCheck: [],
+ checkCycle: [],
+ checkWarn: [],
+ isNeedTest: [],
+ testCycle: [],
+ testWarn: [],
+ isNeedTakecare: [],
+ checkContent: [],
+ leadingDepartmentId: [],
+ checkPoint: [],
+ alertNum: [],
+ lockNum: [],
+ stopReason: [],
+ afterStopStep: [],
+ actualStopDate: [],
+ stopSubmitPersonName: [],
+ stopSubmitDate: [],
+ recoveryReason: [],
+ recoverySubmitDate: [],
+ actualRecoveryDate: [],
+ destoryReason: [],
+ destorySubmitDate: [],
+ actualDestoryDate: [],
+ takecareCycle :[]
+ });
+ // 提交
+ const submitForm = async (formEl: FormInstance | undefined) => {
+ if (!formEl) return;
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ form.value.delTakecareDetails = deleteAId.value.toString();
+ form.value.delTestDetails = deleteBId.value.toString();
+ form.value.delRepaireDetails = deleteCId.value.toString();
+ form.value.delCheckStandardeDetails = deleteDId.value.toString();
+ dialogVisible.value = false;
+ delete form.value.equipmentTypeName;
+ delete form.value.departmentName;
+ delete form.value.leadingPersonDepartmentName;
+ delete form.value.leadingDepartmentName;
+ if (titleT.value == '新建') {
+ delete form.value.id;
+ }
+ facilityManagementApi()
+ .getequipmentInfoAddOrUpdate(form.value)
+ .then((res) => {
+ if (res.data.code == 200) {
+ ElMessage({
+ message: res.data.msg,
+ type: 'success',
+ });
+ emit('navAddorUpdata');
+ } else {
+ ElMessage.error(res.data.msg);
+ }
+ });
+ }
+ });
+ form.value.takecareDetailList = [];
+ form.value.testDetailList = [];
+ form.value.repaireDetailList = [];
+ form.value.checkStandardeDetailList = [];
+ };
+ // 取消
+ const resetForm = (formEl: FormInstance | undefined) => {
+ if (!formEl) return;
+ formEl.resetFields();
+ form.value.takecareDetailList = [];
+ form.value.testDetailList = [];
+ form.value.repaireDetailList = [];
+ form.value.checkStandardeDetailList = [];
+ fileList.value = []
+ dialogVisible.value = false;
};
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 index = ref<any>();
const categoryShow = ref();
const opencategory = () => {
categoryShow.value.openDailog();
@@ -359,36 +681,31 @@
regionShow.value.openDailog();
};
const UserShow = ref();
- const openUser = () => {
- UserShow.value.openDailog();
+ const openUser = (type: any) => {
+ UserShow.value.openDailog(type);
};
const maintenanceShow = ref();
- const openMaintenance = () => {
- maintenanceShow.value.openDailog();
+ const openMaintenance = (title: string, data: any) => {
+ index.value = form.value.takecareDetailList.indexOf(data);
+ maintenanceShow.value.openDailog(title, data);
};
const detectShow = ref();
- const openDetect = () => {
- detectShow.value.openDailog();
+ const openDetect = (title: string, data: any) => {
+ index.value = form.value.testDetailList.indexOf(data);
+ detectShow.value.openDailog(title, data);
};
const repairShow = ref();
- const openRepair = () => {
- repairShow.value.openDailog();
+ const openRepair = (title: string, data: any) => {
+ index.value = form.value.repaireDetailList.indexOf(data);
+ repairShow.value.openDailog(title, data);
};
const standardShow = ref();
- const openStandard = () => {
- standardShow.value.openDailog();
+ const openStandard = (title: string, data: any) => {
+ index.value = form.value.checkStandardeDetailList.indexOf(data);
+ standardShow.value.openDailog(title, data);
};
// 上传
- const fileList = ref<UploadUserFile[]>([
- {
- name: 'element-plus-logo.svg',
- url: 'https://element-plus.org/images/element-plus-logo.svg',
- },
- {
- name: 'element-plus-logo2.svg',
- url: 'https://element-plus.org/images/element-plus-logo.svg',
- },
- ]);
+ const fileList = ref([]);
const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {
console.log(file, uploadFiles);
@@ -408,6 +725,75 @@
() => false
);
};
+ const deleteAId = ref([]);
+ const deleteBId = ref([]);
+ const deleteCId = ref([]);
+ const deleteDId = ref([]);
+ // 删除
+ const deleteA = (tag: any) => {
+ form.value.takecareDetailList.splice(form.value.takecareDetailList.indexOf(tag), 1);
+ deleteAId.value.push(tag.id);
+ };
+ const deleteB = (tag: any) => {
+ form.value.testDetailList.splice(form.value.testDetailList.indexOf(tag), 1);
+ deleteBId.value.push(tag.id);
+ };
+ const deleteC = (tag: any) => {
+ form.value.repaireDetailList.splice(form.value.repaireDetailList.indexOf(tag), 1);
+ deleteCId.value.push(tag.id);
+ };
+ const deleteD = (tag: any) => {
+ form.value.checkStandardeDetailList.splice(form.value.checkStandardeDetailList.indexOf(tag), 1);
+ deleteDId.value.push(tag.id);
+ };
+ // 回传
+ const main = (data: any) => {
+ const val = deepClone(data);
+ if (index.value == -1) {
+ form.value.takecareDetailList.push(val);
+ } else {
+ form.value.takecareDetailList[index.value] = val;
+ }
+ };
+ const delect = (data: any) => {
+ const val = deepClone(data);
+ if (index.value == -1) {
+ form.value.testDetailList.push(val);
+ } else {
+ form.value.testDetailList[index.value] = val;
+ }
+ };
+ const Repair = (data: any) => {
+ const val = deepClone(data);
+ if (index.value == -1) {
+ form.value.repaireDetailList.push(val);
+ } else {
+ form.value.repaireDetailList[index.value] = val;
+ }
+ };
+ const Stand = (data: any) => {
+ const val = deepClone(data);
+ if (index.value == -1) {
+ form.value.checkStandardeDetailList.push(val);
+ } else {
+ form.value.checkStandardeDetailList[index.value] = val;
+ }
+ };
+ const userId = (val: any, type: number) => {
+ console.log(val, type);
+ if (type == 1) {
+ form.value.leadingPersonId = val.uid;
+ form.value.leadingPersonName = val.realName;
+ } else if (type == 2) {
+ form.value.stopSubmitPersonId = val.uid;
+ form.value.stopSubmitPersonName = val.realName;
+ }
+ };
+ const Tid = (data: any) => {
+ form.value.equipmentTypeId = data.id;
+ form.value.equipmentTypeName = data.typeName;
+ form.value.positionNum = data.sortNum;
+ };
//全屏
const full = ref(false);
const toggleFullscreen = () => {
@@ -417,14 +803,55 @@
full.value = false;
}
};
+ //部门树
+ const department = () => {
+ goalManagementApi()
+ .getTreedepartment()
+ .then((res) => {
+ if (res.data.code == 200) {
+ data.value = res.data.data;
+ } else {
+ ElMessage.error(res.data.msg);
+ }
+ });
+ };
+ const propse = {
+ label: 'depName',
+ children: 'children',
+ value: 'depId',
+ };
+ const data = ref();
return {
+ Tid,
+ deepClone,
+ rules,
+ userId,
+ department,
+ propse,
+ data,
+ deleteAId,
+ deleteBId,
+ deleteCId,
+ deleteDId,
+ deleteA,
+ deleteB,
+ deleteC,
+ deleteD,
+ main,
+ index,
+ delect,
+ Repair,
+ Stand,
+ resetForm,
+ submitForm,
+ titles,
dialogVisible,
+ disabled,
Dailogtype,
form,
openDailog,
Search,
activeName,
- tableData,
categoryShow,
opencategory,
regionShow,
@@ -447,17 +874,22 @@
full,
toggleFullscreen,
FullScreen,
+ timeDate,
+ ruleFormRef,
+ successUploader,
+ initFileListData,
+ timeC
};
},
});
</script>
<style scoped>
.el-form-item {
- width: 400px;
+ width: 25vw;
}
.formType:after {
content: '';
- width: 250px;
+ width: 400px;
}
.formType {
padding: 20px 20px;
@@ -465,4 +897,7 @@
justify-content: space-between;
flex-wrap: wrap;
}
-</style>
\ No newline at end of file
+.el-form .el-form-item:last-of-type {
+ margin-bottom: 22px !important;
+}
+</style>
--
Gitblit v1.9.2