Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mocp-uniapp
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
pangchong
mocp-uniapp
Commits
071137a7
Commit
071137a7
authored
Nov 12, 2024
by
pangchong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: bug修复
parent
57a96631
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
206 additions
and
337 deletions
+206
-337
src/mocp/api/fleet.js
+9
-0
src/mocp/components/global-picker/global-picker.vue
+6
-2
src/mocp/components/global-text-status/dictData.js
+7
-0
src/mocp/hooks/use-dict/dict-data/index.js
+1
-0
src/mocp/hooks/use-dict/dict-data/inforDisclosure.js
+5
-0
src/mocp/store/base.js
+1
-0
src/mocp/store/fleet.js
+6
-2
src/mocp/store/flight-support.js
+14
-19
src/mocp/store/inforDisclosure.js
+9
-5
src/mocp/store/supportedTask.js
+0
-23
src/mocp/utils/http.js
+3
-3
src/pages/modules/mocp/login/constants/index.compositions.js
+1
-1
src/pages/modules/mocp/panel/aog/search.vue
+2
-1
src/pages/modules/mocp/panel/fleet/search.vue
+54
-90
src/pages/modules/mocp/panel/flight-support/components/Screen.vue
+9
-33
src/pages/modules/mocp/panel/flight-support/list.vue
+29
-28
src/pages/modules/mocp/panel/inforDisclosure/components/inforDisClosureItem.vue
+7
-19
src/pages/modules/mocp/panel/inforDisclosure/search.vue
+27
-66
src/pages/modules/mocp/panel/supported-task/components/supportedTaskItem.vue
+6
-9
src/pages/modules/mocp/panel/supported-task/list.vue
+10
-36
No files found.
src/mocp/api/fleet.js
View file @
071137a7
...
...
@@ -17,3 +17,12 @@ export const getFleetDetailApi = (data, config) => {
config
})
}
export
const
selectFaultTagByATAApi
=
(
data
,
config
)
=>
{
return
http
({
method
:
'POST'
,
url
:
'/technical-support/selectFaultTagByATA'
,
data
,
config
})
}
src/mocp/components/global-picker/global-picker.vue
View file @
071137a7
...
...
@@ -241,7 +241,7 @@ const confirm = (e) => {
const
index
=
e
.
indexs
[
0
]
labelValue
.
value
=
getColumns
.
value
[
index
][
ps
.
labelField
]
es
(
'update:modelValue'
,
getColumns
.
value
[
index
][
ps
.
valueField
])
es
(
'change'
,
getColumns
.
value
[
index
][
ps
.
valueField
])
es
(
'change'
,
getColumns
.
value
[
index
][
ps
.
valueField
]
,
getColumns
.
value
[
index
]
)
}
//点击清空按钮
const
clear
=
()
=>
{
...
...
@@ -259,7 +259,11 @@ const getFilterColumns = computed(() => {
const
distance
=
ref
(
0
)
const
handleChoose
=
(
value
)
=>
{
es
(
'update:modelValue'
,
value
)
es
(
'change'
,
value
)
es
(
'change'
,
value
,
getColumns
.
value
.
find
((
item
)
=>
item
[
ps
.
valueField
]
==
value
)
)
show
.
value
=
false
}
//打开默认滑动到选中的位置
...
...
src/mocp/components/global-text-status/dictData.js
View file @
071137a7
...
...
@@ -58,3 +58,10 @@ export const aem_auditListSelect = [
{
text
:
'审核通过'
,
class
:
'mocp-color-success-6'
,
value
:
'3'
},
{
text
:
'审核不通过'
,
class
:
'mocp-color-danger-6'
,
value
:
'4'
}
]
export
const
st_followStatus
=
[
{
text
:
'未接收'
,
class
:
'mocp-color-danger-6'
,
value
:
0
},
{
text
:
'已接收'
,
class
:
'mocp-color-warning-6'
,
value
:
1
},
{
text
:
'已出发'
,
class
:
'mocp-color-warning-6'
,
value
:
2
},
{
text
:
'已到位'
,
class
:
'mocp-color-warning-6'
,
value
:
3
},
{
text
:
'已登机'
,
class
:
'mocp-color-success-6'
,
value
:
4
}
]
src/mocp/hooks/use-dict/dict-data/index.js
View file @
071137a7
...
...
@@ -15,3 +15,4 @@ export * from './qualityAnalysis'
export
*
from
'./technicalAnalysis'
export
*
from
'./engineeringEvaluation'
export
*
from
'./windDamageManagement'
export
*
from
'./inforDisclosure'
src/mocp/hooks/use-dict/dict-data/inforDisclosure.js
0 → 100644
View file @
071137a7
// 建议以文件名首字母作为前缀id_
export
const
id_isType
=
[
{
label
:
'MOCP'
,
value
:
'1'
},
{
label
:
'ELB'
,
value
:
'2'
}
]
src/mocp/store/base.js
View file @
071137a7
...
...
@@ -102,6 +102,7 @@ const useBaseStore = defineStore('base', {
}
return
uniqueArray
(
selectATAList
.
map
((
q
)
=>
({
id
:
q
.
id
,
label
:
q
.
label
,
value
:
q
.
label
}))
...
...
src/mocp/store/fleet.js
View file @
071137a7
...
...
@@ -18,7 +18,9 @@ const useFleetStore = defineStore('fleet', {
isTime
:
2
,
isUpdateTime
:
2
,
faultDescribe
:
''
,
dateEnd
dateEnd
,
professionalType
:
''
,
faultLabel
:
''
},
detailsId
:
undefined
}
...
...
@@ -37,7 +39,9 @@ const useFleetStore = defineStore('fleet', {
isTime
:
2
,
isUpdateTime
:
2
,
faultDescribe
:
''
,
dateEnd
dateEnd
,
professionalType
:
''
,
faultLabel
:
''
}
},
setState
(...
args
)
{
...
...
src/mocp/store/flight-support.js
View file @
071137a7
import
{
defineStore
}
from
'pinia'
import
useUserStore
from
'mocp/store/user'
import
{
decideTimeRange
,
listTab
,
listScreen
}
from
'mocp/utils/getFlightList'
import
Day
from
'mocp/utils/dayjs'
const
{
startT
,
stopT
}
=
decideTimeRange
(
new
Date
().
getTime
())
const
useFlightSupportStore
=
defineStore
(
'flightSupport'
,
{
state
:
()
=>
{
return
{
...
...
@@ -12,20 +10,14 @@ const useFlightSupportStore = defineStore('flightSupport', {
isOut
:
0
,
//0-进港 1-出港 2-无航班
startT
,
stopT
,
isInbound
:
1
,
ac
:
''
,
//机号
flightNo
:
''
,
//航班号
acOwns2
:
''
,
acTerminals1
:
''
,
acTypes2
:
''
,
acs1
:
''
isInbound
:
1
},
screenData
:
{
terminal
:
'
WUH
'
,
//航站
terminal
:
''
,
//航站
acType
:
''
,
//机型
acOwn
:
''
//航司
acOwn
:
''
,
//航司
ac
:
''
,
//机号
flightNo
:
''
//航班号
},
listTab
,
listScreen
,
...
...
@@ -52,20 +44,23 @@ const useFlightSupportStore = defineStore('flightSupport', {
}
},
actions
:
{
setTerminal
()
{
this
.
screenData
.
terminal
=
this
.
getTerminal
},
resetScreenForm
()
{
const
userStore
=
useUserStore
()
this
.
screenData
=
{
terminal
:
userStore
.
userInfo
?.
terminal
||
'WUH'
,
terminal
:
this
.
getTerminal
,
acType
:
''
,
acOwn
:
''
acOwn
:
''
,
ac
:
''
,
flightNo
:
''
}
},
setStateScreen
(
state
)
{
const
userStore
=
useUserStore
()
this
.
screenData
=
{
terminal
:
state
.
terminal
||
userStore
.
userInfo
?.
terminal
||
'WUH'
,
acType
:
state
.
acType
,
acOwn
:
state
.
acOwn
...
state
,
terminal
:
this
.
getTerminal
}
},
// 设置列表tab筛选数据
...
...
src/mocp/store/inforDisclosure.js
View file @
071137a7
...
...
@@ -15,7 +15,9 @@ const useInforDisclosureStore = defineStore('inforDisclosure', {
rlease_state
:
''
,
function_Info
:
''
,
failure_state
:
''
,
professional
:
''
professional
:
''
,
isType
:
''
,
reporter
:
''
},
details
:
undefined
,
releaseBasisDetails
:
undefined
,
...
...
@@ -24,7 +26,7 @@ const useInforDisclosureStore = defineStore('inforDisclosure', {
},
getters
:
{},
actions
:
{
resetForm
()
{
resetForm
()
{
this
.
searchData
=
{
state
:
''
,
machine_number
:
''
,
...
...
@@ -37,11 +39,13 @@ const useInforDisclosureStore = defineStore('inforDisclosure', {
rlease_state
:
''
,
function_Info
:
''
,
failure_state
:
''
,
professional
:
''
professional
:
''
,
isType
:
''
,
reporter
:
''
}
},
setState
(...
args
)
{
this
.
$patch
({
[
args
[
0
]]:
args
[
1
]
})
setState
(...
args
)
{
this
.
$patch
({
[
args
[
0
]]:
args
[
1
]
})
}
},
// 配置持久化
...
...
src/mocp/store/supportedTask.js
deleted
100644 → 0
View file @
57a96631
import
{
defineStore
}
from
'pinia'
import
useUserStore
from
'mocp/store/user'
const
useInforDisclosureStore
=
defineStore
(
'supportedTask'
,
{
state
:
()
=>
{
return
{
searchData
:
{}
}
},
getters
:
{},
actions
:
{
resetForm
()
{
const
userStore
=
useUserStore
()
this
.
searchData
.
userId
=
userStore
.
userInfo
.
id
},
setState
(...
args
)
{
this
.
$patch
({[
args
[
0
]]:
args
[
1
]})
}
},
// 配置持久化
persist
:
false
})
export
default
useInforDisclosureStore
src/mocp/utils/http.js
View file @
071137a7
import
useUserStore
from
'mocp/store/user'
const
baseURL
=
'https://hna-platform.anyremote.cn'
//测试
//
const baseURL = 'https://hna-platform.anyremote.cn' //测试
// const baseURL = 'https://moc.hnatechnic.com/api' //生产
// const baseURL =
"http://10.123.48.67/api"
//Amms内网
//
const baseURL = 'https://hnaelbtest.hnatechnic.com/mocptest/api' //内网
// const baseURL =
'http://10.123.48.67/api'
//Amms内网
const
baseURL
=
'https://hnaelbtest.hnatechnic.com/mocptest/api'
//内网
class
ServiceLoading
{
open
(
loading
)
{
...
...
src/pages/modules/mocp/login/constants/index.compositions.js
View file @
071137a7
...
...
@@ -3,7 +3,7 @@ export const loginFormRef = ref()
//表单数据
export
const
loginForm
=
reactive
({
username
:
'devzj3'
,
//devzj3
password
:
'Ifar
2016_0525
'
,
//Ifar_9527008 / Ifar2016_0525
password
:
'Ifar
_9527008
'
,
//Ifar_9527008 / Ifar2016_0525
verifyCode
:
''
})
export
const
showLoad
=
ref
(
false
)
...
...
src/pages/modules/mocp/panel/aog/search.vue
View file @
071137a7
...
...
@@ -30,7 +30,7 @@
></global-picker>
</up-form-item>
<up-form-item
label=
"专业类别"
prop=
"major"
:borderBottom=
"true"
>
<global-picker
pickAlign=
"right"
v-model=
"formData.major"
clearable
:options=
"
baseStore.getTerminalSelect"
filter
></global-picker>
<global-picker
pickAlign=
"right"
v-model=
"formData.major"
clearable
:options=
"
getParamsByType('MajorCategory')"
></global-picker>
</up-form-item>
<up-form-item
label=
"AOG级别"
prop=
"aogLevel"
:borderBottom=
"true"
>
<global-picker
...
...
@@ -90,6 +90,7 @@ import { storeToRefs } from 'pinia'
import
{
cloneDeep
}
from
'lodash'
import
{
ref
}
from
'vue'
import
useAogStore
from
'mocp/store/aog'
import
{
getParamsByType
}
from
'mocp/hooks/use-params/useParams'
//获取下拉框选项
const
baseStore
=
useBaseStore
()
...
...
src/pages/modules/mocp/panel/fleet/search.vue
View file @
071137a7
<
template
>
<global-page
title=
"筛选"
>
<view
class=
"search-form"
>
<up-form
labelPosition=
"left"
labelWidth=
"auto"
>
<up-form-item
label=
"状态"
prop=
"state"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.state"
pickAlign=
"right"
clearable
dictkey=
"fleet_state"
/>
<up-form
labelPosition=
"left"
labelWidth=
"auto"
>
<up-form-item
label=
"状态"
prop=
"state"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.state"
pickAlign=
"right"
clearable
dictkey=
"fleet_state"
/>
</up-form-item>
<up-form-item
label=
"航司"
prop=
"aviation"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.aviation"
pickAlign=
"right"
:options=
"baseStore.getAirlineSelect"
clearable
filter
/>
<up-form-item
label=
"航司"
prop=
"aviation"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.aviation"
pickAlign=
"right"
:options=
"baseStore.getAirlineSelect"
clearable
filter
/>
</up-form-item>
<up-form-item
label=
"机号"
prop=
"machineNumber"
:borderBottom=
"true"
>
<global-picker
pickAlign=
"right"
v-model=
"formData.machineNumber"
:options=
"deviceNumList"
clearable
filter
/>
<up-form-item
label=
"机号"
prop=
"machineNumber"
:borderBottom=
"true"
>
<global-picker
pickAlign=
"right"
v-model=
"formData.machineNumber"
:options=
"deviceNumList"
clearable
filter
/>
</up-form-item>
<up-form-item
label=
"机型"
prop=
"model"
:borderBottom=
"true"
>
<up-form-item
label=
"机型"
prop=
"model"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.model"
pickAlign=
"right"
:options=
"baseStore.getTypeSelect"
clearable
filter
/>
</up-form-item>
<up-form-item
label=
"ATA章节"
prop=
"ata"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.
model
"
v-model=
"formData.
ata
"
pickAlign=
"right"
:options=
"
baseStore.getTypeSelect
"
:options=
"
formData.model ? baseStore.getATAChecked(formData.model) : []
"
clearable
filter
@
change=
"changeAta"
/>
</up-form-item>
<up-form-item
v-if=
"formData.model != ''"
label=
"ATA章节"
prop=
"ata"
:borderBottom=
"true"
>
<up-form-item
label=
"故障现象标签"
prop=
"faultLabel"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.ata"
v-model=
"formData.faultLabel"
label-field=
"faultTag"
value-field=
"faultTag"
pickAlign=
"right"
:options=
"
baseStore.getATAChecked(formData.model)
"
:options=
"
faultTagList
"
clearable
filter
/>
</up-form-item>
<up-form-item
label=
"发生日期"
:borderBottom=
"true"
>
<global-calendar
<up-form-item
label=
"故障描述"
prop=
"faultDescribe"
:borderBottom=
"true"
>
<up-input
v-model=
"formData.faultDescribe"
inputAlign=
"right"
border=
"none"
placeholder=
"请输入"
clearable
></up-input>
</up-form-item>
<up-form-item
label=
"发生日期"
:borderBottom=
"true"
>
<global-calendar
pickAlign=
"right"
v-model:startTime=
"formData.startTime"
v-model:endTime=
"formData.stopTime"
clearable
/>
</up-form-item>
<up-form-item
label=
"专业类别"
prop=
"professionalType"
:borderBottom=
"true"
>
<global-picker
pickAlign=
"right"
v-model:startTime=
"formData.startTime"
v-model:endTime=
"formData.stopTime"
v-model=
"formData.professionalType"
clearable
/>
</up-form-item>
<up-form-item
label=
"故障描述"
prop=
"sponsor"
:borderBottom=
"true"
>
<up-input
v-model=
"formData.faultDescribe"
inputAlign=
"right"
border=
"none"
placeholder=
"请输入"
clearable
></up-input>
:options=
"getParamsByType('MajorCategory')"
></global-picker>
</up-form-item>
</up-form>
</view>
...
...
@@ -95,23 +55,10 @@
<view
class=
"footer-btn"
>
<up-row
gutter=
"10"
>
<up-col
span=
"6"
>
<global-button
type=
"primary"
plain
size=
"large"
:radius=
"5"
@
tap=
"handleReset"
>
重置
</global-button>
<global-button
type=
"primary"
plain
size=
"large"
:radius=
"5"
@
tap=
"handleReset"
>
重置
</global-button>
</up-col>
<up-col
span=
"6"
>
<global-button
type=
"primary"
size=
"large"
:radius=
"5"
@
tap=
"handleConfirm"
>
确定
</global-button>
<global-button
type=
"primary"
size=
"large"
:radius=
"5"
@
tap=
"handleConfirm"
>
确定
</global-button>
</up-col>
</up-row>
</view>
...
...
@@ -125,13 +72,17 @@ import { storeToRefs } from 'pinia'
import
{
cloneDeep
}
from
'lodash'
import
{
ref
}
from
'vue'
import
useFleetStore
from
'mocp/store/fleet'
import
{
getParamsByType
}
from
'mocp/hooks/use-params/useParams'
import
{
selectFaultTagByATAApi
}
from
'mocp/api/fleet'
//获取下拉框选项
const
baseStore
=
useBaseStore
()
const
{
selectList
:
{
deviceNumList
}}
=
useBaseStore
()
const
{
selectList
:
{
deviceNumList
}
}
=
useBaseStore
()
const
fleetStore
=
useFleetStore
()
//获取查询表单数据
const
{
searchData
}
=
storeToRefs
(
fleetStore
)
const
{
searchData
}
=
storeToRefs
(
fleetStore
)
const
formData
=
ref
(
cloneDeep
(
searchData
.
value
))
const
handleReset
=
()
=>
{
fleetStore
.
resetForm
()
...
...
@@ -143,10 +94,23 @@ const handleConfirm = () => {
uni
.
$mocpJump
.
navigateTo
(
'/panel/fleet/list'
)
uni
.
$emit
(
'fleetReload'
)
}
//故障现象标签
const
faultTagList
=
ref
([])
const
changeAta
=
async
(
value
,
data
)
=>
{
if
(
value
)
{
const
res
=
await
selectFaultTagByATAApi
({
ataId
:
data
.
id
},
{
loading
:
true
})
if
(
res
.
code
==
200
)
{
faultTagList
.
value
=
res
.
data
}
else
{
faultTagList
.
value
=
[]
}
}
else
{
faultTagList
.
value
=
[]
formData
.
faultLabel
=
''
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.search-form
{
padding
:
24
rpx
24
rpx
0
24
rpx
;
background
:
#fff
;
...
...
src/pages/modules/mocp/panel/flight-support/components/Screen.vue
View file @
071137a7
...
...
@@ -7,41 +7,19 @@
</up-form-item>
<up-form-item
label=
"机型"
prop=
"acType"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.acType"
pickAlign=
"right"
:options=
"baseStore.getTypeSelect"
clearable
filter
/>
<global-picker
v-model=
"formData.acType"
pickAlign=
"right"
:options=
"baseStore.getTypeSelect"
clearable
filter
/>
</up-form-item>
<up-form-item
label=
"航站"
prop=
"terminal"
:borderBottom=
"true"
>
<global-picker
pickAlign=
"right"
v-model=
"formData.terminal"
clearable
:options=
"baseStore.getTerminalSelect"
filter
/>
<global-picker
pickAlign=
"right"
v-model=
"formData.terminal"
clearable
:options=
"baseStore.getTerminalSelect"
filter
/>
</up-form-item>
<up-form-item
label=
"航司"
prop=
"acOwn"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.acOwn"
pickAlign=
"right"
:options=
"baseStore.getAirlineSelect"
clearable
filter
/>
<global-picker
v-model=
"formData.acOwn"
pickAlign=
"right"
:options=
"baseStore.getAirlineSelect"
clearable
filter
/>
</up-form-item>
<up-form-item
label=
"航班号"
prop=
"flightNo"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.flightNo"
pickAlign=
"right"
:options=
"baseStore.selectList.flightNumList"
clearable
filter
/>
<global-picker
v-model=
"formData.flightNo"
pickAlign=
"right"
:options=
"baseStore.selectList.flightNumList"
clearable
filter
/>
</up-form-item>
</up-form>
</view>
...
...
@@ -49,8 +27,7 @@
<view
class=
"footer-btn"
>
<up-row
gutter=
"10"
>
<up-col
span=
"6"
>
<global-button
type=
"primary"
plain
size=
"large"
:radius=
"5"
@
tap=
"handleReset"
>
重置
</global-button>
<global-button
type=
"primary"
plain
size=
"large"
:radius=
"5"
@
tap=
"handleReset"
>
重置
</global-button>
</up-col>
<up-col
span=
"6"
>
<global-button
type=
"primary"
size=
"large"
:radius=
"5"
@
tap=
"handleConfirm"
>
确定
</global-button>
...
...
@@ -72,28 +49,27 @@ import { onUnload } from '@dcloudio/uni-app'
//获取下拉框选项
const
baseStore
=
useBaseStore
()
const
{
selectList
:
{
deviceNumList
}
selectList
:
{
deviceNumList
}
}
=
useBaseStore
()
const
flightSupportStore
=
useFlightSupportStore
()
//获取查询表单数据
const
{
screenData
}
=
storeToRefs
(
flightSupportStore
)
const
{
screenData
}
=
storeToRefs
(
flightSupportStore
)
const
formData
=
ref
(
cloneDeep
(
screenData
.
value
))
// 重置
const
handleReset
=
()
=>
{
flightSupportStore
.
resetScreenForm
()
uni
.
$mocpJump
.
redirectTo
(
'/panel/flight-support/list'
)
uni
.
$mocpJump
.
navigateBack
(
)
uni
.
$emit
(
'screenReload'
)
}
// 提交
const
handleConfirm
=
()
=>
{
flightSupportStore
.
setStateScreen
(
formData
.
value
)
uni
.
$mocpJump
.
redirectTo
(
'/panel/flight-support/list'
)
uni
.
$mocpJump
.
navigateBack
(
)
uni
.
$emit
(
'screenReload'
)
}
onUnload
(()
=>
{
uni
.
$off
(
'screenReload'
)
})
...
...
src/pages/modules/mocp/panel/flight-support/list.vue
View file @
071137a7
...
...
@@ -24,12 +24,7 @@
<
template
v-slot:top
>
<view
class=
"flex listTopTab text-center"
>
<view
v-for=
"item of getSelectedList"
:key=
"item.id"
class=
"topTabItem"
:style=
"
{ flex: item.flex }"
>
<view
v-for=
"item of getSelectedList"
:key=
"item.id"
class=
"topTabItem"
:style=
"
{ flex: item.flex }">
{{
item
.
label
}}
<!--
<up-icon
v-if=
"item.keyValue == 'time' || item.keyValue == 'staChn'"
...
...
@@ -68,12 +63,12 @@ import useFlightSupportStore from 'mocp/store/flight-support'
import
{
storeToRefs
}
from
'pinia'
import
TableTow
from
'./components/TableRow.vue'
import
{
finishedStatus
}
from
'mocp/utils/getFlightList'
import
{
on
Unl
oad
}
from
'@dcloudio/uni-app'
import
{
on
L
oad
}
from
'@dcloudio/uni-app'
import
{
currentInBoundModeForFlightTablePage
,
allInBoundMode
}
from
'./utils/currentInBoundMode'
const
paging
=
ref
(
null
)
const
flightSupportStore
=
useFlightSupportStore
()
const
{
searchData
,
getSearchData
,
listScreen
,
getSelectedList
,
listTab
}
=
storeToRefs
(
flightSupportStore
)
const
{
searchData
,
getSearchData
,
listScreen
,
getSelectedList
,
listTab
}
=
storeToRefs
(
flightSupportStore
)
const
handleRightClick
=
()
=>
{
uni
.
$mocpJump
.
navigateTo
(
'/panel/flight-support/components/Screen'
)
...
...
@@ -81,30 +76,33 @@ const handleRightClick = () => {
const
transformData
=
(
data
)
=>
{
const
currentTime
=
Date
.
now
()
const
listMsg
=
data
?.
reduce
(
(
q
,
w
)
=>
{
if
(
finishedStatus
.
includes
(
w
.
status
))
{
w
.
isFinished
=
true
q
[
2
].
push
(
w
)
}
else
{
if
(
q
[
0
].
status
===
'DEP'
)
{
w
.
isDepartured
=
true
q
[
1
].
push
(
w
)
const
listMsg
=
data
?.
reduce
(
(
q
,
w
)
=>
{
if
(
finishedStatus
.
includes
(
w
.
status
))
{
w
.
isFinished
=
true
q
[
2
].
push
(
w
)
}
else
{
q
[
0
].
push
(
w
)
if
(
q
[
0
].
status
===
'DEP'
)
{
w
.
isDepartured
=
true
q
[
1
].
push
(
w
)
}
else
{
q
[
0
].
push
(
w
)
}
}
return
q
},
[[],
[],
[]]
)
.
map
((
q
,
w
)
=>
{
if
(
w
===
0
)
{
q
.
sort
((
a
,
s
)
=>
{
return
Math
.
abs
(
currentTime
-
a
.
stdChn
)
-
Math
.
abs
(
currentTime
-
s
.
stdChn
)
})
}
return
q
},
[[],
[],
[]]
).
map
((
q
,
w
)
=>
{
if
(
w
===
0
)
{
q
.
sort
((
a
,
s
)
=>
{
return
Math
.
abs
(
currentTime
-
a
.
stdChn
)
-
Math
.
abs
(
currentTime
-
s
.
stdChn
)
})
}
return
q
}).
flat
()
})
.
flat
()
console
.
log
(
'@@listMsg'
,
listMsg
)
return
listMsg
}
...
...
@@ -131,6 +129,9 @@ const subsectionChange = (e) => {
uni
.
$on
(
'screenReload'
,
()
=>
{
paging
.
value
?.
reload
()
})
onLoad
(()
=>
{
flightSupportStore
.
setTerminal
()
})
</
script
>
<
style
scoped
lang=
"scss"
>
...
...
src/pages/modules/mocp/panel/inforDisclosure/components/inforDisClosureItem.vue
View file @
071137a7
<
template
>
<view
@
tap=
"goDetails(item)"
class=
"item"
>
<view
@
tap=
"goDetails(item)"
class=
"item"
>
<view
class=
"item-title"
>
<view
class=
"left"
>
<text
v-if=
"currentTabsIndex == 1 && item.status == '未完成'"
class=
"statusTxt"
>
{{
item
.
status
?.
toUpperCase
()
}}
</text>
<custom-state
v-else
:value=
"item.status?.toUpperCase()"
/>
<custom-state
v-else
:value=
"item.status?.toUpperCase()"
/>
</view>
<view
class=
"right inforDisTags"
>
<global-tag
v-for=
"tagItem of item.tags"
:key=
"tagItem.text"
:type=
"tagItem.type"
class=
"txt"
>
<global-tag
v-for=
"tagItem of item.tags"
:key=
"tagItem.text"
:type=
"tagItem.type"
class=
"txt"
>
{{
tagItem
.
text
}}
</global-tag>
</view>
...
...
@@ -37,9 +29,7 @@
</view>
<view
class=
"label right"
>
<global-icon
icon=
"idcard"
/>
<text
class=
"txt"
>
值班人员:
{{
item
.
filledBy
}}
</text>
<text
class=
"txt"
>
故障报告人:
{{
item
.
filledBy
}}
</text>
</view>
</view>
</view>
...
...
@@ -50,8 +40,6 @@ import { ref } from 'vue'
import
useInforDisclosureStore
from
'mocp/store/inforDisclosure'
import
{
storeToRefs
}
from
'pinia'
import
{
onUnload
}
from
'@dcloudio/uni-app'
import
{
getMocinfoListApi
}
from
'mocp/api/inforDisclosure'
import
{
getParamsByType
}
from
'mocp/hooks/use-params/useParams'
const
ps
=
defineProps
({
item
:
{
...
...
@@ -59,12 +47,12 @@ const ps = defineProps({
default
:
()
=>
({})
}
})
const
{
item
}
=
ps
const
{
item
}
=
ps
const
inforDisclosureStore
=
useInforDisclosureStore
()
const
{
currentTabsIndex
}
=
storeToRefs
(
inforDisclosureStore
)
const
{
currentTabsIndex
}
=
storeToRefs
(
inforDisclosureStore
)
const
goDetails
=
(
data
)
=>
{
uni
.
$mocpJump
.
navigateTo
(
'/panel/inforDisclosure/details'
,
{
id
:
data
.
id
}).
then
(()
=>
{
uni
.
$mocpJump
.
navigateTo
(
'/panel/inforDisclosure/details'
,
{
id
:
data
.
id
}).
then
(()
=>
{
inforDisclosureStore
.
setState
(
'details'
,
data
)
})
}
...
...
src/pages/modules/mocp/panel/inforDisclosure/search.vue
View file @
071137a7
<
template
>
<global-page
title=
"筛选"
>
<view
class=
"search-form"
>
<up-form
labelPosition=
"left"
labelWidth=
"auto"
>
<up-form-item
label=
"机号"
prop=
"machine_number"
:borderBottom=
"true"
>
<global-picker
pickAlign=
"right"
v-model=
"formData.machine_number"
:options=
"deviceNumList"
clearable
filter
/>
<up-form
labelPosition=
"left"
labelWidth=
"auto"
>
<up-form-item
label=
"机号"
prop=
"machine_number"
:borderBottom=
"true"
>
<global-picker
pickAlign=
"right"
v-model=
"formData.machine_number"
:options=
"deviceNumList"
clearable
filter
/>
</up-form-item>
<up-form-item
label=
"机型"
prop=
"planeModel"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.planeModel"
pickAlign=
"right"
:options=
"baseStore.getTypeSelect"
clearable
filter
/>
<up-form-item
label=
"机型"
prop=
"planeModel"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.planeModel"
pickAlign=
"right"
:options=
"baseStore.getTypeSelect"
clearable
filter
/>
</up-form-item>
<up-form-item
label=
"航司"
prop=
"aviation"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.aviation"
pickAlign=
"right"
:options=
"baseStore.getAirlineSelect"
clearable
filter
/>
<up-form-item
label=
"航司"
prop=
"aviation"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.aviation"
pickAlign=
"right"
:options=
"baseStore.getAirlineSelect"
clearable
filter
/>
</up-form-item>
<up-form-item
label=
"航站"
prop=
"termin"
:borderBottom=
"true"
>
...
...
@@ -53,15 +24,8 @@
></global-picker>
</up-form-item>
<up-form-item
label=
"填报日期"
:borderBottom=
"true"
>
<global-calendar
pickAlign=
"right"
v-model:startTime=
"formData.startTime"
v-model:endTime=
"formData.stopTime"
clearable
/>
<up-form-item
label=
"填报日期"
:borderBottom=
"true"
>
<global-calendar
pickAlign=
"right"
v-model:startTime=
"formData.startTime"
v-model:endTime=
"formData.stopTime"
clearable
/>
</up-form-item>
<up-form-item
label=
"保障阶段"
prop=
"guarantee"
:borderBottom=
"true"
>
...
...
@@ -114,30 +78,27 @@
></global-picker>
</up-form-item>
<up-form-item
label=
"数据来源"
prop=
"isType"
:borderBottom=
"true"
>
<global-picker
pickAlign=
"right"
v-model=
"formData.isType"
clearable
dictkey=
"id_isType"
></global-picker>
</up-form-item>
<up-form-item
label=
"故障报告人"
prop=
"reporter"
:borderBottom=
"true"
>
<global-picker
pickAlign=
"right"
v-model=
"formData.reporter"
clearable
:options=
"getParamsByType('FaultReporting')"
></global-picker>
</up-form-item>
</up-form>
</view>
<template
#
bottom
>
<view
class=
"footer-btn"
>
<up-row
gutter=
"10"
>
<up-col
span=
"6"
>
<global-button
type=
"primary"
plain
size=
"large"
:radius=
"5"
@
tap=
"handleReset"
>
重置
</global-button>
<global-button
type=
"primary"
plain
size=
"large"
:radius=
"5"
@
tap=
"handleReset"
>
重置
</global-button>
</up-col>
<up-col
span=
"6"
>
<global-button
type=
"primary"
size=
"large"
:radius=
"5"
@
tap=
"handleConfirm"
>
确定
</global-button>
<global-button
type=
"primary"
size=
"large"
:radius=
"5"
@
tap=
"handleConfirm"
>
确定
</global-button>
</up-col>
</up-row>
</view>
...
...
@@ -155,10 +116,12 @@ import { getParamsByType } from 'mocp/hooks/use-params/useParams'
//获取下拉框选项
const
baseStore
=
useBaseStore
()
const
{
selectList
:
{
deviceNumList
}}
=
useBaseStore
()
const
{
selectList
:
{
deviceNumList
}
}
=
useBaseStore
()
const
inforDisclosureStore
=
useInforDisclosureStore
()
//获取查询表单数据
const
{
searchData
}
=
storeToRefs
(
inforDisclosureStore
)
const
{
searchData
}
=
storeToRefs
(
inforDisclosureStore
)
const
formData
=
ref
(
cloneDeep
(
searchData
.
value
))
const
handleReset
=
()
=>
{
inforDisclosureStore
.
resetForm
()
...
...
@@ -171,9 +134,7 @@ const handleConfirm = () => {
uni
.
$emit
(
'inforDisclosureReload'
)
}
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.search-form
{
padding
:
24
rpx
24
rpx
0
24
rpx
;
background
:
#fff
;
...
...
src/pages/modules/mocp/panel/supported-task/components/supportedTaskItem.vue
View file @
071137a7
<
template
>
<view
class=
"supportedTaskItem f-flex-1"
>
<view
class=
"itemFlex itemTop"
>
<view
class=
"txt f-flex-2 text-left"
>
{{
followAcTagAll
[
item
.
followStatus
]
}}
</view>
<view
class=
"txt f-flex-2 text-left"
>
<global-text-status
:value=
"item.followStatus"
dictkey=
"st_followStatus"
></global-text-status>
</view>
<view
class=
"txt f-flex-3 text-center"
>
{{
timeStampFormat
(
item
.
flightDate
,
{
format
:
'YYYY-MM-DD'
}
)
||
'-'
}}
{{
timeStampFormat
(
item
.
flightDate
,
{
format
:
'YYYY-MM-DD'
}
)
||
'-'
}}
<
/view
>
<
view
class
=
"txt f-flex-2 text-center"
>
{{
timeStampFormat
(
item
.
stdChn
,
{
format
:
'HH:mm'
}
)
||
'-'
}}
{{
timeStampFormat
(
item
.
stdChn
,
{
format
:
'HH:mm'
}
)
||
'-'
}}
<
/view
>
<
view
class
=
"txt f-flex-3 text-right"
>
航站:
{{
item
.
depStn
}}
<
/view
>
<
/view
>
...
...
@@ -17,8 +19,6 @@
<
view
class
=
"txt f-flex-3 text-right"
>
{{
item
.
acType
}}
<
/view
>
<
/view
>
<
/view
>
<
/template
>
<
script
setup
>
...
...
@@ -26,16 +26,13 @@ import { ref } from 'vue'
import
{
timeStampFormat
}
from
'mocp/utils/tool'
import
{
followAcTagAll
}
from
'mocp/utils/getFlightList'
const
ps
=
defineProps
({
item
:
{
type
:
Object
,
default
:
()
=>
({
}
)
}
}
)
const
{
item
}
=
ps
const
{
item
}
=
ps
<
/script
>
<
style
lang
=
"scss"
scoped
>
@
import
'../constants/supportedTask.scss'
;
...
...
src/pages/modules/mocp/panel/supported-task/list.vue
View file @
071137a7
...
...
@@ -13,6 +13,7 @@
tabsWidth=
"50%"
chooseDataType=
"checkbox"
@
handleChooseData=
"handleChooseData"
localPaging
alone
>
<template
#="
{ item }">
...
...
@@ -38,19 +39,14 @@
<
script
setup
>
import
{
ref
}
from
'vue'
import
useSupportedTaskStore
from
'mocp/store/supportedTask'
import
{
storeToRefs
}
from
'pinia'
import
{
userTasksApi
,
updateFlyFollowAcApi
,
getMoveListApi
}
from
'mocp/api/supportedTask'
import
{
userTasksApi
,
updateFlyFollowAcApi
}
from
'mocp/api/supportedTask'
import
supportedTaskItem
from
'./components/supportedTaskItem.vue'
import
{
followAcTagAll
}
from
'mocp/utils/getFlightList'
import
{
orderBy
}
from
'lodash'
import
useUserStore
from
'mocp/store/user
'
import
Day
from
'mocp/utils/dayjs
'
const
userStore
=
useUserStore
()
const
paging
=
ref
(
null
)
const
showAction
=
ref
(
false
)
const
supportedTaskStore
=
useSupportedTaskStore
()
const
{
searchData
}
=
storeToRefs
(
supportedTaskStore
)
const
followAcTagAllDispose
=
followAcTagAll
.
map
((
item
)
=>
{
return
{
label
:
item
,
...
...
@@ -60,46 +56,24 @@ const followAcTagAllDispose = followAcTagAll.map((item) => {
const
tabList
=
[
{
name
:
'今日及次日后跟机任务'
,
value
:
1
,
params
:
{},
params
:
{
startT
:
Day
().
hour
(
0
).
minute
(
0
).
second
(
0
).
valueOf
(),
stopT
:
Day
().
add
(
1
,
'day'
).
hour
(
23
).
minute
(
59
).
second
(
59
).
valueOf
()
},
api
:
userTasksApi
},
{
name
:
'历史跟机任务'
,
value
:
2
,
params
:
{
userId
:
userStore
.
userInfo
?.
id
startT
:
Day
().
subtract
(
30
,
'day'
).
minute
(
0
).
second
(
0
).
valueOf
(),
stopT
:
Day
().
subtract
(
1
,
'day'
).
hour
(
23
).
minute
(
59
).
second
(
59
).
valueOf
()
},
api
:
getMoveList
Api
api
:
userTasks
Api
}
]
const
selectList
=
ref
([])
const
transformData
=
(
data
)
=>
{
const
test
=
[
{
followStatus
:
1
,
//跟机状态
flightDate
:
1
,
//跟机航班日期
stdChn
:
1
,
//起飞时间
depStn
:
1
,
//跟机航站
acOwn
:
1
,
//航司
flightNo
:
1
,
//航班号
ac
:
1
,
//机号
acType
:
1
//机型
},
{
followStatus
:
2
,
//跟机状态
flightDate
:
2
,
//跟机航班日期
stdChn
:
2
,
//起飞时间
depStn
:
2
,
//跟机航站
acOwn
:
2
,
//航司
flightNo
:
2
,
//航班号
ac
:
2
,
//机号
acType
:
2
//机型
}
]
console
.
log
(
'@@mappedData'
,
data
.
followAc
)
return
orderBy
(
data
.
followAc
,
'stdChn'
)
}
const
handleChooseData
=
(
data
)
=>
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment