WXL
2024-07-02 1f644c69e6c5df3683e8b4698b3073d487cf6d80
测试完成
已添加1个文件
已修改7个文件
243 ■■■■■ 文件已修改
src/api/AiCentre/SingleTask.js 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/AiCentre/external.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartor/ivrtask.js 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/tasklist/index.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/questionbank/particulars/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/outsideChainwt.vue 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/QuestionnaireTask.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/particty.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/AiCentre/SingleTask.js
@@ -50,7 +50,7 @@
  // æ–°å¢žæˆ–修改任务
  export function Editsingletask(data) {
    return request({
      url: "/smartor/tasksingle/insertOrUpdateTask",
      url: "/smartor/serviceSubtask/insertOrUpdateTask",
      method: "post",
      data: data,
    });
@@ -58,14 +58,14 @@
  // åˆ é™¤ä»»åŠ¡å¹¶åˆ é™¤å…³è”çš„æ‚£è€…æœåŠ¡
  export function delTaskInfo(data) {
    return request({
      url: "/smartor/ivrtask/remove/"+id,
      url: "/smartor/servicetask/remove/"+id,
      method: "get",
    });
  }
    // æŸ¥è¯¢ä»»åŠ¡åˆ—è¡¨
    export function getTasklist(data) {
      return request({
        url: "/smartor/ivrtask/list",
        url: "/smartor/servicetask/list",
        method: "post",
        data: data,
      });
@@ -73,7 +73,7 @@
    // æŸ¥è¯¢ä»»åŠ¡è¯¦æƒ…
    export function getTaskInfo(data) {
      return request({
        url: "/smartor/tasksingle/queryTaskByCondition",
        url: "/smartor/serviceSubtask/queryTaskByCondition",
        method: "post",
        data: data,
      });
@@ -81,7 +81,7 @@
    // æŸ¥è¯¢é—¨è¯Šå‡ºé™¢æœåŠ¡åˆ—è¡¨
    export function getTaskservelist(data) {
      return request({
        url: "/smartor/tasksingle/patItem",
        url: "/smartor/serviceSubtask/patItem",
        method: "post",
        data: data,
      });
@@ -89,7 +89,7 @@
     // ä»»åŠ¡ç«‹å³æ‰§è¡Œ
     export function GoheTaskSend(data) {
      return request({
        url: "/smartor/tasksingle/heTaskSend",
        url: "/smartor/serviceSubtask/heTaskSend",
        method: "post",
        data: data,
      });
@@ -113,7 +113,7 @@
  // ä»»åŠ¡å‘é€ï¼Œæ‰§è¡Œ
  export function TaskTemplateSendExecution(data) {
    return request({
      url: "/smartor/ivrtask/taskSend",
      url: "/smartor/commonTask/taskSend",
      method: "post",
      data: data,
    });
src/api/AiCentre/external.js
@@ -3,7 +3,7 @@
// éšè®¿æ¨¡ç‰ˆè¯¦æƒ…
export function getExternalfollowup(data) {
  return request({
    url: "/smartor/ivrtask/getScriptInfoByCondition",
    url: "/smartor/servicetask/getScriptInfoByCondition",
    method: "post",
    data: data
  });
src/api/smartor/ivrtask.js
@@ -3,7 +3,7 @@
// æŸ¥è¯¢è¯­éŸ³ä»»åŠ¡åˆ—è¡¨
export function listIvrtask(query) {
  return request({
    url: '/smartor/ivrtask/list',
    url: '/smartor/servicetask/list',
    method: 'get',
    params: query
  })
@@ -12,7 +12,7 @@
// æŸ¥è¯¢è¯­éŸ³ä»»åŠ¡è¯¦ç»†
export function getIvrtask(taskid) {
  return request({
    url: '/smartor/ivrtask/' + taskid,
    url: '/smartor/servicetask/' + taskid,
    method: 'get'
  })
}
@@ -20,7 +20,7 @@
// æ–°å¢žè¯­éŸ³ä»»åŠ¡
export function addIvrtask(data) {
  return request({
    url: '/smartor/ivrtask',
    url: '/smartor/servicetask',
    method: 'post',
    data: data
  })
@@ -29,7 +29,7 @@
// ä¿®æ”¹è¯­éŸ³ä»»åŠ¡
export function updateIvrtask(data) {
  return request({
    url: '/smartor/ivrtask/edit',
    url: '/smartor/servicetask/edit',
    method: 'post',
    data: data
  })
@@ -38,7 +38,7 @@
// åˆ é™¤è¯­éŸ³ä»»åŠ¡
export function delIvrtask(taskid) {
  return request({
    url: '/smartor/ivrtask/remove/' + taskid,
    url: '/smartor/servicetask/remove/' + taskid,
    method: 'get'
  })
}
src/views/followvisit/tasklist/index.vue
@@ -738,17 +738,17 @@
    handleUpdate(row) {
      this.$router.push({
        path: "/followvisit/particty",
        query: { type: row.hospType, id: row.taskid },
        query: { type: this.tasktopic, id: row.taskid },
      });
      if (this.tasktopic == 1 || this.tasktopic == 2 || this.tasktopic == 3) {
        this.$router.push({
          path: "/followvisit/particty",
          query: { type: row.hospType, id: row.taskid },
          query: { type: this.tasktopic, id: row.taskid },
        });
      } else if (this.tasktopic == 6) {
        this.$router.push({
          path: "/followvisit/QuestionnaireTask",
          query: { type: row.hospType, id: row.taskid },
          query: { type: this.tasktopic, id: row.taskid },
        });
      }
    },
@@ -786,12 +786,21 @@
    confirmSponsor(row) {
      this.TaskOperation.taskId = row.taskid;
      this.TaskOperation.sendState = 2;
      this.taskType();
      TaskTemplateSendExecution(this.TaskOperation).then((res) => {
        if (res.code == 200) {
          this.$modal.msgSuccess("任务已成功加入执行队列");
          this.getList();
        }
      });
    },
    // åˆ¤æ–­ç±»åž‹
    taskType(row) {
      if (this.tasktopic == 2 || this.tasktopic == 3) {
        this.TaskOperation.taskType = 1;
      } else if (this.tasktopic == 6) {
        this.TaskOperation.taskType = 2;
      }
    },
    // ç«‹å³æ‰§è¡Œ
    immediateExecution(row) {
@@ -828,7 +837,8 @@
      if (row.sendState == 2) {
        this.TaskOperation.taskId = row.taskId;
        this.TaskOperation.sendState = 3;
        TaskTemplateSendExecution().then((res) => {
        TaskTemplateSendExecution(this.TaskOperation).then((res) => {
          this.$modal.msgSuccess("任务已暂停");
          this.getList();
        });
      }
src/views/knowledge/questionbank/particulars/index.vue
@@ -696,7 +696,7 @@
            Number(score.score) <= 0 ||
            Number(score.score) > Number(this.topicobj.score)
          ) {
            console.log(22);
            console.log(score, "错误分值");
            this.$message({
              message: "选项分值必须大于0小于等于" + this.topicobj.score + "分",
              type: "warning",
src/views/outsideChainwt.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,185 @@
<template>
  <div class="questionnaire">
    <div class="CONTENT">
      <div class="title">二期问卷调查表</div>
      <div class="preview-left">
        <!-- å•选 -->
        <div
          class="topic-dev"
          v-for="(item, index) in questionList"
          :key="item.aaa"
        >
          <div class="dev-text">
            {{ index + 1 }}、<span>{{ item.questionText }}</span>
          </div>
          <div class="dev-xx" v-if="item.valueType == 1">
            <el-radio-group v-model="item.asrtext">
              <el-radio
                v-for="(items, index) in item.ivrLibaScriptTargetoptionList"
                :key="items.id"
                :label="items.targetvalue"
                >{{ items.targetvalue }}</el-radio
              >
            </el-radio-group>
          </div>
          <div v-else>
            <el-input
              type="textarea"
              placeholder="请输入内容"
              v-model.sync="item.asrtext"
              :rows="2"
            />
          </div>
        </div>
      </div>
      <el-form :model="formData" label-width="80px">
        <el-form-item>
          <el-button type="primary" @click="submitForm">提交问卷</el-button>
        </el-form-item>
      </el-form>
    </div>
  </div>
</template>
<script>
import {
  getExternalfollowup,
  SetsaveQuestionAnswer,
} from "@/api/AiCentre/index";
import JSEncrypt from "jsencrypt";
export default {
  data() {
    return {
      taskid: 355,
      patid: 265823,
      questionList: null,
      // å‰ç«¯å…¬é’¥
      publicKey:
        "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKR0yHv0rbJWQE+Sc7/FwpW66qMd9qX2k6z+SDgkSdxWh/1GbBoAP7bDQQRF6vXmoKsD2ya42H6XRLSDXAoayuMCAwEAAQ== ",
      // åŽç«¯ç§é’¥
      privateKey:
        " MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEAtDOpbUQhcEoYy77agRhIHmAzs7H+KHJhN56gTTI9fWq23j77nI055MFV3oQQziIrNUTNaPpEQhZXBpI0+f9K9QIDAQABAkB3n0fcWfrcoMN/FU3VnrnZOEF6CzFNxkgU9P8y36QECWKZ9JhYQkNpKrMC9oXlN3VSaRigV7B+L/I/a0Rs1W+tAiEA4jx7xcXJ4y4BNwAmVHt6NNiEkzIwWnwC/0qsEu8NsOsCIQDL6MMn1D2uznC6OuOWpxDCkBh1JL1NzZTZeH2G+hj7nwIgKGAC9tjFnvWm4dn0/T7MIIJDpsFeP8fCAS2iZ/6hwuECIAS/eLvWr1EAsZNEh8QcQ8GkBU3E+ztyjAK8UX/xFt/VAiBf79/1tDErX4/DChecM8w3c3DhbBcjuE3fHZn7p6/UKg==",
      formData: {
        question1: "",
        question2: "",
        question3: "",
      },
    };
  },
  created() {
    this.getQuestionnaire();
  },
  methods: {
    // èŽ·å–æ•°æ®
    getQuestionnaire() {
      let taskid = this.$route.query.param1;
      let patid = this.$route.query.param2;
      // let taskid =
      //   "OFp7tn/B6x7IzKJetvGWHdSWBj7msRlnlj6am9dyuHTH6sEt4uBbVCUXs5kcF/e4O2W6vqHf2Bz9K3/evbYDmw==";
      // let patid =
      //   "CVk0j8O86AeCqhV5WPsBBYDg9fec0wDoDlP9imYK4wDBNIkxywZzMJEGlPagOxnq6qr2WYZo0U8MUGWRGnq8ZA==";
      this.taskid = this.decrypt(taskid);
      this.patid = this.decrypt(patid);
      // this.$modal.msgSuccess("用户id为" + this.patid);
      // this.$modal.msgSuccess("任务id为" + this.taskid);
      let taskids = this.encrypt(this.taskid);
      let patids = this.encrypt(this.patid);
      getExternalfollowup({ param1: taskids, param2: patids }).then((res) => {
        if (res.code == 200) {
          this.questionList = res.rows;
        }
      });
    },
    // åŠ å¯†å‡½æ•°
    encrypt(txt) {
      const encryptor = new JSEncrypt();
      encryptor.setPublicKey(this.publicKey); // è®¾ç½®å…¬é’¥
      return encryptor.encrypt(txt); // å¯¹æ•°æ®è¿›è¡ŒåР坆
    },
    // è§£å¯†å‡½æ•°
    decrypt(txt) {
      const encryptor = new JSEncrypt();
      encryptor.setPrivateKey(this.privateKey); // è®¾ç½®ç§é’¥
      return encryptor.decrypt(txt); // å¯¹æ•°æ®è¿›è¡Œè§£å¯†
    },
    // æäº¤
    submitForm() {
      // æäº¤è¡¨å•逻辑
      console.log(this.questionList);
      let form = {
        param1: this.encrypt(this.taskid),
        param2: this.encrypt(this.patid),
        ivrTaskcalldetailList: [],
      };
      this.questionList.forEach((item) => {
        let optionarr = [];
        item.ivrLibaScriptTargetoptionList.forEach((option) => {
          optionarr.push(option.targetvalue);
        });
        let ivrTaskcalldetail = {
          asrtext: item.asrtext,
          valueType: item.valueType,
          questiontext: item.questionText,
          targetoptions: optionarr.join(","),
        };
        form.ivrTaskcalldetailList.push(ivrTaskcalldetail);
      });
      console.log(form, "form");
      SetsaveQuestionAnswer(form).then((res) => {
        if (res.code == 200) {
          this.$modal.msgSuccess("提交成功");
        }
      });
      // å¯ä»¥å°†æ•°æ®æäº¤åˆ°åŽç«¯æˆ–者进行其他处理
    },
  },
};
</script>
<style lang="scss" scoped>
.questionnaire {
  // background-image: url("../assets/images/chainbackground.jpg");
  // background-repeat: no-repeat;
  // background-position: center center;
  // background-size: cover;
  // height: 100vh;
  background-image: url("../assets/images/chainbackground.jpg");
  background-size: cover;
  background-attachment: fixed; /* ä¿æŒèƒŒæ™¯å›ºå®š */
  background-position: center;
  font-family: Arial, sans-serif;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  .CONTENT {
    padding: 10px;
    .title {
      font-size: 22px;
      font-weight: bold;
      margin-bottom: 20px;
      text-align: center;
    }
  }
}
.preview-left {
  margin: 20px;
  //   margin: 20px;
  padding: 30px;
  // background: #ffff;
  border: 1px solid #dcdfe6;
  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
    0 0 6px 0 rgba(0, 0, 0, 0.04);
  .topic-dev {
    margin-bottom: 25px;
    font-size: 20px !important;
    .dev-text {
      margin-bottom: 10px;
    }
  }
}
</style>
src/views/patient/propaganda/QuestionnaireTask.vue
@@ -887,7 +887,7 @@
  created() {
    this.id = this.$route.query.id;
    this.form.hospType = this.$route.query.type;
    this.form.Type = this.$route.query.type;
    this.listDept();
    this.Acquisitiontype();
    this.Getdetails();
@@ -959,6 +959,9 @@
      } else {
        this.form.isoperation = 1;
      }
      if (!this.form.type) {
        this.form.type = this.$route.query.type;
      }
      Questionnairetaskdetails(this.form).then((res) => {
        if (res.code == 200) {
          if (this.form.taskid) {
src/views/patient/propaganda/particty.vue
@@ -681,8 +681,8 @@
                v-for="(items, index) in item.ivrLibaScriptTargetoptionList"
                :key="items.id"
                :label="items.id"
                >{{ items.targetvalue }} </el-radio
              >
                >{{ items.targetvalue }}
              </el-radio>
            </el-radio-group>
          </div>
          <div v-else>
@@ -1135,9 +1135,12 @@
      this.SelectPatientslist.forEach((item) => {
        const isExist = this.overallCase.find((obj) => obj.name == item.name);
        if (!isExist) {
          console.log(this.patientqueryParams.allhosp, "allhosp");
          item.isoperation = 1;
          item.hospType = this.patientqueryParams.allhosp;
          this.overallCase.push(item);
          this.form.patTaskRelevances.push(item);
          console.log(this.overallCase, "this.overallCase");
        }
      });
    },