WXL (wul)
3 天以前 d54ac083e2992a5613f5cb22849db9742dbe9a9b
src/views/followvisit/record/detailpage/index.vue
@@ -302,7 +302,7 @@
                              handleOptionChange(
                                $event,
                                index,
                                item.svyLibTemplateTargetoptions,
                                item.svyTaskTemplateTargetoptions,
                                item
                              )
                            "
@@ -310,10 +310,11 @@
                            <el-radio
                              v-for="(
                                items, indexs
                              ) in item.svyLibTemplateTargetoptions"
                              ) in item.svyTaskTemplateTargetoptions"
                              :class="items.isabnormal ? 'red-star' : ''"
                              :key="indexs"
                              :label="items.optioncontent"
                               @click.native.prevent="handleRadioToggle(item, items.optioncontent)"
                              >{{ items.optioncontent }}</el-radio
                            >
                          </el-radio-group>
@@ -360,7 +361,7 @@
                              @change="$forceUpdate()"
                              v-for="(
                                items, indexs
                              ) in item.svyLibTemplateTargetoptions"
                              ) in item.svyTaskTemplateTargetoptions"
                              :key="indexs"
                              :label="items.optioncontent"
                            >
@@ -436,6 +437,7 @@
                              v-for="(items, index) in item.scriptResult"
                              :key="items"
                              :label="items"
                               @click.native.prevent="handleRadioToggle(item, items.optioncontent)"
                              >{{ items }}</el-radio
                            >
                          </el-radio-group>
@@ -1022,7 +1024,10 @@
        :visible.sync="CaldialogVisible"
        width="60%"
      >
        <CallCenterLs ref="callCenterModal" :initial-phone="currentPhoneNumber" />
        <CallCenterLs
          ref="callCenterModal"
          :initial-phone="currentPhoneNumber"
        />
      </el-dialog>
    </div>
  </div>
@@ -1556,7 +1561,7 @@
            return;
          }
        }
        var objs = item.svyLibTemplateTargetoptions.find(
        var objs = item.svyTaskTemplateTargetoptions.find(
          (items) => items.optioncontent == item.scriptResult
        );
        if (obj) {
@@ -1692,7 +1697,7 @@
      // 呼叫判断
      if (this.orgname == "景宁畲族自治县人民医院") {
        this.CaldialogVisible = true;
        return
        return;
      }
      this.callType = type;
@@ -2011,7 +2016,7 @@
          (item) => item.optioncontent == a
        );
      } else {
        var obj = this.tableDatatop[b].svyLibTemplateTargetoptions.find(
        var obj = this.tableDatatop[b].svyTaskTemplateTargetoptions.find(
          (item) => item.optioncontent == a
        );
      }
@@ -2021,6 +2026,23 @@
        this.tableDatatop[b].isabnormal = false;
      }
      this.$forceUpdate();
    },
    // 新增的切换选中/取消选中方法
    handleRadioToggle(questionItem, optionValue) {
      // 如果点击的是当前已选中的选项,则取消选中
      if (questionItem.scriptResult === optionValue) {
        questionItem.scriptResult = ""; // 清空选中值
        // 同时重置与选项相关的状态
        questionItem.isabnormal = false;
        questionItem.showAppendInput = false;
        // 注意:取消选中时,我们通常不希望触发题目跳转逻辑,所以直接返回
        // 如果需要,可以在这里添加取消选中后的特定逻辑,例如重置题目序列
      } else {
        // 如果点击的是未选中的选项,则通过更改绑定值来触发原始的 handleOptionChange 方法
        // 这里只需要改变 v-model 绑定的值,change事件会自动触发
        questionItem.scriptResult = optionValue;
        // 后续的跳转等复杂逻辑会在 handleOptionChange 中正常执行
      }
    },
    // 在methods部分,修改handleOptionChange方法:
    handleOptionChange(selectedOption, questionIndex, options, a) {
@@ -2116,7 +2138,7 @@
    },
    overdata() {
      this.tableDatatop.forEach((item, index) => {
        var obj = item.svyLibTemplateTargetoptions.find(
        var obj = item.svyTaskTemplateTargetoptions.find(
          (items) => items.optioncontent == item.scriptResult
        );
        if (obj) {