From 6509e017a883be53bc8f6809c78fdc9129c12a6f Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Sat, 17 Jan 2026 16:47:23 +0800
Subject: [PATCH] feat:更新小程序

---
 uniapps/work-wx/src/subPackages/deviceRegistration/details.vue |  443 +++++++++++++++++++++++++++
 uniapps/work-wx/src/subPackages/flightApplication/details.vue  |  509 +++++++++++++++++++++++++++++++
 2 files changed, 952 insertions(+), 0 deletions(-)

diff --git a/uniapps/work-wx/src/subPackages/deviceRegistration/details.vue b/uniapps/work-wx/src/subPackages/deviceRegistration/details.vue
new file mode 100644
index 0000000..5e7971e
--- /dev/null
+++ b/uniapps/work-wx/src/subPackages/deviceRegistration/details.vue
@@ -0,0 +1,443 @@
+<!-- 飞行器详情 -->
+<template>
+<view class="deviceRegistration">
+    <u-form labelPosition="top" :model="formParams" :rules="rules" ref="formRef">
+        <u-form-item
+                label="飞行器名称"
+                labelWidth="200rpx"
+                prop="name"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input v-model="formParams.name" border="none" placeholder="请输入"></u-input>
+        </u-form-item>
+        <u-form-item
+                label="SN(出厂序列号)"
+                labelWidth="230rpx"
+                prop="sn"
+                :borderBottom="true"
+                ref="item2"
+        >
+            <u-input v-model="formParams.sn" border="none" placeholder="请输入"></u-input>
+        </u-form-item>
+        <u-form-item
+                label="飞行器厂商"
+                labelWidth="230rpx"
+                prop="manufacturer"
+                :borderBottom="true"
+                ref="item2"
+        >
+            <u-input
+                v-model="formParams.manufacturer"
+                disabled
+                disabledColor="#ffffff"
+                placeholder="请选择飞行器厂商"
+                border="none"
+            ></u-input>
+        </u-form-item>
+        <u-form-item
+                label="飞行器型号"
+                labelWidth="200rpx"
+                prop="model"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input v-model="formParams.model" border="none" placeholder="请输入"></u-input>
+        </u-form-item>
+        <u-form-item
+                label="是否改装"
+                labelWidth="200rpx"
+                prop="isModified"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input
+                v-model="formParams.isModified"
+                disabled
+                disabledColor="#ffffff"
+                placeholder="请选择是否改装"
+                border="none"
+            ></u-input>
+        </u-form-item>
+        <u-form-item
+                label="飞行器类型"
+                labelWidth="200rpx"
+                prop="type"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input
+                v-model="formParams.type"
+                disabled
+                disabledColor="#ffffff"
+                placeholder="请选择飞行器类型"
+                border="none"
+            ></u-input>
+        </u-form-item>
+         <u-form-item
+                label="持有人"
+                labelWidth="200rpx"
+                prop="holder"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input
+                    v-model="formParams.holder"
+                    border="none"
+                    placeholder="请输入"
+            ></u-input>
+        </u-form-item>
+         <u-form-item
+                label="购买日期"
+                labelWidth="200rpx"
+                prop="purchaseDate"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input v-model="formParams.purchaseDate" border="none" placeholder="请选择日期" suffixIcon="calendar"></u-input>
+        </u-form-item>
+        <u-form-item
+                label="有无保险"
+                labelWidth="230rpx"
+                prop="hasInsurance"
+                :borderBottom="true"
+                ref="item2"
+        >
+            <u-input
+                v-model="formParams.hasInsurance"
+                disabled
+                disabledColor="#ffffff"
+                placeholder="请选择有无保险"
+                border="none"
+            ></u-input>
+        </u-form-item>
+        <u-form-item
+                label="所属区域"
+                labelWidth="230rpx"
+                prop="region"
+                :borderBottom="true"
+                ref="item2"
+        >
+            <u-input
+                v-model="formParams.region"
+                disabled
+                disabledColor="#ffffff"
+                placeholder="请选择所属区域"
+                border="none"
+            ></u-input>
+        </u-form-item>
+        <u-form-item
+                label="民用航空器登记证书"
+                labelWidth="300rpx"
+                prop="caacRegistrationCode"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input
+                    v-model="formParams.caacRegistrationCode"
+                    border="none"
+                    placeholder="请输入"
+            ></u-input>
+        </u-form-item>
+        <u-form-item
+                label="飞行器照片"
+                labelWidth="200rpx"
+                prop="deviceImage"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input
+                    v-model="formParams.deviceImage"
+                    border="none"
+                    placeholder="请输入"
+            ></u-input>
+        </u-form-item>
+        <u-form-item
+                label="备注"
+                labelWidth="200rpx"
+                prop="remarks"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input
+                    v-model="formParams.remarks"
+                    border="none"
+                    placeholder="请输入"
+            ></u-input>
+        </u-form-item>
+    </u-form>
+</view>
+</template>
+<script setup>
+import { aircraftInfoSaveApi,uploadFileApi, areaDataApi, proTypeApi, manufacturerInfoApi, aircraftInfoDetailsApi } from '@/api/index'
+import { ref, computed, onMounted } from 'vue'
+import dayjs from 'dayjs'
+import { onHide, onShow, onLoad } from "@dcloudio/uni-app";
+
+const formRef = ref(null);
+const formParams = ref({
+    name: '',
+    manufacturer: '', // 制造商
+    manufacturerText: '', // 制造商文本
+    model: '', // 型号
+    sn: '', // sn编号
+    type: '', // 航空器类型
+    typeText: '', // 航空器类型文本
+    holder: '', // 持有人
+    pilotId: '', // 飞行员id
+    status: '', // 状态 飞行器状态:0-未激活,1-正常,2-维修中,3-报废:
+    purchaseDate: '', // 购买日期
+    isModified: '', // 是否改装 0否 1是:
+    isModifiedText: '', // 是否改装文本
+    hasInsurance: '', // 是否有保险
+    hasInsuranceText: '', // 是否有保险文本
+    region: '', // 所属区域
+    regionCode: '', // 所属区域
+    regionText: '', // 所属区域文本
+    caacRegistrationCode: '', // 民用航空器登记证书
+    caacRegistrationCodeText: '', // 民用航空器登记证书文本
+    deviceImage: '', // 飞行器照片
+    deviceImageText: '', // 飞行器照片文本
+    remarks: '', // 备注
+})
+
+const rules = ref({})
+// 是否改装
+const actionsModified = ref([
+    {
+        label: '否',
+        value: 0
+    },
+    {
+        label: '是',
+        value: 1
+    }
+])
+const showIsModified = ref(false);
+const onPickerConfirm = (e) => {
+  const selected = e.value[0]
+  formParams.value.isModified = selected.value
+  formParams.value.isModifiedText = selected.label
+  showIsModified.value = false
+}
+const showPurchaseDate = ref(false);
+const birthdayValue = ref(Date.now()); // 设置默认值为当前时间戳
+// 购买日期
+const onPurchaseDate = (e) => {
+    formParams.value.purchaseDate = dayjs(e.value).format('YYYY-MM-DD')
+    showPurchaseDate.value = false
+}
+
+const findRegionNamesByCodes = (codes, areaData) => {
+  const result = []
+  let currentData = areaData
+  
+  for (const code of codes) {
+    // 转换为字符串比较(因为code可能是字符串类型)
+    const codeStr = code.toString()
+    const item = currentData.find(item => item.code === codeStr)
+    
+    if (!item) {
+      console.warn(`未找到code为 ${codeStr} 的行政区划`)
+      break
+    }
+    
+    result.push(item.name)
+    currentData = item.children || []
+  }
+  
+  return result
+}
+
+// 所属区域确认
+const onRegionConfirm = (e) => {
+    console.log(e,'888')
+    formParams.value.region = e?.join(',')[2] || '' // 用逗号分隔的区域码
+    // 通过arrRegion的数组值为[36,3608,360824] 从areaData里面反查出名称
+    const regionNames = findRegionNamesByCodes(e, areaData.value)
+    console.log(regionNames, '77777')
+    formParams.value.regionText = regionNames.join('-') || '' // 用连字符连接的区域名称
+    isShowRegion.value = false  
+}
+// 是否有保险
+const actionsHasInsurance = ref([
+    {
+        label: '无',
+        value: '0'
+    },
+    {
+        label: '有',
+        value: '1'
+    }
+])
+const showHasInsurance = ref(false);
+const onPickerConfirmHasInsurance = (e) => {
+  const selected = e.value[0]
+  formParams.value.hasInsurance = selected.value
+  formParams.value.hasInsuranceText = selected.label
+  showHasInsurance.value = false
+}
+// 飞行器厂商
+const showManufacturer = ref(false);
+const manufacturerList = ref([])
+// 选择飞行器厂商
+const onPickerConfirmManufacturer = (e) => {
+  const selected = e.value[0]
+  formParams.value.manufacturer = selected.value
+  formParams.value.manufacturerText = selected.label
+  showManufacturer.value = false
+}
+// 飞行器型号
+const showType = ref(false);
+const typeList = ref([])
+// 选择飞行器型号
+const onPickerConfirmType = (e) => {
+  const selected = e.value[0]
+  formParams.value.type = selected.value
+  formParams.value.typeText = selected.label
+  showType.value = false
+}
+// 获取所属单位
+const isShowRegion = ref(false)
+const areaData = ref([])
+// function getAreaData() {
+//     areaDataApi().then(res => {
+//         if (res.data.code === 200) {
+//             areaData.value = res.data.data
+//         }
+//     })
+// }
+// 获取飞行器类型
+function getProTypeApi() {
+    proTypeApi().then(res => {
+        typeList.value = res.data.data.map(item => ({
+            ...item,
+            label: item.dictLabel,
+            value: item.dictValue
+        }))
+    })
+}
+// 获取无人机厂商
+function getManufacturerInfoApi() {
+    manufacturerInfoApi({
+        current: 1,
+        size: 1000,
+    }).then(res => {
+        manufacturerList.value = res.data.data.records.map(item => ({
+            ...item,
+            label: item.unitName,
+            value: item.id,
+        }))
+    })
+}
+onLoad((options) => {
+    aircraftInfoDetailsApi(options.id).then(res => {
+        formParams.value = res.data.data
+        formParams.value.isModified = res.data.data.isModified ? '是' : '否'
+        formParams.value.hasInsurance = res.data.data.hasInsurance === '1' ? '有' : '无'
+        formParams.value.manufacturer = manufacturerList.value.find(item => item.value === res.data.data.manufacturer)?.label || ''
+        formParams.value.type = typeList.value.find(item => item.value === res.data.data.type)?.label || ''
+        formParams.value.region = res.data.data.region
+    })
+    
+    
+})
+onMounted(async () => {
+    getProTypeApi()
+    getManufacturerInfoApi()
+    // 动态导入xzqhData,确保在使用前已初始化
+    const { xzqhData } = await import('@/static/xzqh/index')
+    areaData.value = xzqhData
+})
+</script>
+<style scoped lang="scss">
+.deviceRegistration {
+    width: 100%;
+    height: 100%;
+    display: flex;
+    flex-direction: column;
+    // padding: 24rpx;
+    
+    .select-wrapper {
+        position: relative;
+        width: 100%;
+        
+        .select-icon {
+            position: absolute;
+            right: 20rpx;
+            top: 50%;
+            transform: translateY(-50%);
+            color: #999;
+            font-size: 24rpx;
+            pointer-events: none;
+        }
+    }
+
+    .upload {
+        font-family: Source Han Sans CN, Source Han Sans CN;
+        font-weight: 400;
+        font-size: 15px;
+        color: #1D6FE9;
+    }
+
+    :deep(.u-form) {
+        flex: 1;
+        display: flex;
+        flex-direction: column;
+        overflow-y: auto;
+        box-sizing: border-box;
+        padding: 24rpx;
+    }
+
+    :deep(.u-button) {
+        width: 80%;
+        padding: 28rpx;
+        border-radius: 8rpx 8rpx 8rpx 8rpx;
+        margin-bottom: 20rpx;
+    }
+    
+    :deep(.u-form-item) {
+        margin-bottom: 40rpx;
+        padding: 16rpx 24rpx 18rpx 24rpx;
+        border-radius: 6px 6px 6px 6px;
+        background: white;
+        :deep(.u-line) {
+            border-bottom: 1px solid #EFEFEF;
+        }
+        :deep(.u-input) {
+            width: 100%;
+            height: 80rpx;
+            border-radius: 8rpx;
+            padding: 0 20rpx;
+            background-color: #f5f5f5;
+            
+            &::placeholder {
+                font-family: Source Han Sans CN, Source Han Sans CN;
+                font-weight: 400;
+                font-size: 30rpx;
+                color: #D2D2D2;
+            }
+        }
+        
+        .clickable-input {
+            width: 100%;
+            cursor: pointer;
+        }
+        
+        :deep(.u-form-item__label) {
+            margin-bottom: 20rpx;
+            // font-weight: bold;
+            // color: #333;
+            font-family: Source Han Sans CN, Source Han Sans CN;
+            font-weight: 400;
+            font-size: 30rpx;
+            color: #222324;
+        }
+        
+        :deep(.u-form-item__required) {
+            color: #FF2600;
+            margin-right: 8rpx;
+        }
+    }
+}
+</style>
diff --git a/uniapps/work-wx/src/subPackages/flightApplication/details.vue b/uniapps/work-wx/src/subPackages/flightApplication/details.vue
new file mode 100644
index 0000000..af57ef4
--- /dev/null
+++ b/uniapps/work-wx/src/subPackages/flightApplication/details.vue
@@ -0,0 +1,509 @@
+<!-- 飞行活动申请 -->
+<template>
+<view class="flightApplication-add">
+    <view class="title">
+        基本信息
+    </view>
+    <u-form labelPosition="top" :model="formParams" :rules="rules" ref="formRef">
+        <u-form-item
+                label="飞行计划"
+                labelWidth="200rpx"
+                prop="flightPlanName"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input v-model="formParams.flightPlanName" border="none" placeholder="请输入飞行计划名称"></u-input>
+        </u-form-item>
+        <u-form-item
+                label="任务类型"
+                labelWidth="230rpx"
+                prop="flightTaskType"
+                :borderBottom="true"
+                ref="item2"
+        >
+            <u-input
+                v-model="formParams.flightTaskType"
+                disabled
+                disabledColor="#ffffff"
+                placeholder="请选择任务类型"
+                border="none"
+            ></u-input>
+        </u-form-item>
+        <u-form-item
+                label="飞行规则"
+                labelWidth="230rpx"
+                prop="flightRule"
+                :borderBottom="true"
+                ref="item2"
+        >
+            <u-input
+                v-model="formParams.flightRule"
+                disabled
+                disabledColor="#ffffff"
+                placeholder="请选择飞行规则"
+                border="none"
+            ></u-input>
+        </u-form-item>
+        <u-form-item
+                label="飞行方式"
+                labelWidth="200rpx"
+                prop="flightMode"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input
+                v-model="formParams.flightMode"
+                disabled
+                disabledColor="#ffffff"
+                placeholder="请选择飞行方式"
+                border="none"
+            ></u-input>
+        </u-form-item>
+        <u-form-item
+                label="飞行活动开始日期"
+                labelWidth="260rpx"
+                prop="flightStartTime"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input v-model="formParams.flightStartTime" border="none" placeholder="请选择日期" suffixIcon="calendar"></u-input>
+        </u-form-item>
+         <u-form-item
+                label="飞行活动结束日期"
+                labelWidth="260rpx"
+                prop="flightEndTime"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input v-model="formParams.flightEndTime" border="none" placeholder="请选择日期" suffixIcon="calendar"></u-input>
+        </u-form-item>
+        
+        <u-form-item
+                label="计划类型"
+                labelWidth="200rpx"
+                prop="planType"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input
+                v-model="formParams.planType"
+                disabled
+                disabledColor="#ffffff"
+                placeholder="请选择计划类型"
+                border="none"
+            ></u-input>
+        </u-form-item>
+         <u-form-item
+                label="联系人"
+                labelWidth="200rpx"
+                prop="contactPerson"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input v-model="formParams.contactPerson" border="none" placeholder="请输入"></u-input>
+        </u-form-item>
+        <u-form-item
+                label="联系电话"
+                labelWidth="200rpx"
+                prop="contactPhone"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input v-model="formParams.contactPhone" border="none" placeholder="请输入"></u-input>
+        </u-form-item>
+        <u-form-item
+                label="承办人"
+                labelWidth="200rpx"
+                prop="undertaker"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input v-model="formParams.undertaker" border="none" placeholder="请输入"></u-input>
+        </u-form-item>
+        <u-form-item
+                label="承办人联系电话"
+                labelWidth="300rpx"
+                prop="undertakerPhone"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input v-model="formParams.undertakerPhone" border="none" placeholder="请输入"></u-input>
+        </u-form-item>
+        <u-form-item
+                label="临时空域批件"
+                labelWidth="200rpx"
+                prop="aircraftName"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input v-model="formParams.tempAirspaceApproval" border="none" readonly></u-input>
+        </u-form-item>
+        <u-form-item
+                label="气象条件"
+                labelWidth="200rpx"
+                prop="weatherCondition"
+                :borderBottom="true"
+                ref="item1"
+        >
+            <u-input
+                    v-model="formParams.weatherCondition"
+                    border="none"
+                    placeholder="请输入"
+            ></u-input>
+        </u-form-item>
+         <view class="title form-title">飞行器/飞手</view>
+        <u-form-item
+                label="飞行器"
+                labelWidth="230rpx"
+                prop="aircraftId"
+                :borderBottom="true"
+                ref="item2"
+        >
+            <u-input
+                v-model="formParams.aircraftId"
+                disabled
+                disabledColor="#ffffff"
+                placeholder="请选择飞行器"
+                border="none"
+            ></u-input>
+        </u-form-item>
+        <u-form-item
+                label="飞手"
+                labelWidth="230rpx"
+                prop="pilotId"
+                :borderBottom="true"
+                ref="item2"
+        >
+            <u-input
+                v-model="formParams.pilotId"
+                disabled
+                disabledColor="#ffffff"
+                placeholder="请选择飞手"
+                border="none"
+            ></u-input>
+        </u-form-item>
+        <view class="title form-title">空域/航线/场点</view>
+        <u-form-item
+                label="空域"
+                labelWidth="230rpx"
+                prop="airspaceId"
+                :borderBottom="true"
+                ref="item2"
+        >
+            <u-input
+                v-model="formParams.airspaceId"
+                disabled
+                disabledColor="#ffffff"
+                placeholder="请选择空域"
+                border="none"
+            ></u-input>
+        </u-form-item>
+        <u-form-item
+                label="航线"
+                labelWidth="230rpx"
+                prop="routeId"
+                :borderBottom="true"
+                ref="item2"
+        >
+            <u-input
+                v-model="formParams.routeId"
+                disabled
+                disabledColor="#ffffff"
+                placeholder="请选择航线"
+                border="none"
+            ></u-input>
+        </u-form-item>
+    </u-form>
+</view>
+</template>
+<script setup>
+import { flightPlanSaveApi, 
+    flightRoutePageInfoApi, 
+    aircraftInfoPageInfoOfMyApi, 
+    pilotInfoPageInfoOfMyApi, 
+    flightAirspacePageInfoApi, 
+    uploadFileApi,
+    flightTaskApi,flightRulesApi,flightModeApi,flightPlanApi,flightPlanDetailsApi
+ } from '@/api/index'
+import { ref, computed, onMounted } from 'vue'
+import dayjs from 'dayjs'
+
+const formRef = ref(null);
+const formParams = ref({})
+const rules = ref({})
+// 任务类型
+const isShowFlightTaskType = ref(false)
+const actionsFlightTaskType = ref([])
+
+
+// 飞行规则
+const isShowFlightRule = ref(false)
+const actionsFlightRule = ref([])
+
+// 飞行方式
+const isShowFlightMode = ref(false)
+const actionsFlightMode = ref([])
+
+// 计划类型
+const isShowPlanType = ref(false)
+const actionsPlanType = ref([])
+
+// 是否显示开始时间选择器
+const isShowStartTime = ref(false)
+// 是否显示结束时间选择器
+const isShowEndTime = ref(false)
+const startTime = ref(Date.now()); // 设置默认值为当前时间戳
+const endTime = ref(Date.now()); // 设置默认值为当前时间戳
+
+const onConfirmStartTime = (e) => {
+    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:ss')
+    isShowEndTime.value = false
+}
+
+
+
+// 获取飞行器信息
+const isShowAircraftInfo = ref(false)
+const aircraftInfoList = ref([])
+function getAircraftInfo() {
+    aircraftInfoPageInfoOfMyApi({
+        current: 1,
+        size: 1000,
+    }).then(res => {
+        aircraftInfoList.value = res.data.data.records.map(item => ({
+            label: item.name || '暂无',
+            value: item.id,
+        }))
+    })
+}
+const onPickerAircraftInfo = (e) => {
+  const selected = e.value[0]
+  formParams.value.aircraftId = selected.value
+  formParams.value.aircraftText = selected.label
+  isShowAircraftInfo.value = false
+}
+// 获取飞手信息
+const isShowPilotInfo = ref(false)
+const pilotInfoList = ref([])
+function getPilotInfo() {
+    pilotInfoPageInfoOfMyApi({
+        current: 1,
+        size: 1000,
+    }).then(res => {
+        pilotInfoList.value = res.data.data.records.map(item => ({
+            label: item.name || '暂无',
+            value: item.id,
+        }))
+    })
+}
+// 获取空域信息
+const isShowAirspaceInfo = ref(false)
+const airspaceInfoList = ref([])
+function getAirspaceInfo() {
+    flightAirspacePageInfoApi({
+        current: 1,
+        size: 1000,
+    }).then(res => {
+        airspaceInfoList.value = res.data.data.records.map(item => ({
+            label: item.airspaceName || '暂无',
+            value: item.id,
+        }))
+    })
+}
+// 获取航线信息
+const isShowFlightRouteInfo = ref(false)
+const flightRouteInfoList = ref([])
+function getFlightRouteInfo() {
+    flightRoutePageInfoApi({
+        current: 1,
+        size: 1000,
+    }).then(res => {
+        flightRouteInfoList.value = res.data.data.records.map(item => ({
+            label: item.name,
+            value: item.id,
+        }))
+    })
+}
+
+// 获取任务类型
+function getTaskType() {
+    flightTaskApi().then(res => {
+        actionsFlightTaskType.value = res.data.data.map(item => ({
+            ...item,
+            label: item.dictLabel || '暂无',
+            value: item.dictCode || '暂无',
+        }))
+    })
+}
+// 获取飞行模式
+function getFlightMode() {
+    flightModeApi().then(res => {
+        actionsFlightMode.value = res.data.data.map(item => ({
+            ...item,
+            label: item.dictLabel || '暂无',
+            value: item.dictCode || '暂无',
+        }))
+    })
+}
+// 获取飞行规则
+function getFlightRules() {
+    flightRulesApi().then(res => {
+        actionsFlightRule.value = res.data.data.map(item => ({
+            ...item,
+            label: item.dictLabel || '暂无',
+            value: item.dictCode || '暂无',
+        }))
+    })
+}
+// 获取飞行计划
+function getFlightPlan() {
+    flightPlanApi().then(res => {
+        actionsPlanType.value = res.data.data.map(item => ({
+            ...item,
+            label: item.dictLabel || '暂无',
+            value: item.dictCode || '暂无',
+        }))
+    })
+}
+
+onLoad((options) => {
+     flightPlanDetailsApi(options.id).then(res => {
+        console.log(res.data.data, '789')
+        // return
+        formParams.value = res.data.data
+        formParams.value.routeId = res.data.data.routeInfo.name
+        formParams.value.airspaceId = res.data.data.airspaceInfo.taskName
+        formParams.value.aircraftId = res.data.data.airspaceInfo.aircraftInfoList.map(item => item.name).join(',')
+        formParams.value.pilotId = res.data.data.operatorInfoList.map(item => item.name).join(',')
+        formParams.value.flightRule = actionsFlightRule.value.find(item => item.dictValue === res.data.data.flightRule)?.dictLabel || ''
+        formParams.value.flightMode = actionsFlightMode.value.find(item => item.dictValue === res.data.data.flightMode)?.dictLabel || ''
+        formParams.value.planType = actionsPlanType.value.find(item => item.dictValue === res.data.data.planType)?.dictLabel || ''
+        formParams.value.flightTaskType = actionsFlightTaskType.value.find(item => item.dictValue === res.data.data.flightTaskType)?.dictLabel || ''
+    })
+})
+onMounted(() => {
+    getTaskType()
+    getFlightMode()
+    getFlightRules()
+    getFlightPlan()
+    // getAircraftInfo()
+    // getPilotInfo()
+    // getAirspaceInfo()
+    // getFlightRouteInfo()
+})
+</script>
+<style scoped lang="scss">
+.flightApplication-add {
+    width: 100%;
+    height: 100%;
+    display: flex;
+    flex-direction: column;
+    .title {
+        font-family: Source Han Sans CN, Source Han Sans CN;
+        font-weight: 400;
+        font-size: 17px;
+        color: #222324;
+        padding-left: 24rpx;
+    }
+    .form-title {
+        margin-bottom: 24rpx;
+        padding-left: 0rpx !important;
+    }
+    :deep(.u-button) {
+        width: 80%;
+        padding: 28rpx;
+        border-radius: 8rpx 8rpx 8rpx 8rpx;
+        margin-bottom: 20rpx;
+    }
+    .attention {
+        font-family: Source Han Sans CN, Source Han Sans CN;
+        font-weight: 400;
+        font-size: 12px;
+        color: #1D6FE9;
+        //  margin-top: 24rpx;
+        text-align: center;
+    }
+    .select-wrapper {
+        position: relative;
+        width: 100%;
+        
+        .select-icon {
+            position: absolute;
+            right: 20rpx;
+            top: 50%;
+            transform: translateY(-50%);
+            color: #999;
+            font-size: 24rpx;
+            pointer-events: none;
+        }
+    }
+
+    .upload {
+        font-family: Source Han Sans CN, Source Han Sans CN;
+        font-weight: 400;
+        font-size: 15px;
+        color: #1D6FE9;
+    }
+     :deep(.u-form) {
+        flex: 1;
+        display: flex;
+        flex-direction: column;
+        overflow-y: auto;
+        box-sizing: border-box;
+        padding: 24rpx;
+    }
+     .submit-button-wrapper {
+        padding: 28rpx;
+        // width: 80%;
+        // height: 100rpx;
+        border-radius: 8rpx 8rpx 8rpx 8rpx;
+    }
+    :deep(.u-form-item) {
+        margin-bottom: 40rpx;
+        padding: 16rpx 24rpx 18rpx 24rpx;
+        border-radius: 6px 6px 6px 6px;
+        background: white;
+        :deep(.u-line) {
+            border-bottom: 1px solid #EFEFEF;
+        }
+        :deep(.u-input) {
+            width: 100%;
+            height: 80rpx;
+            border-radius: 8rpx;
+            padding: 0 20rpx;
+            background-color: #f5f5f5;
+            
+            &::placeholder {
+                font-family: Source Han Sans CN, Source Han Sans CN;
+                font-weight: 400;
+                font-size: 30rpx;
+                color: #D2D2D2;
+            }
+        }
+        
+        .clickable-input {
+            width: 100%;
+            cursor: pointer;
+        }
+        
+        :deep(.u-form-item__label) {
+            margin-bottom: 20rpx;
+            // font-weight: bold;
+            // color: #333;
+            font-family: Source Han Sans CN, Source Han Sans CN;
+            font-weight: 400;
+            font-size: 30rpx;
+            color: #222324;
+        }
+        
+        :deep(.u-form-item__required) {
+            color: #FF2600;
+            margin-right: 8rpx;
+        }
+    }
+}
+</style>

--
Gitblit v1.9.3