From fd0e3fd03817d6610c52b09fe27cccf0d3f96438 Mon Sep 17 00:00:00 2001 From: yaowanxin <3588231647@qq.com> Date: 星期二, 12 八月 2025 16:26:11 +0800 Subject: [PATCH] Merge branch 'dev_ai' of http://114.132.189.42:9002/r/product-inventory-management into ywx --- src/views/energyManagement/waterManagement/components/formDia.vue | 221 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 221 insertions(+), 0 deletions(-) diff --git a/src/views/energyManagement/waterManagement/components/formDia.vue b/src/views/energyManagement/waterManagement/components/formDia.vue new file mode 100644 index 0000000..2e58ea0 --- /dev/null +++ b/src/views/energyManagement/waterManagement/components/formDia.vue @@ -0,0 +1,221 @@ +<template> + <div> + <el-dialog + v-model="dialogFormVisible" + title="鐢ㄦ按璁惧" + width="70%" + @close="closeDia" + > + <el-form + :model="form" + label-width="140px" + label-position="top" + :rules="rules" + ref="formRef" + > + <el-row :gutter="30"> + <el-col :span="12"> + <el-form-item label="璁惧锛�" prop="deviceModel"> + <el-select + v-model="form.deviceModel" + placeholder="璇烽�夋嫨" + clearable + @change="setName" + :disabled="operationType !== 'add'" + > + <el-option + v-for="item in codeList" + :key="item.deviceModel" + :label="item.deviceName" + :value="item.deviceModel" + > + {{item.deviceName + '--' + item.deviceModel}} + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="姣忔棩闄愬埗姘撮噺锛�" prop="waterDayLimit"> + <el-input + v-model="form.waterDayLimit" + placeholder="璇疯緭鍏�" + clearable + /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="30"> + <el-col :span="12"> + <el-form-item label="棰濆畾娴侀噺锛�" prop="ratedRate"> + <el-input + v-model="form.ratedRate" + placeholder="璇疯緭鍏�" + clearable + /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="瀹為檯娴侀噺锛�" prop="actualTraffic"> + <el-input + v-model="form.actualTraffic" + placeholder="璇疯緭鍏�" + clearable + /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="30"> + <el-col :span="12"> + <el-form-item label="杩愯鏃堕棿锛�" prop="runTime"> + <el-date-picker + style="width: 100%" + v-model="form.runTime" + value-format="YYYY-MM-DD" + format="YYYY-MM-DD" + type="date" + placeholder="璇烽�夋嫨" + clearable + /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="褰撴棩鐢ㄦ按閲忥細" prop="waterDay"> + <el-input + v-model="form.waterDay" + placeholder="璇疯緭鍏�" + clearable + /> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="30"> + <el-col :span="12"> + <el-form-item label="姘磋垂鍗曚环锛�" prop="waterPrice"> + <el-input + v-model="form.waterPrice" + placeholder="璇疯緭鍏�" + clearable + /> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鐢ㄦ按绫诲瀷锛�" prop="type"> + <el-select + v-model="form.type" + placeholder="璇烽�夋嫨" + clearable + > + <el-option label="宸ヤ笟鐢ㄦ按" value="industrial" /> + <el-option label="鐢熸椿鐢ㄦ按" value="domestic" /> + <el-option label="娑堥槻鐢ㄦ按" value="fire" /> + <el-option label="缁垮寲鐢ㄦ按" value="greening" /> + </el-select> + </el-form-item> + </el-col> + </el-row> + </el-form> + <template #footer> + <div class="dialog-footer"> + <el-button type="primary" @click="submitForm">纭</el-button> + <el-button @click="closeDia">鍙栨秷</el-button> + </div> + </template> + </el-dialog> + </div> +</template> + +<script setup> +import {ref, reactive, nextTick} from "vue"; +import useUserStore from "@/store/modules/user.js"; +import {waterDeviceList, waterEquipmentAdd, waterEquipmentUpdate} from "@/api/energyManagement/waterManagement.js"; +const { proxy } = getCurrentInstance() +const emit = defineEmits(['close']) +const dialogFormVisible = ref(false); +const operationType = ref('') +const userStore = useUserStore(); + +const data = reactive({ + form: { + deviceName: "", + deviceModel: "", + waterDayLimit: "", + ratedRate: "", + actualTraffic: "", + runTime: "", + waterDay: "", + waterPrice: "", + type: "", + }, + rules: { + deviceModel: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], + runTime: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], + waterDayLimit: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], + ratedRate: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], + actualTraffic: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], + waterDay: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], + waterPrice: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], + type: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], + }, +}) +const { form, rules } = toRefs(data); +const codeList = ref([]) + +// 鎵撳紑寮规 +const openDialog = (type, row) => { + operationType.value = type; + dialogFormVisible.value = true; + form.value = {} + proxy.resetForm("formRef"); + waterDeviceList({size: -1}).then((res) => { + codeList.value = res.data.records; + }); + if (type === "edit") { + form.value = {...row} + } +} +const setName = (code) => { + const index = codeList.value.findIndex(item => item.deviceModel === code); + if (index > -1) { + console.log(codeList) + form.value.name = codeList.value[index].deviceName; + } +} +const submitForm = () => { + proxy.$refs["formRef"].validate(valid => { + if (valid) { + if (operationType.value === "add") { + waterEquipmentAdd(form.value).then(response => { + proxy.$modal.msgSuccess("鏂板鎴愬姛") + closeDia() + }) + } else { + waterEquipmentUpdate(form.value).then(response => { + proxy.$modal.msgSuccess("淇敼鎴愬姛") + closeDia() + }) + } + } + }) +} +// 鍏抽棴寮规 +const closeDia = () => { + proxy.resetForm("formRef"); + dialogFormVisible.value = false; + emit('close') +}; +// 鑾峰彇褰撳墠鏃ユ湡骞舵牸寮忓寲涓� YYYY-MM-DD +function getCurrentDate() { + const today = new Date(); + const year = today.getFullYear(); + const month = String(today.getMonth() + 1).padStart(2, "0"); // 鏈堜唤浠�0寮�濮� + const day = String(today.getDate()).padStart(2, "0"); + return `${year}-${month}-${day}`; +} +defineExpose({ + openDialog, +}); +</script> + +<style scoped> + +</style> -- Gitblit v1.9.3