From 0d0a26f9c6af83e04909412dea29921f16ad1b2e Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 14 八月 2025 17:16:07 +0800
Subject: [PATCH] 重写用电区域,设备能耗添加用电区域字段

---
 src/views/energyManagement/energyPower/components/formDia.vue |   55 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 48 insertions(+), 7 deletions(-)

diff --git a/src/views/energyManagement/energyPower/components/formDia.vue b/src/views/energyManagement/energyPower/components/formDia.vue
index 30f1c36..518a254 100644
--- a/src/views/energyManagement/energyPower/components/formDia.vue
+++ b/src/views/energyManagement/energyPower/components/formDia.vue
@@ -35,6 +35,25 @@
 						</el-form-item>
 					</el-col>
 					<el-col :span="12">
+						<el-form-item label="鐢ㄧ數娑堣�楀尯鍩燂細" prop="electricityConsumptionAreaId">
+							<el-cascader
+								v-model="form.electricityConsumptionAreaId"
+								:options="areaList"
+								:props="{
+									value: 'id',
+									label: 'label',
+									children: 'children',
+									checkStrictly: true,
+								}"
+								placeholder="璇烽�夋嫨鍖哄煙"
+								clearable
+								style="width: 100%"
+							/>
+						</el-form-item>
+					</el-col>
+				</el-row>
+				<el-row :gutter="30">
+					<el-col :span="12">
 						<el-form-item label="姣忔棩闄愬埗鐢甸噺锛�" prop="everyNum">
 							<el-input
 								v-model="form.everyNum"
@@ -43,8 +62,6 @@
 							/>
 						</el-form-item>
 					</el-col>
-				</el-row>
-				<el-row :gutter="30">
 					<el-col :span="12">
 						<el-form-item label="棰濆畾鍔熺巼锛�" prop="powerRating">
 							<el-input
@@ -54,6 +71,8 @@
 							/>
 						</el-form-item>
 					</el-col>
+				</el-row>
+				<el-row :gutter="30">
 					<el-col :span="12">
 						<el-form-item label="瀹為檯鍔熺巼锛�" prop="powerActual">
 							<el-input
@@ -63,8 +82,6 @@
 							/>
 						</el-form-item>
 					</el-col>
-				</el-row>
-				<el-row :gutter="30">
 					<el-col :span="12">
 						<el-form-item label="杩愯鏃堕棿锛�" prop="runDate">
 							<el-date-picker
@@ -78,6 +95,8 @@
 							/>
 						</el-form-item>
 					</el-col>
+				</el-row>
+				<el-row :gutter="30">
 					<el-col :span="12">
 						<el-form-item label="褰撴棩鐢ㄧ數閲忥細" prop="dayNum">
 							<el-input
@@ -102,7 +121,7 @@
 <script setup>
 import {ref} from "vue";
 import useUserStore from "@/store/modules/user.js";
-import {deviceList, equipmentEnergyAdd, equipmentEnergyUpdate} from "@/api/energyManagement/index.js";
+import {deviceList, equipmentEnergyAdd, equipmentEnergyUpdate, areaListTree} from "@/api/energyManagement/index.js";
 const { proxy } = getCurrentInstance()
 const emit = defineEmits(['close'])
 const dialogFormVisible = ref(false);
@@ -118,6 +137,7 @@
 		powerActual: "",
 		runDate: "",
 		dayNum: "",
+		electricityConsumptionAreaId: "",
 	},
 	rules: {
 		code: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
@@ -126,10 +146,12 @@
 		powerRating: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
 		powerActual: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
 		dayNum: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+		electricityConsumptionAreaId: [{ required: true, message: "璇烽�夋嫨鍖哄煙", trigger: "change" }],
 	},
 })
 const { form, rules } = toRefs(data);
 const codeList = ref([])
+const areaList = ref([])
 
 // 鎵撳紑寮规
 const openDialog = (type, row) => {
@@ -139,11 +161,24 @@
 	// form.value.maintenanceTime = getCurrentDate();
 	form.value = {}
 	proxy.resetForm("formRef");
+	
+	// 鑾峰彇璁惧鍒楄〃
 	deviceList().then((res) => {
 		codeList.value = res.data;
 	});
+	
+	// 鑾峰彇鍖哄煙鍒楄〃
+	areaListTree().then((res) => {
+		areaList.value = res;
+		console.log("areaList", res);
+	});
+	
 	if (type === "edit") {
 		form.value = {...row}
+		// 缂栬緫鏃讹紝灏嗗崟涓狪D杞崲涓烘暟缁勬牸寮忕敤浜庡洖鏄�
+		if (row.electricityConsumptionAreaId) {
+			form.value.electricityConsumptionAreaId = [row.electricityConsumptionAreaId];
+		}
 	}
 }
 const setName = (code) => {
@@ -156,13 +191,19 @@
 const submitForm = () => {
 	proxy.$refs["formRef"].validate(valid => {
 		if (valid) {
+			// 鎻愪氦鍓嶅鐞� electricityConsumptionAreaId锛屽彇鏁扮粍鐨勬渶鍚庝竴涓��
+			const submitData = { ...form.value };
+			if (Array.isArray(submitData.electricityConsumptionAreaId) && submitData.electricityConsumptionAreaId.length > 0) {
+				submitData.electricityConsumptionAreaId = submitData.electricityConsumptionAreaId[submitData.electricityConsumptionAreaId.length - 1];
+			}
+			
 			if (operationType.value === "add") {
-				equipmentEnergyAdd(form.value).then(response => {
+				equipmentEnergyAdd(submitData).then(response => {
 					proxy.$modal.msgSuccess("鏂板鎴愬姛")
 					closeDia()
 				})
 			} else {
-				equipmentEnergyUpdate(form.value).then(response => {
+				equipmentEnergyUpdate(submitData).then(response => {
 					proxy.$modal.msgSuccess("淇敼鎴愬姛")
 					closeDia()
 				})

--
Gitblit v1.9.3