feat(mes): 添加特种设备管理功能

- 新增特种设备管理相关的数据模型、控制器、服务接口和实现类
- 开发了特种设备的查询、添加、修改和删除功能
- 优化了用户界面,调整了部分字段的显示和输入方式
This commit is contained in:
JR
2025-08-21 11:08:50 +08:00
parent 0368ed504b
commit 2bcc11f81c
9 changed files with 689 additions and 36 deletions

View File

@@ -25,15 +25,15 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="制造单位" prop="manufacturer">
<!-- <el-form-item label="制造单位" prop="manufacturer">
<el-input
v-model="queryParams.manufacturer"
placeholder="请输入制造单位"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="制造日期" prop="productionDate">
</el-form-item>-->
<!-- <el-form-item label="制造日期" prop="productionDate">
<el-date-picker clearable
v-model="queryParams.productionDate"
type="date"
@@ -48,7 +48,7 @@
value-format="yyyy-MM-dd"
placeholder="请选择安装日期">
</el-date-picker>
</el-form-item>
</el-form-item>-->
<el-form-item label="使用日期" prop="useStartDate">
<el-date-picker clearable
v-model="queryParams.useStartDate"
@@ -57,15 +57,15 @@
placeholder="请选择投入使用日期">
</el-date-picker>
</el-form-item>
<el-form-item label="注册编号" prop="registrationNo">
<!-- <el-form-item label="注册编号" prop="registrationNo">
<el-input
v-model="queryParams.registrationNo"
placeholder="请输入特种设备注册编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="安全负责人" prop="safetyManager">
</el-form-item>-->
<el-form-item label="负责人" prop="safetyManager">
<el-input
v-model="queryParams.safetyManager"
placeholder="请输入安全负责人"
@@ -138,35 +138,35 @@
<el-table-column label="设备名称" align="center" prop="equipmentName" />
<el-table-column label="规格型号" align="center" prop="specificationModel" />
<el-table-column label="制造单位" align="center" prop="manufacturer" />
<el-table-column label="制造日期" align="center" prop="productionDate" width="180">
<!-- <el-table-column label="制造日期" align="center" prop="productionDate" width="98">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.productionDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="安装日期" align="center" prop="installationDate" width="180">
<el-table-column label="安装日期" align="center" prop="installationDate" width="98">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.installationDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="投入使用日期" align="center" prop="useStartDate" width="180">
</el-table-column>-->
<el-table-column label="投入使用日期" align="center" prop="useStartDate" width="98">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.useStartDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="特种设备注册编号" align="center" prop="registrationNo" />
<el-table-column label="注册编号" align="center" prop="registrationNo" />
<el-table-column label="安全负责人" align="center" prop="safetyManager" />
<el-table-column label="附件路径" align="center" prop="attachment" />
<!-- <el-table-column label="附件路径" align="center" prop="attachment" />-->
<el-table-column label="检验周期" align="center" prop="inspectionCycle" />
<el-table-column label="上次检验时间" align="center" prop="lastInspectionTime" width="180">
<el-table-column label="上次检验时间" align="center" prop="lastInspectionTime" width="98">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.lastInspectionTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="下次检验时间" align="center" prop="nextInspectionTime" width="180">
<!-- <el-table-column label="下次检验时间" align="center" prop="nextInspectionTime" width="98">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.nextInspectionTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
</el-table-column>-->
<el-table-column label="当前状态" align="center" prop="currentStatus">
<template slot-scope="scope">
<dict-tag :options="dict.type.special_equipment_type" :value="scope.row.currentStatus"/>
@@ -200,7 +200,7 @@
/>
<!-- 添加或修改特种设备包含锅炉压力管道电梯等特种设备信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="设备编码" prop="equipmentCode">
<el-input v-model="form.equipmentCode" placeholder="请输入设备编码" />
@@ -217,40 +217,37 @@
<el-form-item label="制造日期" prop="productionDate">
<el-date-picker clearable
v-model="form.productionDate"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择制造日期">
</el-date-picker>
</el-form-item>
<el-form-item label="安装日期" prop="installationDate">
<el-date-picker clearable
v-model="form.installationDate"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择安装日期">
</el-date-picker>
</el-form-item>
<el-form-item label="投入使用日期" prop="useStartDate">
<el-form-item label="使用日期" prop="useStartDate">
<el-date-picker clearable
v-model="form.useStartDate"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择投入使用日期">
</el-date-picker>
</el-form-item>
<el-form-item label="特种设备注册编号" prop="registrationNo">
<el-form-item label="注册编号" prop="registrationNo">
<el-input v-model="form.registrationNo" placeholder="请输入特种设备注册编号" />
</el-form-item>
<el-form-item label="安全负责人" prop="safetyManager">
<el-input v-model="form.safetyManager" placeholder="请输入安全负责人" />
</el-form-item>
<el-form-item label="附件路径" prop="attachment">
<el-input v-model="form.attachment" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="检验周期" prop="inspectionCycle">
<el-input v-model="form.inspectionCycle" placeholder="请输入检验周期" />
</el-form-item>
<el-form-item label="上次检验时间" prop="lastInspectionTime">
<el-form-item label="负责人" prop="safetyManager">
<el-input v-model="form.safetyManager" placeholder="请输入安全负责人" />
</el-form-item>
<el-form-item label="上次检验时间" prop="lastInspectionTime" label-width="107px">
<el-date-picker clearable
v-model="form.lastInspectionTime"
type="datetime"
@@ -258,7 +255,7 @@
placeholder="请选择上次检验时间">
</el-date-picker>
</el-form-item>
<el-form-item label="下次检验时间" prop="nextInspectionTime">
<el-form-item label="下次检验时间" prop="nextInspectionTime" label-width="107px">
<el-date-picker clearable
v-model="form.nextInspectionTime"
type="datetime"
@@ -266,6 +263,9 @@
placeholder="请选择下次检验时间">
</el-date-picker>
</el-form-item>
<el-form-item label="附件" prop="attachment">
<file-upload v-model="form.attachment" :limit="1" :fileType="fileType" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="当前状态" prop="currentStatus">
<el-radio-group v-model="form.currentStatus">
<el-radio
@@ -412,7 +412,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "添加特种设备(包含锅炉、压力管道、电梯等特种设备信息)";
this.title = "添加特种设备";
},
/** 修改按钮操作 */
handleUpdate(row) {
@@ -423,7 +423,7 @@ export default {
this.loading = false;
this.form = response.data;
this.open = true;
this.title = "修改特种设备(包含锅炉、压力管道、电梯等特种设备信息)";
this.title = "修改特种设备";
});
},
/** 提交按钮 */
@@ -454,7 +454,7 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const equipmentIds = row.equipmentId || this.ids;
this.$modal.confirm('是否确认删除特种设备(包含锅炉、压力管道、电梯等特种设备信息)编号为"' + equipmentIds + '"的数据项?').then(() => {
this.$modal.confirm('是否确认删除特种设备编号为"' + equipmentIds + '"的数据项?').then(() => {
this.loading = true;
return delSpecialEquipment(equipmentIds);
}).then(() => {