{"version":3,"sources":["webpack:///./src/pages/manage/events/zones/certificates/index.vue","webpack:///./src/pages/manage/events/components/cetificate-card.vue","webpack:///./src/data/Object/EventCertificateObjectDataSource.ts","webpack:///./src/pages/manage/events/components/cetificate-card.vue?5e90","webpack:///./src/pages/manage/events/components/cetificate-card.vue?ce9b","webpack:///./src/pages/manage/events/components/cetificate-card.vue?0758","webpack:///./src/pages/manage/events/zones/certificates/index.vue?c59c","webpack:///./src/pages/manage/events/zones/certificates/index.vue?ed6e","webpack:///./src/pages/manage/events/zones/certificates/index.vue?46ab","webpack:///./src/data/List/UserListDataSoure.ts"],"names":["_c","attrs","_vm","staticClass","on","add","$event","ref","staticRenderFns","dataSource","key","fn","item","fullName","directives","mask","validateWithoutErrors","scopedSlots","proxy","value","callback","expression","definedUser","addCertificatePerson","filteredPersons","changeLector","lectorId","certificateTemplateDataSource","changeTemplate","model","$$v","$set","metaData","_v","uploadFile","fileUploaderDialogVisible","EventCertificateObjectDataSource","ObjectDataSource","constructor","id","config","super","className","getFileBase64","this","_signature","_stamp","event","data","axios","post","baseUrl","headers","Accept","onUploadProgress","e","onProgress","file","error","_error$response","response","persons","_error$response2","_error$response3","get","_error$response4","_error$response5","CertificateCard","Vue","userEmail","certificate","certificateLectorDataSource","ListDataSource","icons","plus","mdiPlus","trash","mdiTrashCan","text","sortable","align","lectorHeaders","caption","name","type","description","editor","priority","group","visibleInTable","validations","validator","errorMessage","date","country","city","errorMessages","Array","fileType","loaded","personDataSource","items","filter","p","undefined","certificateLectors","find","cp","_this$errorMessages$l","_this$errorMessages","length","uploadStamp","uploadSignature","fileName","$message","uploadListenersCsv","certificatePersonDataSource","openUploadDilog","instanceStateId","updateField","fieldName","fieldValue","validate","userDataSource","findUser","includes","startsWith","push","_this$certificate","Promise","all","loadSignature","loadStamp","lectors","userProfileId","eventCertificateId","personId","certificateId","certificateTemplateId","confirm","$confirm","remove","_error$response6","certificateLector","l","person","Error","_error$response7","__decorate","Prop","Component","components","FileUploaderDialog","FileUploader","component","Certificates","eventObjectDataSource","$route","params","eventId","EventUserListDataSource","pageIndex","pageSize","JSON","stringify","Filter","actions","getLectors","getTemplates","fields","outlined","label","getItems","valueKeyName","labelKeyName","noDataText","_this$eventObjectData","to","exact","disabled","dataEditorDialog","update","Ref","DataEditorDialog","UserListDataSource","url","toQueryString","err","responseType","window","URL","createObjectURL","link","document","createElement","download","href","body","appendChild","click","removeChild","consentId"],"mappings":"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","file":"js/chunk-6c74f44a.ad1bb5ec.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"space-between\"}},[_c('div',[_c('h1',{staticClass:\"my-0\"},[_vm._v(\"Сертификаты\")]),_c('v-breadcrumbs',{staticClass:\"pl-0\",attrs:{\"items\":_vm.breadcrumbs}})],1),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":_vm.add}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(_vm._s(_vm.icons.plus))]),_vm._v(\" Добавить сертификат \")],1)],1),(_vm.loaded)?_c('v-row',_vm._l((_vm.dataSource.items),function(item){return _c('v-col',{key:item.id,attrs:{\"cols\":\"6\"}},[_c('certificate-card',{attrs:{\"person-data-source\":_vm.personDataSource,\"certificateTemplateDataSource\":_vm.certificateTemplateDataSource,\"certificate\":item,\"user-data-source\":_vm.userDataSource,\"certificate-person-data-source\":_vm.certificatePersonDataSource},on:{\"remove\":function($event){return _vm.remove(item)}}})],1)}),1):_vm._e(),_c('data-editor-dialog',{ref:\"dataEditorDialog\",attrs:{\"maxWidth\":600,\"title\":\"Добавить новый сертификат\",\"actions\":_vm.actions,\"fields\":_vm.fields}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_vm.loaded)?_c('v-card',[_c('v-card-title',{staticClass:\"d-flex align-center justify-space-between mb-3\"},[_c('inline-editor-string',{attrs:{\"data-source\":_vm.dataSource,\"field\":_vm.metaData.caption}}),_c('v-btn',{attrs:{\"elevation\":\"0\"},on:{\"click\":function($event){return _vm.$emit('remove')}}},[_c('v-icon',[_vm._v(_vm._s(_vm.icons.trash))])],1)],1),_c('v-card-subtitle',[_c('inline-editor-string',{attrs:{\"data-source\":_vm.dataSource,\"field\":_vm.metaData.description}})],1),_c('v-card-text',[_c('v-expansion-panels',[_c('v-expansion-panel',[_c('v-expansion-panel-header',[_c('b',[_vm._v(\"Слушатели\")])]),_c('v-expansion-panel-content',[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.certificatePersonDataSource.items,\"items-per-page\":-1,\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:`item.actions`,fn:function({ item }){return [_c('v-btn',{attrs:{\"x-small\":\"\",\"color\":\"error\"},on:{\"click\":function($event){return _vm.removeCertificatePerson(item.id)}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(_vm._s(_vm.icons.trash))])],1)]}},{key:`item.userProfile.fullName`,fn:function({ item }){return [_c('router-link',{attrs:{\"to\":`/manage/user/${item.userProfile.id}/user-profile`}},[_vm._v(\" \"+_vm._s(item.userProfile.fullName)+\" \")])]}}],null,true)}),_c('v-text-field',{directives:[{name:\"mask\",rawName:\"v-mask\",value:(_vm.mask),expression:\"mask\"}],attrs:{\"error-count\":_vm.errorCount,\"error-messages\":_vm.errorMessages,\"label\":\"Найти участника (email, телефон)\"},on:{\"input\":_vm.validateWithoutErrors},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('v-btn',{attrs:{\"small\":\"\"},on:{\"click\":_vm.findByEmail}},[_vm._v(\"Найти\")])]},proxy:true}],null,false,693910841),model:{value:(_vm.userEmail),callback:function ($$v) {_vm.userEmail=$$v},expression:\"userEmail\"}}),(_vm.definedUser)?_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"space-between\"}},[_c('v-col',[_vm._v(_vm._s(_vm.definedUser.fullName))]),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":_vm.addCertificatePerson}},[_vm._v(\" Добавить \")])],1)],1):_vm._e(),_c('file-uploader',{attrs:{\"placeholder\":\"Перетащите сюда .csv файл со слушателями или\",\"fileTypes\":['csv']},on:{\"upload\":_vm.uploadlisteners}})],1)],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_c('b',[_vm._v(\"Дополнительные\")])]),_c('v-expansion-panel-content',[_c('p',[_vm._v(\"Лекторы\")]),_c('v-data-table',{attrs:{\"headers\":_vm.lectorHeaders,\"items\":_vm.dataSource.model.certificateLectors,\"items-per-page\":-1,\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:`item.actions`,fn:function({ item }){return [_c('v-btn',{attrs:{\"x-small\":\"\",\"color\":\"error\"},on:{\"click\":function($event){return _vm.removeCertificateLector(item.id)}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(_vm._s(_vm.icons.trash))])],1)]}}],null,true)}),_c('v-autocomplete',{attrs:{\"label\":\"Выберите лектора\",\"items\":_vm.filteredPersons,\"item-text\":\"caption\",\"item-value\":\"id\"},on:{\"change\":_vm.changeLector},model:{value:(_vm.lectorId),callback:function ($$v) {_vm.lectorId=$$v},expression:\"lectorId\"}}),_c('v-autocomplete',{attrs:{\"label\":\"Шаблон сертификата\",\"placeholder\":\"Выберите шаблон сертификата\",\"items\":_vm.certificateTemplateDataSource.items,\"item-text\":\"caption\",\"item-value\":\"id\"},on:{\"change\":_vm.changeTemplate},model:{value:(_vm.dataSource.model.certificateTemplateId),callback:function ($$v) {_vm.$set(_vm.dataSource.model, \"certificateTemplateId\", $$v)},expression:\"dataSource.model.certificateTemplateId\"}})],1)],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_c('b',[_vm._v(\"Прочие поля\")])]),_c('v-expansion-panel-content',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('p',{staticClass:\"mb-0\"},[_vm._v(\"Дата\")]),_c('inline-editor-date',{attrs:{\"data-source\":_vm.dataSource,\"field\":_vm.metaData.date}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('p',{staticClass:\"mb-0\"},[_vm._v(\"Страна\")]),_c('inline-editor-countryselector',{attrs:{\"data-source\":_vm.dataSource,\"field\":_vm.metaData.country}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('p',{staticClass:\"mb-0\"},[_vm._v(\"Город\")]),_c('inline-editor-cityselector',{attrs:{\"data-source\":_vm.dataSource,\"field\":_vm.metaData.city}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"d-flex align-start mb-5\"},[_c('p',{staticClass:\"mb-0\"},[_vm._v(\"Подпись\")]),(_vm.dataSource.signature)?_c('v-img',{staticClass:\"ml-5\",attrs:{\"width\":\"70px\",\"height\":\"70px\",\"contain\":\"\",\"src\":_vm.dataSource.signature}}):_vm._e()],1),_c('v-btn',{attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.openUploadDilog('signature')}}},[_vm._v(\" Загрузить подпись \")])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"d-flex align-start mb-5\"},[_c('p',{staticClass:\"mb-0\"},[_vm._v(\"Печать\")]),(_vm.dataSource.stamp)?_c('v-img',{staticClass:\"ml-5\",attrs:{\"width\":\"70px\",\"height\":\"70px\",\"contain\":\"\",\"src\":_vm.dataSource.stamp}}):_vm._e()],1),_c('v-btn',{attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.openUploadDilog('stamp')}}},[_vm._v(\" Загрузить печать \")])],1)],1)],1)],1)],1),_c('div',{staticClass:\"pt-3 d-flex align-center justify-space-between\"},[_c('div',[_vm._v(_vm._s(_vm.dataSource.model.id))]),_c('v-switch',{attrs:{\"input-value\":_vm.dataSource.model.instanceStateId == 4,\"hide-details\":\"\"},on:{\"change\":_vm.changeInstanceState}})],1)],1),_c('file-uploader-dialog',{attrs:{\"max-files\":1},on:{\"upload\":_vm.uploadFile},model:{value:(_vm.fileUploaderDialogVisible),callback:function ($$v) {_vm.fileUploaderDialogVisible=$$v},expression:\"fileUploaderDialogVisible\"}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { getFileBase64 } from \"../../cms-services/helpers\";\nimport axios from \"axios\";\nimport { ObjectDataSource } from \"./ObjecDatatSource\";\n\nexport class EventCertificateObjectDataSource extends ObjectDataSource {\n private _signature: any;\n private _stamp: any;\n\n constructor(id: number, model?: any, config?: any) {\n super({\n className: \"EventCertificate\",\n id,\n model,\n config,\n });\n }\n\n public get signature() {\n return getFileBase64(this._signature);\n }\n\n public get stamp() {\n return getFileBase64(this._stamp);\n }\n\n public async uploadSignature(event) {\n try {\n const { data } = await axios.post(\n `${this.baseUrl}/signature`,\n event.data,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n Accept: \"*/*\",\n },\n onUploadProgress(e) {\n event.onProgress(e, event.file);\n },\n },\n );\n this._signature = data;\n } catch (error: any) {\n throw error?.response?.data;\n }\n }\n\n public async uploadListenersCsv(event) {\n try {\n const { data } = await axios.post(\n `${this.baseUrl}/listeners`,\n event.data,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n Accept: \"*/*\",\n },\n onUploadProgress(e) {\n event.onProgress(e, event.file);\n },\n },\n );\n this.model.persons = [...this.model.persons, ...data];\n } catch (error: any) {\n throw error?.response?.data;\n }\n }\n\n public async uploadStamp(event: any) {\n try {\n const { data } = await axios.post(`${this.baseUrl}/stamp`, event.data, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n Accept: \"*/*\",\n },\n onUploadProgress(e) {\n event.onProgress(e, event.file);\n },\n });\n this._stamp = data;\n } catch (error: any) {\n throw error?.response?.data;\n }\n }\n\n public async loadSignature() {\n try {\n const { data } = await axios.get(`${this.baseUrl}/signature`);\n this._signature = data;\n } catch (error: any) {\n throw error?.response?.data;\n }\n }\n\n public async loadStamp() {\n try {\n const { data } = await axios.get(`${this.baseUrl}/stamp`);\n this._stamp = data;\n } catch (error: any) {\n throw error?.response?.data;\n }\n }\n}\n","\nimport { validate } from \"@/cms-services/validators\";\nimport { ListDataSource } from \"@/data/List/ListDataSource\";\nimport { EventCertificateObjectDataSource } from \"@/data/Object/EventCertificateObjectDataSource\";\nimport { mdiPlus, mdiTrashCan } from \"@mdi/js\";\nimport { Vue, Component, Prop } from \"vue-property-decorator\";\nimport { EventUserListDataSource } from \"@/data/List/UserListDataSoure\";\nimport FileUploaderDialog from \"@/components/helpers/file-uploader-dialog.vue\";\nimport FileUploader from \"@/components/file-uploader.vue\";\n@Component({\n components: { FileUploaderDialog, FileUploader },\n})\nexport default class CertificateCard extends Vue {\n @Prop() certificate!: any;\n @Prop() certificateTemplateDataSource!: ListDataSource;\n @Prop() personDataSource!: ListDataSource;\n @Prop() userDataSource!: EventUserListDataSource;\n @Prop() certificatePersonDataSource!: ListDataSource;\n fileUploaderDialogVisible = false;\n userEmail: string = \"\";\n dataSource = new EventCertificateObjectDataSource(\n this.certificate.id,\n this.certificate\n );\n certificateLectorDataSource: ListDataSource = new ListDataSource({\n className: \"EventCertificateLector\",\n config: {},\n });\n\n icons: any = {\n plus: mdiPlus,\n trash: mdiTrashCan,\n };\n mask = \"\";\n definedUser: any = null;\n headers: any = [\n {\n text: \"ID\",\n value: \"id\",\n sortable: true,\n },\n {\n text: \"ФИО\",\n value: \"userProfile.fullName\",\n sortable: true,\n },\n {\n value: \"actions\",\n sortable: true,\n align: \"right\",\n },\n ];\n\n lectorHeaders: any = [\n {\n text: \"ID\",\n value: \"id\",\n sortable: true,\n },\n {\n text: \"ФИО\",\n value: \"fullName\",\n sortable: true,\n },\n {\n value: \"actions\",\n sortable: true,\n align: \"right\",\n },\n ];\n metaData = {\n caption: {\n name: \"caption\",\n type: \"string\",\n description:\n \"Заголовок компонента. Обычно используется как основной заголовок при визуализации как страницы, так и виджетов.\",\n caption: \"Подпись\",\n editor: \"string\",\n priority: 100,\n group: \"general\",\n visibleInTable: true,\n validations: [\n {\n validator: \"max\",\n value: 250,\n errorMessage: \"Поле не может содержать больше чем 250 символов\",\n },\n {\n validator: \"required\",\n value: true,\n errorMessage: \"Поле не может быть пустым\",\n },\n ],\n config: {},\n },\n description: {\n name: \"description\",\n type: \"string\",\n description:\n \"Короткое описание компонента, которое обычно используется для визуализации описательной части в виджетах, метаданных. Иногда используется в качестве описательного блока под заголовком в основной визуализации.\",\n caption: \"Описание\",\n editor: \"memo\",\n priority: 100,\n group: \"general\",\n visibleInTable: false,\n validations: [],\n config: {},\n },\n date: {\n name: \"date\",\n caption: \"Дата\",\n editor: \"date\",\n validations: [],\n config: {},\n },\n country: {\n name: \"countryId\",\n type: \"string\",\n description: null,\n caption: \"Страна\",\n editor: \"countryselector\",\n priority: 100,\n group: \"general\",\n visibleInTable: false,\n validations: [],\n config: {},\n },\n city: {\n name: \"cityId\",\n type: \"string\",\n description: null,\n caption: \"Город\",\n editor: \"cityselector\",\n priority: 100,\n group: \"general\",\n visibleInTable: false,\n validations: [],\n config: {},\n },\n };\n $message: any;\n errorMessages: any[] = new Array();\n $confirm: any;\n fileType: string = \"\";\n lectorId: any = null;\n loaded: boolean = false;\n\n get filteredPersons() {\n return this.personDataSource.items.filter(\n (p) =>\n this.dataSource.model.certificateLectors.find((cp) => cp.id == p.id) ==\n undefined\n );\n }\n\n get errorCount() {\n return this.errorMessages?.length ?? 0;\n }\n\n async uploadFile(event: any) {\n try {\n this.fileType == \"stamp\"\n ? await this.dataSource.uploadStamp(event)\n : await this.dataSource.uploadSignature(event);\n const fileName = this.fileType == \"stamp\" ? \"Печать\" : \"Подпись\";\n this.$message(fileName + \" успешно загружен\");\n this.fileUploaderDialogVisible = false;\n } catch (error) {\n this.$message(error);\n }\n }\n\n async uploadlisteners(event: any) {\n try {\n await this.dataSource.uploadListenersCsv(event);\n this.certificatePersonDataSource.items = this.dataSource.model.persons;\n this.$message(\"Слушатели успешно загружены\");\n } catch (error) {\n this.$message(error);\n }\n }\n\n openUploadDilog(fileType: string) {\n this.fileType = fileType;\n this.fileUploaderDialogVisible = true;\n }\n\n async changeInstanceState() {\n try {\n const instanceStateId = this.dataSource.model.instanceStateId;\n await this.dataSource.updateField({\n fieldName: \"instanceStateId\",\n fieldValue: instanceStateId == 4 ? 2 : 4,\n });\n this.$message(\"Статус успешно изменён\");\n } catch (error: any) {\n this.$message(error?.response?.data, \"error\");\n }\n }\n\n async findByEmail() {\n this.errorMessages = await this.validate();\n\n if (this.errorMessages.length > 0) return;\n\n try {\n this.definedUser = await this.userDataSource.findUser(\n \"email\",\n this.userEmail\n );\n } catch (error: any) {\n this.errorMessages = error?.response?.data;\n }\n }\n\n async validate() {\n const validations = [\n {\n validator: \"required\",\n value: true as any,\n errorMessage: \"Поле не может быть пустым\",\n },\n ];\n if (\n !this.userEmail.includes(\"@\") &&\n (this.userEmail.startsWith(\"+\") ||\n this.userEmail.startsWith(\"8\") ||\n this.userEmail.startsWith(\"9\"))\n ) {\n this.mask = \"+7(###) ###-##-##\";\n validations.push({\n validator: \"min\",\n errorMessage: \"Пожалуйста введите валидный номер телефона\",\n value: 15,\n });\n } else {\n this.mask = \"\";\n validations.push({\n validator: \"regular\",\n value: \"email\",\n errorMessage: \"Введите корректный адрес\",\n });\n }\n const { errorMessages } = await validate(\n { name: \"userEmail\", validations },\n { userEmail: this.userEmail }\n );\n return errorMessages ?? [];\n }\n\n async validateWithoutErrors() {\n const errorMessages: any = await this.validate();\n if (errorMessages.length > 0) this.errorMessages = [];\n }\n\n async created() {\n await Promise.all([\n this.dataSource.loadSignature(),\n this.dataSource.loadStamp(),\n ]);\n this.certificatePersonDataSource.items = this.certificate?.persons;\n this.certificateLectorDataSource.items = this.dataSource.model.lectors;\n this.loaded = true;\n }\n\n async addCertificatePerson() {\n try {\n await this.certificatePersonDataSource.add({\n userProfileId: this.definedUser.id,\n eventCertificateId: this.dataSource.model.id,\n });\n this.$message(\"Слушатель успешно добавлен\");\n this.definedUser = null;\n this.userEmail = \"\";\n } catch (error: any) {\n this.$message(error?.response?.data, \"error\");\n }\n }\n\n async changeLector(event) {\n try {\n await this.certificateLectorDataSource.add({\n personId: event,\n certificateId: this.certificate.id,\n });\n await this.dataSource.get();\n this.lectorId = null;\n this.$message(\"Лектор успешно обновлён\");\n } catch (error: any) {\n this.$message(error?.response?.data, \"error\");\n }\n }\n\n async changeTemplate() {\n try {\n await this.dataSource.updateField({\n fieldName: \"certificateTemplateId\",\n fieldValue: this.dataSource.model.certificateTemplateId,\n });\n this.$message(\"Шаблон успешно обновлён\");\n } catch (error: any) {\n this.$message(error?.response?.data, \"error\");\n }\n }\n\n async removeCertificatePerson(id) {\n const confirm = await this.$confirm(\n \"Вы действительно хотите удалить данного слушателя ?\"\n );\n if (!confirm) return;\n try {\n await this.certificatePersonDataSource.remove(id);\n this.$message(\"Слушатель успешно удфлён\");\n } catch (error: any) {\n this.$message(error?.response?.data, \"error\");\n }\n }\n\n async removeCertificateLector(id) {\n const confirm = await this.$confirm(\n \"Вы действительно хотите удалить данного Лектора ?\"\n );\n if (!confirm) return;\n try {\n const certificateLector = this.dataSource.model.lectors.find(\n (l) => l.person.id == id\n );\n\n if (!certificateLector) throw new Error(\"\");\n\n await this.certificateLectorDataSource.remove(certificateLector.id);\n await this.dataSource.get();\n this.$message(\"Лектор успешно удалён\");\n } catch (error: any) {\n this.$message(error?.response?.data, \"error\");\n }\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cetificate-card.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cetificate-card.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./cetificate-card.vue?vue&type=template&id=034fd810\"\nimport script from \"./cetificate-card.vue?vue&type=script&lang=ts\"\nexport * from \"./cetificate-card.vue?vue&type=script&lang=ts\"\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","\nimport { ListDataSource } from \"@/data/List/ListDataSource\";\nimport { ObjectDataSource } from \"@/data/Object/ObjecDatatSource\";\nimport { mdiPlus, mdiTrashCan } from \"@mdi/js\";\nimport { Vue, Component, Ref } from \"vue-property-decorator\";\nimport DataEditorDialog from \"@/components/helpers/data/editor-dialog.vue\";\nimport CertificateCard from \"@/pages/manage/events/components/cetificate-card.vue\";\nimport { EventUserListDataSource } from \"@/data/List/UserListDataSoure\";\nimport { Filter } from \"@/cms-services/filter\";\n@Component({\n components: { DataEditorDialog, CertificateCard },\n})\nexport default class Certificates extends Vue {\n @Ref(\"dataEditorDialog\") dataEditorDialog!: DataEditorDialog;\n loaded: boolean = false;\n eventObjectDataSource = new ObjectDataSource({\n id: +this.$route.params.eventId,\n config: {},\n className: \"event\",\n });\n\n userDataSource = new EventUserListDataSource({\n pageIndex: 1,\n pageSize: 100,\n });\n\n certificatePersonDataSource = new ListDataSource({\n className: \"EventCertificatePerson\",\n config: {},\n });\n\n dataSource = new ListDataSource({\n className: \"EventCertificate\",\n config: {\n pageIndex: 1,\n pageSize: 100,\n filter: JSON.stringify([\n new Filter(\"EventId\", +this.$route.params.eventId),\n ]),\n },\n });\n\n personDataSource = new ListDataSource({\n className: \"Person\",\n config: {\n pageIndex: 1,\n pageSize: 100,\n },\n });\n\n certificateTemplateDataSource = new ListDataSource({\n className: \"CertificateTemplate\",\n config: {\n pageIndex: 1,\n pageSize: 100,\n },\n });\n\n model: any = {\n caption: \"\",\n lectorId: null,\n certificateTemplateId: null,\n eventId: +this.$route.params.eventId,\n };\n\n actions: any = {\n getLectors: () => this.personDataSource.items,\n getTemplates: () => this.certificateTemplateDataSource.items,\n };\n\n fields: any = [\n {\n editor: \"string\",\n attrs: {\n type: \"text\",\n outlined: true,\n label: \"Заголовок *\",\n },\n name: \"caption\",\n validations: [\n {\n validator: \"required\",\n errorMessage: \"Поле не может быть пустым\",\n value: true,\n },\n ],\n },\n {\n name: \"lectorId\",\n editor: \"enum\",\n attrs: {\n type: \"text\",\n outlined: true,\n label: \"Выберите лектора\",\n },\n config: {\n getItems: \"getLectors\",\n valueKeyName: \"id\",\n labelKeyName: \"caption\",\n type: \"select\",\n noDataText: \"Данные не найдены\",\n },\n validations: [\n {\n validator: \"required\",\n errorMessage: \"Поле не может быть пустым\",\n value: true,\n },\n ],\n },\n {\n name: \"certificateTemplateId\",\n editor: \"enum\",\n attrs: {\n type: \"text\",\n outlined: true,\n label: \"Выберите шаблон сертификата\",\n },\n config: {\n getItems: \"getTemplates\",\n valueKeyName: \"id\",\n labelKeyName: \"caption\",\n type: \"select\",\n noDataText: \"Данные не найдены\",\n },\n validations: [\n {\n validator: \"required\",\n errorMessage: \"Поле не может быть пустым\",\n value: true,\n },\n ],\n },\n ];\n\n icons: any = {\n plus: mdiPlus,\n trash: mdiTrashCan,\n };\n $message: any;\n $confirm: any;\n\n get breadcrumbs() {\n return [\n {\n text: \"Главная\",\n to: \"/\",\n },\n {\n text: \"События\",\n to: \"/manage/events/\",\n exact: true,\n },\n {\n text: this.eventObjectDataSource.model?.caption,\n to: `/manage/events/${this.$route.params.eventId}`,\n exact: true,\n },\n {\n text: \"Сертификаты\",\n disabled: true,\n },\n ];\n }\n async created() {\n await Promise.all([\n this.eventObjectDataSource.get(),\n this.dataSource.get(),\n this.personDataSource.get(),\n this.certificateTemplateDataSource.get(),\n ]);\n this.loaded = true;\n }\n\n async add() {\n const model = await this.dataEditorDialog.update(this.model);\n if (!model) return;\n try {\n await this.dataSource.add(model);\n this.$message(\"Успешно добавлено\");\n } catch (error: any) {\n this.$message(error?.response?.data);\n }\n }\n\n async remove(item) {\n const confirm = await this.$confirm(\n \"Вы действительно хотите удалить данный сертификат?\"\n );\n if (!confirm) return;\n try {\n await this.dataSource.remove(item.id);\n this.$message(\"Успешно удалён\");\n } catch (error: any) {\n this.$message(error?.response?.data);\n }\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=7cd21b84\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\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","import { IBaseConfig } from \"@/ioc/types\";\nimport axios from \"axios\";\nimport { toQueryString } from \"@/cms-services/helpers\";\nimport { ListDataSource } from \"./ListDataSource\";\n\nexport class UserListDataSource extends ListDataSource {\n constructor(config: IBaseConfig) {\n super({\n className: \"user\",\n config,\n });\n }\n public async findUser(fieldName: string, fieldValue: string) {\n try {\n const url = `${this.baseUrl}/find/${toQueryString({\n fieldName,\n fieldValue,\n })}`;\n const { data } = await axios.get(url);\n return data;\n } catch (error: any) {\n throw error;\n }\n }\n\n public async uploadCsv(event: any) {\n try {\n await axios.post(`${this.baseUrl}/upload/csv`, event.data, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n Accept: \"*/*\",\n },\n onUploadProgress(e) {\n event.onProgress(e, event.file);\n },\n });\n } catch (err) {\n throw err;\n }\n }\n\n public async downloadExcel() {\n try {\n const { data } = await axios.get(`${this.baseUrl}/download/xlsx`, {\n responseType: \"blob\",\n });\n const url = window.URL.createObjectURL(data);\n var link = document.createElement(\"a\");\n link.download = \"Список пользователей.xlsx\";\n link.href = url;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n } catch (error) {\n throw error;\n }\n }\n\n public async downloadExcelByConsent(consentId:number) {\n try {\n const { data } = await axios.get(`${this.baseUrl}/download/xlsx/consent/${consentId}`, {\n responseType: \"blob\",\n });\n const url = window.URL.createObjectURL(data);\n var link = document.createElement(\"a\");\n link.download = \"Список пользователей.xlsx\";\n link.href = url;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n } catch (error) {\n throw error;\n }\n }\n}\n\nexport class EventUserListDataSource extends ListDataSource {\n constructor(config: IBaseConfig) {\n super({\n className: \"event\",\n config,\n });\n }\n public async findUser(fieldName: string, fieldValue: string) {\n try {\n const url = `${this.baseUrl}/users/${toQueryString({\n fieldName,\n fieldValue,\n })}`;\n const { data } = await axios.get(url);\n return data;\n } catch (error: any) {\n throw error;\n }\n }\n\n\n}\n"],"sourceRoot":""}