浏览代码

修改文件

[plg137200.] 1 年之前
父节点
当前提交
0233227070

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "projectGynew2",
   "name": "projectGynew2",
-  "version": "1.1.9",
+  "version": "1.2.0",
   "author": "",
   "author": "",
   "description": "",
   "description": "",
   "license": null,
   "license": null,

+ 1 - 1
src/main/index.js

@@ -958,7 +958,7 @@ function startDocker() {
     console.log(data.toString())
     console.log(data.toString())
   })
   })
 }
 }
-startDocker()
+// startDocker()
 
 
 //关闭docker
 //关闭docker
 //启动docker
 //启动docker

+ 2 - 2
src/renderer/components/ManagePluse.vue

@@ -1,6 +1,6 @@
 <template>
 <template>
   <div class="main_right_height">
   <div class="main_right_height">
-    <TopDes :flag="false" topDesFont="认知行为干预记录"></TopDes>
+    <TopDes :flag="false" topDesFont="智能对话记录"></TopDes>
     <!-- <div>
     <!-- <div>
       <el-row>
       <el-row>
         <el-col :span="1">&nbsp;</el-col>
         <el-col :span="1">&nbsp;</el-col>
@@ -120,7 +120,7 @@
               :formatter="dateForMa"
               :formatter="dateForMa"
             ></el-table-column>
             ></el-table-column>
             <!-- <el-table-column prop="profession" label="职业"></el-table-column> -->
             <!-- <el-table-column prop="profession" label="职业"></el-table-column> -->
-            <el-table-column label="查看测试记录" align="center">
+            <el-table-column label="操作" align="center">
               <template slot-scope="scope">
               <template slot-scope="scope">
                 <el-button
                 <el-button
                   class="xl_d_button"
                   class="xl_d_button"

+ 16 - 0
src/renderer/components/Menu.vue

@@ -166,6 +166,22 @@
               :style="{ color: yhgl ? '#ffffff' : '#0FB577' }"
               :style="{ color: yhgl ? '#ffffff' : '#0FB577' }"
               >用户管理</span
               >用户管理</span
             >
             >
+          </el-menu-item>
+            <el-menu-item
+            index="/menu/managePluse"
+            v-show="userType === 2"
+            @click="menuManageClick('yhgy')"
+          >
+            <img
+              class="menu_icon_cla"
+              :src="require('@/assets/menuIcon/' + yhgyUrl)"
+            />
+            <span
+              slot="title"
+              class="menu_text_cla"
+              :style="{ color: yhgy ? '#ffffff' : '#0FB577' }"
+              >智能对话记录</span
+            >
           </el-menu-item>
           </el-menu-item>
           <!-- <el-menu-item
           <!-- <el-menu-item
             index="/menu/manageUserScale"
             index="/menu/manageUserScale"

文件差异内容过多而无法显示
+ 546 - 802
src/renderer/components/Smart1.vue


+ 0 - 605
src/renderer/components/Smart2.vue

