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
cbf1888f
Commit
cbf1888f
authored
Jul 25, 2024
by
liujinbo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改global-page-swiper
parent
3e934781
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
159 additions
and
52 deletions
+159
-52
src/mocp/api/fleet.js
+0
-8
src/mocp/api/inforDisclosure.js
+10
-0
src/mocp/components/global-page-swiper-item/global-page-swiper-item.vue
+24
-7
src/mocp/components/global-page-swiper/global-page-swiper.vue
+8
-6
src/mocp/store/inforDisclosure.js
+8
-10
src/pages/modules/mocp/panel/inforDisclosure/list.vue
+76
-18
src/pages/modules/mocp/panel/inforDisclosure/search.vue
+33
-3
No files found.
src/mocp/api/fleet.js
View file @
cbf1888f
...
...
@@ -8,11 +8,3 @@ export const getFleetListApi = (data, config) => {
config
})
}
export
const
WorkTaskIsSuccessApi
=
(
data
,
config
)
=>
{
return
http
({
method
:
'POST'
,
url
:
'/workbench/WorkTaskIsSuccess'
,
data
,
config
})
}
src/mocp/api/inforDisclosure.js
0 → 100644
View file @
cbf1888f
import
{
http
}
from
'mocp/utils/http'
export
const
getMocinfoListApi
=
(
data
,
config
)
=>
{
return
http
({
method
:
'POST'
,
url
:
'/moc/getMocinfoList'
,
data
,
config
})
}
src/mocp/components/global-page-swiper-item/global-page-swiper-item.vue
View file @
cbf1888f
...
...
@@ -19,7 +19,8 @@
<global-empty></global-empty>
</
template
>
<slot
:dataList=
"dataList"
>
<up-skeleton
v-if=
"showSkeleton"
rows=
"100"
:loading=
"true"
:animate=
"true"
:title=
"false"
></up-skeleton>
<up-skeleton
v-if=
"showSkeleton"
rows=
"100"
:loading=
"true"
:animate=
"true"
:title=
"false"
></up-skeleton>
</slot>
</z-paging>
</view>
...
...
@@ -84,6 +85,19 @@ const ps = defineProps({
backToTopBottom
:
{
type
:
[
Number
,
String
],
default
:
'160rpx'
},
localPaging
:
{
type
:
Boolean
,
default
:
false
},
localPagingCB
:
{
type
:
Function
,
default
:
()
=>
{
}
},
pageSize
:
{
type
:
Number
,
default
:
10
}
})
...
...
@@ -119,16 +133,19 @@ const queryList = (pageIndex, pageSize) => {
params
[
ps
.
tabValueField
]
=
ps
.
tabValue
}
if
(
Object
.
prototype
.
toString
.
call
(
ps
.
api
)
==
'[object Function]'
)
{
ps
.
api
(
params
,
{
loading
:
true
})
.
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
paging
.
value
?.
complete
(
res
.
list
||
res
.
data
?.
list
||
[])
ps
.
api
(
params
,
{
loading
:
true
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
||
res
.
list
?.
length
)
{
if
(
!
ps
.
localPaging
)
{
paging
.
value
?.
complete
(
res
.
list
||
res
.
data
?.
list
||
res
?.
data
||
[])
}
else
{
const
data
=
res
.
data
||
[]
paging
.
value
?.
setLocalPaging
(
ps
.
localPagingCB
(
data
))
}
firstLoaded
.
value
=
true
}
else
{
uni
.
$mocpMessage
.
error
(
res
.
message
)
}
})
.
catch
(()
=>
{
}).
catch
(()
=>
{
showSkeleton
.
value
=
false
paging
.
value
?.
complete
(
false
)
})
...
...
src/mocp/components/global-page-swiper/global-page-swiper.vue
View file @
cbf1888f
...
...
@@ -18,7 +18,7 @@
:keyName=
"nameKey"
@
handleChange=
"tabsChange"
inactiveStyle=
"color:#86909C"
:width=
"
250
"
:width=
"
tabsWidth
"
:height=
"100"
></global-tabs>
<slot
name=
"top"
></slot>
...
...
@@ -46,6 +46,8 @@
:auto-show-back-to-top=
"autoShowBackToTop"
:loading-more-enabled=
"loadingMoreEnabled"
:back-to-top-bottom=
"backToTopBottom"
:localPaging=
"$attrs.localPaging"
:localPagingCB=
"$attrs.localPagingCB"
>
<
template
#="{
dataList
}"
>
<slot
:dataList=
"dataList"
></slot>
...
...
@@ -62,7 +64,7 @@
import
{
computed
,
nextTick
,
onUnmounted
,
ref
}
from
'vue'
// 获取屏幕边界到安全区域距离
const
{
safeAreaInsets
}
=
uni
.
getSystemInfoSync
()
const
{
safeAreaInsets
}
=
uni
.
getSystemInfoSync
()
const
ps
=
defineProps
({
background
:
{
type
:
String
,
...
...
@@ -72,10 +74,6 @@ const ps = defineProps({
type
:
[
String
,
Number
],
default
:
0
},
padding
:
{
type
:
[
String
,
Number
],
default
:
0
},
margin
:
{
type
:
[
String
,
Number
],
default
:
0
...
...
@@ -151,6 +149,10 @@ const ps = defineProps({
backToTopBottom
:
{
type
:
[
Number
,
String
],
default
:
'160rpx'
},
tabsWidth
:
{
type
:
[
Number
,
String
],
default
:
'250'
}
})
// z-swiper样式
...
...
src/mocp/store/inforDisclosure.js
View file @
cbf1888f
import
{
defineStore
}
from
'pinia'
import
Day
from
'mocp/utils/dayjs'
const
currentTime
=
Day
(
new
Date
())
const
dateEnd
=
currentTime
.
format
(
'YYYY-MM-DD'
)
const
useInforDisclosureStore
=
defineStore
(
'inforDisclosure'
,
{
state
:
()
=>
{
return
{
searchData
:
{
state
:
1
,
machineNumber
:
''
,
planeModel
:
''
,
aviation
:
''
,
terminal
:
''
,
startTime
:
''
,
//填报日期-当前日期
guarantee
:
''
,
//保障阶段0 1 2
rlease_state
:
''
,
//完成状态0123
function_Info
:
''
,
//运行阶段012
failure_state
:
''
,
//故障状态
professional
:
''
//专业类别
startTime
:
''
,
guarantee
:
''
,
rlease_state
:
''
,
function_Info
:
''
,
failure_state
:
''
,
professional
:
''
},
details
:
undefined
}
...
...
@@ -26,6 +23,7 @@ const useInforDisclosureStore = defineStore('inforDisclosure', {
actions
:
{
resetForm
()
{
this
.
searchData
=
{
state
:
1
,
machineNumber
:
''
,
planeModel
:
''
,
aviation
:
''
,
...
...
src/pages/modules/mocp/panel/inforDisclosure/list.vue
View file @
cbf1888f
<
template
>
<global-page
title=
"
机队状态网
"
<global-page
-swiper
title=
"
信息通报
"
isDataList
refresherEnabled
loadingMoreEnabled
auto
ref=
"paging"
:params=
"searchData"
showNavRight
navRightType=
"icon"
navRightIcon=
"saixuan-01"
@
handleRightClick=
"handleRightClick"
:api=
"get
Fleet
ListApi"
:api=
"get
Mocinfo
ListApi"
:padding=
"24"
localPaging
:localPagingCB=
"localPagingCB"
:tabList=
"tabList"
tabValueField=
"state"
tabsWidth=
"50%"
>
<template
#="
{ dataList }">
<view
class=
"item"
v-for=
"item in dataList"
:key=
"item.id"
@
tap=
"goDetails(item)"
>
<view
class=
"item-title"
>
<view
class=
"left"
>
<custom-state
:value=
"useGetDictByValue('fleet_state', item.state)"
></custom-state>
<text
class=
"txt u-line-1 fleetTxt"
v-if=
"item.machineNumber"
>
{{
item
.
machineNumber
}}
<text
class=
"txt u-line-1 fleetTxt"
>
{{
item
.
info
}}
</text>
</view>
</view>
...
...
@@ -29,7 +31,7 @@
</view>
</view>
</
template
>
</global-page>
</global-page
-swiper
>
</template>
<
script
setup
>
...
...
@@ -39,32 +41,88 @@ import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import
useInforDisclosureStore
from
'mocp/store/inforDisclosure'
import
{
storeToRefs
}
from
'pinia'
import
{
onUnload
}
from
'@dcloudio/uni-app'
import
{
getFleetListApi
}
from
'mocp/api/fleet'
import
{
getMocinfoListApi
}
from
'mocp/api/inforDisclosure'
import
{
getParamsByType
}
from
'mocp/hooks/use-params/useParams'
//跳转
const
fleetStore
=
useFleetStore
()
const
{
searchData
}
=
storeToRefs
(
fleetStore
)
const
inforDisclosure
=
useInforDisclosureStore
()
const
{
searchData
}
=
storeToRefs
(
inforDisclosure
)
const
tabList
=
[
{
name
:
'当前通报'
,
value
:
1
},
{
name
:
'历史通报'
,
value
:
2
}
]
const
goDetails
=
(
data
)
=>
{
uni
.
$mocpJump
.
navigateTo
(
'/panel/
fleet
/details'
,
{
id
:
data
.
id
}).
then
(()
=>
{
fleetSto
re
.
setState
(
'details'
,
data
)
uni
.
$mocpJump
.
navigateTo
(
'/panel/
inforDisclosure
/details'
,
{
id
:
data
.
id
}).
then
(()
=>
{
inforDisclosu
re
.
setState
(
'details'
,
data
)
})
}
const
localPagingCB
=
(
data
)
=>
{
const
RetentionBasisList
=
getParamsByType
(
'RetentionBasis'
)
const
OperationPhaseList
=
getParamsByType
(
'OperationPhase'
)
const
ReleaseStatuList
=
getParamsByType
(
'ReleaseStatu'
)
data
.
list
=
data
.
list
.
reduce
((
q
,
w
)
=>
{
q
.
push
(
w
)
if
(
Array
.
isArray
(
w
.
cascade
)
&&
w
.
cascade
.
length
>
0
)
{
q
.
push
(...
w
.
cascade
)
}
return
q
},
[])
const
mappedData
=
data
.
list
.
map
(
item
=>
{
return
{
time
:
item
.
creationTime
.
replace
(
/-/g
,
'/'
).
replace
(
/:
\d
+
?
$/
,
''
),
operator
:
item
.
filledBy
,
info
:
item
.
faultDescription
,
status
:
item
.
failureState
.
toString
()
===
'0'
?
'open'
:
item
.
failureState
.
toString
()
===
'1'
?
'close'
:
'作废'
,
tags
:
[{
text
:
item
.
pid
===
'0'
?
'主项'
:
'子项'
,
bg
:
item
.
pid
===
'0'
?
'blue'
:
'lightblue'
,
color
:
'white'
},
{
text
:
RetentionBasisList
[
item
.
guarantee
*
1
]?.
label
,
bg
:
'#E9E9E9'
,
color
:
'rgba(0,0,0,.4)'
},
{
text
:
OperationPhaseList
[
item
.
functionInfo
*
1
]?.
label
,
bg
:
'#E9E9E9'
,
color
:
'rgba(0,0,0,.4)'
},
{
text
:
ReleaseStatuList
[
item
.
rleaseState
]?.
label
,
bg
:
'#E9E9E9'
,
color
:
'rgba(0,0,0,.4)'
}],
id
:
item
.
id
}
})
console
.
log
(
'@@mappedData'
,
mappedData
)
return
mappedData
}
//筛选
const
handleRightClick
=
()
=>
{
uni
.
$mocpJump
.
redirectTo
(
'/panel/
fleet
/search'
)
uni
.
$mocpJump
.
redirectTo
(
'/panel/
inforDisclosure
/search'
)
}
//刷新
const
paging
=
ref
()
uni
.
$on
(
'inforDisclosure'
,
()
=>
{
uni
.
$on
(
'inforDisclosure
Reload
'
,
()
=>
{
paging
.
value
?.
reload
()
})
onUnload
(()
=>
{
uni
.
$off
(
'inforDisclosure'
)
uni
.
$off
(
'inforDisclosure
Reload
'
)
})
</
script
>
<
style
lang=
"scss"
scoped
>
@import
'mocpStatic/css/list.scss'
;
@import
'./constants/fleet.scss'
;
//
@import
'./constants/fleet.scss'
;
</
style
>
src/pages/modules/mocp/panel/inforDisclosure/search.vue
View file @
cbf1888f
...
...
@@ -74,12 +74,42 @@
></global-picker>
</up-form-item>
<up-form-item
label=
"完成状态"
prop=
"
guarante
e"
:borderBottom=
"true"
>
<up-form-item
label=
"完成状态"
prop=
"
rlease_stat
e"
:borderBottom=
"true"
>
<global-picker
pickAlign=
"right"
v-model=
"formData.
guarante
e"
v-model=
"formData.
rlease_stat
e"
clearable
:options=
"getParamsByType('GuaranteeStage')"
:options=
"getParamsByType('ReleaseStatu')"
filter
></global-picker>
</up-form-item>
<up-form-item
label=
"运行阶段"
prop=
"function_Info"
:borderBottom=
"true"
>
<global-picker
pickAlign=
"right"
v-model=
"formData.function_Info"
clearable
:options=
"getParamsByType('OperationPhase')"
filter
></global-picker>
</up-form-item>
<up-form-item
label=
"故障状态"
prop=
"failure_state"
:borderBottom=
"true"
>
<global-picker
pickAlign=
"right"
v-model=
"formData.failure_state"
clearable
:options=
"getParamsByType('RetentionBasis')"
filter
></global-picker>
</up-form-item>
<up-form-item
label=
"专业类别"
prop=
"professional"
:borderBottom=
"true"
>
<global-picker
pickAlign=
"right"
v-model=
"formData.professional"
clearable
:options=
"getParamsByType('MajorCategory')"
filter
></global-picker>
</up-form-item>
...
...
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