WXL
2025-05-21 8e71817416de83a5ca9243c5e7fdd1c71317c4dc
src/views/followvisit/record/detailpage/index.vue
@@ -32,7 +32,11 @@
        </div>
      </div>
      <div>
        <el-table :data="logsheetlist" :row-class-name="tableRowClassName" style="width: 100%">
        <el-table
          :data="logsheetlist"
          :row-class-name="tableRowClassName"
          style="width: 100%"
        >
          <el-table-column
            prop="sendname"
            align="center"
@@ -372,7 +376,7 @@
                      : 'scriptTopic-dev'
                  "
                  :key="index"
                  v-if="item.scriptType == 1"
                  v-if="item.scriptType == 1 && !item.astrict"
                >
                  <div class="dev-text">
                    {{ index + 1 }}、[单选]<span>{{ item.scriptContent }}</span>
@@ -380,14 +384,20 @@
                  <div class="dev-xx">
                    <el-radio-group
                      v-model="item.scriptResult"
                      @change="handleOptionChange($event, index, item)"
                      @change="
                        handleOptionChange(
                          $event,
                          index,
                          item.svyLibTemplateTargetoptions
                        )
                      "
                    >
                      <el-radio
                        v-for="(
                          items, index
                          items, indexs
                        ) in item.svyLibTemplateTargetoptions"
                        :class="items.isabnormal ? 'red-star' : ''"
                        :key="index"
                        :key="indexs"
                        :label="items.optioncontent"
                        >{{ items.optioncontent }}</el-radio
                      >
@@ -405,7 +415,7 @@
                      : 'scriptTopic-dev'
                  "
                  :key="index"
                  v-if="item.scriptType == 2"
                  v-if="item.scriptType == 2 && !item.astrict"
                >
                  <div class="dev-text">
                    {{ index + 1 }}、[多选]<span>{{ item.scriptContent }}</span>
@@ -436,7 +446,7 @@
                <div
                  class="scriptTopic-dev"
                  :key="index"
                  v-if="item.scriptType == 4"
                  v-if="item.scriptType == 4 && !item.astrict"
                >
                  <div class="dev-text">
                    {{ index + 1 }}、[问答]<span>{{ item.scriptContent }}</span>
@@ -626,8 +636,8 @@
          <el-date-picker
            type="date"
            placeholder="选择日期"
             :picker-options="pickerOptions"
             align="right"
            :picker-options="pickerOptions"
            align="right"
            v-model="form.date1"
            style="width: 100%"
          ></el-date-picker>
@@ -676,7 +686,7 @@
      activeName: "wj",
      voice: "",
      templateid: "",
      again:'',
      again: "",
      zcform: {},
      form: {},
      tableDatatop: [], //题目表
@@ -725,29 +735,33 @@
        },
      },
      pickerOptions: {
          shortcuts: [{
            text: '七天后',
        shortcuts: [
          {
            text: "七天后",
            onClick(picker) {
              const date = new Date();
              date.setTime(date.getTime() + 3600 * 1000 * 24 * 7);
              picker.$emit('pick', date);
            }
          }, {
            text: '15天后',
              picker.$emit("pick", date);
            },
          },
          {
            text: "15天后",
            onClick(picker) {
              const date = new Date();
              date.setTime(date.getTime() + 3600 * 1000 * 24* 15);
              picker.$emit('pick', date);
            }
          }, {
            text: '30天后',
              date.setTime(date.getTime() + 3600 * 1000 * 24 * 15);
              picker.$emit("pick", date);
            },
          },
          {
            text: "30天后",
            onClick(picker) {
              const date = new Date();
              date.setTime(date.getTime() + 3600 * 1000 * 24 * 30);
              picker.$emit('pick', date);
            }
          }]
        },
              picker.$emit("pick", date);
            },
          },
        ],
      },
      userform: {},
      Whetherall: true, //是否全部记录展示
      dialogFormVisible: false,
@@ -784,9 +798,9 @@
        isFinish: false,
      }).then((res) => {
        if (res.code === 200) {
          if (this.again&&res.data.upScriptResult) {
          this.tableDatatop = res.data.upScriptResult;
          }else{
          if (this.again && res.data.upScriptResult) {
            this.tableDatatop = res.data.upScriptResult;
          } else {
            this.tableDatatop = res.data.scriptResult;
          }
          this.tableDatatop.forEach((item) => {
@@ -945,7 +959,16 @@
            .confirm(
              '任务保存成功是否针对患者:"' +
                this.logsheetlist[0].sendname +
                '"再次随访?'
                '"再次随访?',
              "确认",
              {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                showCancelButton: true,
                dangerouslyUseHTMLString: true,
                confirmButtonClass: "custom-confirm-button", // 自定义确认按钮的类名
                cancelButtonClass: "custom-cancel-button", // 自定义取消按钮的类名
              }
            )
            .then(() => {
              document.querySelector("#app").scrollTo(0, 0);
@@ -983,7 +1006,18 @@
          this.$modal.msgSuccess("服务保存成功");
          this.$modal
            .confirm(
              '任务保存成功是否针对患者:"' + this.userform.name + '"再次随访?'
              '任务保存成功是否针对患者:"' +
                this.userform.name +
                '"再次随访?',
              "确认",
              {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                showCancelButton: true,
                dangerouslyUseHTMLString: true,
                confirmButtonClass: "custom-confirm-button", // 自定义确认按钮的类名
                cancelButtonClass: "custom-cancel-button", // 自定义取消按钮的类名
              }
            )
            .then(() => {
              document.querySelector("#app").scrollTo(0, 0);
@@ -1007,7 +1041,9 @@
        subId: id,
      }).then((res) => {
        if (res.code == 200) {
          this.form = res.rows[0].serviceSubtaskList.find(item => item.id == this.id);
          this.form = res.rows[0].serviceSubtaskList.find(
            (item) => item.id == this.id
          );
          this.logsheetlist = res.rows[0].serviceSubtaskList;
          this.templateid = this.logsheetlist[0].templateid;
          const targetDate = new Date(this.form.longSendTime); // 目标日期
@@ -1050,14 +1086,15 @@
      });
    },
    Editsingletasksonyic(sendstate) {
      let objson = {};
      getTaskservelist({
        patid: this.patid,
        subId: this.id,
      }).then((res) => {
        if (res.code == 200) {
          objson = res.rows[0].serviceSubtaskList.find(item => item.id == this.id);
          objson = res.rows[0].serviceSubtaskList.find(
            (item) => item.id == this.id
          );
          objson.remark = this.form.remark;
          if (sendstate) objson.sendstate = sendstate;
          Editsingletaskson(objson).then((res) => {
@@ -1108,8 +1145,18 @@
        .catch(() => {});
    },
    handleOptionChange(a, b, c) {
console.log(a);
      const result = c.find((item) => item.optioncontent == a);
      if (result.nextQuestion == 0) {
        this.tableDatatop = this.tableDatatop.reduce((acc, item, i) => {
          acc.push(i > b ? { ...item, astrict: 1 } : item);
          return acc;
        }, []);
      } else {
        this.tableDatatop = this.tableDatatop.reduce((acc, item, i) => {
          acc.push(i > b ? { ...item, astrict: 0 } : item);
          return acc;
        }, []);
      }
      if (this.Voicetype) {
        var obj = this.tableDatatop[b].ivrTaskScriptTargetoptionList.find(
          (item) => item.optioncontent == a
@@ -1191,14 +1238,12 @@
      return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
    },
    updateScore(a, b, c) {
    },
    updateScore(a, b, c) {},
  },
};
</script>
<style lang="scss" scoped>
<style lang="scss">
.Followupdetailspage {
  margin: 10px;
}
@@ -1369,7 +1414,11 @@
::v-deep.el-link.el-link--default {
  color: #02a7f0 !important;
}
.mulsz {
.el-message-box__btns button:nth-child(2) {
    margin-left: 10px;
    background-color:#f57676;
    border-color:#f57676
}.mulsz {
  font-size: 25px;
  margin-top: 20px;
}