From 3e531ec229f2c02150c4edeef2a7f9026141c049 Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Mon, 02 Feb 2026 14:08:14 +0800
Subject: [PATCH] feat:更新计划申请
---
uniapps/work-wx/src/subPackages/flightApplication/add.vue | 151 ++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 127 insertions(+), 24 deletions(-)
diff --git a/uniapps/work-wx/src/subPackages/flightApplication/add.vue b/uniapps/work-wx/src/subPackages/flightApplication/add.vue
index bfb7db3..971bff7 100644
--- a/uniapps/work-wx/src/subPackages/flightApplication/add.vue
+++ b/uniapps/work-wx/src/subPackages/flightApplication/add.vue
@@ -209,14 +209,14 @@
<u-form-item
label="飞行器"
labelWidth="230rpx"
- prop="aircraftId"
+ prop="spacecraftText"
:borderBottom="true"
required
ref="item2"
@click="isShowAircraftInfo = true"
>
<u-input
- v-model="formParams.aircraftText"
+ v-model="formParams.spacecraftText"
disabled
disabledColor="#ffffff"
placeholder="请选择"
@@ -231,7 +231,7 @@
<u-form-item
label="飞手"
labelWidth="230rpx"
- prop="pilotId"
+ prop="pilotText"
:borderBottom="true"
ref="item2"
required
@@ -276,7 +276,7 @@
<u-form-item
label="航线"
labelWidth="230rpx"
- prop="routeId"
+ prop="selectedRouteId"
:borderBottom="true"
ref="item2"
required
@@ -350,21 +350,85 @@
<!-- <u-calendar :show="isShowTimeRange" mode="date" @confirm="onConfirmTimeRange" @close="isShowTimeRange = false" :close-on-click-overlay="true"></u-calendar> -->
<!-- <u-calendar :show="isShowTimeRange" mode="range" @confirm="onConfirmTimeRange" @close="isShowTimeRange = false" :close-on-click-overlay="true" :allow-same-day="true" :show-time="true" time-format="HH:mm:ss"></u-calendar> -->
<!-- 飞行器 -->
- <u-picker
+ <!-- <u-picker
:show="isShowAircraftInfo"
:columns="[aircraftInfoList]"
keyName="label"
@confirm="onPickerAircraftInfo"
@cancel="isShowAircraftInfo = false"
- />
+ /> -->
+ <u-popup
+ :show="isShowAircraftInfo"
+ mode="bottom"
+ round="20"
+ @close="isShowAircraftInfo = false"
+ >
+ <scroll-view scroll-y>
+ <view class="select-header">
+ <view>请选择飞行器</view>
+ <view class="select-header-btn">
+ <view class="cancel-btn" @click="isShowAircraftInfo = false">取消</view>
+ <view @click="onPickerAircraftInfo">确定</view>
+ </view>
+ </view>
+ <view class="select-content">
+ <up-checkbox-group
+ v-model="formParams.spacecraftId"
+ placement="column"
+ @change="checkboxChange"
+ >
+ <up-checkbox
+ :customStyle="{marginBottom: '8px'}"
+ v-for="(item, index) in aircraftInfoList"
+ :key="item.id"
+ :label="item.label"
+ :name="item.value"
+ >
+ </up-checkbox>
+ </up-checkbox-group>
+ </view>
+ </scroll-view>
+ </u-popup>
<!-- 飞手 -->
- <u-picker
+ <!-- <u-picker
:show="isShowPilotInfo"
:columns="[pilotInfoList]"
keyName="label"
@confirm="onPickerPilotInfo"
@cancel="isShowPilotInfo = false"
- />
+ /> -->
+ <u-popup
+ :show="isShowPilotInfo"
+ mode="bottom"
+ round="20"
+ @close="isShowPilotInfo = false"
+ >
+ <scroll-view scroll-y>
+ <view class="select-header">
+ <view>请选择飞手</view>
+ <view class="select-header-btn">
+ <view class="cancel-btn" @click="isShowPilotInfo = false">取消</view>
+ <view @click="onPickerPilotInfo">确定</view>
+ </view>
+ </view>
+ <view class="select-content">
+ <up-checkbox-group
+ v-model="formParams.pilotId"
+ placement="column"
+ @change="checkboxPilotChange"
+ >
+ <up-checkbox
+ :customStyle="{marginBottom: '8px'}"
+ v-for="(item, index) in pilotInfoList"
+ :key="item.id"
+ :label="item.label"
+ :name="item.value"
+ >
+ </up-checkbox>
+ </up-checkbox-group>
+ </view>
+ </scroll-view>
+ </u-popup>
<!-- 空域 -->
<u-picker
:show="isShowAirspaceInfo"
@@ -427,13 +491,13 @@
flightStartTime: '', // 飞行活动开始时间
flightEndTime: '', // 飞行活动结束时间
weatherCondition: '', // 气象条件
- spacecraftId: '', // 航天器id
+ spacecraftId: [], // 航天器id
spacecraftText: '', // 航天器文本
- pilotId: '', // 飞手id
+ pilotId: [], // 飞手id
pilotText: '', // 飞手文本
airspaceId: '', // 空域id
airspaceText: '', // 空域文本
- routeId: '', // 航线id
+ selectedRouteId: '', // 航线id
routeText: '', // 航线文本
})
const rules = ref({
@@ -491,16 +555,16 @@
endTime: [
{ required: true, message: '请选择飞行活动结束时间', trigger: 'change' }
],
- spacecraftId: [
+ spacecraftText: [
{ required: true, message: '请选择飞行器', trigger: 'change' }
],
- pilotId: [
+ pilotText: [
{ required: true, message: '请选择飞手', trigger: 'change' }
],
airspaceId: [
{ required: true, message: '请选择空域', trigger: 'change' }
],
- routeId: [
+ selectedRouteId: [
{ required: true, message: '请选择航线', trigger: 'change' }
],
})
@@ -550,11 +614,11 @@
const endTime = ref(Date.now()); // 设置默认值为当前时间戳
const onConfirmStartTime = (e) => {
- formParams.value.flightStartTime = dayjs(e.value).format('YYYY-MM-DD HH:mm')
+ formParams.value.flightStartTime = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss')
isShowStartTime.value = false
}
const onConfirmEndTime = (e) => {
- formParams.value.flightEndTime = dayjs(e.value).format('YYYY-MM-DD HH:mm')
+ formParams.value.flightEndTime = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss')
isShowEndTime.value = false
}
@@ -574,10 +638,17 @@
}))
})
}
-const onPickerAircraftInfo = (e) => {
- const selected = e.value[0]
- formParams.value.aircraftId = selected.value
- formParams.value.aircraftText = selected.label
+// const onPickerAircraftInfo = (e) => {
+// const selected = e.value[0]
+// formParams.value.spacecraftId = selected.value
+// formParams.value.aircraftText = selected.label
+// isShowAircraftInfo.value = false
+// }
+function checkboxChange(val) {
+ formParams.value.spacecraftId = val.join(',')
+ formParams.value.spacecraftText = aircraftInfoList.value.filter(item => val.includes(item.value)).map(item => item.label).join(',')
+}
+const onPickerAircraftInfo = () => {
isShowAircraftInfo.value = false
}
// 获取飞手信息
@@ -594,10 +665,14 @@
}))
})
}
+function checkboxPilotChange(val) {
+ formParams.value.pilotId = val.join(',')
+ formParams.value.pilotText = pilotInfoList.value.filter(item => val.includes(item.value)).map(item => item.label).join(',')
+}
const onPickerPilotInfo = (e) => {
- const selected = e.value[0]
- formParams.value.pilotId = selected.value
- formParams.value.pilotText = selected.label
+// const selected = e.value[0]
+// formParams.value.pilotId = selected.value
+// formParams.value.pilotText = selected.label
isShowPilotInfo.value = false
}
// 获取空域信息
@@ -636,7 +711,7 @@
}
const onPickerFlightRouteInfo = (e) => {
const selected = e.value[0]
- formParams.value.routeId = selected.value
+ formParams.value.selectedRouteId = selected.value
formParams.value.routeText = selected.label
isShowFlightRouteInfo.value = false
}
@@ -866,5 +941,33 @@
margin-right: 8rpx;
}
}
+
+ .uni-scroll-view {
+ display: flex;
+ flex-direction: column;
+ }
+
+ .select-header {
+ display: flex;
+ justify-content: space-between;
+ padding: 20rpx 20rpx;
+ font-size: 32rpx;
+ color: #222324;
+ .select-header-btn {
+ display: flex;
+ font-size: 28rpx;
+ color: #1D6FE9;
+ .cancel-btn {
+ color: #86909C;
+ margin-right: 20rpx;
+ }
+ }
+ }
+
+ .select-content {
+ height: 400rpx;
+ text-align: center;
+ padding: 20rpx 20rpx;
+ }
}
</style>
--
Gitblit v1.9.3