소스 검색

refactor(问卷编辑器): 重构选项管理方法并优化选项加载逻辑

yz 1 개월 전
부모
커밋
64de5ef59d
2개의 변경된 파일9개의 추가작업 그리고 6개의 파일을 삭제
  1. 1 1
      src/components/survey-question-editor/index.vue
  2. 8 5
      src/mixins/survey/questionEditor.js

+ 1 - 1
src/components/survey-question-editor/index.vue

@@ -53,7 +53,7 @@
                 v-if="isQuestionTypeNeedOptions(question.questionType)"
                 type="text"
                 icon="el-icon-setting"
-                @click="handleManageOptions(question)"
+                @click="handleAddOption(question)"
                 :loading="loading"
               >
                 管理选项

+ 8 - 5
src/mixins/survey/questionEditor.js

@@ -375,15 +375,17 @@ export default {
 
     /**
      * 新增选项
+     * @param {QuestionItem} question - 题目数据
      * @returns {void}
      */
-    handleAddOption() {
+    async handleAddOption(question) {
       this.optionDialogMode = 'add'
       this.optionAddDialogVisible = true
       this.resetOptionForm()
-      this.optionForm.questionId = this.currentQuestionId
+      this.optionForm.questionId = question.id
+      this.currentQuestionOptions = await this.loadQuestionOptions(question.id)
       this.optionForm.optionNo = this.getNextOptionNo()
-      this.optionDialogVisible = true
+      // this.optionDialogVisible = true
     },
 
     /**
@@ -391,10 +393,11 @@ export default {
      * @param {OptionItem} option - 选项数据
      * @returns {void}
      */
-    handleEditOption(option) {
+    async handleEditOption(option) {
       this.optionDialogMode = 'edit'
       this.setOptionForm(option)
-        this.currentQuestionId = option.questionId
+      this.currentQuestionId = option.questionId
+      this.currentQuestionOptions = await this.loadQuestionOptions(option.questionId)
       // this.optionDialogVisible = true
       this.optionAddDialogVisible = true
     },