WXL
2024-07-04 245a9200ddaa5c2a9ab9f6a68969527bb121ec2f
测试完成
已添加1个文件
已修改4个文件
已重命名1个文件
220 ■■■■■ 文件已修改
src/assets/images/chainbackground1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/permission.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/outsideChainxj.vue 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/PatientChart.vue 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/outpatient.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/chainbackground1.jpg
Binary files differ
src/permission.js
@@ -8,8 +8,7 @@
NProgress.configure({ showSpinner: false })
const whiteList = ['/login', '/auth-redirect', '/bind', '/register', '/outsideChain']
const whiteList = ['/login', '/auth-redirect', '/bind', '/register', '/outsideChain','/outsideChainwt','/outsideChainxj']
router.beforeEach((to, from, next) => {
  NProgress.start()
  if (getToken()) {
src/router/index.js
@@ -52,6 +52,16 @@
    hidden: true
  },
  {
    path: '/outsideChainwt',
    component: () => import('@/views/outsideChainwt'),
    hidden: true
  },
  {
    path: '/outsideChainxj',
    component: () => import('@/views/outsideChainxj'),
    hidden: true
  },
  {
    path: '/previews',
    component: () => import('@/views/previews'),
    hidden: true
src/views/outsideChainxj.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/chainbackground1.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/patient/PatientChart.vue
@@ -1,7 +1,6 @@
<template>
    <div class="Questionnairemanagement">
  <div class="app-container">
      <!-- å³ä¾§æ•°æ® -->
          <el-row :gutter="20">
            <!--用户数据-->
            <el-col :span="24" :xs="24">
@@ -35,11 +34,7 @@
                    </el-option>
                  </el-select>
                </el-form-item>
                <el-form-item
                  label-width="138px"
                  label="主治医生"
                  prop="userName"
                >
          <el-form-item label-width="138px" label="主治医生" prop="userName">
                  <el-select v-model="queryParams.value3" placeholder="请选择">
                    <el-option
                      v-for="item in options"
@@ -91,10 +86,7 @@
                    @click="handleQuery"
                    >搜索</el-button
                  >
                  <el-button
                    icon="el-icon-refresh"
                    size="medium"
                    @click="resetQuery"
            <el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
                    >重置</el-button
                  >
                </el-form-item>
@@ -164,6 +156,7 @@
                </el-col>
                <!-- <el-col :span="1.5"> </el-col> -->
              </el-row>
              <el-table
                v-loading="loading"
                :data="userList"
@@ -220,9 +213,7 @@
                  :show-overflow-tooltip="true"
                >
                  <template slot-scope="scope">
                    <span v-for="item in scope.row.tagList"
                      >{{ item.tagname }}
                    </span>
              <span v-for="item in scope.row.tagList">{{ item.tagname }} </span>
                  </template>
                </el-table-column>
                <el-table-column
@@ -1020,7 +1011,6 @@
  
  <style lang="scss" scoped>
  .Questionnairemanagement {
    display: flex;
  }
  .sidecolumn {
    width: 180px;
@@ -1149,4 +1139,3 @@
    color: #de7897;
  }
  </style>
src/views/patient/patient/outpatient.vue
@@ -154,6 +154,7 @@
          </el-col>
          <!-- <el-col :span="1.5"> </el-col> -->
        </el-row>
        <el-table
          v-loading="loading"
          :data="userList"