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
faaecadc
Commit
faaecadc
authored
Jul 31, 2023
by
jingnan
👀
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
待办任务下增加批量签审
parent
d7ae783e
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
909 additions
and
216 deletions
+909
-216
batchEdit.png
...tions/architecture-dee/public/images/common/batchEdit.png
+0
-0
edit.png
applications/architecture-dee/public/images/common/edit.png
+0
-0
taskCenter.js
applications/dee-task-center/src/api/workflow/taskCenter.js
+5
-0
index.vue
...task-center/src/localComponents/commonTabHeader/index.vue
+66
-0
index.vue
...task-center/src/views/workflow/task-center/home/index.vue
+34
-216
index.vue
...enter/src/views/workflow/task-center/myPlanTask/index.vue
+222
-0
moduleTaskList.vue
.../views/workflow/task-center/myPlanTask/moduleTaskList.vue
+209
-0
taskList.vue
...er/src/views/workflow/task-center/myPlanTask/taskList.vue
+137
-0
card-visit.vue
...kflow/task-center/singleSigning/components/card-visit.vue
+0
-0
my-create-flow.vue
...w/task-center/singleSigning/components/my-create-flow.vue
+0
-0
my-news.vue
...workflow/task-center/singleSigning/components/my-news.vue
+0
-0
my-tabs.vue
...workflow/task-center/singleSigning/components/my-tabs.vue
+0
-0
my-task.vue
...workflow/task-center/singleSigning/components/my-task.vue
+0
-0
news-detail.vue
...flow/task-center/singleSigning/components/news-detail.vue
+0
-0
task-update.vue
...flow/task-center/singleSigning/components/task-update.vue
+0
-0
index.vue
...er/src/views/workflow/task-center/singleSigning/index.vue
+236
-0
No files found.
applications/architecture-dee/public/images/common/batchEdit.png
0 → 100644
View file @
faaecadc
777 Bytes
applications/architecture-dee/public/images/common/edit.png
0 → 100644
View file @
faaecadc
629 Bytes
applications/dee-task-center/src/api/workflow/taskCenter.js
View file @
faaecadc
...
...
@@ -56,3 +56,8 @@ export function batOperationCheck(params) {
export
function
batOperation
(
params
)
{
return
post
(
'/workflow/template/batOperation'
,
params
)
}
// 获取所有待办
export
function
getMyTodoList
()
{
return
get
(
'indexTask/task/todo'
)
}
applications/dee-task-center/src/localComponents/commonTabHeader/index.vue
0 → 100644
View file @
faaecadc
<
template
>
<div
class=
"CommonTabHeader"
>
<el-tabs
v-model=
"tabName"
@
tab-click=
"changeTab"
>
<el-tab-pane
v-for=
"(item, $i) in tabList"
:key=
"$i"
:name=
"item.title"
>
<span
slot=
"label"
><img
class=
"common-header-pane-img"
:src=
"item.icon"
>
{{
item
.
title
}}
</span>
</el-tab-pane>
</el-tabs>
</div>
</
template
>
<
script
>
export
default
{
name
:
'CommonTabHeader'
,
props
:
{
tabList
:
{
type
:
Array
,
default
:
()
=>
{
return
[]
}
}
},
data
()
{
return
{
tabName
:
this
.
tabList
[
0
].
title
}
},
methods
:
{
changeTab
(
item
)
{
this
.
$emit
(
'changActiveName'
,
item
.
name
)
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.CommonTabHeader
{
background-color
:
#fff
;
padding-left
:
10px
;
.el-tabs__header
{
margin
:
0
;
}
.common-header-pane-img
{
width
:
15px
;
height
:
15px
;
background-size
:
cover
;
vertical-align
:
sub
;
margin-right
:
5px
;
}
}
</
style
>
<
style
lang=
"scss"
>
.CommonTabHeader
{
.el-tabs__header
{
margin
:
0
;
}
.el-tabs__active-bar
{
height
:
3px
;
background-color
:
#3281DE
;
}
}
</
style
>
applications/dee-task-center/src/views/workflow/task-center/home/index.vue
View file @
faaecadc
/**
* @Description:任务列表
* @author wx
* @date 2022/04/19
*/
<
template
>
<div
class=
"task-list-page"
>
<right-to-left
:default-percent=
"defaultPercent"
>
<div
slot=
"left"
class=
"tree-left left-box"
>
<my-task
ref=
"myTask"
@
getTaskDetail=
"getTaskDetail"
/>
<div
class=
"TaskCenter"
>
<commonTabHeader
:tab-list=
"tabList"
:active-name=
"activeName"
@
changActiveName=
"changActiveName"
/>
<div
class=
"task-center-content"
>
<singleSignOff
v-if=
"activeName === '单个签审'"
/>
<bulkSigning
v-if=
"activeName === '批量签审'"
/>
</div>
<div
slot=
"right"
class=
"right-box"
>
<task-detail
v-if=
"id && processInstanceId"
:id=
"id"
:process-instance-id=
"processInstanceId"
@
reload=
"reload"
/>
<div
v-else
class=
"noData-wrap"
>
<img
src=
"/images/common/nodata.png"
alt
>
<span>
暂无数据
</span>
</div>
</div>
</right-to-left>
</div>
</
template
>
<
script
>
import
MyTask
from
'./components/my-task'
import
TaskDetail
from
'@/business-components/tabCom/task-detail'
import
commonTabHeader
from
'@/localComponents/commonTabHeader'
import
singleSignOff
from
'../singleSigning/index.vue'
import
bulkSigning
from
'../myPlanTask/index'
// import InitiatedProcess from '../initiatedProcess/index'
export
default
{
// eslint-disable-next-line vue/name-property-casing
name
:
'My_taskPage'
,
components
:
{
MyTask
,
TaskDetail
commonTabHeader
,
singleSignOff
,
bulkSigning
// InitiatedProcess
},
data
()
{
return
{
defaultPercent
:
22
,
id
:
''
,
processInstanceId
:
''
}
},
computed
:
{
},
watch
:
{
},
async
mounted
()
{
tabList
:
[
{
title
:
'单个签审'
,
icon
:
'/images/common/edit.png'
},
destroyed
()
{
{
title
:
'批量签审'
,
icon
:
'/images/common/batchEdit.png'
}
],
activeName
:
'批量签审'
}
},
methods
:
{
getTaskDetail
(
data
)
{
this
.
id
=
data
&&
data
.
id
?
data
.
id
:
''
this
.
processInstanceId
=
data
&&
data
.
processInstanceId
?
data
.
processInstanceId
:
''
},
reload
()
{
if
(
this
.
$route
.
path
===
'/dee-task-center/workflow/task-center/home'
)
{
this
.
$refs
.
myTask
.
getTasks
(
1
)
}
else
{
this
.
$store
.
dispatch
(
'tagsView/delView'
,
this
.
$route
)
this
.
$router
.
push
({
path
:
'/task-center/index'
})
}
changActiveName
(
activeName
)
{
this
.
activeName
=
activeName
}
}
}
</
script
>
<
style
lang=
'scss'
>
.task-list-page
{
height
:
100%
;
box-sizing
:
border-box
;
.border-box-style
{
padding
:
0
;
.task-detail-page
{
margin
:
0
;
.dee-panel
{
padding
:
0
;
width
:
100%
;
height
:
100%
;
}
}
}
.noData-wrap
{
margin-top
:
26%
;
text-align
:
center
;
img
{
display
:
block
;
width
:
190px
;
height
:
132px
;
margin
:
auto
;
}
}
.flex-s
{
display
:
flex
;
justify-content
:
space-between
;
}
.fb
{
font-weight
:
bold
;
}
.right-box
{
height
:
100%
;
}
.splitter-pane-resizer.vertical
{
opacity
:
1
;
background-color
:
#F1F4F5
;
width
:
6px
;
border-left
:
0
;
border-right
:
0
;
}
.left-box
{
font-size
:
14px
;
.model-icon
{
width
:
16px
;
height
:
16px
;
border
:
none
;
margin-right
:
10px
;
}
}
.tree-left
{
height
:
100%
;
box-sizing
:
border-box
;
position
:
relative
;
.menu-tree
{
.is-current
{
background
:
#EEF3F9
;
}
}
.tree-container
{
height
:
calc
(
100%
-
58px
);
overflow
:
scroll
;
.el-tree-node__content
{
height
:
38px
;
}
}
.tree-select
{
width
:
100%
;
padding
:
0px
;
.el-input
{
border
:none
;
}
}
.serarch-title
{
height
:
58px
;
line-height
:
58px
;
padding-left
:
10px
;
display
:
flex
;
font-size
:
16px
;
cursor
:
pointer
;
img
{
display
:
block
;
width
:
30px
;
height
:
30px
;
margin
:
auto
9px
auto
0
;
}
}
.custom-tree-node
{
flex
:
1
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
font-size
:
14px
;
&
:hover
{
.tree-btn-box
{
display
:
block
}
}
}
.tree-btn-box
{
width
:
66px
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
<
style
lang=
"scss"
scoped
>
.TaskCenter
{
height
:
100%
;
display
:
none
;
.btn-item
img
{
padding
:
4px
;
width
:
16px
;
height
:
16px
;
}
}
}
.application-list
{
display
:
flex
;
flex-wrap
:
wrap
;
margin-top
:
20px
;
margin-left
:
8px
;
.content-box
{
cursor
:
pointer
;
height
:
120px
;;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
border-bottom
:
1px
solid
#D9D9D9
;
.app-icon
{
width
:
40px
;
}
}
.oparation-box
{
padding
:
0
60px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
height
:
50px
;
text-align
:
center
;
line-height
:
50px
;
background
:rgba
(
0
,
0
,
0
,
0
.04
)
;
position
:
relative
;
.edit-btn-box
{
cursor
:
pointer
;
position
:
absolute
;
right
:
40px
;
top
:
6px
;
img
{
width
:
22px
;
}
}
}
.add-btn-s
{
font-size
:
30px
;
color
:
#2A75CE
;
}
}
}
.img-sel-box
{
width
:
20px
;
height
:
20px
;
padding-left
:
10px
;
img
{
width
:
20px
;
height
:
20px
;
.task-center-content
{
height
:
calc
(
100%
-
45px
);
margin-top
:
5px
;
}
}
</
style
>
applications/dee-task-center/src/views/workflow/task-center/myPlanTask/index.vue
0 → 100644
View file @
faaecadc
/**
* @Description:任务列表
* @author wx
* @date 2022/04/19
*/
<
template
>
<div
class=
"task-list-page"
>
<right-to-left
:default-percent=
"defaultPercent"
>
<div
slot=
"left"
class=
"tree-left left-box"
>
<module-task-list
ref=
"moduleTaskList"
@
goModuleTaskDetail=
"goModuleTaskDetail"
/>
</div>
<div
slot=
"right"
class=
"right-box"
>
<!--
<module-task-detail
v-if=
"selectData && selectData.subType"
:select-data=
"selectData"
/>
-->
<module-task-detail
:select-data=
"selectData"
/>
</div>
</right-to-left>
</div>
</
template
>
<
script
>
import
ModuleTaskList
from
'./moduleTaskList'
import
ModuleTaskDetail
from
'./taskList'
export
default
{
components
:
{
ModuleTaskList
,
ModuleTaskDetail
},
data
()
{
return
{
defaultPercent
:
22
,
selectData
:
null
}
},
computed
:
{
},
watch
:
{
},
created
()
{
this
.
$bus
.
$on
(
'reloadModuleList'
,
(
hasFlag
)
=>
{
this
.
$refs
.
moduleTaskList
.
loadData
(
hasFlag
)
})
},
destroyed
()
{
},
methods
:
{
goModuleTaskDetail
(
data
)
{
this
.
selectData
=
data
}
}
}
</
script
>
<
style
lang=
'scss'
>
.task-list-page
{
height
:
100%
;
box-sizing
:
border-box
;
.border-box-style
{
padding
:
0
;
.task-detail-page
{
margin
:
0
;
.dee-panel
{
padding
:
0
;
width
:
100%
;
height
:
100%
;
}
}
}
.noData-wrap
{
margin-top
:
26%
;
text-align
:
center
;
img
{
display
:
block
;
width
:
190px
;
height
:
132px
;
margin
:
auto
;
}
}
.flex-s
{
display
:
flex
;
justify-content
:
space-between
;
}
.fb
{
font-weight
:
bold
;
}
.right-box
{
height
:
100%
;
}
.splitter-pane-resizer.vertical
{
opacity
:
1
;
background-color
:
#F1F4F5
;
width
:
6px
;
border-left
:
0
;
border-right
:
0
;
}
.left-box
{
font-size
:
14px
;
.model-icon
{
width
:
16px
;
height
:
16px
;
border
:
none
;
margin-right
:
10px
;
}
}
.tree-left
{
height
:
100%
;
box-sizing
:
border-box
;
position
:
relative
;
.menu-tree
{
.is-current
{
background
:
#EEF3F9
;
}
}
.tree-container
{
height
:
calc
(
100%
-
58px
);
overflow
:
scroll
;
.el-tree-node__content
{
height
:
38px
;
}
}
.tree-select
{
width
:
100%
;
padding
:
0px
;
.el-input
{
border
:none
;
}
}
.serarch-title
{
height
:
58px
;
line-height
:
58px
;
padding-left
:
10px
;
display
:
flex
;
font-size
:
16px
;
cursor
:
pointer
;
img
{
display
:
block
;
width
:
30px
;
height
:
30px
;
margin
:
auto
9px
auto
0
;
}
}
.custom-tree-node
{
flex
:
1
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
font-size
:
14px
;
&
:hover
{
.tree-btn-box
{
display
:
block
}
}
}
.tree-btn-box
{
width
:
66px
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
height
:
100%
;
display
:
none
;
.btn-item
img
{
padding
:
4px
;
width
:
16px
;
height
:
16px
;
}
}
}
.application-list
{
display
:
flex
;
flex-wrap
:
wrap
;
margin-top
:
20px
;
margin-left
:
8px
;
.content-box
{
cursor
:
pointer
;
height
:
120px
;;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
border-bottom
:
1px
solid
#D9D9D9
;
.app-icon
{
width
:
40px
;
}
}
.oparation-box
{
padding
:
0
60px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
height
:
50px
;
text-align
:
center
;
line-height
:
50px
;
background
:rgba
(
0
,
0
,
0
,
0
.04
)
;
position
:
relative
;
.edit-btn-box
{
cursor
:
pointer
;
position
:
absolute
;
right
:
40px
;
top
:
6px
;
img
{
width
:
22px
;
}
}
}
.add-btn-s
{
font-size
:
30px
;
color
:
#2A75CE
;
}
}
}
.img-sel-box
{
width
:
20px
;
height
:
20px
;
padding-left
:
10px
;
img
{
width
:
20px
;
height
:
20px
;
}
}
</
style
>
applications/dee-task-center/src/views/workflow/task-center/myPlanTask/moduleTaskList.vue
0 → 100644
View file @
faaecadc
<
template
>
<div
class=
"module-task-list"
>
<div
class=
"task-header"
>
<div
class=
"refresh"
>
<i
class=
"el-icon-refresh"
style=
"margin-right:10px"
title=
"刷新"
@
click=
"loadData(true)"
/>
</div>
</div>
<el-scrollbar
class=
"task-content"
>
<div
v-for=
"(item, index) in taskList"
:key=
"index"
:class=
"['task-item',
{'active-item': clickTask
&&
clickTask.taskType === item.taskType }]" @click="goInfo(item)">
<div
class=
"task-item-label"
>
<div
class=
"ti-label"
>
<div
class=
"flex-start"
>
<span
v-if=
"item.taskType"
class=
"task-status"
:style=
"
{color: '#2A75CE'}">【
{{
item
.
taskType
}}
】
</span>
<!--
<span
class=
"task-name"
>
{{
item
.
taskType
}}
</span>
-->
</div>
<div
class=
"task-item-num"
>
{{
item
.
taskCount
}}
</div>
</div>
</div>
</div>
</el-scrollbar>
</div>
</
template
>
<
script
>
import
{
getMyTodoList
}
from
'@/api/workflow/taskCenter'
export
default
{
name
:
'ModuleTaskList'
,
data
()
{
return
{
taskList
:
[],
clickTask
:
null
}
},
created
()
{
},
mounted
()
{
this
.
loadData
()
},
methods
:
{
loadData
(
hasFlag
)
{
getMyTodoList
().
then
(
res
=>
{
const
that
=
this
that
.
taskList
=
res
.
items
||
[]
if
(
!
hasFlag
)
{
this
.
goInfo
(
that
.
taskList
.
length
?
that
.
taskList
[
0
]
:
null
)
}
})
},
goInfo
(
item
)
{
this
.
clickTask
=
item
this
.
$emit
(
'goModuleTaskDetail'
,
item
)
}
}
}
</
script
>
<
style
lang=
"scss"
>
.module-task-list
{
height
:
100%
;
background-color
:
#ffffff
;
padding
:
10px
;
box-sizing
:
border-box
;
// border: 1px solid #D9D9D9;
position
:
relative
;
.task-header
{
height
:
30px
;
}
.refresh
{
position
:
absolute
;
right
:
9px
;
top
:
20px
;
z-index
:
10
;
span
{
font-size
:
12px
;
color
:
#999999
;
cursor
:
pointer
;
}
i
{
cursor
:
pointer
;
font-weight
:
400
;
color
:
#999999
;
}
i
:hover
{
color
:
rgb
(
42
,
117
,
206
);
}
}
.el-icon-refresh
{
margin-left
:
16px
;
color
:
#999999
;
}
.task-content
{
// padding-bottom: 10px;
font-size
:
12px
;
color
:
#212121
;
overflow
:
hidden
;
height
:
calc
(
100%
-
30px
);
width
:
100%
;
box-sizing
:
border-box
;
.active-item
{
background
:
#DEEDF4
!
important
;
}
.task-item
{
cursor
:
pointer
;
height
:
90px
;
box-sizing
:
border-box
;
background
:
#FBFDFF
;
border-radius
:
2px
;
border
:
1px
solid
rgba
(
200
,
212
,
220
,
0
.88
);
border-left
:
3px
solid
#76B0D7
;
margin-bottom
:
12px
;
padding
:
20px
22px
0
18px
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
white-space
:
nowrap
;
&
:hover
{
background-color
:
rgba
(
245
,
247
,
250
,
1
);
}
.task-item-num
{
text-align
:
right
;
margin-top
:
6px
;
font-weight
:
900
;
font-size
:
14px
;
color
:rgb
(
42
,
117
,
206
)
;
}
.title
{
text-overflow
:
ellipsis
;
overflow
:
hidden
;
white-space
:
nowrap
;
margin-right
:
10px
;
}
.due-text
{
color
:
red
;
margin-left
:
10px
;
}
.ti-label
{
display
:
flex
;
justify-content
:
space-between
;
margin-bottom
:
10px
;
img
{
height
:
18px
;
width
:
16px
;
margin-right
:
8px
;
}
.task-status
{
font-size
:
14px
;
}
.task-name
{
font-weight
:
900
;
font-size
:
14px
;
}
}
.task-item-info
{
width
:
100%
;
overflow
:
hidden
;
.task-left
{
width
:
calc
(
100%
-
156px
);
display
:
inline-flex
;
justify-content
:
flex-start
;
align-items
:
baseline
;
color
:
#626262
;
font-size
:
12px
;
}
.theme
{
box-flex
:
1
;
display
:
inline-block
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
white-space
:
nowrap
;
max-width
:
calc
(
100%
-
100px
);
}
.state
{
color
:
#363636
;
padding
:
0px
6px
;
}
.state.cancel
{
color
:
#fe2929
;
}
}
}
}
.mt20
{
display
:
inline-block
;
margin-top
:
20px
;
}
.more-bar
{
margin
:
10px
auto
;
text-align
:
center
;
font-size
:
12px
;
color
:
#999
;
}
.more
{
margin
:
auto
;
margin-top
:
20px
;
color
:
#2f90e2
;
height
:
26px
;
line-height
:
26px
;
padding
:
0
20px
;
background
:
rgba
(
231
,
242
,
255
,
1
);
border-radius
:
13px
;
display
:
inline-block
;
cursor
:
pointer
;
}
}
</
style
>
applications/dee-task-center/src/views/workflow/task-center/myPlanTask/taskList.vue
0 → 100644
View file @
faaecadc
<
template
>
<div
class=
"MyPlanTaskPage"
>
<div
v-if=
"loadComponents"
class=
"TaskComponentView"
:class=
"
{'height_class':heightClass}">
<compnent
:is=
"tabPosition"
:sub-type=
"subType"
:def-state=
"state"
/>
</div>
</div>
</
template
>
<
script
>
export
default
{
components
:
{
},
props
:
{
selectData
:
{
type
:
Object
,
default
:
()
=>
null
}
},
data
()
{
return
{
tabPosition
:
''
,
subType
:
'计划'
,
state
:
''
,
loadComponents
:
true
,
heightClass
:
false
}
},
watch
:
{
selectData
(
newVal
,
oldVal
)
{
if
(
oldVal
)
{
if
(
newVal
.
state
!==
oldVal
.
state
||
newVal
.
subType
!==
oldVal
.
subType
)
{
this
.
loadComponents
=
false
this
.
subType
=
newVal
.
subType
this
.
state
=
newVal
.
state
this
.
tabPosition
=
this
.
getComponentName
()
this
.
$nextTick
(()
=>
{
this
.
loadComponents
=
true
})
}
}
else
if
(
newVal
)
{
this
.
subType
=
newVal
.
subType
this
.
state
=
newVal
.
state
this
.
tabPosition
=
this
.
getComponentName
()
}
}
},
created
()
{
// this.tabPosition = this.getComponentName()
},
mounted
()
{
// const radioHeight = document.getElementsByClassName('task_list')[0].offsetHeight
// if (radioHeight > 40) {
// this.heightClass = true
// }
},
methods
:
{
getComponentName
()
{
// const { subType } = this.$route.query
const
subType
=
this
.
subType
let
componentName
=
''
const
childCompsObj
=
this
.
childComps
.
find
(
eve
=>
eve
.
subType
===
subType
)
if
(
childCompsObj
)
{
componentName
=
childCompsObj
.
compName
}
return
componentName
},
onTabChange
(
compName
)
{
this
.
loadComponents
=
false
// 通过路由跳转,实现参数同步反映在URL上,页面按钮切换导致查询参数不正确
const
item
=
this
.
childComps
.
find
(
c
=>
c
.
compName
===
compName
)
this
.
subType
=
item
.
subType
this
.
state
=
''
this
.
$nextTick
(()
=>
{
this
.
loadComponents
=
true
})
}
}
}
</
script
>
<
style
lang=
"scss"
>
.MyPlanTaskPage
{
// 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
>
applications/dee-task-center/src/views/workflow/task-center/
home
/components/card-visit.vue
→
applications/dee-task-center/src/views/workflow/task-center/
singleSigning
/components/card-visit.vue
View file @
faaecadc
File moved
applications/dee-task-center/src/views/workflow/task-center/
home
/components/my-create-flow.vue
→
applications/dee-task-center/src/views/workflow/task-center/
singleSigning
/components/my-create-flow.vue
View file @
faaecadc
File moved
applications/dee-task-center/src/views/workflow/task-center/
home
/components/my-news.vue
→
applications/dee-task-center/src/views/workflow/task-center/
singleSigning
/components/my-news.vue
View file @
faaecadc
File moved
applications/dee-task-center/src/views/workflow/task-center/
home
/components/my-tabs.vue
→
applications/dee-task-center/src/views/workflow/task-center/
singleSigning
/components/my-tabs.vue
View file @
faaecadc
File moved
applications/dee-task-center/src/views/workflow/task-center/
home
/components/my-task.vue
→
applications/dee-task-center/src/views/workflow/task-center/
singleSigning
/components/my-task.vue
View file @
faaecadc
File moved
applications/dee-task-center/src/views/workflow/task-center/
home
/components/news-detail.vue
→
applications/dee-task-center/src/views/workflow/task-center/
singleSigning
/components/news-detail.vue
View file @
faaecadc
File moved
applications/dee-task-center/src/views/workflow/task-center/
home
/components/task-update.vue
→
applications/dee-task-center/src/views/workflow/task-center/
singleSigning
/components/task-update.vue
View file @
faaecadc
File moved
applications/dee-task-center/src/views/workflow/task-center/singleSigning/index.vue
0 → 100644
View file @
faaecadc
/**
* @Description:任务列表
* @author wx
* @date 2022/04/19
*/
<
template
>
<div
class=
"task-list-page"
>
<right-to-left
:default-percent=
"defaultPercent"
>
<div
slot=
"left"
class=
"tree-left left-box"
>
<my-task
ref=
"myTask"
@
getTaskDetail=
"getTaskDetail"
/>
</div>
<div
slot=
"right"
class=
"right-box"
>
<task-detail
v-if=
"id && processInstanceId"
:id=
"id"
:process-instance-id=
"processInstanceId"
@
reload=
"reload"
/>
<div
v-else
class=
"noData-wrap"
>
<img
src=
"/images/common/nodata.png"
alt
>
<span>
暂无数据
</span>
</div>
</div>
</right-to-left>
</div>
</
template
>
<
script
>
import
MyTask
from
'./components/my-task'
import
TaskDetail
from
'@/business-components/tabCom/task-detail'
export
default
{
components
:
{
MyTask
,
TaskDetail
},
data
()
{
return
{
defaultPercent
:
22
,
id
:
''
,
processInstanceId
:
''
}
},
computed
:
{
},
watch
:
{
},
async
mounted
()
{
},
destroyed
()
{
},
methods
:
{
getTaskDetail
(
data
)
{
this
.
id
=
data
&&
data
.
id
?
data
.
id
:
''
this
.
processInstanceId
=
data
&&
data
.
processInstanceId
?
data
.
processInstanceId
:
''
},
reload
()
{
if
(
this
.
$route
.
path
===
'/dee-task-center/workflow/task-center/home'
)
{
this
.
$refs
.
myTask
.
getTasks
(
1
)
}
else
{
this
.
$store
.
dispatch
(
'tagsView/delView'
,
this
.
$route
)
this
.
$router
.
push
({
path
:
'/task-center/index'
})
}
}
}
}
</
script
>
<
style
lang=
'scss'
>
.task-list-page
{
height
:
100%
;
box-sizing
:
border-box
;
.border-box-style
{
padding
:
0
;
.task-detail-page
{
margin
:
0
;
.dee-panel
{
padding
:
0
;
width
:
100%
;
height
:
100%
;
}
}
}
.noData-wrap
{
margin-top
:
26%
;
text-align
:
center
;
img
{
display
:
block
;
width
:
190px
;
height
:
132px
;
margin
:
auto
;
}
}
.flex-s
{
display
:
flex
;
justify-content
:
space-between
;
}
.fb
{
font-weight
:
bold
;
}
.right-box
{
height
:
100%
;
}
.splitter-pane-resizer.vertical
{
opacity
:
1
;
background-color
:
#F1F4F5
;
width
:
6px
;
border-left
:
0
;
border-right
:
0
;
}
.left-box
{
font-size
:
14px
;
.model-icon
{
width
:
16px
;
height
:
16px
;
border
:
none
;
margin-right
:
10px
;
}
}
.tree-left
{
height
:
100%
;
box-sizing
:
border-box
;
position
:
relative
;
.menu-tree
{
.is-current
{
background
:
#EEF3F9
;
}
}
.tree-container
{
height
:
calc
(
100%
-
58px
);
overflow
:
scroll
;
.el-tree-node__content
{
height
:
38px
;
}
}
.tree-select
{
width
:
100%
;
padding
:
0px
;
.el-input
{
border
:none
;
}
}
.serarch-title
{
height
:
58px
;
line-height
:
58px
;
padding-left
:
10px
;
display
:
flex
;
font-size
:
16px
;
cursor
:
pointer
;
img
{
display
:
block
;
width
:
30px
;
height
:
30px
;
margin
:
auto
9px
auto
0
;
}
}
.custom-tree-node
{
flex
:
1
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
font-size
:
14px
;
&
:hover
{
.tree-btn-box
{
display
:
block
}
}
}
.tree-btn-box
{
width
:
66px
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
height
:
100%
;
display
:
none
;
.btn-item
img
{
padding
:
4px
;
width
:
16px
;
height
:
16px
;
}
}
}
.application-list
{
display
:
flex
;
flex-wrap
:
wrap
;
margin-top
:
20px
;
margin-left
:
8px
;
.content-box
{
cursor
:
pointer
;
height
:
120px
;;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
border-bottom
:
1px
solid
#D9D9D9
;
.app-icon
{
width
:
40px
;
}
}
.oparation-box
{
padding
:
0
60px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
height
:
50px
;
text-align
:
center
;
line-height
:
50px
;
background
:rgba
(
0
,
0
,
0
,
0
.04
)
;
position
:
relative
;
.edit-btn-box
{
cursor
:
pointer
;
position
:
absolute
;
right
:
40px
;
top
:
6px
;
img
{
width
:
22px
;
}
}
}
.add-btn-s
{
font-size
:
30px
;
color
:
#2A75CE
;
}
}
}
.img-sel-box
{
width
:
20px
;
height
:
20px
;
padding-left
:
10px
;
img
{
width
:
20px
;
height
:
20px
;
}
}
</
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