Commit 47f22a51 by liujinbo

航班保障-列表-页面

parent 612ad67d
import { http } from 'mocp/utils/http'
export const flightSupportGetListApi = (data, config) => {
export const getFlyToAppletsApi = (data, config) => {
return http({
method: 'POST',
url: '/flighting/getFList',
url: '/flighting/getFlyToApplets',//'/flighting/getFList',
data,
config
})
......
......@@ -203,6 +203,10 @@ const ps = defineProps({
backToTopBottom: {
type: [Number, String],
default: '160rpx'
},
localPaging: {
type: Boolean,
default: false
}
})
// z-page样式
......@@ -248,7 +252,16 @@ const queryList = (pageIndex, pageSize) => {
ps.api(params, { loading: true })
.then((res) => {
if (res.code == 200 || res.list?.length) {
paging.value?.complete(res.list || res.data?.list || [])
if (!ps.localPaging) {
paging.value?.complete(res.list || res.data?.list || res?.data || [])
} else {
const data = res.data || []
const currentTime = Date.now()
data.sort((a, s) => {
return Math.abs(currentTime - a.stdChn) - Math.abs(currentTime - s.stdChn)
})
paging.value?.setLocalPaging(data)
}
} else {
uni.$mocpMessage.error(res.message)
}
......
import { defineStore } from 'pinia'
import useUserStore from 'mocp/store/user'
import { decideTimeRange } from 'mocp/utils/getFlightList'
const userStore = useUserStore()
const listTab = [
{ label: '航班号', selected: true },
{ label: '机号', selected: true },
{ label: '机型', selected: true },
{ label: '机位', selected: true },
{ label: '出发地', selected: true },
{ label: '预/实', selected: true },
{ label: '计划', selected: false },
{ label: '特殊任务', selected: true },
{ label: '状态', selected: false }
]
const listScreen = [
{ name: '进港', value: '进港' },
{ name: '出港', value: '出港' },
{ name: '无航班', value: '无航班' }
]
const time = decideTimeRange(new Date().getTime())
console.log(time)
const useFlightSupportStore = defineStore('informationDisclosure', {
state: () => {
return {
searchData: {
startT: '1721163600000',
acOwn: '',//航司
acOwns2: '',
acTerminals1: '',
acType: '',//机型
acTypes2: '',
acs1: '',
isInbound: 1,
isOut: 0,
startT: 1721250000000,
stopT: 1721336400000,
terminal: userStore.userInfo.terminal//,'WUH',//航站
//flightNo: '',//航班号
//ac: '',//机号
/*startT: '1721163600000',
stopT: '1721249999000',
acTerminals2: 'WUH',
acTerminals2: userStore.userInfo.terminal,//'WUH',
sortType: 'stdChn',
apiPwd: 'Ifar$2_0160_525_Mocp',
isAsc: '1',
pageIndex: 1,
pageSize: 50,
requestFrom: 6,
realUserId: 10
realUserId: 10*/
},
details: undefined,
screenData: {}
listTab,
listScreen,
listScreenCurrent: 1
}
},
getters: {},
actions: {
getSelectedList() {
return listTab.filter(item => item.selected)
},
resetForm() {
this.searchData = {
startT: '',
......@@ -42,4 +83,5 @@ const useFlightSupportStore = defineStore('informationDisclosure', {
// 配置持久化
persist: false
})
export default useFlightSupportStore
const dayForMilliseconds = 24 * 3600 * 1000
export function decideTimeRange(inputNum: number) {
const d = new Date(inputNum)
d.setHours(5, 0, 0, 0)
return {
startT: d.getTime(),
stopT: d.getTime() + dayForMilliseconds
}
}
\ No newline at end of file
......@@ -9,8 +9,39 @@
}
}
.listTopTab {
padding: 0 0.75rem;
font-size: 12px;
color: rgba(0, 0, 0, 0.6);
.topTabItem {
flex: 1;
}
}
.listScreenClass {
padding: 0.5rem 0.75rem;
.listScreenRT {
width: 262rpx;
::v-deep .u-subsection__item {
border: none !important;
}
::v-deep .u-subsection__bar {
border-radius: 50rpx;
}
}
}
.flex {
display: flex;
align-items: center;
}
.flex-between {
justify-content: space-between;
}
......@@ -11,8 +11,9 @@
navRightType="icon"
navRightIcon="saixuan-01"
@handleRightClick="handleRightClick"
:api="flightSupportGetListApi"
:api="getFlyToAppletsApi"
:padding="24"
localPaging
>
<template #="{ dataList }">
<view
......@@ -20,14 +21,31 @@
:key="item.id"
class="inforDisclosureItem flex mocp-bg-fill-4">
<view class="top">
<view class="flex">{{ item.airlineCode }}</view>
<view class="flex">{{ item.flightNo }}****{{ item.airlineCode }}</view>
</view>
</view>
</template>
<template v-slot:top>123456</template>
<template v-slot:top>
<view class="flex listTopTab">
<view v-for="item of getSelectedList" :key="item.label" class="topTabItem">
{{ item.label }}
</view>
</view>
</template>
<template v-slot:bottom>
<view></view>
<view class="flex flex-between listScreenClass">
<global-icon icon="saixuan-01" />
<up-subsection
class="listScreenRT"
:list="listScreen"
:current="1"
mode="subsection"
bgColor="#f00"
activeColor="#165DFF"
inactiveColor="#165DFF"
/>
</view>
</template>
</global-page>
......@@ -35,16 +53,18 @@
<script setup>
import { ref } from 'vue'
import { flightSupportGetListApi } from 'mocp/api/flight-support'
import { getFlyToAppletsApi } from 'mocp/api/flight-support'
import useFlightSupportStore from 'mocp/store/flight-support'
import { storeToRefs } from 'pinia'
const flightSupportStore = useFlightSupportStore()
const { searchData } = storeToRefs(flightSupportStore)
const getSelectedList = flightSupportStore.getSelectedList()
console.log(flightSupportStore.getSelectedList())
const { searchData, listTab, listScreen, listScreenCurrent } = storeToRefs(flightSupportStore)
const handleRightClick = () => {
console.log('handleRightClick information-disclosure', flightSupportStore)
uni.$mocpJump.navigateTo('/panel/flight-support/components/screen')
console.log(listTab, listScreen, listScreenCurrent)
// uni.$mocpJump.navigateTo('/panel/flight-support/components/screen')
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment