From fc70a46bf84cda4fbe53332f4abd84cf1227fe95 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期二, 11 十一月 2025 10:14:25 +0800
Subject: [PATCH] 新增气象极值
---
src/views/basicDataManage/areaManage/component/areaDialog.vue | 62 ++++++++++++++++++++++++++++++-
1 files changed, 60 insertions(+), 2 deletions(-)
diff --git a/src/views/basicDataManage/areaManage/component/areaDialog.vue b/src/views/basicDataManage/areaManage/component/areaDialog.vue
index 2223cf0..0b5c743 100644
--- a/src/views/basicDataManage/areaManage/component/areaDialog.vue
+++ b/src/views/basicDataManage/areaManage/component/areaDialog.vue
@@ -5,7 +5,7 @@
v-model="state.isShowUserDialog"
width="600px"
>
- <el-form :model="state.areaForm" size="default" ref="areaRef" :rules="state.areaFormRules" label-width="110px">
+ <el-form :model="state.areaForm" size="default" ref="areaRef" :rules="state.title == '查看区域' ? '' :state.areaFormRules" label-width="110px">
<el-form-item label="区域名称:" prop="areaName">
<el-input v-model.trim="state.areaForm.areaName" :disabled="state.disabled" ></el-input>
</el-form-item>
@@ -65,6 +65,8 @@
import {reactive, ref} from "vue";
import { AreaState } from "/@/types/areaManage";
import lngDialog from "./lngDialog.vue";
+import {areaManageApi} from "/@/api/basicDataManage/areaManage";
+import {ElMessage} from "element-plus/es";
const areaRef = ref();
const lngRef = ref();
@@ -74,6 +76,7 @@
title: '',
isShowUserDialog: false,
areaForm: {
+ id: '',
areaName: '',
areaLngLat: [],
areaColor: '',
@@ -86,6 +89,7 @@
});
const openDialog = (type: string, value: any) => {
state.isShowUserDialog = true;
+ reset();
if (type === '新增') {
state.disabled = false;
state.title = '新增区域';
@@ -99,7 +103,60 @@
state.areaForm = JSON.parse(JSON.stringify(value));
}
};
-const onSubmit = () => {
+const onSubmit = async () => {
+ if(state.title == '新增区域' || state.title == '修改区域') {
+ const valid = areaRef.value.validate();
+ if(valid){
+ if(state.title == '新增区域'){
+ const param = {
+ name: state.areaForm.areaName,
+ color: state.areaForm.areaColor,
+ regionLngLats: state.areaForm.areaLngLat.map(item => {
+ return {
+ lng: item.lng,
+ lat: item.lat
+ }
+ })
+ }
+ let res = await areaManageApi().addArea(param);
+ if(res.data.code == 100) {
+ ElMessage({
+ type: 'success',
+ message: '新增成功'
+ });
+ }else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ }else if(state.title == '修改区域'){
+ const param = {
+ id: state.areaForm.id,
+ name: state.areaForm.areaName,
+ color: state.areaForm.areaColor,
+ regionLngLats: state.areaForm.areaLngLat.map(item => {
+ return {
+ lng: item.lng,
+ lat: item.lat
+ }
+ })
+ }
+ let res = await areaManageApi().editArea(param);
+ if(res.data.code == 100) {
+ ElMessage({
+ type: 'success',
+ message: '修改成功'
+ });
+ }else {
+ ElMessage({
+ type: 'warning',
+ message: res.data.msg
+ });
+ }
+ }
+ }
+ }
console.log("form",state.areaForm)
areaRef.value.clearValidate();
state.isShowUserDialog = false;
@@ -115,6 +172,7 @@
}
const reset = () => {
state.areaForm = {
+ id: '',
areaName: '',
areaLngLat: [],
areaColor: '',
--
Gitblit v1.9.2