@@ -1,605 +0,0 @@
-<template>
-  <div class="main_right_height">
-    <div class="smart_content">
-      <el-row>
-        <el-col :span="1">&nbsp;</el-col>
-        <el-col :span="22">
-          <div class="chat-window" id="contant1">
-            <div
-              class="chat-msg-content"
-              id="rongqi"
-              v-for="content in chatContents"
-              :key="content.index"
-            >
-              <div
-                v-if="content.from == 1"
-                :key="content.id"
-                class="main_answer_right"
-                style="margin-top: 10px"
-              >
-                <div class="img-wrapper">
-                  <img width="60px" heigth="60px" class="img" :src="from1" />
-                </div>
-                <div class="message-wrapper message-wrapper-left">
-                  <div class="message">{{ content.question }}</div>
-                </div>
-              </div>
-              <el-row v-else style="margin-top: 10px">
-                <el-col :span="10"> &nbsp; </el-col>
-                <el-col :span="14">
-                  <div class="main_answer_left" style="float: right">
-                    <div class="message-wrapper message-wrapper-right">
-                      <div class="message">{{ content.answer }}</div>
-                    </div>
-                    <div class="img-wrapper">
-                      <img
-                        width="60px"
-                        heigth="60px"
-                        class="img"
-                        :src="from2"
-                      />
-                    </div>
-                  </div>
-                </el-col>
-              </el-row>
-            </div>
-          </div>
-        </el-col>
-        <el-col :span="1">&nbsp;</el-col>
-      </el-row>
-      <div class="smart_line_class"></div>
-      <el-row v-show="inputFlag === 1" class="footSend">
-        <!-- <el-col :span="1"> &nbsp; </el-col> -->
-        <el-col :span="22">
-          <el-input
-            class="xl_input"
-            type="textarea"
-            resize="none"
-            placeholder="请输入内容"
-            v-model="desc"
-            show-word-limit
-            @keyup.enter.native="sendMsg"
-            clearable
-          >
-          </el-input>
-        </el-col>
-        <el-col :span="2" style="">
-          &nbsp;&nbsp;
-          <!-- {{sendMsgFlag}}
-            {{desc.length>0}}
-            !((!sendMsgFlag)||(desc.length>0)) -->
-          <el-button
-            :disabled="desc.length == 0 || buttonFlag"
-            class="xl_d_send"
-            @click="sendMsg"
-            >发送</el-button
-          >
-        </el-col>
-      </el-row>
-      <el-row v-show="inputFlag === 2" class="footSendSelect">
-        <el-col :span="1"> &nbsp; </el-col>
-        <el-col :span="22" style="margin-top: 20px; margin-bottom: 20px">
-          <div>
-            <el-radio
-              style="margin-top: 10px"
-              v-for="(item, index) in scale_checkItems"
-              :key="index"
-              v-model="radio"
-              :label="item"
-              fill="#57ACBB"
-              @change="selectRadio(item)"
-              >{{ item }}</el-radio
-            >
-          </div></el-col
-        >
-        <el-col :span="1"> &nbsp; </el-col>
-      </el-row>
-      <el-row v-show="inputFlag === 3" class="footSendSelect">
-        <el-col :span="1"> &nbsp; </el-col>
-        <el-col :span="22" style="margin-top: 20px; margin-bottom: 20px">
-          <div>
-            <el-radio
-              :disabled="!scaleSelectFlag"
-              style="margin-top: 10px"
-              v-for="(item, index) in scale_checkItems"
-              :key="index"
-              v-model="radio"
-              :label="item"
-              fill="#57ACBB"
-              @change="choiceTriger(item)"
-              >{{ item }}</el-radio
-            >
-          </div></el-col
-        >
-        <el-col :span="1"> &nbsp; </el-col>
-      </el-row>
-    </div>
-  </div>
-</template>
-<script>
-import HeadImg from "@/assets/lion.png";
-import HeadImg1 from "@/assets/persion.png";
-import axios from "axios";
-const HTTP_AXIOS = axios.create();
-export default {
-  data() {
-    return {
-      buttonFlag: false,
-      pageNum: 1,
-      pageSize: 10,
-      tmpRadio: "",
-      radio: "",
-      inputFlag: 1,
-      desc: "",
-      from1: HeadImg,
-      from2: HeadImg1,
-      chatContents: [],
-      //前三个问题
-      preList: [],
-      questionList: [
-        { index: 1, des: "能描述一下您最近训练的内容吗?", type: "1-2" },
-      ],
-      //随机的4个数集合
-      radomNumList: [],
-      questionNum: 0,
-
-      //随机4个问题的集合
-      randomQuestion: [],
-      //随机4个答案的集合
-      randomAnswer: [],
-      //全部题目
-      scale_infos: [{ answer: "" }],
-      //题目总数
-      scale_all: 0,
-      scale_checkItems: [],
-      //进度参数
-      scale_percent: [],
-      //
-      scale_index: 0,
-      // 答案数据
-      scale_result: [],
-
-      //检测情绪前的发送数据条数
-      threeAnswers: [],
-
-      //负面情绪标志
-      moonNegative: 0,
-      scale_flag: "",
-      pressure_flag: "",
-      sendMsgFlag: true,
-      scaleSelectFlag: true,
-
-      flagTime: null,
-      printIndex: 0,
-    };
-  },
-  created() {},
-  mounted() {
-    this.init();
-    // this.selectScale("20220805135201");
-  },
-  methods: {
-    init() {
-      //进入页面后先执行查询前50条数据的接口
-      // this.selectPage();
-    },
-    //查询记录的方法
-    selectPage() {
-      this.$http.post(
-        `///`,
-        {
-          pageNum: this.pageNum,
-          pageSize: this.pageSize,
-        },
-        (res) => {
-          if (res.data.code == 200) {
-          } else {
-          }
-        }
-      );
-      for (let i = 0; i < 5; i++) {
-        this.chatContents.push({
-          from: 1,
-          question: "对话内容" + i,
-          from1: HeadImg,
-        });
-        this.chatContents.push({
-          from: 2,
-          answer: "对话内容" + i,
-          from1: HeadImg,
-        });
-      }
-      //手动加10条
-    },
-    sleep(time) {
-      return new Promise((resolve) => setTimeout(resolve, time));
-    },
-
-    sendMsg() {
-      this.sendMsgFlag = false;
-      let contant1 = document.getElementById("contant1");
-      let tmp = {
-        from: 2,
-        answer: this.desc,
-        from1: HeadImg,
-      };
-      this.chatContents.push(tmp);
-      this.getQuestion();
-      // 让滚动条始终在最底部
-      this.sleep(101).then(() => {
-        contant1.scrollTop = contant1.scrollHeight;
-      });
-      this.desc = "";
-      //立马调用
-      //进行提问的接口
-      //第一个问题出来后先对答案进行解析
-    },
-    //获取问题的接口//需要传输上下文关系,应该是需要上一个问题回答的是啥
-    getQuestion() {
-      let that = this;
-      that.buttonFlag = true;
-
-      //循环当前问题
-      let list = [];
-      for (let i = 0; i < this.chatContents.length; i++) {
-        if (this.chatContents[i].from == 1) {
-          list.push(this.chatContents[i].question);
-        } else {
-          list.push(this.chatContents[i].answer);
-        }
-        // list.push(chatContents.question)
-      }
-      // 进入页面后调用加载中的方法
-      //三个点轮询播放
-      this.chatContents.push({
-        from: 1,
-        question: "",
-        from1: HeadImg,
-      });
-      this.pFun("......", false);
-      //`http://127.0.0.1:9999/chat`
-      HTTP_AXIOS({
-        method: "post",
-        url: `http://127.0.0.1:9999/chat`,
-        data: { text: list },
-        timeout: 300000,
-      })
-        .then((res) => {
-          if (res) {
-            // this.chatContents.push({
-            //   from: 1,
-            //   question: res.data.response,
-            //   from1: HeadImg,
-            // });
-            
-            let contant1 = document.getElementById("contant1");
-            this.sleep(101).then(() => {
-              contant1.scrollTop = contant1.scrollHeight;
-            });
-
-            clearInterval(this.flagTime);
-            this.pFun(res.data.response, true);
-            //请求成功后返回的参数
-            //console.log(res);
-          }
-        })
-        .catch((error) => {
-          if (error.config.timeout == 300000) {
-            Message.error("请求超时,请检查网络");
-          } else {
-            console.log(error);
-          }
-        });
-    },
-    pFun(val, flag) {
-      let that = this;
-      //3个循环播放
-      this.chatContents[this.chatContents.length - 1].question = "";
-      this.printIndex = 0;
-      let a = val;
-      clearInterval(this.flagTime);
-      this.flagTime = setInterval(
-        () => {
-          if (this.printIndex < a.length) {
-            this.chatContents[this.chatContents.length - 1].question +=
-              a.charAt(this.printIndex);
-            this.printIndex++;
-          } else {
-            if (flag) {
-              that.buttonFlag = false;
-              //清除定时器
-              let contant1 = document.getElementById("contant1");
-              this.sleep(101).then(() => {
-                contant1.scrollTop = contant1.scrollHeight;
-              });
-              clearInterval(this.flagTime);
-            } else {
-              this.printIndex = 0;
-              this.chatContents[this.chatContents.length - 1].question = ".";
-            }
-          }
-        },
-        flag ? 60 : 300
-      );
-    },
-
-    //保存记录的接口
-    // saveRecord(val) {
-    //   this.$http.post(
-    //     `///`,
-    //     {
-    //       data: val,
-    //     },
-    //     (res) => {
-    //       if (res.data.code == 200) {
-    //       } else {
-    //       }
-    //     }
-    //   );
-    // },
-    //调用接口查询情绪
-    selectMood(val) {
-      // this.sendMsgFlag=true;
-      let that = this;
-      axios
-        .post(`http://127.0.0.1:9999/sentiment`, { text: val })
-        .then((res) => {
-          that.sendMsgFlag = true;
-          that.threeAnswers.push(res.data.sentiment);
-          //是否问问题的标志
-          //当答案小于3时需要接着提问
-          if (that.threeAnswers.length < 3) {
-            that.askQuestions();
-          } else if (that.threeAnswers.length === 3) {
-            //当等于3时需要判断是否接着提问
-            //当负面情绪小于2时则终止询问
-            //当负面情绪大于等于2时需要再次提问
-            that.judgeMood(2);
-          } else if (that.threeAnswers.length === 4) {
-            //当问题等于4时再次询问
-            that.askQuestions();
-          } else if (that.threeAnswers.length === 5) {
-            //调用判断结果负面情绪是否大于等于3
-            that.judgeMood(3);
-          }
-
-          //当回答的答案大于等于3时判断是否结束,当负面情绪大于等于2时
-          // that.judgeMood();
-        });
-    },
-    askEnd(val) {
-      this.chatContents.push({
-        from: 1,
-        question: val,
-        from1: HeadImg,
-      });
-      let contant1 = document.getElementById("contant1");
-      this.sleep(101).then(() => {
-        contant1.scrollTop = contant1.scrollHeight;
-      });
-    },
-    answerSelect(val) {
-      this.chatContents.push({
-        from: 2,
-        answer: val,
-        from1: HeadImg,
-      });
-    },
-    askQuestions() {
-      this.chatContents.push({
-        from: 1,
-        question: this.preList[this.threeAnswers.length].des,
-        from1: HeadImg,
-      });
-      this.questionNum++;
-    },
-    goBack() {
-      this.$router.go(-1);
-    },
-  },
-};
-</script>
-<style scoped>
-.mainTable-top {
-  margin-top: 5%;
-}
-.mainTable-top-two {
-  margin-top: 10%;
-}
-.mainTable-tab {
-  cursor: pointer;
-  margin-left: 100px;
-  margin-right: 100px;
-  border-radius: 5px;
-  border: 1px solid #000000;
-  text-align: center;
-  height: 150px;
-  margin-bottom: 100px;
-}
-.mainTable-tab-p {
-  padding-top: 40px;
-}
-.musicTitle {
-  display: block;
-  font-size: 18px;
-  color: #57acbb;
-  margin-bottom: 5px;
-}
-.main_answer_left {
-  display: flex;
-  /* text-align: left; */
-}
-.main_answer_right {
-  display: flex;
-  /* text-align: right; */
-}
-.message-wrapper {
-  background-color: #ffffff;
-}
-.message-wrapper-left {
-  margin-left: 10px;
-  /* border-radius: 0 1rem 1rem 1rem; */
-  border-radius: 4px 4px 4px 4px;
-  max-width: 20.86667rem;
-  display: inline-table;
-}
-.message-wrapper-right {
-  margin-right: 10px;
-  border-radius: 4px 4px 4px 4px;
-  max-width: 20.86667rem;
-  display: inline-table;
-  background-color: #1fd18e;
-  color: #ffffff;
-  /* margin-top: 25px; */
-}
-.message {
-  word-break: break-all;
-  padding: 18px;
-  /* font-size: 20px; */
-}
-
-.xl_d_button {
-  background: rgb(87, 172, 187);
-  opacity: 1;
-  border-radius: 50%;
-  font-size: 20px;
-  font-family: PingFang SC;
-  font-weight: 400;
-  color: #ffffff;
-  width: 40px;
-  line-height: 40px;
-  text-align: center;
-}
-.xl_d_button:hover {
-  background: rgb(87, 172, 187);
-  opacity: 1;
-  /* border-radius: 18px; */
-  font-size: 14px;
-  font-family: PingFang SC;
-  font-weight: 400;
-  color: #ffffff;
-}
-.xl_d_button:focus {
-  background: rgb(87, 172, 187);
-  opacity: 1;
-  /* border-radius: 18px; */
-  font-size: 14px;
-  font-family: PingFang SC;
-  font-weight: 400;
-  color: #ffffff;
-}
-.refrshSmart {
-  float: right;
-  cursor: pointer;
-}
-.xl_input >>> .el-input__inner {
-  border: 0;
-  border-radius: 4px;
-  background-color: #f4f4f4;
-}
-.footSend {
-  background: #ffffff;
-  position: absolute;
-  height: 80px;
-  margin-left: 2%;
-  width: 90%;
-  border-radius: 14px;
-  bottom: 50px;
-}
-.smart_line_class {
-  /* background: #BBC5D4; */
-  position: absolute;
-  height: 1px;
-  margin-left: 2%;
-  width: 90%;
-  border-radius: 14px;
-  bottom: 150px;
-  border-bottom: 1px solid #bbc5d4;
-}
-.footSend >>> .el-textarea__inner {
-  border: 0px solid #ffffff !important;
-  border-radius: 14px !important;
-}
-.footSendSelect {
-  background: #ffffff;
-  /* padding-bottom: 40px; */
-  position: absolute;
-  margin-left: 2%;
-  width: 90%;
-  bottom: 40px;
-}
-.xl_d_send {
-  margin-top: 18px;
-  color: #087b50;
-  background: #c6f0ed !important;
-  opacity: 1;
-  font-size: 14px;
-  font-family: PingFang SC;
-  font-weight: 400;
-  text-align: center;
-  border: 0px;
-  border-radius: 10px;
-}
-.xl_d_send:hover {
-  margin-top: 18px;
-  color: #087b50;
-  background: #c6f0ed !important;
-  opacity: 1;
-  font-size: 14px;
-  font-family: PingFang SC;
-  font-weight: 400;
-  text-align: center;
-  border-radius: 10px;
-}
-.xl_d_send:focus {
-  margin-top: 18px;
-  color: #087b50;
-  background: #c6f0ed !important;
-  opacity: 1;
-  font-size: 14px;
-  font-family: PingFang SC;
-  font-weight: 400;
-  text-align: center;
-  border-radius: 10px;
-}
-.xl_d_send.is-disabled,
-.xl_d_send.is-disabled:hover,
-.xl_d_send.is-disabled:focus {
-  margin-top: 18px;
-  color: #087b50;
-  background: #c6f0ed !important;
-  opacity: 1;
-  font-size: 14px;
-  font-family: PingFang SC;
-  font-weight: 400;
-  text-align: center;
-  border-radius: 10px;
-}
-
-.main_right_height {
-  /* padding:40px; */
-  height: 100vh !important;
-  display: block !important;
-  overflow-y: auto !important;
-  background-color: #ffffff;
-}
-
-.smart_content {
-  height: 88%;
-  margin-top: 5%;
-  width: 94%;
-  margin-left: 3%;
-  border-radius: 40px;
-  background: #f6f6f6;
-}
-.chat-window {
-  height: 70vh;
-  overflow: auto;
-  /* overflow-y:hidden; */
-}
-
-/* .contant1{
- height:70vh;
-  overflow:auto;
-} */
-</style>

