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
a3005602
Commit
a3005602
authored
Jun 30, 2025
by
Samir Sadyhov
🤔
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
запуск маршрута с предварительными этапами (часть 1)
parent
5ffb7eb4
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
148 additions
and
9 deletions
+148
-9
constructor/scripts/openDocument/openDocument.js
constructor/scripts/openDocument/openDocument.js
+46
-9
constructor/scripts/openDocument/startRegistryRoute.js
constructor/scripts/openDocument/startRegistryRoute.js
+102
-0
No files found.
constructor/scripts/openDocument/openDocument.js
View file @
a3005602
...
...
@@ -36,6 +36,22 @@ const createDialog = (dialogTitle, body) => {
return
dialog
;
}
const
getRegistryRoute
=
async
registryID
=>
{
return
new
Promise
(
resolve
=>
{
rest
.
synergyGet
(
`api/registry/route?registryID=
${
registryID
}
&type=ACTIVATE&locale=
${
AS
.
OPTIONS
.
locale
}
`
,
res
=>
{
if
(
res
.
hasOwnProperty
(
'
errorCode
'
))
{
console
.
log
(
`ERROR [ getRegistryRoute ]:
${
JSON
.
stringify
(
res
)}
`
);
resolve
(
null
);
}
else
{
resolve
(
res
);
}
},
err
=>
{
console
.
log
(
`ERROR [ getRegistryRoute ]:
${
JSON
.
stringify
(
err
)}
`
);
resolve
(
null
);
});
});
}
const
getFileModels
=
player
=>
{
const
result
=
[];
player
.
model
.
models
[
0
].
modelBlocks
[
0
].
forEach
(
block
=>
{
...
...
@@ -377,29 +393,48 @@ const cutText = text => {
return
text
;
}
const
isShowRoute
=
(
registryRoute
)
=>
{
if
(
registryRoute
&&
registryRoute
.
hasOwnProperty
(
'
before
'
))
{
if
(
registryRoute
.
action
.
showOnSave
==
'
true
'
)
return
true
;
if
(
registryRoute
.
after
.
showOnSave
==
'
true
'
)
return
true
;
if
(
registryRoute
.
before
.
showOnSave
==
'
true
'
)
return
true
;
if
(
registryRoute
.
before
.
items
.
length
)
return
true
;
if
(
registryRoute
.
after
.
items
.
length
)
return
true
;
return
false
;
}
return
false
;
}
const
activateDocument
=
async
_doc
=>
{
const
{
formPlayer
}
=
_doc
;
const
{
formPlayer
,
registryRoute
}
=
_doc
;
if
(
!
formPlayer
.
model
.
isValid
())
{
showMessage
(
i18n
.
tr
(
"
Заполните обязательные поля!
"
),
'
warn
'
);
return
;
}
Cons
.
showLoader
();
try
{
Cons
.
showLoader
();
const
asfData
=
formPlayer
.
model
.
getAsfData
();
await
AS
.
FORMS
.
ApiUtils
.
saveAsfData
(
asfData
.
data
,
asfData
.
form
,
asfData
.
uuid
);
await
appAPI
.
activateDoc
(
asfData
.
uuid
);
Cons
.
hideLoader
();
showMessage
(
`<svg width="35" height="35" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><polyline fill="none" stroke="#49B785" stroke-width="1.1" points="4,10 8,15 17,4"></polyline></svg>
${
i18n
.
tr
(
'
Успешно
'
)}
`
,
'
success
'
);
if
(
isShowRoute
(
registryRoute
))
{
_doc
.
closeDocument
=
closeDocument
;
new
StartRegistryRoute
(
_doc
);
}
else
{
await
appAPI
.
activateDoc
(
asfData
.
uuid
);
Cons
.
hideLoader
();
showMessage
(
`<svg width="35" height="35" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><polyline fill="none" stroke="#49B785" stroke-width="1.1" points="4,10 8,15 17,4"></polyline></svg>
${
i18n
.
tr
(
'
Успешно
'
)}
`
,
'
success
'
);
//закрыть окно после активации
closeDocument
(
_doc
);
//закрыть окно после активации
closeDocument
(
_doc
);
}
}
catch
(
err
)
{
Cons
.
hideLoader
();
showMessage
(
i18n
.
tr
(
"
Произошла ошибка при
создании заявки, обратитесь к администратору
"
),
'
error
'
);
showMessage
(
i18n
.
tr
(
"
Произошла ошибка при
запуске маршрута
"
),
'
error
'
);
console
.
log
(
err
.
message
);
}
}
...
...
@@ -1457,7 +1492,7 @@ class ARMDocument {
e
.
preventDefault
();
e
.
target
.
blur
();
Cons
.
showLoader
();
try
{
const
versionAsfData
=
await
appAPI
.
getFile
(
item
.
identifier
,
'
json
'
);
const
newAsfData
=
versionAsfData
.
data
.
filter
(
x
=>
x
.
type
!=
'
label
'
);
...
...
@@ -1997,6 +2032,8 @@ class ARMFooter {
_doc
.
meaning
=
await
appAPI
.
getDocMeaningContent
(
_doc
.
dataUUID
);
if
(
_doc
.
workInfo
)
_doc
.
workInfo
.
dataUUID
=
_doc
.
dataUUID
;
_doc
.
registryRoute
=
await
getRegistryRoute
(
_doc
.
registryInfo
.
registryID
);
_doc
.
formPlayer
=
AS
.
FORMS
.
createPlayer
();
_doc
.
documentName
=
_doc
.
meaning
||
_doc
.
formName
;
...
...
constructor/scripts/openDocument/startRegistryRoute.js
0 → 100644
View file @
a3005602
const
isShowRoute
=
(
registryRoute
)
=>
{
if
(
registryRoute
&&
registryRoute
.
hasOwnProperty
(
'
before
'
))
{
if
(
registryRoute
.
action
.
showOnSave
==
'
true
'
)
return
true
;
if
(
registryRoute
.
after
.
showOnSave
==
'
true
'
)
return
true
;
if
(
registryRoute
.
before
.
showOnSave
==
'
true
'
)
return
true
;
return
false
;
}
return
false
;
}
const
parseRouteData
=
data
=>
{
const
removeUserName
=
items
=>
{
for
(
let
i
=
0
;
i
<
items
.
length
;
i
++
)
{
items
[
i
].
users
.
forEach
(
user
=>
{
delete
user
[
"
userName
"
];
});
}
return
items
;
}
const
result
=
{
before
:
{
routeID
:
data
.
before
.
routeID
,
items
:
removeUserName
(
data
.
before
.
items
)
},
after
:
{
routeID
:
data
.
after
.
routeID
,
items
:
removeUserName
(
data
.
after
.
items
)
}
}
return
JSON
.
stringify
(
result
);
}
this
.
StartRegistryRoute
=
class
{
constructor
(
_doc
)
{
this
.
_doc
=
_doc
;
this
.
init
();
}
async
startRoute
()
{
Cons
.
showLoader
();
try
{
const
param
=
new
URLSearchParams
();
param
.
append
(
"
data
"
,
parseRouteData
(
this
.
registryRoute
));
param
.
append
(
"
dataUUID
"
,
this
.
dataUUID
);
param
.
append
(
"
documentID
"
,
this
.
documentID
);
param
.
append
(
"
registryID
"
,
this
.
registryInfo
.
registryID
);
param
.
append
(
"
subject
"
,
this
.
documentName
);
param
.
append
(
"
type
"
,
"
ACTIVATE
"
);
const
{
login
,
password
}
=
Cons
.
creds
;
const
url
=
`../Synergy/rest/api/registry/route/start?locale=
${
AS
.
OPTIONS
.
locale
}
`
;
const
headers
=
new
Headers
();
headers
.
append
(
"
Authorization
"
,
"
Basic
"
+
btoa
(
unescape
(
encodeURIComponent
(
`
${
login
}
:
${
password
}
`
))));
headers
.
append
(
"
Content-Type
"
,
"
application/x-www-form-urlencoded; charset=UTF-8
"
);
const
response
=
await
fetch
(
url
,
{
method
:
'
POST
'
,
headers
,
body
:
param
});
if
(
!
response
.
ok
)
throw
new
Error
(
await
response
.
text
());
const
result
=
await
response
.
json
();
if
(
result
.
hasOwnProperty
(
'
errorCode
'
)
&&
result
.
errorCode
!=
0
)
throw
new
Error
(
result
.
errorMessage
);
Cons
.
hideLoader
();
this
.
closeDocument
(
this
.
_doc
);
}
catch
(
err
)
{
Cons
.
hideLoader
();
UIkit
.
notification
.
closeAll
();
showMessage
(
i18n
.
tr
(
err
.
message
),
'
error
'
);
console
.
log
(
err
);
}
}
init
(){
try
{
const
{
registryInfo
,
registryRoute
,
documentID
,
dataUUID
,
documentName
,
closeDocument
}
=
this
.
_doc
;
this
.
registryInfo
=
registryInfo
;
this
.
registryRoute
=
registryRoute
;
this
.
documentID
=
documentID
;
this
.
dataUUID
=
dataUUID
;
this
.
documentName
=
documentName
;
this
.
closeDocument
=
closeDocument
;
console
.
log
(
'
startRegistryRoute
'
,
{
_doc
:
this
.
_doc
});
if
(
isShowRoute
(
registryRoute
))
{
console
.
log
(
'
рисуем окно с маршрутами
'
);
}
else
{
this
.
startRoute
();
}
}
catch
(
err
)
{
UIkit
.
notification
.
closeAll
();
showMessage
(
i18n
.
tr
(
err
.
message
),
'
error
'
);
console
.
log
(
err
);
}
}
}
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