WXL
2024-09-03 a346cfbcb03a303dca252d910d2181f00e7adc20
测试完成
已添加2个文件
已修改18个文件
488 ■■■■ 文件已修改
dist.zip 补丁 | 查看 | 原始文档 | blame | 历史
src/api/AiCentre/Homeimage.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/AiCentre/SingleTask.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/AiCentre/external.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/dept.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/discharge/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/outpatient/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/tasklist/index.vue 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/index copy.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/questionbank/index.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/questionnaire/index.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/outsideChain.vue 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/outsideChainwt.vue 162 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/outsideChainxj.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/Missioncreation.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/QuestionnaireTask.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/particty.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/templateku/index.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/verbaltrick/index.vue 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist.zip
Binary files differ
src/api/AiCentre/Homeimage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
import request from "@/utils/request";
// åŸºç¡€æ•°æ®
export function getTopstatistics(data) {
  return request({
    url: "/smartor/extemplate/list",
    method: "post",
    data: data,
  });
}
// æ‹¿å–中部数据大图
export function getCentraldata(Id) {
  return request({
    url: "/smartor/extemplate/remove/" + Id,
    method: "get",
  });
}
// æ‹¿å–中部数据大图
export function getMissiondata(Id) {
  return request({
    url: "/smartor/extemplate/remove/" + Id,
    method: "get",
  });
}
src/api/AiCentre/SingleTask.js
@@ -56,9 +56,9 @@
    });
  }
  // åˆ é™¤ä»»åŠ¡å¹¶åˆ é™¤å…³è”çš„æ‚£è€…æœåŠ¡
  export function delTaskInfo(data) {
  export function delTaskInfo(taskid) {
    return request({
      url: "/smartor/servicetask/remove/"+id,
      url: "/smartor/servicetask/remove/"+taskid,
      method: "get",
    });
  }
src/api/AiCentre/external.js
@@ -1,6 +1,6 @@
import request from "@/utils/request";
// å¤–链获取随访或问卷详情
// å¤–链获取随访
export function getExternalfollowup(data) {
  return request({
    url: "/smartor/servicetask/getScriptInfoByCondition",
@@ -9,7 +9,7 @@
    data: data
  });
}
// æäº¤é—®å·ã€éšè®¿
// æäº¤ã€éšè®¿
export function SetsaveQuestionAnswer(data) {
  return request({
    // url: "/smartor/ivrtaskcalldetail/saveQuestionAnswer",
@@ -18,3 +18,29 @@
    data: data
  });
}
// ç¼“存问卷
export function Cachequestionnaire(data) {
  return request({
    url: "/smartor/subtaskAnswer/saveQuestionCache",
    method: "post",
    data: data
  });
}
// æ‹¿ç¼“存问卷
export function getCachequestionnaire(data) {
  return request({
    url: "/smartor/subtaskAnswer/getQuestionCache",
    method: "post",
    data: data
  });
}
// æäº¤é—®å·
export function Submitaquestionnaire(data) {
  return request({
    url: "/smartor/subtaskAnswer/saveQuestionAnswer",
    method: "post",
    data: data
  });
}
src/api/system/dept.js
@@ -20,7 +20,7 @@
// æŸ¥è¯¢éƒ¨é—¨è¯¦ç»†
export function getDept(deptId) {
  return request({
    url: '/system/dept/getInfo' + deptId,
    url: '/system/dept/getInfo/' + deptId,
    method: 'get'
  })
}
src/views/followvisit/discharge/index.vue
@@ -799,9 +799,9 @@
    /** æ–°å¢žæŒ‰é’®æ“ä½œ */
    handleAdd() {
      this.$router.push({
        path: "/followvisit/particty",
        path: "/followvisit/QuestionnaireTask",
        query: {
          type: 3,
          type: 2,
          serviceType: 2,
        },
      });
src/views/followvisit/outpatient/index.vue
@@ -240,7 +240,7 @@
        />
        <el-table-column
          label="随访方式(需调整格式)"
          label="随访方式"
          align="center"
          key="serviceform"
          prop="serviceform"
@@ -788,9 +788,9 @@
    /** æ–°å¢žæŒ‰é’®æ“ä½œ */
    handleAdd() {
      this.$router.push({
        path: "/followvisit/particty",
        path: "/followvisit/QuestionnaireTask",
        query: {
          type: 3,
          type: 2,
          serviceType: 3,
        },
      });
src/views/followvisit/tasklist/index.vue
@@ -622,6 +622,9 @@
  },
  watch: {},
  created() {
    this.tasktopic = this.$route.query.tasktopic
      ? this.$route.query.tasktopic
      : this.tasktopic;
    this.getList();
    this.getConfigKey("sys.user.initPassword").then((response) => {
      this.initPassword = response.msg;
@@ -639,22 +642,22 @@
    getList() {
      this.loading = true;
      let type = this.$route.query.type;
      this.tasktopic = this.$route.query.tasktopic
        ? this.$route.query.tasktopic
        : this.tasktopic;
      this.topqueryParams.serviceType = Number(this.tasktopic);
      this.topqueryParams.type = Number(this.type);
      if (this.tasktopic == 1 || this.tasktopic == 7 || this.tasktopic == 6) {
      if (
        this.tasktopic == 2 ||
        this.tasktopic == 3 ||
        this.tasktopic == 1 ||
        this.tasktopic == 7 ||
        this.tasktopic == 6
      ) {
        this.topqueryParams.type = 2;
        this.TaskOperation.taskType = 2;
      } else if (this.tasktopic == 4 || this.tasktopic == 8) {
        this.topqueryParams.type = 3;
        this.TaskOperation.taskType = 3;
      } else if (
        this.tasktopic == 2 ||
        this.tasktopic == 3 ||
        this.tasktopic == 5
      ) {
      } else if (this.tasktopic == 5) {
        this.topqueryParams.type = 1;
        this.TaskOperation.taskType = 1;
      }
@@ -807,7 +810,15 @@
      }
    },
    // åˆ é™¤ä»»åŠ¡
    deletefn() {},
    deletefn(row) {
      delTaskInfo(row.taskid).then((res) => {
        console.log(2);
        if (res.code == 200) {
          this.getList();
          this.$modal.msgSuccess("删除成功");
        }
      });
    },
    // ä»»åŠ¡å‘èµ·
    sponsor(row) {
      console.log(row, "任务信息");
@@ -903,22 +914,21 @@
      this.$modal
        .confirm("是否依照当前任务创建新任务?")
        .then(() => {
          if (
            this.tasktopic == 2 ||
            this.tasktopic == 3 ||
            this.tasktopic == 4 ||
            this.tasktopic == 5
          ) {
          if (this.tasktopic == 5) {
            this.$router.push({
              path: "/followvisit/particty",
              query: { type: 1, id: row.taskid, nhh: 1 },
            });
          } else if (this.tasktopic == 6) {
          } else if (
            this.tasktopic == 2 ||
            this.tasktopic == 3 ||
            this.tasktopic == 6
          ) {
            this.$router.push({
              path: "/followvisit/QuestionnaireTask",
              query: { type: 2, id: row.taskid, nhh: 1 },
            });
          } else if (this.tasktopic == 1) {
          } else if (this.tasktopic == 8 || this.tasktopic == 4) {
            this.$router.push({
              path: "/followvisit/Missioncreation",
              query: { type: 3, id: row.taskid, nhh: 1 },
src/views/index copy.vue
@@ -118,8 +118,7 @@
        <el-col :span="4" class="aside">
          <div class="grid-content bg-purple" style="margin-top: -180px">
            <div class="title">
              å¥åº·å®£æ•™
              <span>{{ endatd }} ~ {{ statd }}</span>
              æ¶ˆæ¯åˆ—表
            </div>
            <div style="max-height: 690px; width: 100%; overflow: auto">
              <el-table style="width: 100%" :data="SkuTop">
@@ -137,7 +136,7 @@
                ></el-table-column>
                <el-table-column prop="count" class-name="count">
                  <template slot-scope="scope">
                    {{ scope.row.count }}次
                    {{ scope.row.count }}
                  </template>
                </el-table-column>
              </el-table>
src/views/knowledge/questionbank/index.vue
@@ -4,7 +4,7 @@
    <div class="sidecolumn">
      <div class="sidecolumn-top">
        <div class="top-wj">问题类型</div>
        <div class="top-tj" @click="dialogFormVisible = true">+添加</div>
        <div class="top-tj" @click="Newcategory">+添加</div>
      </div>
      <div class="center-ss">
        <el-input
@@ -498,7 +498,7 @@
      userList: [],
      // å¼¹å‡ºå±‚标题
      tag: "",
      title: "",
      title: "新增类别",
      // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
      open: false,
      // æ—¥æœŸèŒƒå›´
@@ -519,6 +519,8 @@
      indexid: null,
      inputValue: "",
      radio: "主分类",
      zufon: true,
      zifon: true,
      inputVisible: false,
      illnessVisible: false, //指标疾病弹框
      deptOptions: [],
@@ -725,12 +727,23 @@
      this.dialogFormVisible = true;
      if (!b.pid) {
        this.radio = "主分类";
        this.title = "修改主分类";
        this.zufon = false;
      } else {
        this.radio = "子分类";
        this.title = "修改子分类";
        this.zifon = false;
      }
      this.classifyform = b;
      this.dialogFormVisible = true;
    },
    Newcategory(){
      this.classifyform= {}, //类别表单
      this.radio = "主分类";
     this.dialogFormVisible = true
     this.zifon = true;
      this.zufon = true;
    },
    // ç­›é€‰èŠ‚ç‚¹
    filterNode(value, data) {
src/views/knowledge/questionnaire/index.vue
@@ -4,7 +4,7 @@
    <div class="sidecolumn">
      <div class="sidecolumn-top">
        <div class="top-wj">问卷类型</div>
        <div class="top-tj" @click="dialogFormVisible = true">+添加</div>
        <div class="top-tj" @click="Newcategory">+添加</div>
      </div>
      <div class="center-ss">
        <el-input
@@ -525,7 +525,7 @@
      roleOptions: [],
      // è¡¨å•参数
      form: {},
      title: "新增类别",
      sidecolumnform: {}, //添加类别表单
      goQRCodeVisible: false, //二维码弹框
      sidecolumnval: "", //类别搜索
@@ -539,6 +539,8 @@
      indexid: null,
      inputValue: "",
      radio: "主分类",
      zufon: true,
      zifon: true,
      inputVisible: false,
      illnessVisible: false, //指标疾病弹框
      deptOptions: [],
@@ -817,12 +819,23 @@
      this.dialogFormVisible = true;
      if (!b.pid) {
        this.radio = "主分类";
        this.title = "修改主分类";
        this.zufon = false;
      } else {
        this.radio = "子分类";
        this.title = "修改子分类";
        this.zifon = false;
      }
      this.classifyform = b;
      this.dialogFormVisible = true;
    },
    Newcategory(){
      this.classifyform= {}, //类别表单
      this.radio = "主分类";
     this.dialogFormVisible = true
     this.zifon = true;
      this.zufon = true;
    },
    // ç­›é€‰èŠ‚ç‚¹
    filterNode(value, data) {
src/views/outsideChain.vue
@@ -9,27 +9,59 @@
          v-for="(item, index) in questionList"
          :key="item.aaa"
        >
          <div
            class="scriptTopic-dev"
            :key="item.sort"
            v-if="item.scriptType == 1"
          >
          <div class="dev-text">
            {{ index + 1 }}、<span>{{ item.scriptContent }}</span>
              {{ item.sort }}、[单选]<span>{{ item.scriptContent }}</span>
          </div>
          <div class="dev-xx" v-if="item.valueType == 1">
            <el-radio-group v-model="item.asrtext">
            <div class="dev-xx">
              <el-radio-group v-model="item.remark">
              <el-radio
                v-for="(items, index) in item.ivrLibaScriptTargetoptionList"
                :key="items.id"
                :label="items.targetvalue"
                >{{ items.targetvalue }}</el-radio
                  v-for="(items, index) in item.svyLibTemplateTargetoptions"
                  :key="index"
                  :label="index"
                  >{{ items.optioncontent }}</el-radio
              >
            </el-radio-group>
          </div>
          <div v-else>
            <el-input
              type="textarea"
              placeholder="请输入内容"
              v-model.sync="item.asrtext"
              :rows="2"
            />
          </div>
          <!-- å¤šé€‰ -->
          <div
            class="scriptTopic-dev"
            :key="item.sort"
            v-if="item.scriptType == 2"
          >
            <div class="dev-text">
              {{ item.sort }}、[多选]<span>{{ item.scriptContent }}</span>
            </div>
            <div class="dev-xx">
              <el-checkbox-group v-model="qremark">
                <el-checkbox
                  v-for="(items, index) in item.svyLibTemplateTargetoptions"
                  :key="index"
                  :label="index"
                >
                  {{ items.optioncontent }}
                </el-checkbox>
              </el-checkbox-group>
            </div>
          </div>
          <!-- å¡«ç©º -->
          <div
            class="scriptTopic-dev"
            :key="item.sort"
            v-if="item.scriptType == 4"
          >
            <div class="dev-text">
              {{ item.sort }}、[问答]<span>{{ item.scriptContent }}</span>
            </div>
            <div class="dev-xx">
              <el-input placeholder="请输入答案" v-model="radioas" clearable>
              </el-input>
            </div>
          </div>
        </div>
      </div>
@@ -74,32 +106,32 @@
  methods: {
    // èŽ·å–æ•°æ®
    getQuestionnaire() {
      let taskid = this.$route.query.param1;
      let patid = this.$route.query.param2;
      this.taskid = this.$route.query.param1;
      this.patid = this.$route.query.param2;
      let taskname = this.$route.query.param3;
      let routertf = this.$route.query.param5;
      console.log(taskid, "taskid");
      console.log(patid, "patid");
      console.log(taskname, "taskname");
      console.log(routertf, "routertf");
      // console.log(taskid, "taskid");
      // console.log(patid, "patid");
      // console.log(taskname, "taskname");
      // console.log(routertf, "routertf");
      // let taskid =
      //   "OFp7tn/B6x7IzKJetvGWHdSWBj7msRlnlj6am9dyuHTH6sEt4uBbVCUXs5kcF/e4O2W6vqHf2Bz9K3/evbYDmw==";
      // let patid =
      //   "CVk0j8O86AeCqhV5WPsBBYDg9fec0wDoDlP9imYK4wDBNIkxywZzMJEGlPagOxnq6qr2WYZo0U8MUGWRGnq8ZA==";
      this.taskid = this.decrypt(taskid);
      this.patid = this.decrypt(patid);
      // è§£å¯†
      // this.taskid = this.decrypt(taskid);
      // this.patid = this.decrypt(patid);
      // this.taskid = taskid;
      // this.patid = patid;
      console.log(this.taskid, "this.taskid");
      console.log(this.patid, "this.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) => {
      // let taskids = this.encrypt(this.taskid);
      // let patids = this.encrypt(this.patid);
      getExternalfollowup({ param1: this.taskid, param2: this.patid }).then((res) => {
        if (res.code == 200) {
          this.questionList = res.rows;
        }
@@ -123,8 +155,8 @@
      // æäº¤è¡¨å•逻辑
      console.log(this.questionList);
      let form = {
        param1: this.encrypt(this.taskid),
        param2: this.encrypt(this.patid),
        param1: this.taskid,
        param2: this.patid,
        ivrTaskcalldetailList: [],
      };
      this.questionList.forEach((item) => {
src/views/outsideChainwt.vue
@@ -1,7 +1,7 @@
<template>
  <div class="questionnaire">
    <div class="CONTENT">
      <div class="title">二期问卷调查表</div>
      <div class="title">{{ taskname ? taskname : "问卷" }}</div>
      <div class="preview-left">
        <!-- å•选 -->
        <div
@@ -9,33 +9,61 @@
          v-for="(item, index) in questionList"
          :key="item.aaa"
        >
          <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 1">
          <div class="dev-text">
            {{ index + 1 }}、<span>{{ item.scriptContent }}</span>
              {{ index + 1 }}、[单选]<span>{{ item.scriptContent }}</span>
          </div>
          <div class="dev-xx" v-if="item.valueType == 1">
            <el-radio-group v-model="item.asrtext">
            <div class="dev-xx">
              <el-radio-group v-model="item.scriptResult">
              <el-radio
                v-for="(items, index) in item.ivrLibaScriptTargetoptionList"
                :key="items.id"
                :label="items.targetvalue"
                >{{ items.targetvalue }}</el-radio
                  v-for="(items, index) in item.svyLibTemplateTargetoptions"
                  :key="index"
                  :label="index"
                  >{{ items.optioncontent }}</el-radio
              >
            </el-radio-group>
          </div>
          <div v-else>
          </div>
          <!-- å¤šé€‰ -->
          <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 2">
            <div class="dev-text">
              {{ index + 1 }}、[多选]<span>{{ item.scriptContent }}</span>
            </div>
            <div class="dev-xx">
              <el-checkbox-group v-model="item.scriptResult">
                <el-checkbox
                  @change="$forceUpdate()"
                  v-for="(items, indexs) in item.svyLibTemplateTargetoptions"
                  :key="indexs"
                  :label="items.optioncontent"
                >
                  {{ items.optioncontent }}
                </el-checkbox>
              </el-checkbox-group>
            </div>
          </div>
          <!-- å¡«ç©º -->
          <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 4">
            <div class="dev-text">
              {{ index + 1 }}、[问答]<span>{{ item.scriptContent }}</span>
            </div>
            <div class="dev-xx">
            <el-input
              type="textarea"
              placeholder="请输入内容"
              v-model.sync="item.asrtext"
              :rows="2"
            />
                placeholder="请输入答案"
                v-model="item.scriptResult"
                clearable
              >
              </el-input>
            </div>
          </div>
        </div>
      </div>
      <el-form :model="formData" label-width="80px">
        <el-form-item>
          <el-button type="primary" @click="submitForm">提交问卷</el-button>
          <el-button type="primary" @click="cache(true)">提交问卷</el-button>
          <el-button type="primary" @click="cache">缓存问卷</el-button>
        </el-form-item>
      </el-form>
    </div>
@@ -45,7 +73,9 @@
<script>
import {
  getExternalfollowup,
  SetsaveQuestionAnswer,
  getCachequestionnaire,
  Cachequestionnaire,
  Submitaquestionnaire,
} from "@/api/AiCentre/index";
import JSEncrypt from "jsencrypt";
export default {
@@ -74,25 +104,60 @@
  methods: {
    // èŽ·å–æ•°æ®
    getQuestionnaire() {
      let taskid = this.$route.query.param1;
      let patid = this.$route.query.param2;
      this.taskid = decodeURIComponent(this.$route.query.param1);
      this.patid = decodeURIComponent(this.$route.query.param2);
      this.taskname = this.$route.query.param3;
      // let taskid =
      //   "OFp7tn/B6x7IzKJetvGWHdSWBj7msRlnlj6am9dyuHTH6sEt4uBbVCUXs5kcF/e4O2W6vqHf2Bz9K3/evbYDmw==";
      // let patid =
      //   "CVk0j8O86AeCqhV5WPsBBYDg9fec0wDoDlP9imYK4wDBNIkxywZzMJEGlPagOxnq6qr2WYZo0U8MUGWRGnq8ZA==";
      this.taskid = this.decrypt(taskid);
      this.patid = this.decrypt(patid);
      // 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) => {
      // let taskids = this.encrypt(this.taskid);
      // let patids = this.encrypt(this.patid);
      console.log(this.$route.query.param1);
      console.log(this.$route.query.param2);
      // å…ˆå–缓存
      getCachequestionnaire({ param1: this.taskid, param2: this.patid }).then(
        (res) => {
        if (res.code == 200) {
          this.questionList = res.rows;
            this.questionList = res.data;
            if (this.questionList[0]) {
              this.questionList.forEach((item) => {
                if (item.scriptResult) {
                  item.scriptResult = JSON.parse(item.scriptResult);
        }
      });
              return;
            } else {
              this.getExternalfollowup();
            }
          } else {
            this.getExternalfollowup();
          }
        }
      );
    },
    getExternalfollowup() {
      getExternalfollowup({ param1: this.taskid, param2: this.patid }).then(
        (res) => {
          if (res.code == 200) {
            this.questionList = res.rows;
            // å¤„理题目收集结果格式
            this.questionList.forEach((item) => {
              item.nextScriptno = Number(item.nextScriptno);
              if (item.scriptType == 2) {
                item.scriptResult = [];
              }
            });
          }
        }
      );
    },
    // åŠ å¯†å‡½æ•°
    encrypt(txt) {
      const encryptor = new JSEncrypt();
@@ -109,37 +174,44 @@
    // æäº¤
    submitForm() {
      // æäº¤è¡¨å•逻辑
      console.log(this.questionList);
      let form = {
        param1: this.encrypt(this.taskid),
        param2: this.encrypt(this.patid),
        svyTasksingledetailList: [],
        param1: this.taskid,
        param2: this.patid,
        serviceSubtaskDetailList: [],
      };
      this.questionList.forEach((item) => {
        let optionarr = [];
        item.ivrLibaScriptTargetoptionList.forEach((option) => {
          optionarr.push(option.targetvalue);
      const arr = structuredClone(this.questionList);
      arr.forEach((item) => {
        item.asrtext = JSON.stringify(item.scriptResult);
        });
        let ivrTaskcalldetail = {
          asrtext: item.asrtext,
          valueType: item.valueType,
          scriptType: item.scriptType,
          questiontext: item.questiontext,
          questionvoice: item.questionvoice,
          scriptContent: item.scriptContent,
          targetoptions: optionarr.join(","),
        };
        form.svyTasksingledetailList.push(ivrTaskcalldetail);
      });
      console.log(form, "form");
      SetsaveQuestionAnswer(form).then((res) => {
      form.serviceSubtaskDetailList = arr;
      Submitaquestionnaire(form).then((res) => {
        if (res.code == 200) {
          this.$modal.msgSuccess("提交成功");
        }
      });
      // å¯ä»¥å°†æ•°æ®æäº¤åˆ°åŽç«¯æˆ–者进行其他处理
    },
    // ç¼“å­˜
    cache(subm) {
      let form = {
        param1: this.taskid,
        param2: this.patid,
        svyLibTemplateScriptVOS: [],
      };
      const arr = structuredClone(this.questionList);
      arr.forEach((item) => {
        item.scriptResult = JSON.stringify(item.scriptResult);
      });
      form.svyLibTemplateScriptVOS = arr;
      Cachequestionnaire(form).then((res) => {
        if (res.code == 200) {
          this.$modal.msgSuccess("提交成功");
          if (subm) {
            this.submitForm();
          }
        }
      });
    },
  },
};
</script>
src/views/outsideChainxj.vue
@@ -50,8 +50,8 @@
  methods: {
    // èŽ·å–æ•°æ®
    getQuestionnaire() {
      // let taskid = this.$route.query.param1;
      // let patid = this.$route.query.param2;
      this.taskid = this.$route.query.param1;
      this.patid = this.$route.query.param2;
      // // let taskid =
      // //   "OFp7tn/B6x7IzKJetvGWHdSWBj7msRlnlj6am9dyuHTH6sEt4uBbVCUXs5kcF/e4O2W6vqHf2Bz9K3/evbYDmw==";
      // // let patid =
@@ -63,11 +63,11 @@
      // // 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;
      //   }
      // });
      getExternalfollowup({ param1: this.taskid, param2: this.patid }).then((res) => {
        if (res.code == 200) {
          this.questionList = res.rows;
        }
      });
      // ä¸´æ—¶èŽ·å–æ•°æ®
      axios
        .get("http://192.168.1.10:8095/profile/upload/show/测试/测试.html")
src/views/patient/propaganda/Missioncreation.vue
@@ -602,7 +602,7 @@
      richText: "<p>Hello, <strong>world</strong>!</p>",
      // æ‚£è€…表单
      tableLabelhz: [
        { label: "序号", width: "", prop: "patid" },
        // { label: "序号", width: "", prop: "patid" },
        { label: "患者名称", width: "", prop: "name" },
        { label: "性别", width: "", prop: "sex" },
        { label: "年龄", width: "", prop: "age" },
@@ -889,7 +889,7 @@
          }
          this.$router.push({
            path: "/followvisit/tasklist",
            query: { tasktopic: 4 },
            query: { tasktopic: this.form.serviceType },
          });
        }
      });
src/views/patient/propaganda/QuestionnaireTask.vue
@@ -589,7 +589,7 @@
      questionList: [],
      // æ‚£è€…表单
      tableLabelhz: [
        { label: "序号", width: "", prop: "patid" },
        // { label: "序号", width: "", prop: "patid" },
        { label: "患者名称", width: "", prop: "name" },
        { label: "性别", width: "", prop: "sex" },
        { label: "年龄", width: "", prop: "age" },
@@ -884,7 +884,7 @@
          }
          this.$router.push({
            path: "/followvisit/tasklist",
            query: { tasktopic: 6 },
            query: { tasktopic: this.form.serviceType },
          });
        }
      });
@@ -943,7 +943,6 @@
      });
      if (this.patientqueryParams.allhosp == 1) {
        this.tableLabelhz = [
          { label: "序号", width: "", prop: "patid" },
          { label: "患者名称", width: "", prop: "name" },
          { label: "性别", width: "", prop: "sex" },
          { label: "年龄", width: "", prop: "age" },
@@ -954,7 +953,6 @@
        ];
      } else if (this.patientqueryParams.allhosp == 2) {
        this.tableLabelhz = [
          { label: "序号", width: "", prop: "patid" },
          { label: "患者名称", width: "", prop: "name" },
          { label: "性别", width: "", prop: "sex" },
          { label: "年龄", width: "", prop: "age" },
src/views/patient/propaganda/particty.vue
@@ -740,7 +740,6 @@
            value: "1",
            label: "人工",
          },
          {
            value: "3",
            label: "电话",
@@ -802,7 +801,6 @@
    // ä¿å­˜
    submitForm(formName) {
      this.form.preachform = this.checkList.join(",");
      // this.formatFn(1);
      if (!this.form.patTaskRelevances[0]) {
        this.$modal.msgError("请选择病人");
@@ -826,7 +824,10 @@
          } else {
            this.$modal.msgSuccess("修改成功");
          }
          this.$router.go(-1);
          this.$router.push({
            path: "/followvisit/tasklist",
            query: { tasktopic: this.form.serviceType },
          });
        }
      });
    },
@@ -888,7 +889,6 @@
      });
      if (this.patientqueryParams.allhosp == 1) {
        this.tableLabelhz = [
          { label: "序号", width: "", prop: "patid" },
          { label: "患者名称", width: "", prop: "name" },
          { label: "性别", width: "", prop: "sex" },
          { label: "年龄", width: "", prop: "age" },
@@ -899,7 +899,6 @@
        ];
      } else if (this.patientqueryParams.allhosp == 2) {
        this.tableLabelhz = [
          { label: "序号", width: "", prop: "patid" },
          { label: "患者名称", width: "", prop: "name" },
          { label: "性别", width: "", prop: "sex" },
          { label: "年龄", width: "", prop: "age" },
src/views/repositoryai/templateku/index.vue
@@ -4,7 +4,7 @@
    <div class="sidecolumn">
      <div class="sidecolumn-top">
        <div class="top-wj">模版类型</div>
        <div class="top-tj" @click="dialogFormVisible = true">+添加</div>
        <div class="top-tj" @click="Newcategory">+添加</div>
      </div>
      <div class="center-ss">
        <el-input
@@ -793,6 +793,13 @@
      this.classifyform = b;
      this.dialogFormVisible = true;
    },
    Newcategory() {
      this.classifyform = {}; //类别表单
        this.radio = "主分类";
      this.dialogFormVisible = true;
      this.zifon = true;
      this.zufon = true;
    },
    // é¢„览
    preview(row) {
      getvFollowup({ id: row.id }).then((res) => {
src/views/repositoryai/verbaltrick/index.vue
@@ -4,7 +4,7 @@
    <div class="sidecolumn">
      <div class="sidecolumn-top">
        <div class="top-wj">问题类型</div>
        <div class="top-tj" @click="dialogFormVisible = true">+添加</div>
        <div class="top-tj" @click="Newcategory">+添加</div>
      </div>
      <div class="center-ss">
        <el-input
@@ -188,12 +188,6 @@
              />
              <el-table-column
                label="问题内容"
                align="center"
                key="scriptContent"
                prop="scriptContent"
                width="200"
              /><el-table-column
                label="关联指标"
                align="center"
                key="targetname"
@@ -315,11 +309,11 @@
      </div>
    </div>
    <!-- æ·»åŠ ç±»åˆ«å¼¹æ¡† -->
    <el-dialog title="新增类别" width="30%" :visible.sync="dialogFormVisible">
    <el-dialog :title="title" width="30%" :visible.sync="dialogFormVisible">
      <div style="text-align: center; margin-bottom: 20px">
        <el-radio-group v-model="radio">
          <el-radio-button label="主分类"></el-radio-button>
          <el-radio-button label="子分类"></el-radio-button>
          <el-radio-button label="主分类" v-show="zifon"></el-radio-button>
          <el-radio-button label="子分类" v-show="zufon"></el-radio-button>
        </el-radio-group>
      </div>
      <el-divider></el-divider>
@@ -523,7 +517,7 @@
        },
      ],
      // å¼¹å‡ºå±‚标题
      title: "",
      title: "新增类别",
      // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
      open: false,
      // æ—¥æœŸèŒƒå›´
@@ -542,7 +536,8 @@
      indexopen: false, //弹框展示否
      propss: { multiple: true },
      radio: "主分类",
      zufon: true,
      zifon: true,
      usable: [],
      mode: [],
@@ -716,12 +711,23 @@
      this.dialogFormVisible = true;
      if (!b.pid) {
        this.radio = "主分类";
        this.title = "修改主分类";
        this.zufon = false;
      } else {
        this.radio = "子分类";
        this.title = "修改子分类";
        this.zifon = false;
      }
      this.classifyform = b;
      this.dialogFormVisible = true;
    },
    Newcategory(){
      this.classifyform= {}, //类别表单
      this.radio = "主分类";
     this.dialogFormVisible = true
     this.zifon = true;
     this.zufon = true;
    },
    // ç­›é€‰èŠ‚ç‚¹
    filterNode(value, data) {
vue.config.js
@@ -9,7 +9,7 @@
const name = process.env.VUE_APP_TITLE || '患者智慧服务系统' // ç½‘页标题
const port = process.env.port || process.env.npm_config_port || 8095 // ç«¯å£
const port = process.env.port || process.env.npm_config_port || 8096 // ç«¯å£
// vue.config.js é…ç½®è¯´æ˜Ž
//官方vue.config.js å‚考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
@@ -35,9 +35,9 @@
    proxy: {
      // detail: https://cli.vuejs.org/config/#devserver-proxy
      [process.env.VUE_APP_BASE_API]: {
        target: `http://192.168.1.10:8095`,
        target: `http://192.168.2.8:8095`,
        // target:`http://localhost:8095`,
        // target: `http://www.hxsoft.com:8080`,
        // target: `http://35z1t16164.qicp.vip`,
        changeOrigin: true,
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: ''