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
193082a1
Commit
193082a1
authored
Jul 16, 2024
by
pangchong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 我的待办
parent
c9d7df8f
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
145 additions
and
213 deletions
+145
-213
src/mocp/components/global-page-swiper/global-page-swiper.vue
+2
-2
src/mocp/components/global-page/global-page.vue
+14
-2
src/mocp/components/global-picker/global-picker.vue
+1
-1
src/mocp/components/global-popup/global-popup.vue
+4
-3
src/mocp/components/global-tabs/global-tabs.vue
+1
-0
src/mocp/components/global-upload-image/global-upload-image.vue
+1
-1
src/mocp/components/global-upload/global-upload.vue
+1
-1
src/mocp/utils/message.js
+2
-3
src/mocp/utils/tool.js
+2
-1
src/pages/modules/mocp/panel/assign-work/components/company-popup.vue
+1
-1
src/pages/modules/mocp/panel/components/panel-menu.vue
+1
-1
src/pages/modules/mocp/panel/my-toDo/index.vue
+115
-197
No files found.
src/mocp/components/global-page-swiper/global-page-swiper.vue
View file @
193082a1
...
...
@@ -165,8 +165,8 @@ const getStyle = computed(() => {
let
padding
=
typeof
ps
.
padding
==
'number'
?
ps
.
padding
+
'rpx'
:
ps
.
padding
let
margin
=
typeof
ps
.
margin
==
'number'
?
ps
.
margin
+
'rpx'
:
ps
.
margin
let
style
=
{
margin
:
margin
,
padding
:
padding
margin
,
padding
}
return
style
})
...
...
src/mocp/components/global-page/global-page.vue
View file @
193082a1
...
...
@@ -4,6 +4,8 @@
ref=
"paging"
v-model=
"dataList"
:auto=
"auto"
:fixed=
"fixed"
:height=
"height"
:refresher-enabled=
"refresherEnabled"
:refresher-threshold=
"refresherThreshold"
:auto-show-back-to-top=
"autoShowBackToTop"
...
...
@@ -75,6 +77,16 @@ const ps = defineProps({
type
:
[
String
,
Number
],
default
:
0
},
//是页面滚动还是局部滚动(默认页面滚动)
fixed
:
{
type
:
Boolean
,
default
:
true
},
//局部滚动的高度
height
:
{
type
:
String
,
default
:
''
},
//是否自动加载
auto
:
{
type
:
Boolean
,
...
...
@@ -202,8 +214,8 @@ const getStyle = computed(() => {
let
padding
=
typeof
ps
.
padding
==
'number'
?
ps
.
padding
+
'rpx'
:
ps
.
padding
let
margin
=
typeof
ps
.
margin
==
'number'
?
ps
.
margin
+
'rpx'
:
ps
.
margin
let
style
=
{
margin
:
margin
,
padding
:
padding
margin
,
padding
}
return
style
})
...
...
src/mocp/components/global-picker/global-picker.vue
View file @
193082a1
<
template
>
<!-- 全局下拉框控件 -->
<view
class=
"picker"
:style=
"style"
>
<global-popup
v-model=
"show"
@
close=
"show = false"
:height=
"592"
:customStyle=
"
{ padding: '28rpx 32rpx' }" v-if="filter" :distance="distance">
<global-popup
v-model=
"show"
:height=
"592"
:customStyle=
"
{ padding: '28rpx 32rpx' }" v-if="filter" :distance="distance">
<template
#
top
>
<view>
<up-search
:placeholder=
"placeholder"
:showAction=
"false"
v-model=
"searchKey"
></up-search>
...
...
src/mocp/components/global-popup/global-popup.vue
View file @
193082a1
...
...
@@ -25,7 +25,7 @@
<
script
setup
>
import
{
computed
,
nextTick
,
ref
,
watch
}
from
'vue'
const
es
=
defineEmits
([
'close'
,
'open'
])
const
es
=
defineEmits
([
'
update:modelValue'
,
'
close'
,
'open'
])
const
ps
=
defineProps
({
modelValue
:
{
type
:
Boolean
,
...
...
@@ -117,10 +117,11 @@ watch(
}
)
const
close
=
()
=>
{
es
(
'close'
,
false
)
es
(
'update:modelValue'
,
false
)
es
(
'close'
)
}
const
open
=
()
=>
{
es
(
'open'
,
true
)
es
(
'open'
)
}
</
script
>
<
style
lang=
"scss"
>
...
...
src/mocp/components/global-tabs/global-tabs.vue
View file @
193082a1
...
...
@@ -9,6 +9,7 @@
:itemStyle=
"getItemStyle"
:current=
"current"
:keyName=
"keyName"
:scrollable=
"scrollable"
@
click=
"handleClick"
@
change=
"handleChange"
>
...
...
src/mocp/components/global-upload-image/global-upload-image.vue
View file @
193082a1
<
template
>
<!-- 全局图片
下载
-->
<!-- 全局图片
上传
-->
<up-upload
:width=
"width + 'rpx'"
:height=
"height + 'rpx'"
...
...
src/mocp/components/global-upload/global-upload.vue
View file @
193082a1
<
template
>
<!-- 全局文件
下载
-->
<!-- 全局文件
上传
-->
<view
class=
"upload"
:style=
"style"
>
<view
class=
"upload-list"
>
<view
class=
"upload-item"
v-for=
"(item, index) in getFileList"
:key=
"item.id"
>
...
...
src/mocp/utils/message.js
View file @
193082a1
import
{
nextTick
,
ref
}
from
'vue'
import
{
ref
}
from
'vue'
//
utils/message.js
//
通用提示
export
const
showToast
=
(
msg
,
options
)
=>
{
uni
.
showToast
({
title
:
msg
||
'操作失败'
,
...
...
@@ -9,7 +9,6 @@ export const showToast = (msg, options) => {
...
options
})
}
export
const
messageCount
=
ref
(
0
)
// 消息提示
export
const
toast
=
(
message
)
=>
{
uni
.
$emit
(
'useMessage'
,
{
type
:
'default'
,
message
})
...
...
src/mocp/utils/tool.js
View file @
193082a1
...
...
@@ -3,7 +3,8 @@ import Day from './dayjs'
/**
* 时间戳格式化
* 1715072168340 => 2024-05-07 16:56:08 format=YYYY/MM/DD HH:mm:ss
* 1715072168340 => 2024-05-07 16:56:08
* format=YYYY/MM/DD HH:mm:ss
*/
export
const
timeStampFormat
=
(
timeStamp
,
opt
)
=>
{
if
(
!
timeStamp
||
timeStamp
==
-
1
||
timeStamp
==
'-1'
||
timeStamp
==
0
||
timeStamp
==
'0'
)
{
...
...
src/pages/modules/mocp/panel/assign-work/components/company-popup.vue
View file @
193082a1
<
template
>
<global-popup
v-model=
"showPopup"
mode=
"right"
:width=
"580"
background=
"#F7F8FA"
title=
"选择责任单位"
:round=
"32"
@
close=
"showPopup = false"
>
<global-popup
v-model=
"showPopup"
mode=
"right"
:width=
"580"
background=
"#F7F8FA"
title=
"选择责任单位"
:round=
"32"
>
<view
class=
"list"
>
<view
class=
"item"
v-for=
"item in arrangeWorkExtendList"
:key=
"item.id"
@
tap=
"handleClick(item)"
>
{{
item
.
companyFullName
}}
...
...
src/pages/modules/mocp/panel/components/panel-menu.vue
View file @
193082a1
<
template
>
<view
class=
"content"
:style=
"
{ height: `calc(100vh - 344rpx - ${safeAreaInsets?.top + 'px'} - ${safeAreaInsets?.bottom + 'px'} - 50px)` }">
<view
class=
"tab-nav"
>
<global-tabs
:list=
"tabNav"
@
handleClick=
"handleClick"
:scrollable=
"false"
></global-tabs>
<global-tabs
:list=
"tabNav"
@
handleClick=
"handleClick"
></global-tabs>
</view>
<scroll-view
class=
"tab-content"
scroll-y=
"true"
>
<view
class=
"tab-content-item"
v-if=
"activeIndex == 0"
>
...
...
src/pages/modules/mocp/panel/my-toDo/index.vue
View file @
193082a1
...
...
@@ -2,7 +2,19 @@
<global-page
title=
"我的待办"
>
<up-collapse
:border=
"false"
accordion
>
<up-collapse-item
title=
"布置工作(2)"
>
<view
class=
"item"
v-for=
"item in dataList"
:key=
"item.id"
@
tap=
"goDetails(item)"
>
<global-page
:fixed=
"false"
height=
"800rpx"
:showNavbar=
"false"
:custom=
"false"
isDataList
refresherEnabled
loadingMoreEnabled
:api=
"getArrangeWorkListApi"
auto
>
<template
#="
{ dataList }">
<view
class=
"item"
v-for=
"item in dataList"
:key=
"item.id"
>
<view
class=
"item-title"
>
<view
class=
"left"
>
<custom-state
:value=
"item.state == 1 ? 'OPEN' : 'CLOSE'"
></custom-state>
...
...
@@ -28,230 +40,136 @@
<
/view
>
<
/view
>
<
/view
>
<
/template
>
<
/global-page
>
<
/up-collapse-item
>
<
up
-
collapse
-
item
title
=
"考核记录(2)"
>
<
view
class
=
"item"
v
-
for
=
"item in dataList"
:
key
=
"item.id"
@
tap
=
"goDetails(item)"
>
<
global
-
page
:
fixed
=
"false"
height
=
"800rpx"
:
showNavbar
=
"false"
:
custom
=
"false"
isDataList
refresherEnabled
loadingMoreEnabled
:
api
=
"getRqmListApi"
auto
>
<
template
#
=
"{ dataList
}
"
>
<
view
class
=
"item"
v
-
for
=
"item in dataList"
:
key
=
"item.id"
>
<
view
class
=
"item-title"
>
<
view
class
=
"desc"
>
<
custom
-
state
:
value
=
"item.status == 1 ? 'OPEN' : 'CLOSE'"
><
/custom-state
>
<
view
class
=
"txt"
>
{{
item
.
appraisee
!=
'-1'
?
item
.
appraisee
:
''
}}
<
/view
>
<
view
class
=
"place"
>
{{
item
.
department
!=
'-1'
?
item
.
department
:
''
}}
<
/view
>
<
/view
>
<
custom
-
score
v
-
if
=
"item.score != -1"
:
type
=
"item.eventType == 1 ? 'success' : 'warning'"
:
count
=
"item.score"
><
/custom-score
>
<
/view
>
<
view
class
=
"item-content u-line-3"
>
{{
item
.
eventMsg
||
'无'
}}
<
/view
>
<
/view
>
<
/template
>
<
/global-page
>
<
/up-collapse-item
>
<
up
-
collapse
-
item
title
=
"运行决策(2)"
>
<
global
-
page
:
fixed
=
"false"
height
=
"800rpx"
:
showNavbar
=
"false"
:
custom
=
"false"
isDataList
refresherEnabled
loadingMoreEnabled
:
api
=
"getDecisionApi"
auto
>
<
template
#
=
"{ dataList
}
"
>
<
view
class
=
"item"
v
-
for
=
"item in dataList"
:
key
=
"item.id"
>
<
view
class
=
"item-title"
>
<
view
class
=
"left"
>
<
custom
-
state
:
value
=
"item.state == 1 ? 'OPEN' : 'CLOSE'"
><
/custom-state
>
<
view
class
=
"txt u-line-1"
>
{{
item
.
seat
}}
<
/view
>
<
custom
-
state
:
value
=
"useGetDictByValue('md_state', item.state)"
><
/custom-state
>
<
/view
>
<
view
class
=
"right"
>
<
text
class
=
"txt u-line-1"
v
-
if
=
"item.machineNumber"
>
{{
item
.
machineNumber
}}
<
/text
>
<
text
class
=
"txt u-line-1"
v
-
if
=
"item.aviation"
>
{{
item
.
aviation
}}
<
/text
>
<
/view
>
<
view
class
=
"right u-line-1"
>
{{
baseStore
.
getParamNameByValue
(
'LayoutWorkType'
,
item
.
workType
)
}}
<
/view
>
<
/view
>
<
view
class
=
"item-content u-line-3"
>
{{
item
.
taskDescribe
}}
{{
item
.
faultDescription
||
'无'
}}
<
/view
>
<
view
class
=
"item-footer"
>
<
view
class
=
"label"
>
<
global
-
icon
icon
=
"calendar"
><
/global-icon
>
<
text
class
=
"txt"
>
{{
timeStampFormat
(
item
.
startTime
,
{
format
:
'YYYY/MM/DD'
}
)
}}
-
{{
timeStampFormat
(
item
.
feedbackTime
,
{
format
:
'YYYY/MM/DD'
}
)
}}
{{
timeStampFormat
(
item
.
filledTime
,
{
format
:
'YYYY/MM/DD HH:mm'
}
)
}}
<
/text
>
<
/view
>
<
/view
>
<
/view
>
<
/template
>
<
/global-page
>
<
/up-collapse-item
>
<
up
-
collapse
-
item
title
=
"技术评估(2)"
>
<
global
-
page
:
fixed
=
"false"
height
=
"800rpx"
:
showNavbar
=
"false"
:
custom
=
"false"
isDataList
refresherEnabled
loadingMoreEnabled
:
api
=
"getTechnicalEvaluationApi"
auto
>
<
template
#
=
"{ dataList
}
"
>
<
view
class
=
"item"
v
-
for
=
"item in dataList"
:
key
=
"item.id"
>
<
view
class
=
"item-title"
>
<
view
class
=
"left"
>
<
custom
-
state
:
value
=
"useGetDictByValue('te_state', item.state)"
><
/custom-state
>
<
/view
>
<
view
class
=
"right"
>
<
text
class
=
"txt u-line-1"
v
-
if
=
"item.ac"
>
{{
item
.
ac
}}
<
/text
>
<
text
class
=
"txt u-line-1"
v
-
if
=
"item.model"
>
{{
item
.
model
}}
<
/text
>
<
text
class
=
"txt u-line-1"
v
-
if
=
"item.aviation"
>
{{
useGetDictByValue
(
''
,
item
.
aviation
,
{
data
:
baseStore
.
getAirlineSelect
}
)
}}
<
/text
>
<
/view
>
<
/view
>
<
view
class
=
"item-content u-line-3"
>
{{
item
.
description
||
'无'
}}
<
/view
>
<
view
class
=
"item-footer"
>
<
view
class
=
"label"
>
<
global
-
icon
icon
=
"idcard"
><
/global-icon
>
<
text
class
=
"txt"
>
提出人
:{{
item
.
presenter
||
'-'
}}
<
/text
>
<
global
-
icon
icon
=
"calendar"
><
/global-icon
>
<
text
class
=
"txt"
>
{{
Day
(
item
.
dateTime
).
format
(
'YYYY/MM/DD'
)
}}
<
/text
>
<
/view
>
<
/view
>
<
/view
>
<
/template
>
<
/global-page
>
<
/up-collapse-item
>
<
up
-
collapse
-
item
title
=
"运行决策(2)"
>
运行决策
<
/up-collapse-item
>
<
up
-
collapse
-
item
title
=
"技术评估(2)"
>
技术评估
<
/up-collapse-item
>
<
/up-collapse
>
<
/global-page
>
<
/template
>
<
script
setup
>
import
{
ref
}
from
'vue'
import
useBaseStore
from
'mocp/store/base'
import
{
timeStampFormat
}
from
'mocp/utils/tool'
import
{
useGetDictByValue
}
from
'mocp/hooks/use-dict/useDict'
import
Day
from
'mocp/utils/dayjs'
import
{
getRqmListApi
}
from
'mocp/api/appraisal-record'
import
{
getArrangeWorkListApi
}
from
'mocp/api/assign-work'
import
{
getTechnicalEvaluationApi
}
from
'mocp/api/technology-evaluation'
import
{
getDecisionApi
}
from
'mocp/api/move-decision'
const
baseStore
=
useBaseStore
()
const
dataList
=
ref
([
{
addressee
:
'[""]'
,
appType
:
''
,
arrangeWorkExtendList
:
[
{
appType
:
''
,
approvalContent
:
''
,
approvalFile
:
''
,
approvalFileVoList
:
[],
approvalTime
:
0.0
,
approvalUser
:
''
,
approvalUserId
:
null
,
baseApprovalLeader
:
''
,
company
:
'116133'
,
companyFullName
:
'海南海航迎宾馆有限公司'
,
createTime
:
1720768765000
,
current
:
''
,
decompose
:
''
,
eventType
:
''
,
feedbackState
:
'1'
,
feedbackTime
:
0.0
,
feedbackUser
:
''
,
file
:
''
,
fileVoList
:
[],
followUpFeedback
:
''
,
followUpFeedbackContent
:
''
,
followUpFeedbackFile
:
''
,
followUpFeedbackFileVoList
:
[],
followUpFeedbackTime
:
0.0
,
followUpFeedbackUser
:
''
,
followUpFeedbackUserId
:
null
,
gzApprovalComments
:
''
,
gzApprovalContent
:
''
,
gzApprovalTime
:
0.0
,
gzApprovalUser
:
''
,
gzApprovalUserId
:
null
,
gzFeedbackContent
:
''
,
gzFeedbackTime
:
0.0
,
gzFeedbackUser
:
''
,
gzFeedbackUserId
:
null
,
id
:
'1811661626631987201'
,
leaderApprovalComments
:
''
,
mcdApprovalLeader
:
''
,
pcTime
:
0.0
,
problem
:
''
,
tag
:
'0'
,
trackingPoints
:
''
,
validateCloseTime
:
0.0
,
validateCloseUser
:
''
,
validateCloseUserId
:
null
,
validateFile
:
''
,
validateFileVoList
:
[],
validateState
:
'1'
,
validateType
:
''
,
workId
:
'1811661626093338624'
,
workTarget
:
''
}
],
company
:
'116133'
,
createTime
:
1720768765000
,
createUser
:
'专家20'
,
createUserId
:
'32815'
,
del
:
'0'
,
emailTime
:
0.0
,
endTime
:
0.0
,
feedback
:
'1'
,
feedbackState
:
''
,
feedbackTime
:
1720768719000
,
followUpFeedback
:
''
,
id
:
'1811661626093338624'
,
leaderApprovalComments
:
''
,
pcTime
:
0.0
,
presenter
:
'专家20'
,
presenterId
:
'32815'
,
reply
:
'[[]]'
,
seat
:
'测试席位1'
,
startTime
:
1720768719000
,
state
:
'1'
,
tag
:
''
,
taskDescribe
:
'测试'
,
taskFile
:
''
,
taskFileVoList
:
[],
updateTime
:
1720768765000
,
updateUser
:
'专家20'
,
updateUserId
:
'32815'
,
validateState
:
''
,
validateType
:
''
,
workType
:
'1'
,
workbench
:
''
}
,
{
addressee
:
'[""]'
,
appType
:
''
,
arrangeWorkExtendList
:
[
{
appType
:
''
,
approvalContent
:
''
,
approvalFile
:
''
,
approvalFileVoList
:
[],
approvalTime
:
0.0
,
approvalUser
:
''
,
approvalUserId
:
null
,
baseApprovalLeader
:
''
,
company
:
'116133'
,
companyFullName
:
'海南海航迎宾馆有限公司'
,
createTime
:
1720768765000
,
current
:
''
,
decompose
:
''
,
eventType
:
''
,
feedbackState
:
'1'
,
feedbackTime
:
0.0
,
feedbackUser
:
''
,
file
:
''
,
fileVoList
:
[],
followUpFeedback
:
''
,
followUpFeedbackContent
:
''
,
followUpFeedbackFile
:
''
,
followUpFeedbackFileVoList
:
[],
followUpFeedbackTime
:
0.0
,
followUpFeedbackUser
:
''
,
followUpFeedbackUserId
:
null
,
gzApprovalComments
:
''
,
gzApprovalContent
:
''
,
gzApprovalTime
:
0.0
,
gzApprovalUser
:
''
,
gzApprovalUserId
:
null
,
gzFeedbackContent
:
''
,
gzFeedbackTime
:
0.0
,
gzFeedbackUser
:
''
,
gzFeedbackUserId
:
null
,
id
:
'1811661626631987201'
,
leaderApprovalComments
:
''
,
mcdApprovalLeader
:
''
,
pcTime
:
0.0
,
problem
:
''
,
tag
:
'0'
,
trackingPoints
:
''
,
validateCloseTime
:
0.0
,
validateCloseUser
:
''
,
validateCloseUserId
:
null
,
validateFile
:
''
,
validateFileVoList
:
[],
validateState
:
'1'
,
validateType
:
''
,
workId
:
'1811661626093338624'
,
workTarget
:
''
}
],
company
:
'116133'
,
createTime
:
1720768765000
,
createUser
:
'专家20'
,
createUserId
:
'32815'
,
del
:
'0'
,
emailTime
:
0.0
,
endTime
:
0.0
,
feedback
:
'1'
,
feedbackState
:
''
,
feedbackTime
:
1720768719000
,
followUpFeedback
:
''
,
id
:
'1811661626093338624'
,
leaderApprovalComments
:
''
,
pcTime
:
0.0
,
presenter
:
'专家20'
,
presenterId
:
'32815'
,
reply
:
'[[]]'
,
seat
:
'测试席位1'
,
startTime
:
1720768719000
,
state
:
'1'
,
tag
:
''
,
taskDescribe
:
'测试'
,
taskFile
:
''
,
taskFileVoList
:
[],
updateTime
:
1720768765000
,
updateUser
:
'专家20'
,
updateUserId
:
'32815'
,
validateState
:
''
,
validateType
:
''
,
workType
:
'1'
,
workbench
:
''
}
])
<
/script
>
<
style
lang
=
"scss"
scoped
>
@
import
'mocpStatic/css/list.scss'
;
...
...
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