Skip to content
Snippets Groups Projects
Commit bba3767b authored by jaejin's avatar jaejin
Browse files

new version

parent b09c7e04
No related branches found
No related tags found
No related merge requests found
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
......@@ -355,7 +355,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _com
/***/ (function(module, __webpack_exports__, __webpack_require__) {
 
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.symbol */ \"./node_modules/core-js/modules/es.symbol.js\");\n/* harmony import */ var core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_symbol_description__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.symbol.description */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n/* harmony import */ var core_js_modules_es_symbol_description__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_symbol_iterator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n/* harmony import */ var core_js_modules_es_symbol_iterator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.includes */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.index-of */ \"./node_modules/core-js/modules/es.array.index-of.js\");\n/* harmony import */ var core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.includes */ \"./node_modules/core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.string.iterator */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! regenerator-runtime/runtime */ \"./node_modules/regenerator-runtime/runtime.js\");\n/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _home_seungjun_ajoutt_front_end_node_modules_babel_runtime_corejs3_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./node_modules/@babel/runtime-corejs3/helpers/esm/asyncToGenerator */ \"./node_modules/@babel/runtime-corejs3/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _components_classSelector_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/components/classSelector.vue */ \"./src/components/classSelector.vue\");\n/* harmony import */ var _components_TimeTableInfoBox_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/components/TimeTableInfoBox.vue */ \"./src/components/TimeTableInfoBox.vue\");\n\n\n\n\n\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data: function data() {\n return {\n // 프로그램 상수\n MAX_DISPLAY_TIMETABLE: 80,\n //한 번에 표시할 최대 시간표 개수\n FILLTERING_ASYNC_UPDATE_CYCLE: 50,\n //필터링 진행 중 프로그래스바 업데이트 할 주기(개수))\n selectedClassList: new Array(),\n combinationList: new Array(),\n tagList: new Array(),\n nowClassList: new Array(),\n //현재 프로그램 상태를 나타내는 변수\n //0: 초기 상태\n //1: 서버에 요청 보냈고 응답 기다리는 상태\n //2: 응답 받은 상태\n state: 0,\n //유저 입력\n form_tag: new Array(),\n //유저가 검색 확정 지음.\n form_temp_tag: new Array(),\n //아직 유저가 검색 확정 짓기 전, v-modl 연결용\n form_class: new Array(),\n form_temp_class: new Array(),\n form_targetCredit: 1,\n test: \"\",\n isFilltering: false,\n //현재 필터링이 동작중이면 on\n fillteringMsg: \"\",\n //필터링 진행 중에 표시할 메세지\n fillteringProgressValue: 0,\n fillteredTimeTableList: new Array(),\n //팝업 윈도우 관련 변수\n popErrorWindow: false,\n popWindowMsg: \"\"\n };\n },\n computed: {\n isCalculating: function isCalculating() {\n if (this.state == 1) {\n return true;\n } else {\n return false;\n }\n },\n isShowClassSelector: function isShowClassSelector() {\n if (this.state == 0) {\n return true;\n } else {\n return false;\n }\n },\n isShowSubmitButton: function isShowSubmitButton() {\n if (this.state == 2) {\n return false;\n } else {\n return true;\n }\n },\n distinctTagList: function distinctTagList() {\n var temp = new Array();\n\n for (var i = 0; i < this.tagList.length; i++) {\n for (var j = 0; j < this.tagList[i].length; j++) {\n if (temp.includes(this.tagList[i][j]) == false) {\n temp.push(this.tagList[i][j]);\n }\n }\n }\n\n return temp;\n }\n },\n watch: {\n state: function state(newValue) {\n if (newValue == 1) {\n this.$refs.audioPlayer.play();\n } else {\n this.$refs.audioPlayer.pause();\n this.$refs.audioPlayer.currentTime = 0;\n }\n },\n test: function test(newValue) {\n var temp = JSON.parse(newValue);\n this.combinationList = temp.result;\n this.tagList = temp.tag;\n },\n isFilltering: function isFilltering(newValue) {\n if (newValue == true) {\n this.$refs.audioPlayer.play();\n } else {\n this.$refs.audioPlayer.pause();\n this.$refs.audioPlayer.currentTime = 0;\n }\n }\n },\n components: {\n classSelector: _components_classSelector_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n timeTableBox: _components_TimeTableInfoBox_vue__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n methods: {\n classSelected: function classSelected(classList) {\n this.selectedClassList = classList;\n },\n onSubmitButtonClicked: function () {\n var _onSubmitButtonClicked = Object(_home_seungjun_ajoutt_front_end_node_modules_babel_runtime_corejs3_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee() {\n var response;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (this.$refs.creditForm.validate()) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n if (!(this.selectedClassList.length == 0)) {\n _context.next = 6;\n break;\n }\n\n this.popErrorWindow = true;\n this.popWindowMsg = \"수업을 선택하지 않았습니다.\";\n return _context.abrupt(\"return\");\n\n case 6:\n this.state = 1;\n _context.prev = 7;\n _context.next = 10;\n return this.$http.post(\"/table/combination/\" + this.form_targetCredit, this.selectedClassList);\n\n case 10:\n response = _context.sent;\n response = response.data;\n console.log(response.result);\n this.combinationList = response.result;\n this.tagList = response.tag;\n this.nowClassList = JSON.parse(JSON.stringify(this.selectedClassList));\n this.state = 2;\n _context.next = 26;\n break;\n\n case 19:\n _context.prev = 19;\n _context.t0 = _context[\"catch\"](7);\n console.log(_context.t0);\n console.log(_context.t0.httpStatus);\n this.state = 0;\n this.popErrorWindow = true;\n this.popWindowMsg = \"서버와의 통신에 실패하였습니다. http 상태 코드: \" + _context.t0.httpStatus;\n\n case 26:\n this.reset();\n\n case 27:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[7, 19]]);\n }));\n\n function onSubmitButtonClicked() {\n return _onSubmitButtonClicked.apply(this, arguments);\n }\n\n return onSubmitButtonClicked;\n }(),\n creditRule: function creditRule(v) {\n if (v > 24) {\n return \"수강 가능한 최대 학점은 24학점입니다.\";\n }\n\n if (this.$store.state.userInfo.grade < 3.75 && v > 19) {\n return \"누계 평 3.75미만인 경우 최대 19학점까지 신청할 수 있습니다.\";\n }\n\n if (this.$store.state.userInfo.department != \"소프트웨어학과\" && v > 22) {\n return \"회원님의 학과는 최대 22학점까지 신청할 수 있습니다.\";\n }\n\n return true;\n },\n tagMatch: function tagMatch(conditionTagList, fullTagList) {\n if (conditionTagList.length == 0) {\n return true;\n }\n\n if (conditionTagList.length > fullTagList.length) {\n return false;\n }\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = conditionTagList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var tag = _step.value;\n\n if (fullTagList.includes(tag) == false) {\n return false;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return true;\n },\n classMatch: function classMatch(conditionClassList, fullClassList) {\n if (conditionClassList == undefined) {\n return true;\n }\n\n if (conditionClassList.length == 0) {\n return true;\n }\n\n if (conditionClassList.length > fullClassList.length) {\n return false;\n }\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = conditionClassList[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var conditionClass = _step2.value;\n var findFlag = false;\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = fullClassList[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var fullClass = _step3.value;\n\n if (conditionClass.Dname == fullClass.Dname && conditionClass.Lname == fullClass.Lname) {\n findFlag = true;\n break;\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n if (findFlag == false) {\n return false;\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return true;\n },\n onFillterButtonClick: function onFillterButtonClick() {\n this.isFilltering = true;\n this.form_tag = this.form_temp_tag;\n this.form_class = this.form_temp_class;\n this.calFillteredTimeTableList();\n },\n calFillteredTimeTableList: function () {\n var _calFillteredTimeTableList = Object(_home_seungjun_ajoutt_front_end_node_modules_babel_runtime_corejs3_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee2() {\n var temp, final, conditionTagList, _iteratorNormalCompletion4, _didIteratorError4, _iteratorError4, _iterator4, _step4, index, total, i, conditionClassList, _iteratorNormalCompletion5, _didIteratorError5, _iteratorError5, _iterator5, _step5, _index, _i, timeTableInfo;\n\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n temp = new Array();\n final = new Array();\n this.fillteringMsg = \"태그를 기준으로 필터링하고 있습니다...\";\n this.fillteringProgressValue = 0;\n _context2.prev = 4;\n conditionTagList = new Array();\n _iteratorNormalCompletion4 = true;\n _didIteratorError4 = false;\n _iteratorError4 = undefined;\n _context2.prev = 9;\n\n for (_iterator4 = this.form_tag[Symbol.iterator](); !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n index = _step4.value;\n conditionTagList.push(this.distinctTagList[index]);\n } //1차 태그 필터링\n\n\n _context2.next = 17;\n break;\n\n case 13:\n _context2.prev = 13;\n _context2.t0 = _context2[\"catch\"](9);\n _didIteratorError4 = true;\n _iteratorError4 = _context2.t0;\n\n case 17:\n _context2.prev = 17;\n _context2.prev = 18;\n\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n\n case 20:\n _context2.prev = 20;\n\n if (!_didIteratorError4) {\n _context2.next = 23;\n break;\n }\n\n throw _iteratorError4;\n\n case 23:\n return _context2.finish(20);\n\n case 24:\n return _context2.finish(17);\n\n case 25:\n total = this.combinationList.length;\n i = 0;\n\n case 27:\n if (!(i < this.combinationList.length)) {\n _context2.next = 36;\n break;\n }\n\n if (this.tagMatch(conditionTagList, this.tagList[i])) {\n temp.push({\n classList: this.combinationList[i],\n tagList: this.tagList[i]\n });\n }\n\n if (!isBaesu(i + 1, this.FILLTERING_ASYNC_UPDATE_CYCLE)) {\n _context2.next = 33;\n break;\n }\n\n this.fillteringProgressValue = (i + 1) / total * 100;\n _context2.next = 33;\n return wait(300);\n\n case 33:\n i++;\n _context2.next = 27;\n break;\n\n case 36:\n conditionClassList = new Array();\n _iteratorNormalCompletion5 = true;\n _didIteratorError5 = false;\n _iteratorError5 = undefined;\n _context2.prev = 40;\n\n for (_iterator5 = this.form_class[Symbol.iterator](); !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n _index = _step5.value;\n conditionClassList.push(this.nowClassList[_index]);\n } //2차 수업 필터링\n\n\n _context2.next = 48;\n break;\n\n case 44:\n _context2.prev = 44;\n _context2.t1 = _context2[\"catch\"](40);\n _didIteratorError5 = true;\n _iteratorError5 = _context2.t1;\n\n case 48:\n _context2.prev = 48;\n _context2.prev = 49;\n\n if (!_iteratorNormalCompletion5 && _iterator5.return != null) {\n _iterator5.return();\n }\n\n case 51:\n _context2.prev = 51;\n\n if (!_didIteratorError5) {\n _context2.next = 54;\n break;\n }\n\n throw _iteratorError5;\n\n case 54:\n return _context2.finish(51);\n\n case 55:\n return _context2.finish(48);\n\n case 56:\n this.fillteringMsg = \"수업을 기준으로 필터링 하고 있습니다...\";\n this.fillteringProgressValue = 0;\n total = temp.length;\n _i = 0;\n\n case 60:\n if (!(_i < temp.length)) {\n _context2.next = 71;\n break;\n }\n\n timeTableInfo = temp[_i];\n\n if (this.classMatch(conditionClassList, timeTableInfo.classList)) {\n final.push(timeTableInfo);\n }\n\n if (!_i) {\n _context2.next = 68;\n break;\n }\n\n if (!isBaesu(_i + 1, this.FILLTERING_ASYNC_UPDATE_CYCLE)) {\n _context2.next = 68;\n break;\n }\n\n this.fillteringProgressValue = (_i + 1) / total * 100;\n _context2.next = 68;\n return wait(300);\n\n case 68:\n _i++;\n _context2.next = 60;\n break;\n\n case 71:\n this.isFilltering = false;\n this.fillteredTimeTableList = final;\n _context2.next = 82;\n break;\n\n case 75:\n _context2.prev = 75;\n _context2.t2 = _context2[\"catch\"](4);\n console.log(_context2.t2);\n this.popErrorWindow = true;\n this.popWindowMsg = \"죄송합니다. 검색기능에 문제가 생겼습니다. 페이지를 새로고침 해 주십시오.\";\n this.isFilltering = false;\n return _context2.abrupt(\"return\");\n\n case 82:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this, [[4, 75], [9, 13, 17, 25], [18,, 20, 24], [40, 44, 48, 56], [49,, 51, 55]]);\n }));\n\n function calFillteredTimeTableList() {\n return _calFillteredTimeTableList.apply(this, arguments);\n }\n\n return calFillteredTimeTableList;\n }(),\n reset: function reset() {\n this.form_tag = [];\n this.form_class = [];\n this.form_temp_tag = [];\n this.form_temp_class = [];\n this.fillteredTimeTableList = [];\n }\n }\n});\n\nfunction wait(time) {\n return new Promise(function (res) {\n setTimeout(function () {\n res();\n }, time);\n });\n} //a가 b의 배수인지 확인\n\n\nfunction isBaesu(a, b) {\n var divide = a / b;\n var str = \"\" + divide;\n\n if (str.indexOf(\".\") >= 0) {\n return false;\n }\n\n return true;\n}\n\n//# sourceURL=webpack:///./src/views/Simulation.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vuetify-loader/lib/loader.js!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.symbol */ \"./node_modules/core-js/modules/es.symbol.js\");\n/* harmony import */ var core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_symbol_description__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.symbol.description */ \"./node_modules/core-js/modules/es.symbol.description.js\");\n/* harmony import */ var core_js_modules_es_symbol_description__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_symbol_iterator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator */ \"./node_modules/core-js/modules/es.symbol.iterator.js\");\n/* harmony import */ var core_js_modules_es_symbol_iterator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.includes */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.index-of */ \"./node_modules/core-js/modules/es.array.index-of.js\");\n/* harmony import */ var core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.includes */ \"./node_modules/core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.string.iterator */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! regenerator-runtime/runtime */ \"./node_modules/regenerator-runtime/runtime.js\");\n/* harmony import */ var regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(regenerator_runtime_runtime__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _home_seungjun_ajoutt_front_end_node_modules_babel_runtime_corejs3_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./node_modules/@babel/runtime-corejs3/helpers/esm/asyncToGenerator */ \"./node_modules/@babel/runtime-corejs3/helpers/esm/asyncToGenerator.js\");\n/* harmony import */ var _components_classSelector_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/components/classSelector.vue */ \"./src/components/classSelector.vue\");\n/* harmony import */ var _components_TimeTableInfoBox_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/components/TimeTableInfoBox.vue */ \"./src/components/TimeTableInfoBox.vue\");\n\n\n\n\n\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data: function data() {\n return {\n // 프로그램 상수\n MAX_DISPLAY_TIMETABLE: 80,\n //한 번에 표시할 최대 시간표 개수\n FILLTERING_ASYNC_UPDATE_CYCLE: 50,\n //필터링 진행 중 프로그래스바 업데이트 할 주기(개수))\n selectedClassList: new Array(),\n combinationList: new Array(),\n tagList: new Array(),\n nowClassList: new Array(),\n //현재 프로그램 상태를 나타내는 변수\n //0: 초기 상태\n //1: 서버에 요청 보냈고 응답 기다리는 상태\n //2: 응답 받은 상태\n state: 0,\n //유저 입력\n form_tag: new Array(),\n //유저가 검색 확정 지음.\n form_temp_tag: new Array(),\n //아직 유저가 검색 확정 짓기 전, v-modl 연결용\n form_class: new Array(),\n form_temp_class: new Array(),\n form_targetCredit: 1,\n test: \"\",\n isFilltering: false,\n //현재 필터링이 동작중이면 on\n fillteringMsg: \"\",\n //필터링 진행 중에 표시할 메세지\n fillteringProgressValue: 0,\n fillteredTimeTableList: new Array(),\n //팝업 윈도우 관련 변수\n popErrorWindow: false,\n popWindowMsg: \"\"\n };\n },\n computed: {\n isCalculating: function isCalculating() {\n if (this.state == 1) {\n return true;\n } else {\n return false;\n }\n },\n isShowClassSelector: function isShowClassSelector() {\n if (this.state == 0) {\n return true;\n } else {\n return false;\n }\n },\n isShowSubmitButton: function isShowSubmitButton() {\n if (this.state == 2) {\n return false;\n } else {\n return true;\n }\n },\n distinctTagList: function distinctTagList() {\n var temp = new Array();\n\n for (var i = 0; i < this.tagList.length; i++) {\n for (var j = 0; j < this.tagList[i].length; j++) {\n if (temp.includes(this.tagList[i][j]) == false) {\n temp.push(this.tagList[i][j]);\n }\n }\n }\n\n return temp;\n }\n },\n watch: {\n state: function state(newValue) {\n if (newValue == 1) {\n this.$refs.audioPlayer.play();\n } else {\n this.$refs.audioPlayer.pause();\n this.$refs.audioPlayer.currentTime = 0;\n }\n },\n test: function test(newValue) {\n var temp = JSON.parse(newValue);\n this.combinationList = temp.result;\n this.tagList = temp.tag;\n },\n isFilltering: function isFilltering(newValue) {\n if (newValue == true) {\n this.$refs.audioPlayer.play();\n } else {\n this.$refs.audioPlayer.pause();\n this.$refs.audioPlayer.currentTime = 0;\n }\n }\n },\n components: {\n classSelector: _components_classSelector_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n timeTableBox: _components_TimeTableInfoBox_vue__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n },\n methods: {\n classSelected: function classSelected(classList) {\n this.selectedClassList = classList;\n },\n onSubmitButtonClicked: function () {\n var _onSubmitButtonClicked = Object(_home_seungjun_ajoutt_front_end_node_modules_babel_runtime_corejs3_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee() {\n var response;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (this.$refs.creditForm.validate()) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n if (!(this.selectedClassList.length == 0)) {\n _context.next = 6;\n break;\n }\n\n this.popErrorWindow = true;\n this.popWindowMsg = \"수업을 선택하지 않았습니다.\";\n return _context.abrupt(\"return\");\n\n case 6:\n this.state = 1;\n _context.prev = 7;\n _context.next = 10;\n return this.$http.post(\"/table/combination/\" + this.form_targetCredit, this.selectedClassList);\n\n case 10:\n response = _context.sent;\n response = response.data;\n console.log(response.result);\n this.combinationList = response.result;\n this.tagList = response.tag;\n this.nowClassList = JSON.parse(JSON.stringify(this.selectedClassList));\n this.state = 2;\n _context.next = 26;\n break;\n\n case 19:\n _context.prev = 19;\n _context.t0 = _context[\"catch\"](7);\n console.log(_context.t0);\n console.log(_context.t0.httpStatus);\n this.state = 0;\n this.popErrorWindow = true;\n this.popWindowMsg = \"서버와의 통신에 실패하였습니다. http 상태 코드: \" + _context.t0.httpStatus;\n\n case 26:\n this.reset();\n\n case 27:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[7, 19]]);\n }));\n\n function onSubmitButtonClicked() {\n return _onSubmitButtonClicked.apply(this, arguments);\n }\n\n return onSubmitButtonClicked;\n }(),\n creditRule: function creditRule(v) {\n if (this.$store.state.userInfo.department == \"소프트웨어학과\") {\n if (v > 24) {\n return \"소프트웨어학과에서 수강 가능한 최대 학점은 24학점입니다.\";\n }\n\n if (this.$store.state.userInfo.grade < 3.75 && v > 21) {\n return \"소프트웨어학과의 경우 누계 평 3.75 미만인 경우 최대 21학점까지 신청할 수 있습니다.\";\n }\n\n return true;\n } else {\n //기타 학과\n if (v > 22) {\n return \"최대 22학점까지 신청할 수 있습니다.\";\n }\n\n if (this.$store.state.userInfo.grade < 3.75 && v > 19) {\n return \"누계 평점 3.75 미만인 경우 최대 19학점까지 신청할 수 있습니다.\";\n }\n }\n },\n tagMatch: function tagMatch(conditionTagList, fullTagList) {\n if (conditionTagList.length == 0) {\n return true;\n }\n\n if (conditionTagList.length > fullTagList.length) {\n return false;\n }\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = conditionTagList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var tag = _step.value;\n\n if (fullTagList.includes(tag) == false) {\n return false;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return true;\n },\n classMatch: function classMatch(conditionClassList, fullClassList) {\n if (conditionClassList == undefined) {\n return true;\n }\n\n if (conditionClassList.length == 0) {\n return true;\n }\n\n if (conditionClassList.length > fullClassList.length) {\n return false;\n }\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = conditionClassList[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var conditionClass = _step2.value;\n var findFlag = false;\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = fullClassList[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var fullClass = _step3.value;\n\n if (conditionClass.Dname == fullClass.Dname && conditionClass.Lname == fullClass.Lname) {\n findFlag = true;\n break;\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n if (findFlag == false) {\n return false;\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return true;\n },\n onFillterButtonClick: function onFillterButtonClick() {\n this.isFilltering = true;\n this.form_tag = this.form_temp_tag;\n this.form_class = this.form_temp_class;\n this.calFillteredTimeTableList();\n },\n calFillteredTimeTableList: function () {\n var _calFillteredTimeTableList = Object(_home_seungjun_ajoutt_front_end_node_modules_babel_runtime_corejs3_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(\n /*#__PURE__*/\n regeneratorRuntime.mark(function _callee2() {\n var temp, final, conditionTagList, _iteratorNormalCompletion4, _didIteratorError4, _iteratorError4, _iterator4, _step4, index, total, i, conditionClassList, _iteratorNormalCompletion5, _didIteratorError5, _iteratorError5, _iterator5, _step5, _index, _i, timeTableInfo;\n\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n temp = new Array();\n final = new Array();\n this.fillteringMsg = \"태그를 기준으로 필터링하고 있습니다...\";\n this.fillteringProgressValue = 0;\n _context2.prev = 4;\n conditionTagList = new Array();\n _iteratorNormalCompletion4 = true;\n _didIteratorError4 = false;\n _iteratorError4 = undefined;\n _context2.prev = 9;\n\n for (_iterator4 = this.form_tag[Symbol.iterator](); !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n index = _step4.value;\n conditionTagList.push(this.distinctTagList[index]);\n } //1차 태그 필터링\n\n\n _context2.next = 17;\n break;\n\n case 13:\n _context2.prev = 13;\n _context2.t0 = _context2[\"catch\"](9);\n _didIteratorError4 = true;\n _iteratorError4 = _context2.t0;\n\n case 17:\n _context2.prev = 17;\n _context2.prev = 18;\n\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n\n case 20:\n _context2.prev = 20;\n\n if (!_didIteratorError4) {\n _context2.next = 23;\n break;\n }\n\n throw _iteratorError4;\n\n case 23:\n return _context2.finish(20);\n\n case 24:\n return _context2.finish(17);\n\n case 25:\n total = this.combinationList.length;\n i = 0;\n\n case 27:\n if (!(i < this.combinationList.length)) {\n _context2.next = 36;\n break;\n }\n\n if (this.tagMatch(conditionTagList, this.tagList[i])) {\n temp.push({\n classList: this.combinationList[i],\n tagList: this.tagList[i]\n });\n }\n\n if (!isBaesu(i + 1, this.FILLTERING_ASYNC_UPDATE_CYCLE)) {\n _context2.next = 33;\n break;\n }\n\n this.fillteringProgressValue = (i + 1) / total * 100;\n _context2.next = 33;\n return wait(300);\n\n case 33:\n i++;\n _context2.next = 27;\n break;\n\n case 36:\n conditionClassList = new Array();\n _iteratorNormalCompletion5 = true;\n _didIteratorError5 = false;\n _iteratorError5 = undefined;\n _context2.prev = 40;\n\n for (_iterator5 = this.form_class[Symbol.iterator](); !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n _index = _step5.value;\n conditionClassList.push(this.nowClassList[_index]);\n } //2차 수업 필터링\n\n\n _context2.next = 48;\n break;\n\n case 44:\n _context2.prev = 44;\n _context2.t1 = _context2[\"catch\"](40);\n _didIteratorError5 = true;\n _iteratorError5 = _context2.t1;\n\n case 48:\n _context2.prev = 48;\n _context2.prev = 49;\n\n if (!_iteratorNormalCompletion5 && _iterator5.return != null) {\n _iterator5.return();\n }\n\n case 51:\n _context2.prev = 51;\n\n if (!_didIteratorError5) {\n _context2.next = 54;\n break;\n }\n\n throw _iteratorError5;\n\n case 54:\n return _context2.finish(51);\n\n case 55:\n return _context2.finish(48);\n\n case 56:\n this.fillteringMsg = \"수업을 기준으로 필터링 하고 있습니다...\";\n this.fillteringProgressValue = 0;\n total = temp.length;\n _i = 0;\n\n case 60:\n if (!(_i < temp.length)) {\n _context2.next = 71;\n break;\n }\n\n timeTableInfo = temp[_i];\n\n if (this.classMatch(conditionClassList, timeTableInfo.classList)) {\n final.push(timeTableInfo);\n }\n\n if (!_i) {\n _context2.next = 68;\n break;\n }\n\n if (!isBaesu(_i + 1, this.FILLTERING_ASYNC_UPDATE_CYCLE)) {\n _context2.next = 68;\n break;\n }\n\n this.fillteringProgressValue = (_i + 1) / total * 100;\n _context2.next = 68;\n return wait(300);\n\n case 68:\n _i++;\n _context2.next = 60;\n break;\n\n case 71:\n this.isFilltering = false;\n this.fillteredTimeTableList = final;\n _context2.next = 82;\n break;\n\n case 75:\n _context2.prev = 75;\n _context2.t2 = _context2[\"catch\"](4);\n console.log(_context2.t2);\n this.popErrorWindow = true;\n this.popWindowMsg = \"죄송합니다. 검색기능에 문제가 생겼습니다. 페이지를 새로고침 해 주십시오.\";\n this.isFilltering = false;\n return _context2.abrupt(\"return\");\n\n case 82:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this, [[4, 75], [9, 13, 17, 25], [18,, 20, 24], [40, 44, 48, 56], [49,, 51, 55]]);\n }));\n\n function calFillteredTimeTableList() {\n return _calFillteredTimeTableList.apply(this, arguments);\n }\n\n return calFillteredTimeTableList;\n }(),\n reset: function reset() {\n this.form_tag = [];\n this.form_class = [];\n this.form_temp_tag = [];\n this.form_temp_class = [];\n this.fillteredTimeTableList = [];\n }\n }\n});\n\nfunction wait(time) {\n return new Promise(function (res) {\n setTimeout(function () {\n res();\n }, time);\n });\n} //a가 b의 배수인지 확인\n\n\nfunction isBaesu(a, b) {\n var divide = a / b;\n var str = \"\" + divide;\n\n if (str.indexOf(\".\") >= 0) {\n return false;\n }\n\n return true;\n}\n\n//# sourceURL=webpack:///./src/views/Simulation.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vuetify-loader/lib/loader.js!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
 
/***/ }),
 
