吉安感知网项目-前端
chenyao
2026-02-02 3e531ec229f2c02150c4edeef2a7f9026141c049
uniapps/work-wx/src/subPackages/flightApplication/details.vue
@@ -136,7 +136,7 @@
                ref="item1"
        >
            <u-input
                    v-model="formParams.weatherCondition"
                    v-model="formParams.weatherCondition"
                    readonly
                    border="none"
            ></u-input>
@@ -185,39 +185,39 @@
        <u-form-item
                label="航线"
                labelWidth="230rpx"
                prop="routeId"
                prop="selectedRouteId"
                :borderBottom="true"
                ref="item2"
        >
            <u-input
                v-model="formParams.routeId"
                v-model="formParams.selectedRouteId"
                readonly
                border="none"
            ></u-input>
        </u-form-item>
        <u-popup :show="applyShow" :round="10" mode="center" @close="close" :closeable="true" :mask-close-able="true">
       <u-form labelPosition="top" :model="formParams" :rules="rules" ref="formRef">
       <u-form labelPosition="top" :model="formParamsTime" :rules="rulesTime" ref="formTimeRef">
            <u-form-item
                label="计划申请起飞时间"
                labelWidth="260rpx"
                prop="actualTakeoffTime"
                prop="takeOffStartTime"
                :borderBottom="true"
                ref="item1"
                @click="isShowStartTime = true"
                required
        >
            <u-input v-model="formParams.actualTakeoffTime" border="none" placeholder="请选择" suffixIcon="calendar"></u-input>
            <u-input v-model="formParamsTime.takeOffStartTime" border="none" placeholder="请选择" suffixIcon="calendar"></u-input>
        </u-form-item>
         <u-form-item
                label="计划申请结束时间"
                labelWidth="260rpx"
                prop="actualLandingTime"
                prop="takeOffEndTime"
                :borderBottom="true"
                ref="item1"
                @click="isShowEndTime = true"
                required
        >
            <u-input v-model="formParams.actualLandingTime" border="none" placeholder="请选择" suffixIcon="calendar"></u-input>
            <u-input v-model="formParamsTime.takeOffEndTime" border="none" placeholder="请选择" suffixIcon="calendar"></u-input>
        </u-form-item>
        <u-datetime-picker
@@ -239,10 +239,10 @@
            @cancel="isShowEndTime = false">
        </u-datetime-picker>
         </u-form>
         <u-button @click="submitApply" color="#1D6FE9">确定</u-button>
         <u-button @click="submitSure" color="#1D6FE9">确定</u-button>
   </u-popup>
    </u-form>
    <u-button v-if="formParams.planApprovalStatus === '99'" @click="submitApply" color="#1D6FE9">申请</u-button>
    <u-button v-if="formParams.planApprovalStatus === '99' && (formParams.planStatus === '0')" @click="submitApply" color="#1D6FE9">申请</u-button>
</view>
</template>
<script setup>
@@ -252,6 +252,7 @@
    aircraftInfoPageInfoOfMyApi,
    pilotInfoPageInfoOfMyApi,
    flightAirspacePageInfoApi,
    flightApprovalApi
 } from '@/api/index'
import { ref, computed, onMounted } from 'vue'
import dayjs from 'dayjs'
@@ -261,8 +262,20 @@
const appStore = useAppStore()
const formRef = ref(null);
const formTimeRef = ref(null);
const formParams = ref({})
const rules = ref({})
const formParamsTime = ref({
    id: '',
    takeOffStartTime: '',
    takeOffEndTime: '',
    planStatus: '1',
})
const rulesTime = ref({
    takeOffStartTime: [{ required: true, message: '请选择计划申请起飞时间', trigger: ['blur'] }],
    takeOffEndTime: [{ required: true, message: '请选择计划申请结束时间', trigger: ['blur'] }],
})
// 任务类型
const actionsFlightTaskType = ref(appStore.getTaskType)
@@ -284,11 +297,11 @@
const endTime = ref(Date.now()); // 设置默认值为当前时间戳
const onConfirmStartTime = (e) => {
    formParams.value.actualTakeoffTime = dayjs(e.value).format('YYYY-MM-DD HH:mm')
    formParamsTime.value.takeOffStartTime = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss')
    isShowStartTime.value = false
}
const onConfirmEndTime = (e) => {
    formParams.value.actualLandingTime = dayjs(e.value).format('YYYY-MM-DD HH:mm')
    formParamsTime.value.takeOffEndTime = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss')
    isShowEndTime.value = false
}
@@ -370,10 +383,28 @@
   applyShow.value = true
}
async function submitSure() {
    // 校验时间
    await formTimeRef.value.validate()
    formParamsTime.value.id = formParams.value.id
    flightApprovalApi(formParamsTime.value).then(res => {
        if (res.data.code === 200) {
            uni.showToast({
                title: '操作成功',
                icon: 'success',
            })
            // 跳转申请列表页
            uni.navigateTo({
                url: '/subPackages/flightApplication/index',
            })
        }
    })
}
function close() {
    // 清空时间
    formParams.value.actualTakeoffTime = ''
    formParams.value.actualLandingTime = ''
    formParamsTime.value.takeOffStartTime = ''
    formParamsTime.value.takeOffEndTime = ''
    applyShow.value = false
}
@@ -381,7 +412,6 @@
     flightPlanDetailsApi(options.id).then(res => {
        // return
        const result = res.data.data
        console.log(result, '7777')
        formParams.value = result
        // 字典
        formParams.value.flightRule = actionsFlightRule.value.find(item => item.dictValue === result.flightRule)?.dictLabel || '无'
@@ -389,11 +419,19 @@
        formParams.value.planType = actionsPlanType.value.find(item => item.dictValue === result.planType)?.dictLabel || '无'
        formParams.value.flightTaskType = actionsFlightTaskType.value.find(item => item.dictValue === result.flightTaskType)?.dictLabel || '无'
        // 数据
        formParams.value.routeId = result?.routeInfo?.name || '无'
        // 航线
        formParams.value.selectedRouteId = result?.routeInfo?.name || '无'
        // 空域
        formParams.value.airspaceId = result?.airspaceInfo?.taskName || '无'
        formParams.value.aircraftId = result?.airspaceInfo?.aircraftInfoList?.map(item => item.name).join(',') || '无'
        // 飞行器
        formParams.value.aircraftId = result?.aircraftInfoList?.map(item => item.name).join(',') || '无'
        // 飞手
        formParams.value.pilotId = result?.operatorInfoList?.map(item => item.name).join(',') || '无'
        // 日期赋值
        formParamsTime.value.takeOffStartTime = dayjs(result.flightStartTime).format('YYYY-MM-DD HH:mm:ss')
        formParamsTime.value.takeOffEndTime = dayjs(result.flightEndTime).format('YYYY-MM-DD HH:mm:ss')
    })
})
onMounted(() => {