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
541150e3
Commit
541150e3
authored
Jul 17, 2024
by
pangchong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 工作任务指令
parent
4a054119
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
91 additions
and
91 deletions
+91
-91
src/mocp/api/work-assignment.js
+5
-26
src/mocp/components/global-picker/global-picker.vue
+6
-2
src/mocp/hooks/use-dict/dict-data/index.js
+1
-0
src/mocp/hooks/use-dict/dict-data/work-assignment.js
+5
-0
src/mocp/store/work-assignment.js
+14
-12
src/pages.json
+6
-0
src/pages/modules/mocp/panel/assign-work/details.vue
+9
-0
src/pages/modules/mocp/panel/work-assignment/details.vue
+15
-0
src/pages/modules/mocp/panel/work-assignment/list.vue
+9
-9
src/pages/modules/mocp/panel/work-assignment/search.vue
+21
-42
No files found.
src/mocp/api/work-assignment.js
View file @
541150e3
import
{
http
}
from
'mocp/utils/http'
export
const
get
Decision
Api
=
(
data
,
config
)
=>
{
export
const
get
WorkTaskList
Api
=
(
data
,
config
)
=>
{
return
http
({
method
:
'POST'
,
url
:
'/workbench/getDecision'
,
data
,
config
})
}
export
const
updateDecisionApi
=
(
data
,
config
)
=>
{
return
http
({
method
:
'POST'
,
url
:
'/workbench/updateDecision'
,
data
,
config
})
}
export
const
updateMcoDirectorInfoApi
=
(
data
,
config
)
=>
{
return
http
({
method
:
'POST'
,
url
:
'/workbench/updateMcoDirectorInfo'
,
data
,
config
})
}
export
const
updateApproverInfoApi
=
(
data
,
config
)
=>
{
return
http
({
method
:
'POST'
,
url
:
'/workbench/updateApproverInfo'
,
url
:
'/workbench/getWorkTaskList'
,
data
,
config
})
}
\ No newline at end of file
src/mocp/components/global-picker/global-picker.vue
View file @
541150e3
...
...
@@ -167,8 +167,12 @@ const defaultIndex = ref(0)
//获取下拉框的内容Columns
const
getColumns
=
computed
(()
=>
{
if
(
ps
.
dictkey
)
{
if
(
dictData
[
ps
.
dictkey
])
{
return
cloneDeep
(
dictData
[
ps
.
dictkey
])
}
else
{
throw
new
Error
(
'请输入存在的dictkey值'
)
}
}
else
{
if
(
ps
.
options
&&
Object
.
prototype
.
toString
.
call
(
ps
.
options
[
0
])
==
'[object Object]'
)
{
return
ps
.
options
}
else
{
...
...
@@ -185,8 +189,8 @@ const getColumns = computed(() => {
watch
(
[()
=>
ps
.
modelValue
,
()
=>
ps
.
options
],
()
=>
{
const
option
=
getColumns
.
value
.
find
((
option
)
=>
String
(
option
[
ps
.
valueField
])
===
String
(
ps
.
modelValue
))
const
index
=
getColumns
.
value
.
findIndex
((
option
)
=>
String
(
option
[
ps
.
valueField
])
===
String
(
ps
.
modelValue
))
const
option
=
getColumns
.
value
?
.
find
((
option
)
=>
String
(
option
[
ps
.
valueField
])
===
String
(
ps
.
modelValue
))
const
index
=
getColumns
.
value
?
.
findIndex
((
option
)
=>
String
(
option
[
ps
.
valueField
])
===
String
(
ps
.
modelValue
))
if
(
option
)
{
labelValue
.
value
=
option
[
ps
.
labelField
]
nextTick
(()
=>
{
...
...
src/mocp/hooks/use-dict/dict-data/index.js
View file @
541150e3
...
...
@@ -2,3 +2,4 @@ export * from './appraisal-record'
export
*
from
'./assign-work'
export
*
from
'./move-decision'
export
*
from
'./technology-evaluation'
export
*
from
'./work-assignment'
src/mocp/hooks/use-dict/dict-data/work-assignment.js
0 → 100644
View file @
541150e3
// 建议以文件名首字母作为前缀wa_
export
const
wa_state
=
[
{
label
:
'OPEN'
,
value
:
'1'
},
{
label
:
'CLOSE'
,
value
:
'2'
}
]
src/mocp/store/work-assignment.js
View file @
541150e3
...
...
@@ -4,12 +4,13 @@ const useWorkAssignmentStore = defineStore('workAssignment', {
state
:
()
=>
{
return
{
searchData
:
{
state
:
1
,
presenter
:
''
,
seat
:
''
,
workType
:
null
,
startDateTime
:
null
,
endDateTime
:
null
state
:
'1'
,
machineNumber
:
''
,
model
:
''
,
aviation
:
''
,
terminal
:
''
,
feedbackTime
:
''
,
sponsor
:
''
},
details
:
undefined
}
...
...
@@ -18,12 +19,13 @@ const useWorkAssignmentStore = defineStore('workAssignment', {
actions
:
{
resetForm
()
{
this
.
searchData
=
{
state
:
1
,
presenter
:
''
,
seat
:
''
,
workType
:
null
,
startDateTime
:
null
,
endDateTime
:
null
state
:
'1'
,
machineNumber
:
''
,
model
:
''
,
aviation
:
''
,
terminal
:
''
,
feedbackTime
:
''
,
sponsor
:
''
}
},
setState
(...
args
)
{
...
...
src/pages.json
View file @
541150e3
...
...
@@ -235,6 +235,12 @@
"style"
:
{
"navigationBarTitleText"
:
"工作任务指令"
}
},
{
"path"
:
"pages/modules/mocp/panel/work-assignment/details"
,
"style"
:
{
"navigationBarTitleText"
:
"工作任务指令详情"
}
}
],
"globalStyle"
:
{
...
...
src/pages/modules/mocp/panel/assign-work/details.vue
View file @
541150e3
...
...
@@ -202,12 +202,21 @@ const assignWorkStore = useAssignWorkStore()
const
{
details
,
arrangeWorkExtendList
,
arrangeWorkExtend
}
=
storeToRefs
(
assignWorkStore
)
onLoad
(
async
()
=>
{
assignWorkStore
.
setState
(
'id'
,
query
.
id
)
if
(
arrangeWorkExtendList
.
value
.
length
>
1
)
{
uni
.
showLoading
({
title
:
'加载中...'
,
mask
:
true
})
await
Promise
.
all
([
assignWorkStore
.
getArrangeWorkDetail
(),
assignWorkStore
.
getEnetOrgTree
()])
uni
.
hideLoading
()
}
else
{
uni
.
showLoading
({
title
:
'加载中...'
,
mask
:
true
})
await
assignWorkStore
.
getArrangeWorkDetail
()
uni
.
hideLoading
()
}
})
//责任公司弹框
const
companyPopupRef
=
ref
()
...
...
src/pages/modules/mocp/panel/work-assignment/details.vue
0 → 100644
View file @
541150e3
<
template
>
<global-page
:padding=
"24"
title=
"工作任务指令详情"
></global-page>
</
template
>
<
script
setup
>
import
useWorkAssignmentStore
from
'mocp/store/work-assignment'
import
{
storeToRefs
}
from
'pinia'
import
useBaseStore
from
'mocp/store/base'
const
workAssignmentStore
=
useWorkAssignmentStore
()
const
{
details
}
=
storeToRefs
(
workAssignmentStore
)
console
.
log
(
details
.
value
)
const
baseStore
=
useBaseStore
()
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
src/pages/modules/mocp/panel/work-assignment/list.vue
View file @
541150e3
...
...
@@ -11,14 +11,14 @@
navRightType=
"icon"
navRightIcon=
"saixuan-01"
@
handleRightClick=
"handleRightClick"
:api=
"get
Decision
Api"
:api=
"get
WorkTaskList
Api"
:padding=
"24"
>
<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('
md
_state', item.state)"
></custom-state>
<custom-state
:value=
"useGetDictByValue('
wa
_state', item.state)"
></custom-state>
</view>
<view
class=
"right"
>
<text
class=
"txt u-line-1"
v-if=
"item.machineNumber"
>
{{
item
.
machineNumber
}}
</text>
...
...
@@ -26,13 +26,13 @@
</view>
</view>
<view
class=
"item-content u-line-3"
>
{{
item
.
fault
Description
||
'无'
}}
{{
item
.
task
Description
||
'无'
}}
</view>
<view
class=
"item-footer"
>
<view
class=
"label"
>
<global-icon
icon=
"calendar"
></global-icon>
<text
class=
"txt"
>
{{
timeStampFormat
(
item
.
f
illedTime
,
{
format
:
'YYYY/MM/DD HH:mm
'
}
)
}}
{{
timeStampFormat
(
item
.
f
eedbackTime
,
{
format
:
'YYYY/MM/DD
'
}
)
}}
<
/text
>
<
/view
>
<
/view
>
...
...
@@ -44,18 +44,18 @@
<
script
setup
>
import
{
ref
}
from
'vue'
import
{
timeStampFormat
}
from
'mocp/utils/tool'
import
{
getDecisionApi
}
from
'mocp/api/move-decision'
import
{
useGetDictByValue
}
from
'mocp/hooks/use-dict/useDict'
import
use
MoveDecisionStore
from
'mocp/store/move-decision
'
import
use
WorkAssignmentStore
from
'mocp/store/work-assignment
'
import
{
storeToRefs
}
from
'pinia'
import
{
onUnload
}
from
'@dcloudio/uni-app'
import
{
getWorkTaskListApi
}
from
'mocp/api/work-assignment'
//跳转
const
moveDecisionStore
=
useMoveDecision
Store
()
const
{
searchData
}
=
storeToRefs
(
moveDecision
Store
)
const
workAssignmentStore
=
useWorkAssignment
Store
()
const
{
searchData
}
=
storeToRefs
(
workAssignment
Store
)
const
goDetails
=
(
data
)
=>
{
uni
.
$mocpJump
.
navigateTo
(
'/panel/work-assignment/details'
,
{
id
:
data
.
id
}
).
then
(()
=>
{
moveDecision
Store
.
setState
(
'details'
,
data
)
workAssignment
Store
.
setState
(
'details'
,
data
)
}
)
}
//筛选
...
...
src/pages/modules/mocp/panel/work-assignment/search.vue
View file @
541150e3
...
...
@@ -3,58 +3,37 @@
<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=
"
md
_state"
></global-picker>
<global-picker
v-model=
"formData.state"
pickAlign=
"right"
clearable
dictkey=
"
wa
_state"
></global-picker>
</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>
<up-form-item
label=
"机号"
prop=
"machineNumber"
:borderBottom=
"true"
>
<global-picker
pickAlign=
"right"
v-model=
"formData.machineNumber"
:options=
"deviceNumList"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item
label=
"是否有效"
prop=
"valid"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.valid"
pickAlign=
"right"
:options=
"[
{ label: '有效', value: '1' },
{ label: '无效', value: '0' }
]"
clearable
>
</global-picker>
<up-form-item
label=
"机型"
prop=
"model"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.model"
pickAlign=
"right"
:options=
"baseStore.getTypeSelect"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item
label=
"
决策结果"
prop=
"decisionState
"
:borderBottom=
"true"
>
<up-form-item
label=
"
航司"
prop=
"aviation
"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.
decisionState
"
v-model=
"formData.
aviation
"
pickAlign=
"right"
:options=
"[
{ label: '同意', value: '1' },
{ label: '不同意', value: '0' }
]"
:options=
"baseStore.getAirlineSelect"
clearable
filter
></global-picker>
</up-form-item>
<up-form-item
label=
"航
司"
prop=
"aviation
"
:borderBottom=
"true"
>
<up-form-item
label=
"航
站"
prop=
"terminal
"
:borderBottom=
"true"
>
<global-picker
v-model=
"formData.aviation"
pickAlign=
"right"
:options=
"baseStore.getAirlineSelect
"
v-model=
"formData.terminal
"
clearable
:options=
"baseStore.getTerminalSelect"
filter
></global-picker>
</up-form-item>
<up-form-item
label=
"
机号"
prop=
"machineNumber
"
:borderBottom=
"true"
>
<global-
picker
pickAlign=
"right"
v-model=
"formData.machineNumber"
:options=
"deviceNumList"
clearable
filter
></global-picker
>
<up-form-item
label=
"
反馈时限"
prop=
"feedbackTime
"
:borderBottom=
"true"
>
<global-
date
v-model=
"formData.feedbackTime"
pickAlign=
"right"
clearable
></global-date
>
</up-form-item>
<up-form-item
label=
"日期"
:borderBottom=
"true"
>
<global-calendar
pickAlign=
"right"
v-model:startTime=
"formData.startDateTime"
v-model:endTime=
"formData.endDateTime"
clearable
></global-calendar>
<up-form-item
label=
"发起人"
prop=
"sponsor"
:borderBottom=
"true"
>
<up-input
v-model=
"formData.sponsor"
inputAlign=
"right"
border=
"none"
placeholder=
"请输入"
clearable
></up-input>
</up-form-item>
</up-form>
</view>
...
...
@@ -73,27 +52,27 @@
<
script
setup
>
import
useBaseStore
from
'mocp/store/base'
import
useMoveDecisionStore
from
'mocp/store/move-decision'
import
{
storeToRefs
}
from
'pinia'
import
{
cloneDeep
}
from
'lodash'
import
{
ref
}
from
'vue'
import
useWorkAssignmentStore
from
'mocp/store/work-assignment'
//获取下拉框选项
const
baseStore
=
useBaseStore
()
const
{
selectList
:
{
deviceNumList
}
}
=
useBaseStore
()
const
moveDecisionStore
=
useMoveDecision
Store
()
const
workAssignmentStore
=
useWorkAssignment
Store
()
//获取查询表单数据
const
{
searchData
}
=
storeToRefs
(
moveDecision
Store
)
const
{
searchData
}
=
storeToRefs
(
workAssignment
Store
)
const
formData
=
ref
(
cloneDeep
(
searchData
.
value
))
const
handleReset
=
()
=>
{
moveDecision
Store
.
resetForm
()
workAssignment
Store
.
resetForm
()
uni
.
$mocpJump
.
redirectTo
(
'/panel/work-assignment/list'
)
uni
.
$emit
(
'workAssignmentReload'
)
}
const
handleConfirm
=
()
=>
{
moveDecision
Store
.
setState
(
'searchData'
,
formData
.
value
)
workAssignment
Store
.
setState
(
'searchData'
,
formData
.
value
)
uni
.
$mocpJump
.
redirectTo
(
'/panel/work-assignment/list'
)
uni
.
$emit
(
'workAssignmentReload'
)
}
...
...
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