{"version":3,"sources":["webpack:///./src/views/pages/Examination/ExamBySubject/subcomponents/list-table.vue?6f5f","webpack:///./src/views/pages/Examination/ExamBySubject/subcomponents/list-table.vue?ad4c","webpack:///src/views/pages/Examination/ExamBySubject/subcomponents/list-table.vue","webpack:///./src/views/pages/Examination/ExamBySubject/subcomponents/list-table.vue?9bf0","webpack:///./src/views/pages/Examination/ExamBySubject/subcomponents/list-table.vue?d05f","webpack:///./src/views/pages/Examination/ExamBySubject/data/data-handlers.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","_e","list","status","message","scopedSlots","_u","key","fn","ref","data","_l","tr","indextr","index","_v","_s","nameLocal","score","questionTypeCode","unitSeq","on","$event","handleEdit","preventDefault","handleDelete","slot","table","thead","indexth","title","staticRenderFns","components","Loader","store","computed","loading","methods","mounted","component","submitForm","payload","dispatch","result","importAllExamQuestion","workbook","transformData","state","local","form","input","importSelectedExamQuestion","iteration","map","sheet","question","examId","subjectId","teacherId","examQuestionInput","subjectCode","teacherCode","CHOICE3","length","QUESTION","nameEng","picturePath","isRandomChoice","RANDOM","isActive","examAnswersInput","no","CHOICE1","isCorrected","ANSWER","CHOICE2","CHOICE4","editor","name","mode","active","handleDeleteListItem","sure","confirm","id","alert","loadData"],"mappings":"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","file":"js/chunk-5d6fa82c.17db5a09.js","sourcesContent":["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!./list-table.vue?vue&type=style&index=0&id=df2701e2&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"list-table\"},[(_vm.loading)?_c('Loader',{attrs:{\"cover\":\"\"}}):_vm._e(),_c('vs-table',{staticClass:\"table\",attrs:{\"data\":_vm.list,\"noDataText\":_vm.status.message},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar data = ref.data;\nreturn _vm._l((data),function(tr,indextr){return _c('vs-tr',{key:indextr,attrs:{\"data\":{ data: tr, index: indextr }}},[_c('vs-td',{attrs:{\"width\":\"40\"}},[_vm._v(\" \"+_vm._s(indextr + 1)+\" \")]),_c('vs-td',[_vm._v(\" \"+_vm._s(tr.nameLocal)+\" \")]),_c('vs-td',{attrs:{\"width\":\"80\"}},[_vm._v(\" \"+_vm._s(tr.score)+\" \")]),_c('vs-td',{attrs:{\"width\":\"80\"}},[_vm._v(\" \"+_vm._s(tr.questionTypeCode)+\" \")]),_c('vs-td',{attrs:{\"width\":\"50\"}},[_vm._v(\" \"+_vm._s(tr.unitSeq)+\" \")]),_c('vs-td',{staticClass:\"whitespace-no-wrap\",attrs:{\"width\":\"100\"}},[_c('feather-icon',{attrs:{\"icon\":\"EditIcon\",\"svgClasses\":\"w-5 h-5 hover:text-primary stroke-current\"},on:{\"click\":function($event){return _vm.handleEdit(tr)}}}),_c('feather-icon',{staticClass:\"ml-2\",attrs:{\"icon\":\"TrashIcon\",\"svgClasses\":\"w-5 h-5 hover:text-danger stroke-current\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handleDelete(tr)}}})],1)],1)})}}])},[_c('template',{slot:\"header\"},[_c('div',{staticClass:\"table-header\"})]),_vm._l((_vm.table.header),function(thead,indexth){return _c('template',{slot:\"thead\"},[_c('vs-th',{key:indexth},[_vm._v(\" \"+_vm._s(thead.title)+\" \")])],1)})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n\n\n\n\n\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!./list-table.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!./list-table.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./list-table.vue?vue&type=template&id=df2701e2&scoped=true&\"\nimport script from \"./list-table.vue?vue&type=script&lang=js&\"\nexport * from \"./list-table.vue?vue&type=script&lang=js&\"\nimport style0 from \"./list-table.vue?vue&type=style&index=0&id=df2701e2&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 \"df2701e2\",\n null\n \n)\n\nexport default component.exports","/* ********************************\n * Data Handlers\n * ********************************\n */\n\n/* eslint-disable no-unused-vars */\nimport { state } from \"./index\";\nimport store from \"@/store\";\nimport router from \"@/router\";\nimport { loadData } from \"./data-loader\";\n\n\n/** \n * Submit Form Data\n * \n * @param {Object} payload Contain requires inputs for adding data\n * @property {Object, required} courseOutlineRegistrationInput : {\n academicPeriodId: \"\", // {String} Get it from filter selection.\n periodCode: \"\", // {String} Get it from filter selection.\n degreeId: \"\", // {String} Get it from filter selection.\n subjectGroupId: \"\", // {String} Get it from filter selection.\n subjectId: \"\", // {String} Get it from Course Outline Selection.\n subjectCode: \"\", // {String} \"----------------------------------\"\n subjectName: \"\", // {String} \"----------------------------------\"\n courseOutlineId: \"\", // {String} \"----------------------------------\"\n teacherId: \"\", // {String} \"----------------------------------\"\n teacherCode: \"\", // {String} \"----------------------------------\"\n }\n * \n */\n\nexport const submitForm = async (payload) => {\n const result = await store.dispatch(\"Courses/CourseOutlineRegistration/addCourseOutlineRegistration\", payload);\n return result;\n}\n\n\n/** \n * Import All Exam Question\n * \n * @param {Object} payload Contain requires inputs for adding data\n * @property {Object, required} courseOutlineRegistrationInput : {\n academicPeriodId: \"\", // {String} Get it from filter selection.\n periodCode: \"\", // {String} Get it from filter selection.\n degreeId: \"\", // {String} Get it from filter selection.\n subjectGroupId: \"\", // {String} Get it from filter selection.\n subjectId: \"\", // {String} Get it from Course Outline Selection.\n subjectCode: \"\", // {String} \"----------------------------------\"\n subjectName: \"\", // {String} \"----------------------------------\"\n courseOutlineId: \"\", // {String} \"----------------------------------\"\n teacherId: \"\", // {String} \"----------------------------------\"\n teacherCode: \"\", // {String} \"----------------------------------\"\n }\n * \n */\n\nexport const importAllExamQuestion = async () => {\n const workbook = transformData(state.local.table.data, state.local.form.input);\n const result = await store.dispatch(\"Examination/bulkAddExamQuestion\", { workbook });\n return result;\n}\n\n/** \n * Import Selected Exam Question Sheet\n * \n * @param {Object} payload Contain requires inputs for adding data\n * @property {Object, required} courseOutlineRegistrationInput : {\n academicPeriodId: \"\", // {String} Get it from filter selection.\n periodCode: \"\", // {String} Get it from filter selection.\n degreeId: \"\", // {String} Get it from filter selection.\n subjectGroupId: \"\", // {String} Get it from filter selection.\n subjectId: \"\", // {String} Get it from Course Outline Selection.\n subjectCode: \"\", // {String} \"----------------------------------\"\n subjectName: \"\", // {String} \"----------------------------------\"\n courseOutlineId: \"\", // {String} \"----------------------------------\"\n teacherId: \"\", // {String} \"----------------------------------\"\n teacherCode: \"\", // {String} \"----------------------------------\"\n }\n * \n */\n\n export const importSelectedExamQuestion = async () => {\n const workbook = transformData(state.local.table.data, state.local.form.input);\n const result = await store.dispatch(\"Examination/bulkAddExamQuestion\", { workbook });\n return result;\n}\n\nfunction transformData(iteration, input) {\n return iteration.map((sheet, index) => {\n return sheet.map(question => {\n return {\n examId: input.examId,\n subjectId: input.subjectId,\n teacherId: input.teacherId,\n examQuestionInput: {\n subjectCode: input.subjectCode,\n teacherCode: input.teacherCode,\n unitSeq: index + 1,\n questionTypeCode: question.CHOICE3.length < 1 ? \"TF\" : \"MP\",\n nameLocal: question.QUESTION,\n nameEng: question.QUESTION,\n picturePath: \"\",\n score: input.score,\n isRandomChoice: question.RANDOM === \"1\",\n isActive: true,\n },\n examAnswersInput: [\n {\n no: \"1\",\n nameLocal: question.CHOICE1,\n nameEng: question.CHOICE1,\n isCorrected: question.ANSWER === \"1\" ? true : false\n },\n {\n no: \"2\",\n nameLocal: question.CHOICE2,\n nameEng: question.CHOICE2,\n isCorrected: question.ANSWER === \"2\" ? true : false\n },\n {\n no: \"3\",\n nameLocal: question.CHOICE3,\n nameEng: question.CHOICE3,\n isCorrected: question.ANSWER === \"3\" ? true : false\n },\n {\n no: \"4\",\n nameLocal: question.CHOICE4,\n nameEng: question.CHOICE4,\n isCorrected: question.ANSWER === \"4\" ? true : false\n },\n ]\n }\n })\n });\n}\n\n// export const addData = async (payload) => {\n// const sample = {\n// courseOutlineRegistrationInput: {\n// academicPeriodId: \"\",\n// periodCode: \"\",\n// courseOutlineId: \"\",\n// degreeId: \"\",\n// subjectGroupId: \"\",\n// subjectId: \"\",\n// subjectCode: \"\",\n// subjectName: \"\",\n// teacherId: \"\",\n// teacherCode: \"\",\n// }\n// };\n// store.dispatch(\"Courses/CourseOutlineRegistration/addCourseOutlineRegistration\", sample);\n// };\n\n\n\n// export const handleSelectedListItem = (tr) => {\n// const id = tr.id || null;\n// if (id) {\n// router.push(\n// {\n// name: \"vdo-set-topic\",\n// params: {\n// vdoSetUnitId: id\n// }\n// }\n// )\n// }\n// }\n\n\nexport const handleEdit = (data) => {\n if (data) {\n // state.local.form.id = data.id;\n // state.local.form.teacherId = data.teacher.id;\n // state.local.form.vdoSetUnitInput.unitSeq = data.unitSeq;\n // state.local.form.vdoSetUnitInput.code = state.local.vdoSet.code;\n // state.local.form.vdoSetUnitInput.totalVdoLength = data.vdoSet.totalVdoLength;\n // state.local.form.vdoSetUnitInput.status = \"\"\n // state.local.form.vdoSetUnitInput.remark = \"\"\n state.local.editor = { name: \"EditExamQuestion\", mode: \"edit\", active: true };\n }\n}\n\n\nexport const handleDeleteListItem = async (tr) => {\n const sure = confirm(\"Yes or No\");\n // const sure = confirm(`ยืนยันการลบ Vdo Set Unit\\nวิชา ${tr.subject.nameLocal} (${tr.code})\\nสอนโดย ${tr.teacher.firstNameLocal} ${tr.teacher.lastNameLocal} ใช่หรือไม่?`);\n const { id } = tr;\n if (sure) {\n await store.dispatch(\"Courses/CourseOutlineRegistration/deleteCourseOutlineRegistration\", { id });\n alert('Delete Success');\n loadData();\n }\n}\n\n\n// export const submitForm = (formInput) => {\n// if (formInput) {\n// if (state.local.editor.mode === \"edit\") {\n// _store.dispatch('VdoSet/Units/updateVdoSetUnit', formInput);\n// } else {\n// _store.dispatch('VdoSet/Units/addVdoSetUnit', formInput);\n// }\n// } else {\n// alert(\"Requires to fill up the form\");\n// }\n// }\n"],"sourceRoot":""}