+ 1680 - 0
src/renderer/components/Smart3.vue

@@ -0,0 +1,1680 @@
+<template>
+  <div class="main_right_height">
+    <div class="smart_content">
+      <el-row>
+        <el-col :span="1">&nbsp;</el-col>
+        <el-col :span="22">
+          <div class="chat-window" id="contant1">
+            <div
+              class="chat-msg-content"
+              id="rongqi"
+              v-for="content in chatContents"
+              :key="content.index"
+            >
+              <div
+                v-if="content.from == 1"
+                :key="content.id"
+                class="main_answer_right"
+                style="margin-top: 10px"
+              >
+                <div class="img-wrapper">
+                  <img width="60px" heigth="60px" class="img" :src="from1" />
+                </div>
+                <div class="message-wrapper message-wrapper-left">
+                  <div class="message">{{ content.question }}</div>
+                </div>
+              </div>
+
+              <el-row v-else style="margin-top: 10px">
+                <el-col :span="10"> &nbsp; </el-col>
+                <el-col :span="14">
+                  <div class="main_answer_left" style="float: right">
+                    <div class="message-wrapper message-wrapper-right">
+                      <div class="message">{{ content.answer }}</div>
+                    </div>
+                    <div class="img-wrapper">
+                      <img
+                        width="60px"
+                        heigth="60px"
+                        class="img"
+                        :src="from2"
+                      />
+                    </div>
+                  </div>
+                </el-col>
+              </el-row>
+            </div>
+          </div>
+        </el-col>
+        <el-col :span="1">&nbsp;</el-col>
+      </el-row>
+      <div class="smart_line_class"></div>
+      <el-row v-show="inputFlag === 1" class="footSend">
+        <el-col :span="22">
+          <el-input
+            class="xl_input"
+            type="textarea"
+            resize="none"
+            placeholder="请输入内容"
+            v-model="desc"
+            show-word-limit
+            @keyup.enter.native="sendMsg"
+            clearable
+          >
+          </el-input>
+        </el-col>
+        <el-col :span="2" style="">
+          &nbsp;&nbsp;
+          <!-- {{sendMsgFlag}}
+            {{desc.length>0}}
+            !((!sendMsgFlag)||(desc.length>0)) -->
+          <el-button
+            :disabled="desc.length == 0 || buttonFlag"
+            class="xl_d_send"
+            @click="sendMsg"
+            >发送</el-button
+          >
+        </el-col>
+      </el-row>
+
+      <el-row v-show="inputFlag === 2" class="footSendSelect">
+        <el-col :span="1"> &nbsp; </el-col>
+        <el-col :span="22" style="margin-top: 20px; margin-bottom: 20px">
+          <div>
+            <el-radio
+              style="margin-top: 10px"
+              v-for="(item, index) in scale_checkItems"
+              :key="index"
+              v-model="radio"
+              :label="item"
+              fill="#57ACBB"
+              @change="selectRadio(item)"
+              :disabled="!showPrintFlag"
+              >{{ item }}</el-radio
+            >
+          </div></el-col
+        >
+        <el-col :span="1"> &nbsp; </el-col>
+      </el-row>
+      <el-row v-show="inputFlag === 3" class="footSendSelect">
+        <el-col :span="1"> &nbsp; </el-col>
+        <el-col :span="22" style="margin-top: 20px; margin-bottom: 20px">
+          <div>
+            <el-radio
+              :disabled="!(scaleSelectFlag && showPrintFlag)"
+              style="margin-top: 10px"
+              v-for="(item, index) in scale_checkItems"
+              :key="index"
+              v-model="radio"
+              :label="item"
+              fill="#57ACBB"
+              @change="choiceTriger(item)"
+              >{{ item }}</el-radio
+            >
+          </div></el-col
+        >
+        <el-col :span="1"> &nbsp; </el-col>
+      </el-row>
+      <el-row v-show="inputFlag === 4" class="footSendSelect">
+        <el-col :span="1"> &nbsp; </el-col>
+        <el-col :span="22" style="margin-top: 20px; margin-bottom: 20px">
+          <div class="smart_mul_button">
+            <el-button @click="isMood(2)">抑郁</el-button>
+            <el-button @click="isMood(1)">焦虑</el-button>
+            <el-button @click="isMood(4)">应激</el-button>
+            <el-button @click="isMood(3)">睡眠</el-button>
+            <!-- <el-checkbox-group v-model="emotionMul">
+            <el-checkbox
+              @change="mulItem(item.name)"
+              v-for="item in scale_MulItems"
+              :label="item.name"
+              :disabled="item.disable"
+              :key="item.name"
+              >{{ item.name }}</el-checkbox
+            >
+          </el-checkbox-group>
+          &nbsp;&nbsp;&nbsp;&nbsp;<el-button
+            @click="selectionComplete"
+            size="mini"
+            class="smart_mul_button_select"
+            :disabled="emotionMul.length == 0"
+            >确认选择</el-button
+          > -->
+          </div>
+        </el-col>
+        <el-col :span="1"> &nbsp; </el-col>
+      </el-row>
+    </div>
+  </div>
+</template>
+<script>
+import HeadImg from "@/assets/lion.png";
+import HeadImg1 from "@/assets/persion.png";
+import axios from "axios";
+export default {
+  data() {
+    return {
+      //是否已婚
+      ////已婚0  未婚  1  离异 2
+      married: "",
+      // this.scale_checkItems = ["抑郁", "焦虑", "压力", "睡眠问题", "无"];
+      emotionMul: [],
+      //多选复制体
+      emotionMulCopy: [],
+      scale_MulItems: [
+        { name: "抑郁", disable: false },
+        { name: "焦虑", disable: false },
+        { name: "压力", disable: false },
+        { name: "睡眠问题", disable: false },
+        { name: "无", disable: false },
+      ],
+      tmpRadio: "",
+      radio: "",
+      inputFlag: 1,
+      desc: "",
+      from1: HeadImg,
+      from2: HeadImg1,
+      chatContents: [],
+      //前三个问题
+      preList: [],
+      questionList: [
+        { index: 1, des: "能描述一下您最近训练的内容吗?", type: "1-2" },
+        { index: 2, des: "关于日常跳伞训练,能说说您的感受吗?", type: "1-2" },
+        {
+          index: 3,
+          des: "关于跨昼夜训练或夜间训练,能说说您的感受吗?",
+          type: "1-2",
+        },
+        { index: 4, des: "您对异地驻训有什么看法?", type: "1-2" },
+        {
+          index: 5,
+          des: "异地驻训对您的生活是否产生了较大影响?如果是的话,请您简单说说产生了哪些有影响。",
+          type: "2-2",
+        },
+        {
+          index: 6,
+          des: "能说说您对训练中难以避免受伤的看法吗?",
+          type: "2-2",
+        },
+        {
+          index: 7,
+          des: "您对您目前的训练成绩满意吗?有什么对工作安排或任务的意见吗?",
+          type: "2-2",
+        },
+        {
+          index: 8,
+          des: "回想一下初次跳伞,您现在的感受是什么?",
+          type: "2-2",
+        },
+        {
+          index: 9,
+          des: "您在训练中发生过事故吗?如果有,说说您的感受吧。",
+          type: "2-2",
+        },
+        {
+          index: 10,
+          des: "您觉得现在工作或训练强度大吗?说说您的感受吧。",
+          type: "2-2",
+        },
+        {
+          index: 11,
+          des: "您在训练中受过伤吗?受伤是否影响到您的职业发展了?简单说说吧、",
+          type: "2-2",
+        },
+        {
+          index: 12,
+          des: "目前的生活工作环境您满意吗?能说说您的具体感受吗?",
+          type: "1-1",
+        },
+        {
+          index: 13,
+          des: "您对正常训练之外的其他日常保障工作有什么意见吗?说说您的感受吧。",
+          type: "2-1",
+        },
+        {
+          index: 14,
+          des: "您觉得正常训练之外的其他工作影响到你的正常训练了吗?如果是,说说具体原因吧。",
+          type: "2-1",
+        },
+        {
+          index: 15,
+          des: "工作中有什么让你觉得不高兴的事情吗?简单说说吧",
+          type: "2-1",
+        },
+        {
+          index: 16,
+          des: "能描述一下您对您目前职业的看法吗?",
+          type: "1-1",
+        },
+        {
+          index: 17,
+          des: "您在工作中能保持专注吗?描述一下您在工作中的精神状态吧。",
+          type: "1-1",
+        },
+        {
+          index: 18,
+          des: "您觉得您现在的职级和您付出的努力匹配吗?简单说说您的看法吧。",
+          type: "1-3",
+        },
+        {
+          index: 19,
+          des: "您觉得您的工作得到了上级的认可吗?简单说说您对上级的看法吧。",
+          type: "1-3",
+        },
+        {
+          index: 20,
+          des: "您对现在的职业晋升状态满意吗?有什么想法吗?",
+          type: "1-3",
+        },
+        {
+          index: 21,
+          des: "您觉得您在单位发挥了应有的价值吗?简单说说您的看法吧。",
+          type: "1-3",
+        },
+        {
+          index: 22,
+          des: "您跟同事之间的关系和谐吗?",
+          type: "1-3",
+        },
+        {
+          index: 23,
+          des: "能说说您对于同事的看法或者感受吗?",
+          type: "2-3",
+        },
+        {
+          index: 24,
+          des: "有什么引起您和同事之间不愉快的事情吗?简单描述一下吧。",
+          type: "2-3",
+        },
+        {
+          index: 25,
+          des: "您曾经在单位生过病吗?得到同事的照顾了吗?",
+          type: "2-3",
+        },
+        {
+          index: 26,
+          des: "能简单说说您对同事的评价吗?",
+          type: "2-3",
+        },
+        {
+          index: 27,
+          des: "能描述一下您对您所在集体的看法吗?",
+          type: "2-3",
+        },
+        {
+          index: 28,
+          des: "您对周围的同事有什么不满吗?如果有,说说原因吧。",
+          type: "2-3",
+        },
+        {
+          index: 29,
+          des: "简单描述一下您的睡眠质量或者睡眠状况吧。",
+          type: "1-4",
+        },
+        {
+          index: 30,
+          des: "您的睡眠质量好吗?如果不好,说说原因吧。",
+          type: "1-4",
+        },
+        {
+          index: 31,
+          des: "您平时有情绪低落的时候吗?如果有的话简单描述一下让您情绪低落的事情吧。",
+          type: "2-4",
+        },
+        {
+          index: 32,
+          des: "能说说您的未来人生规划吗?",
+          type: "1-4",
+        },
+        {
+          index: 33,
+          des: "能描述一下您对未来的期望吗?或者对未来的看法。",
+          type: "2-4",
+        },
+        {
+          //能描述一下您的精神恍状态或身体状态吗
+          index: 34,
+          des: "能描述一下您的精神状态或身体状态吗?",
+          type: "2-4",
+        },
+        {
+          index: 35,
+          des: "能说说您在工作之外的业余生活吗?",
+          type: "1-4",
+        },
+        {
+          index: 36,
+          des: "您有过在工作期间亲人生病无法照顾的经历吗?对此,您有什么想法呢。",
+          type: "1-5",
+        },
+        {
+          index: 37,
+          des: "您有过在工作期间亲人亡故的经历吗?对此,您有什么想法呢。",
+          type: "2-5",
+        },
+        {
+          index: 38,
+          des: "您对目前从事的工作满意吗?能简答说说您对目前从事工作的看法吗。",
+          type: "2-1",
+        },
+        {
+          index: 39,
+          des: "您现在的工作压力大吗?能描述一下给您带来压力的事情吗?",
+          type: "2-1",
+        },
+        {
+          index: 40,
+          des: "您考虑过调动单位吗?如果有,能说说原因吗。",
+          type: "1-1",
+        },
+        {
+          index: 41,
+          des: "您考虑过调动转业吗?如果有,能说说原因吗。",
+          type: "1-1",
+        },
+        {
+          index: 42,
+          des: "能说说您的夫妻关系状况吗?作为一名空降兵,是否影响到您的夫妻关系了?",
+          type: "1-6",
+        },
+        {
+          index: 43,
+          des: "您的家庭亲子关系和谐吗?孩子能理解您的工作吗?",
+          type: "2-7",
+        },
+        {
+          index: 44,
+          des: "您现在是处于夫妻两地分居状态吗?如果是的话说说您对两地分居的看法吧。",
+          type: "1-6",
+        },
+        {
+          index: 45,
+          des: "您的工作得到妻子或家人的支持了吗?可以简答描述一下他们吗?",
+          type: "1-6",
+        },
+        {
+          index: 46,
+          des: "您和配偶之间的沟通顺畅吗?简单描述一下您和配偶之间的沟通状态吧。",
+          type: "1-6",
+        },
+        {
+          index: 47,
+          des: "配偶能够理解并支持您的工作吗?简单描述一下吧。",
+          type: "1-6",
+        },
+        {
+          index: 48,
+          des: "您怎么看待为了工作,夫妻两地分居这件事?",
+          type: "2-6",
+        },
+        {
+          index: 49,
+          des: "能描述一下您在子女教育上的成就吗?",
+          type: "1-7",
+        },
+        {
+          index: 50,
+          des: "对于如何平衡工作和家庭,您有什么看法?",
+          type: "2-6",
+        },
+      ],
+      //随机的4个数集合
+      radomNumList: [],
+      questionNum: 0,
+
+      //随机4个问题的集合
+      randomQuestion: [],
+      //随机4个答案的集合
+      randomAnswer: [],
+      //全部题目
+      scale_infos: [{ answer: "" }],
+      //题目总数
+      scale_all: 0,
+      scale_checkItems: [],
+      //进度参数
+      scale_percent: [],
+      //
+      scale_index: 0,
+      // 答案数据
+      scale_result: [],
+
+      //检测情绪前的发送数据条数
+      threeAnswers: [],
+
+      //负面情绪标志
+      moonNegative: 0,
+      scale_flag: "",
+      pressure_flag: "",
+      sendMsgFlag: true,
+      scaleSelectFlag: true,
+      printFlag: null,
+      printIndex: 1,
+      showPrintFlag: true,
+    };
+  },
+  created() {},
+  mounted() {
+    this.married = sessionStorage.getItem("isMarried");
+    this.init("start");
+
+    // this.selectScale("20220805135201");
+  },
+  methods: {
+    isMood(id) {
+      this.$router.push({ path: "/menu/treatDepression", query: { id: id } });
+    },
+    mulItem(val) {
+      console.log(this.emotionMul);
+
+      //先判断是否是点击否,如果点击否
+      //则需要判断里边是否存在否
+      //如果里边不存在,选中后其他选项都置为空
+
+      if (val == "无") {
+        console.log(this.emotionMul.indexOf("无") == -1);
+        if (this.emotionMul.indexOf("无") == -1) {
+          //不存在
+          for (let i = 0; i < this.scale_MulItems.length; i++) {
+            this.scale_MulItems[i].disable = false;
+          }
+        } else {
+          //存在
+          this.emotionMul = ["无"];
+
+          //scale_MulItems
+          //循环问题
+          for (let i = 0; i < this.scale_MulItems.length; i++) {
+            if (this.scale_MulItems[i].name !== "无") {
+              this.scale_MulItems[i].disable = true;
+            }
+          }
+        }
+      }
+    },
+    init(val) {
+      if (val === "start") {
+        this.inputFlag = 1;
+        this.chatContents = [
+          {
+            from: 1,
+            question: "欢迎来到智能对话",
+            from1: HeadImg,
+          },
+          //接下来我们将进行测试
+          {
+            from: 1,
+            question: "接下来让我们聊一聊吧",
+            from1: HeadImg,
+          },
+        ];
+      } else {
+        this.chatContents.push({
+          from: 1,
+          question: "欢迎来到智能对话",
+          from1: HeadImg,
+        });
+        this.chatContents.push({
+          from: 1,
+          question: "接下来让我们聊一聊吧",
+          from1: HeadImg,
+        });
+      }
+      this.desc = "";
+      this.threeAnswers = [];
+      this.questionNum = 0;
+      this.scale_index = 0;
+      this.scale_result = [];
+
+      let contant1 = document.getElementById("contant1");
+      this.sleep(101).then(() => {
+        contant1.scrollTop = contant1.scrollHeight;
+      });
+      this.preList = [];
+      this.getDom();
+      console.log(this.preList);
+
+      //然后根据返回的数字判断取决定取那个列表
+      //然后循环得到判断当前有几个数,
+      //然后取随机数
+      //算的到一个数值
+      //逻辑应该先取6个值
+      // this.radomNumList = this.questionFun();
+      // this.chatContents.push({
+      //   from: 1,
+      //   question: this.questionList[this.radomNumList[this.questionNum]].des,
+      //   from1: HeadImg,
+      // });
+      this.chatContents.push({
+        from: 1,
+        question: this.preList[this.threeAnswers.length].des,
+        from1: HeadImg,
+      });
+      this.questionNum++;
+    },
+    sleep(time) {
+      return new Promise((resolve) => setTimeout(resolve, time));
+    },
+
+    sendMsg() {
+      //当判断总体上是true时,需要删除就不能发送信息
+
+      if (
+        !(this.sendMsgFlag && this.desc.trim().length > 0 && this.showPrintFlag)
+      ) {
+        return;
+      }
+      this.sendMsgFlag = false;
+      let contant1 = document.getElementById("contant1");
+      let tmp = {
+        from: 2,
+        answer: this.desc,
+        from1: HeadImg,
+      };
+      this.chatContents.push(tmp);
+      // 让滚动条始终在最底部
+      this.sleep(101).then(() => {
+        contant1.scrollTop = contant1.scrollHeight;
+      });
+
+      //第一个问题出来后先对答案进行解析
+      this.selectMood(this.desc);
+      this.desc = "";
+    },
+    //调用接口查询情绪
+    selectMood(val) {
+      // http://127.0.0.1:9998/sentiment
+      let that = this;
+      axios
+        .post(`http://192.168.219.88:9999/sentiment`, { text: [val] })
+        .then((res) => {
+          that.sendMsgFlag = true;
+          that.threeAnswers.push(res.data.sentiment);
+          //如果是已婚人员则判断七个中是否存在4个负面情绪
+          //0为已婚人员
+          if (this.married == "0") {
+            //判断当前答案是否够7个
+            //当问题答案等于7时判断当前有几个负面情绪
+            //如果负面情绪小于4则结束对话
+            //如果负面情绪大于等于4则接着问
+            //接着问的情况下当问题等于14是则需要判断后七个是否有4个负面情绪
+            // let num =that.preList.length-7
+            if (that.threeAnswers.length == 7) {
+              that.judgeMood();
+            } else if (that.threeAnswers.length == this.preList.length) {
+              that.judgeMood();
+            } else {
+              that.askQuestions();
+            }
+          } else {
+            if (that.threeAnswers.length == 5) {
+              that.judgeMood();
+            } else if (that.threeAnswers.length == this.preList.length) {
+              that.judgeMood();
+            } else {
+              that.askQuestions();
+            }
+          }
+        });
+    },
+    //当回答的答案大于等于3时判断是否结束,当负面情绪大于等于2时
+    judgeMood() {
+      // this.moonNegative = 0;
+      // for (let i = 0; i < this.threeAnswers.length; i++) {
+      //   if (
+      //     this.threeAnswers[i] === "厌恶" ||
+      //     this.threeAnswers[i] === "恐惧" ||
+      //     this.threeAnswers[i] === "悲伤" ||
+      //     this.threeAnswers[i] === "愤怒"
+      //   ) {
+      //     this.moonNegative += 1;
+      //   }
+      // }
+
+      //假如是已婚人员
+      if (this.married == "0") {
+        //根据数组长度判断,当数组长度为7时,需要判断负面情绪是否需要超过4个如果超过4个则继续提问
+        if (this.threeAnswers.length == 7) {
+          //判断有几个负面情绪
+          this.negativeEmo(-1);
+          if (this.moonNegative >= 4) {
+            this.supNegativeEmo();
+            this.askQuestions();
+          } else {
+            this.askEnd("您的心理状态良好请继续保持!");
+            this.inputFlag = 0;
+          }
+        } else if (this.threeAnswers.length == this.preList.length) {
+          //判断有几个负面情绪
+          this.negativeEmo(6);
+
+          let num = Math.ceil((this.preList.length - 7) / 2);
+          if (this.moonNegative >= num) {
+            this.startScale();
+          } else {
+            this.askEnd("您的心理状态良好请继续保持!");
+            this.inputFlag = 0;
+          }
+        }
+      } else {
+        if (this.threeAnswers.length == 5) {
+          //判断有几个负面情绪
+          this.negativeEmo(-1);
+          console.log(this.moonNegative);
+          if (this.moonNegative >= 3) {
+            this.supNegativeEmo();
+            this.askQuestions();
+          } else {
+            this.askEnd("您的心理状态良好请继续保持!");
+            this.inputFlag = 0;
+          }
+        } else if (this.threeAnswers.length == this.preList.length) {
+          //判断有几个负面情绪
+          this.negativeEmo(4);
+          let num = Math.ceil((this.preList.length - 5) / 2);
+          if (this.moonNegative >= num) {
+            this.startScale();
+          } else {
+            this.askEnd("您的心理状态良好请继续保持!");
+            this.inputFlag = 0;
+          }
+        }
+      }
+
+      //根据数组长度判断,当数组长度为14时,需要判断后七个负面情绪是否超过4个如果超过4个则做量表,如果小于4个则不做量表
+
+      //假如时未婚人员
+      //根据数组长度判断,当数组长度为5时,需要判断负面情绪是否需要超过3个如果超过3个则继续提问
+      //根据数组长度判断,当数组长度为10时,需要判断后七个负面情绪是否超过3个如果超过3个则做量表,如果小于3个则不做量表
+
+      // if (this.moonNegative >= val) {
+      //   if (val === 2) {
+      //     //需要再拿根据情绪生成两个数据
+      //     //如果是2个负面
+      //     //循环情绪得到判断哪一个是负面情绪
+      //     //this.supNegativeEmo()
+      //     for (let j = 0; j < this.threeAnswers.length; j++) {
+      //       if (
+      //         this.threeAnswers[j] === "厌恶" ||
+      //         this.threeAnswers[j] === "恐惧" ||
+      //         this.threeAnswers[j] === "悲伤" ||
+      //         this.threeAnswers[j] === "愤怒"
+      //       ) {
+      //         this.afterListFun(this.preList[j].type);
+      //       }
+      //     }
+      //     this.askQuestions();
+      //   } else {
+      //     console.log("需要进行选择提");
+      //     this.inputFlag = 4;
+      //     //进行提问
+      //     this.chatContents.push({
+      //       from: 1,
+      //       question: "请问您近期是否存在以下方面的困扰(请选择)",
+      //       from1: HeadImg,
+      //     });
+      //     this.scale_MulItems = [
+      //       { name: "抑郁", disable: false },
+      //       { name: "焦虑", disable: false },
+      //       { name: "压力", disable: false },
+      //       { name: "睡眠问题", disable: false },
+      //       { name: "无", disable: false },
+      //     ];
+      //     // this.scale_checkItems = ["抑郁", "焦虑", "压力", "睡眠问题", "无"];
+      //   }
+      // } else {
+      //   //发送一条信息说你的心理状态良好
+      //   this.askEnd("您的心理状态良好请继续保持!");
+      //   this.inputFlag = 0;
+      // }
+    },
+    //判断负面负面情绪有几个
+    //当传输参数为-1时是判断全部的负面情绪
+    //当传输参数为6是则是判断的后七位数组的情绪判断
+    negativeEmo(val) {
+      this.moonNegative = 0;
+      for (let i = 0; i < this.threeAnswers.length; i++) {
+        if (
+          this.threeAnswers[i] === "厌恶" ||
+          this.threeAnswers[i] === "恐惧" ||
+          this.threeAnswers[i] === "悲伤" ||
+          this.threeAnswers[i] === "愤怒"
+        ) {
+          if (i > val) {
+            this.moonNegative += 1;
+          }
+        }
+      }
+    },
+    supNegativeEmo() {
+      for (let j = 0; j < this.threeAnswers.length; j++) {
+        if (
+          this.threeAnswers[j] === "厌恶" ||
+          this.threeAnswers[j] === "恐惧" ||
+          this.threeAnswers[j] === "悲伤" ||
+          this.threeAnswers[j] === "愤怒"
+        ) {
+          //调用方法进行测试
+          this.afterListFun(this.preList[j].type);
+        }
+      }
+    },
+    startScale() {
+      this.inputFlag = 4;
+      //进行提问
+      this.chatContents.push({
+        from: 1,
+        question: "请问您近期是否存在以下方面的困扰(请选择)",
+        from1: HeadImg,
+      });
+      this.scale_MulItems = [
+        { name: "抑郁", disable: false },
+        { name: "焦虑", disable: false },
+        { name: "压力", disable: false },
+        { name: "睡眠问题", disable: false },
+        { name: "无", disable: false },
+      ];
+    },
+    selectRadio(val) {
+      // this.answerSelect(val);
+
+      //如果是包含 抑郁 焦虑  压力 在这其中,则
+      // if(this.emotionMulCopy.indexOf(val)!=-1){
+      //    this.answerSelect(this.emotionMulCopy.toString());
+      // }else{
+      //    this.answerSelect(val);
+      // }
+      if (val == "无") {
+        this.answerSelect("无");
+      }
+
+      if (val === "无") {
+        this.askEnd("您可能存在心理健康方面问题,建议寻求专业人员的指导");
+        this.inputFlag = 0;
+        //隐藏选项框和输入框进行提示
+      } else if (val === "睡眠问题") {
+        this.inputFlag = 3;
+        this.askEnd(
+          "为了进一步判断您是否存在睡眠方面的问题,下面我会问您一些问题,请您选择作答"
+        );
+        // this.askEnd("睡眠问卷");
+        this.scale_checkItems = ["好的"];
+        this.inputFlag = 2;
+        this.scale_flag = "20210910163158";
+        // this.selectScale(this.scale_flag);
+        //调用接口睡眠量表
+      } else if (val === "抑郁" || val === "焦虑" || val === "压力") {
+        if (val === "抑郁") {
+          this.pressure_flag = "抑郁";
+        }
+        if (val === "焦虑") {
+          this.pressure_flag = "焦虑";
+        }
+        if (val === "压力") {
+          this.pressure_flag = "压力";
+        }
+        this.inputFlag = 3;
+        this.askEnd(
+          "为了进一步判断您是否存在心理健康方面的问题,下面我会问您一些问题,请您选择作答"
+        );
+        // this.askEnd("抑郁、焦虑、压力问卷");
+        this.scale_checkItems = ["好的"];
+        this.inputFlag = 2;
+        this.scale_flag = "20220805135201";
+        // this.selectScale(this.scale_flag);
+        //调用接口抑郁焦虑压力问卷
+      } else if (val === "好的") {
+        this.inputFlag = 3;
+        // if(this.scale_flag==='20210910163158'){
+
+        // }
+        this.selectScale(this.scale_flag);
+      } else if (val === "是") {
+        //从头开始
+        this.init("reStart");
+        this.inputFlag = 1;
+      } else if (val === "否") {
+        //结束测试
+        this.askEnd("对话结束");
+        this.inputFlag = 0;
+      }
+    },
+    //点击用户选择完毕
+    selectionComplete() {
+      console.log(this.emotionMul);
+      //应该先判断是否包含 抑郁,焦虑,压力
+      //如果包含的话,需要将其存进数组
+      this.emotionMulCopy = [];
+      if (this.emotionMul.indexOf("抑郁") != -1) {
+        this.emotionMulCopy.push("抑郁");
+      }
+      if (this.emotionMul.indexOf("焦虑") != -1) {
+        this.emotionMulCopy.push("焦虑");
+      }
+      if (this.emotionMul.indexOf("压力") != -1) {
+        this.emotionMulCopy.push("压力");
+      }
+      console.log(this.emotionMulCopy);
+      this.judgeNum();
+      //假如选择了一个--不管是无,还是睡眠,还是焦虑
+    },
+    judgeNum() {
+      if (this.emotionMul.length == 1) {
+        let a = this.emotionMul[0];
+        this.selectRadio(a);
+        //清空选项
+        this.emotionMul = [];
+      } else if (this.emotionMul.length > 1) {
+        //判断是否含有睡眠字段
+        //如果含有睡眠字段
+        //且长度大于2时
+        if (this.emotionMul.indexOf("睡眠问题") != -1) {
+          if (this.emotionMul.length > 2) {
+            this.emotionMul = ["抑郁", "睡眠问题"];
+          }
+        } else {
+          this.emotionMul = ["抑郁"];
+        }
+
+        //选择的大于1
+        //假如选了两个抑郁,焦虑
+        let aLin = this.emotionMul[0];
+        this.selectRadio(aLin);
+        let a = [];
+        for (let i = 0; i < this.emotionMul.length; i++) {
+          if (i > 0) {
+            a.push(this.emotionMul[i]);
+          }
+        }
+        this.emotionMul = a;
+      }
+    },
+    choiceTriger(item) {
+      let that = this;
+      that.radioChange(item);
+    },
+    // 选中选项
+    radioChange(item) {
+      this.tmpRadio = item;
+      var scaleInfoTemp = Object.assign({}, this.scale_infos[this.scale_index]);
+      this.radio = "";
+      scaleInfoTemp.checkItems = item;
+      this.scale_result.push(scaleInfoTemp);
+      // bbc测试判断是否展示20~24题
+      if (
+        item != "是" &&
+        this.scale_flag == "20211101163739" &&
+        this.scale_index == 19
+      ) {
+        this.scale_index = 24;
+        for (let i = 20; i < 24; i++) {
+          this.scale_result.push(this.scale_infos[i]);
+        }
+        this.scale_checkItems =
+          this.scale_infos[this.scale_index].checkItems.split(";");
+        return;
+      }
+      //如果是单选题
+
+      if (scaleInfoTemp.questionType == "0") {
+        if (this.scale_index <= this.scale_infos.length - 1)
+          this.scale_index += 1;
+        this.answerSelect(this.tmpRadio);
+        //scale_index == 题目总数,表示结束
+        if (this.scale_index == this.scale_infos.length) {
+          this.scale_index -= 1;
+          this.scaleSelectFlag = false;
+
+          //发送测试结果给后台
+          // this.$message({
+          //   message: "测试完成,即将生成测试报告!",
+          //   type: "success",
+          // });
+
+          // console.log("==--3--------->", this.testPlanId);
+          console.log(
+            "==---4-------->",
+            sessionStorage.getItem("b80bb7740288fda1f201890375a60c8f")
+          );
+          this.$http.post(
+            `v1/result/${this.scale_flag}`,
+            {
+              scale_result: this.scale_result,
+
+              identifier: sessionStorage.getItem("num"),
+            },
+            (res) => {
+              this.next_and_last_button = false;
+
+              if (res.data.code == 200) {
+                this.resultJson = res.data.data;
+
+                if (this.scale_flag == "20210725100704") {
+                } else {
+                  this.getAnswerQuestionPaymentSuccess(this.resultJson);
+                }
+              } else {
+                this.$message.error("访问服务器失败!");
+              }
+            }
+          );
+        } else {
+          // 我觉得很难让自己安静下来
+          let a = this.scale_infos[this.scale_index].answer + "";
+          console.log(a);
+          //this.askEnd(this.scale_infos[this.scale_index].answer);
+          this.askEnd(a);
+          this.scale_checkItems =
+            this.scale_infos[this.scale_index].checkItems.split(";");
+        }
+      }
+    },
+
+    getAnswerQuestionPaymentSuccess(id) {
+      // sessionStorage.setItem("back_page", "1");
+      let _this = this;
+      _this.$http.post(`v1/record/find/${id}`, {}, (res) => {
+        _this.scaleSelectFlag = true;
+        if (res.data.code == 200 && res.data.data) {
+          _this.resultJsonParams = res.data.data;
+
+          let testResult = JSON.parse(
+            res.data.data.userRecordEntity.testResult
+          )[0].version;
+          if (_this.scale_flag === "20210910163158") {
+            let sleep = JSON.parse(
+              _this.resultJsonParams.userRecordEntity.testResult
+            );
+            sleep = sleep[0].newTableContext.result[0].improvementSuggestions;
+            _this.askEndMul(sleep);
+            if (_this.emotionMul.length == 0) {
+              _this.askEndMul("谢谢使用");
+              _this.inputFlag = 0;
+            } else {
+              _this.judgeNum();
+            }
+            // _this.askEnd("您还想跟我再聊一聊吗?");
+            // this.scale_checkItems = ["是", "否"];
+            // this.inputFlag = 2;
+          } else if (_this.scale_flag === "20220805135201") {
+            let sleep = JSON.parse(
+              _this.resultJsonParams.userRecordEntity.testResult
+            );
+            sleep = sleep[0].tableContext;
+            console.log(sleep);
+            let str = "";
+            for (let i = 0; i < sleep.length; i++) {
+              //if (_this.pressure_flag === "压力") {
+              // if(){}
+              if (sleep[i].name === "压力指导语") {
+                if (_this.emotionMulCopy.indexOf("压力") != -1) {
+                  //str = "压力建议:" + sleep[i].value[0] + " ";
+                  _this.askEndMul("压力建议:" + sleep[i].value[0] + " ");
+                }
+              }
+              //}
+              // if (_this.pressure_flag === "焦虑") {
+              if (sleep[i].name === "焦虑指导语") {
+                if (_this.emotionMulCopy.indexOf("焦虑") != -1) {
+                  // str = "焦虑建议:" + sleep[i].value[0] + " ";
+                  this.askEndMul("焦虑建议:" + sleep[i].value[0] + " ");
+                }
+              }
+              //}
+              //if (_this.pressure_flag === "抑郁") {
+              if (sleep[i].name === "抑郁指导语") {
+                if (_this.emotionMulCopy.indexOf("抑郁") != -1) {
+                  //str = "抑郁建议:" + sleep[i].value[0] + " ";
+                  this.askEndMul("抑郁建议:" + sleep[i].value[0] + " ");
+                }
+              }
+              //}
+            }
+            console.log(sleep);
+            // _this.askEnd(str);
+            if (_this.emotionMul.length == 0) {
+              _this.askEndMul("谢谢使用");
+              _this.inputFlag = 0;
+            } else {
+              _this.judgeNum();
+            }
+            // _this.askEnd("您还想跟我再聊一聊吗?");
+            // this.scale_checkItems = ["是", "否"];
+            // this.inputFlag = 0;
+            // this.inputFlag = 2;
+          }
+          // let testResult = JSON.parse(
+          //   res.data.data.userRecordEntity.testResult
+          // )[0].version;
+
+          // if (testResult == 2) {
+          //   _this.$router.push({
+          //     name: "scaleResultSCl",
+          //     params: { tableData: _this.resultJsonParams }
+          //   });
+          // } else {
+          //   _this.$router.push({
+          //     name: "scaleResult",
+          //     params: { tableData: _this.resultJsonParams }
+          //   });
+          // }
+        }
+      });
+    },
+    //调用查询量表的接口
+    //20210910163158  睡眠状况自评量表
+    //20220805135201 抑郁-焦虑-压力量表简版(DASS-21)
+
+    selectScale(flag) {
+      this.$http.get(`v1/scale/${flag}`, {}, (res) => {
+        //     this.desc = "";
+        // this.threeAnswers = [];
+        // this.questionNum = 0;
+        this.scale_index = 0;
+        this.scale_result = [];
+
+        this.scale_infos = res.data;
+        console.log(this.scale_infos);
+        this.scale_all = this.scale_infos.length;
+        this.askEnd(this.scale_infos[this.scale_index].answer);
+        this.scale_checkItems =
+          this.scale_infos[this.scale_index].checkItems.split(";");
+        console.log(this.scale_checkItems);
+        this.scale_percent = parseInt((this.scale_index + 1) / this.scale_all);
+        this.scale_percent = ((this.scale_index + 1) * 100) / this.scale_all;
+      });
+    },
+    askEndMul(val) {
+      this.chatContents.push({
+        from: 1,
+        question: val,
+        from1: HeadImg,
+      });
+      this.downPage();
+    },
+
+    downPage() {
+      let contant1 = document.getElementById("contant1");
+      this.sleep(101).then(() => {
+        contant1.scrollTop = contant1.scrollHeight;
+      });
+    },
+    answerSelect(val) {
+      this.chatContents.push({
+        from: 2,
+        answer: val,
+        from1: HeadImg,
+      });
+    },
+    askEnd(val) {
+      // this.chatContents.push({
+      //   from: 1,
+      //   question: val,
+      //   from1: HeadImg,
+      // });
+      this.chatContents.push({
+        from: 1,
+        question: "",
+        from1: HeadImg,
+      });
+      let a = val + "";
+      this.fun1(a);
+      console.log("askEnd");
+      // let contant1 = document.getElementById("contant1");
+      // this.sleep(101).then(() => {
+      //   contant1.scrollTop = contant1.scrollHeight;
+      // });
+    },
+    askQuestions() {
+      //每次询问时将回答的值传输给方法
+      //单字逐步显示
+      //调用方法
+
+      // this.chatContents.push({
+      //   from: 1,
+      //   question: this.preList[this.threeAnswers.length].des,
+      //   from1: HeadImg,
+      // });
+      this.chatContents.push({
+        from: 1,
+        question: "",
+        from1: HeadImg,
+      });
+      let a = this.preList[this.threeAnswers.length].des + "";
+      this.fun1(a);
+      console.log("askQuestions");
+      this.questionNum++;
+    },
+    fun1(val) {
+      this.showPrintFlag = false;
+      //+val
+      let a = "...";
+      this.printIndex = 0;
+
+      //判断如果存在printFlag
+      //直接清除该定时器
+      //结果直接给
+      //则直接输出
+      // if (this.printFlag !== null) {
+      //   clearInterval(this.printFlag);
+      //   this.printFlag = null;
+      //   this.chatContents[this.chatContents.length - 1].question = val;
+      // } else {
+      this.printFlag = setInterval(() => {
+        if (this.printIndex < a.length) {
+          this.chatContents[this.chatContents.length - 1].question += a.charAt(
+            this.printIndex
+          );
+          this.printIndex++;
+        } else {
+          clearInterval(this.printFlag);
+          this.chatContents[this.chatContents.length - 1].question = "";
+          this.fun2(val);
+        }
+      }, 300);
+      // }
+    },
+    fun2(val) {
+      //+val
+      let a = val;
+      this.printIndex = 0;
+      this.printFlag = setInterval(() => {
+        if (this.printIndex < a.length) {
+          this.chatContents[this.chatContents.length - 1].question += a.charAt(
+            this.printIndex
+          );
+          this.printIndex++;
+          this.downPage();
+        } else {
+          clearInterval(this.printFlag);
+          this.printFlag = null;
+          this.showPrintFlag = true;
+        }
+      }, 60);
+    },
+
+    goBack() {
+      this.$router.go(-1);
+    },
+    //判断是否是是已婚
+    //如果是已婚
+    //取随机数1-5否则取1-7
+    //格式为需要新加一个情绪判断
+    getDom() {
+      //判断是否是已婚
+      ////已婚0  未婚  1  离异 2
+
+      if (this.married == "0") {
+        //从7个中抽取3个
+        this.getDomList([1, 2, 3, 4, 5, 6, 7]);
+      } else {
+        //从5个中抽取三个
+        this.getDomList([1, 2, 3, 4, 5]);
+      }
+    },
+    //val抽取几个,totol总共数据
+    getDomList(arr) {
+      let stack = [];
+      while (arr.length) {
+        let index = parseInt(Math.random() * arr.length);
+        stack.push(arr[index]);
+        arr.splice(index, 1);
+      }
+      //循环的数组的到想要的那三个问题
+      for (let i = 0; i < stack.length; i++) {
+        this.switchFun(stack[i]);
+      }
+      return stack;
+    },
+
+    afterListFun(val) {
+      let listLin = [];
+      //this.preList[val].type
+      switch (val) {
+        case "1-1":
+          {
+            for (let i = 0; i < this.questionList.length; i++) {
+              if (this.questionList[i].type == "2-1") {
+                listLin.push(this.questionList[i]);
+              }
+            }
+            //根据获数组长度获取随机数
+            let len = parseInt(Math.random() * listLin.length);
+            this.preList.push(listLin[len]);
+          }
+          break;
+        case "1-2":
+          {
+            for (let i = 0; i < this.questionList.length; i++) {
+              if (this.questionList[i].type == "2-2") {
+                listLin.push(this.questionList[i]);
+              }
+            }
+            //根据获数组长度获取随机数
+            let len = parseInt(Math.random() * listLin.length);
+            this.preList.push(listLin[len]);
+          }
+          break;
+        case "1-3":
+          {
+            for (let i = 0; i < this.questionList.length; i++) {
+              if (this.questionList[i].type == "2-3") {
+                listLin.push(this.questionList[i]);
+              }
+            }
+            //根据获数组长度获取随机数
+            let len = parseInt(Math.random() * listLin.length);
+            this.preList.push(listLin[len]);
+          }
+          break;
+        case "1-4":
+          {
+            for (let i = 0; i < this.questionList.length; i++) {
+              if (this.questionList[i].type == "2-4") {
+                listLin.push(this.questionList[i]);
+              }
+            }
+            //根据获数组长度获取随机数
+            let len = parseInt(Math.random() * listLin.length);
+            this.preList.push(listLin[len]);
+          }
+          break;
+        case "1-5":
+          {
+            for (let i = 0; i < this.questionList.length; i++) {
+              if (this.questionList[i].type == "2-5") {
+                listLin.push(this.questionList[i]);
+              }
+            }
+            //根据获数组长度获取随机数
+            let len = parseInt(Math.random() * listLin.length);
+            this.preList.push(listLin[len]);
+          }
+          break;
+        case "1-6":
+          {
+            for (let i = 0; i < this.questionList.length; i++) {
+              if (this.questionList[i].type == "2-6") {
+                listLin.push(this.questionList[i]);
+              }
+            }
+            //根据获数组长度获取随机数
+            let len = parseInt(Math.random() * listLin.length);
+            this.preList.push(listLin[len]);
+          }
+          break;
+        case "1-7":
+          {
+            for (let i = 0; i < this.questionList.length; i++) {
+              if (this.questionList[i].type == "2-7") {
+                listLin.push(this.questionList[i]);
+              }
+            }
+            //根据获数组长度获取随机数
+            let len = parseInt(Math.random() * listLin.length);
+            this.preList.push(listLin[len]);
+          }
+          break;
+      }
+      console.log(this.preList);
+    },
+    switchFun(val) {
+      let listLin = [];
+      console.log(val);
+      // let listOne = [];
+      // if (numKey == 1) {
+      //   listOne = ["1-1", "1-2", "1-3", "1-4", "1-5", "1-6", "1-7"];
+      // } else {
+      //   listOne = ["2-1", "2-2", "2-3", "2-4", "2-5", "2-6", "2-7"];
+      // }
+      switch (val) {
+        case 1:
+          {
+            for (let i = 0; i < this.questionList.length; i++) {
+              if (this.questionList[i].type == "1-1") {
+                listLin.push(this.questionList[i]);
+              }
+            }
+            //根据获数组长度获取随机数
+            let len = parseInt(Math.random() * listLin.length);
+            this.preList.push(listLin[len]);
+          }
+          break;
+        case 2:
+          {
+            for (let i = 0; i < this.questionList.length; i++) {
+              if (this.questionList[i].type == "1-2") {
+                listLin.push(this.questionList[i]);
+              }
+            }
+            //根据获数组长度获取随机数
+            let len = parseInt(Math.random() * listLin.length);
+            this.preList.push(listLin[len]);
+          }
+          break;
+        case 3:
+          {
+            for (let i = 0; i < this.questionList.length; i++) {
+              if (this.questionList[i].type == "1-3") {
+                listLin.push(this.questionList[i]);
+              }
+            }
+            //根据获数组长度获取随机数
+            let len = parseInt(Math.random() * listLin.length);
+            this.preList.push(listLin[len]);
+          }
+          break;
+        case 4:
+          {
+            for (let i = 0; i < this.questionList.length; i++) {
+              if (this.questionList[i].type == "1-4") {
+                listLin.push(this.questionList[i]);
+              }
+            }
+            //根据获数组长度获取随机数
+            let len = parseInt(Math.random() * listLin.length);
+            this.preList.push(listLin[len]);
+          }
+          break;
+        case 5:
+          {
+            for (let i = 0; i < this.questionList.length; i++) {
+              if (this.questionList[i].type == "1-5") {
+                listLin.push(this.questionList[i]);
+              }
+            }
+            //根据获数组长度获取随机数
+            let len = parseInt(Math.random() * listLin.length);
+            this.preList.push(listLin[len]);
+          }
+          break;
+        case 6:
+          {
+            for (let i = 0; i < this.questionList.length; i++) {
+              if (this.questionList[i].type == "1-6") {
+                listLin.push(this.questionList[i]);
+              }
+            }
+            //根据获数组长度获取随机数
+            let len = parseInt(Math.random() * listLin.length);
+            this.preList.push(listLin[len]);
+          }
+          break;
+        case 7:
+          {
+            for (let i = 0; i < this.questionList.length; i++) {
+              if (this.questionList[i].type == "1-7") {
+                listLin.push(this.questionList[i]);
+              }
+            }
+            //根据获数组长度获取随机数
+            let len = parseInt(Math.random() * listLin.length);
+            this.preList.push(listLin[len]);
+          }
+          break;
+      }
+    },
+    questionFun() {
+      let tmp = [];
+      let value = null;
+      let flag = true;
+      while (flag) {
+        if (tmp.length === 0) {
+          value = Math.floor(Math.random() * 49);
+          tmp.push(value);
+        } else {
+          value = Math.floor(Math.random() * 49);
+          let repeat = false; //是否重复
+          for (let i = 0; i < tmp.length; i++) {
+            if (value == tmp[i]) {
+              repeat = true;
+              break;
+            }
+          }
+          if (!repeat && tmp.length < 5) {
+            tmp.push(value);
+            if (tmp.length === 5) {
+              flag = false;
+            }
+          }
+        }
+      }
+      return tmp;
+    },
+  },
+};
+</script>
+<style scoped>
+.mainTable-top {
+  margin-top: 5%;
+}
+.mainTable-top-two {
+  margin-top: 10%;
+}
+.mainTable-tab {
+  cursor: pointer;
+  margin-left: 100px;
+  margin-right: 100px;
+  border-radius: 5px;
+  border: 1px solid #000000;
+  text-align: center;
+  height: 150px;
+  margin-bottom: 100px;
+}
+.mainTable-tab-p {
+  padding-top: 40px;
+}
+.musicTitle {
+  display: block;
+  font-size: 18px;
+  color: #57acbb;
+  margin-bottom: 5px;
+}
+.main_answer_left {
+  display: flex;
+  /* text-align: left; */
+}
+.main_answer_right {
+  display: flex;
+  /* text-align: right; */
+}
+.message-wrapper {
+  background-color: #ffffff;
+}
+.message-wrapper-left {
+  margin-left: 10px;
+  border-radius: 4px 4px 4px 4px;
+  /* border-radius: 0 1rem 1rem 1rem; */
+  max-width: 20.86667rem;
+  display: inline-table;
+  margin-top: 10px;
+}
+.message-wrapper-right {
+  /* border-radius: 1rem 0 1rem 1rem; */
+  margin-right: 10px;
+  border-radius: 4px 4px 4px 4px;
+  max-width: 20.86667rem;
+  display: inline-table;
+  background-color: #1fd18e;
+  color: #ffffff;
+  margin-top: 10px;
+}
+.message {
+  word-break: break-all;
+  padding: 10px;
+  /* font-size: 20px; */
+}
+.main_right_height {
+  height: 100vh !important;
+  display: block !important;
+  overflow-y: auto !important;
+  background-color: #ffffff;
+}
+
+.xl_d_button {
+  background: rgb(87, 172, 187);
+  opacity: 1;
+  border-radius: 50%;
+  font-size: 20px;
+  font-family: PingFang SC;
+  font-weight: 400;
+  color: #ffffff;
+  width: 40px;
+  line-height: 40px;
+  text-align: center;
+}
+.xl_d_button:hover {
+  background: rgb(87, 172, 187);
+  opacity: 1;
+  /* border-radius: 18px; */
+  font-size: 14px;
+  font-family: PingFang SC;
+  font-weight: 400;
+  color: #ffffff;
+}
+.xl_d_button:focus {
+  background: rgb(87, 172, 187);
+  opacity: 1;
+  /* border-radius: 18px; */
+  font-size: 14px;
+  font-family: PingFang SC;
+  font-weight: 400;
+  color: #ffffff;
+}
+.refrshSmart {
+  float: right;
+  cursor: pointer;
+}
+.xl_input >>> .el-input__inner {
+  border: 0;
+  border-radius: 4px;
+  background-color: #f4f4f4;
+}
+.footSend {
+  background: #ffffff;
+  position: absolute;
+  height: 80px;
+  margin-left: 2%;
+  width: 90%;
+  border-radius: 14px;
+  bottom: 50px;
+}
+.footSend >>> .el-textarea__inner {
+  border: 0px solid #ffffff !important;
+  border-radius: 14px !important;
+}
+.footSendSelect {
+  background: #ffffff;
+
+  padding-bottom: 40px;
+  position: absolute;
+  width: 100%;
+  bottom: 0px;
+}
+.xl_d_send {
+  margin-top: 18px;
+  color: #087b50;
+  background: #c6f0ed !important;
+  opacity: 1;
+  font-size: 14px;
+  font-family: PingFang SC;
+  font-weight: 400;
+  text-align: center;
+  border: 0px;
+  border-radius: 10px;
+}
+.xl_d_send:hover {
+  margin-top: 18px;
+  color: #087b50;
+  background: #c6f0ed !important;
+  opacity: 1;
+  font-size: 14px;
+  font-family: PingFang SC;
+  font-weight: 400;
+  text-align: center;
+  border-radius: 10px;
+}
+.xl_d_send:focus {
+  margin-top: 18px;
+  color: #087b50;
+  background: #c6f0ed !important;
+  opacity: 1;
+  font-size: 14px;
+  font-family: PingFang SC;
+  font-weight: 400;
+  text-align: center;
+  border-radius: 10px;
+}
+.xl_d_send.is-disabled,
+.xl_d_send.is-disabled:hover,
+.xl_d_send.is-disabled:focus {
+  margin-top: 18px;
+  color: #087b50;
+  background: #c6f0ed !important;
+  opacity: 1;
+  font-size: 14px;
+  font-family: PingFang SC;
+  font-weight: 400;
+  text-align: center;
+  border-radius: 10px;
+}
+
+.smart_mul_button {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+}
+
+.smart_mul_button_select {
+  background: rgb(87, 172, 187) !important;
+  opacity: 1;
+  /* border-radius: 50%; */
+  /* font-size: 20px; */
+  font-family: PingFang SC;
+  font-weight: 400;
+  color: #ffffff;
+  text-align: center;
+}
+.smart_mul_button_select:hover {
+  background: rgb(87, 172, 187) !important;
+  opacity: 1;
+  /* border-radius: 50%; */
+  /* font-size: 20px; */
+  font-family: PingFang SC;
+  font-weight: 400;
+  color: #ffffff;
+  text-align: center;
+}
+.smart_mul_button_select:focus {
+  background: rgb(87, 172, 187) !important;
+  opacity: 1;
+  /* border-radius: 50%; */
+  /* font-size: 20px; */
+  font-family: PingFang SC;
+  font-weight: 400;
+  color: #ffffff;
+  text-align: center;
+}
+.smart_line_class {
+  /* background: #BBC5D4; */
+  position: absolute;
+  height: 1px;
+  margin-left: 2%;
+  width: 90%;
+  border-radius: 14px;
+  bottom: 150px;
+  border-bottom: 1px solid #bbc5d4;
+}
+.smart_content {
+  height: 88%;
+  margin-top: 5%;
+  width: 94%;
+  margin-left: 3%;
+  border-radius: 40px;
+  background: #f6f6f6;
+}
+.chat-window {
+  height: 70vh;
+  overflow: auto;
+  /* overflow-y:hidden; */
+}
+</style>

+ 2 - 2
src/renderer/components/TopPage.vue

@@ -107,9 +107,9 @@
             本计算机程序受著作权法和国际公约的保护,未经授权擅自复制或传播本程序的部分或全部,
             本计算机程序受著作权法和国际公约的保护,未经授权擅自复制或传播本程序的部分或全部,
             可能受到严厉的民事及刑事制裁,并将在法律许可的范围内受到最大可能的起诉.
             可能受到严厉的民事及刑事制裁,并将在法律许可的范围内受到最大可能的起诉.
           </p>
           </p>
-          <p><span>Version:</span> 1.1.9</p>
+          <p><span>Version:</span> 1.2.0</p>
           <p><span>Build:</span>#fdfd1a6073</p>
           <p><span>Build:</span>#fdfd1a6073</p>
-          <p><span>Build on:</span>2023/12/01</p>
+          <p><span>Build on:</span>2023/12/11</p>
           <p><span>Windows:</span>{{ windowsVersion }}</p>
           <p><span>Windows:</span>{{ windowsVersion }}</p>
         </el-col>
         </el-col>
       </el-row>
       </el-row>

部分文件因为文件数量过多而无法显示