Ver Fonte

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

yz há 1 mês atrás
pai
commit
64de5ef59d

+ 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
     },