Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
synergy-components
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
community
synergy-components
Commits
bdf88e21
Commit
bdf88e21
authored
Jan 19, 2023
by
Samir Sadyhov
🤔
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
выпилен компонент список работ
parent
2e600c02
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
0 additions
and
852 deletions
+0
-852
README.md
README.md
+0
-1
constructor/components/Список работ/Список работ.css
constructor/components/Список работ/Список работ.css
+0
-275
constructor/components/Список работ/Список работ.html
constructor/components/Список работ/Список работ.html
+0
-4
constructor/components/Список работ/Список работ.js
constructor/components/Список работ/Список работ.js
+0
-572
No files found.
README.md
View file @
bdf88e21
...
@@ -64,7 +64,6 @@
...
@@ -64,7 +64,6 @@
*
[
Канбан доска
](
constructor/components/Канбан-доска
)
*
[
Канбан доска
](
constructor/components/Канбан-доска
)
*
[
представление реестра, с поиском, фильтрацией и кучей дополнительных функций + выгрузка записей в excel
](
constructor/components/записи%20реестра
)
*
[
представление реестра, с поиском, фильтрацией и кучей дополнительных функций + выгрузка записей в excel
](
constructor/components/записи%20реестра
)
*
[
Фильтр записей реестра
](
constructor/components/фильтр
)
*
[
Фильтр записей реестра
](
constructor/components/фильтр
)
*
[
Список работ
](
constructor/components/Список
работ)
### Дополнительно
### Дополнительно
...
...
constructor/components/Список работ/Список работ.css
deleted
100644 → 0
View file @
2e600c02
.workflow-work-container
{
width
:
100%
;
height
:
100%
;
}
.workflow-table-list
>
thead
>
tr
>
th
{
vertical-align
:
middle
;
font-weight
:
bold
;
color
:
#262626
;
text-transform
:
none
!important
;
-moz-user-select
:
none
;
-webkit-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
position
:
sticky
;
top
:
0px
;
background
:
#FAFAFA
;
cursor
:
pointer
;
}
.workflow-table-list
>
thead
>
tr
>
th
{
border-right
:
1px
solid
#E8E8E8
;
}
.workflow-table-list
>
thead
>
tr
>
th
:after
{
content
:
''
;
position
:
absolute
;
left
:
0
;
top
:
0
;
width
:
100%
;
height
:
100%
;
border-bottom
:
1px
solid
#E8E8E8
;
z-index
:
-1
;
}
.workflow-table-list
>
tbody
>
tr
{
cursor
:
pointer
;
-moz-user-select
:
none
;
-webkit-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
border-top
:
1px
solid
#E8E8E8
;
border-bottom
:
1px
solid
#E8E8E8
;
transition
:
.3s
;
}
.workflow-table-list
>
tbody
>
tr
>
td
>
.uk-checkbox
{
background-color
:
#fff
;
}
.workflow-table-list
>
tbody
>
tr
>
td
>
.uk-checkbox
:checked
{
background-color
:
#1e87f0
;
}
.workflow-table-list
>
tbody
>[
selected
],
.workflow-table-list
>
tbody
>
tr
:hover
{
background-color
:
#E6F7FF
;
}
.workflow-table-list
{
table-layout
:
fixed
;
font-size
:
10pt
;
width
:
100%
;
margin
:
0
;
}
.workflow-table-container
{
background
:
#fff
;
width
:
100%
;
height
:
calc
(
100%
-
50px
);
overflow
:
auto
;
}
.workflow-table-list
td
{
padding
:
10px
;
border-right
:
1px
solid
#E8E8E8
;
white-space
:
nowrap
!important
;
overflow
:
hidden
!important
;
text-overflow
:
ellipsis
;
}
/*пагинатор*/
.workflow-paginator-container
{
height
:
50px
;
width
:
100%
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
background
:
#fff
;
border-top
:
1px
solid
rgb
(
196
,
196
,
196
);
}
.workflow-pt-paginator
{
height
:
32px
;
}
.workflow-pt-paginator-container
{
width
:
168px
;
height
:
32px
;
display
:
inline-block
;
float
:
right
;
}
.workflow-pt-paginator
button
{
height
:
100%
;
width
:
34px
;
background-color
:
#fff
;
border
:
none
;
float
:
left
;
cursor
:
pointer
;
}
.workflow-pt-paginator
button
:hover
{
border-color
:
orange
;
}
.workflow-pt-paginator
button
[
disabled
]
{
opacity
:
0.5
;
cursor
:
default
;
border-color
:
#d6d6d6
;
}
.workflow-pt-paginator
button
.workflow-pt-previous
{
background
:
url('data:image/png;base64,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')
no-repeat
center
;
}
.workflow-pt-paginator
button
.workflow-pt-next
{
background
:
url('data:image/png;base64,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')
no-repeat
center
;
}
.workflow-pt-paginator
.workflow-pt-paginator-content
{
display
:
inline-block
;
width
:
100px
;
height
:
100%
;
text-align
:
center
;
vertical-align
:
top
;
margin
:
0
;
padding
:
0
;
float
:
left
;
box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
;
}
.workflow-pt-paginator
.workflow-pt-paginator-content
>
label
{
width
:
100%
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
height
:
100%
;
background-color
:
#fff
;
}
.workflow-pt-paginator
.workflow-pt-paginator-content
>
input
{
display
:
none
;
width
:
calc
(
100%
-
4px
);
height
:
calc
(
100%
-
6px
);
border
:
0
;
text-align
:
center
;
padding-top
:
3px
;
background-color
:
#fff
;
}
.workflow-table-list
tbody
.new_work
{
font-weight
:
600
;
}
.workflow-table-list
tbody
.expired_work
{
color
:
#af0100
;
}
.workflow-table-list
tbody
.soon_expired_work
{
color
:
orange
;
}
.work-progress-container
{
width
:
100%
;
background-color
:
#e1e7f3
;
border-radius
:
5px
;
}
.work-progress
{
height
:
19px
;
background-color
:
#72b8fa
;
text-align
:
center
;
line-height
:
19px
;
color
:
#222
;
border-radius
:
5px
;
}
.sortable
:before
{
content
:
''
;
position
:
absolute
;
top
:
15px
;
right
:
20px
;
border
:
solid
#262626
;
border-width
:
0
3px
3px
0
;
padding
:
3px
;
transition
:
transform
.3s
;
}
.sortable__down
:before
{
transform
:
rotate
(
45deg
);
-webkit-transform
:
rotate
(
45deg
);
}
.sortable__up
:before
{
transform
:
rotate
(
-135deg
);
-webkit-transform
:
rotate
(
-135deg
);
}
.mobile-table-header
{
display
:
none
;
font-weight
:
600
;
margin-right
:
10px
;
}
/*context-menu*/
.workflow-context-menu
{
position
:
absolute
;
display
:
none
;
background-color
:
#fff
;
box-shadow
:
0px
2px
10px
rgba
(
0
,
0
,
0
,
0.2
);
padding
:
0px
;
min-width
:
200px
;
width
:
auto
;
}
.workflow-context-menu
ul
{
list-style
:
none
;
margin
:
0
;
padding
:
0
;
}
.workflow-context-menu
ul
li
{
padding
:
0
;
background-color
:
#fff
;
display
:
block
;
}
.workflow-context-menu
ul
li
a
{
color
:
#555
;
padding
:
10px
;
}
.workflow-context-menu
ul
li
a
:hover
{
background-color
:
rgb
(
255
,
165
,
0
,
0.3
);
}
.workflow-context-menu
ul
.uk-disabled
a
{
color
:
#dedede
;
}
table
.work-info
{
border-collapse
:
collapse
;
width
:
100%
;
font-size
:
12px
;
font-family
:
sans-serif
;
}
table
.work-info
td
{
text-align
:
left
;
color
:
#222
;
}
table
.work-info
td
{
border-bottom
:
1px
solid
#ddd
;
padding
:
5px
;
}
table
.work-info
tbody
>
tr
:hover
{
background-color
:
rgba
(
72
,
157
,
243
,
0.2
);
}
constructor/components/Список работ/Список работ.html
deleted
100644 → 0
View file @
2e600c02
<div
class=
"workflow-work-container"
>
<div
class=
"workflow-table-container"
></div>
<div
class=
"workflow-paginator-container"
></div>
</div>
constructor/components/Список работ/Список работ.js
deleted
100644 → 0
View file @
2e600c02
const
compContainer
=
$
(
`#
${
comp
.
code
}
`
);
const
workContainer
=
compContainer
.
find
(
`.workflow-work-container`
);
const
tableContainer
=
workContainer
.
find
(
`.workflow-table-container`
);
const
paginatorContainer
=
workContainer
.
find
(
`.workflow-paginator-container`
);
const
getProgressBar
=
value
=>
`<div class="work-progress-container"><div class="work-progress" style="width:
${
value
}
%;">
${
value
}
%</div></div>`
;
const
deleteWork
=
async
workID
=>
{
return
new
Promise
(
resolve
=>
{
rest
.
synergyGet
(
`api/workflow/work/delete?workID=
${
workID
}
&locale=
${
AS
.
OPTIONS
.
locale
}
`
,
resolve
,
err
=>
{
console
.
log
(
`ERROR [ deleteWork ]:
${
JSON
.
stringify
(
err
)}
`
);
resolve
(
null
);
});
});
}
const
getDocInfo
=
async
workID
=>
{
return
new
Promise
(
resolve
=>
{
rest
.
synergyGet
(
`api/workflow/work/
${
workID
}
/document?&locale=
${
AS
.
OPTIONS
.
locale
}
`
,
resolve
,
err
=>
{
console
.
log
(
`ERROR [ deleteWork ]:
${
JSON
.
stringify
(
err
)}
`
);
resolve
(
null
);
});
});
}
const
stopRoute
=
async
documentID
=>
{
return
new
Promise
(
resolve
=>
{
rest
.
synergyPost
(
`api/docflow/doc/stop_route?documentID=
${
documentID
}
&locale=
${
AS
.
OPTIONS
.
locale
}
`
,
null
,
"
application/json; charset=UTF-8
"
,
resolve
,
err
=>
{
console
.
log
(
`ERROR [ stopRoute ]:
${
JSON
.
stringify
(
err
)}
`
);
resolve
(
null
);
});
});
}
const
Paginator
=
{
countInPart
:
15
,
rows
:
0
,
currentPage
:
1
,
pages
:
0
,
update
:
function
(){
this
.
pages
=
Math
.
ceil
(
this
.
rows
/
this
.
countInPart
),
this
.
label
.
text
(
this
.
currentPage
+
'
/
'
+
this
.
pages
);
if
(
this
.
pages
==
0
)
{
this
.
bPrevious
.
attr
(
'
disabled
'
,
'
disabled
'
);
this
.
bNext
.
attr
(
'
disabled
'
,
'
disabled
'
);
}
else
{
if
(
this
.
currentPage
==
1
)
{
this
.
bPrevious
.
attr
(
'
disabled
'
,
'
disabled
'
);
if
(
this
.
currentPage
==
this
.
pages
)
{
this
.
bNext
.
attr
(
'
disabled
'
,
'
disabled
'
);
}
else
{
this
.
bNext
.
removeAttr
(
'
disabled
'
);
}
}
else
{
this
.
bPrevious
.
removeAttr
(
'
disabled
'
);
if
(
this
.
currentPage
==
this
.
pages
)
{
this
.
bNext
.
attr
(
'
disabled
'
,
'
disabled
'
);
}
else
{
this
.
bNext
.
removeAttr
(
'
disabled
'
);
}
}
}
},
addListeners
:
function
(){
this
.
bNext
.
click
(()
=>
{
this
.
currentPage
++
;
this
.
update
();
WorkTable
.
createBody
();
});
this
.
bPrevious
.
click
(()
=>
{
this
.
currentPage
--
;
this
.
update
();
WorkTable
.
createBody
();
});
this
.
label
.
on
(
'
dblclick
'
,
e
=>
{
e
.
preventDefault
();
this
.
input
.
show
();
this
.
label
.
hide
();
this
.
input
.
on
(
'
blur
'
,
()
=>
{
this
.
label
.
show
();
this
.
input
.
hide
();
});
this
.
input
.
val
(
""
+
this
.
currentPage
);
this
.
input
.
on
(
'
keypress
'
,
e
=>
{
if
(
e
.
which
!=
8
&&
e
.
which
!=
0
&&
e
.
which
!=
46
&&
(
e
.
which
<
48
||
e
.
which
>
57
))
return
false
;
});
this
.
input
.
on
(
'
keydown
'
,
e
=>
{
if
(
e
.
which
===
13
)
{
let
inputVal
=
+
this
.
input
.
val
();
if
(
inputVal
&&
inputVal
!=
this
.
currentPage
&&
inputVal
<=
this
.
pages
&&
inputVal
>=
1
){
this
.
currentPage
=
inputVal
;
this
.
update
();
WorkTable
.
createBody
();
}
this
.
label
.
show
();
this
.
input
.
hide
();
this
.
input
.
off
();
}
});
this
.
input
.
focus
();
});
},
render
:
function
(){
this
.
container
=
$
(
'
<div class="workflow-pt-container">
'
);
this
.
paginator
=
$
(
'
<div class="workflow-pt-paginator">
'
);
this
.
pContent
=
$
(
'
<div class="workflow-pt-paginator-content">
'
);
this
.
bPrevious
=
$
(
`<button class="workflow-pt-previous" disabled="disabled" title="
${
i18n
.
tr
(
'
Назад
'
)}
">`
);
this
.
bNext
=
$
(
`<button class="workflow-pt-next" disabled="disabled" title="
${
i18n
.
tr
(
'
Вперед
'
)}
">`
);
this
.
label
=
$
(
'
<label>
'
);
this
.
input
=
$
(
'
<input type="text">
'
);
paginatorContainer
.
empty
().
append
(
this
.
container
);
this
.
pContent
.
append
(
this
.
label
).
append
(
this
.
input
);
this
.
paginator
.
append
(
this
.
bPrevious
).
append
(
this
.
pContent
).
append
(
this
.
bNext
);
this
.
container
.
append
(
this
.
paginator
);
},
reset
:
function
(
countInPart
){
this
.
countInPart
=
countInPart
;
this
.
rows
=
countInPart
;
this
.
currentPage
=
1
;
this
.
pages
=
0
;
},
init
:
function
(
countInPart
=
15
){
const
{
rowsPerPage
=
countInPart
}
=
localStorage
;
this
.
render
();
this
.
reset
(
rowsPerPage
);
this
.
addListeners
();
}
};
const
WorkTable
=
{
filterType
:
'
OWN_WORKS
'
,
filterId
:
null
,
objectId
:
null
,
search
:
null
,
periodType
:
null
,
isAscSort
:
true
,
sortColumn
:
null
,
table
:
null
,
tHead
:
null
,
tBody
:
null
,
selectedItems
:
[],
priorities
:
null
,
getUrl
:
function
(){
let
url
=
`api/workflow/works/list_ext?userID=
${
AS
.
OPTIONS
.
currentUser
.
userid
}
&filterType=
${
this
.
filterType
}
`
;
const
startRecord
=
Paginator
.
currentPage
*
Paginator
.
countInPart
-
Paginator
.
countInPart
;
url
+=
`&startRecord=
${
startRecord
}
&recordsCount=
${
Paginator
.
countInPart
}
`
;
if
(
this
.
filterId
)
url
+=
`&filterID=
${
this
.
filterId
}
`
;
if
(
this
.
objectId
)
url
+=
`&objectID=
${
this
.
objectId
}
`
;
if
(
this
.
search
)
url
+=
`&search=
${
this
.
search
}
`
;
if
(
this
.
periodType
)
url
+=
`&hasExtSearchParams=true&periodType=
${
this
.
periodType
}
`
;
if
(
this
.
sortColumn
)
url
+=
`&sortColumn=
${
this
.
sortColumn
}
&isAscSort=
${
this
.
isAscSort
}
`
;
url
+=
`&locale=
${
AS
.
OPTIONS
.
locale
}
`
;
return
url
;
},
sortable
:
function
(
th
)
{
if
(
th
.
attr
(
'
columnid
'
)
==
'
checkbox
'
||
th
.
hasClass
(
"
uk-checkbox
"
))
return
;
this
.
tHead
.
find
(
'
th
'
).
not
(
th
).
removeClass
(
'
sortable sortable__down sortable__up
'
);
if
(
th
.
hasClass
(
"
sortable__down
"
)
||
th
.
hasClass
(
"
sortable__up
"
))
{
th
.
toggleClass
(
"
sortable__down sortable__up
"
);
}
else
{
th
.
addClass
(
"
sortable sortable__down
"
);
}
this
.
sortColumn
=
th
.
attr
(
'
columnid
'
);
this
.
isAscSort
=
th
.
hasClass
(
"
sortable__down
"
)
?
true
:
false
;
this
.
createBody
();
},
createHeader
:
function
()
{
this
.
tHead
.
empty
();
this
.
isAscSort
=
true
;
this
.
sortColumn
=
null
;
const
tr
=
$
(
'
<tr>
'
);
const
th
=
$
(
'
<th columnid="checkbox" style="width: 40px;"></th>
'
);
const
checkbox
=
$
(
'
<input/>
'
)
.
addClass
(
'
uk-checkbox
'
)
.
attr
(
'
type
'
,
'
checkbox
'
)
.
on
(
'
change
'
,
e
=>
{
this
.
tBody
.
find
(
'
td > [type="checkbox"]
'
).
each
((
k
,
x
)
=>
{
x
.
checked
=
!!
e
.
target
.
checked
;
});
this
.
tBody
.
find
(
'
td > [type="checkbox"]
'
).
each
((
k
,
x
)
=>
{
$
(
x
).
trigger
(
'
change
'
);
});
});
th
.
append
(
checkbox
);
tr
.
append
(
th
);
tr
.
append
(
`<th columnid="name" class="uk-table-expand">
${
i18n
.
tr
(
'
Название
'
)}
</th>`
);
if
(
this
.
filterType
==
'
OWN_WORKS
'
)
{
tr
.
append
(
`<th columnid="author" class="uk-width-small">
${
i18n
.
tr
(
'
Поставил
'
)}
</th>`
);
}
else
{
tr
.
append
(
`<th columnid="responsible" class="uk-width-small">
${
i18n
.
tr
(
'
Ответственный
'
)}
</th>`
);
}
tr
.
append
(
`<th columnid="left" class="uk-width-small">
${
i18n
.
tr
(
'
Осталось
'
)}
</th>`
);
tr
.
append
(
`<th columnid="percent" class="uk-width-small">
${
i18n
.
tr
(
'
Прогресс
'
)}
</th>`
);
tr
.
on
(
'
click
'
,
e
=>
this
.
sortable
(
$
(
e
.
target
)));
this
.
tHead
.
append
(
tr
);
},
getContextMenuItem
:
function
(
name
,
icon
,
handler
,
disabled
=
false
){
const
li
=
$
(
`<li>`
);
const
a
=
$
(
'
<a>
'
);
const
span
=
$
(
`<span class="uk-margin-small-right" uk-icon="icon:
${
icon
}
"></span>`
);
if
(
disabled
)
li
.
addClass
(
'
uk-disabled
'
);
a
.
append
(
span
,
i18n
.
tr
(
name
));
li
.
append
(
a
);
li
.
on
(
'
click
'
,
e
=>
{
e
.
preventDefault
();
e
.
target
.
blur
();
if
(
handler
)
handler
();
});
return
li
;
},
openWorkInfo
:
function
(
work
){
const
createRow
=
(
label
,
value
)
=>
$
(
`<tr><td>
${
i18n
.
tr
(
label
)}
</td><td>
${
value
}
</td></tr>`
);
const
dialog
=
$
(
'
<div class="uk-flex-top" uk-modal>
'
);
const
md
=
$
(
'
<div class="uk-modal-dialog uk-margin-auto-vertical">
'
);
const
modalBody
=
$
(
'
<div>
'
,
{
class
:
'
uk-modal-body uk-overflow-auto
'
,
style
:
'
padding: 15px;
'
});
const
container
=
$
(
'
<div>
'
);
const
table
=
$
(
'
<table>
'
,
{
class
:
'
uk-table work-info
'
});
const
body
=
$
(
'
<tbody>
'
);
table
.
append
(
body
);
container
.
append
(
table
);
modalBody
.
append
(
container
);
dialog
.
append
(
md
);
md
.
append
(
'
<button class="uk-modal-close-default" type="button" uk-close></button>
'
,
`<div class="uk-modal-header"><h3 class="uk-modal-title">
${
i18n
.
tr
(
'
Информация
'
)}
</h3></div>`
,
modalBody
,
`<div class="uk-modal-footer uk-text-right"><button class="uk-button uk-button-default uk-modal-close" type="button">
${
i18n
.
tr
(
'
Закрыть
'
)}
</button></div>`
);
const
priority
=
this
.
priorities
.
find
(
x
=>
x
.
id
==
work
.
priority
);
const
remained
=
Number
(
work
.
remained
)
<
0
?
`
${
i18n
.
tr
(
'
Просрочено
'
)}
${
work
.
remained_label
.
replaceAll
(
'
-
'
,
''
)}
`
:
`
${
i18n
.
tr
(
'
Осталось
'
)}
${
work
.
remained_label
}
`
;
body
.
append
(
createRow
(
'
Наименование:
'
,
work
.
name
),
createRow
(
'
Автор:
'
,
work
.
author
.
name
),
`<tr><td>
${
i18n
.
tr
(
'
Приоритет:
'
)}
</td><td style="display: flex; align-items: center;"><span style="width: 20px; height: 20px; background:
${
priority
.
color
}
; margin-right: 10px;"></span><span>
${
priority
.
name
}
</span></td></tr>`
,
createRow
(
'
Начало:
'
,
work
.
start_date
),
createRow
(
'
Завершение:
'
,
work
.
finish_date
),
createRow
(
'
Сроки:
'
,
remained
)
);
UIkit
.
modal
(
dialog
).
show
();
dialog
.
on
(
'
hidden
'
,
()
=>
dialog
.
remove
());
},
deleteWork
:
async
function
(
work
){
UIkit
.
modal
.
confirm
(
i18n
.
tr
(
'
Вы действительно хотите удалить данную работу?
'
),
{
labels
:
{
ok
:
i18n
.
tr
(
'
Да
'
),
cancel
:
i18n
.
tr
(
'
Отмена
'
)}})
.
then
(
async
()
=>
{
Cons
.
showLoader
();
try
{
const
resultDelete
=
await
deleteWork
(
work
.
actionID
);
if
(
!
resultDelete
)
throw
new
Error
(
i18n
.
tr
(
'
Произошла ошибка при удалении работы
'
));
if
(
resultDelete
.
errorCode
!=
'
0
'
)
throw
new
Error
(
resultDelete
.
errorMessage
);
Paginator
.
init
();
this
.
createBody
();
showMessage
(
resultDelete
.
errorMessage
,
'
success
'
);
}
catch
(
e
)
{
Cons
.
hideLoader
();
showMessage
(
e
.
message
,
'
error
'
);
}
},
()
=>
null
);
},
stopRoute
:
async
function
(
work
){
UIkit
.
modal
.
confirm
(
i18n
.
tr
(
'
Вы действительно хотите прервать данный маршрут?
'
),
{
labels
:
{
ok
:
i18n
.
tr
(
'
Да
'
),
cancel
:
i18n
.
tr
(
'
Отмена
'
)}})
.
then
(
async
()
=>
{
Cons
.
showLoader
();
try
{
const
docInfo
=
await
getDocInfo
(
work
.
actionID
);
if
(
!
docInfo
)
throw
new
Error
(
i18n
.
tr
(
'
Произошла ошибка прерывания маршрута
'
));
const
result
=
await
stopRoute
(
docInfo
.
documentID
);
if
(
!
result
)
throw
new
Error
(
i18n
.
tr
(
'
Произошла ошибка прерывания маршрута
'
));
if
(
result
.
errorCode
!=
'
0
'
)
throw
new
Error
(
result
.
errorMessage
);
Paginator
.
init
();
this
.
createBody
();
showMessage
(
result
.
errorMessage
,
'
success
'
);
}
catch
(
e
)
{
Cons
.
hideLoader
();
showMessage
(
e
.
message
,
'
error
'
);
}
},
()
=>
null
);
},
contextNavItems
:
[
{
name
:
'
Информация
'
,
icon
:
'
info
'
,
handler
:
function
(
me
,
work
){
me
.
openWorkInfo
(
work
);
}
},
{
name
:
'
Удалить
'
,
icon
:
'
trash
'
,
handler
:
function
(
me
,
work
){
me
.
deleteWork
(
work
);
},
prop
:
'
can_delete
'
},
{
name
:
'
Прервать маршрут
'
,
icon
:
'
ban
'
,
handler
:
function
(
me
,
work
){
me
.
stopRoute
(
work
);
}
},
// 'divider',
// {
// name: 'Изменить',
// icon: 'pencil',
// handler: function(me, work){
// console.log('типа Изменить', work);
// }
// },
// {
// name: 'Переслать',
// icon: 'forward',
// handler: function(me, work){
// console.log('типа Переслать', work);
// }
// },
// {
// name: 'Перепоручить',
// icon: 'users',
// handler: function(me, work){
// console.log('типа Перепоручить', work);
// }
// }
],
contextMenu
:
function
(
el
,
work
)
{
el
.
on
(
'
contextmenu
'
,
event
=>
{
$
(
'
.workflow-context-menu
'
).
remove
();
const
contextMenu
=
$
(
'
<div>
'
,
{
class
:
'
workflow-context-menu
'
});
const
nav
=
$
(
'
<ul class="uk-nav-default uk-nav-parent-icon" uk-nav>
'
);
contextMenu
.
css
({
"
left
"
:
event
.
pageX
+
'
px
'
,
"
top
"
:
event
.
pageY
+
'
px
'
});
contextMenu
.
append
(
nav
);
this
.
contextNavItems
.
forEach
(
item
=>
{
if
(
item
==
'
divider
'
)
{
nav
.
append
(
'
<li class="uk-nav-divider"></li>
'
);
}
else
{
const
{
name
,
icon
,
handler
,
prop
=
false
}
=
item
;
nav
.
append
(
this
.
getContextMenuItem
(
name
,
icon
,
()
=>
handler
(
this
,
work
),
prop
&&
work
[
prop
]
==
"
false
"
));
}
});
$
(
'
body
'
).
append
(
contextMenu
);
contextMenu
.
show
(
'
fast
'
);
return
false
;
});
},
createRow
:
function
(
item
)
{
const
{
actionID
,
name
,
is_new
,
is_expired
,
is_soon_expired
,
user
,
author
,
remained_label
,
percent
}
=
item
;
const
tr
=
$
(
'
<tr>
'
);
const
checkbox
=
$
(
'
<input/>
'
).
addClass
(
'
uk-checkbox
'
).
attr
(
'
type
'
,
'
checkbox
'
);
const
tmpTd
=
$
(
'
<td>
'
);
if
(
this
.
selectedItems
.
indexOf
(
actionID
)
!==
-
1
)
checkbox
.
prop
(
'
checked
'
,
true
);
tmpTd
.
append
(
`<span class="mobile-table-header">Выбор</span>`
).
append
(
checkbox
);
tr
.
append
(
tmpTd
);
if
(
this
.
priorities
)
{
const
priority
=
this
.
priorities
.
find
(
x
=>
x
.
id
==
item
.
priority
);
if
(
priority
)
tmpTd
.
css
({
'
background
'
:
priority
.
color
});
}
checkbox
.
on
(
'
change
'
,
e
=>
{
if
(
e
.
target
.
checked
)
{
if
(
this
.
selectedItems
.
indexOf
(
actionID
)
===
-
1
)
{
this
.
selectedItems
.
push
(
actionID
);
}
}
else
{
const
index
=
this
.
selectedItems
.
indexOf
(
actionID
);
if
(
index
!==
-
1
)
this
.
selectedItems
.
splice
(
index
,
1
);
}
// if(this.selectedItems.length > 0) {
// $('.action-menu-item').removeClass('uk-disabled');
// if($('.action-menu-item.item-delete').length) {
// if(!this.isDelete) $('.action-menu-item.item-delete').addClass('uk-disabled');
// }
// } else {
// $('.action-menu-item').addClass('uk-disabled');
// }
});
if
(
is_new
&&
is_new
==
"
true
"
)
tr
.
addClass
(
'
new_work
'
);
if
(
is_expired
&&
is_expired
==
"
true
"
)
{
tr
.
addClass
(
'
expired_work
'
);
}
else
if
(
is_soon_expired
&&
is_soon_expired
==
"
true
"
)
{
tr
.
addClass
(
'
soon_expired_work
'
);
}
tr
.
append
(
`<td uk-tooltip="title:
${
name
}
; delay: 500;">
${
name
}
</td>`
);
if
(
this
.
filterType
==
'
OWN_WORKS
'
)
{
tr
.
append
(
`<td uk-tooltip="
${
author
.
name
}
">
${
author
.
name
}
</td>`
);
}
else
{
tr
.
append
(
`<td uk-tooltip="
${
user
.
name
}
">
${
user
.
name
}
</td>`
);
}
tr
.
append
(
`<td uk-tooltip="
${
remained_label
}
">
${
remained_label
}
</td>`
);
tr
.
append
(
`<td>
${
getProgressBar
(
percent
)}
</td>`
);
let
timeoutId
;
tr
.
on
(
'
click
'
,
e
=>
{
if
(
$
(
e
.
target
).
is
(
"
input
"
))
return
;
timeoutId
=
setTimeout
(()
=>
{
if
(
!
timeoutId
)
return
;
this
.
tBody
.
find
(
'
tr
'
).
removeAttr
(
'
selected
'
);
tr
.
attr
(
'
selected
'
,
true
);
fire
({
type
:
'
worklist_item_click
'
,
...
item
},
comp
.
code
);
},
200
);
});
tr
.
on
(
'
dblclick
'
,
e
=>
{
if
(
$
(
e
.
target
).
is
(
"
input
"
))
return
;
clearTimeout
(
timeoutId
);
timeoutId
=
null
;
fire
({
type
:
'
worklist_item_dbl_click
'
,
...
item
},
comp
.
code
);
});
this
.
contextMenu
(
tr
,
item
);
return
tr
;
},
createBody
:
function
(
rowsCount
)
{
Cons
.
showLoader
();
rest
.
synergyGet
(
this
.
getUrl
(),
res
=>
{
this
.
tBody
.
empty
();
res
.
data
.
forEach
(
item
=>
this
.
tBody
.
append
(
this
.
createRow
(
item
)));
Paginator
.
rows
=
res
.
totalCount
;
Paginator
.
update
();
Cons
.
hideLoader
();
});
},
render
:
function
()
{
compContainer
.
find
(
`.jsx-parser`
).
css
({
'
width
'
:
'
100%
'
,
'
height
'
:
'
100%
'
});
this
.
table
=
$
(
'
<table class="workflow-table-list uk-table uk-table-small uk-table-responsive">
'
);
this
.
tHead
=
$
(
'
<thead>
'
);
this
.
tBody
=
$
(
'
<tbody>
'
);
this
.
table
.
append
(
this
.
tHead
).
append
(
this
.
tBody
);
tableContainer
.
empty
().
append
(
this
.
table
);
},
reset
:
function
(){
this
.
search
=
null
;
this
.
periodType
=
null
;
this
.
isAscSort
=
true
;
this
.
sortColumn
=
null
;
this
.
selectedItems
=
[];
},
init
:
function
()
{
const
{
systemSettings
}
=
Cons
.
getAppStore
();
if
(
systemSettings
)
this
.
priorities
=
systemSettings
.
current_priorities
;
this
.
render
();
this
.
createHeader
();
Paginator
.
init
();
this
.
createBody
();
}
};
WorkTable
.
init
();
addListener
(
'
worklist_filter_arbitrary_change
'
,
comp
.
code
,
filterData
=>
{
const
{
filterType
,
filterId
,
objectId
}
=
filterData
;
WorkTable
.
filterType
=
filterType
;
WorkTable
.
filterId
=
filterId
;
WorkTable
.
objectId
=
objectId
;
WorkTable
.
reset
();
WorkTable
.
createHeader
();
WorkTable
.
createBody
();
Paginator
.
init
();
});
addListener
(
'
worklist_translate
'
,
comp
.
code
,
()
=>
{
WorkTable
.
createHeader
();
WorkTable
.
reset
();
WorkTable
.
createBody
();
Paginator
.
init
();
});
addListener
(
'
worklist_search
'
,
comp
.
code
,
e
=>
{
const
{
value
=
null
}
=
e
;
WorkTable
.
search
=
value
;
WorkTable
.
createBody
();
Paginator
.
init
();
});
addListener
(
'
worklist_row_count_on_page
'
,
comp
.
code
,
e
=>
{
const
{
rowsPerPage
=
null
}
=
e
;
WorkTable
.
search
=
null
;
Paginator
.
init
(
rowsPerPage
);
WorkTable
.
createBody
();
});
addListener
(
'
worklist_update
'
,
comp
.
code
,
e
=>
{
const
{
countInPart
}
=
Paginator
;
Paginator
.
init
(
countInPart
);
WorkTable
.
createBody
();
});
$
(
document
).
off
()
.
on
(
'
contextmenu
'
,
()
=>
$
(
'
.workflow-context-menu
'
).
remove
())
.
on
(
'
click
'
,
()
=>
$
(
'
.workflow-context-menu
'
).
remove
());
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