{"version":3,"sources":["webpack:///./src/modules/survey/views/SurveyWriteS2View.vue","webpack:///./src/modules/survey/views/SurveyWriteS2View.ts","webpack:///./src/modules/survey/views/SurveyWriteS2View.ts?61f2","webpack:///./src/modules/survey/views/SurveyWriteS2View.vue?7a80"],"names":["render","_vm","this","_c","_self","_setupProxy","attrs","_l","createdQuestions","q","key","questionInfo","questionOrders","ref","concat","surveyQuestionId","refInFor","lastQuestionOrder","on","changeQuestionOrders","orderAdjustment","previewImg","setLastFocus","staticClass","$event","preventDefault","addQuestion","apply","arguments","_v","_s","$t","isPopup","_e","goList","goStep01","goPreview","deleteHard","staticRenderFns","SurveyWriteS2View","_Vue","_this","_classCallCheck","_len","length","args","Array","_key","_callSuper","_defineProperty","Object","create","_inherits","_createClass","value","_created","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","$route","path","toLowerCase","includes","setPage","title","toString","_typeof","createdSurveyId","window","alertAsync","$router","push","name","initQuestion","parseInt","query","surveyId","then","result","stop","created","maxOrders","Math","max","_toConsumableArray","map","item","Number","isFinite","MENUID","close","_goList","_callee2","_context2","confirmAsync","sent","goBack","_deleteHard","_callee4","_this2","_context4","abrupt","api","survey","deleteHardSurvey","_ref","_callee3","_context3","setSurveyId","_x","initVal","questionType","isAdditionalOption","questionText","createQuestion","_save","_callee6","_this3","_context6","validation","setSurveyComposingStatus","isComposing","_ref2","_callee5","_context5","_x2","save","Error","forEach","examples","exam","exampleText","err","targetObj","isUp","currentOrders","existsQuestion","filter","question","questionId","resorting","_this4","initQuestionOrder","data","selectedAttachment","showModal","refValue","component","$refs","deleteExampleImg","exampleId","closeModal","refs","lastQuestionId","o","$el","getElementsByTagName","focus","_goPreview","_callee7","_context7","_objectSpread","params","isPreview","Vue","__decorate","Watch","Component","components","SurveyQuestionForm","SurveyWriteHeader","computed","mapGetters","types","methods","mapActions","mapMutations"],"mappings":"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","file":"assets/js/chunk-2d0bd653.46c11671.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('SurveyWriteHeader',{attrs:{\"value\":2}}),_vm._l((_vm.createdQuestions),function(q){return _c('SurveyQuestionForm',{key:q.questionInfo.questionOrders,ref:`questionForm${q.questionInfo.surveyQuestionId}`,refInFor:true,attrs:{\"question\":q,\"lastQuestionOrder\":_vm.lastQuestionOrder},on:{\"change\":_vm.changeQuestionOrders,\"delete\":_vm.orderAdjustment,\"modal\":_vm.previewImg,\"focus\":_vm.setLastFocus}})}),_c('div',{staticClass:\"space-l\"}),_c('div',{staticClass:\"card w-100\"},[_c('div',{staticClass:\"p-all-l\"},[_c('div',{staticClass:\"dp-flex\"},[_c('div',{staticClass:\"mr-auto\"},[_c('h6',{staticClass:\"ft-l b\"},[_c('a',{staticClass:\"ft-blue\",on:{\"click\":function($event){$event.preventDefault();return _vm.addQuestion.apply(null, arguments)}}},[_c('i',{staticClass:\"icon-fux-add m-r-s\"}),_vm._v(\" \"+_vm._s(_vm.$t('문항추가')))])])])])])]),_c('div',{staticClass:\"space-l\"}),_c('div',{staticClass:\"align-right\"},[(!_vm.isPopup)?_c('button',{staticClass:\"btn page-btn btn-green\",on:{\"click\":function($event){$event.preventDefault();return _vm.goList()}}},[_vm._v(_vm._s(_vm.$t('목록으로')))]):_vm._e(),_c('button',{staticClass:\"btn page-btn btn-green\",on:{\"click\":function($event){$event.preventDefault();return _vm.goStep01.apply(null, arguments)}}},[_vm._v(_vm._s(_vm.$t('이전')))]),_c('button',{staticClass:\"btn page-btn btn-green\",on:{\"click\":function($event){return _vm.goPreview()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"다음\"))+\" \")]),(false)?_c('button',{staticClass:\"btn page-btn btn-green\",on:{\"click\":function($event){$event.preventDefault();return _vm.save.apply(null, arguments)}}},[_vm._v(_vm._s(_vm.$t('저장')))]):_vm._e(),_c('button',{staticClass:\"btn page-btn btn-green\",on:{\"click\":function($event){$event.preventDefault();return _vm.deleteHard.apply(null, arguments)}}},[_vm._v(\" \"+_vm._s(_vm.isPopup ? _vm.$t('닫기') : _vm.$t('취소')))])])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue'\r\nimport { Component, Watch } from 'vue-property-decorator'\r\nimport { mapActions, mapGetters, mapMutations } from 'vuex'\r\nimport * as types from '@survey/store/types'\r\nimport api from '@survey/api'\r\nimport { SurveyQuestionForm, SurveyWriteHeader } from '@survey/components'\r\n// import SurveyPreviewImageModalView from '@survey/views/ModalViews/SurveyPreviewImageModalView.vue'\r\n\r\n\r\n\r\nexport interface QuestionOrderObj {\r\n questionId: number,\r\n currentOrders: number\r\n}\r\n\r\n\r\n\r\n\r\n@Component({\r\n components: {\r\n SurveyQuestionForm,\r\n SurveyWriteHeader\r\n // SurveyPreviewImageModalView\r\n },\r\n computed: {\r\n ...mapGetters({\r\n createdSurveyId: types.SURVEY_CREATED_SURVEYID,\r\n createdQuestions: types.SURVEY_QUESTION\r\n })\r\n },\r\n methods: {\r\n ...mapActions({\r\n createQuestion: types.SURVEY_QUESTION,\r\n setSurveyId: types.SURVEY_CREATED_SURVEYID,\r\n initQuestion: types.SURVEY_INIT_QUESTION\r\n }),\r\n ...mapMutations({\r\n resorting: types.SURVEY_RESORTING_QUESTION\r\n })\r\n },\r\n})\r\nexport default class SurveyWriteS2View extends Vue {\r\n\r\n resorting!: () => void\r\n initQuestion!: (surveyId: number) => Promise\r\n createQuestion!: (data: survey.SurveyQuestionRequest) => void\r\n setSurveyId!: (surveyId?: number) => void\r\n\r\n createdQuestions!: Array\r\n createdSurveyId!: number\r\n lastQuestionOrder: number = 1\r\n showModal: boolean = false\r\n selectedAttachment: survey.SurveyAttachmentInfo = Object.create(null)\r\n isPopup: boolean = false\r\n\r\n //직접 주소 및 쿼리를 입력하고 오는 경우 리스트 화면으로 보냄\r\n async created() {\r\n //팝업인지 체크\r\n this.isPopup = this.$route.path.toLowerCase().includes('popup')\r\n\r\n\r\n this.setPage({\r\n title: this.$t('설문작성').toString()\r\n })\r\n\r\n if (typeof (this.createdSurveyId) == 'object' || this.createdSurveyId == null) {\r\n await (window as any).alertAsync(this.$t('잘못된_접근입니다').toString())\r\n this.$router.push({\r\n name: \"SurveyList\"\r\n })\r\n }\r\n\r\n //초기 데이터 \r\n this.initQuestion(this.createdSurveyId || parseInt(this.$route.query.surveyId as string)).then(result => {\r\n //마지막 순서 초기화\r\n //watch 추가됨에 따라 필요없음 \r\n //this.initQuestionOrder()\r\n })\r\n\r\n }\r\n\r\n initQuestionOrder() {\r\n\r\n let maxOrders: number = 1\r\n\r\n maxOrders = Math.max(...this.createdQuestions.map(item => {\r\n return item.questionInfo.questionOrders\r\n }, 0))\r\n\r\n\r\n if (!Number.isFinite(maxOrders)) {\r\n maxOrders = 0\r\n }\r\n\r\n this.lastQuestionOrder = maxOrders + 1\r\n\r\n }\r\n\r\n goStep01() {\r\n\r\n this.$router.push({\r\n name: \"SurveyWriteStep01\",\r\n query: {\r\n surveyId: this.createdSurveyId.toString(),\r\n MENUID: this.$route.query.MENUID\r\n }\r\n })\r\n }\r\n\r\n goBack() {\r\n if (this.isPopup) {\r\n window.close()\r\n } else {\r\n this.$router.push({\r\n name: \"SurveyList\",\r\n query: {\r\n MENUID: this.$route.query.MENUID\r\n }\r\n })\r\n }\r\n }\r\n\r\n async goList() {\r\n\r\n if (await(window as any).confirmAsync(this.$t('저장하지_않고_목록으로_이동하면_작성_중_상태가_유지_됩니다_').toString())) {\r\n this.goBack()\r\n }\r\n }\r\n\r\n async deleteHard() {\r\n\r\n if (await(window as any).confirmAsync(this.$t('저장하지않고_취소').toString())) {\r\n\r\n if (typeof (this.createdSurveyId) == 'object') {\r\n this.goBack()\r\n return\r\n }\r\n\r\n api.survey.deleteHardSurvey(this.createdSurveyId).then(async result => {\r\n if (result) {\r\n this.setSurveyId()\r\n this.goBack()\r\n } else {\r\n\r\n await (window as any).alertAsync(this.$t('설문_삭제를_실패').toString())\r\n }\r\n\r\n })\r\n }\r\n }\r\n\r\n\r\n addQuestion() {\r\n\r\n let initVal = {\r\n surveyId: this.createdSurveyId,\r\n questionOrders: this.lastQuestionOrder,\r\n questionType: 0,\r\n isAdditionalOption: false,\r\n questionText: \"\"\r\n }\r\n\r\n this.createQuestion(\r\n {\r\n questionInfo: initVal\r\n }\r\n )\r\n //문항이 추가 될 때 마다 마지막 순서를 기억했다가 + 함\r\n this.lastQuestionOrder++\r\n }\r\n\r\n async save() {\r\n //실제 데이터는 작성 당시 이미 DB 에 모두 저장되고\r\n //해당 function 에 기능은 TC_SURVEY 테이블 IsComposing Flag 를 변경\r\n //IsComposing = true 면 리스트화면에 노출 안됨\r\n\r\n if (await(window as any).confirmAsync(this.$t('저장_하시겠습니까').toString())) {\r\n //유효성체크\r\n if (this.validation()) {\r\n api.survey.setSurveyComposingStatus({\r\n surveyId: this.createdSurveyId,\r\n isComposing: false\r\n }).then(async result => {\r\n if (result) {\r\n this.goBack()\r\n } else {\r\n await (window as any).alertAsync(this.$t('저장_실패').toString())\r\n }\r\n })\r\n } else {\r\n await (window as any).alertAsync(\r\n this.$t('빈_값이나_보기_없음').toString())\r\n }\r\n\r\n }\r\n }\r\n\r\n validation() {\r\n try {\r\n\r\n //질문이 생성 안된 경우\r\n if (this.createdQuestions.length == 0) {\r\n throw new Error()\r\n }\r\n\r\n //질문에 text가 입력 안된 경우\r\n this.createdQuestions.forEach(item => {\r\n if (item.questionInfo.questionText == \"\") {\r\n throw new Error()\r\n }\r\n })\r\n\r\n //서술형이 아닌데 보기가 없는 경우\r\n this.createdQuestions.forEach(item => {\r\n //현재는 2번 타입만 서술형\r\n if (item.questionInfo.questionType != 2) {\r\n if (item.examples.length == 0) {\r\n throw new Error()\r\n }\r\n }\r\n })\r\n\r\n //보기가 있는데 텍스트가 입력 안된 경우\r\n this.createdQuestions.forEach(item => {\r\n //현재는 2번 타입만 서술형\r\n if (item.questionInfo.questionType != 2) {\r\n item.examples.forEach(exam => {\r\n if (exam.exampleText == \"\") {\r\n throw new Error()\r\n }\r\n })\r\n }\r\n })\r\n\r\n\r\n } catch (err) {\r\n return false\r\n }\r\n\r\n return true\r\n }\r\n\r\n changeQuestionOrders(targetObj: QuestionOrderObj, isUp: boolean) {\r\n\r\n //targetObj\r\n // questionId : 0,\r\n // currentOrders : 1\r\n\r\n //예외상황\r\n //첫번째 항목인데 순서를 올리는 경우\r\n //마지막 항목인데 순서를 내리는 경우\r\n\r\n if (targetObj.currentOrders == 1 && isUp ||\r\n targetObj.currentOrders == this.lastQuestionOrder - 1 && !isUp) {\r\n\r\n return\r\n }\r\n\r\n //분기 올리냐 내리냐\r\n //if(isUp){\r\n //올리는건 order 가 -1\r\n //}else{\r\n // 내리는건 order +1\r\n //변경 대상이 있는 경우 체크해서 변경해야됨\r\n // 1순위에서 2순위로 변경되면 기존 2순위를 1순위로 변경 서로 swap\r\n let existsQuestion = this.createdQuestions.filter(item => {\r\n return item.questionInfo.questionOrders == targetObj.currentOrders + (isUp ? -1 : 1)\r\n })\r\n\r\n //변경 대상이 있기 때문에 먼저 변경\r\n if (existsQuestion.length > 0) {\r\n existsQuestion[0].questionInfo.questionOrders = existsQuestion[0].questionInfo.questionOrders + (isUp ? 1 : -1)\r\n this.createQuestion(existsQuestion[0])\r\n }\r\n\r\n let question = this.createdQuestions.filter(item => {\r\n return item.questionInfo.surveyQuestionId == targetObj.questionId\r\n })\r\n\r\n if (question.length > 0) {\r\n\r\n question[0].questionInfo.questionOrders = question[0].questionInfo.questionOrders + (isUp ? -1 : 1)\r\n this.createQuestion(question[0])\r\n }\r\n\r\n this.resorting()\r\n //force re-render\r\n\r\n // Vue.set(this.createdQuestions,)\r\n //this.createdQuestions.slice().reverse()\r\n\r\n //}\r\n\r\n\r\n\r\n }\r\n\r\n orderAdjustment(targetObj: QuestionOrderObj) {\r\n //alert(questionId)\r\n\r\n this.createdQuestions.forEach(question => {\r\n if (question.questionInfo.questionOrders > targetObj.currentOrders) {\r\n //alert(question.questionInfo.questionOrders)\r\n\r\n this.changeQuestionOrders({\r\n questionId: question.questionInfo.surveyQuestionId,\r\n currentOrders: question.questionInfo.questionOrders\r\n }, true)\r\n }\r\n })\r\n }\r\n\r\n @Watch(\"createdQuestions\")\r\n onChagnedQuestions() {\r\n this.initQuestionOrder()\r\n }\r\n\r\n previewImg(data: survey.SurveyAttachmentInfo) {\r\n this.selectedAttachment = data\r\n\r\n this.showModal = true\r\n }\r\n\r\n deleteImg() {\r\n //하위 컴포넌트 호출\r\n let refValue = `questionForm${this.selectedAttachment.questionId}`\r\n var component = (this.$refs as any)[refValue]\r\n\r\n component[0].deleteExampleImg(this.selectedAttachment.exampleId)\r\n this.closeModal()\r\n }\r\n\r\n\r\n closeModal() {\r\n // 디테일 값 초기화\r\n this.selectedAttachment = Object.create(null)\r\n this.showModal = false\r\n\r\n }\r\n\r\n setLastFocus() {\r\n\r\n let refs = (this.$refs as any)\r\n\r\n let lastQuestionId = Math.max.apply(Math, this.createdQuestions.map(function (o) { return o.questionInfo.surveyQuestionId; }))\r\n refs[`questionForm${lastQuestionId}`][0].$el.getElementsByTagName('input')[0].focus()\r\n }\r\n\r\n async goPreview() {\r\n if (this.validation()) {\r\n this.$router.push({\r\n name: \"SurveyRead\",\r\n query: {\r\n ...this.$route.query\r\n },\r\n params: { isPreview: 'true' }\r\n })\r\n }\r\n else {\r\n await (window as any).alertAsync(\r\n this.$t('빈_값이나_보기_없음').toString())\r\n }\r\n }\r\n}\r\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!./SurveyWriteS2View.ts?vue&type=script&lang=ts&external\"; 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!./SurveyWriteS2View.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./SurveyWriteS2View.vue?vue&type=template&id=37d17e40\"\nimport script from \"./SurveyWriteS2View.ts?vue&type=script&lang=ts&external\"\nexport * from \"./SurveyWriteS2View.ts?vue&type=script&lang=ts&external\"\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"],"sourceRoot":""}