From 3667807a7b7418efc090ee3fa6a6b734bc3080bf Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Wed, 13 Sep 2023 20:36:29 +0800
Subject: [PATCH] Merge branch 'develop' of http://s16s652780.51mypc.cn:49896/r/yskj/iot_drone_web into develop
---
src/pages/page-web/projects/project_list/add_page/components/WeatherDrawer.vue | 31 ++++++++++++++++++++++++-------
1 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/src/pages/page-web/projects/project_list/add_page/components/WeatherDrawer.vue b/src/pages/page-web/projects/project_list/add_page/components/WeatherDrawer.vue
index e36a509..764e730 100644
--- a/src/pages/page-web/projects/project_list/add_page/components/WeatherDrawer.vue
+++ b/src/pages/page-web/projects/project_list/add_page/components/WeatherDrawer.vue
@@ -3,7 +3,7 @@
<div class="option">
<div class="option-item" :style="[model.projectBlocking[blocking.CLOUDBLOCKINGCONFIGENABLE]!==1?'border:none' : '']">
<span class="mr10">云端天气组飞设置</span>
- <a-switch :checkedValue="1" :unCheckedValue="2" v-model:checked="model.projectBlocking[blocking.CLOUDBLOCKINGCONFIGENABLE]" />
+ <a-switch :checkedValue="'1'" :unCheckedValue="'2'" v-model:checked="model.projectBlocking[blocking.CLOUDBLOCKINGCONFIGENABLE]" @change="changeEdit" />
<div v-if="model.projectBlocking[blocking.CLOUDBLOCKINGCONFIGENABLE]==1">
<p class="mt10 describe">当风速或雨量大于设置值时,将对机场的飞行器进行阻飞。</p>
</div>
@@ -13,12 +13,12 @@
<p class="mt10 describe">风速 (风速计) ≥12m/s 或 雨量 (雨量计) ≥大雨 </p>
</div>
</div>
- <div class="option-item" v-if="model.projectBlocking[blocking.CLOUDBLOCKINGCONFIGENABLE]==1">
+ <div class="option-item" v-if="model.projectBlocking[blocking.CLOUDBLOCKINGCONFIGENABLE]=='1'">
<span class="mr10">天气预报</span>
- <a-switch :checkedValue="1" :unCheckedValue="2" v-model:checked="model.projectBlocking[blocking.WEATHERREPORTENABLE]" />
+ <a-switch :checkedValue="'1'" :unCheckedValue="'2'" @change="changeEdit" v-model:checked="model.projectBlocking[blocking.WEATHERREPORTENABLE]" />
<p class="mt10 describe">天气阻飞将使用天气预报,同时也会使用机场风速计和雨量计数据。</p>
</div>
- <div class="option-item-edit" v-if="model.projectBlocking[blocking.CLOUDBLOCKINGCONFIGENABLE]==1">
+ <div class="option-item-edit" v-if="model.projectBlocking[blocking.CLOUDBLOCKINGCONFIGENABLE]=='1'">
<a-form ref="weatherFormRef" :model="FormWeatherModel" :rules="weatherRules">
<a-form-item :name="FormWeather.WINDSPEED" ref="windDevice">
<div class="edit-item flex-display flex-align-center flex-justify-between">
@@ -32,7 +32,7 @@
</div>
</div>
</a-form-item>
- <a-form-item :name="FormWeather.WINDSPEEDREPORT" v-if="model.projectBlocking.weatherReportEnable">
+ <a-form-item :name="FormWeather.WINDSPEEDREPORT" v-if="model.projectBlocking.weatherReportEnable==1">
<div class="edit-item flex-display flex-align-center flex-justify-between">
<div class="white-color">风速<span class="describe">(天气预报) (1-15m/s)</span></div>
<div class="form-option flex-display flex-align-center white-color">
@@ -75,7 +75,9 @@
import { weatherRules, FormWeather, rainSelect, WeatherEnum, } from './type'
import { ValidateErrorEntity } from 'ant-design-vue/es/form/interface'
import Select from '/@/components/Search/Select.vue'
+import { editProjectBlock } from '/@/api/project-page/index'
import { useVModel } from '/@/hooks/use-v-model'
+import { message } from 'ant-design-vue'
interface FormState {
[FormWeather.WINDSPEEDREPORT]: number
[FormWeather.WINDSPEED]: number
@@ -87,22 +89,37 @@
required: true
},
})
+const route = useRoute()
const emit = defineEmits(['update:modelValue'])
const model = useVModel(props, 'modelValue', emit)
const edit = ref(false)
const weatherFormRef = ref()
-const FormWeatherModel = ref<FormState>(cloneDeep(model.value.projectBlocking))
+const FormWeatherModel = ref<FormState>(cloneDeep({
+ [FormWeather.WINDSPEEDREPORT]: model.value.projectBlocking[FormWeather.WINDSPEEDREPORT],
+ [FormWeather.WINDSPEED]: model.value.projectBlocking[FormWeather.WINDSPEED],
+ [FormWeather.RAIN]: model.value.projectBlocking[FormWeather.RAIN],
+}))
const submit = () => {
weatherFormRef.value
.validate()
- .then(() => {
+ .then(async () => {
edit.value = false
model.value.projectBlocking = { ...model.value.projectBlocking, ...FormWeatherModel.value }
+ if (route.query.id) {
+ const res = await editProjectBlock(model.value.projectBlocking)
+ if (res.code !== 5000) return message.error(res.message)
+ }
})
.catch((error: ValidateErrorEntity<FormState>) => {
console.log('error', error)
})
}
+const changeEdit = async () => {
+ if (!route.query.id) return
+ model.value.projectBlocking = { ...model.value.projectBlocking, ...FormWeatherModel.value }
+ const res = await editProjectBlock(model.value.projectBlocking)
+ if (res.code !== 5000) return message.error(res.message)
+}
const cancel = () => {
FormWeatherModel.value = model.value.projectBlocking
edit.value = false
--
Gitblit v1.9.3