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
fc3e847d
Commit
fc3e847d
authored
Jul 22, 2024
by
pangchong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: AOG收尾
parent
e4690ef6
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
473 additions
and
94 deletions
+473
-94
components.d.ts
+2
-0
src/mocp/api/aog.js
+9
-0
src/mocp/components/global-action-sheet/global-action-sheet.vue
+28
-15
src/mocp/components/global-text-status/dictData.js
+22
-0
src/mocp/components/global-text-status/global-text-status.vue
+45
-0
src/mocp/store/aog.js
+59
-12
src/pages.json
+36
-0
src/pages/modules/mocp/panel/aog/components/text-status.vue
+0
-38
src/pages/modules/mocp/panel/aog/construction-details.vue
+89
-0
src/pages/modules/mocp/panel/aog/construction-list.vue
+23
-0
src/pages/modules/mocp/panel/aog/details.vue
+28
-23
src/pages/modules/mocp/panel/aog/list.vue
+1
-1
src/pages/modules/mocp/panel/aog/material-details.vue
+10
-2
src/pages/modules/mocp/panel/aog/material-list.vue
+1
-1
src/pages/modules/mocp/panel/aog/other-details.vue
+31
-0
src/pages/modules/mocp/panel/aog/other-list.vue
+31
-0
src/pages/modules/mocp/panel/aog/personal-details.vue
+33
-0
src/pages/modules/mocp/panel/aog/personal-list.vue
+23
-0
src/pages/modules/mocp/panel/aog/search.vue
+2
-2
No files found.
components.d.ts
View file @
fc3e847d
...
@@ -11,6 +11,7 @@ import 'uview-plus/types'
...
@@ -11,6 +11,7 @@ import 'uview-plus/types'
declare
module
'vue'
{
declare
module
'vue'
{
export
interface
GlobalComponents
{
export
interface
GlobalComponents
{
// 全局组件
// 全局组件
GlobalActionSheet
:
typeof
import
(
'./src/mocp/components/global-action-sheet/global-action-sheet.vue'
)[
'default'
]
GlobalAlbum
:
typeof
import
(
'./src/mocp/components/global-album/global-album.vue'
)[
'default'
]
GlobalAlbum
:
typeof
import
(
'./src/mocp/components/global-album/global-album.vue'
)[
'default'
]
GlobalButton
:
typeof
import
(
'./src/mocp/components/global-button/global-button.vue'
)[
'default'
]
GlobalButton
:
typeof
import
(
'./src/mocp/components/global-button/global-button.vue'
)[
'default'
]
GlobalCalendar
:
typeof
import
(
'./src/mocp/components/global-calendar/global-calendar.vue'
)[
'default'
]
GlobalCalendar
:
typeof
import
(
'./src/mocp/components/global-calendar/global-calendar.vue'
)[
'default'
]
...
@@ -29,6 +30,7 @@ declare module 'vue' {
...
@@ -29,6 +30,7 @@ declare module 'vue' {
GlobalRadio
:
typeof
import
(
'./src/mocp/components/global-radio/global-radio.vue'
)[
'default'
]
GlobalRadio
:
typeof
import
(
'./src/mocp/components/global-radio/global-radio.vue'
)[
'default'
]
GlobalTabs
:
typeof
import
(
'./src/mocp/components/global-tabs/global-tabs.vue'
)[
'default'
]
GlobalTabs
:
typeof
import
(
'./src/mocp/components/global-tabs/global-tabs.vue'
)[
'default'
]
GlobalTag
:
typeof
import
(
'./src/mocp/components/global-tag/global-tag.vue'
)[
'default'
]
GlobalTag
:
typeof
import
(
'./src/mocp/components/global-tag/global-tag.vue'
)[
'default'
]
GlobalTextStatus
:
typeof
import
(
'./src/mocp/components/global-text-status/global-text-status.vue'
)[
'default'
]
GlobalUpload
:
typeof
import
(
'./src/mocp/components/global-upload/global-upload.vue'
)[
'default'
]
GlobalUpload
:
typeof
import
(
'./src/mocp/components/global-upload/global-upload.vue'
)[
'default'
]
GlobalUploadImage
:
typeof
import
(
'./src/mocp/components/global-upload-image/global-upload-image.vue'
)[
'default'
]
GlobalUploadImage
:
typeof
import
(
'./src/mocp/components/global-upload-image/global-upload-image.vue'
)[
'default'
]
// 自定义组件
// 自定义组件
...
...
src/mocp/api/aog.js
View file @
fc3e847d
...
@@ -71,3 +71,12 @@ export const updateAogMaterialApi = (data, config) => {
...
@@ -71,3 +71,12 @@ export const updateAogMaterialApi = (data, config) => {
config
config
})
})
}
}
export
const
updateAogConstructionApi
=
(
data
,
config
)
=>
{
return
http
({
method
:
'POST'
,
url
:
'/technical-support/updateAogConstruction'
,
data
,
config
})
}
src/mocp/components/global-action-sheet/global-action-sheet.vue
View file @
fc3e847d
<
template
>
<
template
>
<up-action-sheet
<up-action-sheet
:actions=
"
a
ctions"
:actions=
"
getA
ctions"
:title=
"title"
:title=
"title"
:description=
"description"
:description=
"description"
:cancelText=
"cancelText"
:cancelText=
"cancelText"
:round=
"round"
:round=
"round"
:show=
"
show
"
:show=
"
modelValue
"
:closeOnClickAction=
"true"
:closeOnClickAction=
"true"
:closeOnClickOverlay=
"true"
:closeOnClickOverlay=
"true"
@
select=
"handleSelect"
@
select=
"handleSelect"
...
@@ -14,12 +14,23 @@
...
@@ -14,12 +14,23 @@
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
import
{
ref
}
from
'vue'
import
{
computed
}
from
'vue'
const
show
=
ref
(
false
)
const
es
=
defineEmits
([
'update:modelValue'
,
'select'
,
'close'
])
const
es
=
defineEmits
([
'select'
,
'close'
])
const
ps
=
defineProps
({
const
ps
=
defineProps
({
actions
:
{
modelValue
:
{
type
:
Boolean
,
default
:
false
},
labelField
:
{
type
:
String
,
default
:
'label'
},
valueField
:
{
type
:
String
,
default
:
'value'
},
options
:
{
type
:
Array
,
type
:
Array
,
default
:
()
=>
{
default
:
()
=>
{
return
[]
return
[]
...
@@ -42,19 +53,21 @@ const ps = defineProps({
...
@@ -42,19 +53,21 @@ const ps = defineProps({
default
:
10
default
:
10
}
}
})
})
const
open
=
()
=>
{
const
getActions
=
computed
(()
=>
{
show
.
value
=
true
return
ps
.
options
.
map
((
item
)
=>
{
}
return
{
...
item
,
name
:
item
[
ps
.
labelField
]
}
})
})
const
handleSelect
=
(
data
)
=>
{
const
handleSelect
=
(
data
)
=>
{
show
.
value
=
false
es
(
'update:modelValue'
,
false
)
es
(
'select'
,
data
)
es
(
'select'
,
data
[
ps
.
valueField
],
data
)
}
}
const
handleClose
=
()
=>
{
const
handleClose
=
()
=>
{
show
.
value
=
false
es
(
'update:modelValue'
,
false
)
es
(
'close'
)
es
(
'close'
)
}
}
defineExpose
({
open
})
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
<
style
lang=
"scss"
scoped
></
style
>
src/mocp/components/global-text-status/dictData.js
0 → 100644
View file @
fc3e847d
export
const
aog_status
=
[
{
text
:
'未到位'
,
class
:
'mocp-color-warning-6'
,
value
:
0
},
{
text
:
'部分到位'
,
class
:
'mocp-color-primary-6'
,
value
:
1
},
{
text
:
'全部到位'
,
class
:
'mocp-color-success-6'
,
value
:
2
},
{
text
:
'-'
,
class
:
'mocp-color-text-4'
,
value
:
3
}
]
export
const
aogDetails_status
=
[
{
text
:
'未到位'
,
class
:
'mocp-color-warning-6'
,
value
:
'0'
},
{
text
:
'已到位'
,
class
:
'mocp-color-success-6'
,
value
:
'1'
}
]
export
const
bbDetails_status
=
[
{
text
:
'开始施工'
,
class
:
'mocp-color-primary-6'
,
value
:
'0'
},
{
text
:
'已完成'
,
class
:
'mocp-color-success-6'
,
value
:
'1'
},
{
text
:
'-'
,
class
:
'mocp-color-text-4'
,
value
:
'-1'
}
]
export
const
otherDetails_status
=
[
{
text
:
'已完成'
,
class
:
'mocp-color-success-6'
,
value
:
'0'
},
{
text
:
'未完成'
,
class
:
'mocp-color-danger-6'
,
value
:
'1'
}
]
src/mocp/components/global-text-status/global-text-status.vue
0 → 100644
View file @
fc3e847d
<
template
>
<text
:class=
"getStatus.class"
>
{{
getStatus
.
text
}}
</text>
</
template
>
<
script
setup
>
import
{
computed
}
from
'vue'
import
*
as
dictData
from
'./dictData'
import
{
cloneDeep
}
from
'lodash'
const
ps
=
defineProps
({
dictkey
:
{
type
:
String
,
default
:
''
},
options
:
{
type
:
Array
,
default
:
()
=>
{
return
[]
}
},
value
:
{
type
:
[
String
,
Number
],
default
:
''
},
valueField
:
{
type
:
String
,
default
:
'value'
}
})
const
getData
=
computed
(()
=>
{
if
(
ps
.
dictkey
)
{
if
(
dictData
[
ps
.
dictkey
])
{
return
cloneDeep
(
dictData
[
ps
.
dictkey
])
}
else
{
throw
new
Error
(
'请输入存在的dictkey值'
)
}
}
else
{
return
ps
.
options
||
[]
}
})
const
getStatus
=
computed
(()
=>
{
const
data
=
getData
.
value
.
find
((
item
)
=>
item
[
ps
.
valueField
]
==
ps
.
value
)
return
data
||
{}
})
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
src/mocp/store/aog.js
View file @
fc3e847d
...
@@ -29,16 +29,28 @@ const useAogStore = defineStore('aog', {
...
@@ -29,16 +29,28 @@ const useAogStore = defineStore('aog', {
details
:
undefined
,
details
:
undefined
,
workBench
:
undefined
,
//工作台详情
workBench
:
undefined
,
//工作台详情
disposalPlan
:
[],
//处置方案
disposalPlan
:
[],
//处置方案
avData
:
[],
//航材
avData
:
[],
//航材
toolData
:
[],
//工具
toolData
:
[],
//工具
materialIndex
:
-
1
,
//航材(或工具)详情的下标
materialIndex
:
-
1
,
//航材(或工具)详情的下标
materialType
:
1
,
//1-航材,2-工具
materialType
:
1
,
//1-航材,2-工具
pData
:
[],
//人员
pData
:
[],
//人员
pIndex
:
-
1
,
//人员详情的下标
bbData
:
[],
//施工情况
bbData
:
[],
//施工情况
oData
:
[]
//其他特殊保障
bbIndex
:
-
1
,
//施工情况详情的下标
oData
:
undefined
,
//其他特殊保障
oIndex
:
-
1
//其他特殊保障的下标
}
}
},
},
getters
:
{
getters
:
{
/**
*
* @param {*} state
* @returns 获取对应状态
*/
getAvStatus
(
state
)
{
getAvStatus
(
state
)
{
let
avStatus
=
3
let
avStatus
=
3
if
(
state
.
avData
&&
state
.
avData
.
length
)
{
if
(
state
.
avData
&&
state
.
avData
.
length
)
{
...
@@ -106,6 +118,11 @@ const useAogStore = defineStore('aog', {
...
@@ -106,6 +118,11 @@ const useAogStore = defineStore('aog', {
}
}
return
otherStatus
return
otherStatus
},
},
/**
*
* @param {*} state
* @returns 获取对应数据
*/
getMaterialData
(
state
)
{
getMaterialData
(
state
)
{
if
(
state
.
materialType
==
1
)
{
if
(
state
.
materialType
==
1
)
{
return
state
.
avData
return
state
.
avData
...
@@ -123,52 +140,82 @@ const useAogStore = defineStore('aog', {
...
@@ -123,52 +140,82 @@ const useAogStore = defineStore('aog', {
}
else
{
}
else
{
return
undefined
return
undefined
}
}
},
getPDetails
(
state
)
{
if
(
state
.
pIndex
>=
0
)
{
return
state
.
pData
[
state
.
pIndex
]
}
else
{
return
undefined
}
},
getBbDetails
(
state
)
{
if
(
state
.
bbIndex
>=
0
)
{
return
state
.
bbData
[
state
.
bbIndex
]
}
else
{
return
undefined
}
},
getODetails
(
state
)
{
if
(
state
.
oIndex
>=
0
)
{
return
state
.
oData
[
state
.
oIndex
]
}
else
{
return
undefined
}
}
}
},
},
actions
:
{
actions
:
{
async
getWorkBenchList
()
{
async
getWorkBenchList
()
{
const
res
=
await
getWorkBenchListApi
({
workbenchId
:
this
.
details
.
workbenchId
})
const
res
=
await
getWorkBenchListApi
({
workbenchId
:
this
.
details
?
.
workbenchId
})
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
workBench
=
res
.
data
?.
list
[
0
]
this
.
workBench
=
res
.
data
?.
list
[
0
]
}
}
},
},
async
getAogDisposalPlan
()
{
async
getAogDisposalPlan
()
{
const
res
=
await
getAogDisposalPlanApi
({
workbenchId
:
this
.
details
.
workbenchId
})
const
res
=
await
getAogDisposalPlanApi
({
workbenchId
:
this
.
details
?
.
workbenchId
})
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
disposalPlan
=
res
.
data
this
.
disposalPlan
=
res
.
data
}
else
{
this
.
disposalPlan
=
[]
}
}
},
},
async
getAogMaterialList
(
materialType
)
{
async
getAogMaterialList
(
materialType
)
{
const
res
=
await
getAogMaterialListApi
({
workbenchId
:
this
.
details
.
workbenchId
,
materialType
})
const
res
=
await
getAogMaterialListApi
({
workbenchId
:
this
.
details
?
.
workbenchId
,
materialType
})
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
&&
res
.
data
.
materialMap
)
{
if
(
materialType
==
1
)
{
if
(
materialType
==
1
)
{
this
.
avData
=
Object
.
values
(
res
.
data
.
materialMap
).
flat
()
this
.
avData
=
Object
.
values
(
res
.
data
.
materialMap
).
flat
()
}
else
if
(
materialType
==
2
)
{
}
else
if
(
materialType
==
2
)
{
this
.
toolData
=
Object
.
values
(
res
.
data
.
materialMap
).
flat
()
this
.
toolData
=
Object
.
values
(
res
.
data
.
materialMap
).
flat
()
}
}
}
else
{
this
.
avData
=
[]
this
.
toolData
=
[]
}
}
},
},
async
getAogSupBase
()
{
async
getAogSupBase
()
{
const
res
=
await
getAogSupBaseApi
({
workbenchId
:
this
.
details
.
workbenchId
})
const
res
=
await
getAogSupBaseApi
({
workbenchId
:
this
.
details
?
.
workbenchId
})
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
&&
res
.
data
.
mapList
)
{
this
.
pData
=
Object
.
values
(
res
.
data
.
mapList
).
flat
()
this
.
pData
=
Object
.
values
(
res
.
data
.
mapList
).
flat
()
}
else
{
this
.
pData
=
[]
}
}
},
},
async
getAogConstruction
()
{
async
getAogConstruction
()
{
const
res
=
await
getAogConstructionApi
({
workbenchId
:
this
.
details
.
workbenchId
})
const
res
=
await
getAogConstructionApi
({
workbenchId
:
this
.
details
?
.
workbenchId
})
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
bbData
=
res
.
data
.
constructionList
this
.
bbData
=
res
.
data
.
constructionList
||
[]
}
}
},
},
async
getAogOtherSup
()
{
async
getAogOtherSup
()
{
const
res
=
await
getAogOtherSupApi
({
workbenchId
:
this
.
details
.
workbenchId
})
const
res
=
await
getAogOtherSupApi
({
workbenchId
:
this
.
details
?
.
workbenchId
})
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
&&
res
.
data
)
{
this
.
oData
=
Object
.
entries
(
res
.
data
).
reduce
((
q
,
w
)
=>
{
this
.
oData
=
Object
.
entries
(
res
.
data
).
reduce
((
q
,
w
)
=>
{
if
(
w
[
0
]
!==
'otherData'
)
{
if
(
w
[
0
]
!==
'otherData'
)
{
q
.
push
(
w
[
1
]
)
q
.
push
(
{
...
w
[
1
],
key
:
w
[
0
]
}
)
}
}
return
q
return
q
},
[])
},
[])
}
else
{
this
.
oData
=
[]
}
}
},
},
resetForm
()
{
resetForm
()
{
...
...
src/pages.json
View file @
fc3e847d
...
@@ -271,6 +271,42 @@
...
@@ -271,6 +271,42 @@
"style"
:
{
"style"
:
{
"navigationBarTitleText"
:
" "
"navigationBarTitleText"
:
" "
}
}
},
{
"path"
:
"pages/modules/mocp/panel/aog/personal-list"
,
"style"
:
{
"navigationBarTitleText"
:
"人员保障列表"
}
},
{
"path"
:
"pages/modules/mocp/panel/aog/personal-details"
,
"style"
:
{
"navigationBarTitleText"
:
"人员保障详情"
}
},
{
"path"
:
"pages/modules/mocp/panel/aog/construction-list"
,
"style"
:
{
"navigationBarTitleText"
:
"AOG施工列表"
}
},
{
"path"
:
"pages/modules/mocp/panel/aog/construction-details"
,
"style"
:
{
"navigationBarTitleText"
:
"AOG施工详情"
}
},
{
"path"
:
"pages/modules/mocp/panel/aog/other-list"
,
"style"
:
{
"navigationBarTitleText"
:
"其他特殊保障列表"
}
},
{
"path"
:
"pages/modules/mocp/panel/aog/other-details"
,
"style"
:
{
"navigationBarTitleText"
:
"其他特殊保障详情"
}
}
}
],
],
"globalStyle"
:
{
"globalStyle"
:
{
...
...
src/pages/modules/mocp/panel/aog/components/text-status.vue
deleted
100644 → 0
View file @
e4690ef6
<
template
>
<text
:class=
"getStatus.class"
>
{{
getStatus
.
text
}}
</text>
</
template
>
<
script
setup
>
import
{
computed
}
from
'vue'
const
ps
=
defineProps
({
//0-未到位,1-部分到位,2-全部到位,3-无
status
:
{
type
:
Number
,
default
:
3
}
})
const
getStatus
=
computed
(
function
()
{
if
(
ps
.
status
===
1
)
{
return
{
text
:
'部分到位'
,
class
:
'mocp-color-primary-6'
}
}
if
(
ps
.
status
===
2
)
{
return
{
text
:
'全部到位'
,
class
:
'mocp-color-success-6'
}
}
if
(
ps
.
status
===
3
)
{
return
{
text
:
'无'
,
class
:
'mocp-color-text-4'
}
}
return
{
text
:
'未到位'
,
class
:
'mocp-color-warning-6'
}
})
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
src/pages/modules/mocp/panel/aog/construction-details.vue
0 → 100644
View file @
fc3e847d
<
template
>
<global-page
title=
"AOG施工详情"
showFooterBtn
footerBtnText=
"修改状态"
@
handleFooterClick=
"handleFooterClick"
>
<view
class=
"mocp-cell"
>
<up-cell-group
v-if=
"getBbDetails"
>
<up-cell
title=
"负责人"
:value=
"getBbDetails.personLiable || '-'"
></up-cell>
<up-cell
title=
"开始时间"
:value=
"getBbDetails.startTime || '-'"
></up-cell>
<up-cell
title=
"预计完成时间"
:value=
"getBbDetails.expectCompleteTime || '-'"
></up-cell>
<up-cell
title=
"实际完成时间"
:value=
"getBbDetails.realityCompleteTime || '-'"
></up-cell>
<up-cell
title=
"状态"
>
<template
#
value
>
<global-text-status
:value=
"getBbDetails.state"
dictkey=
"bbDetails_status"
></global-text-status>
</
template
>
</up-cell>
<up-cell
title=
"步骤"
:label=
"getBbDetails.stepContent || '-'"
></up-cell>
</up-cell-group>
</view>
<global-action-sheet
v-model=
"showAction"
:options=
"[
{ label: '无', value: '-1' },
{ label: '开始施工', value: '0' },
{ label: '已完成', value: '1' }
]"
@
select=
"handleSelect"
></global-action-sheet>
<up-modal
title=
"重置状态"
content=
"重置施工状态后,开始时间和完成时间将会清空,确认操作?"
:show=
"showConfirm"
showCancelButton
closeOnClickOverlay
@
confirm=
"updateAogConstruction"
@
cancel=
"show = false"
@
close=
"show = false"
></up-modal>
</global-page>
</template>
<
script
setup
>
import
{
storeToRefs
}
from
'pinia'
import
useAogStore
from
'mocp/store/aog'
import
{
ref
}
from
'vue'
import
{
updateAogConstructionApi
}
from
'mocp/api/aog'
const
aogStore
=
useAogStore
()
const
{
getBbDetails
,
details
}
=
storeToRefs
(
aogStore
)
//修改状态
const
showAction
=
ref
(
false
)
const
showConfirm
=
ref
(
false
)
const
handleFooterClick
=
()
=>
{
showAction
.
value
=
true
}
const
state
=
ref
(
''
)
const
handleSelect
=
(
value
)
=>
{
state
.
value
=
value
if
(
value
==
'-1'
)
{
showConfirm
.
value
=
true
}
else
{
updateAogConstruction
()
}
}
const
updateAogConstruction
=
async
()
=>
{
const
params
=
{
id
:
getBbDetails
.
value
?.
id
,
realityCompleteTime
:
0
,
startTime
:
0
,
state
:
state
.
value
,
workbenchId
:
details
.
value
?.
workbenchId
}
if
(
state
.
value
===
'0'
)
{
params
.
startTime
=
Date
.
now
()
}
else
if
(
state
.
value
===
'1'
)
{
params
.
realityCompleteTime
=
Date
.
now
()
}
const
res
=
await
updateAogConstructionApi
(
params
,
{
loading
:
true
})
if
(
res
.
code
==
200
)
{
uni
.
$mocpJump
.
navigateBack
()
uni
.
$mocpMessage
.
success
(
res
.
message
)
uni
.
$emit
(
'updateBbData'
)
}
else
{
uni
.
$mocpMessage
.
error
(
res
.
message
)
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.mocp-cell
{
background
:
#fff
;
}
</
style
>
src/pages/modules/mocp/panel/aog/construction-list.vue
0 → 100644
View file @
fc3e847d
<
template
>
<global-page
:padding=
"24"
title=
"AOG施工列表"
>
<template
v-for=
"(item, index) in bbData"
:key=
"item.id"
>
<global-card
:title=
"`步骤$
{index + 1}`" titleSuffix="查看详情" @handleTitleClick="goTo(index)">
<global-text-status
:value=
"item.state"
dictkey=
"bbDetails_status"
></global-text-status>
</global-card>
</
template
>
</global-page>
</template>
<
script
setup
>
import
{
storeToRefs
}
from
'pinia'
import
useAogStore
from
'mocp/store/aog'
const
aogStore
=
useAogStore
()
const
{
bbData
}
=
storeToRefs
(
aogStore
)
const
goTo
=
(
index
)
=>
{
uni
.
$mocpJump
.
navigateTo
(
'/panel/aog/construction-details'
).
then
(()
=>
{
aogStore
.
setState
(
'bbIndex'
,
index
)
})
}
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
src/pages/modules/mocp/panel/aog/details.vue
View file @
fc3e847d
...
@@ -50,19 +50,19 @@
...
@@ -50,19 +50,19 @@
<
/view
>
<
/view
>
<
/global-card
>
<
/global-card
>
<
global
-
card
title
=
"航材"
titleSuffix
=
"查看物流"
@
handleTitleClick
=
"goTo('/panel/aog/material-list', { materialType: 1
}
)"
>
<
global
-
card
title
=
"航材"
titleSuffix
=
"查看物流"
@
handleTitleClick
=
"goTo('/panel/aog/material-list', { materialType: 1
}
)"
>
<
text
-
status
:
status
=
"aogStore.getAvStatus"
><
/
text-status
>
<
global
-
text
-
status
:
value
=
"aogStore.getAvStatus"
dictkey
=
"aog_status"
><
/global-
text-status
>
<
/global-card
>
<
/global-card
>
<
global
-
card
title
=
"工具"
titleSuffix
=
"查看物流"
@
handleTitleClick
=
"goTo('/panel/aog/material-list', { materialType: 2
}
)"
>
<
global
-
card
title
=
"工具"
titleSuffix
=
"查看物流"
@
handleTitleClick
=
"goTo('/panel/aog/material-list', { materialType: 2
}
)"
>
<
text
-
status
:
status
=
"aogStore.getToolStatus"
><
/
text-status
>
<
global
-
text
-
status
:
value
=
"aogStore.getToolStatus"
dictkey
=
"aog_status"
><
/global-
text-status
>
<
/global-card
>
<
/global-card
>
<
global
-
card
title
=
"人员"
titleSuffix
=
"查看
物流
"
>
<
global
-
card
title
=
"人员"
titleSuffix
=
"查看
行程"
@
handleTitleClick
=
"goTo('/panel/aog/personal-list')
"
>
<
text
-
status
:
status
=
"aogStore.getPersonnelStatus"
><
/
text-status
>
<
global
-
text
-
status
:
value
=
"aogStore.getPersonnelStatus"
dictkey
=
"aog_status"
><
/global-
text-status
>
<
/global-card
>
<
/global-card
>
<
global
-
card
title
=
"施工情况"
>
<
global
-
card
title
=
"施工情况"
@
handleTitleClick
=
"goTo('/panel/aog/construction-list')"
>
<
text
-
status
:
status
=
"aogStore.getBbStatus"
><
/
text-status
>
<
global
-
text
-
status
:
value
=
"aogStore.getBbStatus"
dictkey
=
"aog_status"
><
/global-
text-status
>
<
/global-card
>
<
/global-card
>
<
global
-
card
title
=
"其他特殊保障"
>
<
global
-
card
title
=
"其他特殊保障"
@
handleTitleClick
=
"goTo('/panel/aog/other-list')"
>
<
text
-
status
:
status
=
"aogStore.getOtherStatus"
><
/
text-status
>
<
global
-
text
-
status
:
value
=
"aogStore.getOtherStatus"
dictkey
=
"aog_status"
><
/global-
text-status
>
<
/global-card
>
<
/global-card
>
<
/template
>
<
/template
>
<
/global-page
>
<
/global-page
>
...
@@ -75,27 +75,29 @@ import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
...
@@ -75,27 +75,29 @@ import { useGetDictByValue } from 'mocp/hooks/use-dict/useDict'
import
useAogStore
from
'mocp/store/aog'
import
useAogStore
from
'mocp/store/aog'
import
useBaseStore
from
'mocp/store/base'
import
useBaseStore
from
'mocp/store/base'
import
{
onLoad
}
from
'@dcloudio/uni-app'
import
{
onLoad
}
from
'@dcloudio/uni-app'
import
TextStatus
from
'./components/text-status.
vue'
import
{
nextTick
}
from
'
vue'
const
baseStore
=
useBaseStore
()
const
baseStore
=
useBaseStore
()
const
aogStore
=
useAogStore
()
const
aogStore
=
useAogStore
()
const
{
getWorkBenchList
,
getAogDisposalPlan
,
getAogMaterialList
,
getAogSupBase
,
getAogConstruction
,
getAogOtherSup
}
=
aogStore
const
{
getWorkBenchList
,
getAogDisposalPlan
,
getAogMaterialList
,
getAogSupBase
,
getAogConstruction
,
getAogOtherSup
}
=
aogStore
const
{
details
,
disposalPlan
,
workBench
,
materialType
}
=
storeToRefs
(
aogStore
)
const
{
details
,
disposalPlan
,
workBench
,
materialType
}
=
storeToRefs
(
aogStore
)
onLoad
(
async
()
=>
{
onLoad
(()
=>
{
uni
.
showLoading
({
nextTick
(
async
()
=>
{
title
:
'加载中'
,
uni
.
showLoading
({
mask
:
true
title
:
'加载中'
,
mask
:
true
}
)
await
Promise
.
all
([
getWorkBenchList
(),
getAogDisposalPlan
(),
getAogMaterialList
(
1
),
getAogMaterialList
(
2
),
getAogSupBase
(),
getAogConstruction
(),
getAogOtherSup
()
])
uni
.
hideLoading
()
}
)
}
)
await
Promise
.
all
([
getWorkBenchList
(),
getAogDisposalPlan
(),
getAogMaterialList
(
1
),
getAogMaterialList
(
2
),
getAogSupBase
(),
getAogConstruction
(),
getAogOtherSup
()
])
uni
.
hideLoading
()
}
)
}
)
const
goTo
=
(
url
,
params
)
=>
{
const
goTo
=
(
url
,
params
)
=>
{
if
(
params
)
{
if
(
params
)
{
...
@@ -109,6 +111,9 @@ const goTo = (url, params) => {
...
@@ -109,6 +111,9 @@ const goTo = (url, params) => {
uni
.
$on
(
'updateMaterialData'
,
()
=>
{
uni
.
$on
(
'updateMaterialData'
,
()
=>
{
getAogMaterialList
(
materialType
.
value
)
getAogMaterialList
(
materialType
.
value
)
}
)
}
)
uni
.
$on
(
'updateBbData'
,
()
=>
{
getAogConstruction
()
}
)
<
/script
>
<
/script
>
<
style
lang
=
"scss"
scoped
>
<
style
lang
=
"scss"
scoped
>
@
import
'./constants/details.scss'
;
@
import
'./constants/details.scss'
;
...
...
src/pages/modules/mocp/panel/aog/list.vue
View file @
fc3e847d
...
@@ -62,7 +62,7 @@ const goDetails = (data) => {
...
@@ -62,7 +62,7 @@ const goDetails = (data) => {
}
}
//筛选
//筛选
const
handleRightClick
=
()
=>
{
const
handleRightClick
=
()
=>
{
uni
.
$mocpJump
.
redirect
To
(
'/panel/aog/search'
)
uni
.
$mocpJump
.
navigate
To
(
'/panel/aog/search'
)
}
}
//刷新
//刷新
const
paging
=
ref
()
const
paging
=
ref
()
...
...
src/pages/modules/mocp/panel/aog/material-details.vue
View file @
fc3e847d
<
template
>
<
template
>
<global-page
<global-page
title=
"航材进展详情
"
:title=
"getTitle
"
showFooterBtn
showFooterBtn
@
handleFooterClick=
"handleFooterClick"
@
handleFooterClick=
"handleFooterClick"
:footerBtnText=
"getMaterialDetails?.actualArrivalTime ? '取消到位' : '到位'"
:footerBtnText=
"getMaterialDetails?.actualArrivalTime ? '取消到位' : '到位'"
...
@@ -25,9 +25,10 @@
...
@@ -25,9 +25,10 @@
import
{
storeToRefs
}
from
'pinia'
import
{
storeToRefs
}
from
'pinia'
import
useAogStore
from
'mocp/store/aog'
import
useAogStore
from
'mocp/store/aog'
import
{
updateAogMaterialApi
}
from
'mocp/api/aog'
import
{
updateAogMaterialApi
}
from
'mocp/api/aog'
import
{
computed
}
from
'vue'
const
aogStore
=
useAogStore
()
const
aogStore
=
useAogStore
()
const
{
getMaterialDetails
}
=
storeToRefs
(
aogStore
)
const
{
getMaterialDetails
,
materialType
}
=
storeToRefs
(
aogStore
)
const
handleFooterClick
=
async
()
=>
{
const
handleFooterClick
=
async
()
=>
{
const
params
=
{
const
params
=
{
id
:
getMaterialDetails
.
value
.
id
,
id
:
getMaterialDetails
.
value
.
id
,
...
@@ -42,6 +43,13 @@ const handleFooterClick = async () => {
...
@@ -42,6 +43,13 @@ const handleFooterClick = async () => {
uni
.
$mocpMessage
.
error
(
res
.
message
)
uni
.
$mocpMessage
.
error
(
res
.
message
)
}
}
}
}
const
getTitle
=
computed
(()
=>
{
if
(
materialType
.
value
==
1
)
{
return
'航材进展列表详情'
}
else
{
return
'工具进展列表详情'
}
})
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.mocp-cell
{
.mocp-cell
{
...
...
src/pages/modules/mocp/panel/aog/material-list.vue
View file @
fc3e847d
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<global-page
:padding=
"24"
:title=
"getTitle"
>
<global-page
:padding=
"24"
:title=
"getTitle"
>
<template
v-for=
"(item, index) in getMaterialData"
:key=
"item.id"
>
<template
v-for=
"(item, index) in getMaterialData"
:key=
"item.id"
>
<global-card
:title=
"item.pn"
titleSuffix=
"查看详情"
@
handleTitleClick=
"goTo(index)"
>
<global-card
:title=
"item.pn"
titleSuffix=
"查看详情"
@
handleTitleClick=
"goTo(index)"
>
{{
item
.
actualArrivalTime
?
'已到位'
:
'未到位'
}}
<global-text-status
:value=
"item.actualArrivalTime ? '1' : '0'"
dictkey=
"aogDetails_status"
></global-text-status>
</global-card>
</global-card>
</
template
>
</
template
>
</global-page>
</global-page>
...
...
src/pages/modules/mocp/panel/aog/other-details.vue
0 → 100644
View file @
fc3e847d
<
template
>
<global-page
title=
"其他特殊保障详情"
>
<view
class=
"mocp-cell"
>
<up-cell-group
v-if=
"getODetails"
>
<up-cell
title=
"负责人"
:value=
"getODetails.userName || '-'"
></up-cell>
<up-cell
title=
"开始时间"
:value=
"getODetails.startTime || '-'"
></up-cell>
<up-cell
title=
"预计完成时间"
:value=
"getODetails.expectCompleteTime || '-'"
></up-cell>
<up-cell
title=
"实际完成时间"
:value=
"getODetails.realityCompleteTime || '-'"
></up-cell>
<up-cell
title=
"状态"
>
<template
#
value
>
<global-text-status
:value=
"getODetails.state || '1'"
dictkey=
"otherDetails_status"
></global-text-status>
</
template
>
</up-cell>
<up-cell
title=
"工作内容"
:label=
"getODetails.content || '-'"
></up-cell>
</up-cell-group>
</view>
</global-page>
</template>
<
script
setup
>
import
{
storeToRefs
}
from
'pinia'
import
useAogStore
from
'mocp/store/aog'
const
aogStore
=
useAogStore
()
const
{
getODetails
}
=
storeToRefs
(
aogStore
)
</
script
>
<
style
lang=
"scss"
scoped
>
.mocp-cell
{
background
:
#fff
;
}
</
style
>
src/pages/modules/mocp/panel/aog/other-list.vue
0 → 100644
View file @
fc3e847d
<
template
>
<global-page
:padding=
"24"
title=
"其他特殊保障列表"
>
<template
v-for=
"(item, index) in oData"
:key=
"item.id"
>
<global-card
:title=
"oType[item.key]"
titleSuffix=
"查看详情"
@
handleTitleClick=
"goTo(index)"
>
<global-text-status
:value=
"item.state || '1'"
dictkey=
"otherDetails_status"
></global-text-status>
</global-card>
</
template
>
</global-page>
</template>
<
script
setup
>
import
{
storeToRefs
}
from
'pinia'
import
useAogStore
from
'mocp/store/aog'
const
oType
=
{
towAirplane
:
'拖飞机'
,
testParking
:
'试车位'
,
aerialEquipment
:
'高空设备'
,
hangar
:
'机库'
,
other
:
'其他'
,
refueling
:
'加注燃油'
}
const
aogStore
=
useAogStore
()
const
{
oData
}
=
storeToRefs
(
aogStore
)
const
goTo
=
(
index
)
=>
{
uni
.
$mocpJump
.
navigateTo
(
'/panel/aog/other-details'
).
then
(()
=>
{
aogStore
.
setState
(
'oIndex'
,
index
)
})
}
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
src/pages/modules/mocp/panel/aog/personal-details.vue
0 → 100644
View file @
fc3e847d
<
template
>
<global-page
title=
"人员保障详情"
>
<view
class=
"mocp-cell"
>
<up-cell-group
v-if=
"getPDetails"
>
<up-cell
title=
"姓名"
:value=
"getPDetails.personnel"
></up-cell>
<up-cell
title=
"基地"
:value=
"getPDetails.supBase"
></up-cell>
<up-cell
title=
"类型"
:value=
"personnelActType[getPDetails.type]"
></up-cell>
<up-cell
title=
"状态"
>
<template
#
value
>
<global-text-status
:value=
"getPDetails.state"
dictkey=
"aogDetails_status"
></global-text-status>
</
template
>
</up-cell>
<up-cell
title=
"领取时间"
:value=
"getPDetails.collectionTime || '-'"
></up-cell>
<up-cell
title=
"预计到位时间"
:value=
"getPDetails.expectCompleteTime || '-'"
></up-cell>
<up-cell
title=
"实际到位时间"
:value=
"getPDetails.realityCompleteTime || '-'"
></up-cell>
</up-cell-group>
</view>
</global-page>
</template>
<
script
setup
>
import
{
storeToRefs
}
from
'pinia'
import
useAogStore
from
'mocp/store/aog'
const
personnelActType
=
[
'责任放行'
,
'机械员'
,
'NDT'
,
'金工'
,
'试车'
,
'必检'
,
'电子'
]
const
aogStore
=
useAogStore
()
const
{
getPDetails
}
=
storeToRefs
(
aogStore
)
</
script
>
<
style
lang=
"scss"
scoped
>
.mocp-cell
{
background
:
#fff
;
}
</
style
>
src/pages/modules/mocp/panel/aog/personal-list.vue
0 → 100644
View file @
fc3e847d
<
template
>
<global-page
:padding=
"24"
title=
"人员保障列表"
>
<template
v-for=
"(item, index) in pData"
:key=
"item.id"
>
<global-card
:title=
"item.personnel"
titleSuffix=
"查看详情"
@
handleTitleClick=
"goTo(index)"
>
<global-text-status
:value=
"item.state"
dictkey=
"aogDetails_status"
></global-text-status>
</global-card>
</
template
>
</global-page>
</template>
<
script
setup
>
import
{
storeToRefs
}
from
'pinia'
import
useAogStore
from
'mocp/store/aog'
const
aogStore
=
useAogStore
()
const
{
pData
}
=
storeToRefs
(
aogStore
)
const
goTo
=
(
index
)
=>
{
uni
.
$mocpJump
.
navigateTo
(
'/panel/aog/personal-details'
).
then
(()
=>
{
aogStore
.
setState
(
'pIndex'
,
index
)
})
}
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
src/pages/modules/mocp/panel/aog/search.vue
View file @
fc3e847d
...
@@ -102,12 +102,12 @@ const { searchData } = storeToRefs(aogStore)
...
@@ -102,12 +102,12 @@ const { searchData } = storeToRefs(aogStore)
const
formData
=
ref
(
cloneDeep
(
searchData
.
value
))
const
formData
=
ref
(
cloneDeep
(
searchData
.
value
))
const
handleReset
=
()
=>
{
const
handleReset
=
()
=>
{
aogStore
.
resetForm
()
aogStore
.
resetForm
()
uni
.
$mocpJump
.
redirect
To
(
'/panel/aog/list'
)
uni
.
$mocpJump
.
navigate
To
(
'/panel/aog/list'
)
uni
.
$emit
(
'aogReload'
)
uni
.
$emit
(
'aogReload'
)
}
}
const
handleConfirm
=
()
=>
{
const
handleConfirm
=
()
=>
{
aogStore
.
setState
(
'searchData'
,
formData
.
value
)
aogStore
.
setState
(
'searchData'
,
formData
.
value
)
uni
.
$mocpJump
.
redirect
To
(
'/panel/aog/list'
)
uni
.
$mocpJump
.
navigate
To
(
'/panel/aog/list'
)
uni
.
$emit
(
'aogReload'
)
uni
.
$emit
(
'aogReload'
)
}
}
</
script
>
</
script
>
...
...
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