......@@ -754,7 +754,7 @@ eval("exports = module.exports = __webpack_require__(/*! ../../node_modules/css-
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
 
eval("exports = module.exports = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.i, \"\\n#over[data-v-401777c6] {\\n min-width: 800px;\\n width: 100%;\\n min-height: 610px;\\n height: 49.2vw;\\n background-color: lightgoldenrodyellow;\\n padding-top: 1vw;\\n margin-left: 10px;\\n}\\n#inner[data-v-401777c6] {\\n width: 80%;\\n\\n background-color: white;\\n}\\n#register_form[data-v-401777c6] {\\n margin: auto;\\n}\\n#id[data-v-401777c6]{\\n width: 150px;\\n height: 65px;\\n}\\n#name[data-v-401777c6]{\\n width:150px;\\n height: 65px;\\n text-align: left;\\n}\\n#new_pw_set[data-v-401777c6]{\\n width:350px;\\n height: 120px;\\n}\\n#new_nickname[data-v-401777c6]{\\n width: 150px;\\n height: 65px;\\n}\\n#new_depart[data-v-401777c6]{\\n width: 330px;\\n height: 65px;\\n}\\n#new_grade[data-v-401777c6]{\\n width: 150px;\\n height: 65px;\\n}\\n\\n\", \"\"]);\n\n\n//# sourceURL=webpack:///./src/components/myprofile.vue?./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/vuetify-loader/lib/loader.js!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
eval("exports = module.exports = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.i, \"\\n#over[data-v-401777c6] {\\n min-width: 800px;\\n width: 100%;\\n min-height: 610px;\\n height: 49.2vw;\\n padding-top: 1vw;\\n margin-left: 10px;\\n}\\n#inner[data-v-401777c6] {\\n width: 80%;\\n background-color: white;\\n}\\n#register_form[data-v-401777c6] {\\n margin: auto;\\n}\\n#id[data-v-401777c6]{\\n width: 150px;\\n height: 65px;\\n}\\n#name[data-v-401777c6]{\\n width:150px;\\n height: 65px;\\n text-align: left;\\n}\\n#new_pw_set[data-v-401777c6]{\\n width:350px;\\n height: 120px;\\n}\\n#new_nickname[data-v-401777c6]{\\n width: 150px;\\n height: 65px;\\n}\\n#new_depart[data-v-401777c6]{\\n width: 330px;\\n height: 65px;\\n}\\n#new_grade[data-v-401777c6]{\\n width: 150px;\\n height: 65px;\\n}\\n\\n\", \"\"]);\n\n\n//# sourceURL=webpack:///./src/components/myprofile.vue?./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--6-oneOf-1-2!./node_modules/vuetify-loader/lib/loader.js!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
 
/***/ }),
 
......
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment