WXL
2024-09-24 83898e6b7ff3996fcef889042442a25753b07dea
src/views/followvisit/record/detailpage/index.vue
@@ -12,12 +12,11 @@
                    v-if="!Whetherall"
                      type="primary"
                      @click="getTaskservelist()"
                    >查看患者全部服务</el-button>
                    <el-button
                    v-else
                      type="success"
                      @click="getTaskservelist(taskid)"
                    >查看患者本次服务信息</el-button>
                >查看患者全部服务</el-button
              >
              <el-button v-else type="success" @click="getTaskservelist(taskid)"
                >查看患者本次服务信息</el-button
              >
              </div>
            </div>
          <!-- <el-button type="success">随访后短信</el-button> -->
@@ -28,6 +27,21 @@
          <el-table-column prop="sendname" align="center" label="姓名">
          </el-table-column>
          <el-table-column prop="sendstate" align="center" label="服务状态">
            <template slot-scope="scope">
            <div v-if="scope.row.sendstate == 1">
              <el-tag type="primary"
              :disable-transitions="false">被领取</el-tag></div>
            <div v-if="scope.row.sendstate == 2">
              <el-tag type="primary"
              :disable-transitions="false">待发送</el-tag>
              </div>
            <div v-if="scope.row.sendstate == 3"> <el-tag type="success"
              :disable-transitions="false">已发送</el-tag></div>
            <div v-if="scope.row.sendstate == 4"> <el-tag type="info"
              :disable-transitions="false">不执行</el-tag></div>
            <div v-if="scope.row.sendstate == 5"> <el-tag type="danger"
              :disable-transitions="false">发送失败</el-tag></div>
          </template>
          </el-table-column>
          <el-table-column
            prop="finishtime"
@@ -38,6 +52,60 @@
          >
          </el-table-column>
          <el-table-column
            label="出院日期"
            width="200"
            align="center"
            key="endtime"
            prop="endtime"
          >
            <template slot-scope="scope">
              <span>{{ formatTime(scope.row.endtime) }}</span>
            </template></el-table-column
          >
          <el-table-column
            label="责任护士"
            width="120"
            align="center"
            key="nurseName"
            prop="nurseName"
          />
          <el-table-column
            label="主治医生"
            width="120"
            align="center"
            key="drname"
            prop="drname"
          />
          <el-table-column
            label="结果状态"
            align="center"
            key="excep"
            prop="excep"
            width="120"
          >
            <template slot-scope="scope">
              <dict-tag
                :options="dict.type.sys_yujing"
                :value="scope.row.excep"
              />
            </template>
          </el-table-column>
          <el-table-column
            label="处理意见"
            align="center"
            key="suggest"
            prop="suggest"
            width="120"
          >
            <template slot-scope="scope">
              <dict-tag
                :options="dict.type.sys_suggest"
                :value="scope.row.suggest"
              />
            </template>
          </el-table-column>
          <el-table-column
            prop="taskName"
            align="center"
            width="200"
@@ -45,6 +113,7 @@
            label="任务名称"
          >
          </el-table-column>
          <el-table-column
            prop="templatename"
            align="center"
@@ -83,6 +152,30 @@
        </el-table>
      </div>
    </div>
    <div class="Followuserinfo">
      <div>
        <div class="headline">
          <div>人工处理意见</div>
        </div>
        <div style="margin-left: 30px">
          <el-button type="warning" @click="Editsingletaskson('1')"
            >暂不处理</el-button
          >
          <el-button type="success" @click="Editsingletaskson('2')"
            >病情稳定</el-button
          >
          <el-button type="primary" @click="Editsingletaskson('3')"
            >通知就诊</el-button
          >
          <el-button type="danger" @click="Editsingletaskson('4')"
            >失访</el-button
          >
          <el-button type="info" @click="Editsingletaskson('5')"
            >人工随访</el-button
          >
        </div>
      </div>
    </div>
    <div>
      <el-tabs type="border-card">
        <el-tab-pane>
@@ -99,7 +192,11 @@
                :key="item.aaa"
              >
                <div
                  class="scriptTopic-dev"
                  :class="
                    item.isabnormal
                      ? 'scriptTopic-isabnormal'
                      : 'scriptTopic-dev'
                  "
                  :key="index"
                  v-if="item.scriptType == 1"
                >
@@ -115,6 +212,7 @@
                        v-for="(
                          items, index
                        ) in item.svyLibTemplateTargetoptions"
                        :class="items.isabnormal ? 'red-star' : ''"
                        :key="index"
                        :label="items.optioncontent"
                        >{{ items.optioncontent }}</el-radio
@@ -127,7 +225,11 @@
                </div>
                <!-- 多选 -->
                <div
                  class="scriptTopic-dev"
                  :class="
                    item.isabnormal
                      ? 'scriptTopic-isabnormal'
                      : 'scriptTopic-dev'
                  "
                  :key="index"
                  v-if="item.scriptType == 2"
                >
@@ -140,6 +242,7 @@
                      @change="updateScore($event, index, item)"
                    >
                      <el-checkbox
                        :class="items.isabnormal ? 'red-star' : ''"
                        @change="$forceUpdate()"
                        v-for="(
                          items, indexs
@@ -177,6 +280,7 @@
                </div>
              </div>
            </div>
            <el-button type="primary" @click="getdetail">保存问卷</el-button>
          </div>
        </el-tab-pane>
        <el-tab-pane>
@@ -208,8 +312,15 @@
</template>
<script>
import { getsearchrResults, getTaskservelist } from "@/api/AiCentre/index";
import {
  getsearchrResults,
  getTaskservelist,
  Editsingletaskson,
  serviceSubtaskDetailedit,
  serviceSubtaskDetailadd,
} from "@/api/AiCentre/index";
export default {
  dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
  data() {
    return {
      radio: "1",
@@ -222,6 +333,7 @@
      logsheetlist: [],
      sendname: null,
      serviceType: null,
      id: null,
      taskid: null,
      patid: null,
    };
@@ -229,6 +341,7 @@
  created() {
    this.taskid = this.$route.query.taskid;
    this.id = this.$route.query.id;
    this.sendname = this.$route.query.sendname;
    this.patid = this.$route.query.patid;
    this.serviceType = this.$route.query.serviceType;
@@ -242,22 +355,73 @@
      getsearchrResults({
        taskid: this.taskid,
        patid: this.patid,
        subId: this.id,
        isFinish:false,
      }).then((res) => {
        if (res.code === 200) {
          this.tableDatatop = res.data.scriptResult.script;
          this.tableDatatop.forEach((item) => {
            if (item.scriptResult && item.scriptType != 2) {
              item.isoption = 3;
              item.scriptResult = JSON.parse(item.scriptResult);
            } else if (item.scriptResult && item.scriptType == 2) {
              item.scriptResult = item.scriptResult.split("&");
              item.isoption = 3;
            }
          });
          this.taskname = res.data.taskName;
          this.overdata();
        }
      });
    },
    // 医护人员存储数据
    getdetail() {
      let excep = "";
      this.tableDatatop.forEach((item) => {
        var objs = item.svyLibTemplateTargetoptions.find(
          (items) => items.optioncontent == item.scriptResult
        );
        if (objs.isabnormal) {
          excep = 1;
        }
        let obj = {
          asrtext: null,
          patid: this.patid,
          subId: this.id,
          taskid: this.taskid,
          scriptid: item.id,
          questiontext: item.scriptContent,
        };
        if (item.scriptType == 2 && item.scriptResult[0]) {
          obj.asrtext = item.scriptResult.join("&");
        } else if (item.scriptType != 2 && item.scriptResult) {
          obj.asrtext = JSON.stringify(item.scriptResult);
        }
        if (item.isoption == 3) {
          serviceSubtaskDetailedit(obj).then((res) => {
            if (res.code == 200) {
            } else {
              this.$modal.error("修改失败");
            }
          });
        } else {
          serviceSubtaskDetailadd(obj).then((res) => {
            if (res.code == 200) {
              console.log(res);
            } else {
              this.$modal.error("修改失败");
            }
          });
        }
      });
      this.Editsingletasksonyic(excep);
    },
    // 获取患者记录
    getTaskservelist(taskid) {
      this.taskid = taskid;
      if (taskid) {
        this.Whetherall=false;
      }else{
@@ -272,11 +436,85 @@
        }
      });
    },
    Editsingletaskson(son) {
      let objson = {};
      getTaskservelist({
        patid: this.patid,
        taskid: this.taskid,
      }).then((res) => {
        if (res.code == 200) {
          objson = res.rows[0];
          objson.suggest = son;
          Editsingletaskson(objson).then((res) => {
            if (res.code) {
              this.$modal.msgSuccess("记录成功");
              this.getTaskservelist(this.taskid);
            }
          });
        }
      });
    },
    Editsingletasksonyic(excep) {
      let objson = {};
      getTaskservelist({
        patid: this.patid,
        taskid: this.taskid,
      }).then((res) => {
        if (res.code == 200) {
          objson = res.rows[0];
          objson.excep = excep;
          Editsingletaskson(objson).then((res) => {
            if (res.code) {
              this.$modal.msgSuccess("服务修改成功");
              this.getTaskservelist(this.taskid);
            }
          });
        }
      });
    },
    // 更改异常状态
    Seedetails(row) {
      this.$modal.confirm('是否查看任务为"' + optionids + '"的服务项?').then(function () {
        }).then(() => {
      this.$modal
        .confirm('是否查看任务为"' + optionids + '"的服务项?')
        .then(function () {})
        .then(() => {
          this.getList();
        }).catch(() => { });
        })
        .catch(() => {});
    },
    handleOptionChange(a, b, c) {
      var obj = this.tableDatatop[b].svyLibTemplateTargetoptions.find(
        (item) => item.optioncontent == a
      );
      if (obj.isabnormal) {
        this.tableDatatop[b].isabnormal = true;
      } else {
        this.tableDatatop[b].isabnormal = false;
      }
      this.$forceUpdate();
    },
    overdata() {
      this.tableDatatop.forEach((item, index) => {
        console.log(item.svyLibTemplateTargetoptions);
        var obj = item.svyLibTemplateTargetoptions.find(
          (items) => items.optioncontent == item.scriptResult
        );
        if (obj) {
          if (obj.isabnormal) {
            this.tableDatatop[index].isabnormal = true;
          } else {
            this.tableDatatop[index].isabnormal = false;
          }
          this.$forceUpdate();
        }
      });
    },
    updateScore(a, b, c) {
      console.log(a);
      console.log(b);
      console.log(c);
    },
  },
};
@@ -358,6 +596,9 @@
    }
  }
}
.scriptTopic-isabnormal {
  color: red;
}
.headline {
    font-size: 24px;
    height: 40px;
@@ -372,6 +613,30 @@
      cursor: pointer;
    }
  }
.red-star {
  ::v-deep.el-radio__label {
    position: relative;
    padding-right: 10px; /* 根据需要调整 */
  }
  ::v-deep.el-radio__label::after {
    content: "*";
    color: red;
    position: absolute;
    right: -5px; /* 根据需要调整 */
    top: 0;
  }
  ::v-deep.el-checkbox__label {
    position: relative;
    padding-right: 10px; /* 根据需要调整 */
  }
  ::v-deep.el-checkbox__label::after {
    content: "*";
    color: red;
    position: absolute;
    right: -5px; /* 根据需要调整 */
    top: 0;
  }
}
::v-deep.offside-value .el-radio__label {
  color: #fff;
}