From 2d3530a7c11557a40807ad7c0b9e302ce6ce3a9f Mon Sep 17 00:00:00 2001
From: hsy <1029150275@qq.com>
Date: 星期五, 28 八月 2026 10:16:32 +0800
Subject: [PATCH] feat: 综合业务模块页面重构与交互完善
---
src/views/equipmentManagement/repair/Modal/RepairModal.vue | 77 ++++++++++++++++++++++++++++++++++++++
1 files changed, 77 insertions(+), 0 deletions(-)
diff --git a/src/views/equipmentManagement/repair/Modal/RepairModal.vue b/src/views/equipmentManagement/repair/Modal/RepairModal.vue
index 4a10071..6a934c9 100644
--- a/src/views/equipmentManagement/repair/Modal/RepairModal.vue
+++ b/src/views/equipmentManagement/repair/Modal/RepairModal.vue
@@ -58,6 +58,18 @@
</el-row>
<el-row>
<el-col :span="12">
+ <el-form-item label="鎶ヤ慨绫诲瀷">
+ <el-select v-model="form.repairType"
+ placeholder="璇烽�夋嫨鎶ヤ慨绫诲瀷"
+ :disabled="operationType === 'view'">
+ <el-option v-for="dict in device_repair_type"
+ :key="dict.value"
+ :label="dict.label"
+ :value="Number(dict.value)"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
<el-form-item label="缁翠慨浜�">
<el-input v-model="form.maintenanceName"
placeholder="璇疯緭鍏ョ淮淇汉濮撳悕"
@@ -76,7 +88,26 @@
:value="1"></el-option>
<el-option label="澶辫触"
:value="2"></el-option>
+ <el-option label="寰呴獙鏀�"
+ :value="3"></el-option>
</el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12" v-if="form.status !== 0">
+ <el-form-item label="缁翠慨鏃堕棿">
+ <el-input v-model="form.maintenanceTime"
+ disabled />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row v-if="form.status !== 0">
+ <el-col :span="24">
+ <el-form-item label="缁翠慨缁撴灉">
+ <el-input v-model="form.maintenanceResult"
+ :rows="2"
+ type="textarea"
+ placeholder="鏆傛棤缁翠慨缁撴灉"
+ :disabled="operationType === 'view'" />
</el-form-item>
</el-col>
</el-row>
@@ -114,6 +145,37 @@
</el-form-item>
</el-col>
</el-row>
+ <el-row v-if="form.status !== 0">
+ <el-col :span="24">
+ <el-form-item label="鍘熷洜鍒嗘瀽">
+ <el-input v-model="form.reasonAnalysis"
+ :rows="2"
+ type="textarea"
+ placeholder="璇疯緭鍏ュ師鍥犲垎鏋�"
+ :disabled="operationType === 'view'" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="澶勭悊鎺柦">
+ <el-input v-model="form.handlingMeasures"
+ :rows="2"
+ type="textarea"
+ placeholder="璇疯緭鍏ュ鐞嗘帾鏂�"
+ :disabled="operationType === 'view'" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <!-- 閰嶄欢浣跨敤鏄庣粏灞曠ず -->
+ <el-row v-if="sparePartsDetails.length > 0">
+ <el-col :span="24">
+ <el-form-item label="閰嶄欢浣跨敤鏄庣粏">
+ <el-table :data="sparePartsDetails" size="small" border style="width: 100%">
+ <el-table-column prop="sparePartName" label="閰嶄欢鍚嶇О" />
+ <el-table-column prop="quantity" label="浣跨敤鏁伴噺" width="100" />
+ </el-table>
+ </el-form-item>
+ </el-col>
+ </el-row>
<el-row v-if="operationType !== 'view'"
:gutter="30">
<el-col :span="24">
@@ -147,6 +209,8 @@
});
const emits = defineEmits(["ok"]);
+ const { proxy } = getCurrentInstance();
+ const { device_repair_type } = proxy.useDict("device_repair_type");
const id = ref();
const visible = ref(false);
@@ -163,6 +227,7 @@
const userStore = useUserStore();
const deviceOptions = ref([]);
const fileList = ref([]);
+ const sparePartsDetails = ref([]);
const loadDeviceName = async () => {
const { data } = await getDeviceLedger();
@@ -174,12 +239,17 @@
deviceName: undefined, // 璁惧鍚嶇О
deviceModel: undefined, // 瑙勬牸鍨嬪彿
repairTime: dayjs().format("YYYY-MM-DD"), // 鎶ヤ慨鏃ユ湡锛岄粯璁ゅ綋澶�
+ repairType: undefined, // 鎶ヤ慨绫诲瀷
repairName: userStore.nickName, // 鎶ヤ慨浜�
remark: undefined, // 鏁呴殰鐜拌薄
+ reasonAnalysis: undefined, // 鍘熷洜鍒嗘瀽
+ handlingMeasures: undefined, // 澶勭悊鎺柦
status: 0, // 鎶ヤ慨鐘舵��
machineryCategory: undefined,
storageBlobDTOs: [],
maintenanceName: undefined, // 缁翠慨浜�
+ maintenanceTime: undefined,
+ maintenanceResult: undefined,
});
const setDeviceModel = deviceId => {
@@ -192,15 +262,21 @@
form.deviceName = data.deviceName;
form.deviceModel = data.deviceModel;
form.repairTime = data.repairTime;
+ form.repairType = data.repairType;
form.repairName = data.repairName;
form.remark = data.remark;
+ form.reasonAnalysis = data.reasonAnalysis;
+ form.handlingMeasures = data.handlingMeasures;
form.status = data.status;
form.machineryCategory = data.machineryCategory;
form.storageBlobDTOs = data.storageBlobVOs || [];
form.maintenanceName = data.maintenanceName;
+ form.maintenanceTime = data.maintenanceTime;
+ form.maintenanceResult = data.maintenanceResult;
form.acceptanceName = data.acceptanceName;
form.acceptanceTime = data.acceptanceTime;
form.acceptanceRemark = data.acceptanceRemark;
+ sparePartsDetails.value = data.sparePartsUseListDetails || [];
};
const sendForm = async () => {
@@ -234,6 +310,7 @@
operationType.value = "add";
visible.value = true;
fileList.value = [];
+ sparePartsDetails.value = [];
await nextTick();
await loadDeviceName();
};
--
Gitblit v1.9.3