Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
T
TF-MOM-WEB
Project
Project
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
TFMOM
TF-MOM-WEB
Commits
06456f90
Commit
06456f90
authored
Jan 10, 2024
by
jingnan
👀
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
首页待办代码优化
parent
c9b6f5b1
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
61 additions
and
252 deletions
+61
-252
my-task.vue
...ns/dee-task-center/src/views/home/compontents/my-task.vue
+42
-127
index.vue
applications/dee-task-center/src/views/home/index.vue
+12
-6
moduleTaskListNew.vue
...ews/workflow/task-center/myPlanTask/moduleTaskListNew.vue
+7
-0
taskListDetail.vue
.../views/workflow/task-center/myPlanTask/taskListDetail.vue
+0
-119
No files found.
applications/dee-task-center/src/views/home/compontents/my-task.vue
View file @
06456f90
<
template
>
<
template
>
<div
class=
"home-my-task"
>
<div
class=
"home-my-task"
>
<div
class=
"task-header"
>
<div
class=
"task-header"
>
<!--
<dee-form
ref=
"AddForm"
:form=
"searchForm"
:form-data=
"searchFormData"
form-btn-position=
"center"
:inline=
"true"
style=
"width: calc(100% - 80px);"
/>
-->
<div
class=
"refresh"
>
<div
class=
"refresh"
>
<i
class=
"el-icon-refresh"
style=
"margin-right:10px"
title=
"刷新"
@
click=
"refresh"
/>
<i
class=
"el-icon-refresh"
style=
"margin-right:10px"
title=
"刷新"
@
click=
"refresh"
/>
<span
@
click=
"jumpList"
>
更多
<i
class=
"el-icon-arrow-right"
title=
"更多"
/></span>
<span
@
click=
"jumpList"
>
更多
<i
class=
"el-icon-arrow-right"
title=
"更多"
/></span>
</div>
</div>
</div>
</div>
<el-scrollbar
class=
"task-content"
>
<el-scrollbar
class=
"task-content"
>
<!--
<div
v-for=
"(item, index) in taskList"
:key=
"index"
:class=
"['task-item',
{'active-item': clickTask
&&
clickTask.id === item.id,'unClaimed-type':item.unClaimedFlag}]" @click="goInfo(item)">
<div
class=
"task-item-label"
>
<div
class=
"ti-label"
>
<div
class=
"flex-start"
>
<span
class=
"task-status"
:style=
"
{color: textColor[item.status] || '#2A75CE'}">【
{{
item
.
status
}}
】
</span>
<span
class=
"task-name"
>
{{
item
.
name
}}
</span>
</div>
<div
class=
"task-item-time"
>
{{
item
.
time
}}
</div>
</div>
<div
class=
"task-item-info"
>
<div
class=
"task-left"
>
<span
class=
"title"
>
<span
v-for=
"(attr, i) in item.showTitle"
:key=
"`attr_$
{i}`">
{{
attr
.
title
}}
</span>
</span>
<span
v-if=
"item.expireTimeInMillis && item.expireTimeInMillis > 0"
class=
"due-text"
>
超期
</span>
</div>
</div>
<div
v-if=
"item.proxyUserName"
class=
"task-item-time"
>
代理人:
{{
item
.
proxyUserName
}}
</div>
</div>
</div>
-->
<div
v-for=
"(item, index) in resLists"
:key=
"index"
:class=
"['task-item',
{'active-item': clickTask
&&
clickTask.taskType === item.taskType }]" @click="goInfo(item)">
<div
v-for=
"(item, index) in resLists"
:key=
"index"
:class=
"['task-item',
{'active-item': clickTask
&&
clickTask.taskType === item.taskType }]" @click="goInfo(item)">
<div
class=
"task-item-label"
>
<div
class=
"task-item-label"
>
<div
class=
"ti-label"
>
<div
class=
"ti-label"
>
...
@@ -68,7 +33,7 @@ import { getTemps } from '@/api/workflow/userSettings.js'
...
@@ -68,7 +33,7 @@ import { getTemps } from '@/api/workflow/userSettings.js'
// import { getFinishedTaskHome } from '@/api/workflow/taskCenter.js'
// import { getFinishedTaskHome } from '@/api/workflow/taskCenter.js'
import
{
getAllApplication
}
from
'@/api/workflow/config'
import
{
getAllApplication
}
from
'@/api/workflow/config'
// import { getTaskCount } from '@/api/workspace.js'
// import { getTaskCount } from '@/api/workspace.js'
import
_get
from
'lodash.get'
//
import _get from 'lodash.get'
import
{
post
,
get
}
from
'@/utils/http'
import
{
post
,
get
}
from
'@/utils/http'
export
default
{
export
default
{
...
@@ -143,7 +108,7 @@ export default {
...
@@ -143,7 +108,7 @@ export default {
}
}
],
],
clickTask
:
null
,
clickTask
:
null
,
type
:
'
我的待办
'
,
type
:
''
,
quickAccessList
:
[
quickAccessList
:
[
{
{
taskType
:
'检验任务'
,
taskType
:
'检验任务'
,
...
@@ -170,24 +135,10 @@ export default {
...
@@ -170,24 +135,10 @@ export default {
}
}
},
},
watch
:
{
watch
:
{
searchForm
:
{
immediate
:
true
,
deep
:
true
,
handler
(
val
)
{
// console.log('val: ', val)
this
.
pagination
.
currentPage
=
1
this
.
getTasks
(
1
,
this
.
type
)
}
}
},
},
created
()
{
created
()
{
},
},
mounted
:
function
()
{
mounted
:
function
()
{
// this.getAllAppLists()
// if (Object.keys(this.dict).length === 0) {
// this.getDict(true)
// }
this
.
quickAccessList
.
forEach
((
item
,
index
)
=>
{
this
.
quickAccessList
.
forEach
((
item
,
index
)
=>
{
this
.
getCustomModules
(
index
)
this
.
getCustomModules
(
index
)
})
})
...
@@ -219,46 +170,45 @@ export default {
...
@@ -219,46 +170,45 @@ export default {
}
}
})
})
},
},
showTitleParams
(
propForm
,
titleParams
,
title
)
{
// showTitleParams(propForm, titleParams, title) {
if
(
!
propForm
)
return
[{
title
}]
// if (!propForm) return [{ title }]
if
(
!
titleParams
)
return
[{
title
}]
// if (!titleParams) return [{ title }]
return
titleParams
.
map
(
attr
=>
{
// return titleParams.map(attr => {
let
title
=
_get
(
propForm
,
attr
.
attr
)
||
''
// let title = _get(propForm, attr.attr) || ''
if
(
attr
.
placeholder
)
{
// if (attr.placeholder) {
title
=
attr
.
placeholder
.
replace
(
/
\$\*
/
,
title
)
// title = attr.placeholder.replace(/\$\*/, title)
}
// }
if
(
attr
.
connector
)
{
// if (attr.connector) {
title
+=
attr
.
connector
// title += attr.connector
}
// }
if
(
attr
.
dictTypeCode
)
{
// if (attr.dictTypeCode) {
let
dictTitleList
=
this
.
dict
[
attr
.
dictTypeCode
]
// let dictTitleList = this.dict[attr.dictTypeCode]
const
oldStateDictName
=
this
.
stateDictName
// const oldStateDictName = this.stateDictName
this
.
stateDictName
=
attr
.
dictTypeCode
// this.stateDictName = attr.dictTypeCode
if
(
!
dictTitleList
)
{
// if (!dictTitleList) {
this
.
stateDictName
=
oldStateDictName
// this.stateDictName = oldStateDictName
dictTitleList
=
this
.
dict
[
attr
.
dictTypeCode
]
// dictTitleList = this.dict[attr.dictTypeCode]
}
// }
const
_title
=
dictTitleList
.
find
(
dic
=>
dic
.
value
===
title
)
// const _title = dictTitleList.find(dic => dic.value === title)
title
=
(
_title
&&
_title
.
label
)
||
''
// title = (_title && _title.label) || ''
}
// }
return
{
// return {
style
:
attr
.
style
,
// style: attr.style,
title
:
title
// title: title
}
// }
})
// })
},
// },
async
getDict
(
flag
)
{
// async getDict(flag) {
const
list
=
await
this
.
$utils
.
getDicListByCode
(
this
.
stateDictName
)
// const list = await this.$utils.getDicListByCode(this.stateDictName)
this
.
$set
(
this
.
dict
,
this
.
stateDictName
,
list
)
// this.$set(this.dict, this.stateDictName, list)
// flag && this.getTasks(1, this.type)
// },
},
// getStateDisplayName(item) {
getStateDisplayName
(
item
)
{
// if (!item.bizExtInfo || !item.bizExtInfo.bizObjectState) {
if
(
!
item
.
bizExtInfo
||
!
item
.
bizExtInfo
.
bizObjectState
)
{
// return ''
return
''
// }
}
// const code = item.bizExtInfo.bizObjectState
const
code
=
item
.
bizExtInfo
.
bizObjectState
// return this.$utils.getParamsFromLists(this.dict[this.stateDictName], 'value', code, 'label') || code
return
this
.
$utils
.
getParamsFromLists
(
this
.
dict
[
this
.
stateDictName
],
'value'
,
code
,
'label'
)
||
code
// },
},
// 获取待办任务列表
// 获取待办任务列表
getTasks
(
page
,
type
)
{
getTasks
(
page
,
type
)
{
const
params
=
{
const
params
=
{
...
@@ -270,16 +220,8 @@ export default {
...
@@ -270,16 +220,8 @@ export default {
params
.
receiveTime1
=
this
.
searchForm
.
receiveTimeRange
[
0
]
+
' 00:00:00'
params
.
receiveTime1
=
this
.
searchForm
.
receiveTimeRange
[
0
]
+
' 00:00:00'
params
.
receiveTime2
=
this
.
searchForm
.
receiveTimeRange
[
1
]
+
' 23:59:59'
params
.
receiveTime2
=
this
.
searchForm
.
receiveTimeRange
[
1
]
+
' 23:59:59'
}
}
// const str = this.searchForm && this.searchForm.templateKey ? `processDefKey=${this.searchForm.templateKey}&` : ''
this
.
type
=
type
this
.
type
=
type
if
(
type
===
'我的待办'
)
{
if
(
type
===
'单个签审'
)
{
// getUnfinishedTask(str + this.$utils.filterParams(params)).then(res => {
// if (params.page === 1) {
// this.taskList = []
// }
// this.addData(res)
// })
get
(
'/indexTask/task/todoStatistics'
).
then
(
res
=>
{
get
(
'/indexTask/task/todoStatistics'
).
then
(
res
=>
{
if
(
params
.
page
===
1
)
{
if
(
params
.
page
===
1
)
{
this
.
taskList
=
[]
this
.
taskList
=
[]
...
@@ -288,12 +230,6 @@ export default {
...
@@ -288,12 +230,6 @@ export default {
})
})
}
}
if
(
type
===
'已办任务'
)
{
if
(
type
===
'已办任务'
)
{
// getFinishedTaskHome(str + this.$utils.filterParams(params)).then(res => {
// if (params.page === 1) {
// this.taskList = []
// }
// this.addData(res.items.content, res.items.totalElements)
// })
get
(
'/indexTask/task/finishStatistics'
).
then
(
res
=>
{
get
(
'/indexTask/task/finishStatistics'
).
then
(
res
=>
{
if
(
params
.
page
===
1
)
{
if
(
params
.
page
===
1
)
{
this
.
taskList
=
[]
this
.
taskList
=
[]
...
@@ -312,31 +248,10 @@ export default {
...
@@ -312,31 +248,10 @@ export default {
},
},
addData
(
data
,
totalElements
)
{
addData
(
data
,
totalElements
)
{
data
.
forEach
((
item
)
=>
{
data
.
forEach
((
item
)
=>
{
// let showTitle = []
// if (item.bizExtInfo && item.bizExtInfo.bizAttrValues &&
// item.bizExtInfo && item.bizExtInfo.bizConfig) {
// const bizConfig = JSON.parse(item.bizExtInfo.bizConfig)
// showTitle = this.showTitleParams(item.bizExtInfo.bizAttrValues, bizConfig[0].pending, (item.bizExtInfo && item.bizExtInfo.taskTitle) || '')
// } else {
// showTitle = [{ title: (item.bizExtInfo && item.bizExtInfo.taskTitle) || (item.bizExtInfo && item.bizExtInfo.processTitle) || '' }]
// }
this
.
taskList
.
push
({
this
.
taskList
.
push
({
...
item
...
item
// id: item.id,
// processInstanceId: item.processInstanceId,
// name: item.aliasName || item.name || item.taskType,
// showTitle,
// theme: '',
// // theme: theme,
// title: item.bizExtInfo && item.bizExtInfo.taskTitle ? item.bizExtInfo.taskTitle : item.name,
// time: item.startTime,
// status: this.getStateDisplayName(item),
// proxyUserName: item.proxyUserName || '',
// expireTimeInMillis: item.expireTimeInMillis,
// unClaimedFlag: item.unClaimedFlag
})
})
})
})
// this.goInfo(this.taskList.length ? this.taskList[0] : null)
this
.
pagination
.
total
=
totalElements
this
.
pagination
.
total
=
totalElements
},
},
showIcon
(
row
)
{
showIcon
(
row
)
{
...
...
applications/dee-task-center/src/views/home/index.vue
View file @
06456f90
...
@@ -117,20 +117,26 @@ export default {
...
@@ -117,20 +117,26 @@ export default {
// 初始化数据
// 初始化数据
},
},
mounted
()
{
mounted
()
{
this
.
$nextTick
(()
=>
{
//
this.$nextTick(() => {
this
.
$refs
.
myTask
.
getTasks
(
1
,
'我的待办'
)
// this.$refs.myTask &&
this.$refs.myTask.getTasks(1, '我的待办')
})
//
})
},
},
methods
:
{
methods
:
{
tabClick
()
{
tabClick
(
val
)
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
myTask
.
getTasks
(
1
,
this
.
activeTitle
)
if
(
val
.
label
===
'批量签审'
)
{
this
.
$refs
.
moduleTaskList
.
loadData
()
}
else
{
this
.
$refs
.
myTask
.
getTasks
(
1
,
val
.
label
)
}
})
})
},
},
handClick
(
title
)
{
handClick
(
title
)
{
this
.
activeTitle
=
title
this
.
activeTitle
=
title
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
if
(
title
===
'已办任务'
)
{
this
.
$refs
.
myTask
.
getTasks
(
1
,
this
.
activeTitle
)
this
.
$refs
.
myTask
.
getTasks
(
1
,
this
.
activeTitle
)
}
})
})
},
},
getTaskDetail
(
data
)
{
getTaskDetail
(
data
)
{
...
...
applications/dee-task-center/src/views/workflow/task-center/myPlanTask/moduleTaskListNew.vue
View file @
06456f90
...
@@ -3,6 +3,7 @@
...
@@ -3,6 +3,7 @@
<div
class=
"task-header"
>
<div
class=
"task-header"
>
<div
class=
"refresh"
>
<div
class=
"refresh"
>
<i
class=
"el-icon-refresh"
style=
"margin-right:10px"
title=
"刷新"
@
click=
"loadData(true)"
/>
<i
class=
"el-icon-refresh"
style=
"margin-right:10px"
title=
"刷新"
@
click=
"loadData(true)"
/>
<span
@
click=
"jumpList"
>
更多
<i
class=
"el-icon-arrow-right"
title=
"更多"
/></span>
</div>
</div>
</div>
</div>
<el-scrollbar
v-dee-loading=
"loading"
class=
"task-content"
>
<el-scrollbar
v-dee-loading=
"loading"
class=
"task-content"
>
...
@@ -63,6 +64,12 @@ export default {
...
@@ -63,6 +64,12 @@ export default {
batchTaskItem
:
JSON
.
stringify
(
item
)
batchTaskItem
:
JSON
.
stringify
(
item
)
}
}
})
})
},
jumpList
()
{
this
.
$router
.
push
({
path
:
'/dee-task-center/workflow/task-center/task'
,
query
:
{
title
:
'任务查询'
}
})
}
}
}
}
}
}
...
...
applications/dee-task-center/src/views/workflow/task-center/myPlanTask/taskListDetail.vue
deleted
100644 → 0
View file @
c9b6f5b1
<
template
>
<div
class=
"MyPlanTaskPage"
>
<div
class=
"TaskComponentView"
:class=
"
{'height_class':heightClass}">
<compnent
:is=
"$route.query.router"
:key=
"componentKey"
:select-data=
"$route.query"
:sub-type=
"subType"
:def-state=
"state"
/>
</div>
</div>
</
template
>
<
script
>
export
default
{
components
:
{
WarehouseApply
:
()
=>
import
(
'./warehouseApply'
),
// 验收入库申请
WarehouseExamine
:
()
=>
import
(
'./warehouseExamine'
),
// 验收入库审核
JobResponseInExperiment
:
()
=>
import
(
'./jobResponseInExperiment'
),
// 理化试验入库响应
WarehouseInTest
:
()
=>
import
(
'./warehouseInTest'
),
// 检验入库响应
OutStorageExpireApply
:
()
=>
import
(
'./outStorageExpireApply'
),
// 三期出库申请
OutStorageRecallApply
:
()
=>
import
(
'./outStorageRecallApply'
),
// 返厂出库申请
WarehouseConfirm
:
()
=>
import
(
'./warehouseConfirm'
),
// 验收入库确认
OutStorageExpireConfirm
:
()
=>
import
(
'./outStorageExpireConfirm'
),
// 三期出库确认
OutStorageRecallConfirm
:
()
=>
import
(
'./outStorageRecallConfirm'
),
// 返厂出库确认
OutStorageOutApply
:
()
=>
import
(
'./outStorageOutApply'
),
// 供外出库申请
OutStorageOutExamine
:
()
=>
import
(
'./outStorageOutExamine'
),
// 供外出库审核
OutStorageOutApproval
:
()
=>
import
(
'./outStorageOutApproval'
),
// 供外出库批准
OutStorageOutConfirm
:
()
=>
import
(
'./outStorageOutConfirm'
),
// 供外出库确认
InStorageMatchBackApply
:
()
=>
import
(
'./inStorageMatchBackApply'
),
// 配套退库申请
InStorageMatchBackExamin
:
()
=>
import
(
'./inStorageMatchBackExamine'
),
// 配套退库审核
InStorageMatchBackConfirm
:
()
=>
import
(
'./inStorageMatchBackConfirm'
),
// 配套退库确认
InStorageUseOutBackApply
:
()
=>
import
(
'./inStorageUseOutBackApply'
),
// 领用/供外退库申请
InStorageUseOutBackExamine
:
()
=>
import
(
'./inStorageUseOutBackExamine'
),
// 领用/供外退库审核
InStorageUseOutBackConfirm
:
()
=>
import
(
'./inStorageUseOutBackConfirm'
)
// 领用/供外退库确认
},
data
()
{
return
{
tabPosition
:
''
,
subType
:
'计划'
,
state
:
''
,
loadComponents
:
true
,
heightClass
:
false
,
componentKey
:
0
}
},
watch
:
{
'$route.query'
:
{
immediate
:
true
,
deep
:
true
,
handler
(
v
)
{
this
.
componentKey
+=
1
}
}
},
created
()
{
},
mounted
()
{
},
methods
:
{
}
}
</
script
>
<
style
lang=
"scss"
>
.MyPlanTaskPage
{
background-color
:
#fff
;
// padding: 10px 0;
box-sizing
:
border-box
;
height
:
100%
;
overflow
:
hidden
;
.height_class
{
height
:
calc
(
100%
-
56px
)
!
important
;
}
.el-radio-button
.el-radio-button__inner
{
padding-left
:
10px
;
padding-right
:
10px
;
}
.TaskComponentView
{
height
:
calc
(
100%
-
40px
);
box-sizing
:
border-box
;
overflow
:
hidden
;
}
.TodoListTable
{
height
:
100%
;
box-sizing
:
border-box
;
overflow
:
hidden
;
}
.el-pagination
{
text-align
:
right
;
}
.TodoListView
.splitter-pane
:first-child
{
padding-bottom
:
0
!
important
;
}
.TodoListView
.splitter-pane.splitter-paneR
{
padding-top
:
10px
!
important
;
}
.splitter-pane-resizer
{
&
.horizontal
{
opacity
:
1
;
background-color
:
transparent
;
border
:
0
;
text-align
:
center
;
&
:
:
after
{
content
:
""
;
display
:
inline-block
;
width
:
35px
;
height
:
2px
;
border
:
1px
solid
#8f9192
;
border-left
:
0
;
border-right
:
0
;
z-index
:
5
;
}
&
:hover
{
&
:
:
after
{
border-color
:
#3b5485
;
}
}
}
}
}
</
style
>
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