From 15669173497dce16b5d0f17bf4bef36c0d87115c Mon Sep 17 00:00:00 2001 From: zhouwenxuan <1175765986@qq.com> Date: 星期三, 30 八月 2023 17:23:44 +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