{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/icon/search.svg","webpack:///./src/assets/icon/Trash.svg","webpack:///./src/assets/icon/pluse.svg","webpack:///./src/assets/icon/bell.svg","webpack:///./src/components/Menu/Menu.vue?fed6","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/App.vue?6121","webpack:///./src/components/Header/Header.vue?73e3","webpack:///./src/components/Auth/Auth.vue?ebcf","webpack:///src/components/Auth/Auth.vue","webpack:///./src/components/Auth/Auth.vue?93b4","webpack:///./src/components/Auth/Auth.vue","webpack:///src/components/Header/Header.vue","webpack:///./src/components/Header/Header.vue?cde9","webpack:///./src/components/Header/Header.vue","webpack:///./src/components/Menu/Menu.vue?d25f","webpack:///src/components/Menu/Menu.vue","webpack:///./src/components/Menu/Menu.vue?cf78","webpack:///./src/components/Menu/Menu.vue","webpack:///./src/components/Footer/Footer.vue?1445","webpack:///src/components/Footer/Footer.vue","webpack:///./src/components/Footer/Footer.vue?65bc","webpack:///./src/components/Footer/Footer.vue","webpack:///./src/components/Crypto/index.vue?379e","webpack:///src/components/Crypto/index.vue","webpack:///./src/components/Crypto/index.vue?04ef","webpack:///./src/components/Crypto/index.vue","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue?2667","webpack:///./src/views/Home/Home.vue?c1e6","webpack:///src/views/Home/Home.vue","webpack:///./src/views/Home/Home.vue?9223","webpack:///./src/views/Home/Home.vue","webpack:///./src/router/index.js","webpack:///./src/store/login.js","webpack:///./src/components/standart.js","webpack:///./src/store/smp.js","webpack:///./src/store/lookups.js","webpack:///./src/store/documents.js","webpack:///./src/store/users.js","webpack:///./src/store/archive.js","webpack:///./src/store/reports.js","webpack:///./src/store/request.js","webpack:///./src/store/catalog.js","webpack:///./src/store/history.js","webpack:///./src/store/bell.js","webpack:///./src/store/commis.js","webpack:///./src/store/index.js","webpack:///./src/plugins/vuetify.js","webpack:///./src/main.js","webpack:///./src/App.vue?c650","webpack:///./src/assets/icon/analytics.svg","webpack:///./src/components/Footer/Footer.vue?d013","webpack:///./src/components/Crypto/js/Code.js","webpack:///./src/assets/icon/home.svg","webpack:///./src/components/Auth/Auth.vue?3f7b","webpack:///./src/components/Header/Header.vue?abda","webpack:///./src/views/Home/Home.vue?815b","webpack:///./src/assets/icon/info.svg","webpack:///./src/assets/icon/timeline.svg","webpack:///./src/assets/icon/check.svg","webpack:///./src/assets/icon/read.svg","webpack:///./src/components/Crypto/js/cadesplugin_api.js","webpack:///./src/assets/logo.png","webpack:///./src/assets/icon/list.svg","webpack:///./src/assets/icon/appointment.svg","webpack:///./src/assets/icon/box.svg"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","keys","_vm","this","_h","$createElement","_c","_self","class","logined","$store","state","login","token","_e","staticRenderFns","staticClass","attrs","_v","_s","getUser","fullName","getRole","getProfiles","on","$event","bellWindow","directives","rawName","expression","getCountBells","_l","item","index","isRead","typeId","standardName","standardNumber","statusName","userFullName","userRoles","onApproval","standardCode","_f","createdOn","scopedSlots","_u","fn","ref","_g","_b","hideNotification","deleteNotification","getlistBells","staticStyle","openDialog","logout","res","$route","$router","model","callback","$$v","dialogHelp","link","dialog","restoreOpen","domProps","composing","authStatus","Array","isArray","password","_i","$$a","$$el","$$c","checked","$$i","concat","_q","passwordFieldType","switchVisibility","restorPassword","$set","restorTokenButton","mailError","getRestoreMessage","newPassword","restorPasswordButton","getPasswordMessage","noConfirmPassword","tokenError","email","component","VCard","VCardText","VCardTitle","VContainer","VDialog","VRow","components","Auth","computed","methods","roles","profiles","role","some","$http","post","filters","created","bell","countBells","VCol","VExpandTransition","VTooltip","route","to","icon","Date","getFullYear","VApp","VMain","title","filterStatus","status","user","canCreateSmp","generateReportsFiles","header","text","sort","sortValue","column","ask","setSearch","string","input","smp","routLink","clinicalRecommendations","mkbCode","mkbName","ageGroup","profile","_m","links","filter","headers","sortSmp","smpFilter","mounted","VSkeletonLoader","Vue","use","VueRouter","routes","path","Home","redirect","children","router","base","process","namespaced","localStorage","getItem","restoreMessage","passwordMessage","employee","administrator","routs","accessName","Appointment","access","HomeIcon","SearchIcon","ListIcon","TimeLineIcon","Analytics","InfoIcon","BoxIcon","subMenu","page","sideBar","curentSideBar","curentSubMenu","gbs","cekkmp","cekkmp_admin","guest","mainDepartment","getters","isLoggedIn","isEmployee","isAdmin","getRouts","isBlocked","blocked","isGbs","getSubMenu","getSideBar","isCekkmp","isCekkmpAmin","isGuest","mutations","auth_request","auth_success","menuMutations","userData","actualObj","find","f","setItem","department","toLowerCase","signEnabled","signature","canModifySmp","roleAccesMenuInfo","restorMutation","passwordMutation","auth_error","auth_blocked","actions","rootState","commit","axios","api","resp","defaults","common","catch","removeItem","restoreToken","restorePasword","put","response","processTable","curnotes","curtbl","ccc","captionnotes","curnote","filterATCCode","filterCountSKD","filterFreq","filterName","filterPage","filterSDD","filterUnit","columnName","tbl_caption","num","curNum","note","tbl","currow","rownotes","atcName","atcGroupCode","midRate","medicineMidRate","sdd","skd","midCount","midMult","pageId","unit","tbl_row","caption","convert","std","notes","nn","typeCode","section","element","notespassport","passport","passport2","pord","pp","passportData","bloodComponent","diet1","diet2","medicine","products","service","servgrouped","ser","revisionDate","filterSMP","smpState","loading","canBeDeleted","pasport","blood","medications","canBeSentForMeo","stageName","therapy","diet","food","diagnostics","stageOne","stageTwo","statusZero","statusOne","statusTwo","statusTree","statusFour","statusFive","statusSix","statusSeven","stageEight","statusNine","statusTen","statusEleven","statusTwelve","statusThirteen","statusFourteen","statusFifteen","statusSixteen","statusSeventeen","statusCanClone","edit","notesTypeTwo","getSMP","isDelete","searchLoading","getPasport","getTitle","getMedicine","getBlood","getProducts","getMedications","getDiet1","getDiet2","getTherapy","getDiagnostics","getStageName","isEdit","getNotesTypeTwo","getId","getcanBeSentForMeo","filterMutation","a","b","number","stage","moment","format","cr","join","mkBs","mkb","isOpen","recipient","smpSearch","bool","setStandart","newData","label","stdId","gender","medicalCareTypeName","medicalCareConditionName","madicalCareFormName","diseasePhase","disease","complication","midTreatmentDuratation","diagCode","orderNumber","orderDate","clinicalRecommendationName","clinId","clinRecApprovementYear","createdById","stageId","statusId","statusEight","log","indexOf","setEditor","deleteStandart","standartId","delete","generateFile","file","sufix","responseType","Accept","url","URL","createObjectURL","Blob","body","click","standart","upLoadJson","formData","FormData","append","File","StandartId","MakeCopy","standartUpdate","sendToReDev","date","standartConfirm","getUsers","idGVS","fieldName","filterType","filterValueType","values","sortOption","sortType","pageSize","currentPage","useANDoperator","addNote","query","linkName","filterNam","departments","ageGroups","directorFullName","roleGroups","rolesGroupsName","rolesName","curentGroup","services","medicines","notes2","getNames","getCode","getDepartmentsl","getAgeGroups","getMkb","getDirectorFullName","getRolesName","getRolesGroupName","getCurentGroup","getServices","getMedicines","getNotes","getNotes2","mutationLookups","look","_","flattenDeep","setRolesCurent","setServices","uniq","setNotes","setMedicines","pull","codeNameUnit","mutationDirectorFullName","forEach","lookups","documents","listType","getDocuments","getListType","documentsMutation","getDocumentMutation","getTypeList","getDocument","signed","getType","createDocument","Signature","FileTypeId","addSignature","removeDocuments","usersList","newUserId","updateUserId","userFilter","userAccess","getAccess","addUsers","unshift","roleGroup","update","newUser","allUsersMutation","startUpdateUser","setUpdateUser","setCreatedUserr","setAccess","allUsers","updateUser","blockedUser","block","createdUser","createAccess","archive","pageArchive","pages","filterId","itemPerPage","sortColumn","getArchive","getPages","getFilterId","setArchive","sortBy","chainId","Math","round","setSort","reverse","setPageArchive","items","newString","String","search","actionArchive","actionSaveArchive","actionSaveArchiveById","actionSaveAllArchive","reports","filterReports","getReports","setReports","depNumber","dep","standartName","clinrec","rows","voteStatus","setDate","filterCatalog","catalog","catName","requestId","kR","getRequestId","getKRList","mutationRequest","mutationKR","mutationDocument","createRequest","getKR","params","apiKr","getСatalog","setСatalog","standarts","standartsFilter","filterStandarts","getStandarts","setStandarts","ClinicalRecommendationName","Id","MkbCode","MkbName","ModifiedBy","ModifiedOn","StandartCode","StandartName","StandartNumber","StatusName","str","toUpperCase","setStandartsId","filterHistoryExcel","filterStandartsId","listBells","setBells","setCountBells","setNotifications","getBells","users","usersFilter","filterUsers","setUser","signEnabledStr","hasSignatureFile","changeEnabled","Vuex","Store","apiUrl","history","commiss","Vuetify","icons","iconfont","VueLodash","lodash","Axios","require","config","productionTip","store","vuetify","render","h","App","$mount","Colors","ERROR","FAIL","INFO","UPDATE","SUCCESS","WAIT","extImg","extTxt","plgImg","plgTxt","cspImg","cspTxt","objImg","objTxt","setImgSrcAttribute","color","elem","getElementById","colorString","className","setInnerText","noescape","innerHTML","escapeHtml","setHref","platformCheck","navigator","userAgent","check_browser","tem","ua","M","match","test","exec","version","replace","appName","appVersion","browserSpecs","setStateForExtension","img","txt","extUrl","setStateForPlugin","setStateForCSP","setStateForObjects","extensionLoadedCallback","cadesplugin_extension_loaded","finalLoad","cadesplugin_extension_loaded_callback","isPluginEnabled","fileContent","global_selectbox_container","global_selectbox_container_thumbprint","global_isFromCont","global_selectbox_counter","getXmlHttp","xmlhttp","XMLHttpRequest","ActiveXObject","E","CertStatusEmoji","isValid","hasPrivateKey","_emoji","async_code_included","async_Promise","async_resolve","unsafe","include_async_code","cadesPluginUUID","uuid","createUUID","hexDigits","substr","floor","random","getTelemetryData","pluginVersion","cspVersion","osName","plugin","csp","os","Common_VerifyCadesBES","flag","canAsync","cadesplugin","CreateObjectAsync","VerifyCadesBES_Async","VerifyCadesBES_NPAPI","Common_VerifyCadesBES_File","sign","VerifyCadesBES_File2_Async","Common_VerifyCadesBES_Base64","dataInBase64","VerifyCadesBES_B64_Async","Common_SignCadesBES","cert","setDisplayData","SignCadesBES_Async","SignCadesBES_NPAPI","Common_SignCadesBES_File","SignCadesBES_File_Async","SignCadesBES_NPAPI_File","Common_CheckForPlugIn","set_log_level","LOG_LEVEL_ERROR","CheckForPlugIn_NPAPI","CheckForPlugIn_Async","GetCertificate_NPAPI","certListBoxId","selectedCertID","selectedIndex","alert","ClearCertInfo","field_prefix","FillCertInfo_NPAPI","certificate","certBoxId","isFromContainer","BoxId","certObj","CertificateObj","Now","ValidToDate","ValidFromDate","style","display","GetCertName","GetIssuer","GetCertFromDate","GetCertTillDate","HasPrivateKey","GetPrivateKeyProviderName","privateKeyLink","GetPrivateKeyLink","GetPubKeyAlgorithm","certIsValid","IsValid","Result","MakeCadesBesSign_NPAPI","dataToSign","certObject","isBase64","errormes","oSigner","CreateObject","Certificate","oSignedData","CADES_BES","ContentEncoding","Content","Base64","encode","DisplayData","Options","SignCades","getLastError","MakeCadesEnhanced_NPAPI","tspService","sign_type","TSAAddress","MakeXMLSign_NPAPI","signatureType","signMethod","digestMethod","pubKey","PublicKey","algo","Algorithm","algoOid","Value","CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED","CADESCOM_XADES_BES","oSignedXML","SignatureType","SignatureMethod","DigestMethod","sSignedMessage","Sign","GetSignatureTitleElement","elementSignatureTitle","x","getElementsByName","previousSibling","nodeName","StartTime","now","EndTime","SignCadesEnhanced_NPAPI","MakeVersionString","oVer","MajorVersion","MinorVersion","BuildVersion","VersionCompare_NPAPI","StringVersion","CurrentVersion","isActualVersion","arr","split","NewVersion","parseInt","GetCSPVersion_NPAPI","oAbout","ver","CSPVersion","GetCSPName_NPAPI","sCSPName","CSPName","ShowCSPVersion_NPAPI","CurrentPluginVersion","CheckUpdateServer","CurrentCSPVersion","StringPluginVersion","telemetryData","paramsArray","onreadystatechange","readyState","jsonResponse","JSON","parse","responseText","versions","PluginBaseVersion","isPluginWorked","open","send","exception","isPluginLoaded","PluginVersion","Version","mimetype","mimeTypes","enabledPlugin","FillCertList_NPAPI","certFromDate","certTillDate","GetFirstCert_NPAPI","oStore","Open","certCnt","dateObj","Certificates","Count","ex","Close","Item","onCertificateSelected","boxId","lstId","lstId2","MyStoreExists","lst","onchange","lst2","foundIndex","Thumbprint","oOpt","GetCertString","options","add","oOpt2","CADESCOM_CONTAINER_STORE","certThumbprint","isIE","retVal","isEdge","isYandex","ShowEdgeNotSupported","check","digit","checkQuotes","extract","from","what","certName","begin","end","DateTimePutTogether","certDate","getUTCDate","getUTCMonth","getUTCHours","getUTCMinutes","getUTCSeconds","SubjectName","FriendlyName","IssuerName","PrivateKey","ProviderName","UniqueContainerName","_keyStr","chr1","chr2","chr3","enc1","enc2","enc3","enc4","output","_utf8_encode","charCodeAt","isNaN","charAt","decode","fromCharCode","_utf8_decode","utftext","c2","c3","canPromise","start","debug","JSModuleVersion","async_spawn","args","propset_Content","addEventListener","postMessage","chrome_ext_id","opera_ext_id","isExtensionNeeded","CertificateAdjuster","ext_version_loaded_callback","ext_version","extStore","ext_id_loaded_callback","ext_id","OperaStoreExtId","ChromeStoreExtId","versionStruct","get_extension_version","get_extension_id","toString","location","pathname","FillCertList_Async","fileref","Print2Digit","GetCertDate","paramDate","certSubjectName","certIssuerName","GetCertInfoString","certsinfo","certs","selected","subject","Validator","oPrivateKey","sProviderName","emoji","SerialNumber","FillCertInfo_Async","CreateSimpleSign_Async","arg","all_certs","found","SignatureFieldTitle","propset_Certificate","propset_Options","VerifyCadesBES_File_Async","fileToBase64","idx","substring","sign2","blob","reader","FileReader","readAsDataURL","propset_ContentEncoding","CADESCOM_BASE64_TO_BINARY","VerifyCades","CADESCOM_CADES_BES","Signers","oSigners","SigningTime","signingTime","certname","fAlgoName","signer","time","GetSignatureInfo_Async","GetHash_Async","oHashedData","propset_Algorithm","CADESCOM_HASH_ALGORITHM_CP_GOST_3411","propset_DataEncoding","Hash","sHashValue","ConvertDate","getVarDate","run","oCertificate","hashAlg","SetHashValue","propset_CheckCertificate","SignHash","oSignedData2","VerifyHash","run2","SignCadesBES_B64_Async","signedMessage","certinfo","run3","run4","data1","SignCreate","Verify","AddProperties","oSigningTimeAttr","propset_Name","CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME","oTimeNow","propset_Value","oDocumentNameAttr","CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME","cname","AuthenticatedAttributes2","attr","Add","CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN","file2ToBase64","readAsArrayBuffer","SignCadesEnhanced_Async","propset_TSAAddress","Adjust","issuer","till","algorithm","provname","sPrivateKeyLink","warn","Encrypt_Async","certificate1","certificate2","dataToEncr1","dataToEncr2","oSymAlgo","GenerateKey","DiversifyKey","oSesKey1","DiversData","oSesKey1DiversData","IV","oSesKey1IV","Encrypt","EncryptedData1","oSesKey2","oSesKey2DiversData","oSesKey2IV","EncryptedData2","ExportKey","ExportedKey1","ExportedKey2","Decrypt_Async","dataToDecr1","dataToDecr2","field","EncryptedKey","ImportKey","propset_DiversData","propset_IV","Decrypt","RetrieveCertificate_Async","propset_ProviderName","propset_ProviderType","propset_KeySpec","CertificateRequestPkcs10","InitializeFromPrivateKey","DistinguishedName","CommonName","Encode","propset_Subject","KeyUsageExtension","CERT_DATA_ENCIPHERMENT_KEY_USAGE","CERT_KEY_ENCIPHERMENT_KEY_USAGE","CERT_DIGITAL_SIGNATURE_KEY_USAGE","CERT_NON_REPUDIATION_KEY_USAGE","InitializeEncode","X509Extensions","Enroll","InitializeFromRequest","CreateRequest","cert_req","encodeURIComponent","setRequestHeader","cert_data","RegExp","eval","Initialize","ContextUser","InstallResponse","CADESCOM_AllowNone","sPKCS7","XCN_CRYPT_STRING_ANY","reload","InstallCertificate_Async","Export","CADESCOM_ENCODE_BASE64","CADESCOM_UseContainerStore","XCN_CRYPT_STRING_BASE64_ANY","CheckForPlugInUEC_Async","isUECCSPInstalled","oUECard","ProviderVersion","UECCSPVersion","FoundCertInStore_Async","cerToFind","ThumbprintToFind","getUECCertificate_Async","showWaitMessage","oCard","oCertTemp","g_oCert","createSignature_Async","showErrorMessage","verifyCert_Async","removeWaitMessage","pluginObject","plugin_resolved","plugin_reject","plugin_resolve","isOpera","isFireFox","isSafari","cadesplugin_loaded_event_recieved","isFireFoxExtensionLoaded","ru_cryptopro_npcades_10_native_bridge","callbacksCount","callbacks","resultForCallback","callbackId","resultArray","functionName","hasCallback","iframe","arrObjs","stringify","documentElement","onVisibilityChange","hidden","removeEventListener","set_load_timeout","check_plugin_working","set","set_pluginObject","is_capilite_enabled","isNativeMessageSupported","ReleasePluginObjects","set_constantValues","current_log_level","cpcsp_console_log","level","msg","LOG_LEVEL_DEBUG","LOG_LEVEL_INFO","info","resp_prefix","CAPICOM_MEMORY_STORE","CAPICOM_LOCAL_MACHINE_STORE","CAPICOM_CURRENT_USER_STORE","CAPICOM_SMART_CARD_USER_STORE","CADESCOM_MEMORY_STORE","CADESCOM_LOCAL_MACHINE_STORE","CADESCOM_CURRENT_USER_STORE","CADESCOM_SMART_CARD_USER_STORE","CAPICOM_MY_STORE","CAPICOM_STORE_OPEN_READ_WRITE","CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED","CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME","CADESCOM_XML_SIGNATURE_TYPE_ENVELOPING","CADESCOM_XML_SIGNATURE_TYPE_TEMPLATE","CADESCOM_XADES_DEFAULT","CADESCOM_XADES_T","CADESCOM_XADES_X_LONG_TYPE_1","CADESCOM_XMLDSIG_TYPE","XmlDsigGost3410UrlObsolete","XmlDsigGost3411UrlObsolete","XmlDsigGost3410Url","XmlDsigGost3411Url","XmlDsigGost3411Url2012256","XmlDsigGost3410Url2012256","XmlDsigGost3411Url2012512","XmlDsigGost3410Url2012512","CADESCOM_CADES_DEFAULT","CADESCOM_CADES_T","CADESCOM_CADES_X_LONG_TYPE_1","CADESCOM_PKCS7_TYPE","CADESCOM_ENCODE_BINARY","CADESCOM_ENCODE_ANY","CAPICOM_CERTIFICATE_INCLUDE_CHAIN_EXCEPT_ROOT","CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY","CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME","CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME","CAPICOM_CERTIFICATE_FIND_SHA1_HASH","CAPICOM_CERTIFICATE_FIND_ISSUER_NAME","CAPICOM_CERTIFICATE_FIND_ROOT_NAME","CAPICOM_CERTIFICATE_FIND_TEMPLATE_NAME","CAPICOM_CERTIFICATE_FIND_EXTENSION","CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY","CAPICOM_CERTIFICATE_FIND_APPLICATION_POLICY","CAPICOM_CERTIFICATE_FIND_CERTIFICATE_POLICY","CAPICOM_CERTIFICATE_FIND_TIME_VALID","CAPICOM_CERTIFICATE_FIND_TIME_NOT_YET_VALID","CAPICOM_CERTIFICATE_FIND_TIME_EXPIRED","CAPICOM_CERTIFICATE_FIND_KEY_USAGE","CAPICOM_DIGITAL_SIGNATURE_KEY_USAGE","CAPICOM_PROPID_ENHKEY_USAGE","CAPICOM_OID_OTHER","CAPICOM_OID_KEY_USAGE_EXTENSION","CAPICOM_EKU_CLIENT_AUTH","CAPICOM_EKU_SMARTCARD_LOGON","CAPICOM_EKU_OTHER","CAPICOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME","CAPICOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION","CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME","CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION","CADESCOM_AUTHENTICATED_ATTRIBUTE_MACHINE_INFO","CADESCOM_ATTRIBUTE_OTHER","CADESCOM_STRING_TO_UCS2LE","CADESCOM_DISPLAY_DATA_NONE","CADESCOM_DISPLAY_DATA_CONTENT","CADESCOM_DISPLAY_DATA_ATTRIBUTE","CADESCOM_ENCRYPTION_ALGORITHM_RC2","CADESCOM_ENCRYPTION_ALGORITHM_RC4","CADESCOM_ENCRYPTION_ALGORITHM_DES","CADESCOM_ENCRYPTION_ALGORITHM_3DES","CADESCOM_ENCRYPTION_ALGORITHM_AES","CADESCOM_ENCRYPTION_ALGORITHM_GOST_28147_89","CADESCOM_HASH_ALGORITHM_SHA1","CADESCOM_HASH_ALGORITHM_MD2","CADESCOM_HASH_ALGORITHM_MD4","CADESCOM_HASH_ALGORITHM_MD5","CADESCOM_HASH_ALGORITHM_SHA_256","CADESCOM_HASH_ALGORITHM_SHA_384","CADESCOM_HASH_ALGORITHM_SHA_512","CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256","CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512","CADESCOM_HASH_ALGORITHM_CP_GOST_3411_HMAC","CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256_HMAC","CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512_HMAC","CADESCOM_AllowNoOutstandingRequest","CADESCOM_AllowUntrustedCertificate","CADESCOM_AllowUntrustedRoot","CADESCOM_SkipInstallToStore","CADESCOM_InstallCertChainToContainer","ContextNone","ContextMachine","ContextAdministratorForceMachine","ENABLE_CARRIER_TYPE_CSP","ENABLE_CARRIER_TYPE_FKC_NO_SM","ENABLE_CARRIER_TYPE_FKC_SM","ENABLE_ANY_CARRIER_TYPE","DISABLE_EVERY_CARRIER_OPERATION","ENABLE_CARRIER_OPEN_ENUM","ENABLE_CARRIER_CREATE","ENABLE_ANY_OPERATION","CADESCOM_PRODUCT_CSP","CADESCOM_PRODUCT_OCSP","CADESCOM_PRODUCT_TSP","MEDIA_TYPE_REGISTRY","MEDIA_TYPE_HDIMAGE","MEDIA_TYPE_CLOUD","MEDIA_TYPE_SCARD","XCN_CRYPT_STRING_BASE64HEADER","AT_KEYEXCHANGE","AT_SIGNATURE","CARRIER_FLAG_REMOVABLE","CARRIER_FLAG_UNIQUE","CARRIER_FLAG_PROTECTED","CARRIER_FLAG_FUNCTIONAL_CARRIER","CARRIER_FLAG_SECURE_MESSAGING","CARRIER_FLAG_ABLE_SET_KEY","CARRIER_FLAG_ABLE_VISUALISE_SIGNATURE","CARRIER_FLAG_VIRTUAL","generatorFunc","continuer","verb","generator","done","onFulfilled","onRejected","arguments","isIOS","call_ru_cryptopro_npcades_10_native_bridge","objCertEnrollClassFactory","objWebClassFactory","decimalToHexString","GetMessageFromException","cpcsp_chrome_nmcades","array","tmpobj","show_firefox_missing_extension_dialog","cadesplugin_skip_extension_install","ovr","plugin_loaded_error","visibility","firefox_or_safari_nmcades_onload","check_chrome_plugin","plugin_loaded","nmcades_api_onload","load_extension","load_npapi_plugin","elem1","elem2","check_load_timeout","createPromise","check_npapi_plugin","div","isIeLessThan9","obj","EnableInternalCSP","cadesplugin_load_timeout"],"mappings":"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","file":"js/app.259567c3.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-15aa2e03\":\"c2ac6a60\",\"chunk-15edda0e\":\"8e9834b1\",\"chunk-15ef906a\":\"9ed3c330\",\"chunk-2d0a4019\":\"80aec9fd\",\"chunk-2d0a4fae\":\"3ac70bcc\",\"chunk-2d0ceb43\":\"6c441c87\",\"chunk-2d0d30d5\":\"30bc8d8c\",\"chunk-2d0d6b05\":\"462291b9\",\"chunk-2d0daae6\":\"69357896\",\"chunk-2d0dd44d\":\"2b7a29a6\",\"chunk-2d0e1c4e\":\"1694e5b3\",\"chunk-2d21ee8d\":\"591aacde\",\"chunk-2d2250e5\":\"bed6c276\",\"chunk-42d5d7e8\":\"1be1a071\",\"chunk-7bad3ded\":\"04b07fb7\",\"chunk-1bcc53f2\":\"a653f5b0\",\"chunk-2517e10b\":\"cbac24dc\",\"chunk-28aaccb0\":\"04bbba05\",\"chunk-2d1f0830\":\"8239d31b\",\"chunk-466e9eb2\":\"e349540b\",\"chunk-21b330e0\":\"5172c9f0\",\"chunk-64e0e772\":\"3d162f3a\",\"chunk-a3d8b56e\":\"721fb05d\",\"chunk-4a06c448\":\"84c07e2c\",\"chunk-56e1f711\":\"84a6179e\",\"chunk-5a5f6866\":\"ac7fb1b5\",\"chunk-738669fc\":\"200bb849\",\"chunk-3829a77d\":\"e5d181c9\",\"chunk-b7dd2726\":\"689f6d35\",\"chunk-76247fe1\":\"fb3075f0\",\"chunk-7fbbd1c7\":\"03c50ba1\",\"chunk-854f667a\":\"d80e7af5\",\"chunk-074cdb86\":\"b959e90d\",\"chunk-9753f900\":\"d220e010\",\"chunk-e1af0d5a\":\"5f7aabc3\",\"chunk-c403d17e\":\"ee113f61\",\"chunk-ffcd598a\":\"37310665\",\"chunk-feeeb684\":\"4287cc26\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-15aa2e03\":1,\"chunk-15edda0e\":1,\"chunk-15ef906a\":1,\"chunk-42d5d7e8\":1,\"chunk-7bad3ded\":1,\"chunk-1bcc53f2\":1,\"chunk-2517e10b\":1,\"chunk-28aaccb0\":1,\"chunk-2d1f0830\":1,\"chunk-466e9eb2\":1,\"chunk-21b330e0\":1,\"chunk-64e0e772\":1,\"chunk-a3d8b56e\":1,\"chunk-4a06c448\":1,\"chunk-56e1f711\":1,\"chunk-5a5f6866\":1,\"chunk-738669fc\":1,\"chunk-3829a77d\":1,\"chunk-b7dd2726\":1,\"chunk-76247fe1\":1,\"chunk-7fbbd1c7\":1,\"chunk-854f667a\":1,\"chunk-074cdb86\":1,\"chunk-9753f900\":1,\"chunk-e1af0d5a\":1,\"chunk-c403d17e\":1,\"chunk-ffcd598a\":1,\"chunk-feeeb684\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-15aa2e03\":\"259099d0\",\"chunk-15edda0e\":\"ba5a5250\",\"chunk-15ef906a\":\"ba5a5250\",\"chunk-2d0a4019\":\"31d6cfe0\",\"chunk-2d0a4fae\":\"31d6cfe0\",\"chunk-2d0ceb43\":\"31d6cfe0\",\"chunk-2d0d30d5\":\"31d6cfe0\",\"chunk-2d0d6b05\":\"31d6cfe0\",\"chunk-2d0daae6\":\"31d6cfe0\",\"chunk-2d0dd44d\":\"31d6cfe0\",\"chunk-2d0e1c4e\":\"31d6cfe0\",\"chunk-2d21ee8d\":\"31d6cfe0\",\"chunk-2d2250e5\":\"31d6cfe0\",\"chunk-42d5d7e8\":\"2885e0bf\",\"chunk-7bad3ded\":\"7419b2fe\",\"chunk-1bcc53f2\":\"331e6aed\",\"chunk-2517e10b\":\"de624cb4\",\"chunk-28aaccb0\":\"ce4a7e6f\",\"chunk-2d1f0830\":\"52f3dc98\",\"chunk-466e9eb2\":\"089e9d87\",\"chunk-21b330e0\":\"7e372686\",\"chunk-64e0e772\":\"b74473f0\",\"chunk-a3d8b56e\":\"672953b4\",\"chunk-4a06c448\":\"32e06a9a\",\"chunk-56e1f711\":\"32e06a9a\",\"chunk-5a5f6866\":\"59477c90\",\"chunk-738669fc\":\"7887a380\",\"chunk-3829a77d\":\"433690dc\",\"chunk-b7dd2726\":\"5b695dc7\",\"chunk-76247fe1\":\"1a3a7ae3\",\"chunk-7fbbd1c7\":\"34117ddf\",\"chunk-854f667a\":\"049e4953\",\"chunk-074cdb86\":\"2885e0bf\",\"chunk-9753f900\":\"2885e0bf\",\"chunk-e1af0d5a\":\"2885e0bf\",\"chunk-c403d17e\":\"32e06a9a\",\"chunk-ffcd598a\":\"00179d91\",\"chunk-feeeb684\":\"38143a98\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = __webpack_public_path__ + \"img/search.28af04cd.svg\";","module.exports = __webpack_public_path__ + \"img/Trash.fa52d9c8.svg\";","module.exports = __webpack_public_path__ + \"img/pluse.3551e9b9.svg\";","module.exports = __webpack_public_path__ + \"img/bell.32541349.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=style&index=0&id=b67f9086&lang=scss&scoped=true&\"","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[_c('Header'),_c('v-main',{class:{logined: _vm.$store.state.login.token}},[_c('v-container',[(_vm.$store.state.login.token)?_c('Menu'):_vm._e(),_c('router-view')],1)],1),(_vm.$store.state.login.token)?_c('Footer'):_vm._e(),_c('crypto')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{class:{ login: _vm.$store.state.login.token, 'header': true }},[(!_vm.$store.state.login.token)?_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('router-link',{attrs:{\"to\":\"/\"}},[_c('img',{attrs:{\"src\":require('../../assets/logo.png'),\"height\":\"77\"}})])],1),_c('v-col',{attrs:{\"cols\":\"8\",\"align\":\"center\"}},[_c('h2',[_vm._v(\"Система разработки и ведения стандартов медицинской помощи\")])]),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('Auth')],1)],1)],1):_c('v-container',[_c('v-row',[_c('v-col',{staticClass:\"flex-start\",attrs:{\"cols\":\"6\"}},[_c('router-link',{attrs:{\"to\":\"/\"}},[_c('img',{staticClass:\"logo\",attrs:{\"src\":require('../../assets/logo.png'),\"height\":\"55\"}})]),_c('p',{staticClass:\"header-title\"},[_vm._v(\"Система разработки и ведения\"),_c('br'),_vm._v(\" стандартов медицинской помощи\")])],1),_c('v-col',{staticClass:\"flex-end\",attrs:{\"cols\":\"6\"}},[_c('p',{staticClass:\"name text-right\"},[_vm._v(\" Добро пожаловать,\"),_c('br'),_vm._v(\" \"+_vm._s(_vm.getUser.fullName || _vm.getUser.login)+\" \"),(_vm.getRole() === 'ГВС')?[_c('br'),_vm._v(\"(\"+_vm._s(_vm.getProfiles())+\") \")]:_vm._e()],2),_c('div',{staticClass:\"bell-block\"},[_c('img',{staticClass:\"icon-bell\",attrs:{\"src\":require('../../assets/icon/bell.svg')},on:{\"click\":function($event){_vm.bellWindow = !_vm.bellWindow}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.getCountBells),expression:\"getCountBells\"}],staticClass:\"unread-bell\",on:{\"click\":function($event){_vm.bellWindow = !_vm.bellWindow}}},[_c('span',[_vm._v(_vm._s(_vm.getCountBells))])]),_c('v-expand-transition',[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.bellWindow),expression:\"bellWindow\"}],staticClass:\"bell-window\"},[_vm._l((_vm.getlistBells),function(item,index){return _c('div',{key:index,staticClass:\"container\",class:{'container-active' : !item.isRead}},[(item.typeId === 1)?[_c('h4',[_vm._v(_vm._s(item.data.standardName)+\" №\"+_vm._s(item.data.standardNumber))]),_c('h4',[_vm._v(_vm._s(item.data.statusName))]),_c('span',[_vm._v(_vm._s(item.data.userFullName))]),_c('br'),_c('span',[_vm._v(\"Роль: \"+_vm._s(item.data.userRoles))]),_c('br')]:(item.typeId === 2)?[_c('h4',[_vm._v(\"Истекает срок \"+_vm._s(item.data.onApproval ? 'оценки' : 'рассмотрения'))]),_c('span',[_vm._v(_vm._s(item.data.standardName)+\" №\"+_vm._s(item.data.standardNumber))]),_c('br'),_c('span',[_vm._v(_vm._s(item.data.standardCode))]),_c('br'),_c('span',[_vm._v(_vm._s(item.data.statusName))]),_c('br'),_c('span',[(item.data.onApproval)?_c('a',{attrs:{\"href\":\"https://votingstandart.minzdrav.gov.ru/\",\"target\":\"_blank\"}},[_vm._v(\"https://votingstandart.minzdrav.gov.ru/\")]):_vm._e()])]:_vm._e(),_c('div',{staticClass:\"date-block\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"formatDate\")(item.createdOn))+\" в \"+_vm._s(_vm._f(\"formatTime\")(item.createdOn)))]),_c('div',{staticClass:\"icons-block\"},[(!item.isRead)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [(!item.isRead)?_c('img',_vm._g(_vm._b({staticClass:\"icon-bell-delete\",attrs:{\"src\":require('../../assets/icon/read.svg')},on:{\"click\":function($event){return _vm.hideNotification(item)}}},'img',attrs,false),!item.isRead ? on : true)):_vm._e()]}}],null,true)},[_c('span',[_vm._v(\"Отметить как прочитанное\")])]):_vm._e(),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('img',_vm._g(_vm._b({staticClass:\"icon-bell-delete\",attrs:{\"src\":require('../../assets/icon/Trash.svg')},on:{\"click\":function($event){return _vm.deleteNotification(item.id)}}},'img',attrs,false),on))]}}],null,true)},[_c('span',[_vm._v(\"Удалить\")])])],1)]),_c('span')],2)}),(_vm.getlistBells.length === 0 )?_c('div',{staticClass:\"block-title mt-3\"},[_c('h4',[_vm._v(\"Уведомления отсутствуют\")])]):_vm._e(),_c('div',{staticClass:\"block-title\"},[(_vm.getlistBells.length > 0 )?_c('span',{staticStyle:{\"color\":\"#003C69\"},on:{\"click\":function($event){return _vm.hideNotification({}, 'all')}}},[_vm._v(\"Отметить все как прочитанное\")]):_vm._e()])],2)])],1),_c('button',{staticClass:\"btn btn-help\",on:{\"click\":function($event){return _vm.openDialog()}}},[_vm._v(\"Помощь\")]),_c('button',{staticClass:\"btn btn-enter\",on:{\"click\":function($event){_vm.logout().then(function (res) {\n _vm.bellWindow = false\n if (_vm.$route.name != 'home') { _vm.$router.push({name: 'home'}) }\n })}}},[_vm._v(\" Выход \")])])],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"400\"},model:{value:(_vm.dialogHelp),callback:function ($$v) {_vm.dialogHelp=$$v},expression:\"dialogHelp\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"text-h5\"},[_vm._v(\" Помощь \")]),_c('v-card-text',[_c('a',{attrs:{\"href\":_vm.link,\"target\":\"_blank\"}},[_vm._v(\"Руководство пользователя\")]),_c('br'),_vm._v(\" Служба технической поддержки: \"),_c('br'),_vm._v(\" 8 (495) 627-29-61 | +7 (901) 756-94-65 \"),_c('br'),_c('a',{attrs:{\"href\":\"mailto:support-std@minzdrav.gov.ru\"}},[_vm._v(\"support-std@minzdrav.gov.ru\")]),_c('br'),_vm._v(\" Часы работы: 09:00-18:00 (МСК) \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',{attrs:{\"justify\":\"end\"}},[_c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"600px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('button',{staticClass:\"btn btn-help\",on:{\"click\":function($event){_vm.dialogHelp = true}}},[_vm._v(\"Помощь\")]),_c('button',_vm._g(_vm._b({staticClass:\"btn btn-enter\"},'button',attrs,false),on),[_vm._v(\" Вход \")])]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',{staticClass:\"openform\"},[_c('div',{staticClass:\"close\",on:{\"click\":function($event){_vm.dialog = false}}}),(_vm.restoreOpen === false)?_c('div',{staticClass:\"avtorization\"},[_c('h2',{staticClass:\"title\"},[_vm._v(\"Авторизация\")]),_c('label',{staticClass:\"label\",attrs:{\"for\":\"name\"}},[_vm._v(\" Логин \")]),_c('div',{staticClass:\"input-box\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.name),expression:\"name\"}],staticClass:\"input\",attrs:{\"id\":\"name\",\"required\":\"\"},domProps:{\"value\":(_vm.name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.name=$event.target.value}}})]),_c('label',{staticClass:\"label\",attrs:{\"for\":\"password\"}},[_vm._v(\" Пароль \")]),(_vm.authStatus == 'error')?_c('p',{class:{message: true, error: _vm.authStatus == 'error' }},[_vm._v(\"Неправильный логин или пароль\")]):_vm._e(),(_vm.authStatus == 'blocked')?_c('p',{class:{message: true, error: _vm.authStatus == 'blocked' }},[_vm._v(\"Вы заблокированны\")]):_vm._e(),_c('div',{staticClass:\"input-box\"},[((_vm.passwordFieldType)==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],staticClass:\"input\",attrs:{\"id\":\"password\",\"required\":\"\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.password)?_vm._i(_vm.password,null)>-1:(_vm.password)},on:{\"change\":function($event){var $$a=_vm.password,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.password=$$a.concat([$$v]))}else{$$i>-1&&(_vm.password=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.password=$$c}}}}):((_vm.passwordFieldType)==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],staticClass:\"input\",attrs:{\"id\":\"password\",\"required\":\"\",\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.password,null)},on:{\"change\":function($event){_vm.password=null}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],staticClass:\"input\",attrs:{\"id\":\"password\",\"required\":\"\",\"type\":_vm.passwordFieldType},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}}),_c('button',{staticClass:\"input-btn\",attrs:{\"type\":\"password\"},on:{\"click\":_vm.switchVisibility}})]),_c('div',{staticClass:\"button-box\"},[_c('span',{staticClass:\"restore-link\",on:{\"click\":function($event){_vm.restoreOpen = true}}},[_vm._v(\"Забыли пароль?\")]),_c('button',{staticClass:\"btn-login\",on:{\"click\":function($event){return _vm.logined()}}},[_vm._v(\" Вход \")])])]):_vm._e(),(_vm.restoreOpen === true)?_c('div',{staticClass:\"restore-token\"},[_c('h2',{staticClass:\"title\"},[_vm._v(\"Восстановление пароля\")]),_c('label',{staticClass:\"label\",attrs:{\"for\":\"email\"}},[_vm._v(\" Укажите E-mail \")]),_c('div',{staticClass:\"input-box\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.restorPassword.email),expression:\"restorPassword.email\"}],staticClass:\"input\",attrs:{\"id\":\"email\",\"type\":\"email\",\"required\":\"\"},domProps:{\"value\":(_vm.restorPassword.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.restorPassword, \"email\", $event.target.value)}}})]),_c('div',{staticClass:\"button-box\"},[_c('span',{staticClass:\"restore-link\",on:{\"click\":function($event){_vm.restoreOpen = false}}},[_vm._v(\"назад\")]),_c('button',{staticClass:\"btn-login\",on:{\"click\":function($event){return _vm.restorTokenButton()}}},[_vm._v(\" Отправить код \")])]),(_vm.getRestoreMessage)?_c('p',{class:{message: true, error: _vm.mailError }},[_vm._v(_vm._s(_vm.getRestoreMessage))]):_vm._e()]):_vm._e(),(_vm.restoreOpen == null)?_c('div',{staticClass:\"restore-token\"},[_c('h2',{staticClass:\"title\"},[_vm._v(\"Восстановление пароля\")]),_c('label',{staticClass:\"label\",attrs:{\"for\":\"token\"}},[_vm._v(\" Код подтверждения \")]),_c('div',{staticClass:\"input-box\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.restorPassword.token),expression:\"restorPassword.token\"}],staticClass:\"input\",attrs:{\"id\":\"token\",\"type\":\"text\",\"required\":\"\"},domProps:{\"value\":(_vm.restorPassword.token)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.restorPassword, \"token\", $event.target.value)}}})]),_c('label',{staticClass:\"label\",attrs:{\"for\":\"new-password\"}},[_vm._v(\" Укажите новый пароль \")]),_c('div',{staticClass:\"input-box\"},[((_vm.passwordFieldType)==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newPassword),expression:\"newPassword\"}],staticClass:\"input\",attrs:{\"id\":\"new-password\",\"required\":\"\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.newPassword)?_vm._i(_vm.newPassword,null)>-1:(_vm.newPassword)},on:{\"change\":function($event){var $$a=_vm.newPassword,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.newPassword=$$a.concat([$$v]))}else{$$i>-1&&(_vm.newPassword=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.newPassword=$$c}}}}):((_vm.passwordFieldType)==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newPassword),expression:\"newPassword\"}],staticClass:\"input\",attrs:{\"id\":\"new-password\",\"required\":\"\",\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.newPassword,null)},on:{\"change\":function($event){_vm.newPassword=null}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newPassword),expression:\"newPassword\"}],staticClass:\"input\",attrs:{\"id\":\"new-password\",\"required\":\"\",\"type\":_vm.passwordFieldType},domProps:{\"value\":(_vm.newPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newPassword=$event.target.value}}})]),_c('label',{staticClass:\"label\",attrs:{\"for\":\"confirm-password\"}},[_vm._v(\" Подтвердите пароль \")]),_c('div',{staticClass:\"input-box\"},[((_vm.passwordFieldType)==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.restorPassword.password),expression:\"restorPassword.password\"}],staticClass:\"input\",attrs:{\"id\":\"confirm-password\",\"required\":\"\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.restorPassword.password)?_vm._i(_vm.restorPassword.password,null)>-1:(_vm.restorPassword.password)},on:{\"change\":function($event){var $$a=_vm.restorPassword.password,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.restorPassword, \"password\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.restorPassword, \"password\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.restorPassword, \"password\", $$c)}}}}):((_vm.passwordFieldType)==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.restorPassword.password),expression:\"restorPassword.password\"}],staticClass:\"input\",attrs:{\"id\":\"confirm-password\",\"required\":\"\",\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.restorPassword.password,null)},on:{\"change\":function($event){return _vm.$set(_vm.restorPassword, \"password\", null)}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.restorPassword.password),expression:\"restorPassword.password\"}],staticClass:\"input\",attrs:{\"id\":\"confirm-password\",\"required\":\"\",\"type\":_vm.passwordFieldType},domProps:{\"value\":(_vm.restorPassword.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.restorPassword, \"password\", $event.target.value)}}})]),_c('div',{staticClass:\"button-box\"},[_c('span',{staticClass:\"restore-link\",on:{\"click\":function($event){_vm.restoreOpen = false}}},[_vm._v(\"назад\")]),_c('button',{staticClass:\"btn-login\",on:{\"click\":function($event){return _vm.restorPasswordButton()}}},[_vm._v(\" Отправить \")])]),(_vm.getPasswordMessage || _vm.noConfirmPassword)?_c('p',{class:{message: true, error: _vm.tokenError }},[_vm._v(_vm._s(_vm.getPasswordMessage || _vm.noConfirmPassword))]):_vm._e()]):_vm._e()])],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"400\"},model:{value:(_vm.dialogHelp),callback:function ($$v) {_vm.dialogHelp=$$v},expression:\"dialogHelp\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"text-h5\"},[_vm._v(\" Помощь \")]),_c('v-card-text',[_vm._v(\" Служба технической поддержки: \"),_c('br'),_vm._v(\" 8 (495) 627-29-61 | +7 (901) 756-94-65 \"),_c('br'),_c('a',{attrs:{\"href\":\"mailto:support-std@minzdrav.gov.ru\"}},[_vm._v(\"support-std@minzdrav.gov.ru\")]),_c('br'),_vm._v(\" Часы работы: 09:00-18:00 (МСК) \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Auth.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Auth.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Auth.vue?vue&type=template&id=253e8266&scoped=true&\"\nimport script from \"./Auth.vue?vue&type=script&lang=js&\"\nexport * from \"./Auth.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Auth.vue?vue&type=style&index=0&id=253e8266&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"253e8266\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VContainer,VDialog,VRow})\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=2a7eade5&scoped=true&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Header.vue?vue&type=style&index=0&id=2a7eade5&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2a7eade5\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VExpandTransition } from 'vuetify/lib/components/transitions';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VContainer,VDialog,VExpandTransition,VRow,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"menu\"},_vm._l((_vm.getRouts),function(route){return (route.access)?_c('router-link',{key:route.name,staticClass:\"menu-link\",attrs:{\"active-class\":\"active\",\"to\":route.to}},[_c('img',{attrs:{\"src\":route.icon}}),_vm._v(\" \"+_vm._s(route.name)+\" \")]):_vm._e()}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Menu.vue?vue&type=template&id=b67f9086&scoped=true&\"\nimport script from \"./Menu.vue?vue&type=script&lang=js&\"\nexport * from \"./Menu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Menu.vue?vue&type=style&index=0&id=b67f9086&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b67f9086\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',{staticClass:\"footer\"},[_c('p',[_vm._v(\"(с) \"+_vm._s(new Date().getFullYear())+\" Все права защищены (v1.001)\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=752043ff&scoped=true&\"\nimport script from \"./Footer.vue?vue&type=script&lang=js&\"\nexport * from \"./Footer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=752043ff&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"752043ff\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=11294af2&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=9af6597c&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VMain } from 'vuetify/lib/components/VMain';\ninstallComponents(component, {VApp,VContainer,VMain})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.$store.state.login.token)?_c('div',{staticClass:\"home text-center\"},[_vm._m(0),_vm._m(1)]):_c('div',{staticClass:\"page\"},[_c('h2',{staticClass:\"main-title\"},[_vm._v(_vm._s(_vm.title))]),_c('nav',{staticClass:\"sub-menu\"},_vm._l((_vm.links),function(link){return _c('span',{key:link.name,staticClass:\"link\",on:{\"click\":function($event){return _vm.filterStatus(link.status)}}},[_vm._v(\" \"+_vm._s(link.name)+\" \")])}),0),_c('div',{staticClass:\"button-box\"},[(_vm.$store.state.login.user && _vm.$store.state.login.canCreateSmp)?_c('router-link',{staticClass:\"add\",attrs:{\"to\":{name: 'create'}}},[_c('img',{attrs:{\"src\":require(\"@/assets/icon/pluse.svg\")}}),_vm._v(\" Создать запрос \")]):_vm._e(),_c('button',{staticClass:\"add\",on:{\"click\":function($event){return _vm.generateReportsFiles()}}},[_c('img',{attrs:{\"src\":require(\"@/assets/icon/check.svg\")}}),_vm._v(\" Сформировать отчет \")])],1),_c('div',{staticClass:\"responsive\"},[(_vm.getSMPLoading)?_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"type\":\"table-tbody\"}}):_c('table',{staticClass:\"table table-search table-link\"},[_c('thead',[_c('tr',_vm._l((_vm.headers),function(header){return _c('th',{key:header.text,staticClass:\"text-center\"},[_c('span',{staticClass:\"table-title\",on:{\"click\":function($event){return _vm.sort(header.value)}}},[_vm._v(_vm._s(header.text)+\" \"),(header.value === _vm.sortValue.column)?_c('span',{class:['icon', {'ask': _vm.sortValue.ask}]},[_vm._v(\"↓\")]):_vm._e()]),_c('div',{staticClass:\"search\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(header.input),expression:\"header.input\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(header.input)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(header, \"input\", $event.target.value)},function($event){return _vm.setSearch({column:header.value, string:header.input})}]}})])])}),0)]),_c('tbody',_vm._l((_vm.getSMP),function(smp,index){return _c('tr',{key:index,on:{\"click\":function($event){return _vm.routLink(smp.id)}}},[_c('td',{staticClass:\"text-left\"},[_c('div',{staticClass:\"stage\"},[_vm._v(_vm._s(smp.data))])]),_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(smp.name))]),_c('td',{staticClass:\"text-center\"},[_c('div',{staticClass:\"item\"},[_vm._v(_vm._s(smp.clinicalRecommendations))])]),_c('td',{staticClass:\"text-center\"},[_c('div',{staticClass:\"item\"},[_vm._v(_vm._s(smp.mkbCode))])]),_c('td',{staticClass:\"text-center\"},[_c('div',{staticClass:\"item\"},[_vm._v(_vm._s(smp.mkbName))])]),_c('td',{staticClass:\"text-center\"},[(smp.ageGroup)?_c('span',[_vm._v(_vm._s(smp.ageGroup))]):_vm._e()]),_c('td',{staticClass:\"text-center\"},[_c('div',{staticClass:\"item\"},[_vm._v(_vm._s(smp.profile))])]),_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(smp.status))])])}),0)])],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',[_vm._v(\" Добро пожаловать в \"),_c('b',[_vm._v(\"Систему разработки и ведения стандартов медицинской помощи.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h2',[_vm._v(\"Для доступа к Системе нажмите кнопку \\\"Вход\\\" в \"),_c('br'),_vm._v(\" верхней правой части страницы.\")])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=3e90cdac&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=3e90cdac&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3e90cdac\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\ninstallComponents(component, {VSkeletonLoader})\n","import Vue from \"vue\";\r\nimport VueRouter from \"vue-router\";\r\nimport Home from \"../views/Home/Home.vue\";\r\n\r\nVue.use(VueRouter);\r\n\r\nconst routes = [\r\n {\r\n path: \"/\",\r\n name: \"home\",\r\n component: Home,\r\n },\r\n {\r\n path: \"/search\",\r\n name: \"search\",\r\n redirect: { name: \"services\" },\r\n component: () => import(\"../views/Search.vue\"),\r\n children: [\r\n {\r\n path: \"medications\",\r\n name: \"medications\",\r\n component: () => import(\"../views/Medications/Medications.vue\"),\r\n },\r\n {\r\n path: \"services\",\r\n name: \"services\",\r\n component: () => import(\"../views/Services/Services.vue\"),\r\n },\r\n ],\r\n },\r\n {\r\n path: \"/adminpanel\",\r\n name: \"adminpanel\",\r\n redirect: { name: \"access\" },\r\n component: () => import(\"../views/Adminpanel.vue\"),\r\n children: [\r\n {\r\n path: \"access\",\r\n name: \"access\",\r\n component: () => import(\"../views/Access/Access.vue\"),\r\n },\r\n {\r\n path: \"users\",\r\n name: \"users\",\r\n component: () => import(\"../views/Users/Users.vue\"),\r\n },\r\n ],\r\n },\r\n {\r\n path: \"/history-change\",\r\n name: \"history\",\r\n component: () => import(\"../views/History/index.vue\"),\r\n },\r\n {\r\n path: \"/commiss1\",\r\n name: \"commissioners\",\r\n component: () => import(\"../views/Commissioners/index.vue\"),\r\n },\r\n {\r\n path: \"/analytics\",\r\n name: \"analytics\",\r\n component: () => import(\"../views/Analytics/index.vue\"),\r\n },\r\n {\r\n path: \"/manual\",\r\n name: \"manual\",\r\n component: () => import(\"../views/Мanual.vue\"),\r\n },\r\n {\r\n path: \"/specialities\",\r\n name: \"specialities\",\r\n component: () => import(\"../views/Speciality.vue\"),\r\n },\r\n {\r\n path: \"/gvsSpecialities\",\r\n name: \"gvsSpecialities\",\r\n component: () => import(\"../views/SpecialityGvs.vue\"),\r\n },\r\n {\r\n path: \"/specialities\",\r\n name: \"specialities\",\r\n component: () => import(\"../views/Speciality.vue\"),\r\n },\r\n {\r\n path: \"/gvsSpecialities\",\r\n name: \"gvsSpecialities\",\r\n component: () => import(\"../views/SpecialityGvs.vue\"),\r\n },\r\n {\r\n path: \"/reports\",\r\n name: \"reports\",\r\n redirect: { name: \"project-approval\" },\r\n component: () => import(\"../views/Reports.vue\"),\r\n children: [\r\n {\r\n path: \"project-approval\",\r\n name: \"project-approval\",\r\n component: () => import(\"../views/Reports/ProjectApproval.vue\"),\r\n },\r\n {\r\n path: \"list-pasport\",\r\n name: \"list-pasport\",\r\n component: () => import(\"../views/Reports/ListPasport.vue\"),\r\n },\r\n {\r\n path: \"list-diagnosis\",\r\n name: \"list-diagnosis\",\r\n component: () => import(\"../views/Reports/ListDiagnosis.vue\"),\r\n },\r\n {\r\n path: \"list-nutrition\",\r\n name: \"list-nutrition\",\r\n component: () => import(\"../views/Reports/ListNutrition.vue\"),\r\n },\r\n {\r\n path: \"list-food\",\r\n name: \"list-food\",\r\n component: () => import(\"../views/Reports/ListFood.vue\"),\r\n },\r\n {\r\n path: \"list-blood\",\r\n name: \"list-blood\",\r\n component: () => import(\"../views/Reports/ListBlood.vue\"),\r\n },\r\n {\r\n path: \"list-medicines\",\r\n name: \"list-medicines\",\r\n component: () => import(\"../views/Reports/ListMedicines.vue\"),\r\n },\r\n {\r\n path: \"list-products\",\r\n name: \"list-products\",\r\n component: () => import(\"../views/Reports/ListProducts.vue\"),\r\n },\r\n ],\r\n },\r\n {\r\n path: \"/archive\",\r\n name: \"archive\",\r\n component: () => import(\"../views/Archive/Archive.vue\"),\r\n },\r\n {\r\n path: \"/smp\",\r\n name: \"smp\",\r\n redirect: \"/\",\r\n component: () => import(\"../views/SMP.vue\"),\r\n children: [\r\n {\r\n path: \"pasport/:id\",\r\n name: \"pasport\",\r\n component: () => import(\"../views/Pasport/Pasport.vue\"),\r\n },\r\n {\r\n path: \"note/:id\",\r\n name: \"note\",\r\n component: () => import(\"../views/Note/Note.vue\"),\r\n },\r\n {\r\n path: \"diagnostics/:id\",\r\n name: \"diagnostics\",\r\n component: () => import(\"../views/Diagnostics/Diagnostics.vue\"),\r\n },\r\n {\r\n path: \"therapy/:id\",\r\n name: \"therapy\",\r\n component: () => import(\"../views/Therapy/Therapy.vue\"),\r\n },\r\n {\r\n path: \"medicines/:id\",\r\n name: \"medicines\",\r\n component: () => import(\"../views/Medicines/Medicines.vue\"),\r\n },\r\n {\r\n path: \"blood/:id\",\r\n name: \"blood\",\r\n component: () => import(\"../views/Blood/Blood.vue\"),\r\n },\r\n {\r\n path: \"products/:id\",\r\n name: \"products\",\r\n component: () => import(\"../views/Products/Products.vue\"),\r\n },\r\n {\r\n path: \"food/:id\",\r\n name: \"food\",\r\n component: () => import(\"../views/Food/Food.vue\"),\r\n },\r\n ],\r\n },\r\n {\r\n path: \"/request\",\r\n component: () => import(\"../views/Request/Request.vue\"),\r\n children: [\r\n {\r\n path: \"create\",\r\n name: \"create\",\r\n },\r\n {\r\n path: \":id\",\r\n name: \"request\",\r\n },\r\n ],\r\n },\r\n {\r\n path: \"/smp/documents/:id\",\r\n name: \"documents\",\r\n component: () => import(\"../views/Documents/Documents.vue\"),\r\n },\r\n];\r\n\r\nconst router = new VueRouter({\r\n mode: \"history\",\r\n base: process.env.BASE_URL,\r\n routes,\r\n});\r\n\r\nexport default router;\r\n","import axios from \"axios\";\r\nimport HomeIcon from \"@/assets/icon/home.svg\";\r\nimport SearchIcon from \"@/assets/icon/search.svg\";\r\nimport ListIcon from \"@/assets/icon/list.svg\";\r\nimport InfoIcon from \"@/assets/icon/info.svg\";\r\nimport BoxIcon from \"@/assets/icon/box.svg\";\r\nimport TimeLineIcon from \"@/assets/icon/timeline.svg\";\r\nimport Analytics from \"@/assets/icon/analytics.svg\";\r\nimport Appointment from \"@/assets/icon/appointment.svg\";\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n token: localStorage.getItem(\"token\") || \"\",\r\n user: {},\r\n restoreMessage: null,\r\n passwordMessage: null,\r\n status: null,\r\n employee: false,\r\n administrator: false,\r\n routs: [\r\n {\r\n name: \"Назначение уполномоченных\",\r\n accessName: \"Назначение уполномоченных\",\r\n to: { name: \"commissioners\" },\r\n icon: Appointment,\r\n access: false,\r\n },\r\n {\r\n name: \"Стандарты\",\r\n accessName: \"Стандарты медицинской помощи\",\r\n to: { name: \"smp\" },\r\n icon: HomeIcon,\r\n access: false,\r\n },\r\n {\r\n name: \"Поиск по услуге/ЛС\",\r\n accessName: \"Поиск по услуге/ЛС\",\r\n to: { name: \"search\" },\r\n icon: SearchIcon,\r\n access: false,\r\n },\r\n {\r\n name: \"Согласование\",\r\n accessName: \"Согласование\",\r\n to: { name: \"reports\" },\r\n icon: ListIcon,\r\n access: false,\r\n },\r\n {\r\n name: \"История изменений\",\r\n accessName: \"История изменений\",\r\n to: { name: \"history\" },\r\n icon: TimeLineIcon,\r\n access: false,\r\n },\r\n {\r\n name: \"Аналитика\",\r\n accessName: \"Аналитика\",\r\n to: { name: \"analytics\" },\r\n icon: Analytics,\r\n access: false,\r\n },\r\n {\r\n name: \"Справочники\",\r\n accessName: \"Справочники\",\r\n to: { name: \"manual\" },\r\n icon: InfoIcon,\r\n access: false,\r\n },\r\n {\r\n name: \"Архив\",\r\n accessName: \"Архив\",\r\n to: { name: \"archive\" },\r\n icon: BoxIcon,\r\n access: false,\r\n },\r\n {\r\n name: \"Администрирование\",\r\n accessName: \"Администрирование\",\r\n to: { name: \"adminpanel\" },\r\n icon: BoxIcon,\r\n access: false,\r\n },\r\n ],\r\n subMenu: [\r\n {\r\n name: \"Доступ к меню\",\r\n accessName: \"Доступ к меню\",\r\n link: { name: \"access\" },\r\n access: false,\r\n page: \"adminpanel\",\r\n },\r\n {\r\n name: \"Список пользователей\",\r\n accessName: \"Пользователи\",\r\n link: { name: \"users\" },\r\n access: false,\r\n page: \"adminpanel\",\r\n },\r\n {\r\n name: \"Услуги\",\r\n accessName: \"Услуги\",\r\n link: { name: \"services\" },\r\n access: true,\r\n page: \"search\",\r\n },\r\n {\r\n name: \"Лекарственные препараты\",\r\n accessName: \"Лекарственные препараты\",\r\n link: { name: \"medications\" },\r\n access: true,\r\n page: \"search\",\r\n },\r\n {\r\n name: \"Запрос\",\r\n accessName: \"Запрос\",\r\n link: { name: \"request\" },\r\n access: true,\r\n page: \"smp\",\r\n },\r\n {\r\n name: \"Стандарт\",\r\n accessName: \"Стандарт\",\r\n link: { name: \"pasport\" },\r\n access: true,\r\n page: \"smp\",\r\n },\r\n {\r\n name: \"Документы\",\r\n accessName: \"Документы\",\r\n link: { name: \"documents\" },\r\n access: true,\r\n page: \"smp\",\r\n },\r\n ],\r\n sideBar: [\r\n {\r\n to: \"project-approval\",\r\n accessName: \"Отчет по результатам согласования проектов\",\r\n name: \"Отчет по результатам согласования проектов\",\r\n access: false,\r\n page: \"reports\",\r\n },\r\n {\r\n to: \"list-pasport\",\r\n accessName: \"Список замечаний (Общее. Паспортная часть)\",\r\n name: \"Список замечаний (Паспорт)\",\r\n access: false,\r\n page: \"reports\",\r\n },\r\n {\r\n to: \"list-diagnosis\",\r\n accessName: \"ОСписок замечаний (Диагностика. Лечение)\",\r\n name: \"Список замечаний (Диагностика /Лечение)\",\r\n access: false,\r\n page: \"reports\",\r\n },\r\n {\r\n to: \"list-food\",\r\n accessName: \"Список замечаний (Питание)\",\r\n name: \"Список замечаний (Питание)\",\r\n access: false,\r\n page: \"reports\",\r\n },\r\n {\r\n to: \"list-blood\",\r\n accessName: \"Список замечаний (Кровь)\",\r\n name: \"Список замечаний (Кровь)\",\r\n access: false,\r\n page: \"reports\",\r\n },\r\n {\r\n to: \"list-medicines\",\r\n accessName: \"Список замечаний (Лекарства)\",\r\n name: \"Список замечаний (Лекарства)\",\r\n access: false,\r\n page: \"reports\",\r\n },\r\n {\r\n to: \"list-products\",\r\n accessName: \"Список замечаний (Изделия)\",\r\n name: \"Список замечаний (Изделия)\",\r\n access: false,\r\n page: \"reports\",\r\n },\r\n {\r\n to: \"pasport\",\r\n accessName: \"Паспорт\",\r\n name: \"Паспорт\",\r\n access: true,\r\n page: \"smp\",\r\n },\r\n {\r\n to: \"diagnostics\",\r\n accessName: \"Диагностика\",\r\n name: \"Диагностика\",\r\n access: true,\r\n page: \"smp\",\r\n },\r\n {\r\n to: \"therapy\",\r\n accessName: \"Лечение\",\r\n name: \"Лечение\",\r\n access: true,\r\n page: \"smp\",\r\n },\r\n {\r\n to: \"medicines\",\r\n accessName: \"Лекарства\",\r\n name: \"Лекарства\",\r\n access: true,\r\n page: \"smp\",\r\n },\r\n {\r\n to: \"blood\",\r\n accessName: \"Кровь\",\r\n name: \"Кровь\",\r\n access: true,\r\n page: \"smp\",\r\n },\r\n {\r\n to: \"products\",\r\n accessName: \"Изделия\",\r\n name: \"Изделия\",\r\n access: true,\r\n page: \"smp\",\r\n },\r\n {\r\n to: \"food\",\r\n accessName: \"Питание\",\r\n name: \"Питание\",\r\n access: true,\r\n page: \"smp\",\r\n },\r\n {\r\n to: \"note\",\r\n accessName: \"Примечания\",\r\n name: \"Примечания\",\r\n access: true,\r\n page: \"smp\",\r\n },\r\n ],\r\n curentSideBar: [],\r\n curentSubMenu: [],\r\n gbs: false,\r\n cekkmp: false,\r\n cekkmp_admin: false,\r\n guest: false,\r\n mainDepartment: null,\r\n },\r\n getters: {\r\n getRestoreMessage: (state) => state.restoreMessage,\r\n getPasswordMessage: (state) => state.passwordMessage,\r\n isLoggedIn: (state) => !!state.token,\r\n authStatus: (state) => state.status,\r\n getUser: (state) => state.user,\r\n isEmployee: (state) => state.employee,\r\n isAdmin: (state) => state.administrator,\r\n getRouts: (state) => state.routs,\r\n isBlocked: (state) => state.blocked,\r\n isGbs: (state) => state.gbs,\r\n getSubMenu: (state) => state.curentSubMenu,\r\n getSideBar: (state) => state.curentSideBar,\r\n isCekkmp: (state) => state.cekkmp,\r\n isCekkmpAmin: (state) => state.cekkmp_admin,\r\n isGuest: (state) => state.guest,\r\n },\r\n mutations: {\r\n auth_request(state) {\r\n state.status = \"loading\";\r\n },\r\n auth_success(state, token) {\r\n state.status = \"success\";\r\n state.token = `Bearer ${token}`;\r\n },\r\n menuMutations(state, page) {\r\n state.curentSideBar = state.sideBar.filter(\r\n (item) => item.page === page && item.access === true\r\n );\r\n state.curentSubMenu = state.subMenu.filter(\r\n (item) => item.page === page && item.access === true\r\n );\r\n },\r\n userData(state, data) {\r\n let actualObj = data.roles.find(\r\n (f) => f.id === \"178f41fe-59d3-4d58-9031-71ccc07f64ca\"\r\n );\r\n localStorage.setItem(\r\n \"isAdmin\",\r\n actualObj && actualObj.id === \"178f41fe-59d3-4d58-9031-71ccc07f64ca\"\r\n ? true\r\n : false\r\n );\r\n\r\n state.user = data;\r\n state.mainDepartment =\r\n data.department !== null ? data.department.mainDepartment : null;\r\n state.employee = false;\r\n state.administrator = false;\r\n state.gbs = false;\r\n state.cekkmp = false;\r\n state.cekkmp_admin = false;\r\n state.guest = false;\r\n data.roles.map((item) => {\r\n switch (item.id.toLowerCase()) {\r\n case \"b78e904c-345f-40f0-8948-dcb479e579ab\".toLowerCase():\r\n state.employee = true;\r\n break;\r\n case \"178f41fe-59d3-4d58-9031-71ccc07f64ca\".toLowerCase():\r\n state.administrator = true;\r\n break;\r\n case \"90262588-05ee-4d3d-bc16-1e171be0bd7f\".toLowerCase():\r\n state.gbs = true;\r\n break;\r\n case \"ea6fc0ee-564d-416e-84f8-c9349f44ad3d\".toLowerCase():\r\n state.cekkmp = true;\r\n break;\r\n case \"45ae27e5-19d3-4af8-8a75-e82eaad0b224\".toLowerCase():\r\n state.guest = true;\r\n break;\r\n case \"512588a9-46ec-44ec-87ce-57491007166d\".toLowerCase():\r\n state.cekkmp_admin = true;\r\n break;\r\n default:\r\n }\r\n });\r\n\r\n let signEnabled =\r\n state.user.signature && state.user.signature.signEnabled;\r\n\r\n if (state.administrator) {\r\n state.canCreateSmp = true;\r\n state.canModifySmp = true;\r\n } else if (state.employee) {\r\n state.canCreateSmp = signEnabled;\r\n state.canModifySmp = signEnabled;\r\n } else if (state.gbs || state.cekkmp) {\r\n state.canCreateSmp = false;\r\n state.canModifySmp = signEnabled;\r\n } else {\r\n state.canCreateSmp = false;\r\n state.canModifySmp = false;\r\n }\r\n\r\n state.routs.map((link) => {\r\n link.access = false;\r\n });\r\n state.subMenu.map((link) => {\r\n if (link.page === \"adminpanel\") {\r\n link.access = false;\r\n }\r\n });\r\n\r\n // console.log(state.user);\r\n if (state.user && state.user.roleAccesMenuInfo) {\r\n state.user.roleAccesMenuInfo.map((item) => {\r\n state.routs.map((link) => {\r\n if (link.accessName === item.name) {\r\n link.access = true;\r\n }\r\n });\r\n state.subMenu.map((link) => {\r\n if (link.accessName === item.name && link.page === \"adminpanel\") {\r\n link.access = true;\r\n }\r\n });\r\n state.sideBar.map((link) => {\r\n if (link.accessName === item.name && link.page === \"reports\") {\r\n link.access = true;\r\n }\r\n });\r\n });\r\n }\r\n },\r\n restorMutation(state, message) {\r\n state.restoreMessage = message;\r\n },\r\n passwordMutation(state, message) {\r\n state.passwordMessage = message;\r\n },\r\n auth_error(state) {\r\n state.status = \"error\";\r\n },\r\n auth_blocked(state) {\r\n state.status = \"blocked\";\r\n state.blocked = true;\r\n },\r\n logout(state) {\r\n state.status = \"\";\r\n state.token = \"\";\r\n },\r\n },\r\n actions: {\r\n login({ rootState, commit }, user) {\r\n return new Promise((resolve, reject) => {\r\n commit(\"auth_request\");\r\n axios\r\n .post(`${rootState.api}Users/Login`, user)\r\n .then((resp) => {\r\n const token = resp.data;\r\n localStorage.setItem(\"token\", `Bearer ${token}`);\r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${token}`;\r\n commit(\"auth_success\", token);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n commit(\"auth_error\");\r\n localStorage.removeItem(\"token\");\r\n reject(err);\r\n });\r\n });\r\n },\r\n logout({ commit }) {\r\n return new Promise((resolve) => {\r\n // eslint-disable-line\r\n commit(\"logout\");\r\n localStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"roles\");\r\n localStorage.removeItem(\"name\");\r\n delete axios.defaults.headers.common[\"Authorization\"];\r\n resolve();\r\n });\r\n },\r\n restoreToken({ rootState, commit }, email) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`${rootState.api}Users/Token/${email}`)\r\n .then((resp) => {\r\n resolve(resp);\r\n commit(\"restorMutation\", \"Код отправлен вам на E-mail\");\r\n })\r\n .catch((err) => {\r\n commit(\"restorMutation\", \"Неправильный E-mail\");\r\n reject(err);\r\n });\r\n });\r\n },\r\n restorePasword({ rootState, commit }, data) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .put(`${rootState.api}Users/Password`, data)\r\n .then((resp) => {\r\n commit(\"passwordMutation\", \"Пароль успешно изменен\");\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n if (err.response.status == 400) {\r\n commit(\r\n \"passwordMutation\",\r\n \"Пароль не может содержать меньше 6 символов\"\r\n );\r\n } else {\r\n commit(\"passwordMutation\", \"Неправильный код\");\r\n }\r\n reject(err);\r\n });\r\n });\r\n },\r\n user({ rootState, commit }) {\r\n return new Promise((resolve, reject) => {\r\n // eslint-disable-line\r\n axios\r\n .get(`${rootState.api}Users`)\r\n .then((resp) => {\r\n if (!resp.data.isBlocked) {\r\n commit(\"userData\", resp.data);\r\n resolve(resp);\r\n } else {\r\n commit(\"userData\", resp.data);\r\n commit(\"auth_blocked\");\r\n localStorage.removeItem(\"token\");\r\n }\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n },\r\n};\r\n","function processTable(curnotes, curtbl, ccc){\r\n\tif(!curnotes)curnotes=[];\r\n\tlet captionnotes = {};\r\n\tfor(let i=0;i state.smpState,\r\n isDelete: (state) => state.canBeDeleted,\r\n searchLoading: (state) => state.loading,\r\n getPasport: (state) => state.pasport,\r\n getTitle: (state) => state.title,\r\n getMedicine: (state) => state.medicine,\r\n getBlood: (state) => state.blood,\r\n getProducts: (state) => state.products,\r\n getMedications: (state) => state.medications,\r\n getDiet1: (state) => state.diet[0],\r\n getDiet2: (state) => state.diet[1],\r\n getTherapy: (state) => state.therapy,\r\n getDiagnostics: (state) => state.diagnostics,\r\n getStageName: (state) => state.stageName,\r\n isEdit: (state) => state.edit,\r\n getNotesTypeTwo: (state) => state.notesTypeTwo,\r\n getId: (state) => state.id,\r\n getcanBeSentForMeo: (state) => state.canBeSentForMeo,\r\n },\r\n mutations: {\r\n filterMutation(state, data) {\r\n state.filterSMP = data;\r\n state.smpState = data\r\n .sort((a, b) => {\r\n return b.number - a.number;\r\n })\r\n .map((item) => {\r\n return {\r\n data: `${item.stage.name} №${item.number} ${moment(\r\n item.createdOn\r\n ).format(\"DD.MM.YY\")}`,\r\n name: item.name,\r\n clinicalRecommendations: item.clinicalRecommendations\r\n .map((cr) => {\r\n return cr.name;\r\n })\r\n .join(\" \"),\r\n mkbName: item.mkBs\r\n .map((mkb) => {\r\n return mkb.name;\r\n })\r\n .join(\" \"),\r\n mkbCode: item.mkBs\r\n .map((mkb) => {\r\n return mkb.code;\r\n })\r\n .join(\" \"),\r\n id: item.id,\r\n isOpen: item.isOpen,\r\n ageGroup: item.ageGroup ? item.ageGroup.name : \"\",\r\n profile: item.recipient !== null ? item.recipient.profile.name : \"\",\r\n status: item.status.name,\r\n };\r\n });\r\n state.smpFilter = state.smpState;\r\n },\r\n smpSearch(state, bool) {\r\n state.loading = bool;\r\n },\r\n setStandart(state, data) {\r\n const newData = convert(data);\r\n state.pasport = newData.passportData\r\n ? [\r\n {\r\n label: \"Стадия стандарта\",\r\n value: newData.passportData.stageName,\r\n key: \"stageName\",\r\n },\r\n {\r\n label: \"ID стандарта\",\r\n value: newData.passportData.stdId,\r\n key: \"stdId\",\r\n },\r\n {\r\n label: \"Наименование стандарта медицинской помощи\",\r\n value: newData.passportData.name,\r\n key: \"name\",\r\n },\r\n {\r\n label: \"Возрастная категория пациента\",\r\n value: newData.passportData.ageGroup,\r\n key: \"ageGroup\",\r\n },\r\n {\r\n label: \"Пол пациента\",\r\n value: newData.passportData.gender,\r\n key: \"gender\",\r\n },\r\n {\r\n label: \"Вид медицинской помощи\",\r\n value: newData.passportData.medicalCareTypeName,\r\n key: \"medicalCareTypeName\",\r\n },\r\n {\r\n label: \"Условия оказания медицинской помощи\",\r\n value: newData.passportData.medicalCareConditionName,\r\n key: \"medicalCareConditionName\",\r\n },\r\n {\r\n label: \"Форма оказания медицинской помощи\",\r\n value: newData.passportData.madicalCareFormName,\r\n key: \"madicalCareFormName\",\r\n },\r\n {\r\n label: \"Фаза течения заболевания (состояния)\",\r\n value: newData.passportData.diseasePhase,\r\n key: \"diseasePhase\",\r\n },\r\n {\r\n label: \"Стадия и (или) степень тяжести заболевания (состояния)\",\r\n value: newData.passportData.disease,\r\n key: \"disease\",\r\n },\r\n {\r\n label: \"Осложнения\",\r\n value: newData.passportData.complication,\r\n key: \"complication\",\r\n },\r\n {\r\n label:\r\n \"Средняя продолжительность лечения законченного случая (количество дней)\",\r\n value: newData.passportData.midTreatmentDuratation,\r\n key: \"midTreatmentDuratation\",\r\n },\r\n {\r\n label: \"Нозологические единицы (код по МКБ X)\",\r\n value: newData.passportData.diagCode,\r\n key: \"diagCode\",\r\n },\r\n {\r\n label: \"Статус стандарта\",\r\n value: newData.passportData.statusName,\r\n key: \"statusName\",\r\n },\r\n {\r\n label: \"Номер приказа Минздрава России\",\r\n value: newData.passportData.orderNumber,\r\n key: \"orderNumber\",\r\n },\r\n {\r\n label: \"Дата приказа Минздрава России\",\r\n value: newData.passportData.orderDate,\r\n key: \"storderDateageName\",\r\n },\r\n {\r\n label: \"Наименование клинической рекомендации\",\r\n value: newData.passportData.clinicalRecommendationName,\r\n key: \"clinicalRecommendationName\",\r\n },\r\n {\r\n label: \"ID клинической рекомендации\",\r\n value: newData.passportData.clinId,\r\n key: \"clinId\",\r\n },\r\n {\r\n label: \"Год утверждения клинической рекомендации\",\r\n value: newData.passportData.clinRecApprovementYear,\r\n key: \"clinRecApprovementYear\",\r\n },\r\n ]\r\n : [];\r\n state.notesTypeTwo = [];\r\n if (newData.notes) {\r\n newData.notes.map((item) => {\r\n if (item.typeCode == 2) {\r\n state.notesTypeTwo.push([item.num, item.name]);\r\n }\r\n });\r\n }\r\n // console.log(newData.passportData);\r\n\r\n state.user = newData.passportData.createdById.value;\r\n state.canBeDeleted = newData.passportData.canBeDeleted.value;\r\n state.title = newData.passportData.number.value;\r\n state.canBeSentForMeo = newData.passportData.canBeSentForMeo.value;\r\n state.id = newData.passportData.id.value;\r\n state.medicine = newData.medicine.data.map((item) => {\r\n return [item[2], item[3], item[4], item[7], item[5], item[6]];\r\n });\r\n state.blood = newData.bloodComponent.data;\r\n state.medications = newData.service;\r\n state.products = newData.products.data;\r\n state.revisionDate = newData.revisionDate;\r\n state.therapy[0].service = newData.service.data[6];\r\n state.therapy[1].service = newData.service.data[7];\r\n state.therapy[2].service = newData.service.data[8];\r\n state.therapy[3].service = newData.service.data[9];\r\n state.therapy[4].service = newData.service.data[10];\r\n state.therapy[5].service = newData.service.data[11];\r\n state.therapy[6].service = newData.service.data[12];\r\n state.diagnostics[0].service = newData.service.data[1];\r\n state.diagnostics[1].service = newData.service.data[2];\r\n state.diagnostics[2].service = newData.service.data[3];\r\n state.diagnostics[3].service = newData.service.data[4];\r\n state.diet[0].food = newData.diet1.data;\r\n state.diet[1].food = newData.diet2.data;\r\n state.stageOne = false;\r\n state.stageTwo = false;\r\n switch (newData.passportData.stageId) {\r\n case `0DD880C6-ACAA-4F97-9AA2-1E0AD441A5C9`.toLowerCase():\r\n state.stageOne = true;\r\n break;\r\n case `783A93EA-AFF3-4D8F-91AC-5A690D4F4961`.toLowerCase():\r\n state.stageTwo = true;\r\n break;\r\n default:\r\n }\r\n state.statusZero = false;\r\n state.statusOne = false;\r\n state.statusTwo = false;\r\n state.statusTree = false;\r\n state.statusFour = false;\r\n state.statusFive = false;\r\n state.statusSix = false;\r\n state.statusSeven = false;\r\n state.stageEight = false;\r\n state.statusNine = false;\r\n state.statusTen = false;\r\n state.statusEleven = false;\r\n state.statusTwelve = false;\r\n state.statusThirteen = false;\r\n state.statusFourteen = false;\r\n state.statusFifteen = false;\r\n state.statusSixteen = false;\r\n state.statusSeventeen = false;\r\n state.statusCanClone = true;\r\n switch (newData.passportData.statusId.value.toLowerCase()) {\r\n case \"D0D423CF-7206-4B2C-9116-B0CA09ED80C0\".toLowerCase():\r\n state.statusZero = true;\r\n state.statusCanClone = false;\r\n break;\r\n case \"50C53811-33AF-4894-A0ED-EE412BE9E166\".toLowerCase():\r\n state.statusOne = true;\r\n state.statusCanClone = false;\r\n break;\r\n case \"CB2D66F2-8F38-4047-ADA0-9F8CDE03391E\".toLowerCase():\r\n state.statusTwo = true;\r\n break;\r\n case \"FB6DE7D6-A278-4D69-91DD-102899B25AC2\".toLowerCase():\r\n state.statusTree = true;\r\n break;\r\n case \"1D403C69-4C12-4AD9-BAAA-3EA61F2EA684\".toLowerCase():\r\n state.statusFour = true;\r\n break;\r\n case \"A41BA4D1-7673-45D9-8BE7-45F5FBC53252\".toLowerCase():\r\n state.statusFive = true;\r\n break;\r\n case \"DD2F4743-310B-460A-89B9-298504425567\".toLowerCase():\r\n state.statusSix = true;\r\n break;\r\n case \"7EF17CC8-295F-45A0-9BA9-03D9A6DCC331\".toLowerCase():\r\n state.statusSeven = true;\r\n state.statusCanClone = false;\r\n break;\r\n case \"E75768B0-D4F7-44D8-8714-CE30E32AB36E\".toLowerCase():\r\n state.statusEight = true;\r\n break;\r\n case \"6EB8EC1D-3F7A-4EE4-8747-51A0FC3C54CA\".toLowerCase():\r\n state.statusNine = true;\r\n break;\r\n case \"7928F146-8B99-4396-A503-01A50027E8AF\".toLowerCase():\r\n state.statusTen = true;\r\n break;\r\n case \"2C970AF2-74D6-44CF-A546-72AFB38C37A2\".toLowerCase():\r\n state.statusEleven = true;\r\n break;\r\n case \"2D63E640-45D9-494B-A0E3-3A244B5FA779\".toLowerCase():\r\n state.statusTwelve = true;\r\n break;\r\n case \"9333206B-70FB-46FF-9D9F-E9A8DC97698E\".toLowerCase():\r\n state.statusThirteen = true;\r\n break;\r\n case \"92B0ED1A-FBD2-4FAD-B542-09BBA8D8F976\".toLowerCase():\r\n state.statusFourteen = true;\r\n break;\r\n case \"DF742E24-CF39-4A4B-8370-13B1C2C622A5\".toLowerCase():\r\n state.statusFifteen = true;\r\n break;\r\n case \"50DA9807-A277-49FF-94F3-4FF88DFE959E\".toLowerCase():\r\n state.statusSixteen = true;\r\n break;\r\n case \"C4FC2C0E-7EC1-4004-92BF-2B04CA5FA564\".toLowerCase():\r\n state.statusSeventeen = true;\r\n break;\r\n default:\r\n console.log(\"Нет такого статуса\");\r\n }\r\n },\r\n setSearch(state, { column, string }) {\r\n console.log(column, string);\r\n state.smpState = state.smpFilter.filter((item) => {\r\n if (item[column].indexOf(string) != -1) {\r\n return item;\r\n }\r\n });\r\n },\r\n setEditor(state) {\r\n state.edit = !state.edit;\r\n },\r\n },\r\n actions: {\r\n deleteStandart({ rootState }, standartId) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .delete(\r\n `${rootState.api}Standarts/DeleteStandart?standartId=${standartId}`\r\n )\r\n .then((resp) => {\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n smpFilter({ rootState, commit }, filter) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`${rootState.api}Standarts/Filtering`, filter)\r\n .then((resp) => {\r\n commit(\"filterMutation\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n generateFile({ rootState }, { id, file, sufix }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${rootState.api}${file}?id=${id}`, {\r\n responseType: \"arraybuffer\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/Docx\",\r\n },\r\n })\r\n .then((resp) => {\r\n const url = window.URL.createObjectURL(new Blob([resp.data]));\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", `${id}.${sufix}`); //or any other extension\r\n document.body.appendChild(link);\r\n link.click();\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n generateReportsFiles({ rootState }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${rootState.api}Standarts/report`, { responseType: \"blob\" })\r\n .then((resp) => {\r\n const url = window.URL.createObjectURL(new Blob([resp.data]));\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", \"Список стандартов.xlsx\");\r\n document.body.appendChild(link);\r\n link.click();\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n standart({ rootState, commit }, id) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${rootState.api}Standarts/standart?id=${id}`)\r\n .then((resp) => {\r\n commit(\"setStandart\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n upLoadJson({ rootState }, data) {\r\n return new Promise((resolve, reject) => {\r\n const formData = new FormData();\r\n formData.append(\"File\", data.File);\r\n formData.append(\"StandartId\", data.StandartId);\r\n formData.append(\"MakeCopy\", !!data.MakeCopy);\r\n axios\r\n .post(`${rootState.api}Standarts/Json`, formData, {\r\n \"Content-Type\": \"multipart/form-data\",\r\n })\r\n .then((resp) => {\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n standartUpdate({ rootState }, data) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(\r\n `${rootState.api}Standarts/updatestatus?standartId=${data.standartId}&statusId=${data.statusId}&stageId=${data.stageId}`\r\n ) // eslint-disable-line\r\n .then((resp) => {\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n sendToReDev({ rootState }, data) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(\r\n `${rootState.api}Standarts/sendtoredev?standartId=${data.standartId}&date=${data.date}`\r\n )\r\n .then((resp) => {\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n standartConfirm({ rootState }, data) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`${rootState.api}Standarts/confirm`, data)\r\n .then((resp) => {\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n getUsers({ rootState }, idGVS) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`${rootState.api}Users/GetWithProfiles`, {\r\n filters: [\r\n {\r\n fieldName: \"profileIds\",\r\n filterType: 9,\r\n filterValueType: 1,\r\n values: [idGVS],\r\n },\r\n ],\r\n sortOption: {\r\n fieldName: \"fullName\",\r\n sortType: 2,\r\n },\r\n pageSize: 1000,\r\n currentPage: 0,\r\n useANDoperator: false,\r\n })\r\n .then((resp) => {\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n addNote({ rootState, getters }, data) {\r\n const query = {\r\n standartId: getters.getId,\r\n name: data.name || \"\",\r\n typeCode: data.typeCode || 0,\r\n section: data.section || \"\",\r\n linkName: data.linkName || \"\",\r\n columnName: data.columnName || \"\",\r\n filterName: data.filterNam || \"\",\r\n filterPage: data.filterPage || \"\",\r\n filterFreq: data.filterFreq || \"\",\r\n filterCountSKD: data.filterCountSKD || \"\",\r\n filterUnit: data.filterUnit || \"\",\r\n filterSDD: data.filterSDD || \"\",\r\n filterATCCode: data.filterATCCode || \"\",\r\n };\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`${rootState.api}Standarts/addnote`, query)\r\n .then((resp) => {\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n },\r\n};\r\n","import axios from \"axios\";\r\nimport _ from \"lodash\";\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n profiles: [],\r\n departments: [],\r\n ageGroups: [],\r\n mkb: [],\r\n directorFullName: \"\",\r\n code: [],\r\n name: [],\r\n roleGroups: [],\r\n rolesGroupsName: [],\r\n rolesName: [],\r\n curentGroup: [],\r\n services: [],\r\n medicines: [],\r\n notes: [],\r\n notes2: [],\r\n },\r\n getters: {\r\n getNames: (state) => state.name,\r\n getCode: (state) => state.code,\r\n getProfiles: (state) => state.profiles,\r\n getDepartmentsl: (state) => state.departments,\r\n getAgeGroups: (state) => state.ageGroups,\r\n getMkb: (state) => state.mkb,\r\n getDirectorFullName: (state) => state.directorFullName,\r\n getRolesName: (state) => state.rolesName,\r\n getRolesGroupName: (state) => state.rolesGroupsName,\r\n getCurentGroup: (state) => state.curentGroup,\r\n getServices: (state) => state.services,\r\n getMedicines: (state) => state.medicines,\r\n getNotes: (state) => state.notes,\r\n getNotes2: (state) => state.notes2,\r\n },\r\n mutations: {\r\n mutationLookups(state, look) {\r\n state.profiles = look.profiles;\r\n state.departments = look.departments;\r\n state.departments.splice(4, 2);\r\n state.ageGroups = look.ageGroups;\r\n state.mkb = look.mkBs;\r\n state.roleGroups = look.roleGroups;\r\n state.rolesName = _.flattenDeep(\r\n look.roleGroups.map((item) => {\r\n return item.roles.map((role) => {\r\n return { text: role.name, value: { name: role.name, id: role.id } };\r\n });\r\n })\r\n );\r\n state.rolesGroupsName = look.roleGroups.map((item) => {\r\n return { text: item.name, value: { name: item.name, id: item.id } };\r\n });\r\n },\r\n setRolesCurent(state, id) {\r\n state.curentGroup = [];\r\n state.roleGroups.map((item) => {\r\n if (item.id == id) {\r\n item.roles.map((role) => {\r\n state.curentGroup.push({\r\n text: role.name,\r\n value: { name: role.name, id: role.id },\r\n });\r\n });\r\n }\r\n });\r\n },\r\n setServices(state, data) {\r\n state.services = _.uniq(\r\n data.map((item) => {\r\n return {\r\n text: item.name,\r\n value: item.code,\r\n };\r\n })\r\n );\r\n },\r\n setNotes(state, data) {\r\n state.notes = [];\r\n state.notes2 = [];\r\n _.uniq(\r\n data.map((item) => {\r\n if (item.typeCode == 2) {\r\n state.notes.push(item.name);\r\n } else {\r\n state.notes2.push(item.name);\r\n }\r\n })\r\n );\r\n },\r\n setMedicines(state, data) {\r\n state.medicines = _.uniq(\r\n _.pull(\r\n data.map((item) => {\r\n if (item.name) {\r\n return {\r\n text: item.codeNameUnit,\r\n value: item.code,\r\n };\r\n }\r\n }),\r\n undefined\r\n )\r\n );\r\n },\r\n mutationDirectorFullName(state, id) {\r\n state.departments.forEach((department) => {\r\n if (department.id == id) {\r\n state.directorFullName = department.directorFullName;\r\n }\r\n });\r\n },\r\n },\r\n actions: {\r\n lookups({ rootState, commit }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${rootState.api}Lookups`)\r\n .then((resp) => {\r\n commit(\"mutationLookups\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n services({ rootState, commit }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${rootState.api}Services`)\r\n .then((resp) => {\r\n commit(\"setServices\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n medicines({ rootState, commit }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${rootState.api}Medicines`)\r\n .then((resp) => {\r\n commit(\"setMedicines\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n notes({ rootState, commit }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${rootState.api}Lookups/Notes`)\r\n .then((resp) => {\r\n commit(\"setNotes\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n },\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n documents: [],\r\n document: [],\r\n listType: [],\r\n },\r\n getters: {\r\n getDocuments: (state) => state.documents,\r\n getListType: (state) => state.listType,\r\n },\r\n mutations: {\r\n documentsMutation(state, data) {\r\n state.documents = data;\r\n },\r\n getDocumentMutation(state, data) {\r\n state.document = data;\r\n },\r\n getTypeList(state, data) {\r\n state.listType = data;\r\n },\r\n },\r\n actions: {\r\n getDocument({ rootState, commit }, data) {\r\n data.signed = data.signed || false;\r\n \r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${rootState.api}Standarts/Files/${data.id}?signed=${data.signed}`, {\r\n responseType: \"arraybuffer\",\r\n })\r\n .then((resp) => {\r\n commit(\"getDocumentMutation\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n getType({ rootState, commit }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${rootState.api}Lookups/StandardFileTypes`)\r\n .then((resp) => {\r\n commit(\"getTypeList\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n createDocument({ rootState }, data) {\r\n data.Signature = data.Signature || '';\r\n \r\n return new Promise((resolve, reject) => {\r\n const formData = new FormData();\r\n formData.append(\"File\", data.File);\r\n formData.append(\"StandartId\", data.StandartId);\r\n formData.append(\"FileTypeId\", data.FileTypeId);\r\n formData.append(\"Signature\", data.Signature);\r\n axios\r\n .post(`${rootState.api}Standarts/Files`, formData, {\r\n \"Content-Type\": \"multipart/form-data\",\r\n })\r\n .then((resp) => {\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n addSignature({ rootState }, data) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`${rootState.api}Standarts/Files/Signature`, data)\r\n .then((response) => {\r\n resolve(response);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n },\r\n documents({ rootState, commit }, id) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${rootState.api}Standarts/Files/All/${id}`)\r\n .then((resp) => {\r\n commit(\"documentsMutation\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n removeDocuments({ rootState }, id) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .delete(`${rootState.api}Standarts/Files?id=${id}`)\r\n .then((resp) => {\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n },\r\n};\r\n","import axios from 'axios'\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n\tstate: {\r\n\t\tusersList: [],\r\n\t\tnewUserId: '',\r\n\t\tupdateUserId: '',\r\n\t\taccess:[],\r\n\t\tuserFilter: [],\r\n\t\tuserAccess: '',\r\n\t},\r\n\tgetters: {\r\n\t\tgetUsers: state => state.usersList,\r\n\t\tgetAccess: state => state.access\r\n\t},\r\n\tmutations: {\r\n addUsers(state) {\r\n state.usersList.unshift({\r\n fullName: '',\r\n email: '',\r\n login: '',\r\n roleGroup: {id:'',name: ''},\r\n roles: [],\r\n update:true,\r\n newUser: true,\r\n })\r\n },\r\n\t\tallUsersMutation(state, data) {\r\n\t\t\tstate.usersList = data.map(item => {\r\n\t\t\t\titem.update = false\r\n return item\r\n })\r\n\t\t\tstate.userFilter = data\r\n\t\t},\r\n startUpdateUser(state, index) {\r\n state.usersList[index].update = !state.usersList[index].update\r\n },\r\n\t\tsetUpdateUser(state, data) {\r\n\t\t\tstate.updateUserId = data\r\n\t\t},\r\n\t\tsetCreatedUserr(state, data) {\r\n\t\t\tstate.newUserId = data\r\n\t\t},\r\n\t\tsetAccess(state, data) {\r\n\t\t\tstate.access = data\r\n\t\t},\r\n\t\tsetSearch(state, {column, string}) {\r\n\t\t\tstate.usersList = state.userFilter.filter(item => {\r\n\t\t\t\tif (column == 'roles') {\r\n\t\t\t\t\tlet roles = item[column].map(name => {\r\n\t\t\t\t\t\treturn name.name\r\n\t\t\t\t\t})\r\n\t\t\t\t\tconsole.log(roles.join())\r\n\t\t\t\t\tif (roles.join(' ').toLowerCase().indexOf(string.toLowerCase()) != -1) {\r\n\t\t\t\t\t\treturn item\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (column == 'roleGroup') {\r\n\t\t\t\t\tif (item[column].name.toLowerCase().indexOf(string.toLowerCase()) != -1) {\r\n\t\t\t\t\t\treturn item\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (item[column].toLowerCase().indexOf(string.toLowerCase()) != -1) {\r\n\t\t\t\t\t\treturn item\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tallUsers({ rootState, commit }) {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\taxios.get(`${rootState.api}Users/All`)\r\n\t\t\t\t.then(resp => {\r\n\t\t\t\t\tcommit('allUsersMutation', resp.data)\r\n\t\t\t\t\tresolve(resp)\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => {\r\n\t\t\t\t\treject(err)\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t},\r\n\t\tupdateUser({ rootState, commit }, data) {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\taxios.put(`${rootState.api}Users/${data.id}`, data.user)\r\n\t\t\t\t.then(resp => {\r\n\t\t\t\t\tcommit('setUpdateUser', resp.data)\r\n\t\t\t\t\tresolve(resp)\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => {\r\n\t\t\t\t\treject(err)\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t},\r\n\t\tblockedUser({ rootState }, data) {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\taxios.put(`${rootState.api}Users/BLock/${data.id}?block=${data.block}`)\r\n\t\t\t\t.then(resp => {\r\n\t\t\t\t\tresolve(resp)\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => {\r\n\t\t\t\t\treject(err)\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t},\r\n\t\tcreatedUser({ rootState, commit }, data) {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\taxios.post(`${rootState.api}Users`, data)\r\n\t\t\t\t.then(resp => {\r\n\t\t\t\t\tcommit('setCreatedUserr', resp.data)\r\n\t\t\t\t\tresolve(resp)\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => {\r\n\t\t\t\t\treject(err)\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t},\r\n\t\taccess({ rootState, commit }) {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\taxios.get(`${rootState.api}Menu`)\r\n\t\t\t\t.then(resp => {\r\n\t\t\t\t\tcommit('setAccess', resp.data)\r\n\t\t\t\t\tresolve(resp)\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => {\r\n\t\t\t\t\treject(err)\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t},\r\n\t\tcreateAccess({ rootState }, data) {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\taxios.post(`${rootState.api}Menu`, data)\r\n\t\t\t\t.then(resp => {\r\n\t\t\t\t\tresolve(resp)\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => {\r\n\t\t\t\t\treject(err)\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t},\r\n\t}\r\n};\r\n","import axios from \"axios\";\r\nimport _ from \"lodash\";\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n archive: [],\r\n pageArchive: [],\r\n pages: null,\r\n filterId: [],\r\n itemPerPage: 50,\r\n sortColumn: \"\",\r\n },\r\n getters: {\r\n getArchive: (state) => state.pageArchive,\r\n getPages: (state) => state.pages,\r\n getFilterId: (state) => state.filterId,\r\n },\r\n mutations: {\r\n setArchive(state, data) {\r\n state.archive = _.sortBy(data, [\r\n function(o) {\r\n return o.chainId;\r\n },\r\n ]);\r\n state.filterId = state.archive.map((item) => {\r\n return item.id;\r\n });\r\n state.pages = Math.round(state.archive.length / state.itemPerPage) - 1;\r\n state.pageArchive = state.archive.slice(0, state.itemPerPage);\r\n },\r\n setSort(state, column) {\r\n if (state.sortColumn === column) {\r\n state.archive = state.archive.reverse();\r\n } else {\r\n state.sortColumn = column;\r\n state.archive = _.sortBy(state.archive, [\r\n function(o) {\r\n return o[column];\r\n },\r\n ]);\r\n }\r\n\r\n state.pageArchive = state.archive.slice(0, state.itemPerPage);\r\n },\r\n setPageArchive(state, page) {\r\n let items = page * state.itemPerPage + state.itemPerPage;\r\n state.pageArchive = state.archive.slice(page * state.itemPerPage, items);\r\n },\r\n setSearch(state, { column, string }) {\r\n let newString = String(string);\r\n state.filterId = [];\r\n state.pageArchive = state.archive.filter((item) => {\r\n if (\r\n String(item[column])\r\n .toLowerCase()\r\n .search(newString.toLowerCase()) != -1\r\n ) {\r\n state.filterId.push(item.id);\r\n return item;\r\n }\r\n });\r\n state.pages =\r\n Math.round(state.pageArchive.length / state.itemPerPage) - 1;\r\n },\r\n },\r\n actions: {\r\n actionArchive({ rootState, commit }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${rootState.api}Standarts/getarchives`)\r\n .then((resp) => {\r\n commit(\"setArchive\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n actionSaveArchive({ rootState }, { id, name }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${rootState.api}Standarts/downloadarchivefilebyid?id=${id}`, {\r\n responseType: \"arraybuffer\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/Docx\",\r\n },\r\n })\r\n .then((resp) => {\r\n const url = window.URL.createObjectURL(new Blob([resp.data]));\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", `${name}.Docx`); //or any other extension\r\n document.body.appendChild(link);\r\n link.click();\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n actionSaveArchiveById({ rootState }, id) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`${rootState.api}Standarts/selectedarchivefiles`, id, {\r\n responseType: \"arraybuffer\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/Docx\",\r\n },\r\n })\r\n .then((resp) => {\r\n const url = window.URL.createObjectURL(new Blob([resp.data]));\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", `allArchive.zip`); //or any other extension\r\n document.body.appendChild(link);\r\n link.click();\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n actionSaveAllArchive({ rootState }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${rootState.api}Standarts/downloadarchivefiles`, {\r\n responseType: \"arraybuffer\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/Docx\",\r\n },\r\n })\r\n .then((resp) => {\r\n const url = window.URL.createObjectURL(new Blob([resp.data]));\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", \"Archive.zip\"); //or any other extension\r\n document.body.appendChild(link);\r\n link.click();\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n },\r\n};\r\n","import axios from 'axios'\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n\tstate: {\r\n\t\treports: [],\r\n\t\tfilterReports: []\r\n\t},\r\n\tgetters: {\r\n\t\tgetReports: state => state.filterReports,\r\n\t},\r\n\tmutations: {\r\n\t\tsetReports(state, data) {\r\n\t\t\tstate.reports = data\r\n\t\t\tstate.filterReports = []\r\n\t\t\tdata.map(item => {\r\n\t\t\t\tif (typeof item.depNumber != 'number') {\r\n\t\t\t\t\titem.depNumber.map((dep, i) => {\r\n\t\t\t\t\t\tif (i) {\r\n\t\t\t\t\t\t\tstate.filterReports.push({\r\n\t\t\t\t\t\t\t\tcode: false,\r\n\t\t\t\t\t\t\t\tstandartName: false,\r\n\t\t\t\t\t\t\t\tclinrec: false,\r\n\t\t\t\t\t\t\t\trows: item.department.length,\r\n\t\t\t\t\t\t\t\tdepNumber: dep,\r\n\t\t\t\t\t\t\t\tdepartment: item.department[i],\r\n\t\t\t\t\t\t\t\tfullName: item.fullName[i],\r\n\t\t\t\t\t\t\t\tvoteStatus: item.voteStatus[i],\r\n\t\t\t\t\t\t\t\tsetDate: item.setDate[i]\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tstate.filterReports.push({\r\n\t\t\t\t\t\t\t\tcode: item.code,\r\n\t\t\t\t\t\t\t\tstandartName: item.standartName,\r\n\t\t\t\t\t\t\t\tclinrec: item.clinrec,\r\n\t\t\t\t\t\t\t\trows: item.department.length,\r\n\t\t\t\t\t\t\t\tdepNumber: dep,\r\n\t\t\t\t\t\t\t\tdepartment: item.department[i],\r\n\t\t\t\t\t\t\t\tfullName: item.fullName[i],\r\n\t\t\t\t\t\t\t\tvoteStatus: item.voteStatus[i],\r\n\t\t\t\t\t\t\t\tsetDate: item.setDate[i]\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\tstate.filterReports = data\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t},\r\n\t\tsetSearch(state, {column, string}) {\r\n\t\t\tstate.filterCatalog = state.catalog.filter(item => {\r\n\t\t\t\tif (String(item[column]).search(String(string).toLowerCase()) != -1) {\r\n\t\t\t\t\treturn item\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\treports({ rootState, commit }, catName) {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\taxios.post(`${rootState.api}StandartReports/${catName}`)\r\n\t\t\t\t.then(resp => {\r\n\t\t\t\t\tcommit('setReports', resp.data)\r\n\t\t\t\t\tresolve(resp)\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => {\r\n\t\t\t\t\treject(err)\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t},\r\n\t}\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n requestId: \"\",\r\n document: null,\r\n kR: [],\r\n },\r\n getters: {\r\n getRequestId: (state) => state.requestId,\r\n getDocument: (state) => state.document,\r\n getKRList: (state) => state.kR,\r\n },\r\n mutations: {\r\n mutationRequest(state, data) {\r\n state.requestId = data;\r\n },\r\n mutationKR(state, data) {\r\n //console.log(data);\r\n\r\n state.kR = data;\r\n },\r\n mutationDocument(state, data) {\r\n state.document = data.data;\r\n },\r\n },\r\n actions: {\r\n createRequest({ rootState, commit }, query) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`${rootState.api}Standarts`, query)\r\n .then((resp) => {\r\n commit(\"mutationRequest\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n createDocument({ rootState }, { id, name }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${rootState.api}Standarts/RequestDocument/${id}`, {\r\n responseType: \"arraybuffer\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/Docx\",\r\n },\r\n })\r\n .then((resp) => {\r\n const url = window.URL.createObjectURL(new Blob([resp.data]));\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", ` ${name}.Docx`);\r\n document.body.appendChild(link);\r\n link.click();\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n getKR({ rootState, commit }, params) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`${rootState.apiKr}api.ashx?op=GetJsonClinrecsFilter`, params)\r\n .then((resp) => {\r\n commit(\"mutationKR\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n },\r\n};\r\n","import axios from 'axios'\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n\tstate: {\r\n\t\tcatalog: [],\r\n\t\tfilterCatalog: []\r\n\t},\r\n\tgetters: {\r\n\t\tgetСatalog: state => state.filterCatalog,\r\n\t},\r\n\tmutations: {\r\n\t\tsetСatalog(state, data) {\r\n\t\t\tstate.catalog = data\r\n\t\t\tstate.filterCatalog = data\r\n\t\t},\r\n\t\tsetSearch(state, {column, string}) {\r\n\t\t\tstate.filterCatalog = state.catalog.filter(item => {\r\n\t\t\t\tif (String(item[column]).search(String(string).toLowerCase()) != -1) {\r\n\t\t\t\t\treturn item\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tcatalog({ rootState, commit }) {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\taxios.get(`${rootState.api}Catalog/getcatalog`)\r\n\t\t\t\t.then(resp => {\r\n\t\t\t\t\tcommit('setСatalog', resp.data)\r\n\t\t\t\t\tresolve(resp)\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => {\r\n\t\t\t\t\treject(err)\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t},\r\n\t}\r\n};\r\n","import axios from \"axios\";\r\nimport _ from \"lodash\";\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n standarts: [],\r\n standartsFilter: [],\r\n filterStandarts: [],\r\n sortColumn: \"\",\r\n filterId: [],\r\n },\r\n getters: {\r\n getStandarts: (state) => state.standarts,\r\n standartsFilter: (state) => state.standartsFilter,\r\n filterStandarts: (state) => state.filterStandarts,\r\n },\r\n mutations: {\r\n // filterMutation(state, data) {\r\n // state.filterSMP = data;\r\n // state.smpState = data\r\n // .sort((a, b) => {\r\n // return b.number - a.number;\r\n // })\r\n // .map((item) => {\r\n // return {\r\n // data: `${item.stage.name} №${item.number} ${moment(\r\n // item.createdOn\r\n // ).format(\"DD.MM.YY\")}`,\r\n // name: item.name,\r\n // clinicalRecommendations: item.clinicalRecommendations\r\n // .map((cr) => {\r\n // return cr.name;\r\n // })\r\n // .join(\" \"),\r\n // mkbName: item.mkBs\r\n // .map((mkb) => {\r\n // return mkb.name;\r\n // })\r\n // .join(\" \"),\r\n // mkbCode: item.mkBs\r\n // .map((mkb) => {\r\n // return mkb.code;\r\n // })\r\n // .join(\" \"),\r\n // id: item.id,\r\n // isOpen: item.isOpen,\r\n // ageGroup: item.ageGroup ? item.ageGroup.name : \"\",\r\n // medicalCareTypes: item.medicalCareTypes\r\n // .map((med) => {\r\n // return med.name;\r\n // })\r\n // .join(\" \"),\r\n // status: item.status.name,\r\n // };\r\n // });\r\n // state.smpFilter = state.smpState;\r\n // },\r\n setStandarts(state, data) {\r\n data = data.reverse();\r\n data = data.map((item) => {\r\n return { ...item, isOpen: false };\r\n });\r\n console.log(data);\r\n state.filterStandarts = data;\r\n state.standarts = data;\r\n state.standartsFilter = state.standarts.map((m) => {\r\n return {\r\n ClinicalRecommendationName: m.ClinicalRecommendationName,\r\n Id: m.Id,\r\n MkbCode: m.MkbCode,\r\n MkbName: m.MkbName,\r\n ModifiedBy: m.ModifiedBy,\r\n ModifiedOn: m.ModifiedOn,\r\n StandartCode: m.StandartCode,\r\n StandartName: m.StandartName,\r\n StandartNumber: String(m.StandartNumber),\r\n StatusName: m.StatusName,\r\n isOpen: m.isOpen,\r\n };\r\n });\r\n },\r\n setSearch(state, { column, string }) {\r\n let str = string;\r\n if (string && column != \"StandartNumber\") {\r\n str = string[0].toUpperCase() + string.slice(1).toLowerCase();\r\n }\r\n state.standarts = state.standartsFilter.filter((item) => {\r\n if (item[column] != null) {\r\n if (\r\n item[column].indexOf(String(str)) != -1 ||\r\n item[column].length - 1 === str.length\r\n ) {\r\n return item;\r\n }\r\n }\r\n });\r\n },\r\n setSort(state, column) {\r\n if (state.sortColumn === column) {\r\n state.standarts = state.standarts.reverse();\r\n } else {\r\n state.sortColumn = column;\r\n state.standarts = _.sortBy(state.standarts, [\r\n function(o) {\r\n return o[column];\r\n },\r\n ]);\r\n }\r\n\r\n state.standarts = state.standarts.slice(0, state.itemPerPage);\r\n },\r\n // setSearch(state, { column, string }) {\r\n // let newString = String(string);\r\n // state.filterId = [];\r\n // state.standarts = state.standarts.filter((item) => {\r\n // if (\r\n // String(item[column])\r\n // .toLowerCase()\r\n // .search(newString.toLowerCase()) != -1\r\n // ) {\r\n // state.filterId.push(item.id);\r\n // return item;\r\n // }\r\n // });\r\n // },\r\n setStandartsId(state, data) {\r\n console.log(data);\r\n },\r\n },\r\n actions: {\r\n filterStandarts({ rootState, commit }, filters) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`${rootState.api}Standarts/reportforstatuses`, filters)\r\n .then((resp) => {\r\n commit(\"setStandarts\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n filterHistoryExcel({ rootState }, filters) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`${rootState.api}Standarts/reportforstatusesexcel`, filters, {\r\n responseType: \"arraybuffer\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/Docx\",\r\n },\r\n })\r\n .then((resp) => {\r\n const url = window.URL.createObjectURL(new Blob([resp.data]));\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", `history.xlsx`);\r\n document.body.appendChild(link);\r\n link.click();\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n filterStandartsId({ rootState, commit }, id) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(\r\n `${rootState.api}Standarts/statushistoryByStandartId?standartId=${id}`\r\n )\r\n .then((resp) => {\r\n commit(\"setStandartsId\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n },\r\n};\r\n","import axios from \"axios\";\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n countBells: null,\r\n listBells: [],\r\n },\r\n getters: {\r\n getCountBells: (state) => state.countBells,\r\n getlistBells: (state) => state.listBells,\r\n },\r\n mutations: {\r\n setBells(state, data) {\r\n state.listBells = data;\r\n },\r\n setCountBells(state, data) {\r\n state.countBells = data;\r\n },\r\n setNotifications(state, data) {\r\n console.log(state, data);\r\n },\r\n },\r\n actions: {\r\n getBells({ rootState, commit }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${rootState.api}Notifications?isRead=`)\r\n .then((resp) => {\r\n commit(\"setBells\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n countBells({ rootState, commit }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`${rootState.api}Notifications/UnreadCount`)\r\n .then((resp) => {\r\n commit(\"setCountBells\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n hideNotification({ rootState, commit }, id) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`${rootState.api}Notifications/SetAsRead`, [id])\r\n .then((resp) => {\r\n commit(\"setNotifications\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n },\r\n};\r\n","import axios from \"axios\";\r\nimport _ from \"lodash\";\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n users: [],\r\n usersFilter: [],\r\n filterUsers: [],\r\n sortColumn: \"\",\r\n filterId: [],\r\n },\r\n getters: {\r\n getUsers: (state) => state.users,\r\n usersFilter: (state) => state.usersFilter,\r\n filterUsers: (state) => state.filterUsers,\r\n },\r\n mutations: {\r\n setUser(state, data) {\r\n state.filterUsers = data;\r\n state.users = data\r\n .sort((a, b) => {\r\n if (a.fullName < b.fullName) {\r\n return -1;\r\n }\r\n\r\n if (a.fullName > b.fullName) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n })\r\n .map((item) => {\r\n return {\r\n roles: item.roles,\r\n id: item.id,\r\n login: item.login,\r\n fullName: item.fullName,\r\n isBlocked: item.isBlocked,\r\n signEnabled: item.signEnabled,\r\n signEnabledStr: item.signEnabled ? \"Да\" : \"Нет\",\r\n hasSignatureFile: item.hasSignatureFile,\r\n };\r\n });\r\n state.usersFilter = state.users;\r\n },\r\n setSearch(state, { column, string }) {\r\n let str = string;\r\n if (string) {\r\n str = string[0].toUpperCase() + string.slice(1).toLowerCase();\r\n }\r\n state.users = state.usersFilter.filter((item) => {\r\n if (item[column] != null) {\r\n if (item[column].indexOf(String(str)) != -1) {\r\n return item;\r\n }\r\n }\r\n });\r\n },\r\n setSort(state, column) {\r\n console.log(column);\r\n if (state.sortColumn === column) {\r\n console.log(1);\r\n state.users = state.users.reverse();\r\n } else {\r\n console.log(2);\r\n state.sortColumn = column;\r\n state.users = _.sortBy(state.users, [\r\n function(o) {\r\n return o[column];\r\n },\r\n ]);\r\n }\r\n\r\n state.users = state.users.slice(0, state.itemPerPage);\r\n },\r\n },\r\n actions: {\r\n userFilter({ rootState, commit }, filter) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`${rootState.api}SignUser/Filters`, filter)\r\n .then((resp) => {\r\n commit(\"setUser\", resp.data);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n changeEnabled({ rootState }, id) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .put(`${rootState.api}SignUser/${id}/EnableSign`)\r\n .then((resp) => {\r\n console.log(resp);\r\n resolve(resp);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n });\r\n });\r\n },\r\n },\r\n};\r\n","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\n\r\nimport login from \"./login\";\r\nimport smp from \"./smp\";\r\nimport lookups from \"./lookups\";\r\nimport documents from \"./documents\";\r\nimport users from \"./users\";\r\nimport archive from \"./archive\";\r\nimport reports from \"./reports\";\r\nimport request from \"./request\";\r\nimport catalog from \"./catalog\";\r\nimport history from \"./history\";\r\nimport bell from \"./bell\";\r\nimport commiss from \"./commis\";\r\n\r\nVue.use(Vuex);\r\n\r\nexport default new Vuex.Store({\r\n state: {\r\n api: \"https://apistandart.minzdrav.gov.ru/\",\r\n apiKr: \"https://apicr.minzdrav.gov.ru/\",\r\n },\r\n getters: {\r\n apiUrl: (state) => state.api,\r\n apiKr: (state) => state.api,\r\n },\r\n modules: {\r\n login: login,\r\n lookups: lookups,\r\n smp: smp,\r\n documents: documents,\r\n request: request,\r\n users: users,\r\n archive: archive,\r\n reports: reports,\r\n catalog: catalog,\r\n history: history,\r\n bell: bell,\r\n commiss: commiss,\r\n },\r\n});\r\n","import '@mdi/font/css/materialdesignicons.css'\r\nimport Vue from 'vue';\r\nimport Vuetify from 'vuetify/lib/framework';\r\n\r\nVue.use(Vuetify);\r\n\r\nexport default new Vuetify({\r\n icons: {\r\n iconfont: 'mdi'\r\n }\r\n});\r\n","import Vue from \"vue\";\r\nimport App from \"./App.vue\";\r\nimport router from \"./router\";\r\nimport store from \"./store\";\r\nimport Axios from \"axios\";\r\nimport VueLodash from \"vue-lodash\";\r\nimport lodash from \"lodash\";\r\nimport vuetify from \"./plugins/vuetify\";\r\n\r\n// name is optional\r\nVue.use(VueLodash, { name: \"custom\", lodash: lodash });\r\nVue.prototype.$http = Axios;\r\n\r\nconst token = localStorage.getItem(\"token\");\r\n\r\nif (token) {\r\n Vue.prototype.$http.defaults.headers.common[\"Authorization\"] = token;\r\n}\r\n\r\nVue.use(require(\"vue-moment\"));\r\n\r\nVue.config.productionTip = false;\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n vuetify,\r\n render: (h) => h(App),\r\n}).$mount(\"#app\");\r\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/analytics.f1e64791.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=752043ff&lang=scss&scoped=true&\"","'use strict';\r\nvar Colors = {\r\n ERROR: {value:'red'}, // неисправимая ошибка\r\n FAIL: {value:'red'}, // ошибка с решением\r\n INFO: {value:'yellow'}, // информация для пользователя\r\n UPDATE: {value:'yellow'}, // уведомление о новой версии\r\n SUCCESS: {value:'green'}, // завершенное действие\r\n WAIT: {value:'grey'} // ожидание загрузки\r\n};\r\n\r\nvar extImg = Colors.FAIL;\r\nvar extTxt = \"Расширение не загружено\";\r\n\r\nvar plgImg = Colors.WAIT;\r\nvar plgTxt = \"Плагин: ожидание загрузки расширения\";\r\n\r\nvar cspImg = Colors.WAIT;\r\nvar cspTxt = \"КриптоПро CSP: ожидание загрузки плагина\";\r\n\r\nvar objImg = Colors.WAIT;\r\nvar objTxt = \"Объекты плагина: ожидание загрузки провайдера\";\r\n\r\nfunction setImgSrcAttribute(id, color) {\r\n var elem = document.getElementById(id);\r\n var colorString = color.value ? color.value : 'red';\r\n if (elem) elem.className = \"dot \" + colorString;\r\n}\r\n\r\nfunction setInnerText(id, value, noescape) {\r\n var elem = document.getElementById(id);\r\n if (elem) elem.innerHTML = noescape === true ? value : escapeHtml(value);\r\n}\r\n\r\nfunction setHref(id, value) {\r\n var elem = document.getElementById(id);\r\n if (elem) elem.href = value;\r\n}\r\n\r\nfunction platformCheck() {\r\n if (navigator.userAgent.indexOf('Mac') !== -1) {\r\n return \"macOS\";\r\n } else if (navigator.userAgent.indexOf('Win') !== -1) {\r\n return \"Windows\";\r\n } else {\r\n return \"Linux\";\r\n }\r\n}\r\n\r\nfunction check_browser() {\r\n var ua= navigator.userAgent, tem, M= ua.match(/(opera|yabrowser|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n if(/trident/i.test(M[1])){\r\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\r\n return { name:'IE', version:(tem[1] || '')};\r\n }\r\n if(M[1] === 'Chrome'){\r\n tem = ua.match(/\\b(OPR|Edg|YaBrowser)\\/(\\d+)/);\r\n if (tem != null)\r\n return { name: tem[1].replace('OPR', 'Opera'), version: tem[2] };\r\n }\r\n M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];\r\n if ((tem = ua.match(/version\\/(\\d+)/i)) != null)\r\n M.splice(1, 1, tem[1]);\r\n return {name:M[0],version:M[1]};\r\n}\r\nvar browserSpecs = check_browser();\r\n\r\nfunction setStateForExtension(img, txt) {\r\n setImgSrcAttribute(\"ExtensionEnabledImg\", img);\r\n setInnerText(\"ExtensionEnabledTxt\", txt);\r\n extImg = img;\r\n extTxt = txt;\r\n if (extImg === Colors.FAIL) {\r\n // ставим значение по умолчанию в зависимости от системы\r\n var extUrl = \"https://docs.cryptopro.ru/cades/plugin/plugin-installation-windows\";\r\n if (platformCheck() === \"macOS\") {\r\n extUrl = \"https://docs.cryptopro.ru/cades/plugin/plugin-installation-macos\";\r\n } else if (platformCheck() === \"Linux\") {\r\n extUrl = \"https://docs.cryptopro.ru/cades/plugin/plugin-installation-unix\";\r\n }\r\n // ставим нужную ссылку если узнали какой браузер\r\n if (browserSpecs.name === 'Chrome'){\r\n extUrl = \"https://chrome.google.com/webstore/detail/cryptopro-extension-for-c/iifchhfnnmpdbibifmljnfjhpififfog\";\r\n } else if (browserSpecs.name === 'YaBrowser' | browserSpecs.name === 'Opera') {\r\n extUrl = \"https://addons.opera.com/en/extensions/details/cryptopro-extension-for-cades-browser-plug-in\";\r\n } else if (browserSpecs.name === 'Firefox') {\r\n extUrl = \"https://www.cryptopro.ru/sites/default/files/products/cades/extensions/firefox_cryptopro_extension_latest.xpi\";\r\n }\r\n setInnerText(\"ExtensionSolution\", \"Загрузить\", true);\r\n } else {\r\n setInnerText(\"ExtensionSolution\",\"\");\r\n }\r\n}\r\n\r\nfunction setStateForPlugin(img, txt) {\r\n setImgSrcAttribute(\"PluginEnabledImg\", img);\r\n setInnerText(\"PluginEnabledTxt\", txt);\r\n plgImg = img;\r\n plgTxt = txt;\r\n if (plgImg === Colors.UPDATE) {\r\n setInnerText(\"PluginSolution\", \"Обновить\", true);\r\n } else if (plgImg === Colors.FAIL) {\r\n setInnerText(\"PluginSolution\", \"Загрузите плагин и обновите страницу\", true);\r\n } else {\r\n setInnerText(\"PluginSolution\", \"\");\r\n }\r\n\r\n}\r\n\r\nfunction setStateForCSP(img, txt) {\r\n setImgSrcAttribute(\"CspEnabledImg\", img);\r\n setInnerText(\"CspEnabledTxt\", txt);\r\n cspImg = img;\r\n cspTxt = txt;\r\n if (cspImg === Colors.FAIL) {\r\n setInnerText(\"CspSolution\", \"Загрузите CSP и обновите страницу\", true);\r\n } else {\r\n setInnerText(\"CspSolution\", \"\");\r\n }\r\n}\r\n\r\nfunction setStateForObjects(img, txt) {\r\n setImgSrcAttribute(\"ObjectsLoadedImg\", img);\r\n setInnerText(\"ObjectsLoadedTxt\", txt);\r\n objImg = img;\r\n objTxt = txt;\r\n if (objImg === Colors.FAIL) {\r\n setInnerText(\"ObjectsSolution\", \"Обновите страницу или обратитесь в техподдержку\", true);\r\n } else {\r\n setInnerText(\"ObjectsSolution\", \"\");\r\n }\r\n}\r\n\r\nfunction extensionLoadedCallback() {\r\n setStateForExtension(Colors.SUCCESS, \"Расширение загружено\");\r\n window.cadesplugin_extension_loaded = true;\r\n}\r\n\r\nfunction finalLoad() {\r\n setStateForExtension(extImg, extTxt);\r\n\r\n setStateForPlugin(plgImg, plgTxt);\r\n \r\n setStateForCSP(cspImg, cspTxt);\r\n \r\n setStateForObjects(objImg, objTxt);\r\n \r\n setInnerText(\"Platform\", \"Платформа: \" + platformCheck());\r\n setInnerText(\"UserAgent\", \"UserAgent: \" + navigator.userAgent);\r\n};\r\n\r\nwindow.cadesplugin_extension_loaded_callback = extensionLoadedCallback;\r\nwindow.onload = finalLoad;\r\n\r\n\r\n\r\nvar isPluginEnabled = false;\r\nvar fileContent; // Переменная для хранения информации из файла, значение присваивается в cades_bes_file.html\r\nvar global_selectbox_container = new Array();\r\nvar global_selectbox_container_thumbprint = new Array();\r\nvar global_isFromCont = new Array();\r\nvar global_selectbox_counter = 0;\r\nfunction getXmlHttp(){\r\n var xmlhttp;\r\n if (typeof XMLHttpRequest != 'undefined') {\r\n // IE7+\r\n xmlhttp = new XMLHttpRequest();\r\n } else {\r\n // IE < 7\r\n try {\r\n xmlhttp = new ActiveXObject(\"Msxml2.XMLHTTP\");\r\n } catch (e) {\r\n try {\r\n xmlhttp = new ActiveXObject(\"Microsoft.XMLHTTP\");\r\n } catch (E) {\r\n xmlhttp = false;\r\n }\r\n }\r\n }\r\n return xmlhttp;\r\n}\r\nfunction CertStatusEmoji(isValid, hasPrivateKey) {\r\n var _emoji = \"\";\r\n if (isValid) {\r\n _emoji = \"\\u2705\";\r\n } else {\r\n _emoji = \"\\u274C\";\r\n }\r\n //if (hasPrivateKey) {\r\n // _emoji += \"\\uD83D\\uDD11\";\r\n //} else {\r\n // _emoji += String.fromCodePoint(0x1F6AB);\r\n //}\r\n return _emoji;\r\n}\r\nvar async_code_included = 0;\r\nvar async_Promise;\r\nvar async_resolve;\r\n\r\nfunction escapeHtml(unsafe)\r\n{\r\n return unsafe\r\n .replace(/&/g, \"&\")\r\n .replace(//g, \">\")\r\n .replace(/\"/g, \""\")\r\n .replace(/'/g, \"'\");\r\n}\r\n\r\nfunction include_async_code()\r\n{\r\n if(async_code_included)\r\n {\r\n return async_Promise;\r\n }\r\n //var fileref = document.createElement('script');\r\n //fileref.setAttribute(\"type\", \"text/javascript\");\r\n //fileref.setAttribute(\"src\", \"async_code.js?v=28675b11\");\r\n //document.getElementsByTagName(\"head\")[0].appendChild(fileref);\r\n async_Promise = new Promise(function(resolve, reject){\r\n async_resolve = resolve;\r\n });\r\n async_code_included = 1;\r\n return async_Promise;\r\n}\r\ninclude_async_code().then(function(){\r\n return null;\r\n});\r\n\r\nfunction cadesPluginUUID() {\r\n if (!localStorage.hasOwnProperty(\"cadesPluginUUID\")) {\r\n var uuid = createUUID();\r\n localStorage.setItem(\"cadesPluginUUID\", uuid);\r\n return uuid;\r\n } else {\r\n var uuid = localStorage.getItem(\"cadesPluginUUID\");\r\n return uuid;\r\n }\r\n }\r\n \r\nfunction createUUID() {\r\n var s = [];\r\n var hexDigits = \"0123456789abcdef\";\r\n for (var i = 0; i < 36; i++) {\r\n s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);\r\n }\r\n s[14] = \"4\"; // bits 12-15 of the time_hi_and_version field to 0010\r\n s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01\r\n s[8] = s[13] = s[18] = s[23] = \"-\";\r\n \r\n return s.join(\"\");\r\n}\r\n \r\nfunction getTelemetryData(pluginVersion, cspVersion) {\r\n var osName = platformCheck();\r\n var uuid = cadesPluginUUID();\r\n \r\n return {\r\n plugin: pluginVersion,\r\n csp: cspVersion,\r\n os: osName,\r\n uuid: uuid,\r\n };\r\n}\r\n\r\nexport function Common_VerifyCadesBES(signature, data, flag)\r\n{\r\n var canAsync = !!cadesplugin.CreateObjectAsync;\r\n if(canAsync)\r\n {\r\n return new Promise(function (resolve, reject) {\r\n include_async_code().then(function(){\r\n VerifyCadesBES_Async(signature, data, flag).then(resolve, reject);\r\n }, reject);\r\n });\r\n }else\r\n {\r\n return VerifyCadesBES_NPAPI(signature, data);\r\n }\r\n}\r\n\r\nexport function Common_VerifyCadesBES_File(signature, file, flag)\r\n{\r\n let sign = signature;\r\n var canAsync = !!cadesplugin.CreateObjectAsync;\r\n if(canAsync)\r\n {\r\n return new Promise(function (resolve, reject) {\r\n //debugger;\r\n include_async_code().then(function(){\r\n VerifyCadesBES_File2_Async(sign, file, flag).then(resolve, reject);\r\n }, reject);\r\n });\r\n }else\r\n {\r\n return VerifyCadesBES_NPAPI(sign, file);\r\n }\r\n}\r\n\r\nexport function Common_VerifyCadesBES_Base64(signature, dataInBase64, flag)\r\n{\r\n var canAsync = !!cadesplugin.CreateObjectAsync;\r\n if(canAsync)\r\n {\r\n return new Promise(function (resolve, reject) {\r\n include_async_code().then(function(){\r\n VerifyCadesBES_B64_Async(signature, dataInBase64, flag).then(resolve, reject);\r\n }, reject);\r\n });\r\n }else\r\n {\r\n return VerifyCadesBES_NPAPI(signature, dataInBase64);\r\n }\r\n}\r\n\r\nexport function Common_SignCadesBES(cert, text, setDisplayData)\r\n{\r\n var canAsync = !!cadesplugin.CreateObjectAsync;\r\n if(canAsync)\r\n {\r\n return new Promise(function (resolve, reject) {\r\n include_async_code().then(function(){\r\n SignCadesBES_Async(cert, text, setDisplayData).then(resolve, reject);\r\n }, reject);\r\n });\r\n }else\r\n {\r\n return SignCadesBES_NPAPI(cert, text, setDisplayData);\r\n }\r\n}\r\n\r\nexport function Common_SignCadesBES_File(cert, file, flag) {\r\n //console.debug('Common_SignCadesBES_File', file);\r\n var canAsync = !!cadesplugin.CreateObjectAsync;\r\n if (canAsync) {\r\n return new Promise(function (resolve, reject) {\r\n include_async_code().then(function(){\r\n SignCadesBES_File_Async(cert, file, flag).then(resolve, reject);\r\n }, reject);\r\n });\r\n } else {\r\n return SignCadesBES_NPAPI_File(cert, file);\r\n }\r\n}\r\n\r\nfunction Common_CheckForPlugIn() {\r\n cadesplugin.set_log_level(cadesplugin.LOG_LEVEL_ERROR);\r\n var canAsync = !!cadesplugin.CreateObjectAsync;\r\n if(canAsync)\r\n {\r\n include_async_code().then(function(){\r\n return CheckForPlugIn_Async();\r\n });\r\n }else\r\n {\r\n return CheckForPlugIn_NPAPI();\r\n }\r\n}\r\n\r\nfunction GetCertificate_NPAPI(certListBoxId) {\r\n var e = document.getElementById(certListBoxId);\r\n var selectedCertID = e.selectedIndex;\r\n if (selectedCertID == -1) {\r\n alert(\"Select certificate\");\r\n return;\r\n }\r\n return global_selectbox_container[selectedCertID];\r\n}\r\n\r\nfunction ClearCertInfo(field_prefix) {\r\n document.getElementById(field_prefix + \"subject\").innerHTML = \"\";\r\n document.getElementById(field_prefix + \"issuer\").innerHTML = \"\";\r\n document.getElementById(field_prefix + \"from\").innerHTML = \"\";\r\n document.getElementById(field_prefix + \"till\").innerHTML = \"\";\r\n document.getElementById(field_prefix + \"provname\").innerHTML = \"\";\r\n document.getElementById(field_prefix + \"privateKeyLink\").innerHTML = \"\";\r\n document.getElementById(field_prefix + \"algorithm\").innerHTML = \"\";\r\n document.getElementById(field_prefix + \"status\").innerHTML = \"\";\r\n document.getElementById(field_prefix + \"location\").innerHTML = \"\";\r\n}\r\n\r\nfunction FillCertInfo_NPAPI(certificate, certBoxId, isFromContainer)\r\n{\r\n var BoxId;\r\n var field_prefix;\r\n if(typeof(certBoxId) == 'undefined' || certBoxId == \"CertListBox\")\r\n {\r\n BoxId = 'cert_info';\r\n field_prefix = '';\r\n }else if (certBoxId == \"CertListBox1\") {\r\n BoxId = 'cert_info1';\r\n field_prefix = 'cert_info1';\r\n } else if (certBoxId == \"CertListBox2\") {\r\n BoxId = 'cert_info2';\r\n field_prefix = 'cert_info2';\r\n } else {\r\n BoxId = certBoxId;\r\n field_prefix = certBoxId;\r\n }\r\n\r\n ClearCertInfo(field_prefix);\r\n\r\n var certObj = new CertificateObj(certificate);\r\n var Now = new Date();\r\n var ValidToDate = new Date(certificate.ValidToDate);\r\n var ValidFromDate = new Date(certificate.ValidFromDate);\r\n document.getElementById(BoxId).style.display = '';\r\n document.getElementById(field_prefix + \"subject\").innerHTML = \"Владелец: \" + escapeHtml(certObj.GetCertName()) + \"\";\r\n document.getElementById(field_prefix + \"issuer\").innerHTML = \"Издатель: \" + escapeHtml(certObj.GetIssuer()) + \"\";\r\n document.getElementById(field_prefix + \"from\").innerHTML = \"Выдан: \" + escapeHtml(certObj.GetCertFromDate()) + \" UTC\";\r\n document.getElementById(field_prefix + \"till\").innerHTML = \"Действителен до: \" + escapeHtml(certObj.GetCertTillDate()) + \" UTC\";\r\n var hasPrivateKey = certificate.HasPrivateKey();\r\n if (hasPrivateKey) {\r\n document.getElementById(field_prefix + \"provname\").innerHTML = \"Криптопровайдер: \" + escapeHtml(certObj.GetPrivateKeyProviderName()) + \"\";\r\n try {\r\n var privateKeyLink = certObj.GetPrivateKeyLink();\r\n document.getElementById(field_prefix + \"privateKeyLink\").innerHTML = \"Ссылка на закрытый ключ: \" + escapeHtml(privateKeyLink) + \"\";\r\n } catch (e) {\r\n document.getElementById(field_prefix + \"privateKeyLink\").innerHTML = \"Ссылка на закрытый ключ: Набор ключей не существует\";\r\n }\r\n } else {\r\n document.getElementById(field_prefix + \"provname\").innerHTML = \"Криптопровайдер:\";\r\n document.getElementById(field_prefix + \"privateKeyLink\").innerHTML = \"Ссылка на закрытый ключ:\";\r\n }\r\n\r\n document.getElementById(field_prefix + \"algorithm\").innerHTML = \"Алгоритм ключа: \" + escapeHtml(certObj.GetPubKeyAlgorithm()) + \"\";\r\n var certIsValid = false;\r\n if(Now < ValidFromDate) {\r\n document.getElementById(field_prefix + \"status\").innerHTML = \"Статус: Срок действия не наступил\";\r\n } else if( Now > ValidToDate){\r\n document.getElementById(field_prefix + \"status\").innerHTML = \"Статус: Срок действия истек\";\r\n } else if( !hasPrivateKey ){\r\n document.getElementById(field_prefix + \"status\").innerHTML = \"Статус: Нет привязки к закрытому ключу\";\r\n } else {\r\n //если попадется сертификат с неизвестным алгоритмом\r\n //тут будет исключение. В таком сертификате просто пропускаем такое поле\r\n try {\r\n certIsValid = certificate.IsValid().Result;\r\n } catch (e) {\r\n certIsValid = false;\r\n }\r\n if (certIsValid) {\r\n document.getElementById(field_prefix + \"status\").innerHTML = \"Статус: Действителен\";\r\n } else {\r\n document.getElementById(field_prefix + \"status\").innerHTML = \"Статус: Ошибка при проверке цепочки сертификатов. Возможно на компьютере не установлены сертификаты УЦ, выдавшего ваш сертификат\";\r\n }\r\n }\r\n if(isFromContainer)\r\n {\r\n if (certIsValid) {\r\n document.getElementById(field_prefix + \"location\").innerHTML = \"Установлен в хранилище: Нет. При такой конфигурации не все приложения и порталы могут работать
Установить
\";\r\n } else {\r\n document.getElementById(field_prefix + \"location\").innerHTML = \"Установлен в хранилище: Нет\";\r\n }\r\n } else {\r\n document.getElementById(field_prefix + \"location\").innerHTML = \"Установлен в хранилище: Да\";\r\n }\r\n}\r\n\r\nfunction MakeCadesBesSign_NPAPI(dataToSign, certObject, setDisplayData, isBase64) {\r\n var errormes = \"\";\r\n\r\n try {\r\n var oSigner = cadesplugin.CreateObject(\"CAdESCOM.CPSigner\");\r\n } catch (err) {\r\n errormes = \"Failed to create CAdESCOM.CPSigner: \" + err.number;\r\n alert(errormes);\r\n throw errormes;\r\n }\r\n\r\n if (oSigner) {\r\n oSigner.Certificate = certObject;\r\n }\r\n else {\r\n errormes = \"Failed to create CAdESCOM.CPSigner\";\r\n alert(errormes);\r\n throw errormes;\r\n }\r\n\r\n try {\r\n var oSignedData = cadesplugin.CreateObject(\"CAdESCOM.CadesSignedData\");\r\n } catch (err) {\r\n alert('Failed to create CAdESCOM.CadesSignedData: ' + err.number);\r\n return;\r\n }\r\n\r\n var CADES_BES = 1;\r\n var Signature;\r\n\r\n if (dataToSign) {\r\n oSignedData.ContentEncoding = 1; //CADESCOM_BASE64_TO_BINARY\r\n // Данные на подпись ввели\r\n if (typeof (isBase64) == 'undefined') {\r\n oSignedData.Content = Base64.encode(dataToSign);\r\n } else {\r\n oSignedData.Content = dataToSign;\r\n }\r\n }\r\n\r\n if (typeof (setDisplayData) != 'undefined') {\r\n //Set display data flag flag for devices like Rutoken PinPad\r\n oSignedData.DisplayData = 1;\r\n }\r\n oSigner.Options = 1; //CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN\r\n try {\r\n Signature = oSignedData.SignCades(oSigner, CADES_BES);\r\n }\r\n catch (err) {\r\n errormes = \"Не удалось создать подпись из-за ошибки: \" + cadesplugin.getLastError(err);\r\n alert(cadesplugin.getLastError(err));\r\n throw errormes;\r\n }\r\n return Signature;\r\n}\r\n\r\nfunction MakeCadesEnhanced_NPAPI(dataToSign, tspService, certObject, sign_type) {\r\n var errormes = \"\";\r\n\r\n try {\r\n var oSigner = cadesplugin.CreateObject(\"CAdESCOM.CPSigner\");\r\n } catch (err) {\r\n errormes = \"Failed to create CAdESCOM.CPSigner: \" + err.number;\r\n alert(errormes);\r\n throw errormes;\r\n }\r\n\r\n if (oSigner) {\r\n oSigner.Certificate = certObject;\r\n }\r\n else {\r\n errormes = \"Failed to create CAdESCOM.CPSigner\";\r\n alert(errormes);\r\n throw errormes;\r\n }\r\n\r\n try {\r\n var oSignedData = cadesplugin.CreateObject(\"CAdESCOM.CadesSignedData\");\r\n } catch (err) {\r\n alert('Failed to create CAdESCOM.CadesSignedData: ' + cadesplugin.getLastError(err));\r\n return;\r\n }\r\n\r\n var Signature;\r\n\r\n if (dataToSign) {\r\n // Данные на подпись ввели\r\n oSignedData.Content = dataToSign;\r\n }\r\n oSigner.Options = 1; //CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN\r\n oSigner.TSAAddress = tspService;\r\n try {\r\n Signature = oSignedData.SignCades(oSigner, sign_type);\r\n }\r\n catch (err) {\r\n errormes = \"Не удалось создать подпись из-за ошибки: \" + cadesplugin.getLastError(err);\r\n alert(errormes);\r\n throw errormes;\r\n }\r\n return Signature;\r\n}\r\n\r\nfunction MakeXMLSign_NPAPI(dataToSign, certObject, signatureType) {\r\n try {\r\n var oSigner = cadesplugin.CreateObject(\"CAdESCOM.CPSigner\");\r\n } catch (err) {\r\n errormes = \"Failed to create CAdESCOM.CPSigner: \" + err.number;\r\n alert(errormes);\r\n throw errormes;\r\n }\r\n\r\n if (oSigner) {\r\n oSigner.Certificate = certObject;\r\n }\r\n else {\r\n errormes = \"Failed to create CAdESCOM.CPSigner\";\r\n alert(errormes);\r\n throw errormes;\r\n }\r\n\r\n var signMethod = \"\";\r\n var digestMethod = \"\";\r\n\r\n var pubKey = certObject.PublicKey();\r\n var algo = pubKey.Algorithm;\r\n var algoOid = algo.Value;\r\n if (algoOid == \"1.2.643.7.1.1.1.1\") { // алгоритм подписи ГОСТ Р 34.10-2012 с ключом 256 бит\r\n signMethod = \"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256\";\r\n digestMethod = \"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256\";\r\n }\r\n else if (algoOid == \"1.2.643.7.1.1.1.2\") { // алгоритм подписи ГОСТ Р 34.10-2012 с ключом 512 бит\r\n signMethod = \"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-512\";\r\n digestMethod = \"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-512\";\r\n }\r\n else if (algoOid == \"1.2.643.2.2.19\") { // алгоритм ГОСТ Р 34.10-2001\r\n signMethod = \"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411\";\r\n digestMethod = \"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411\";\r\n }\r\n else {\r\n errormes = \"Данная демо страница поддерживает XML подпись сертификатами с алгоритмом ГОСТ Р 34.10-2012, ГОСТ Р 34.10-2001\";\r\n throw errormes;\r\n }\r\n \r\n var CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED = 0|signatureType;\r\n if (signatureType > cadesplugin.CADESCOM_XADES_BES) {\r\n var tspService = document.getElementById(\"TSPServiceTxtBox\").value;\r\n oSigner.TSAAddress = tspService;\r\n }\r\n \r\n try {\r\n var oSignedXML = cadesplugin.CreateObject(\"CAdESCOM.SignedXML\");\r\n } catch (err) {\r\n alert('Failed to create CAdESCOM.SignedXML: ' + cadesplugin.getLastError(err));\r\n return;\r\n }\r\n\r\n oSignedXML.Content = dataToSign;\r\n oSignedXML.SignatureType = CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED;\r\n oSignedXML.SignatureMethod = signMethod;\r\n oSignedXML.DigestMethod = digestMethod;\r\n\r\n\r\n var sSignedMessage = \"\";\r\n try {\r\n sSignedMessage = oSignedXML.Sign(oSigner);\r\n }\r\n catch (err) {\r\n errormes = \"Не удалось создать подпись из-за ошибки: \" + cadesplugin.getLastError(err);\r\n alert(errormes);\r\n throw errormes;\r\n }\r\n\r\n return sSignedMessage;\r\n}\r\n\r\nfunction GetSignatureTitleElement()\r\n{\r\n var elementSignatureTitle = null;\r\n var x = document.getElementsByName(\"SignatureTitle\");\r\n\r\n if(x.length == 0)\r\n {\r\n elementSignatureTitle = document.getElementById(\"SignatureTxtBox\").parentNode.previousSibling;\r\n\r\n if(elementSignatureTitle.nodeName == \"P\")\r\n {\r\n return elementSignatureTitle;\r\n }\r\n }\r\n else\r\n {\r\n elementSignatureTitle = x[0];\r\n }\r\n\r\n return elementSignatureTitle;\r\n}\r\n\r\nfunction SignCadesBES_NPAPI(certListBoxId, data, setDisplayData) {\r\n var certificate = GetCertificate_NPAPI(certListBoxId);\r\n var dataToSign = document.getElementById(\"DataToSignTxtBox\").value;\r\n if(typeof(data) != 'undefined')\r\n {\r\n dataToSign = data;\r\n }\r\n var x = GetSignatureTitleElement();\r\n try\r\n {\r\n var signature = MakeCadesBesSign_NPAPI(dataToSign, certificate, setDisplayData);\r\n document.getElementById(\"SignatureTxtBox\").innerHTML = escapeHtml(signature);\r\n if(x!=null)\r\n {\r\n x.innerHTML = \"Подпись сформирована успешно:\";\r\n }\r\n }\r\n catch(err)\r\n {\r\n if(x!=null)\r\n {\r\n x.innerHTML = \"Возникла ошибка:\";\r\n }\r\n document.getElementById(\"SignatureTxtBox\").innerHTML = escapeHtml(err);\r\n }\r\n}\r\n\r\nfunction SignCadesBES_NPAPI_File(certListBoxId) {\r\n var certificate = GetCertificate_NPAPI(certListBoxId);\r\n var dataToSign = fileContent;\r\n var x = GetSignatureTitleElement();\r\n try {\r\n var StartTime = Date.now();\r\n var setDisplayData;\r\n var signature = MakeCadesBesSign_NPAPI(dataToSign, certificate, setDisplayData, 1);\r\n var EndTime = Date.now();\r\n document.getElementsByName('TimeTitle')[0].innerHTML = \"Время выполнения: \" + (EndTime - StartTime) + \" мс\";\r\n document.getElementById(\"SignatureTxtBox\").innerHTML = escapeHtml(signature);\r\n if (x != null) {\r\n x.innerHTML = \"Подпись сформирована успешно:\";\r\n }\r\n }\r\n catch (err) {\r\n if (x != null) {\r\n x.innerHTML = \"Возникла ошибка:\";\r\n }\r\n document.getElementById(\"SignatureTxtBox\").innerHTML = escapeHtml(err);\r\n }\r\n}\r\n\r\nfunction SignCadesEnhanced_NPAPI(certListBoxId, sign_type) {\r\n var certificate = GetCertificate_NPAPI(certListBoxId);\r\n var dataToSign = document.getElementById(\"DataToSignTxtBox\").value;\r\n var tspService = document.getElementById(\"TSPServiceTxtBox\").value ;\r\n var x = GetSignatureTitleElement();\r\n try\r\n {\r\n var signature = MakeCadesEnhanced_NPAPI(dataToSign, tspService, certificate, sign_type);\r\n document.getElementById(\"SignatureTxtBox\").innerHTML = escapeHtml(signature);\r\n if(x!=null)\r\n {\r\n x.innerHTML = \"Подпись сформирована успешно:\";\r\n }\r\n }\r\n catch(err)\r\n {\r\n if(x!=null)\r\n {\r\n x.innerHTML = \"Возникла ошибка:\";\r\n }\r\n document.getElementById(\"SignatureTxtBox\").innerHTML = escapeHtml(err);\r\n }\r\n}\r\n\r\nfunction MakeVersionString(oVer)\r\n{\r\n var strVer;\r\n if(typeof(oVer)==\"string\")\r\n return oVer;\r\n else\r\n return oVer.MajorVersion + \".\" + oVer.MinorVersion + \".\" + oVer.BuildVersion;\r\n}\r\n\r\nfunction CheckForPlugIn_NPAPI() {\r\n function VersionCompare_NPAPI(StringVersion, CurrentVersion)\r\n {\r\n // on error occurred suppose that current is actual\r\n var isActualVersion = true;\r\n if(typeof(CurrentVersion) === \"string\")\r\n return isActualVersion;\r\n\r\n var arr = StringVersion.split('.');\r\n var NewVersion = {\r\n MajorVersion: parseInt(arr[0]), \r\n MinorVersion: parseInt(arr[1]), \r\n BuildVersion: parseInt(arr[2])\r\n };\r\n if(NewVersion.MajorVersion > CurrentVersion.MajorVersion) {\r\n isActualVersion = false;\r\n } else if(NewVersion.MinorVersion > CurrentVersion.MinorVersion) {\r\n isActualVersion = false;\r\n } else if(NewVersion.BuildVersion > CurrentVersion.BuildVersion) {\r\n isActualVersion = false;\r\n }\r\n\r\n return isActualVersion;\r\n }\r\n\r\n function GetCSPVersion_NPAPI() {\r\n try {\r\n var oAbout = cadesplugin.CreateObject(\"CAdESCOM.About\");\r\n } catch (err) {\r\n alert('Failed to create CAdESCOM.About: ' + cadesplugin.getLastError(err));\r\n return;\r\n }\r\n var ver = oAbout.CSPVersion(\"\", 80);\r\n setStateForCSP(Colors.SUCCESS, \"Криптопровайдер загружен\");\r\n return ver.MajorVersion + \".\" + ver.MinorVersion + \".\" + ver.BuildVersion;\r\n }\r\n\r\n function GetCSPName_NPAPI() {\r\n var sCSPName = \"\";\r\n try {\r\n var oAbout = cadesplugin.CreateObject(\"CAdESCOM.About\");\r\n sCSPName = oAbout.CSPName(80);\r\n\r\n } catch (err) {\r\n }\r\n return sCSPName;\r\n }\r\n\r\n function ShowCSPVersion_NPAPI(CurrentPluginVersion)\r\n {\r\n if(typeof(CurrentPluginVersion) != \"string\")\r\n {\r\n document.getElementById('CSPVersionTxt').innerHTML = escapeHtml(\"Версия криптопровайдера: \" + GetCSPVersion_NPAPI());\r\n }\r\n var sCSPName = GetCSPName_NPAPI();\r\n if(sCSPName!=\"\")\r\n {\r\n document.getElementById('CSPNameTxt').innerHTML = escapeHtml(\"Криптопровайдер: \" + sCSPName);\r\n }\r\n }\r\n\r\n function CheckUpdateServer(CurrentPluginVersion, CurrentCSPVersion) {\r\n var StringPluginVersion = MakeVersionString(CurrentPluginVersion);\r\n var telemetryData = getTelemetryData(StringPluginVersion, CurrentCSPVersion);\r\n var paramsArray = [];\r\n var params = \"?\";\r\n for (var property in telemetryData) {\r\n paramsArray.push(property + \"=\" + telemetryData[property].toLowerCase());\r\n }\r\n params += paramsArray.join('&');\r\n try {\r\n var xmlhttp = getXmlHttp();\r\n xmlhttp.onreadystatechange = function() {\r\n if (xmlhttp.readyState == 4) {\r\n if(xmlhttp.status == 200) {\r\n var jsonResponse = JSON.parse(xmlhttp.responseText);\r\n var versions = jsonResponse.versions;\r\n for (var i = 0; i < versions.length; i++) {\r\n var PluginBaseVersion = versions[i].version;\r\n if (isPluginWorked) { // плагин работает, объекты создаются\r\n if (!VersionCompare_NPAPI(PluginBaseVersion, CurrentPluginVersion)) {\r\n setStateForPlugin(Colors.UPDATE, \"Плагин загружен, но есть более свежая версия\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n xmlhttp.open(\"GET\", \"https://api.cryptopro.ru/v1/cades/getState\" + params, true);\r\n xmlhttp.send(null);\r\n }\r\n catch (exception) {\r\n // check version failed, nothing to do\r\n }\r\n }\r\n\r\n var isPluginLoaded = false;\r\n var isPluginWorked = false;\r\n var isActualVersion = false;\r\n setStateForExtension(Colors.SUCCESS, \"Расширение не требуется\");\r\n setStateForPlugin(Colors.INFO, \"Плагин загружается\");\r\n setStateForCSP(Colors.INFO, \"КриптоПро CSP не загружен\");\r\n try {\r\n var oAbout = cadesplugin.CreateObject(\"CAdESCOM.About\");\r\n isPluginLoaded = true;\r\n isPluginEnabled = true;\r\n isPluginWorked = true;\r\n\r\n // Это значение будет проверяться сервером при загрузке демо-страницы\r\n var CurrentPluginVersion = oAbout.PluginVersion;\r\n if( typeof(CurrentPluginVersion) === \"undefined\") {\r\n CurrentPluginVersion = oAbout.Version;\r\n }\r\n setStateForPlugin(Colors.SUCCESS, \"Плагин загружен\");\r\n ShowCSPVersion_NPAPI(CurrentPluginVersion);\r\n CheckUpdateServer(CurrentPluginVersion, GetCSPVersion_NPAPI());\r\n }\r\n catch (err) {\r\n // Объект создать не удалось, проверим, установлен ли\r\n // вообще плагин. Такая возможность есть не во всех браузерах\r\n var mimetype = navigator.mimeTypes[\"application/x-cades\"];\r\n if (mimetype) {\r\n isPluginLoaded = true;\r\n var plugin = mimetype.enabledPlugin;\r\n if (plugin) {\r\n isPluginEnabled = true;\r\n }\r\n }\r\n }\r\n if (!isPluginWorked) { // плагин не работает, объекты не создаются\r\n if (isPluginLoaded) { // плагин загружен\r\n if (!isPluginEnabled) { // плагин загружен, но отключен\r\n setStateForPlugin(Colors.ERROR, \"Плагин загружен, но отключен в настройках браузера\");\r\n }\r\n else { // плагин загружен и включен, но объекты не создаются\r\n setStateForPlugin(Colors.ERROR, \"Плагин загружен, но не удается создать объекты. Проверьте настройки браузера\");\r\n }\r\n }\r\n else { // плагин не загружен\r\n setStateForPlugin(Colors.ERROR, \"Плагин не загружен\");\r\n }\r\n return;\r\n }\r\n setStateForObjects(Colors.INFO, \"Идет перечисление объектов плагина\");\r\n setTimeout(function() {\r\n FillCertList_NPAPI('CertListBox');\r\n }, 1);\r\n}\r\n\r\nfunction CertificateObj(certObj)\r\n{\r\n this.cert = certObj;\r\n this.certFromDate = new Date(this.cert.ValidFromDate);\r\n this.certTillDate = new Date(this.cert.ValidToDate);\r\n}\r\n\r\nCertificateObj.prototype.check = function(digit)\r\n{\r\n return (digit<10) ? \"0\"+digit : digit;\r\n}\r\n\r\nCertificateObj.prototype.checkQuotes = function(str)\r\n{\r\n var result = 0, i = 0;\r\n for(i;i=0)\r\n {\r\n var end = from.indexOf(', ', begin);\r\n while(end > 0) {\r\n if (this.checkQuotes(from.substr(begin, end-begin)))\r\n break;\r\n end = from.indexOf(', ', end + 1);\r\n }\r\n certName = (end < 0) ? from.substr(begin) : from.substr(begin, end - begin);\r\n }\r\n\r\n return certName;\r\n}\r\n\r\nCertificateObj.prototype.DateTimePutTogether = function(certDate)\r\n{\r\n return this.check(certDate.getUTCDate())+\".\"+this.check(certDate.getUTCMonth()+1)+\".\"+certDate.getFullYear() + \" \" +\r\n this.check(certDate.getUTCHours()) + \":\" + this.check(certDate.getUTCMinutes()) + \":\" + this.check(certDate.getUTCSeconds());\r\n}\r\n\r\nCertificateObj.prototype.GetCertString = function()\r\n{\r\n return this.extract(this.cert.SubjectName,'CN=') + \"; Выдан: \" + this.GetCertFromDate() + \"; id: \";// + this.cert.GetCertInfoString() ;\r\n}\r\n\r\nCertificateObj.prototype.GetCertFromDate = function()\r\n{\r\n return this.DateTimePutTogether(this.certFromDate);\r\n}\r\n\r\nCertificateObj.prototype.GetCertTillDate = function()\r\n{\r\n return this.DateTimePutTogether(this.certTillDate);\r\n}\r\n\r\nCertificateObj.prototype.GetPubKeyAlgorithm = function()\r\n{\r\n return this.cert.PublicKey().Algorithm.FriendlyName;\r\n}\r\n\r\nCertificateObj.prototype.GetCertName = function()\r\n{\r\n return this.extract(this.cert.SubjectName, 'CN=');\r\n}\r\n\r\nCertificateObj.prototype.GetIssuer = function()\r\n{\r\n return this.extract(this.cert.IssuerName, 'CN=');\r\n}\r\n\r\nCertificateObj.prototype.GetPrivateKeyProviderName = function()\r\n{\r\n return this.cert.PrivateKey.ProviderName;\r\n}\r\n\r\nCertificateObj.prototype.GetPrivateKeyLink = function () {\r\n return this.cert.PrivateKey.UniqueContainerName;\r\n}\r\n\r\nfunction GetFirstCert_NPAPI() {\r\n try {\r\n var oStore = cadesplugin.CreateObject(\"CAdESCOM.Store\");\r\n oStore.Open();\r\n }\r\n catch (e) {\r\n alert(\"Certificate not found\");\r\n return;\r\n }\r\n\r\n var dateObj = new Date();\r\n var certCnt;\r\n\r\n try {\r\n certCnt = oStore.Certificates.Count;\r\n if(certCnt==0)\r\n throw \"Certificate not found\";\r\n }\r\n catch (ex) {\r\n oStore.Close();\r\n document.getElementById(\"boxdiv\").style.display = 'flex';\r\n return;\r\n }\r\n\r\n if(certCnt) {\r\n try {\r\n for (var i = 1; i <= certCnt; i++) {\r\n var cert = oStore.Certificates.Item(i);\r\n if(dateObj -1) {\r\n continue;\r\n }\r\n var oOpt = document.createElement(\"OPTION\");\r\n try {\r\n var certObj = new CertificateObj(cert, true);\r\n oOpt.text = CertStatusEmoji(cert.ValidToDate > Date.now()) + certObj.GetCertString();\r\n }\r\n catch (ex) {\r\n alert(\"Ошибка при получении свойства SubjectName: \" + cadesplugin.getLastError(ex));\r\n }\r\n oOpt.value = global_selectbox_counter;\r\n lst.options.add(oOpt);\r\n if (lst2) {\r\n var oOpt2 = document.createElement(\"OPTION\");\r\n oOpt2.text = oOpt.text;\r\n oOpt2.value = oOpt.value;\r\n lst2.options.add(oOpt2);\r\n }\r\n global_selectbox_container.push(cert);\r\n global_selectbox_container_thumbprint.push(cert.Thumbprint);\r\n global_isFromCont.push(false);\r\n global_selectbox_counter++;\r\n }\r\n catch (ex) {\r\n alert(\"Ошибка при получении свойства Thumbprint: \" + cadesplugin.getLastError(ex));\r\n }\r\n }\r\n oStore.Close();\r\n }\r\n\r\n //В версии плагина 2.0.13292+ есть возможность получить сертификаты из \r\n //закрытых ключей и не установленных в хранилище\r\n try {\r\n oStore.Open(cadesplugin.CADESCOM_CONTAINER_STORE);\r\n certCnt = oStore.Certificates.Count;\r\n for (var i = 1; i <= certCnt; i++) {\r\n try {\r\n var cert = oStore.Certificates.Item(i);\r\n }\r\n catch (ex) {\r\n alert(\"Ошибка при перечислении сертификатов: \" + cadesplugin.getLastError(ex));\r\n setStateForObjects(Colors.FAIL, \"Ошибка при перечислении объектов плагина\");\r\n return;\r\n }\r\n\r\n try {\r\n var certThumbprint = cert.Thumbprint;\r\n var foundIndex = global_selectbox_container_thumbprint.indexOf(certThumbprint);\r\n if (foundIndex > -1) {\r\n continue;\r\n }\r\n var certObj = new CertificateObj(cert);\r\n var oOpt = document.createElement(\"OPTION\");\r\n oOpt.text = CertStatusEmoji(cert.ValidToDate > Date.now()) + certObj.GetCertString();\r\n oOpt.value = global_selectbox_counter;\r\n lst.options.add(oOpt);\r\n if (lst2) {\r\n var oOpt2 = document.createElement(\"OPTION\");\r\n oOpt2.text = oOpt.text;\r\n oOpt2.value = oOpt.value;\r\n lst2.options.add(oOpt2);\r\n }\r\n global_selectbox_container.push(cert);\r\n global_selectbox_container_thumbprint.push(cert.Thumbprint);\r\n global_isFromCont.push(true);\r\n global_selectbox_counter++;\r\n }\r\n catch (ex) {\r\n alert(\"Ошибка при получении свойства Thumbprint: \" + cadesplugin.getLastError(ex));\r\n }\r\n }\r\n oStore.Close();\r\n }\r\n catch (ex) {\r\n }\r\n if(global_selectbox_container.length == 0) {\r\n document.getElementById(\"boxdiv\").style.display = 'flex';\r\n }\r\n setStateForObjects(Colors.SUCCESS, \"Перечисление объектов плагина завершено\");\r\n}\r\n\r\nexport function isIE() {\r\n var retVal = ((\"Microsoft Internet Explorer\" == navigator.appName) || // IE < 11\r\n navigator.userAgent.match(/Trident\\/./i)); // IE 11\r\n return retVal;\r\n}\r\n\r\nfunction isEdge() {\r\n var retVal = navigator.userAgent.match(/Edge\\/./i);\r\n return retVal;\r\n}\r\n\r\nfunction isYandex() {\r\n var retVal = navigator.userAgent.match(/YaBrowser\\/./i);\r\n return retVal;\r\n}\r\n\r\nfunction ShowEdgeNotSupported() {\r\n setStateForPlugin(Colors.ERROR, \"К сожалению, браузер Edge не поддерживается, обновитесь до Edge версии >= 79\");\r\n}\r\n\r\n//-----------------------------------\r\nvar Base64 = {\r\n\r\n\r\n _keyStr: \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",\r\n\r\n\r\n encode: function(input) {\r\n var output = \"\";\r\n var chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n var i = 0;\r\n\r\n input = Base64._utf8_encode(input);\r\n\r\n while (i < input.length) {\r\n\r\n chr1 = input.charCodeAt(i++);\r\n chr2 = input.charCodeAt(i++);\r\n chr3 = input.charCodeAt(i++);\r\n\r\n enc1 = chr1 >> 2;\r\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n enc4 = chr3 & 63;\r\n\r\n if (isNaN(chr2)) {\r\n enc3 = enc4 = 64;\r\n } else if (isNaN(chr3)) {\r\n enc4 = 64;\r\n }\r\n\r\n output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);\r\n\r\n }\r\n\r\n return output;\r\n },\r\n\r\n\r\n decode: function(input) {\r\n var output = \"\";\r\n var chr1, chr2, chr3;\r\n var enc1, enc2, enc3, enc4;\r\n var i = 0;\r\n\r\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\r\n\r\n while (i < input.length) {\r\n\r\n enc1 = this._keyStr.indexOf(input.charAt(i++));\r\n enc2 = this._keyStr.indexOf(input.charAt(i++));\r\n enc3 = this._keyStr.indexOf(input.charAt(i++));\r\n enc4 = this._keyStr.indexOf(input.charAt(i++));\r\n\r\n chr1 = (enc1 << 2) | (enc2 >> 4);\r\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\r\n chr3 = ((enc3 & 3) << 6) | enc4;\r\n\r\n output = output + String.fromCharCode(chr1);\r\n\r\n if (enc3 != 64) {\r\n output = output + String.fromCharCode(chr2);\r\n }\r\n if (enc4 != 64) {\r\n output = output + String.fromCharCode(chr3);\r\n }\r\n\r\n }\r\n\r\n output = Base64._utf8_decode(output);\r\n\r\n return output;\r\n\r\n },\r\n\r\n _utf8_encode: function(string) {\r\n string = string.replace(/\\r\\n/g, \"\\n\");\r\n var utftext = \"\";\r\n\r\n for (var n = 0; n < string.length; n++) {\r\n\r\n var c = string.charCodeAt(n);\r\n\r\n if (c < 128) {\r\n utftext += String.fromCharCode(c);\r\n }\r\n else if ((c > 127) && (c < 2048)) {\r\n utftext += String.fromCharCode((c >> 6) | 192);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n else {\r\n utftext += String.fromCharCode((c >> 12) | 224);\r\n utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n\r\n }\r\n\r\n return utftext;\r\n },\r\n\r\n _utf8_decode: function(utftext) {\r\n var string = \"\";\r\n var i = 0;\r\n var c, c2, c3;\r\n c = c2 = c3 = 0;\r\n\r\n while (i < utftext.length) {\r\n\r\n c = utftext.charCodeAt(i);\r\n\r\n if (c < 128) {\r\n string += String.fromCharCode(c);\r\n i++;\r\n }\r\n else if ((c > 191) && (c < 224)) {\r\n c2 = utftext.charCodeAt(i + 1);\r\n string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));\r\n i += 2;\r\n }\r\n else {\r\n c2 = utftext.charCodeAt(i + 1);\r\n c3 = utftext.charCodeAt(i + 2);\r\n string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n i += 3;\r\n }\r\n\r\n }\r\n\r\n return string;\r\n }\r\n\r\n}\r\n\r\n\r\n var canPromise = !!window.Promise;\r\n if(canPromise) {\r\n cadesplugin.then(function () {\r\n // прикладной код\r\n start();\r\n },\r\n function(error) {\r\n // сообщение об ошибке\r\n console.error('cadesplugin load error:', error);\r\n }\r\n );\r\n } else {\r\n window.addEventListener(\"message\", function (event){\r\n if (event.data == \"cadesplugin_loaded\") {\r\n // прикладной код\r\n start();\r\n } else if(event.data == \"cadesplugin_load_error\") {\r\n // сообщение об ошибке\r\n console.error('cadesplugin load error');\r\n }\r\n },\r\n false);\r\n window.postMessage(\"cadesplugin_echo_request\", \"*\");\r\n }\r\n\r\n function start(){\r\n console.debug('cadesplugin loaded');\r\n console.debug('JSModuleVersion: ', cadesplugin.JSModuleVersion);\r\n cadesplugin.async_spawn(function *(args) {\r\n var oSignedData = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CadesSignedData\");\r\n var dataToSign = \"dataToSign\";\r\n yield oSignedData.propset_Content(dataToSign);\r\n });\r\n }\r\n\r\n var chrome_ext_id = \"iifchhfnnmpdbibifmljnfjhpififfog\";\r\n var opera_ext_id = \"epebfcehmdedogndhlcacafjaacknbcm\";\r\n \r\n function isExtensionNeeded() {\r\n if (isIE()) return false;\r\n if (browserSpecs.name == 'Edge') { return true; }\r\n if (browserSpecs.name == 'Opera') { if (browserSpecs.version >= 33) { return true; } else { return false; } }\r\n if (browserSpecs.name == 'Firefox') { if (browserSpecs.version >= 52) { return true; } else { return false; } }\r\n if (browserSpecs.name == 'Chrome') { if (browserSpecs.version >= 42) { return true; } else { return false; } }\r\n if (browserSpecs.name == 'Safari') { if (browserSpecs.version >= 11) { return true; } else { return false; } }\r\n return true;\r\n }\r\n \r\n if (!isExtensionNeeded()) {\r\n window.cadesplugin_extension_loaded = true;\r\n setStateForExtension(Colors.SUCCESS, \"Расширение не требуется\");\r\n }\r\n \r\n if (isEdge()) {\r\n setStateForExtension(Colors.ERROR, \"Расширение не загружено\");\r\n ShowEdgeNotSupported();\r\n } else {\r\n if (canPromise) {\r\n cadesplugin.then(\r\n function () {\r\n Common_CheckForPlugIn();\r\n },\r\n function (error) {\r\n if (window.cadesplugin_extension_loaded) {\r\n setStateForPlugin(Colors.FAIL, error);\r\n }\r\n if (isYandex()) {\r\n var fileref = document.createElement('script');\r\n fileref.setAttribute(\"type\", \"text/javascript\");\r\n fileref.setAttribute(\"src\", \"chrome-extension://iifchhfnnmpdbibifmljnfjhpififfog/nmcades_plugin_api.js\");\r\n fileref.onload = function () {\r\n try {\r\n window.addEventListener('load', function () {\r\n cadesplugin.get_extension_id(function (ext_id) {\r\n if (ext_id === chrome_ext_id) {\r\n setStateForExtension(Colors.UPDATE,\r\n \"Для работы в Yandex Browser требуется расширение из Opera Store\");\r\n extUrl = \"https://addons.opera.com/en/extensions/details/cryptopro-extension-for-cades-browser-plug-in\";\r\n setInnerText(\"ExtensionSolution\", \"Загрузить\", true);\r\n }\r\n });\r\n })\r\n }\r\n catch (err) { }\r\n };\r\n document.getElementsByTagName(\"head\")[0].appendChild(fileref);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n \r\n\r\n\r\nfunction CertificateAdjuster()\r\n{\r\n}\r\n\r\n\r\nCertificateAdjuster.prototype.checkQuotes = function(str)\r\n{\r\n var result = 0, i = 0;\r\n for(i;i=0)\r\n {\r\n var end = from.indexOf(', ', begin);\r\n while(end > 0) {\r\n if (this.checkQuotes(from.substr(begin, end-begin)))\r\n break;\r\n end = from.indexOf(', ', end + 1);\r\n }\r\n certName = (end < 0) ? from.substr(begin) : from.substr(begin, end - begin);\r\n }\r\n\r\n return certName;\r\n}\r\n\r\nCertificateAdjuster.prototype.Print2Digit = function(digit)\r\n{\r\n return (digit<10) ? \"0\"+digit : digit;\r\n}\r\n\r\nCertificateAdjuster.prototype.GetCertDate = function(paramDate)\r\n{\r\n var certDate = new Date(paramDate);\r\n return this.Print2Digit(certDate.getUTCDate())+\".\"+this.Print2Digit(certDate.getUTCMonth()+1)+\".\"+certDate.getFullYear() + \" \" +\r\n this.Print2Digit(certDate.getUTCHours()) + \":\" + this.Print2Digit(certDate.getUTCMinutes()) + \":\" + this.Print2Digit(certDate.getUTCSeconds());\r\n}\r\n\r\nCertificateAdjuster.prototype.GetCertName = function(certSubjectName)\r\n{\r\n return this.extract(certSubjectName, 'CN=');\r\n}\r\n\r\nCertificateAdjuster.prototype.GetIssuer = function(certIssuerName)\r\n{\r\n return this.extract(certIssuerName, 'CN=');\r\n}\r\n\r\nCertificateAdjuster.prototype.GetCertInfoString = function(certSubjectName, certFromDate, certIssuerName)\r\n{\r\n return certSubjectName + \"; Выдан: \" + this.GetCertDate(certFromDate) + \"; \" + certIssuerName;//this.extract(certSubjectName,'CN=')\r\n}\r\n\r\nfunction CheckForPlugIn_Async() {\r\n function VersionCompare_Async(StringVersion, CurrentVersion)\r\n {\r\n // on error occurred suppose that current is actual\r\n var isActualVersion = true;\r\n\r\n if(typeof(CurrentVersion) === \"string\")\r\n return;\r\n\r\n var arr = StringVersion.split('.');\r\n var NewVersion = {\r\n MajorVersion: parseInt(arr[0]), \r\n MinorVersion: parseInt(arr[1]), \r\n BuildVersion: parseInt(arr[2])\r\n };\r\n cadesplugin.async_spawn(function *() {\r\n if(NewVersion.MajorVersion > (yield CurrentVersion.MajorVersion)) {\r\n isActualVersion = false;\r\n } else if(NewVersion.MinorVersion > (yield CurrentVersion.MinorVersion)) {\r\n isActualVersion = false;\r\n } else if(NewVersion.BuildVersion > (yield CurrentVersion.BuildVersion)) {\r\n isActualVersion = false;\r\n }\r\n\r\n if(!isActualVersion) {\r\n setStateForPlugin(Colors.UPDATE, \"Плагин загружен, но есть более свежая версия.\");\r\n }\r\n return;\r\n });\r\n }\r\n\r\n function ext_version_loaded_callback(ext_version) {\r\n document.getElementById('ExtVersionTxt').innerHTML = escapeHtml(\"Версия расширения: \" + ext_version);\r\n }\r\n\r\n var extStore = \"\";\r\n function ext_id_loaded_callback(ext_id) {\r\n var OperaStoreExtId = \"epebfcehmdedogndhlcacafjaacknbcm\";\r\n var ChromeStoreExtId = \"iifchhfnnmpdbibifmljnfjhpififfog\";\r\n if (extStore !== \"\")\r\n extStore += \", \";\r\n if (ext_id === OperaStoreExtId)\r\n extStore += \"Opera Store\";\r\n else if (ext_id === ChromeStoreExtId)\r\n extStore += \"Chrome Store\";\r\n document.getElementById('ExtStoreTxt').innerHTML = escapeHtml(\"Магазин расширений: \" + extStore);\r\n }\r\n\r\n var versionStruct = {csp: null, os: null, plugin: null, uuid: null};\r\n setStateForCSP(Colors.INFO, \"КриптоПро CSP не загружен\");\r\n cadesplugin.async_spawn(function *() {\r\n var oAbout = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.About\");\r\n cadesplugin.get_extension_version(ext_version_loaded_callback);\r\n cadesplugin.get_extension_id(ext_id_loaded_callback);\r\n var CurrentPluginVersion = yield oAbout.PluginVersion;\r\n versionStruct.plugin = yield CurrentPluginVersion.toString();\r\n //document.getElementById('PlugInVersionTxt').innerHTML = escapeHtml(\"Версия плагина: \" + (versionStruct.plugin));\r\n setStateForPlugin(Colors.SUCCESS, \"Плагин загружен\");\r\n var ver = yield oAbout.CSPVersion(\"\", 80);\r\n versionStruct.csp = (yield ver.MajorVersion) + \".\" + (yield ver.MinorVersion) + \".\" + (yield ver.BuildVersion);\r\n //document.getElementById('CSPVersionTxt').innerHTML = escapeHtml(\"Версия криптопровайдера: \" + versionStruct.csp);\r\n try {\r\n var sCSPName = yield oAbout.CSPName(80);\r\n setStateForCSP(Colors.SUCCESS, \"Криптопровайдер загружен\");\r\n //document.getElementById('CSPNameTxt').innerHTML = escapeHtml(\"Криптопровайдер: \" + sCSPName);\r\n }\r\n catch (err) { }\r\n // CheckUpdateServer(CurrentPluginVersion, versionStruct);\r\n if(location.pathname.indexOf(\"symalgo_sample.html\")>=0){\r\n FillCertList_Async('CertListBox1', 'CertListBox2');\r\n }else {\r\n FillCertList_Async('CertListBox');\r\n }\r\n }); //cadesplugin.async_spawn\r\n}\r\n\r\nexport var certsinfo = {\r\n status: 'none',\r\n certs: [],\r\n selected: {\r\n subject: 'none'\r\n },\r\n signature: {}\r\n};\r\n\r\nfunction FillCertList_Async(lstId) {\r\n cadesplugin.async_spawn(function *() {\r\n certsinfo.status = \"Идет перечисление объектов плагина\";\r\n var MyStoreExists = true;\r\n try {\r\n var oStore = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.Store\");\r\n if (!oStore) {\r\n alert(\"Create store failed\");\r\n certsinfo.status = \"Ошибка при перечислении объектов плагина\";\r\n return;\r\n }\r\n\r\n yield oStore.Open();\r\n }\r\n catch (ex) {\r\n MyStoreExists = false;\r\n }\r\n\r\n if (MyStoreExists) {\r\n try {\r\n var certs = yield oStore.Certificates;\r\n var certCnt = yield certs.Count;\r\n }\r\n catch (ex) {\r\n alert(\"Ошибка при получении Certificates или Count: \" + cadesplugin.getLastError(ex));\r\n certsinfo.status = \"Ошибка при перечислении объектов плагина\";\r\n return;\r\n }\r\n for (var i = 1; i <= certCnt; i++) {\r\n try {\r\n var cert = yield certs.Item(i);\r\n }\r\n catch (ex) {\r\n alert(\"Ошибка при перечислении сертификатов: \" + cadesplugin.getLastError(ex));\r\n certsinfo.status = \"Ошибка при перечислении объектов плагина\";\r\n return;\r\n }\r\n\r\n try {\r\n var certThumbprint = yield cert.Thumbprint;\r\n var foundIndex = global_selectbox_container_thumbprint.indexOf(certThumbprint);\r\n if (foundIndex > -1) {\r\n continue;\r\n }\r\n var ValidFromDate = new Date((yield cert.ValidFromDate));\r\n var ValidToDate = new Date(yield cert.ValidToDate);\r\n var hasPrivateKey = yield cert.HasPrivateKey();\r\n var IsValid = ValidToDate > Date.now() && ValidFromDate < Date.now() && hasPrivateKey;\r\n if(IsValid){\r\n let certIsValid = false;\r\n try {\r\n let Validator = yield cert.IsValid();\r\n certIsValid = yield Validator.Result;\r\n } catch(e) {\r\n certIsValid = false;\r\n }\r\n if(certIsValid)\r\n {\r\n var oPrivateKey = yield cert.PrivateKey;\r\n var sProviderName = yield oPrivateKey.ProviderName;\r\n if(sProviderName.indexOf('Crypto-Pro') === 0){\r\n try {\r\n var emoji = CertStatusEmoji(IsValid);\r\n var oOpt = {cert};\r\n oOpt.text = emoji + new CertificateAdjuster().GetCertInfoString(yield cert.SubjectName, ValidFromDate, yield cert.IssuerName);\r\n oOpt.id = yield cert.SerialNumber;\r\n }\r\n catch (ex) {\r\n alert(\"Ошибка при получении свойства SubjectName: \" + cadesplugin.getLastError(ex));\r\n }\r\n oOpt.value = global_selectbox_counter;\r\n certsinfo.certs.push(oOpt);\r\n global_selectbox_container.push(cert);\r\n global_selectbox_container_thumbprint.push(certThumbprint);\r\n global_isFromCont.push(false);\r\n global_selectbox_counter++;\r\n }\r\n }\r\n }\r\n }\r\n catch (ex) {\r\n alert(\"Ошибка при получении свойства Thumbprint: \" + cadesplugin.getLastError(ex));\r\n }\r\n }\r\n yield oStore.Close();\r\n }\r\n\r\n //В версии плагина 2.0.13292+ есть возможность получить сертификаты из \r\n //закрытых ключей и не установленных в хранилище\r\n try {\r\n yield oStore.Open(cadesplugin.CADESCOM_CONTAINER_STORE);\r\n try {\r\n var certs = yield oStore.Certificates;\r\n var certCnt = yield certs.Count;\r\n }\r\n catch (ex) {\r\n alert(\"Ошибка при получении Certificates или Count: \" + cadesplugin.getLastError(ex));\r\n certsinfo.status = \"Ошибка при перечислении объектов плагина\";\r\n return;\r\n }\r\n for (var i = 1; i <= certCnt; i++) {\r\n try {\r\n var cert = yield certs.Item(i);\r\n }\r\n catch (ex) {\r\n alert(\"Ошибка при перечислении сертификатов: \" + cadesplugin.getLastError(ex));\r\n certsinfo.status = \"Ошибка при перечислении объектов плагина\";\r\n return;\r\n }\r\n\r\n try {\r\n var certThumbprint = yield cert.Thumbprint;\r\n var foundIndex = global_selectbox_container_thumbprint.indexOf(certThumbprint);\r\n if (foundIndex > -1) {\r\n continue;\r\n }\r\n var ValidFromDate = new Date((yield cert.ValidFromDate));\r\n var ValidToDate = new Date(yield cert.ValidToDate);\r\n var hasPrivateKey = yield cert.HasPrivateKey();\r\n var IsValid = ValidToDate > Date.now() && ValidFromDate < Date.now() && hasPrivateKey;\r\n if(IsValid){\r\n let certIsValid = false;\r\n try {\r\n let Validator = yield cert.IsValid();\r\n certIsValid = yield Validator.Result;\r\n } catch(e) {\r\n certIsValid = false;\r\n }\r\n if(certIsValid){\r\n var oPrivateKey = yield cert.PrivateKey;\r\n var sProviderName = yield oPrivateKey.ProviderName;\r\n if(sProviderName.indexOf('Crypto-Pro') === 0){\r\n var oOpt = {};\r\n try {\r\n var emoji = CertStatusEmoji(IsValid);\r\n oOpt.text = emoji + new CertificateAdjuster().GetCertInfoString(yield cert.SubjectName, ValidFromDate, yield cert.IssuerName);\r\n }\r\n catch (ex) {\r\n alert(\"Ошибка при получении свойства SubjectName: \" + cadesplugin.getLastError(ex));\r\n }\r\n oOpt.value = global_selectbox_counter;\r\n certsinfo.certs.push(oOpt);\r\n global_selectbox_container.push(cert);\r\n global_selectbox_container_thumbprint.push(certThumbprint);\r\n global_isFromCont.push(true);\r\n global_selectbox_counter++;\r\n }\r\n }\r\n }\r\n }\r\n catch (ex) {\r\n alert(\"Ошибка при получении свойства Thumbprint: \" + cadesplugin.getLastError(ex));\r\n }\r\n }\r\n yield oStore.Close();\r\n\r\n }\r\n catch (ex) {\r\n }\r\n if(global_selectbox_container.length == 0) {\r\n //document.getElementById(\"boxdiv\").style.display = 'flex';\r\n }\r\n if(global_selectbox_container.length == 1) {\r\n //document.getElementById(\"DataToSign\").style.display = 'flex';\r\n //document.getElementById(\"DataToSignItemBorder\").style.display = 'flex';\r\n //document.getElementById(\"SignBtn\").style.display = 'flex';\r\n //var lstel = document.getElementById(\"CertListBox\");\r\n var selectedsertel = certsinfo.certs[0];\r\n var selectedCertID = 0;\r\n var certificate = global_selectbox_container[selectedCertID];\r\n FillCertInfo_Async(certificate, certsinfo, global_isFromCont[selectedCertID]);\r\n //lstel.selectedIndex = 0;\r\n // cadesplugin.async_spawn(function *(args) {\r\n // var selectedCertID = 0;\r\n // var certificate = global_selectbox_container[selectedCertID];\r\n // FillCertInfo_Async(certificate, 'CertListBox', global_isFromCont[selectedCertID]);\r\n // }, selectedsertel);\r\n }\r\n setStateForObjects(Colors.SUCCESS, \"Перечисление объектов плагина завершено\");\r\n });//cadesplugin.async_spawn\r\n}\r\n\r\nfunction CreateSimpleSign_Async() {\r\n cadesplugin.async_spawn(function*(arg) {\r\n try {\r\n var oStore = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.Store\");\r\n yield oStore.Open();\r\n } catch (err) {\r\n alert('Certificate not found');\r\n return;\r\n }\r\n var all_certs = yield oStore.Certificates;\r\n\r\n if ((yield all_certs.Count) == 0) {\r\n document.getElementById(\"boxdiv\").style.display = 'flex';\r\n return;\r\n }\r\n\r\n var cert;\r\n var found = 0;\r\n for (var i = 1; i <= (yield all_certs.Count); i++) {\r\n try {\r\n cert = yield all_certs.Item(i);\r\n }\r\n catch (ex) {\r\n alert(\"Ошибка при перечислении сертификатов: \" + cadesplugin.getLastError(ex));\r\n return;\r\n }\r\n\r\n var dateObj = new Date();\r\n try {\r\n var certDate = new Date((yield cert.ValidToDate));\r\n var Validator = yield cert.IsValid();\r\n var IsValid = yield Validator.Result;\r\n if(dateObj< certDate && (yield cert.HasPrivateKey()) && IsValid) {\r\n found = 1;\r\n break;\r\n }\r\n else {\r\n continue;\r\n }\r\n }\r\n catch (ex) {\r\n alert(\"Ошибка при получении свойства SubjectName: \" + cadesplugin.getLastError(ex));\r\n }\r\n }\r\n\r\n if (found == 0) {\r\n document.getElementById(\"boxdiv\").style.display = 'flex';\r\n return;\r\n }\r\n\r\n var dataToSign = document.getElementById(\"DataToSignTxtBox\").value;\r\n var SignatureFieldTitle = document.getElementsByName(\"SignatureTitle\");\r\n var Signature;\r\n try\r\n {\r\n FillCertInfo_Async(cert);\r\n var errormes = \"\";\r\n try {\r\n var oSigner = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CPSigner\");\r\n } catch (err) {\r\n errormes = \"Failed to create CAdESCOM.CPSigner: \" + err.number;\r\n throw errormes;\r\n }\r\n if (oSigner) {\r\n yield oSigner.propset_Certificate(cert);\r\n }\r\n else {\r\n errormes = \"Failed to create CAdESCOM.CPSigner\";\r\n throw errormes;\r\n }\r\n\r\n var oSignedData = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CadesSignedData\");\r\n var CADES_BES = 1;\r\n\r\n if (dataToSign) {\r\n // Данные на подпись ввели\r\n yield oSignedData.propset_Content(dataToSign);\r\n }\r\n yield oSigner.propset_Options(1); //CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN\r\n try {\r\n Signature = yield oSignedData.SignCades(oSigner, CADES_BES);\r\n }\r\n catch (err) {\r\n errormes = \"Не удалось создать подпись из-за ошибки: \" + cadesplugin.getLastError(err);\r\n throw errormes;\r\n }\r\n document.getElementById(\"SignatureTxtBox\").innerHTML = escapeHtml(Signature);\r\n SignatureFieldTitle[0].innerHTML = \"Подпись сформирована успешно:\";\r\n }\r\n catch(err)\r\n {\r\n SignatureFieldTitle[0].innerHTML = \"Возникла ошибка:\";\r\n document.getElementById(\"SignatureTxtBox\").innerHTML = escapeHtml(err);\r\n }\r\n }); //cadesplugin.async_spawn\r\n}\r\n\r\nfunction VerifyCadesBES_Async(sSignedMessage, data, flag) {\r\n return new Promise(function (resolve, reject) {\r\n var dataInBase64 = \"The value to sign\";\r\n if(typeof(data) != 'undefined')\r\n {\r\n dataInBase64 = Base64.encode(data);\r\n }else {\r\n dataInBase64 = Base64.encode(dataInBase64);\r\n }\r\n //console.debug('VerifyCadesBES_Async');\r\n //console.debug(' data:', data);\r\n //console.debug(' dataInBase64:', dataInBase64);\r\n\r\n VerifyCadesBES_B64_Async(sSignedMessage, dataInBase64, flag).then(resolve, reject);\r\n });\r\n}\r\n\r\nfunction VerifyCadesBES_File_Async(sSignedMessage, file, flag) {\r\n return new Promise(function (resolve, reject) {\r\n cadesplugin.async_spawn(function*(arg) {\r\n //console.debug('file', file);\r\n var dataInBase64 = yield fileToBase64(file);\r\n //console.debug('dataInBase64', dataInBase64);\r\n let idx = dataInBase64.indexOf(',');\r\n dataInBase64 = dataInBase64.substring(idx+1);\r\n\r\n VerifyCadesBES_B64_Async(sSignedMessage, dataInBase64, flag).then(resolve, reject);\r\n \r\n }); //cadesplugin.async_spawn\r\n });\r\n}\r\n\r\nfunction VerifyCadesBES_File2_Async(sSignedMessage, file, flag) {\r\n let sign = sSignedMessage;\r\n return new Promise(function (resolve, reject) {\r\n cadesplugin.then(function () {\r\n //cadesplugin.async_spawn(function*(arg) {\r\n let sign2 = sign;\r\n // var req = new XMLHttpRequest();\r\n // req.open(\"GET\", url, true);\r\n // req.responseType = \"blob\";\r\n // req.onload = event => {\r\n // console.debug('file '+url+' downloaded')\r\n // let blob = req.response;\r\n // //console.debug('blob ', blob)\r\n // let reader = new FileReader();\r\n // reader.readAsDataURL(blob);\r\n // reader.onload = () => {\r\n // console.debug('blob from '+url+' readed')\r\n // let dataInBase64 = reader.result;\r\n // //console.debug('dataInBase64', dataInBase64);\r\n // let idx = dataInBase64.indexOf(',');\r\n // dataInBase64 = dataInBase64.substring(idx+1);\r\n\r\n // VerifyCadesBES_B64_Async(sign2, dataInBase64, flag).then(resolve, reject);\r\n // }\r\n // reader.onerror = (err) => {\r\n // console.debug('error:',err)\r\n // }\r\n // };\r\n\r\n //req.send();\r\n\r\n let blob = new Blob([file]);\r\n\r\n let reader = new FileReader();\r\n reader.readAsDataURL(blob);\r\n reader.onload = () => {\r\n console.debug('blob from file readed')\r\n let dataInBase64 = reader.result;\r\n //console.debug('dataInBase64', dataInBase64);\r\n let idx = dataInBase64.indexOf(',');\r\n dataInBase64 = dataInBase64.substring(idx+1);\r\n\r\n //VerifyCadesBES_B64_Async(sign2, dataInBase64, flag).then(resolve, reject);\r\n let promises = [];\r\n for(let i=0;i {\r\n console.debug('error:',err)\r\n }\r\n\r\n // //console.debug('file', file);\r\n // let b64 = Buffer.from(file, 'base64');\r\n // var dataInBase64 = yield file2ToBase64(b64);\r\n // //var dataInBase64 = Base64.encode(file);\r\n // console.debug('dataInBase64', dataInBase64);\r\n // let idx = dataInBase64.indexOf(',');\r\n // dataInBase64 = dataInBase64.substring(idx+1);\r\n\r\n // VerifyCadesBES_B64_Async(sSignedMessage, dataInBase64, flag).then(resolve, reject);\r\n \r\n //}); //cadesplugin.async_spawn\r\n });\r\n });\r\n}\r\n\r\nfunction VerifyCadesBES_B64_Async(sSignedMessage, dataInBase64, flag) {\r\n return new Promise(function (resolve, reject) {\r\n console.debug('VerifyCadesBES_B64_Async');\r\n //console.debug(' sSignedMessage:', sSignedMessage);\r\n //console.debug(' dataInBase64:', dataInBase64);\r\n\r\n cadesplugin.then(function () {\r\n cadesplugin.async_spawn(function* (args) {\r\n var oSignedData = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CadesSignedData\");\r\n try {\r\n // Значение свойства ContentEncoding должно быть задано\r\n // до заполнения свойства Content\r\n yield oSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY);\r\n yield oSignedData.propset_Content(dataInBase64);\r\n yield oSignedData.VerifyCades(sSignedMessage, cadesplugin.CADESCOM_CADES_BES, flag);\r\n } \r\n catch (err) {\r\n var e = cadesplugin.getLastError(err);\r\n //alert(\"Failed to verify signature. Error: \" + e);\r\n return args[1](e);\r\n }\r\n var oSigners = yield oSignedData.Signers;\r\n var oSigner = yield oSigners.Item(1);\r\n var signingTime = yield oSigner.SigningTime;\r\n var certificate = yield oSigner.Certificate;\r\n var certname = yield certificate.SubjectName;\r\n var certid = yield certificate.Id;\r\n var ValidToDate = new Date((yield certificate.ValidToDate));\r\n var ValidFromDate = new Date((yield certificate.ValidFromDate));\r\n var pubKey = yield certificate.PublicKey();\r\n var algo = yield pubKey.Algorithm;\r\n var fAlgoName = yield algo.FriendlyName;\r\n var id = yield certificate.SerialNumber;\r\n return args[0]({signer:certname, time: signingTime, certificate: {ValidToDate, ValidFromDate, fAlgoName, id}});\r\n //return args[0]();\r\n }, resolve, reject);\r\n });\r\n });\r\n}\r\n\r\nexport function GetSignatureInfo_Async(sSignedMessage, flag) {\r\n console.debug('GetSignatureInfo_Async');\r\n //console.debug('sSignedMessage: ', sSignedMessage);\r\n return new Promise(function (resolve, reject) {\r\n cadesplugin.then(function () {\r\n cadesplugin.async_spawn(function* (args) {\r\n //console.debug('GetSignatureInfo_Async spawn');\r\n //console.debug('sSignedMessage: ', sSignedMessage);\r\n var oSignedData = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CadesSignedData\");\r\n try {\r\n yield oSignedData.VerifyCades(sSignedMessage, cadesplugin.CADESCOM_CADES_BES, flag);\r\n } \r\n catch (err) {\r\n var e = cadesplugin.getLastError(err);\r\n //alert(\"Failed to verify signature. Error: \" + e);\r\n return args[1](e);\r\n }\r\n var oSigners = yield oSignedData.Signers;\r\n var oSigner = yield oSigners.Item(1);\r\n var signingTime = yield oSigner.SigningTime;\r\n var certificate = yield oSigner.Certificate;\r\n var certname = yield certificate.SubjectName;\r\n return args[0]({signer:certname, time: signingTime});\r\n }, resolve, reject);\r\n }\r\n );\r\n });\r\n}\r\n\r\nfunction GetHash_Async(dataInBase64){\r\n return new Promise(function (resolve, reject) {\r\n cadesplugin.async_spawn(function* (args) {\r\n // Создаем объект CAdESCOM.HashedData\r\n var oHashedData = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.HashedData\");\r\n\r\n // Алгоритм хэширования нужно указать до того, как будут переданы данные\r\n yield oHashedData.propset_Algorithm(cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411);\r\n\r\n // Указываем кодировку данных\r\n // Кодировка должна быть указана до того, как будут переданы сами данные\r\n yield oHashedData.propset_DataEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY);\r\n\r\n // Передаем данные\r\n yield oHashedData.Hash(dataInBase64);\r\n\r\n // Получаем хэш-значение\r\n var sHashValue = yield oHashedData.Value;\r\n // Это значение будет совпадать с вычисленным при помощи, например,\r\n // утилиты cryptcp от тех же исходных _бинарных_ данных.\r\n\r\n return args[0](sHashValue);\r\n }, resolve, reject);\r\n });\r\n}\r\n\r\nfunction ConvertDate(date) {\r\n switch (navigator.appName) {\r\n case \"Microsoft Internet Explorer\":\r\n return date.getVarDate();\r\n default:\r\n return date;\r\n }\r\n}\r\n\r\nexport function run(oCertificate) {\r\n cadesplugin.async_spawn(function* (args) {\r\n \r\n // Предварительно вычисленное хэш-значение исходных данных\r\n // Хэш-значение должно быть представлено в виде строки шестнадцатеричных цифр,\r\n // группами по 2 цифры на байт, с пробелами или без пробелов.\r\n // Например, хэш-значение в таком формате возвращают объекты\r\n // CAPICOM.HashedData и CADESCOM.HashedData.\r\n var sHashValue = \"92CD0CB36B10BFB88DEF198F80B7D2E667DBDA064D346405C25EEF77FFE375D7\";\r\n\r\n // Алгоритм хэширования, при помощи которого было вычислено хэш-значение\r\n // Полный список поддерживаемых алгоритмов указан в перечислении CADESCOM_HASH_ALGORITHM\r\n var hashAlg = cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411; // ГОСТ Р 34.11-94\r\n\r\n // Создаем объект CAdESCOM.HashedData\r\n var oHashedData = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.HashedData\");\r\n\r\n // Инициализируем объект заранее вычисленным хэш-значением\r\n // Алгоритм хэширования нужно указать до того, как будет передано хэш-значение\r\n yield oHashedData.propset_Algorithm(hashAlg);\r\n yield oHashedData.SetHashValue(sHashValue);\r\n\r\n // Создаем подписанное сообщение\r\n // Такая подпись должна проверяться в КриптоАРМ и cryptcp.exe\r\n // Создаем объект CAdESCOM.CPSigner\r\n var oSigner = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CPSigner\");\r\n yield oSigner.propset_Certificate(oCertificate);\r\n yield oSigner.propset_CheckCertificate(true);\r\n\r\n // Создаем объект CAdESCOM.CadesSignedData\r\n var oSignedData = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CadesSignedData\");\r\n\r\n var sSignedMessage = \"\";\r\n\r\n // Вычисляем значение подписи\r\n try {\r\n sSignedMessage = yield oSignedData.SignHash(oHashedData, oSigner, cadesplugin.CADESCOM_CADES_BES);\r\n } catch (err) {\r\n alert(\"Failed to create signature. Error: \" + cadesplugin.getLastError(err));\r\n return;\r\n }\r\n\r\n document.getElementById(\"signature\").innerHTML = sSignedMessage;\r\n\r\n // Создаем объект CAdESCOM.CadesSignedData\r\n var oSignedData2 = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CadesSignedData\");\r\n\r\n // Проверяем подпись\r\n try {\r\n yield oSignedData2.VerifyHash(oHashedData, sSignedMessage, cadesplugin.CADESCOM_CADES_BES);\r\n alert(\"Signature verified\");\r\n } catch (err) {\r\n alert(\"Failed to verify signature. Error: \" + cadesplugin.getLastError(err));\r\n return;\r\n }\r\n });\r\n}\r\n\r\nexport function run2(oCertificate) {\r\n var data = \"Test plain file content.\";\r\n var dataInBase64 = \"VGVzdCBwbGFpbiBmaWxlIGNvbnRlbnQu\";\r\n //SignCadesBES_Async2(oCertificate, data, false).then(\r\n SignCadesBES_B64_Async(oCertificate, dataInBase64, true).then(\r\n function (signedMessage) {\r\n GetSignatureInfo_Async(signedMessage, false).then(\r\n function (certinfo) {\r\n alert(\"Signature verified: \" + certinfo.signer + \", \" + certinfo.time);\r\n },\r\n function (err) {\r\n console.error('17', err);\r\n });\r\n },\r\n function (err) {\r\n console.error('16', err);\r\n }\r\n );\r\n}\r\n\r\nexport function run3(oCertificate) {\r\n var data = 'Test plain file content.';\r\n var dataInBase64 = \"VGVzdCBwbGFpbiBmaWxlIGNvbnRlbnQu\";\r\n SignCadesBES_B64_Async(oCertificate, dataInBase64, true).then(\r\n function (signedMessage) {\r\n //console.debug('Created: ', signedMessage)\r\n let a = 'MIIEsQYJKoZIhvcNAQcCoIIEojCCBJ4CAQExDjAMBggqhQMHAQECAwUAMCcGCSqGSIb3DQEHAaAa\\r\\nBBhUZXN0IHBsYWluIGZpbGUgY29udGVudC6gggJnMIICYzCCAc+gAwIBAgIIUD19NjiB5hIwCgYI\\r\\nKoUDBwEBAwMwHTELMAkGA1UEBhMCUlUxDjAMBgNVBAMTBWJhbmQ0MB4XDTIzMDYwODEyMDA0OFoX\\r\\nDTI0MDYwODEyMDA0OFowHTELMAkGA1UEBhMCUlUxDjAMBgNVBAMTBWJhbmQ0MIGqMCEGCCqFAwcB\\r\\nAQECMBUGCSqFAwcBAgECAQYIKoUDBwEBAgMDgYQABIGAmbTPBtTySKsyph82W6lEMA0kq3lLAW9E\\r\\n9S+MqaejTvU4fAD7INY6oC6H+XkGEH5ro4Q8zJaZkl4EtCUI9rbkmjcasKJlU30KEdxVdxvFll/F\\r\\nMypBKI3NXimLg/yczvgy7JcVAh4KLL/nT1DSxZh/OwNLi0vJ12j+eMtAjx9LKIKjgaYwgaMwDgYD\\r\\nVR0PAQH/BAQDAgLcMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQUCApC\\r\\nGxU7Mzk2vaDox6/F2g3eflMwQgYDVR0jBDswOYAUCApCGxU7Mzk2vaDox6/F2g3eflOhIaQfMB0x\\r\\nCzAJBgNVBAYTAlJVMQ4wDAYDVQQDEwViYW5kNDAPBgNVHRMECDAGAQH/AgEBMAoGCCqFAwcBAQMD\\r\\nA4GBAH54zQeKmLR2EOMB6wC/Qk/VfCHu2DrFtZhCyQeiQIkQlSrFpq1dM0IGvPzRohDHcHsJS60z\\r\\nSwYYWRzX3dt+1bCIzp4UmKwkMCWCUgFadi/etmtvvFEyAZCrjIvhlv8TBGKNrbPi7h6BYn94QlMy\\r\\nzEQTDpIdskrUEmGKcZPiGb8JMYIB8zCCAe8CAQEwKTAdMQswCQYDVQQGEwJSVTEOMAwGA1UEAxMF\\r\\nYmFuZDQCCFA9fTY4geYSMAwGCCqFAwcBAQIDBQCgggEgMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0B\\r\\nBwEwHAYJKoZIhvcNAQkFMQ8XDTIzMDYyODEyMjU1NlowTwYJKoZIhvcNAQkEMUIEQIKsgD5ZoXHn\\r\\nsTqAogllR/4yiv1DgKLMwE2iK9qiGSUzWvOSKb1WlWqbOnMkH45+tLEkxs4Rxuen7//w0liNZfkw\\r\\ngZQGCyqGSIb3DQEJEAIvMYGEMIGBMH8wfTAKBggqhQMHAQECAwRAbnvBXc15fX8F6HxXg3fwhXpt\\r\\nzDrZOneoM64gRo4UMze+WFB4gUeHBH+Scd7y9RH8TK1vNqr2pFHFukIIDsFpnTAtMCGkHzAdMQsw\\r\\nCQYDVQQGEwJSVTEOMAwGA1UEAxMFYmFuZDQCCFA9fTY4geYSMAoGCCqFAwcBAQECBIGASoN4DoAi\\r\\nGH33astyf4LVrl6LFT0VcYA/COPx+6UZGcFeOjdMOHVu/EnVreGH7FamFdGSXAb0mfrV0OiNOYov\\r\\ny8tHxZ6F+xS1Q5rv8jFOqPGyM3clZAX4fA4goHEJaDRiQWBt+SdKaLCkwjU4/e/UUJnbBEiYC31E\\r\\nC/QxMW2hvXE='\r\n let b = 'MIIElQYJKoZIhvcNAQcCoIIEhjCCBIICAQExDjAMBggqhQMHAQECAwUAMAsGCSqGSIb3DQEHAaCCAmcwggJjMIIBz6ADAgECAghQPX02OIHmEjAKBggqhQMHAQEDAzAdMQswCQYDVQQGEwJSVTEOMAwGA1UEAxMFYmFuZDQwHhcNMjMwNjA4MTIwMDQ4WhcNMjQwNjA4MTIwMDQ4WjAdMQswCQYDVQQGEwJSVTEOMAwGA1UEAxMFYmFuZDQwgaowIQYIKoUDBwEBAQIwFQYJKoUDBwECAQIBBggqhQMHAQECAwOBhAAEgYCZtM8G1PJIqzKmHzZbqUQwDSSreUsBb0T1L4ypp6NO9Th8APsg1jqgLof5eQYQfmujhDzMlpmSXgS0JQj2tuSaNxqwomVTfQoR3FV3G8WWX8UzKkEojc1eKYuD/JzO+DLslxUCHgosv+dPUNLFmH87A0uLS8nXaP54y0CPH0sogqOBpjCBozAOBgNVHQ8BAf8EBAMCAtwwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMB0GA1UdDgQWBBQICkIbFTszOTa9oOjHr8XaDd5+UzBCBgNVHSMEOzA5gBQICkIbFTszOTa9oOjHr8XaDd5+U6EhpB8wHTELMAkGA1UEBhMCUlUxDjAMBgNVBAMTBWJhbmQ0MA8GA1UdEwQIMAYBAf8CAQEwCgYIKoUDBwEBAwMDgYEAfnjNB4qYtHYQ4wHrAL9CT9V8Ie7YOsW1mELJB6JAiRCVKsWmrV0zQga8/NGiEMdwewlLrTNLBhhZHNfd237VsIjOnhSYrCQwJYJSAVp2L962a2+8UTIBkKuMi+GW/xMEYo2ts+LuHoFif3hCUzLMRBMOkh2yStQSYYpxk+IZvwkxggHzMIIB7wIBATApMB0xCzAJBgNVBAYTAlJVMQ4wDAYDVQQDEwViYW5kNAIIUD19NjiB5hIwDAYIKoUDBwEBAgMFAKCCASAwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwNjI4MTIzNjU1WjBPBgkqhkiG9w0BCQQxQgRAgqyAPlmhceexOoCiCWVH/jKK/UOAoszATaIr2qIZJTNa85IpvVaVaps6cyQfjn60sSTGzhHG56fv//DSWI1l+TCBlAYLKoZIhvcNAQkQAi8xgYQwgYEwfzB9MAoGCCqFAwcBAQIDBEBue8FdzXl9fwXofFeDd/CFem3MOtk6d6gzriBGjhQzN75YUHiBR4cEf5Jx3vL1EfxMrW82qvakUcW6QggOwWmdMC0wIaQfMB0xCzAJBgNVBAYTAlJVMQ4wDAYDVQQDEwViYW5kNAIIUD19NjiB5hIwCgYIKoUDBwEBAQIEgYAXcxpaY79SWU8/6O7lKQCRWSwJ3xkF+rpZbDqjTtWQfKo/ixS/nI2l0kiHKWv3odRCYQVeX3w4JuNAOZZH7m3tpoI32B6kkPtZQC0PtUCNfda2fVXZ1RppvxyXc7O7BEgDDhLhBPao6ec7pAtZ57RtPjywPmtlYHC2iwAeSK0Llw=='\r\n let c = 'MIIEsQYJKoZIhvcNAQcCoIIEojCCBJ4CAQExDjAMBggqhQMHAQECAwUAMCcGCSqGSIb3DQEHAaAaBBhUZXN0IHBsYWluIGZpbGUgY29udGVudC6gggJnMIICYzCCAc+gAwIBAgIIUD19NjiB5hIwCgYIKoUDBwEBAwMwHTELMAkGA1UEBhMCUlUxDjAMBgNVBAMTBWJhbmQ0MB4XDTIzMDYwODEyMDA0OFoXDTI0MDYwODEyMDA0OFowHTELMAkGA1UEBhMCUlUxDjAMBgNVBAMTBWJhbmQ0MIGqMCEGCCqFAwcBAQECMBUGCSqFAwcBAgECAQYIKoUDBwEBAgMDgYQABIGAmbTPBtTySKsyph82W6lEMA0kq3lLAW9E9S+MqaejTvU4fAD7INY6oC6H+XkGEH5ro4Q8zJaZkl4EtCUI9rbkmjcasKJlU30KEdxVdxvFll/FMypBKI3NXimLg/yczvgy7JcVAh4KLL/nT1DSxZh/OwNLi0vJ12j+eMtAjx9LKIKjgaYwgaMwDgYDVR0PAQH/BAQDAgLcMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQUCApCGxU7Mzk2vaDox6/F2g3eflMwQgYDVR0jBDswOYAUCApCGxU7Mzk2vaDox6/F2g3eflOhIaQfMB0xCzAJBgNVBAYTAlJVMQ4wDAYDVQQDEwViYW5kNDAPBgNVHRMECDAGAQH/AgEBMAoGCCqFAwcBAQMDA4GBAH54zQeKmLR2EOMB6wC/Qk/VfCHu2DrFtZhCyQeiQIkQlSrFpq1dM0IGvPzRohDHcHsJS60zSwYYWRzX3dt+1bCIzp4UmKwkMCWCUgFadi/etmtvvFEyAZCrjIvhlv8TBGKNrbPi7h6BYn94QlMyzEQTDpIdskrUEmGKcZPiGb8JMYIB8zCCAe8CAQEwKTAdMQswCQYDVQQGEwJSVTEOMAwGA1UEAxMFYmFuZDQCCFA9fTY4geYSMAwGCCqFAwcBAQIDBQCgggEgMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIzMDYyODEyMjU1NlowTwYJKoZIhvcNAQkEMUIEQIKsgD5ZoXHnsTqAogllR/4yiv1DgKLMwE2iK9qiGSUzWvOSKb1WlWqbOnMkH45+tLEkxs4Rxuen7//w0liNZfkwgZQGCyqGSIb3DQEJEAIvMYGEMIGBMH8wfTAKBggqhQMHAQECAwRAbnvBXc15fX8F6HxXg3fwhXptzDrZOneoM64gRo4UMze+WFB4gUeHBH+Scd7y9RH8TK1vNqr2pFHFukIIDsFpnTAtMCGkHzAdMQswCQYDVQQGEwJSVTEOMAwGA1UEAxMFYmFuZDQCCFA9fTY4geYSMAoGCCqFAwcBAQECBIGASoN4DoAiGH33astyf4LVrl6LFT0VcYA/COPx+6UZGcFeOjdMOHVu/EnVreGH7FamFdGSXAb0mfrV0OiNOYovy8tHxZ6F+xS1Q5rv8jFOqPGyM3clZAX4fA4goHEJaDRiQWBt+SdKaLCkwjU4/e/UUJnbBEiYC31EC/QxMW2hvXE='\r\n if(true){\r\n VerifyCadesBES_B64_Async(signedMessage, dataInBase64, true).then(\r\n function (certinfo) {\r\n alert(\"Signature verified: \" + certinfo.signer + \", \" + certinfo.time);\r\n //alert(\"Signature verified\");\r\n },\r\n function (err) {\r\n console.error('18', err);\r\n });\r\n }\r\n else{\r\n VerifyCadesBES_Async(signedMessage, data, false).then(\r\n function (certinfo) {\r\n alert(\"Signature verified\");\r\n },\r\n function (err) {\r\n console.error('17', err);\r\n });\r\n }\r\n },\r\n function (err) {\r\n console.error('16', err);\r\n }\r\n );\r\n}\r\n\r\nexport function run4(data1) {\r\n let url = 'https://crapproveapi.nitrosbase.com/api/ProjectFiles?id=2583';\r\n var req = new XMLHttpRequest();\r\n req.open(\"GET\", url, true);\r\n req.responseType = \"blob\";\r\n req.onload = function (event) {\r\n var blob = req.response;\r\n //console.debug('blob', blob);\r\n const reader = new FileReader();\r\n reader.readAsDataURL(blob);\r\n reader.onload = () => {\r\n console.debug('reader.result', reader.result);\r\n }\r\n reader.onerror = (err) => {\r\n console.debug('error:',err)\r\n }\r\n };\r\n\r\n req.send();\r\n}\r\n// games.mindskills.online/g/morelax\r\n\r\nfunction SignCreate(oCertificate, dataInBase64) {\r\n return new Promise(function (resolve, reject) {\r\n cadesplugin.async_spawn(function* (args) {\r\n var oSigner = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CPSigner\");\r\n yield oSigner.propset_Certificate(oCertificate);\r\n yield oSigner.propset_CheckCertificate(true);\r\n\r\n var oSignedData = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CadesSignedData\");\r\n yield oSignedData.propset_ContentEncoding(1);\r\n yield oSignedData.propset_Content(dataInBase64);\r\n\r\n var sSignedMessage = \"\";\r\n try {\r\n sSignedMessage = yield oSignedData.SignCades(oSigner, 1, true);\r\n } catch (err) {\r\n e = cadesplugin.getLastError(err);\r\n alert(\"Failed to create signature. Error: \" + e);\r\n return args[1](e);\r\n }\r\n\r\n return args[0](sSignedMessage);\r\n }, resolve, reject);\r\n });\r\n}\r\n\r\nfunction Verify(sSignedMessage, dataInBase64) {\r\n return new Promise(function (resolve, reject) {\r\n cadesplugin.async_spawn(function* (args) {\r\n var oSignedData = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CadesSignedData\");\r\n try {\r\n yield oSignedData.propset_ContentEncoding(1);\r\n yield oSignedData.propset_Content(dataInBase64);\r\n yield oSignedData.VerifyCades(sSignedMessage, 1, true);\r\n } \r\n catch (err) {\r\n var e = cadesplugin.getLastError(err);\r\n alert(\"Failed to verify signature. Error: \" + e);\r\n return args[1](e);\r\n }\r\n return args[0]();\r\n }, resolve, reject);\r\n });\r\n}\r\n\r\nasync function AddProperties(oSigner, cert){\r\n cadesplugin.async_spawn(function*() {\r\n var oSigningTimeAttr = yield cadesplugin.CreateObjectAsync(\"CADESCOM.CPAttribute\");\r\n yield oSigningTimeAttr.propset_Name(cadesplugin.CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME);\r\n var oTimeNow = new Date();\r\n yield oSigningTimeAttr.propset_Value(ConvertDate(oTimeNow));\r\n\r\n var oDocumentNameAttr = yield cadesplugin.CreateObjectAsync(\"CADESCOM.CPAttribute\");\r\n yield oDocumentNameAttr.propset_Name(cadesplugin.CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME);\r\n let cname = yield cert.SubjectName;\r\n yield oDocumentNameAttr.propset_Value(cname);\r\n\r\n var attr = yield oSigner.AuthenticatedAttributes2;\r\n yield attr.Add(oSigningTimeAttr);\r\n yield attr.Add(oDocumentNameAttr);\r\n });\r\n}\r\n\r\nfunction SignCadesBES_Async(certificate, data) {\r\n return new Promise(function (resolve, reject) {\r\n cadesplugin.async_spawn(function*() {\r\n \r\n var dataToSign = \"The value to sign\";\r\n if(typeof(data) != 'undefined')\r\n {\r\n dataToSign = Base64.encode(data);\r\n }else {\r\n dataToSign = Base64.encode(dataToSign);\r\n }\r\n if(!dataToSign){\r\n reject(\"No data to sign\");\r\n return;\r\n }\r\n console.debug('dataToSign:', dataToSign);\r\n \r\n var Signature;\r\n try\r\n {\r\n var errormes = \"\";\r\n try {\r\n var oSigner = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CPSigner\");\r\n } catch (err) {\r\n errormes = \"Failed to create CAdESCOM.CPSigner: \" + err.number;\r\n throw errormes;\r\n }\r\n\r\n\r\n if (oSigner) {\r\n yield oSigner.propset_Certificate(certificate);\r\n yield oSigner.propset_CheckCertificate(true);\r\n }\r\n else {\r\n errormes = \"Failed to create CAdESCOM.CPSigner\";\r\n throw errormes;\r\n }\r\n\r\n AddProperties(oSigner, certificate);\r\n\r\n\r\n var oSignedData = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CadesSignedData\");\r\n\r\n yield oSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY); //\r\n yield oSignedData.propset_Content(dataToSign);\r\n\r\n yield oSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN); //\r\n\r\n try {\r\n Signature = yield oSignedData.SignCades(oSigner, cadesplugin.CADESCOM_CADES_BES);\r\n }\r\n catch (err) {\r\n errormes = \"Не удалось создать подпись из-за ошибки: \" + cadesplugin.getLastError(err);\r\n throw errormes;\r\n }\r\n \r\n certsinfo.signature = {value: Signature, status: 'Подпись сформирована успешно'}\r\n resolve(Signature);\r\n }\r\n catch(err)\r\n {\r\n certsinfo.signature = {value: escapeHtml(err), status: 'Возникла ошибка'}\r\n reject(escapeHtml(err));\r\n }\r\n }); //cadesplugin.async_spawn\r\n });\r\n}\r\n\r\nfunction SignCadesBES_B64_Async(certificate, dataInBase64, flag) {\r\n return new Promise(function (resolve, reject) {\r\n //console.debug('SignCadesBES_B64_Async', dataInBase64, flag);\r\n cadesplugin.async_spawn(function*() {\r\n if (!certificate) {\r\n reject(\"Select certificate\");\r\n return;\r\n }\r\n \r\n var Signature;\r\n try\r\n {\r\n var errormes = \"\";\r\n try {\r\n var oSigner = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CPSigner\");\r\n } catch (err) {\r\n errormes = \"Failed to create CAdESCOM.CPSigner: \" + err.number;\r\n throw errormes;\r\n }\r\n\r\n if (oSigner) {\r\n yield oSigner.propset_Certificate(certificate);\r\n yield oSigner.propset_CheckCertificate(true);\r\n }\r\n else {\r\n errormes = \"Failed to create CAdESCOM.CPSigner\";\r\n throw errormes;\r\n }\r\n\r\n AddProperties(oSigner, certificate);\r\n\r\n\r\n var oSignedData = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CadesSignedData\");\r\n yield oSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY); //\r\n yield oSignedData.propset_Content(dataInBase64);\r\n\r\n yield oSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN); //\r\n\r\n try {\r\n Signature = yield oSignedData.SignCades(oSigner, cadesplugin.CADESCOM_CADES_BES, flag);\r\n }\r\n catch (err) {\r\n errormes = \"Не удалось создать подпись из-за ошибки: \" + cadesplugin.getLastError(err);\r\n throw errormes;\r\n }\r\n \r\n //console.debug(' signature:', Signature);\r\n certsinfo.signature = {value: Signature, status: 'Подпись сформирована успешно'}\r\n resolve(Signature);\r\n }\r\n catch(err)\r\n {\r\n certsinfo.signature = {value: escapeHtml(err), status: 'Возникла ошибка'}\r\n reject(escapeHtml(err));\r\n }\r\n }); //cadesplugin.async_spawn\r\n });\r\n}\r\n\r\nconst fileToBase64 = file => new Promise((resolve, reject) => {\r\n console.debug('fileToBase64')\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = reject;\r\n});\r\nconst file2ToBase64 = file => new Promise((resolve, reject) => {\r\n console.debug('fileToBase64')\r\n const reader = new FileReader();\r\n reader.readAsArrayBuffer(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = reject;\r\n});\r\n\r\nfunction SignCadesBES_File_Async(certificate, file, flag) {\r\n return new Promise(function (resolve, reject) {\r\n //console.debug('SignCadesBES_Async_File', file);\r\n cadesplugin.async_spawn(function*(arg) {\r\n \r\n var dataToSign = yield fileToBase64(file); // fileContent - объявлен в Code.js\r\n //console.debug('Base64 from file:', dataToSign);\r\n let idx = dataToSign.indexOf(',');\r\n dataToSign = dataToSign.substring(idx+1);\r\n\r\n SignCadesBES_B64_Async(certificate, dataToSign, flag).then(resolve, reject);\r\n \r\n }); //cadesplugin.async_spawn\r\n });\r\n}\r\n\r\nfunction SignCadesEnhanced_Async(certListBoxId, sign_type) {\r\n cadesplugin.async_spawn(function*(arg) {\r\n var e = document.getElementById(arg[0]);\r\n var selectedCertID = e.selectedIndex;\r\n if (selectedCertID == -1) {\r\n alert(\"Select certificate\");\r\n return;\r\n }\r\n var certificate = global_selectbox_container[selectedCertID];\r\n\r\n var dataToSign = document.getElementById(\"DataToSignTxtBox\").value;\r\n var SignatureFieldTitle = document.getElementsByName(\"SignatureTitle\");\r\n var Signature;\r\n try\r\n {\r\n //FillCertInfo_Async(certificate);\r\n var errormes = \"\";\r\n try {\r\n var oSigner = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CPSigner\");\r\n } catch (err) {\r\n errormes = \"Failed to create CAdESCOM.CPSigner: \" + err.number;\r\n throw errormes;\r\n }\r\n if (oSigner) {\r\n yield oSigner.propset_Certificate(certificate);\r\n }\r\n else {\r\n errormes = \"Failed to create CAdESCOM.CPSigner\";\r\n throw errormes;\r\n }\r\n\r\n var oSignedData = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.CadesSignedData\");\r\n var tspService = document.getElementById(\"TSPServiceTxtBox\").value ;\r\n\r\n if (dataToSign) {\r\n // Данные на подпись ввели\r\n yield oSignedData.propset_Content(dataToSign);\r\n yield oSigner.propset_Options(1); //CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN\r\n }\r\n yield oSigner.propset_TSAAddress(tspService);\r\n try {\r\n Signature = yield oSignedData.SignCades(oSigner, sign_type);\r\n }\r\n catch (err) {\r\n errormes = \"Не удалось создать подпись из-за ошибки: \" + cadesplugin.getLastError(err);\r\n throw errormes;\r\n }\r\n document.getElementById(\"SignatureTxtBox\").innerHTML = escapeHtml(Signature);\r\n SignatureFieldTitle[0].innerHTML = \"Подпись сформирована успешно:\";\r\n }\r\n catch(err)\r\n {\r\n SignatureFieldTitle[0].innerHTML = \"Возникла ошибка:\";\r\n document.getElementById(\"SignatureTxtBox\").innerHTML = escapeHtml(err);\r\n }\r\n }, certListBoxId); //cadesplugin.async_spawn\r\n}\r\n\r\nfunction FillCertInfo_Async(certificate, certsinfo, isFromContainer)\r\n{\r\n var BoxId;\r\n var field_prefix;\r\n if(typeof(certBoxId) == 'undefined' || certBoxId == \"CertListBox\")\r\n {\r\n BoxId = 'cert_info';\r\n field_prefix = '';\r\n }else if (certBoxId == \"CertListBox1\") {\r\n BoxId = 'cert_info1';\r\n field_prefix = 'cert_info1';\r\n } else if (certBoxId == \"CertListBox2\") {\r\n BoxId = 'cert_info2';\r\n field_prefix = 'cert_info2';\r\n } else {\r\n BoxId = certBoxId;\r\n field_prefix = certBoxId;\r\n }\r\n cadesplugin.async_spawn (function*(args) {\r\n certsinfo.selected = {cert: certificate};\r\n var Adjust = new CertificateAdjuster();\r\n\r\n certsinfo.selected.display = '';\r\n certsinfo.selected.subject = \"Владелец: \" + escapeHtml(Adjust.GetCertName(yield args[0].SubjectName)) + \"\";\r\n certsinfo.selected.issuer = \"Издатель: \" + escapeHtml(Adjust.GetIssuer(yield args[0].IssuerName)) + \"\";\r\n\r\n var ValidToDate = new Date((yield args[0].ValidToDate));\r\n var ValidFromDate = new Date((yield args[0].ValidFromDate));\r\n\r\n certsinfo.selected.from = \"Выдан: \" + escapeHtml(Adjust.GetCertDate(ValidFromDate)) + \" UTC\";\r\n certsinfo.selected.till = \"Действителен до: \" + escapeHtml(Adjust.GetCertDate(ValidToDate)) + \" UTC\";\r\n\r\n var hasPrivateKey = yield args[0].HasPrivateKey();\r\n var Now = new Date();\r\n\r\n var pubKey = yield args[0].PublicKey();\r\n var algo = yield pubKey.Algorithm;\r\n var fAlgoName = yield algo.FriendlyName;\r\n certsinfo.selected.algorithm = \"Алгоритм ключа: \" + escapeHtml(fAlgoName) + \"\";\r\n if (hasPrivateKey) {\r\n var oPrivateKey = yield args[0].PrivateKey;\r\n var sProviderName = yield oPrivateKey.ProviderName;\r\n certsinfo.selected.provname = \"Криптопровайдер: \" + escapeHtml(sProviderName) + \"\";\r\n try {\r\n var sPrivateKeyLink = yield oPrivateKey.UniqueContainerName;\r\n certsinfo.selected.privateKeyLink = \"Ссылка на закрытый ключ: \" + escapeHtml(sPrivateKeyLink) + \"\";\r\n } catch (e) {\r\n certsinfo.selected.privateKeyLink = \"Ссылка на закрытый ключ: \" + escapeHtml(e.message) + \"\";\r\n }\r\n } else {\r\n certsinfo.selected.provname = \"Криптопровайдер:\";\r\n certsinfo.selected.privateKeyLink = \"Ссылка на закрытый ключ:\";\r\n }\r\n var certIsValid = false;\r\n if(Now < ValidFromDate) {\r\n certsinfo.selected.status = \"Статус: Срок действия не наступил\";\r\n } else if( Now > ValidToDate){\r\n certsinfo.selected.status = \"Статус: Срок действия истек\";\r\n } else if( !hasPrivateKey ){\r\n certsinfo.selected.status = \"Статус: Нет привязки к закрытому ключу\";\r\n } else {\r\n //если попадется сертификат с неизвестным алгоритмом\r\n //тут будет исключение. В таком сертификате просто пропускаем такое поле\r\n try {\r\n var Validator = yield args[0].IsValid();\r\n certIsValid = yield Validator.Result;\r\n console.warn('cert', args[0]);\r\n } catch(e) {\r\n certIsValid = false;\r\n }\r\n if(certIsValid){\r\n certsinfo.selected.status = \"Статус: Действителен\";\r\n } else {\r\n certsinfo.selected.status = \"Статус: Ошибка при проверке цепочки сертификатов. Возможно на компьютере не установлены сертификаты УЦ, выдавшего ваш сертификат\";\r\n }\r\n }\r\n\r\n if(args[3])\r\n {\r\n if (certIsValid) {\r\n certsinfo.selected.location = \"Установлен в хранилище: Нет. При такой конфигурации не все приложения и порталы могут работать
Установить
\";\r\n } else {\r\n certsinfo.selected.location = \"Установлен в хранилище: Нет\";\r\n }\r\n } else {\r\n certsinfo.selected.location = \"Установлен в хранилище: Да\";\r\n }\r\n\r\n }, certificate, BoxId, field_prefix, isFromContainer);//cadesplugin.async_spawn\r\n}\r\n\r\nfunction Encrypt_Async() {\r\n cadesplugin.async_spawn (function*() {\r\n document.getElementById(\"DataEncryptedIV1\").innerHTML = \"\";\r\n document.getElementById(\"DataEncryptedIV2\").innerHTML = \"\";\r\n document.getElementById(\"DataEncryptedDiversData1\").innerHTML = \"\";\r\n document.getElementById(\"DataEncryptedDiversData2\").innerHTML = \"\";\r\n document.getElementById(\"DataEncryptedBox1\").innerHTML = \"\";\r\n document.getElementById(\"DataEncryptedBox2\").innerHTML = \"\";\r\n document.getElementById(\"DataEncryptedKey1\").innerHTML = \"\";\r\n document.getElementById(\"DataEncryptedKey2\").innerHTML = \"\";\r\n document.getElementById(\"DataDecryptedBox1\").innerHTML = \"\";\r\n document.getElementById(\"DataDecryptedBox2\").innerHTML = \"\";\r\n\r\n //Get First certificate\r\n var e = document.getElementById('CertListBox1');\r\n if (e.selectedIndex == -1) {\r\n alert(\"Select first certificate\");\r\n return;\r\n }\r\n var selectedCertID = e[e.selectedIndex].value;\r\n var certificate1 = global_selectbox_container[selectedCertID];\r\n\r\n //Get second Certificate\r\n var e = document.getElementById('CertListBox2');\r\n if (e.selectedIndex == -1) {\r\n alert(\"Select second certificate\");\r\n return;\r\n }\r\n var selectedCertID = e[e.selectedIndex].value;\r\n var certificate2 = global_selectbox_container[selectedCertID];\r\n\r\n var dataToEncr1 = Base64.encode(document.getElementById(\"DataToEncrTxtBox1\").value);\r\n var dataToEncr2 = Base64.encode(document.getElementById(\"DataToEncrTxtBox2\").value);\r\n\r\n if(dataToEncr1 === \"\" || dataToEncr2 === \"\") {\r\n errormes = \"Empty data to encrypt\";\r\n alert(errormes);\r\n throw errormes;\r\n }\r\n\r\n try\r\n {\r\n var errormes = \"\";\r\n\r\n try {\r\n var oSymAlgo = yield cadesplugin.CreateObjectAsync(\"cadescom.symmetricalgorithm\");\r\n } catch (err) {\r\n errormes = \"Failed to create cadescom.symmetricalgorithm: \" + err;\r\n alert(errormes);\r\n throw errormes;\r\n }\r\n\r\n yield oSymAlgo.GenerateKey();\r\n\r\n var oSesKey1 = yield oSymAlgo.DiversifyKey();\r\n var oSesKey1DiversData = yield oSesKey1.DiversData;\r\n var oSesKey1IV = yield oSesKey1.IV;\r\n var EncryptedData1 = yield oSesKey1.Encrypt(dataToEncr1, 1);\r\n document.getElementById(\"DataEncryptedDiversData1\").innerHTML = escapeHtml(oSesKey1DiversData);\r\n document.getElementById(\"DataEncryptedIV1\").innerHTML = escapeHtml(oSesKey1IV);\r\n document.getElementById(\"DataEncryptedBox1\").innerHTML = escapeHtml(EncryptedData1);\r\n\r\n var oSesKey2 = yield oSymAlgo.DiversifyKey();\r\n var oSesKey2DiversData = yield oSesKey2.DiversData;\r\n var oSesKey2IV = yield oSesKey2.IV;\r\n var EncryptedData2 = yield oSesKey2.Encrypt(dataToEncr2, 1);\r\n document.getElementById(\"DataEncryptedDiversData2\").innerHTML = escapeHtml(oSesKey2DiversData);\r\n document.getElementById(\"DataEncryptedIV2\").innerHTML = escapeHtml(oSesKey2IV);\r\n document.getElementById(\"DataEncryptedBox2\").innerHTML = escapeHtml(EncryptedData2);\r\n\r\n var ExportedKey1 = yield oSymAlgo.ExportKey(certificate1);\r\n document.getElementById(\"DataEncryptedKey1\").innerHTML = escapeHtml(ExportedKey1);\r\n\r\n var ExportedKey2 = yield oSymAlgo.ExportKey(certificate2);\r\n document.getElementById(\"DataEncryptedKey2\").innerHTML = escapeHtml(ExportedKey2);\r\n\r\n alert(\"Данные зашифрованы успешно:\");\r\n }\r\n catch(err)\r\n {\r\n alert(\"Ошибка при шифровании данных:\" + err);\r\n throw(\"Ошибка при шифровании данных:\" + err);\r\n }\r\n });//cadesplugin.async_spawn\r\n}\r\n\r\nfunction Decrypt_Async(certListBoxId) {\r\n cadesplugin.async_spawn (function*(arg) {\r\n document.getElementById(\"DataDecryptedBox1\").innerHTML = \"\";\r\n document.getElementById(\"DataDecryptedBox2\").innerHTML = \"\";\r\n\r\n var e = document.getElementById(arg[0]);\r\n var selectedCertID = e[e.selectedIndex].value;\r\n if (selectedCertID == -1) {\r\n alert(\"Select certificate\");\r\n return;\r\n }\r\n\r\n var certificate = global_selectbox_container[selectedCertID];\r\n\r\n var dataToDecr1 = document.getElementById(\"DataEncryptedBox1\").value;\r\n var dataToDecr2 = document.getElementById(\"DataEncryptedBox2\").value;\r\n var field;\r\n if(certListBoxId == 'CertListBox1')\r\n field =\"DataEncryptedKey1\";\r\n else\r\n field =\"DataEncryptedKey2\";\r\n\r\n var EncryptedKey = document.getElementById(field).value;\r\n try\r\n {\r\n FillCertInfo_Async(certificate, 'cert_info_decr');\r\n var errormes = \"\";\r\n\r\n try {\r\n var oSymAlgo = yield cadesplugin.CreateObjectAsync(\"cadescom.symmetricalgorithm\");\r\n } catch (err) {\r\n errormes = \"Failed to create cadescom.symmetricalgorithm: \" + err;\r\n alert(errormes);\r\n throw errormes;\r\n }\r\n\r\n yield oSymAlgo.ImportKey(EncryptedKey, certificate);\r\n\r\n var oSesKey1DiversData = document.getElementById(\"DataEncryptedDiversData1\").value;\r\n var oSesKey1IV = document.getElementById(\"DataEncryptedIV1\").value;\r\n yield oSymAlgo.propset_DiversData(oSesKey1DiversData);\r\n var oSesKey1 = yield oSymAlgo.DiversifyKey();\r\n yield oSesKey1.propset_IV(oSesKey1IV);\r\n var EncryptedData1 = yield oSesKey1.Decrypt(dataToDecr1, 1);\r\n document.getElementById(\"DataDecryptedBox1\").innerHTML = escapeHtml(Base64.decode(EncryptedData1));\r\n\r\n var oSesKey2DiversData = document.getElementById(\"DataEncryptedDiversData2\").value;\r\n var oSesKey2IV = document.getElementById(\"DataEncryptedIV2\").value;\r\n yield oSymAlgo.propset_DiversData(oSesKey2DiversData);\r\n var oSesKey2 = yield oSymAlgo.DiversifyKey();\r\n yield oSesKey2.propset_IV(oSesKey2IV);\r\n var EncryptedData2 = yield oSesKey2.Decrypt(dataToDecr2, 1);\r\n document.getElementById(\"DataDecryptedBox2\").innerHTML = escapeHtml(Base64.decode(EncryptedData2));\r\n\r\n alert(\"Данные расшифрованы успешно:\");\r\n }\r\n catch(err)\r\n {\r\n alert(\"Ошибка при шифровании данных:\" + err);\r\n throw(\"Ошибка при шифровании данных:\" + err);\r\n }\r\n }, certListBoxId);//cadesplugin.async_spawn\r\n}\r\n\r\nfunction RetrieveCertificate_Async()\r\n{\r\n cadesplugin.async_spawn (function*(arg) {\r\n try {\r\n var PrivateKey = yield cadesplugin.CreateObjectAsync(\"X509Enrollment.CX509PrivateKey\");\r\n }\r\n catch (e) {\r\n alert('Failed to create X509Enrollment.CX509PrivateKey: ' + cadesplugin.getLastError(e));\r\n return;\r\n }\r\n\r\n yield PrivateKey.propset_ProviderName(\"Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider\");\r\n yield PrivateKey.propset_ProviderType(80);\r\n yield PrivateKey.propset_KeySpec(1); //XCN_AT_KEYEXCHANGE\r\n\r\n try {\r\n var CertificateRequestPkcs10 = yield cadesplugin.CreateObjectAsync(\"X509Enrollment.CX509CertificateRequestPkcs10\");\r\n }\r\n catch (e) {\r\n alert('Failed to create X509Enrollment.CX509CertificateRequestPkcs10: ' + cadesplugin.getLastError(e));\r\n return;\r\n }\r\n\r\n yield CertificateRequestPkcs10.InitializeFromPrivateKey(0x1, PrivateKey, \"\");\r\n\r\n try {\r\n var DistinguishedName = yield cadesplugin.CreateObjectAsync(\"X509Enrollment.CX500DistinguishedName\");\r\n }\r\n catch (e) {\r\n alert('Failed to create X509Enrollment.CX500DistinguishedName: ' + cadesplugin.getLastError(e));\r\n return;\r\n }\r\n\r\n var CommonName = \"Test Certificate\";\r\n yield DistinguishedName.Encode(\"CN=\\\"\"+CommonName.replace(/\"/g, \"\\\"\\\"\")+\"\\\"\");\r\n\r\n yield CertificateRequestPkcs10.propset_Subject(DistinguishedName);\r\n\r\n var KeyUsageExtension = yield cadesplugin.CreateObjectAsync(\"X509Enrollment.CX509ExtensionKeyUsage\");\r\n var CERT_DATA_ENCIPHERMENT_KEY_USAGE = 0x10;\r\n var CERT_KEY_ENCIPHERMENT_KEY_USAGE = 0x20;\r\n var CERT_DIGITAL_SIGNATURE_KEY_USAGE = 0x80;\r\n var CERT_NON_REPUDIATION_KEY_USAGE = 0x40;\r\n\r\n yield KeyUsageExtension.InitializeEncode(\r\n CERT_KEY_ENCIPHERMENT_KEY_USAGE |\r\n CERT_DATA_ENCIPHERMENT_KEY_USAGE |\r\n CERT_DIGITAL_SIGNATURE_KEY_USAGE |\r\n CERT_NON_REPUDIATION_KEY_USAGE);\r\n\r\n yield (yield CertificateRequestPkcs10.X509Extensions).Add(KeyUsageExtension);\r\n\r\n try {\r\n var Enroll = yield cadesplugin.CreateObjectAsync(\"X509Enrollment.CX509Enrollment\");\r\n }\r\n catch (e) {\r\n alert('Failed to create X509Enrollment.CX509Enrollment: ' + cadesplugin.getLastError(e));\r\n return;\r\n }\r\n \r\n var cert_req;\r\n try {\r\n yield Enroll.InitializeFromRequest(CertificateRequestPkcs10);\r\n cert_req = yield Enroll.CreateRequest(0x1);\r\n } catch (e) {\r\n alert('Failed to generate KeyPair or reguest: ' + cadesplugin.getLastError(e));\r\n return; \r\n }\r\n\r\n var params = 'CertRequest=' + encodeURIComponent(cert_req) +\r\n '&Mode=' + encodeURIComponent('newreq') +\r\n '&TargetStoreFlags=' + encodeURIComponent('0') +\r\n '&SaveCert=' + encodeURIComponent('no');\r\n\r\n var xmlhttp = getXmlHttp();\r\n xmlhttp.open(\"POST\", \"https://testgost2012.cryptopro.ru/certsrv/certfnsh.asp\", true);\r\n xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\r\n xmlhttp.onreadystatechange = function() {\r\n if (xmlhttp.readyState == 4) {\r\n if(xmlhttp.status == 200) {\r\n cadesplugin.async_spawn (function*(arg) {\r\n var response = arg[0];\r\n var cert_data = \"\";\r\n\r\n if(!isIE())\r\n {\r\n var start = response.indexOf(\"var sPKCS7\");\r\n var end = response.indexOf(\"sPKCS7 += \\\"\\\"\") + 13;\r\n cert_data = response.substring(start, end);\r\n }\r\n else\r\n {\r\n var start = response.indexOf(\"sPKCS7 & \\\"\") + 9;\r\n var end = response.indexOf(\"& vbNewLine\\r\\n\\r\\n\");\r\n cert_data = response.substring(start, end);\r\n cert_data = cert_data.replace(new RegExp(\" & vbNewLine\",'g'),\";\");\r\n cert_data = cert_data.replace(new RegExp(\"&\",'g'),\"+\");\r\n cert_data = \"var sPKCS7=\" + cert_data + \";\";\r\n }\r\n\r\n eval(cert_data);\r\n\r\n try {\r\n var Enroll = yield cadesplugin.CreateObjectAsync(\"X509Enrollment.CX509Enrollment\");\r\n }\r\n catch (e) {\r\n alert('Failed to create X509Enrollment.CX509Enrollment: ' + cadesplugin.getLastError(e));\r\n return;\r\n }\r\n try {\r\n yield Enroll.Initialize(cadesplugin.ContextUser);\r\n }\r\n catch (err) {\r\n alert('Failed to initialize X509Enrollment: ' + cadesplugin.getLastError(err));\r\n return;\r\n }\r\n try {\r\n yield Enroll.InstallResponse(cadesplugin.CADESCOM_AllowNone, sPKCS7, cadesplugin.XCN_CRYPT_STRING_ANY, \"\");\r\n }\r\n catch (err) {\r\n e = cadesplugin.getLastError(err);\r\n if (e.indexOf(\"0x800B0109\") !== -1) {\r\n e = \"Предварительно необходимо установить корневой сертификат тестового УЦ в Доверенные корневые сертификаты\\n\\n\" + e;\r\n }\r\n alert(e);\r\n return;\r\n }\r\n\r\n document.getElementById(\"boxdiv\").style.display = 'none';\r\n if(location.pathname.indexOf(\"simple\")>=0) {\r\n location.reload();\r\n }\r\n else if(location.pathname.indexOf(\"symalgo_sample.html\")>=0){\r\n FillCertList_Async('CertListBox1', 'CertListBox2');\r\n }\r\n else{\r\n FillCertList_Async('CertListBox');\r\n }\r\n }, xmlhttp.responseText);//cadesplugin.async_spawn\r\n }\r\n }\r\n }\r\n xmlhttp.send(params);\r\n });//cadesplugin.async_spawn\r\n}\r\n\r\nfunction InstallCertificate_Async(certBoxId)\r\n{\r\n if (typeof(certBoxId) === 'undefined')\r\n return;\r\n cadesplugin.async_spawn(function*() {\r\n var e = document.getElementById(certBoxId);\r\n if (e.selectedIndex === -1) {\r\n alert(\"Select certificate\");\r\n return;\r\n }\r\n var selectedCertID = e[e.selectedIndex].value;\r\n var certificate = global_selectbox_container[selectedCertID];\r\n if (!global_isFromCont[selectedCertID]) {\r\n alert(\"Сертификат уже установлен в хранилище\");\r\n FillCertInfo_Async(certificate, certBoxId, global_isFromCont[selectedCertID]);\r\n return;\r\n }\r\n\r\n var data = yield certificate.Export(cadesplugin.CADESCOM_ENCODE_BASE64);\r\n\r\n try {\r\n var Enroll = yield cadesplugin.CreateObjectAsync(\"X509Enrollment.CX509Enrollment\");\r\n }\r\n catch (e) {\r\n alert('Failed to create X509Enrollment.CX509Enrollment: ' + cadesplugin.getLastError(e));\r\n return;\r\n }\r\n try {\r\n yield Enroll.Initialize(cadesplugin.ContextUser);\r\n }\r\n catch (err) {\r\n alert('Failed to initialize X509Enrollment: ' + cadesplugin.getLastError(err));\r\n return;\r\n }\r\n try {\r\n yield Enroll.InstallResponse(\r\n cadesplugin.CADESCOM_UseContainerStore |\r\n cadesplugin.CADESCOM_AllowNone,\r\n data, cadesplugin.XCN_CRYPT_STRING_BASE64_ANY, \"\");\r\n }\r\n catch (err) {\r\n e = cadesplugin.getLastError(err);\r\n if (e.indexOf(\"0x800B0109\") !== -1) {\r\n e = \"Ошибка: корневой сертификат УЦ не установлен в Доверенные корневые сертификаты\\n\\n\" + e;\r\n }\r\n alert(e);\r\n return;\r\n }\r\n global_isFromCont[selectedCertID] = false;\r\n FillCertInfo_Async(certificate, certBoxId, global_isFromCont[selectedCertID]);\r\n alert(\"Сертификат установлен в Личные сертификаты\");\r\n });//cadesplugin.async_spawn\r\n}\r\n\r\nfunction CheckForPlugInUEC_Async()\r\n{\r\n var isUECCSPInstalled = false;\r\n\r\n cadesplugin.async_spawn(function *() {\r\n var oAbout = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.About\");\r\n\r\n var UECCSPVersion;\r\n var CurrentPluginVersion = yield oAbout.PluginVersion;\r\n if( typeof(CurrentPluginVersion) == \"undefined\")\r\n CurrentPluginVersion = yield oAbout.Version;\r\n\r\n var PluginBaseVersion = \"1.5.1633\";\r\n var arr = PluginBaseVersion.split('.');\r\n\r\n var isActualVersion = true;\r\n\r\n if((yield CurrentPluginVersion.MajorVersion) == parseInt(arr[0]))\r\n {\r\n if((yield CurrentPluginVersion.MinorVersion) == parseInt(arr[1]))\r\n {\r\n if((yield CurrentPluginVersion.BuildVersion) == parseInt(arr[2]))\r\n {\r\n isActualVersion = true;\r\n }\r\n else if((yield CurrentPluginVersion.BuildVersion) < parseInt(arr[2]))\r\n {\r\n isActualVersion = false;\r\n }\r\n }else if((yield CurrentPluginVersion.MinorVersion) < parseInt(arr[1]))\r\n {\r\n isActualVersion = false;\r\n }\r\n }else if((yield CurrentPluginVersion.MajorVersion) < parseInt(arr[0]))\r\n {\r\n isActualVersion = false;\r\n }\r\n\r\n if(!isActualVersion)\r\n {\r\n setStateForPlugin(Colors.INFO, \"Плагин загружен, но он не поддерживает УЭК.\");\r\n }\r\n else\r\n {\r\n setStateForPlugin(Colors.SUCCESS, \"Плагин загружен\");\r\n\r\n try\r\n {\r\n var oUECard = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.UECard\");\r\n UECCSPVersion = yield oUECard.ProviderVersion;\r\n isUECCSPInstalled = true;\r\n }\r\n catch (err)\r\n {\r\n UECCSPVersion = \"Нет информации\";\r\n }\r\n\r\n if(!isUECCSPInstalled)\r\n {\r\n setStateForPlugin(Colors.INFO, \"Плагин загружен. Не установлен УЭК CSP.\");\r\n }\r\n }\r\n document.getElementById('PlugInVersionTxt').innerHTML = escapeHtml(\"Версия плагина: \" + (yield CurrentPluginVersion.toString()));\r\n document.getElementById('CSPVersionTxt').innerHTML = escapeHtml(\"Версия УЭК CSP: \" + (yield UECCSPVersion.toString()));\r\n }); //cadesplugin.async_spawn\r\n}\r\n\r\nfunction FoundCertInStore_Async(cerToFind) {\r\n return new Promise(function(resolve, reject){\r\n cadesplugin.async_spawn(function *(args) {\r\n\r\n if((typeof cerToFind == \"undefined\") || (cerToFind == null))\r\n args[0](false);\r\n\r\n var oStore = yield cadesplugin.CreateObjectAsync(\"CAdESCOM.store\");\r\n if (!oStore) {\r\n alert(\"store failed\");\r\n args[0](false);\r\n }\r\n try {\r\n yield oStore.Open();\r\n }\r\n catch (ex) {\r\n alert(\"Certificate not found\");\r\n args[0](false);\r\n }\r\n\r\n var Certificates = yield oStore.Certificates;\r\n var certCnt = yield Certificates.Count;\r\n if(certCnt==0)\r\n {\r\n oStore.Close();\r\n args[0](false);\r\n }\r\n\r\n var ThumbprintToFind = yield cerToFind.Thumbprint;\r\n\r\n for (var i = 1; i <= certCnt; i++) {\r\n var cert;\r\n try {\r\n cert = yield Certificates.Item(i);\r\n }\r\n catch (ex) {\r\n alert(\"Ошибка при перечислении сертификатов: \" + cadesplugin.getLastError(ex));\r\n args[0](false);\r\n }\r\n\r\n try {\r\n var Thumbprint = yield cert.Thumbprint;\r\n if(Thumbprint == ThumbprintToFind) {\r\n var dateObj = new Date();\r\n var ValidToDate = new Date(yield cert.ValidToDate);\r\n var HasPrivateKey = yield cert.HasPrivateKey();\r\n var IsValid = yield cert.IsValid();\r\n IsValid = yield IsValid.Result;\r\n\r\n if(dateObj= 33){\r\n return true;\r\n }\r\n else{\r\n return false;\r\n }\r\n }\r\n if(browserSpecs.name === 'Firefox') {\r\n isFireFox = true;\r\n if(browserSpecs.version >= 52){\r\n return true;\r\n }\r\n else{\r\n return false;\r\n }\r\n }\r\n if(browserSpecs.name === 'Chrome') {\r\n if(browserSpecs.version >= 42){\r\n return true;\r\n }\r\n else{\r\n return false;\r\n }\r\n }\r\n //В Сафари начиная с 12 версии нет NPAPI\r\n if(browserSpecs.name === 'Safari') {\r\n isSafari = true;\r\n if(browserSpecs.version >= 12) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n // Функция активации объектов КриптоПро ЭЦП Browser plug-in\r\n function CreateObject(name) {\r\n if (isIOS()) {\r\n // На iOS для создания объектов используется функция\r\n // call_ru_cryptopro_npcades_10_native_bridge, определенная в IOS_npcades_supp.js\r\n return call_ru_cryptopro_npcades_10_native_bridge(\"CreateObject\", [name]);\r\n }\r\n if (isIE()) {\r\n // В Internet Explorer создаются COM-объекты\r\n if (name.match(/X509Enrollment/i)) {\r\n try {\r\n // Объекты CertEnroll пробуем создавать через нашу фабрику,\r\n // если не получилось то через CX509EnrollmentWebClassFactory\r\n var objCertEnrollClassFactory = document.getElementById(\"webClassFactory\");\r\n return objCertEnrollClassFactory.CreateObject(name);\r\n }\r\n catch (e) {\r\n try {\r\n var objWebClassFactory = document.getElementById(\"certEnrollClassFactory\");\r\n return objWebClassFactory.CreateObject(name);\r\n }\r\n catch (err) {\r\n throw (\"Для создания обьектов X509Enrollment следует настроить веб-узел на использование проверки подлинности по протоколу HTTPS\");\r\n }\r\n }\r\n }\r\n // Объекты CAPICOM и CAdESCOM создаются через CAdESCOM.WebClassFactory\r\n try {\r\n var objWebClassFactory = document.getElementById(\"webClassFactory\");\r\n return objWebClassFactory.CreateObject(name);\r\n }\r\n catch (e) {\r\n // Для версий плагина ниже 2.0.12538\r\n return new ActiveXObject(name);\r\n }\r\n }\r\n // создаются объекты NPAPI\r\n return pluginObject.CreateObject(name);\r\n }\r\n\r\n function decimalToHexString(number) {\r\n if (number < 0) {\r\n number = 0xFFFFFFFF + number + 1;\r\n }\r\n\r\n return number.toString(16).toUpperCase();\r\n }\r\n\r\n function GetMessageFromException(e) {\r\n var err = e.message;\r\n if (!err) {\r\n err = e;\r\n } else if (e.number) {\r\n err += \" (0x\" + decimalToHexString(e.number) + \")\";\r\n }\r\n return err;\r\n }\r\n\r\n function getLastError(exception) {\r\n if(isNativeMessageSupported() || isIE() || isIOS() ) {\r\n return GetMessageFromException(exception);\r\n }\r\n\r\n try {\r\n return pluginObject.getLastError();\r\n } catch(e) {\r\n return GetMessageFromException(exception);\r\n }\r\n }\r\n\r\n // Функция для удаления созданных объектов\r\n function ReleasePluginObjects() {\r\n return cpcsp_chrome_nmcades.ReleasePluginObjects();\r\n }\r\n\r\n // Функция активации асинхронных объектов КриптоПро ЭЦП Browser plug-in\r\n function CreateObjectAsync(name) {\r\n return pluginObject.CreateObjectAsync(name);\r\n }\r\n\r\n //Функции для IOS\r\n var ru_cryptopro_npcades_10_native_bridge = {\r\n callbacksCount : 1,\r\n callbacks : {},\r\n\r\n // Automatically called by native layer when a result is available\r\n resultForCallback : function resultForCallback(callbackId, resultArray) {\r\n var callback = ru_cryptopro_npcades_10_native_bridge.callbacks[callbackId];\r\n if (!callback) return;\r\n callback.apply(null,resultArray);\r\n },\r\n\r\n // Use this in javascript to request native objective-c code\r\n // functionName : string (I think the name is explicit :p)\r\n // args : array of arguments\r\n // callback : function with n-arguments that is going to be called when the native code returned\r\n call : function call(functionName, args, callback) {\r\n var hasCallback = callback && typeof callback === \"function\";\r\n var callbackId = hasCallback ? ru_cryptopro_npcades_10_native_bridge.callbacksCount++ : 0;\r\n\r\n if (hasCallback)\r\n ru_cryptopro_npcades_10_native_bridge.callbacks[callbackId] = callback;\r\n\r\n var iframe = document.createElement(\"IFRAME\");\r\n var arrObjs = new Array(\"_CPNP_handle\");\r\n try{\r\n iframe.setAttribute(\"src\", \"cpnp-js-call:\" + functionName + \":\" + callbackId+ \":\" + encodeURIComponent(JSON.stringify(args, arrObjs)));\r\n } catch(e){\r\n alert(e);\r\n }\r\n document.documentElement.appendChild(iframe);\r\n iframe.parentNode.removeChild(iframe);\r\n iframe = null;\r\n }\r\n };\r\n\r\n function call_ru_cryptopro_npcades_10_native_bridge(functionName, array){\r\n var tmpobj;\r\n var ex;\r\n ru_cryptopro_npcades_10_native_bridge.call(functionName, array, function(e, response){\r\n ex = e;\r\n var str='tmpobj='+response;\r\n eval(str);\r\n if (typeof (tmpobj) === \"string\"){\r\n tmpobj = tmpobj.replace(/\\\\\\n/gm, \"\\n\");\r\n tmpobj = tmpobj.replace(/\\\\\\r/gm, \"\\r\");\r\n }\r\n });\r\n if(ex)\r\n throw ex;\r\n return tmpobj;\r\n }\r\n\r\n function show_firefox_missing_extension_dialog()\r\n {\r\n if (!window.cadesplugin_skip_extension_install)\r\n {\r\n var ovr = document.createElement('div');\r\n ovr.id = \"cadesplugin_ovr\";\r\n ovr.style = \"visibility: hidden; position: fixed; left: 0px; top: 0px; width:100%; height:100%; background-color: rgba(0,0,0,0.7)\";\r\n ovr.innerHTML = \"
\" +\r\n \"\" +\r\n \"

Для работы КриптоПро ЭЦП Browser plugin на данном сайте необходимо расширение для браузера. Убедитесь, что оно у Вас включено или установите его.\" +\r\n \"

Скачать расширение

\" +\r\n \"
\";\r\n document.getElementsByTagName(\"Body\")[0].appendChild(ovr);\r\n document.getElementById(\"cadesplugin_close_install\").addEventListener('click',function()\r\n {\r\n plugin_loaded_error(\"Плагин недоступен\");\r\n document.getElementById(\"cadesplugin_ovr\").style.visibility = 'hidden';\r\n });\r\n\r\n ovr.addEventListener('click',function()\r\n {\r\n plugin_loaded_error(\"Плагин недоступен\");\r\n document.getElementById(\"cadesplugin_ovr\").style.visibility = 'hidden';\r\n });\r\n ovr.style.visibility=\"visible\";\r\n }\r\n }\r\n function firefox_or_safari_nmcades_onload() {\r\n if (window.cadesplugin_extension_loaded_callback)\r\n window.cadesplugin_extension_loaded_callback();\r\n isFireFoxExtensionLoaded = true;\r\n cpcsp_chrome_nmcades.check_chrome_plugin(plugin_loaded, plugin_loaded_error);\r\n }\r\n\r\n function nmcades_api_onload() {\r\n if (!isIE() && !isFireFox && !isSafari) {\r\n if (window.cadesplugin_extension_loaded_callback)\r\n window.cadesplugin_extension_loaded_callback();\r\n }\r\n window.postMessage(\"cadesplugin_echo_request\", \"*\");\r\n window.addEventListener(\"message\", function (event){\r\n if (typeof(event.data) !== \"string\" || !event.data.match(\"cadesplugin_loaded\"))\r\n return;\r\n if (cadesplugin_loaded_event_recieved)\r\n return;\r\n if(isFireFox || isSafari)\r\n {\r\n // Для Firefox, Сафари вместе с сообщением cadesplugin_loaded прилетает url для загрузки nmcades_plugin_api.js\r\n var url = event.data.substring(event.data.indexOf(\"url:\") + 4);\r\n if (!url.match(\"^(moz|safari)-extension://[a-zA-Z0-9/_-]+/nmcades_plugin_api.js$\"))\r\n {\r\n cpcsp_console_log(cadesplugin.LOG_LEVEL_ERROR, \"Bad url \\\"\" + url + \"\\\" for load CryptoPro Extension for CAdES Browser plug-in\");\r\n plugin_loaded_error();\r\n return;\r\n }\r\n var fileref = document.createElement('script');\r\n fileref.setAttribute(\"type\", \"text/javascript\");\r\n fileref.setAttribute(\"src\", url);\r\n fileref.onerror = plugin_loaded_error;\r\n fileref.onload = firefox_or_safari_nmcades_onload;\r\n document.getElementsByTagName(\"head\")[0].appendChild(fileref);\r\n }else {\r\n cpcsp_chrome_nmcades.check_chrome_plugin(plugin_loaded, plugin_loaded_error);\r\n }\r\n cadesplugin_loaded_event_recieved = true;\r\n }, false);\r\n }\r\n\r\n //Загружаем расширения для Chrome, Opera, YaBrowser, FireFox, Edge, Safari\r\n function load_extension()\r\n {\r\n if(isFireFox || isSafari){\r\n // вызываем callback руками т.к. нам нужно узнать ID расширения. Он уникальный для браузера.\r\n nmcades_api_onload();\r\n } else {\r\n // в асинхронном варианте для Yandex и Opera подключаем расширение из Opera store.\r\n if (isOpera || isYandex) {\r\n var fileref = document.createElement('script');\r\n fileref.setAttribute(\"type\", \"text/javascript\");\r\n fileref.setAttribute(\"src\", \"chrome-extension://epebfcehmdedogndhlcacafjaacknbcm/nmcades_plugin_api.js\");\r\n fileref.onerror = plugin_loaded_error;\r\n fileref.onload = nmcades_api_onload;\r\n document.getElementsByTagName(\"head\")[0].appendChild(fileref);\r\n } else {\r\n // для Chrome, Chromium, Chromium Edge расширение из Chrome store\r\n var fileref = document.createElement('script');\r\n fileref.setAttribute(\"type\", \"text/javascript\");\r\n fileref.setAttribute(\"src\", \"chrome-extension://iifchhfnnmpdbibifmljnfjhpififfog/nmcades_plugin_api.js\");\r\n fileref.onerror = plugin_loaded_error;\r\n fileref.onload = nmcades_api_onload;\r\n document.getElementsByTagName(\"head\")[0].appendChild(fileref);\r\n }\r\n }\r\n }\r\n\r\n //Загружаем плагин для NPAPI\r\n function load_npapi_plugin()\r\n {\r\n var elem = document.createElement('object');\r\n elem.setAttribute(\"id\", \"cadesplugin_object\");\r\n elem.setAttribute(\"type\", \"application/x-cades\");\r\n elem.setAttribute(\"style\", \"visibility: hidden\");\r\n document.getElementsByTagName(\"body\")[0].appendChild(elem);\r\n pluginObject = document.getElementById(\"cadesplugin_object\");\r\n if(isIE())\r\n {\r\n var elem1 = document.createElement('object');\r\n elem1.setAttribute(\"id\", \"certEnrollClassFactory\");\r\n elem1.setAttribute(\"classid\", \"clsid:884e2049-217d-11da-b2a4-000e7bbb2b09\");\r\n elem1.setAttribute(\"style\", \"visibility: hidden\");\r\n document.getElementsByTagName(\"body\")[0].appendChild(elem1);\r\n var elem2 = document.createElement('object');\r\n elem2.setAttribute(\"id\", \"webClassFactory\");\r\n elem2.setAttribute(\"classid\", \"clsid:B04C8637-10BD-484E-B0DA-B8A039F60024\");\r\n elem2.setAttribute(\"style\", \"visibility: hidden\");\r\n document.getElementsByTagName(\"body\")[0].appendChild(elem2);\r\n }\r\n }\r\n\r\n //Отправляем событие что все ок.\r\n function plugin_loaded()\r\n {\r\n plugin_resolved = 1;\r\n if(canPromise)\r\n {\r\n plugin_resolve();\r\n }else {\r\n window.postMessage(\"cadesplugin_loaded\", \"*\");\r\n }\r\n }\r\n\r\n //Отправляем событие что сломались.\r\n function plugin_loaded_error(msg)\r\n {\r\n if(typeof(msg) === 'undefined' || typeof(msg) === 'object')\r\n msg = \"Плагин недоступен\";\r\n plugin_resolved = 1;\r\n if(canPromise)\r\n {\r\n plugin_reject(msg);\r\n } else {\r\n window.postMessage(\"cadesplugin_load_error\", \"*\");\r\n }\r\n }\r\n\r\n //проверяем что у нас хоть какое то событие ушло, и если не уходило кидаем еще раз ошибку\r\n function check_load_timeout()\r\n {\r\n if(plugin_resolved === 1)\r\n return;\r\n if(isFireFox)\r\n {\r\n if (!isFireFoxExtensionLoaded)\r\n show_firefox_missing_extension_dialog();\r\n }\r\n plugin_resolved = 1;\r\n if(canPromise)\r\n {\r\n plugin_reject(\"Истекло время ожидания загрузки плагина\");\r\n } else {\r\n window.postMessage(\"cadesplugin_load_error\", \"*\");\r\n }\r\n\r\n }\r\n\r\n //Вспомогательная функция для NPAPI\r\n function createPromise(arg)\r\n {\r\n return new Promise(arg);\r\n }\r\n\r\n function check_npapi_plugin (){\r\n try {\r\n var oAbout = CreateObject(\"CAdESCOM.About\");\r\n plugin_loaded();\r\n }\r\n catch (err) {\r\n document.getElementById(\"cadesplugin_object\").style.display = 'none';\r\n // Объект создать не удалось, проверим, установлен ли\r\n // вообще плагин. Такая возможность есть не во всех браузерах\r\n var mimetype = navigator.mimeTypes[\"application/x-cades\"];\r\n if (mimetype) {\r\n var plugin = mimetype.enabledPlugin;\r\n if (plugin) {\r\n plugin_loaded_error(\"Плагин загружен, но не создаются обьекты\");\r\n }else\r\n {\r\n plugin_loaded_error(\"Ошибка при загрузке плагина\");\r\n }\r\n }else\r\n {\r\n plugin_loaded_error(\"Плагин недоступен\");\r\n }\r\n }\r\n }\r\n\r\n //Проверяем работает ли плагин\r\n function check_plugin_working()\r\n {\r\n var div = document.createElement(\"div\");\r\n div.innerHTML = \"\";\r\n var isIeLessThan9 = (div.getElementsByTagName(\"i\").length === 1);\r\n if (isIeLessThan9) {\r\n plugin_loaded_error(\"Internet Explorer версии 8 и ниже не поддерживается\");\r\n return;\r\n }\r\n\r\n if(isNativeMessageSupported())\r\n {\r\n load_extension();\r\n }else if(!canPromise) {\r\n window.addEventListener(\"message\", function (event){\r\n if (event.data !== \"cadesplugin_echo_request\")\r\n return;\r\n load_npapi_plugin();\r\n check_npapi_plugin();\r\n },\r\n false);\r\n }else\r\n {\r\n if(document.readyState === \"complete\"){\r\n load_npapi_plugin();\r\n check_npapi_plugin();\r\n } else {\r\n window.addEventListener(\"load\", function (event) {\r\n load_npapi_plugin();\r\n check_npapi_plugin();\r\n }, false);\r\n }\r\n }\r\n }\r\n\r\n function set_pluginObject(obj)\r\n {\r\n pluginObject = obj;\r\n }\r\n\r\n function is_capilite_enabled()\r\n {\r\n if ((typeof (cadesplugin.EnableInternalCSP) !== 'undefined') && cadesplugin.EnableInternalCSP)\r\n return true;\r\n return false;\r\n };\r\n\r\n function set_load_timeout()\r\n {\r\n if (window.cadesplugin_load_timeout) {\r\n setTimeout(check_load_timeout, window.cadesplugin_load_timeout);\r\n }\r\n else {\r\n setTimeout(check_load_timeout, 20000);\r\n }\r\n }\r\n\r\n var onVisibilityChange = function (event) {\r\n if (document.hidden === false) {\r\n document.removeEventListener(\"visibilitychange\", onVisibilityChange);\r\n set_load_timeout();\r\n check_plugin_working();\r\n }\r\n };\r\n\r\n //Export\r\n cadesplugin.JSModuleVersion = \"2.3.6\";\r\n cadesplugin.async_spawn = async_spawn;\r\n cadesplugin.set = set_pluginObject;\r\n cadesplugin.set_log_level = set_log_level;\r\n cadesplugin.get_extension_version = get_extension_version;\r\n cadesplugin.get_extension_id = get_extension_id;\r\n cadesplugin.getLastError = getLastError;\r\n cadesplugin.is_capilite_enabled = is_capilite_enabled;\r\n\r\n if(isNativeMessageSupported())\r\n {\r\n cadesplugin.CreateObjectAsync = CreateObjectAsync;\r\n cadesplugin.ReleasePluginObjects = ReleasePluginObjects;\r\n }\r\n\r\n if(!isNativeMessageSupported())\r\n {\r\n cadesplugin.CreateObject = CreateObject;\r\n }\r\n\r\n set_constantValues();\r\n\r\n cadesplugin.current_log_level = cadesplugin.LOG_LEVEL_ERROR;\r\n window.cadesplugin = cadesplugin;\r\n if (isSafari && document.hidden) {\r\n document.addEventListener(\"visibilitychange\", onVisibilityChange);\r\n return;\r\n }\r\n set_load_timeout();\r\n check_plugin_working();\r\n}());\r\n","module.exports = __webpack_public_path__ + \"img/logo.80b33908.png\";","module.exports = __webpack_public_path__ + \"img/list.836fa7b0.svg\";","module.exports = __webpack_public_path__ + \"img/appointment.44ad8461.svg\";","module.exports = __webpack_public_path__ + \"img/box.be2f1727.svg\";"],"sourceRoot":""}