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
31f26afe
Commit
31f26afe
authored
Jun 04, 2025
by
Samir Sadyhov
🤔
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
компонент РКК документа
parent
dd9aa4db
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
561 additions
and
0 deletions
+561
-0
constructor/scripts/RCC/_RCC.css
constructor/scripts/RCC/_RCC.css
+94
-0
constructor/scripts/RCC/_RCC.js
constructor/scripts/RCC/_RCC.js
+467
-0
No files found.
constructor/scripts/RCC/_RCC.css
0 → 100644
View file @
31f26afe
.rcc_container
{
position
:
relative
;
width
:
100%
;
height
:
100%
;
background
:
#FAFAFA
;
overflow
:
hidden
;
}
.rcc_data
{
position
:
absolute
;
width
:
100%
;
height
:
calc
(
100%
-
50px
);
background
:
#fff
;
padding
:
20px
;
overflow
:
auto
;
}
.rcc_data.no_rcc_buttons
{
height
:
100%
;
}
.rcc_buttons
{
width
:
100%
;
height
:
50px
;
background
:
#FAFAFA
;
border-bottom
:
1px
solid
rgb
(
217
,
217
,
217
);
margin
:
0
;
padding
:
0px
20px
;
display
:
flex
;
align-items
:
center
;
}
.uk-table.rcc-table
thead
th
{
background
:
#FAFAFA
;
border
:
1px
solid
#E8E8E8
;
font-weight
:
600
;
font-size
:
14px
;
line-height
:
22px
;
color
:
#262626
;
text-transform
:
none
;
}
.uk-table.rcc-table
tbody
tr
{
background
:
#fff
;
border
:
none
;
}
.uk-table.rcc-table
tbody
td
{
border
:
1px
solid
#E8E8E8
;
padding
:
8px
;
font-size
:
14px
;
line-height
:
21px
;
color
:
#595959
;
}
.rcc-table.docflowTable
.docflowTableCell
>
table
td
{
border
:
none
!important
;
}
.uk-accordion.rcc-accordion
li
{
border
:
1px
solid
var
(
--gray
);
border-radius
:
3px
;
}
.uk-accordion.rcc-accordion
.uk-accordion-content
{
padding
:
0
30px
;
}
.uk-accordion.rcc-accordion
.uk-accordion-content
>
:last-child
{
margin-bottom
:
20px
;
}
.uk-accordion.rcc-accordion
.uk-accordion-title
{
padding
:
10px
;
}
#buttonSaveRCC
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
width
:
40px
;
height
:
40px
;
color
:
#999
;
cursor
:
pointer
;
transition
:
0.3s
;
}
#buttonSaveRCC
.material-icons
{
font-size
:
1.8em
;
}
#buttonSaveRCC
:hover
{
color
:
#333
;
}
constructor/scripts/RCC/_RCC.js
0 → 100644
View file @
31f26afe
const
getRccInfoContent
=
(
docRCC
,
docInfo
,
doctypes
,
notEditable
)
=>
{
const
rccInfoContent
=
$
(
'
<div>
'
);
const
{
container
:
docNameContainer
,
textarea
:
docNameInput
}
=
Components
.
createInputTextArea
(
i18n
.
tr
(
"
Кр. содерж.
"
));
docNameInput
.
val
(
docRCC
.
content
);
rccInfoContent
.
append
(
docNameContainer
);
const
regData
=
$
(
'
<div uk-grid style="align-items: baseline; margin-top: 0;">
'
);
rccInfoContent
.
append
(
regData
);
const
{
container
:
docNumberContainer
,
input
:
docNumberInput
}
=
Components
.
createInputText
(
i18n
.
tr
(
"
Номер
"
));
docNumberInput
.
val
(
docRCC
.
number
);
docNumberInput
.
css
(
'
min-width
'
,
'
290px
'
);
regData
.
append
(
docNumberContainer
);
const
{
container
:
docRegDateContainer
,
dateTimeInput
:
docRegDateInput
}
=
Components
.
createDateTimeInput
(
i18n
.
tr
(
"
Дата регистрации
"
),
docInfo
.
regDate
||
''
);
regData
.
append
(
docRegDateContainer
);
docRegDateContainer
.
find
(
'
.uk-form-controls
'
).
css
(
'
display
'
,
'
flex
'
);
const
docTypeData
=
$
(
'
<div uk-grid style="align-items: baseline; margin-top: 0;">
'
);
rccInfoContent
.
append
(
docTypeData
);
const
docTypeItems
=
doctypes
.
map
(
x
=>
({
label
:
x
.
name
,
value
:
x
.
code
}));
const
{
container
:
docTypeContainer
,
select
:
docTypeSelect
}
=
Components
.
createSelectComponent
(
i18n
.
tr
(
"
Тип документа
"
),
docTypeItems
);
docTypeSelect
.
val
(
docRCC
.
docTypeCode
);
docTypeData
.
append
(
docTypeContainer
);
if
(
notEditable
)
docTypeSelect
.
attr
(
'
disabled
'
,
true
);
const
{
container
:
durationContainer
,
input
:
durationInput
}
=
Components
.
createInputNumber
(
i18n
.
tr
(
"
Длительность (раб.дн)
"
));
durationInput
.
val
(
docRCC
.
length
||
'
1
'
);
docTypeData
.
append
(
durationContainer
);
const
{
container
:
correspondentOrgContainer
,
input
:
correspondentOrgInput
}
=
Components
.
createInputText
(
i18n
.
tr
(
"
Корреспондент (орг)
"
));
correspondentOrgInput
.
val
(
docInfo
.
correspondentOrg
);
rccInfoContent
.
append
(
correspondentOrgContainer
);
const
{
container
:
correspondentContainer
,
input
:
correspondentInput
}
=
Components
.
createInputText
(
i18n
.
tr
(
"
Корреспондент
"
));
correspondentInput
.
val
(
docInfo
.
correspondent
);
rccInfoContent
.
append
(
correspondentContainer
);
const
outDocData
=
$
(
'
<div uk-grid style="align-items: baseline; margin-top: 0;">
'
);
rccInfoContent
.
append
(
outDocData
);
const
{
container
:
outDocNumberContainer
,
input
:
outDocNumberInput
}
=
Components
.
createInputText
(
i18n
.
tr
(
"
Номер исх.
"
));
outDocNumberInput
.
css
(
'
min-width
'
,
'
290px
'
);
outDocNumberInput
.
val
(
docRCC
.
numberOut
||
''
);
outDocData
.
append
(
outDocNumberContainer
);
const
{
container
:
outDocRegDateContainer
,
dateTimeInput
:
outDocRegDateInput
}
=
Components
.
createDateTimeInput
(
i18n
.
tr
(
"
Дата исх.
"
),
docRCC
.
dateOut
||
''
);
outDocData
.
append
(
outDocRegDateContainer
);
outDocRegDateContainer
.
find
(
'
.uk-form-controls
'
).
css
(
'
display
'
,
'
flex
'
);
const
inputs
=
{
docNameInput
,
docNumberInput
,
docRegDateInput
,
docTypeSelect
,
durationInput
,
correspondentOrgInput
,
correspondentInput
,
outDocNumberInput
,
outDocRegDateInput
}
return
{
rccInfoContent
,
inputs
};
}
const
parseSignDate
=
date
=>
{
date
=
date
.
split
(
'
'
);
return
[
date
[
1
].
replaceAll
(
'
.
'
,
'
:
'
),
date
[
0
]].
join
(
'
'
);
}
const
signObjToArr
=
(
data
,
fielsd
)
=>
{
return
data
.
map
((
x
,
i
)
=>
{
const
tmp
=
[];
fielsd
.
forEach
(
key
=>
key
==
'
index
'
?
tmp
.
push
(
String
(
i
+
1
))
:
(
key
==
'
signDate
'
?
tmp
.
push
(
parseSignDate
(
x
[
key
]))
:
tmp
.
push
(
x
[
key
]))
);
return
tmp
;
});
}
const
getSignListContent
=
list
=>
{
if
(
!
list
||
!
list
.
length
)
return
null
;
const
content
=
$
(
'
<div>
'
);
const
headers
=
[
i18n
.
tr
(
'
№ п/п
'
),
i18n
.
tr
(
'
Фамилия И.О.
'
),
i18n
.
tr
(
'
Должность
'
),
i18n
.
tr
(
'
Дата
'
),
i18n
.
tr
(
'
Тип подписи
'
),
i18n
.
tr
(
'
Действие
'
),
i18n
.
tr
(
'
Результат действия
'
)];
const
rows
=
signObjToArr
(
list
,
[
'
index
'
,
'
userName
'
,
'
position
'
,
'
signDate
'
,
'
value
'
,
'
signType
'
,
'
actionResult
'
]);
const
{
table
}
=
Components
.
createTable
({
headers
,
rows
},
[
'
rcc-table
'
,
'
uk-table-small
'
,
'
uk-table-responsive
'
]);
content
.
append
(
table
);
return
content
;
}
const
getOtherListContent
=
list
=>
{
if
(
!
list
||
!
list
.
length
)
return
null
;
const
content
=
$
(
'
<div>
'
);
const
headers
=
[
i18n
.
tr
(
'
№ п/п
'
),
i18n
.
tr
(
'
Фамилия И.О.
'
),
i18n
.
tr
(
'
Должность
'
),
i18n
.
tr
(
'
Дата
'
),
i18n
.
tr
(
'
Результат действия
'
),
i18n
.
tr
(
'
Комментарий
'
)];
const
rows
=
signObjToArr
(
list
,
[
'
index
'
,
'
userName
'
,
'
position
'
,
'
signDate
'
,
'
signResult
'
,
'
comment
'
]);
const
{
table
}
=
Components
.
createTable
({
headers
,
rows
},
[
'
rcc-table
'
,
'
uk-table-small
'
,
'
uk-table-responsive
'
]);
content
.
append
(
table
);
return
content
;
}
const
getDocflowTable
=
htmlStr
=>
{
if
(
!
htmlStr
||
htmlStr
==
''
)
return
null
;
const
docflowTable
=
$
(
htmlStr
).
find
(
'
.docflowTable
'
);
const
docflowTableHeader
=
[...
docflowTable
.
find
(
'
.docflowTableHeader
'
)];
docflowTableHeader
.
forEach
(
x
=>
{
const
currentH
=
$
(
x
).
text
().
replaceAll
(
'
\n
'
,
''
).
trim
();
$
(
x
).
text
(
currentH
);
});
docflowTable
.
addClass
(
'
uk-table uk-table-small uk-table-responsive rcc-table
'
);
return
docflowTable
;
}
const
parseHistory
=
data
=>
{
const
result
=
[];
const
f
=
d
=>
{
d
.
forEach
(
x
=>
{
const
t
=
[];
const
{
showInHistory
,
elementType
,
name
,
started
,
finished
,
comment
,
userName
,
authorName
,
finishedUser
,
subProcesses
}
=
x
;
if
(
showInHistory
)
{
if
(
elementType
>
0
)
{
t
.
push
(
`<span style="padding-left:
${
elementType
*
5
}
px;">
${
name
}
</span>`
);
}
else
{
t
.
push
(
name
);
}
t
.
push
(
userName
||
''
);
t
.
push
(
authorName
||
''
);
t
.
push
(
started
?
UTILS
.
customFormatDate
(
UTILS
.
formatDate
(
new
Date
(
started
),
true
))
:
''
);
t
.
push
(
finished
?
UTILS
.
customFormatDate
(
UTILS
.
formatDate
(
new
Date
(
finished
),
true
))
:
''
);
t
.
push
(
finishedUser
||
''
);
t
.
push
(
comment
||
''
);
result
.
push
(
t
);
}
if
(
subProcesses
&&
subProcesses
.
length
)
f
(
subProcesses
);
});
}
f
(
data
);
return
result
;
}
const
parseChanges
=
data
=>
{
const
result
=
[];
const
getDescription
=
item
=>
{
const
{
description
,
actionID
,
actionName
,
userName
,
fileName
,
folderName
}
=
item
;
const
tmp
=
{
2
:
i18n
.
tr
(
'
{0} добавил в папку "{1}" файл "{2}"
'
),
4
:
i18n
.
tr
(
'
{0} удалил из папки "{1}" файл "{2}"
'
),
16
:
i18n
.
tr
(
'
{0} изменил в папке "{1}" файл "{2}"
'
)
};
if
(
actionID
)
{
if
(
tmp
.
hasOwnProperty
(
actionID
))
{
return
tmp
[
actionID
].
replace
(
'
{0}
'
,
userName
).
replace
(
'
{1}
'
,
folderName
).
replace
(
'
{2}
'
,
fileName
);
}
else
{
return
''
;
}
}
else
{
return
description
.
replaceAll
(
'
\n
'
,
'
<br>
'
);
}
}
data
.
forEach
((
item
,
i
)
=>
{
const
{
host
,
userName
,
date
,
comment
}
=
item
;
const
t
=
[];
t
.
push
(
`
${
i
+
1
}
.`
);
t
.
push
(
userName
||
''
);
t
.
push
(
date
?
UTILS
.
customFormatDate
(
UTILS
.
formatDate
(
new
Date
(
date
),
true
))
:
''
);
t
.
push
(
host
||
''
);
t
.
push
(
getDescription
(
item
));
t
.
push
(
i18n
.
tr
(
comment
)
||
''
);
result
.
push
(
t
);
});
return
result
;
}
const
parseChildDocuments
=
async
(
childDocuments
,
parentDocID
)
=>
{
const
result
=
[];
if
(
childDocuments
&&
childDocuments
.
length
)
{
for
(
let
i
=
0
;
i
<
childDocuments
.
length
;
i
++
)
{
const
{
author
,
number
,
name
,
documentID
,
regDate
}
=
childDocuments
[
i
];
const
{
docTypeName
}
=
await
appAPI
.
getDocumentRCC
(
documentID
);
const
deleteButton
=
$
(
`<a href="javascript:void(0);" uk-icon="trash"></a>`
);
deleteButton
.
on
(
'
click
'
,
async
e
=>
{
const
msgConfirm
=
i18n
.
tr
(
"
Вы действительно хотите удалить связь с дочерним документом?
"
);
UIkit
.
modal
.
confirm
(
msgConfirm
,
{
labels
:
{
ok
:
i18n
.
tr
(
'
Да
'
),
cancel
:
i18n
.
tr
(
'
Отмена
'
)}})
.
then
(
async
()
=>
{
const
deleteResult
=
await
appAPI
.
deleteChildDocument
(
parentDocID
,
documentID
);
if
(
deleteResult
&&
deleteResult
.
errorCode
==
0
)
{
$
(
deleteButton
).
parent
().
parent
().
remove
();
showMessage
(
i18n
.
tr
(
deleteResult
.
errorMessage
),
'
success
'
);
}
else
{
showMessage
(
i18n
.
tr
(
'
Произошла ошибка при удалении дочернего документа
'
),
'
error
'
);
}
},
()
=>
{
return
;
});
});
const
t
=
[
author
,
number
,
name
,
docTypeName
||
""
,
AS
.
FORMS
.
DateUtils
.
formatDate
(
new
Date
(
regDate
),
'
${dd}.${mm}.${yyyy}
'
),
deleteButton
,
{
documentID
}
];
result
.
push
(
t
);
}
}
return
result
;
}
const
getDocHistoryTable
=
data
=>
{
if
(
!
data
||
!
data
.
length
)
return
null
;
const
content
=
$
(
'
<div>
'
);
const
headers
=
[
i18n
.
tr
(
'
Название
'
),
i18n
.
tr
(
'
Ответственный
'
),
i18n
.
tr
(
'
Автор
'
),
i18n
.
tr
(
'
Дата начала
'
),
i18n
.
tr
(
'
Дата завершения
'
),
i18n
.
tr
(
'
Завершил
'
),
i18n
.
tr
(
'
Комментарий
'
)];
const
rows
=
parseHistory
(
data
);
const
{
table
}
=
Components
.
createTable
({
headers
,
rows
},
[
'
rcc-table
'
,
'
uk-table-small
'
,
'
uk-table-responsive
'
]);
content
.
append
(
table
);
return
content
;
}
const
getDocChangesTable
=
data
=>
{
if
(
!
data
||
!
data
.
length
)
return
null
;
const
content
=
$
(
'
<div>
'
);
const
headers
=
[
i18n
.
tr
(
'
№
'
),
i18n
.
tr
(
'
Пользователь
'
),
i18n
.
tr
(
'
Дата
'
),
i18n
.
tr
(
'
IP-адрес
'
),
i18n
.
tr
(
'
Описание
'
),
i18n
.
tr
(
'
Комментарий
'
)];
const
rows
=
parseChanges
(
data
);
const
{
table
}
=
Components
.
createTable
({
headers
,
rows
},
[
'
rcc-table
'
,
'
uk-table-small
'
,
'
uk-table-responsive
'
]);
content
.
append
(
table
);
return
content
;
}
const
createChildDocumentsTable
=
(
data
,
classes
=
[])
=>
{
const
{
headers
,
rows
}
=
data
;
const
container
=
$
(
'
<div>
'
);
const
table
=
$
(
'
<table>
'
,
{
class
:
"
uk-table
"
});
const
thead
=
$
(
'
<thead>
'
);
const
tbody
=
$
(
'
<tbody>
'
);
const
theadTr
=
$
(
'
<tr>
'
);
classes
.
forEach
(
addClass
=>
table
.
addClass
(
addClass
));
headers
.
forEach
(
header
=>
theadTr
.
append
(
`<th>
${
header
}
</th>`
));
rows
.
forEach
(
row
=>
{
const
tr
=
$
(
'
<tr>
'
);
tbody
.
append
(
tr
);
row
.
forEach
(
text
=>
{
if
(
typeof
text
==
'
object
'
&&
text
.
hasOwnProperty
(
'
documentID
'
))
{
tr
.
on
(
'
dblclick
'
,
e
=>
{
if
(
e
.
target
.
nodeName
!==
'
TD
'
)
return
;
const
eventParam
=
{
type
:
'
document
'
,
documentID
:
text
.
documentID
};
$
(
'
#root-panel
'
).
trigger
({
type
:
'
custom_open_document
'
,
eventParam
});
});
}
else
{
const
td
=
$
(
'
<td>
'
);
td
.
html
(
text
);
tr
.
append
(
td
);
}
});
});
thead
.
append
(
theadTr
);
table
.
append
(
thead
).
append
(
tbody
);
container
.
append
(
table
);
return
{
container
,
table
};
}
const
getChildDocumentsContent
=
async
(
childDocuments
,
parentDocID
)
=>
{
const
content
=
$
(
'
<div>
'
);
const
headers
=
[
i18n
.
tr
(
'
Автор
'
),
i18n
.
tr
(
'
Номер
'
),
i18n
.
tr
(
'
Кр. содерж.
'
),
i18n
.
tr
(
'
Тип документа
'
),
i18n
.
tr
(
'
Дата регистрации
'
),
''
];
const
rows
=
await
parseChildDocuments
(
childDocuments
,
parentDocID
);
const
{
table
}
=
createChildDocumentsTable
({
headers
,
rows
},
[
'
rcc-table
'
,
'
uk-table-small
'
,
'
uk-table-responsive
'
]);
content
.
append
(
table
);
return
content
;
}
this
.
_RCC
=
class
{
constructor
(
docInfo
,
parentContainer
,
notEditable
=
false
){
this
.
docInfo
=
docInfo
;
this
.
parentContainer
=
parentContainer
;
this
.
notEditable
=
notEditable
;
this
.
documentID
=
null
;
this
.
doctypes
=
null
;
this
.
docRCC
=
null
;
this
.
signList
=
{};
this
.
documentHistory
=
null
;
this
.
docChanges
=
null
;
this
.
childDocuments
=
null
;
this
.
init
();
}
initSaveRCC
(
inputs
)
{
const
getDateTime
=
dt
=>
$
(
dt
[
0
]).
val
()
!=
''
?
`
${
$
(
dt
[
0
]).
val
()}
`
.
trim
()
:
''
;
const
{
docNameInput
,
docNumberInput
,
docRegDateInput
,
docTypeSelect
,
durationInput
,
correspondentOrgInput
,
correspondentInput
,
outDocNumberInput
,
outDocRegDateInput
}
=
inputs
;
this
.
buttonSaveRCC
.
on
(
'
click
'
,
e
=>
{
Cons
.
showLoader
();
const
rccData
=
{};
rccData
.
documentID
=
this
.
documentID
;
rccData
.
subject
=
docNameInput
.
val
();
rccData
.
number
=
docNumberInput
.
val
();
rccData
.
reg_date
=
getDateTime
(
docRegDateInput
);
rccData
.
doc_type
=
docTypeSelect
.
val
();
rccData
.
duration
=
durationInput
.
val
();
rccData
.
correspondent_org
=
correspondentOrgInput
.
val
();
rccData
.
correspondent
=
correspondentInput
.
val
();
rccData
.
base_number
=
outDocNumberInput
.
val
();
rccData
.
base_date
=
getDateTime
(
outDocRegDateInput
);
rccData
.
base
=
this
.
docRCC
.
bases
;
if
(
!
rccData
.
doc_type
)
{
showMessage
(
i18n
.
tr
(
'
Выберите тип документа. Если список пуст, то обратитесь к разработчику Synergy.
'
),
'
error
'
);
Cons
.
hideLoader
();
return
;
}
appAPI
.
saveRCC
(
rccData
).
then
(
res
=>
{
Cons
.
hideLoader
();
if
(
res
&&
res
.
errorCode
==
0
)
{
showMessage
(
i18n
.
tr
(
'
Документ сохранен
'
),
'
success
'
);
}
else
{
showMessage
(
i18n
.
tr
(
'
Ошибка сохранения РКК
'
),
'
error
'
);
}
});
});
}
async
render
()
{
const
rccContainer
=
$
(
'
<div>
'
,
{
class
:
'
rcc_container
'
});
const
rccData
=
$
(
'
<div>
'
,
{
class
:
'
rcc_data
'
});
const
panelRccButtons
=
$
(
'
<div>
'
,
{
class
:
'
rcc_buttons
'
});
this
.
buttonSaveRCC
=
$
(
'
<div>
'
,
{
id
:
'
buttonSaveRCC
'
,
title
:
i18n
.
tr
(
"
Сохранить
"
)});
this
.
buttonSaveRCC
.
append
(
'
<span class="material-icons">save</span>
'
);
if
(
!
this
.
notEditable
)
{
panelRccButtons
.
append
(
this
.
buttonSaveRCC
);
rccContainer
.
append
(
panelRccButtons
,
rccData
);
}
else
{
rccContainer
.
append
(
rccData
);
rccData
.
addClass
(
'
no_rcc_buttons
'
);
}
this
.
parentContainer
.
empty
().
append
(
rccContainer
);
const
accordionItems
=
[];
//осноная информация по РКК
const
{
rccInfoContent
,
inputs
}
=
getRccInfoContent
(
this
.
docRCC
,
this
.
docInfo
,
this
.
doctypes
,
this
.
notEditable
);
if
(
rccInfoContent
)
{
accordionItems
.
push
({
title
:
i18n
.
tr
(
"
РКК
"
),
content
:
rccInfoContent
,
open
:
true
});
this
.
initSaveRCC
(
inputs
);
}
//ход выполнения
const
historyTable
=
getDocHistoryTable
(
this
.
documentHistory
);
if
(
historyTable
)
accordionItems
.
push
({
title
:
i18n
.
tr
(
"
Ход выполнения
"
),
content
:
historyTable
});
//Изменения в документе
const
changesTable
=
getDocChangesTable
(
this
.
docChanges
);
if
(
changesTable
)
accordionItems
.
push
({
title
:
i18n
.
tr
(
"
Изменения в документе
"
),
content
:
changesTable
});
// подписи
const
signListContent
=
getSignListContent
(
this
.
signList
.
signs
);
if
(
signListContent
)
accordionItems
.
push
({
title
:
i18n
.
tr
(
"
Лист подписей
"
),
content
:
signListContent
});
// утверждения
const
approvalListContent
=
getOtherListContent
(
this
.
signList
.
approval
);
if
(
approvalListContent
)
accordionItems
.
push
({
title
:
i18n
.
tr
(
"
Лист утверждения
"
),
content
:
approvalListContent
});
// согласования
const
agreementListContent
=
getOtherListContent
(
this
.
signList
.
agreement
);
if
(
agreementListContent
)
accordionItems
.
push
({
title
:
i18n
.
tr
(
"
Лист согласования
"
),
content
:
agreementListContent
});
// ознакомления
const
acquaintanceListContent
=
getOtherListContent
(
this
.
signList
.
acquaintance
);
if
(
acquaintanceListContent
)
accordionItems
.
push
({
title
:
i18n
.
tr
(
"
Лист ознакомления
"
),
content
:
acquaintanceListContent
});
// Дочерние документы
const
childDocumentsContent
=
await
getChildDocumentsContent
(
this
.
childDocuments
,
this
.
documentID
);
if
(
childDocumentsContent
)
accordionItems
.
push
({
title
:
i18n
.
tr
(
"
Дочерние документы
"
),
content
:
childDocumentsContent
});
const
accordion
=
Components
.
createAccordion
(
accordionItems
,
'
rcc-accordion
'
);
rccData
.
append
(
accordion
);
}
async
init
(){
this
.
documentID
=
this
.
docInfo
.
documentID
;
this
.
doctypes
=
await
appAPI
.
getDoctypes
();
this
.
docRCC
=
await
appAPI
.
getDocumentRCC
(
this
.
documentID
);
this
.
documentHistory
=
await
appAPI
.
getDocumentHistory
(
this
.
documentID
);
//ход выполнения
this
.
docChanges
=
await
appAPI
.
getDocChanges
(
this
.
documentID
);
//Изменения в документе
this
.
signList
.
signs
=
await
appAPI
.
getSignListXML
(
this
.
documentID
,
-
1
);
// подписи
this
.
signList
.
approval
=
await
appAPI
.
getSignListXML
(
this
.
documentID
,
1
);
// утверждения
this
.
signList
.
agreement
=
await
appAPI
.
getSignListXML
(
this
.
documentID
,
0
);
// согласования
this
.
signList
.
acquaintance
=
await
appAPI
.
getSignListXML
(
this
.
documentID
,
2
);
// ознакомления
this
.
childDocuments
=
await
appAPI
.
getChildDocuments
(
this
.
documentID
);
// Дочерние документы
this
.
render
();
}
}
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