Browse Source

哮喘量表

1178232204@qq.com 3 năm trước cách đây
mục cha
commit
18a239d9fc

+ 2 - 2
config/index.js

@@ -3,7 +3,7 @@
 // see http://vuejs-templates.github.io/webpack for documentation.
 
 const path = require('path')
-const proxy_path = 'http://192.168.2.121:5050';
+const proxy_path = 'http://192.168.2.236:5050';
 // const proxy_path = 'http://192.168.2.236:5050';
 // const proxy_path = 'http://127.0.0.1:5050';
 // const proxy_path = 'http://223.93.170.82:23650';
@@ -24,7 +24,7 @@ module.exports = {
 
     // Various Dev Server settings
     port: 8083, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
-    host: '192.168.3.106',
+    host: 'localhost',
     // host: '127.0.0.1',
     autoOpenBrowser: true,
     errorOverlay: true,

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 16612 - 79
package-lock.json


+ 2 - 0
src/common/Label.vue

@@ -6,6 +6,8 @@
     </p>
     <Toast :message="delText"
           :show="showToast"
+          title="确认"
+          title2="取消"
           @comfirn="comfirnDel"
           @cancel="cancelDel"/>
   </div>

+ 6 - 3
src/common/Toast.vue

@@ -7,8 +7,8 @@
                 <!-- {{message||msg}} -->
               </div>
               <div class="btn">
-                <span @click="comfirn" class="comf">确定</span>
-                <span @click="cancel" class="canc">取消</span>
+                <span @click="comfirn" :class="title == '去填写'?'canc comf':'comf'">{{title}}</span>
+                <span @click="cancel" class="canc">{{title2}}</span>
               </div>
             </div>
             <div class="mask" @click="cancel"></div>
@@ -24,7 +24,10 @@ import $ from 'jquery';
         msg:"是否删除该信息?"
       }
     },
-    props:['message','show','labShow'],
+    props:['message','show','labShow','title','title2'],
+    mounted() {
+      console.log(this.title)
+    },
     methods:{
       comfirn(){
         $(".btscroll").css({'position':'absolute','top':'0'})

+ 120 - 0
src/components/ChooseScale.vue

@@ -0,0 +1,120 @@
+<template>
+  <div class="wrapper">
+    <div class="header">
+      <img src="../images/back.png" @click="goback()" />
+    </div>
+    <div class="content">
+      <div class="left clearfix">
+        <img src="../images/doctor.png" alt="" class="fl" />
+        <div class="center fl">
+          <p>明确就诊疾病?</p>
+        </div>
+      </div>
+    </div>
+    <div class="bottom">
+      <div class="list">
+        <span
+          v-for="(item, index) in list"
+          :key="index"
+          :class="isChange == index ? 'realItem item' : 'item'"
+          @click="chooseScale(index)"
+          >{{item}}</span
+        >
+      </div>
+      <button :class="isChange!=-1 ? 'realSure sure' : 'sure'" @click="submit">确认</button>
+    </div>
+  </div>
+</template>
+<script>
+export default {
+  data() {
+    return {
+      isChange: -1,
+      list: ["哮喘"],
+    };
+  },
+
+  created() {},
+  mounted() {},
+  methods: {
+    goback() {
+      this.$router.go(-1);
+    },
+    chooseScale(index) {
+      if (index != this.isChange) {
+        this.isChange = index;
+      } else {
+        this.isChange = -1;
+      }
+    },
+    submit(){
+      if(this.isChange == -1){
+        return
+      }
+      this.$router.push({ path: "/scaleDetail",query: JSON.parse(localStorage.getItem('loginParam')) });
+    }
+  },
+  components: {},
+};
+</script>
+<style lang="less" scoped>
+@import "../less/base.less";
+.header {
+  height: 0.8rem;
+  border-bottom: 3px solid #6678ff;
+  & img {
+    width: 0.16rem;
+    padding: 0.2rem 0.4rem 0.4rem 0.2rem;
+    float: left;
+  }
+}
+.content {
+  .left {
+    margin-bottom: 0.2rem;
+    padding-top: 0.5rem;
+    padding-left: 0.24rem;
+    .center {
+      max-width: 5rem;
+      background-color: #colors[bgques];
+      border-radius: 0 0.24rem 0.24rem 0.24rem;
+      margin-top: 0.3rem;
+      font-size: #font[dialog];
+      padding: 0.24rem;
+      display: inline-block;
+    }
+    img {
+      width: 0.8rem;
+      height: 0.8rem;
+      margin-right: 0.24rem;
+    }
+  }
+}
+.bottom {
+  width: 100%;
+  position: fixed;
+  bottom: 0;
+  box-shadow: 0px -0.6rem 0.2rem 0px rgba(104, 124, 189, 0.08);
+  .list {
+    .item {
+      padding: 0.14rem 0.2rem;
+      border: 0.02rem solid #dfe0e4;
+      font-size: 0.3rem;
+      border-radius: 0.36rem;
+      margin-left: 0.3rem;
+    }
+    .realItem {
+      background: #6678ff;
+    }
+  }
+  .sure {
+    width: 100%;
+    height: 0.88rem;
+    background: #6678ff;
+    opacity: 0.5;
+    font-size: 0.32rem;
+  }
+  .realSure {
+    opacity: 1;
+  }
+}
+</style>

+ 2 - 0
src/components/DetailBox.vue

@@ -24,6 +24,8 @@
     </div>
     <Toast :message="clearTxt" 
           :show="showToast"
+          title="确认"
+          title2="取消"
           @comfirn="comfirnDel" 
           @cancel="cancelDel"/>
   </portal>

+ 374 - 323
src/components/PathInfo.vue

@@ -2,7 +2,7 @@
   <div class="path-wrap">
     <div class="content">
       <div class="topContent">
-        <h2>{{pathInfo.sonHospitalName||pathInfo.hospitalName}}</h2>
+        <h2>{{ pathInfo.sonHospitalName || pathInfo.hospitalName }}</h2>
         <p class="hospitalName">智能预问诊</p>
       </div>
       <div class="minContent">
@@ -10,43 +10,50 @@
         <p class="perLine">
           <span class="msgTitle">姓名</span>
           <i>:</i>
-          <span>{{pathInfo.patientName}}</span>
+          <span>{{ pathInfo.patientName }}</span>
         </p>
         <p class="perLine">
           <span class="msgTitle">性别</span>
           <i>:</i>
-          <span>{{pathInfo.patientSex}}</span>
+          <span>{{ pathInfo.patientSex }}</span>
         </p>
         <p class="perMsg perLine">
           <span class="msgTitle">年龄</span>
           <i>:</i>
-          <span class="perDetail">{{pathInfo.patientAge}}岁</span>
+          <span class="perDetail">{{ pathInfo.patientAge }}岁</span>
         </p>
         <p class="emptyLine"></p>
         <p class="perLine" v-if="pathInfo.doctorName">
-          <span class="msgTitle">{{pathInfo.doctorName?'预约医生':''}}</span>
+          <span class="msgTitle">{{
+            pathInfo.doctorName ? "预约医生" : ""
+          }}</span>
           <i v-if="pathInfo.doctorName">:</i>
-          <span>{{pathInfo.doctorName}}</span>
+          <span>{{ pathInfo.doctorName }}</span>
         </p>
         <p class="perLine" v-if="pathInfo.hospitalDeptName">
-          <span class="msgTitle">{{pathInfo.hospitalDeptName?'科室':''}}</span>
+          <span class="msgTitle">{{
+            pathInfo.hospitalDeptName ? "科室" : ""
+          }}</span>
           <i v-if="pathInfo.hospitalDeptName">:</i>
-          <span>{{pathInfo.hospitalDeptName}}</span>
+          <span>{{ pathInfo.hospitalDeptName }}</span>
         </p>
         <p class="perLine" v-if="pathInfo.recordId">
-          <span class="msgTitle">{{pathInfo.recordId?'排队号':''}}</span>
+          <span class="msgTitle">{{ pathInfo.recordId ? "排队号" : "" }}</span>
           <i v-if="pathInfo.recordId">:</i>
-          <span>{{pathInfo.recordId}}</span>
+          <span>{{ pathInfo.recordId }}</span>
         </p>
         <p class="perLine" v-if="time">
-          <span class="msgTitle">{{time?'预约时间':''}}</span>
+          <span class="msgTitle">{{ time ? "预约时间" : "" }}</span>
           <i v-if="time">:</i>
-          <span>{{time}}</span>
+          <span>{{ time }}</span>
         </p>
       </div>
       <p class="explain">注:请核对您的挂号信息,如有错误请到窗口询问</p>
       <div class="btmContent" @click="getStart">确认并继续</div>
-      
+      <div class="btmScale" @click="goScale">
+        <img src="../images/scale.png" />
+        评估
+      </div>
       <p class="jishu">朗通医疗提供技术支持</p>
       <!-- <div class="con">
         <p class="already" v-if="type !== 1">{{text[type]}}</p>
@@ -56,352 +63,396 @@
     <Toast
       :message="message"
       :show="showToast"
+      title="确认"
+      title2="取消"
       @comfirn="comfirnDel"
       @cancel="cancelDel"
     />
-    <Submit
-      v-if="submit"
-      :fail="tipMsg"
-      showType="fail"
-    ></Submit>
-    <StartPage v-if="showStart" :showStart="showStart"/>
+    <Submit v-if="submit" :fail="tipMsg" showType="fail"></Submit>
+    <StartPage v-if="showStart" :showStart="showStart" />
   </div>
 </template>
 <script type="text/javascript">
-  import api from '@utils/api.js'
-  import Submit from '../common/Submit';
-  import Toast from '../common/Toast.vue';
-  import {setScroll,dateParser,setTitle,moduleConfig,getUrlArgObject } from '@utils/tools.js'
-  import StartPage from "../common/HomePage";
-  import BScroll from 'better-scroll';
-  import {mapState} from 'vuex';
+import api from "@utils/api.js";
+import Submit from "../common/Submit";
+import Toast from "../common/Toast.vue";
+import {
+  setScroll,
+  dateParser,
+  setTitle,
+  moduleConfig,
+  getUrlArgObject,
+} from "@utils/tools.js";
+import StartPage from "../common/HomePage";
+import BScroll from "better-scroll";
+import { mapState } from "vuex";
 
-  export default {
-    name:'PathInfo',
-    data(){
-      return {
-        pathInfo:{},
-        // child:[],
-        type:null, //1-未做过;3-只做过问诊;4-只做过体质辨识;6-都做过
-        text:{
-          "3":'您已完成过一次预问诊,是否再次录入',
-          // "4":'您已完成过一次儿童体质辨识,是否再次录入',
-          // "6":'您已完成过一次预问诊和儿童体质辨识,是否再次录入',
-          "6":'您已完成过一次预问诊,是否再次录入',
-        },
-        isReady:false,
-        // hideChild:true,  //隐藏儿童
-        submit:false,
-        scroll:null,
-        tipMsg:'',
-        time:'',
-        params:{},
-        showToast:false,
-        message:'您已完成一次预问诊,是否重新录入?',
-        showStart:false,
-        allMoudles:{}
-      }
-    },
-    computed:{
-      ...mapState({
-        config: state => state.sysConfig,
-        tmpAllMoudles: state => state.allMoudles,
-      }),
-    },
-    created(){
-      const showDoctor = getUrlArgObject("showDoctor");
-      this.$store.commit("setShowDoctor",showDoctor);
-      this.getPathInfo();
-      this.$store.commit('initAllData');//初始化store数据
+export default {
+  name: "PathInfo",
+  data() {
+    return {
+      pathInfo: {},
+      // child:[],
+      type: null, //1-未做过;3-只做过问诊;4-只做过体质辨识;6-都做过
+      text: {
+        3: "您已完成过一次预问诊,是否再次录入",
+        // "4":'您已完成过一次儿童体质辨识,是否再次录入',
+        // "6":'您已完成过一次预问诊和儿童体质辨识,是否再次录入',
+        6: "您已完成过一次预问诊,是否再次录入",
+      },
+      isReady: false,
+      // hideChild:true,  //隐藏儿童
+      submit: false,
+      scroll: null,
+      tipMsg: "",
+      time: "",
+      params: {},
+      showToast: false,
+      message: "您已完成一次预问诊,是否重新录入?",
+      showStart: false,
+      allMoudles: {},
+    };
+  },
+  computed: {
+    ...mapState({
+      config: (state) => state.sysConfig,
+      tmpAllMoudles: (state) => state.allMoudles,
+    }),
+  },
+  created() {
+    const showDoctor = getUrlArgObject("showDoctor");
+    this.$store.commit("setShowDoctor", showDoctor);
+    this.getPathInfo();
+    this.$store.commit("initAllData"); //初始化store数据
+  },
+  mounted() {
+    let tmpModule = moduleConfig(this.config, this.tmpAllMoudles);
+    this.allMoudles = tmpModule;
+    this.$store.commit("setActiveModule", tmpModule);
+    this.$nextTick(() => {
+      let scroll = setScroll(BScroll, true, ".path-wrap");
+      this.scroll = scroll;
+    });
+  },
+  methods: {
+    comfirnDel() {
+      this.goNext();
     },
-    mounted(){
-      let tmpModule = moduleConfig(this.config,this.tmpAllMoudles);
-      this.allMoudles = tmpModule;
-      this.$store.commit('setActiveModule', tmpModule);
-      this.$nextTick(()=>{
-        let scroll = setScroll(BScroll,true,'.path-wrap')
-        this.scroll = scroll
-      })
+    cancelDel() {
+      this.showToast = false;
     },
-    methods:{
-      comfirnDel() {
-        this.goNext()
-      },
-      cancelDel() {
-        this.showToast = false
-      },
-      getPathInfo(){
-        let query = this.$route.query
-        let hasQuery = JSON.stringify(query) == '{}'
-        let tmpTime = dateParser(!hasQuery&&query.recordTime) || (localStorage.getItem('loginParam')&&dateParser(JSON.parse(localStorage.getItem('loginParam')).time))
-        this.time = tmpTime
-        const params = {
-          'hospitalCode':!hasQuery&&query.hospitalCode||'',
-          'hospitalDeptCode':!hasQuery&&query.hospitalDeptCode||'',
-          'doctorCode':!hasQuery&&query.doctorCode||'',
-          'patientCode':!hasQuery&&query.patientCode||'',
-          'recordId':!hasQuery&&query.recordId||'',
-          'recordTime':!hasQuery&&query.recordTime||'',
-          "sonHospitalCode": !hasQuery&&query.sonHospitalCode||''
-        }
-        if(!hasQuery&&query.scan){//扫码进入的
-          localStorage.removeItem('loginParam')
-          localStorage.removeItem('loginData')
-          localStorage.setItem('scan',true)//保存扫码标记
-          localStorage.setItem('infoParam',JSON.stringify(params))//保存扫码信息,登录进入需删除该参数
-          this.getSysConfig();
-        }else{//登陆进入的
-          localStorage.removeItem('infoParam')
-          localStorage.removeItem('scan')
-          this.getSysConfig(1);
-          if(localStorage.getItem("startPage") == 1){
-            this.showStart = true;
-            document.title = '智能预问诊';
-          }
+    getPathInfo() {
+      let query = this.$route.query;
+      let hasQuery = JSON.stringify(query) == "{}";
+      let tmpTime =
+        dateParser(!hasQuery && query.recordTime) ||
+        (localStorage.getItem("loginParam") &&
+          dateParser(JSON.parse(localStorage.getItem("loginParam")).time));
+      this.time = tmpTime;
+      const params = {
+        hospitalCode: (!hasQuery && query.hospitalCode) || "",
+        hospitalDeptCode: (!hasQuery && query.hospitalDeptCode) || "",
+        doctorCode: (!hasQuery && query.doctorCode) || "",
+        patientCode: (!hasQuery && query.patientCode) || "",
+        recordId: (!hasQuery && query.recordId) || "",
+        recordTime: (!hasQuery && query.recordTime) || "",
+        sonHospitalCode: (!hasQuery && query.sonHospitalCode) || "",
+      };
+      if (!hasQuery && query.scan) {
+        //扫码进入的
+        localStorage.removeItem("loginParam");
+        localStorage.removeItem("loginData");
+        localStorage.setItem("scan", true); //保存扫码标记
+        localStorage.setItem("infoParam", JSON.stringify(params)); //保存扫码信息,登录进入需删除该参数
+        this.getSysConfig();
+      } else {
+        //登陆进入的
+        localStorage.removeItem("infoParam");
+        localStorage.removeItem("scan");
+        this.getSysConfig(1);
+        if (localStorage.getItem("startPage") == 1) {
+          this.showStart = true;
+          document.title = "智能预问诊";
         }
-        api.getPathInfo(params).then((res)=>{
-          const result = res.data;
-          if(result.code==0){
-            this.pathInfo = result.data;
-            this.$store.commit('savePathInfo',result.data);
-            this.getAll(); //获取模板
-            this.getUsualSymptom();   //获取科室常用症状
-          }
-        })
-      },
-      getSysConfig(flg){
-        let query = this.$route.query
-        let hasQuery = JSON.stringify(query) == '{}';
-        const param = {
-          'hospitalCode':!hasQuery&&query.hospitalCode||'',
+      }
+      api.getPathInfo(params).then((res) => {
+        const result = res.data;
+        if (result.code == 0) {
+          this.pathInfo = result.data;
+          this.$store.commit("savePathInfo", result.data);
+          this.getAll(); //获取模板
+          this.getUsualSymptom(); //获取科室常用症状
         }
-        api.getSysConfig(param).then((res)=>{
-          const result = res.data;
-          if(result.code==0){
-            const datas = result.data;
-            this.$store.commit('saveSysConfig',datas)
-            if(flg){return}
-            for(let i = 0;i < datas.length;i++){
-                if(datas[i].code == 'homepage_show' && localStorage.getItem("startPage") === null){
-                    if(+datas[i].value==1){
-                        localStorage.setItem('startPage',1)
-                        //显示启动页
-                        this.showStart = true;
-                        document.title = '智能预问诊';
-                    }else{
-                        document.title = '挂号详情';
-                        localStorage.setItem('startPage',0)
-                    }
-                }
-            }
-          }
-        })
-      },
-      getUsualSymptom(){
-        const param = {
-          "age": this.pathInfo.patientAge,
-          "deptName": this.pathInfo.selfDeptName,
-          "sexType": this.pathInfo.sexType
-        };
-        api.getSymptom(param).then((res) => {
-          const result = res.data;
-          if (result.code == 0) {
-            this.$store.commit("setUsualSymptom",result.data);
-          }else{
-            this.defaultWaring('常用症状获取失败,请稍后重试!')
+      });
+    },
+    getSysConfig(flg) {
+      let query = this.$route.query;
+      let hasQuery = JSON.stringify(query) == "{}";
+      const param = {
+        hospitalCode: (!hasQuery && query.hospitalCode) || "",
+      };
+      api.getSysConfig(param).then((res) => {
+        const result = res.data;
+        if (result.code == 0) {
+          const datas = result.data;
+          this.$store.commit("saveSysConfig", datas);
+          if (flg) {
+            return;
           }
-        })
-      },
-      recordCheck(){
-        const param = {
-          'doctorId':this.pathInfo.doctorId,
-          'hospitalDeptId':this.pathInfo.hospitalDeptId,
-          'hospitalId':this.pathInfo.hospitalId,
-          'inquiryCode':this.pathInfo.recordId,
-          'patientId':this.pathInfo.patientId
-        };
-        api.recordCheck(param).then((res)=>{
-          const result = res.data;
-          if(result.code==0){
-            let type = result.data.type;
-            if(type == 3||type == 6){//有预问诊信息
-              this.showToast = true
-            }else{
-              this.goNext();
+          for (let i = 0; i < datas.length; i++) {
+            if (
+              datas[i].code == "homepage_show" &&
+              localStorage.getItem("startPage") === null
+            ) {
+              if (+datas[i].value == 1) {
+                localStorage.setItem("startPage", 1);
+                //显示启动页
+                this.showStart = true;
+                document.title = "智能预问诊";
+              } else {
+                document.title = "挂号详情";
+                localStorage.setItem("startPage", 0);
+              }
             }
           }
-        })
-      },
-      goNext(){
-        if(this.isReady){
-          this.$router.push({path:'/tab'})
-        }else{
-          this.defaultWaring('请先维护症状模块')
         }
-      },
-      getAll(){
-        const param = {
-          'age':this.pathInfo.patientAge,
-          'relationId':this.pathInfo.selfDeptId,
-          'mouduleType':1, //根据科室划分
-          'sexType':this.pathInfo.patientSex=='男'?1:(this.pathInfo.patientSex=='女'?2:3),
+      });
+    },
+    getUsualSymptom() {
+      const param = {
+        age: this.pathInfo.patientAge,
+        deptName: this.pathInfo.selfDeptName,
+        sexType: this.pathInfo.sexType,
+      };
+      api.getSymptom(param).then((res) => {
+        const result = res.data;
+        if (result.code == 0) {
+          this.$store.commit("setUsualSymptom", result.data);
+        } else {
+          this.defaultWaring("常用症状获取失败,请稍后重试!");
         }
-        api.getAll(param).then((res)=>{
-          const result = res.data;
-          if(result.code==0){
-            const datas = result.data;
-            this.$store.commit('saveAll',datas)
-            let access = datas.filter(item=>item.type == 1).length>0
-            this.isReady=access
-          }else{
-            this.defaultWaring(result.msg)
+      });
+    },
+    recordCheck() {
+      const param = {
+        doctorId: this.pathInfo.doctorId,
+        hospitalDeptId: this.pathInfo.hospitalDeptId,
+        hospitalId: this.pathInfo.hospitalId,
+        inquiryCode: this.pathInfo.recordId,
+        patientId: this.pathInfo.patientId,
+      };
+      api.recordCheck(param).then((res) => {
+        const result = res.data;
+        if (result.code == 0) {
+          let type = result.data.type;
+          if (type == 3 || type == 6) {
+            //有预问诊信息
+            this.showToast = true;
+          } else {
+            this.goNext();
           }
-        })
-      },
-      getStart(){
-        const pathInfo = this.pathInfo;
-        if(JSON.stringify(pathInfo)=='{}'){
-          this.defaultWaring('网络异常请稍后重试');
-          return
         }
-        this.recordCheck(); //校验是否填过
-      },
-      defaultWaring(msg){
-        this.submit = true
-        this.tipMsg = msg
-        let timer = setTimeout(() => {
-          this.submit = false
-          clearTimeout(timer)
-        }, 2000);
-      },
+      });
     },
-    components:{
-      Submit,
-      Toast,
-      StartPage
-    }
-  }
+    goNext() {
+      if (this.isReady) {
+        this.$router.push({ path: "/tab" });
+      } else {
+        this.defaultWaring("请先维护症状模块");
+      }
+    },
+    goScale() {
+      this.$router.push({
+        path: "/chooseScale",
+        query: JSON.parse(localStorage.getItem("loginParam")),
+      });
+    },
+    getAll() {
+      const param = {
+        age: this.pathInfo.patientAge,
+        relationId: this.pathInfo.selfDeptId,
+        mouduleType: 1, //根据科室划分
+        sexType:
+          this.pathInfo.patientSex == "男"
+            ? 1
+            : this.pathInfo.patientSex == "女"
+            ? 2
+            : 3,
+      };
+      api.getAll(param).then((res) => {
+        const result = res.data;
+        if (result.code == 0) {
+          const datas = result.data;
+          this.$store.commit("saveAll", datas);
+          let access = datas.filter((item) => item.type == 1).length > 0;
+          this.isReady = access;
+        } else {
+          this.defaultWaring(result.msg);
+        }
+      });
+    },
+    getStart() {
+      const pathInfo = this.pathInfo;
+      if (JSON.stringify(pathInfo) == "{}") {
+        this.defaultWaring("网络异常请稍后重试");
+        return;
+      }
+      this.recordCheck(); //校验是否填过
+    },
+    defaultWaring(msg) {
+      this.submit = true;
+      this.tipMsg = msg;
+      let timer = setTimeout(() => {
+        this.submit = false;
+        clearTimeout(timer);
+      }, 2000);
+    },
+  },
+  components: {
+    Submit,
+    Toast,
+    StartPage,
+  },
+};
 </script>
 <style lang="less" scoped>
-@import '../less/base.less';
-  .path-wrap{
-    font-size: .28rem;
+@import "../less/base.less";
+.path-wrap {
+  font-size: 0.28rem;
+  position: absolute;
+  width: 100%;
+  height: 100%;
+  .content {
+    padding-bottom: 0.16rem;
+    box-sizing: border-box;
     position: absolute;
     width: 100%;
     height: 100%;
-    .content {
-      padding-bottom: .16rem;
-      box-sizing: border-box;
-      position: absolute;
-      width: 100%;
-      height: 100%;
+  }
+  .topContent {
+    // background-color: #6678FF;
+    height: 3.8rem;
+    padding-top: 0.3rem;
+    box-sizing: border-box;
+    background: url(../images/topContent.png) no-repeat;
+    background-size: cover;
+    .hospitalName {
+      color: #ffffff;
+      font-size: 0.32rem;
+      text-align: center;
     }
-    .topContent {
-      // background-color: #6678FF;
-      height: 3.8rem;
-      padding-top: .3rem;
-      box-sizing: border-box;
-      background:url(../images/topContent.png) no-repeat;
-      background-size: cover;
-      .hospitalName {
-        color: #FFFFFF;
-        font-size: .32rem;
-        text-align: center;
-      }
-      h2 {
-        text-align: center;
-        font-size: .46rem;
-        padding: .3rem 0 .18rem 0;
-        color: #fff;
-      }
-      .explain {
-        font-size: .24rem;
-        color: #fff;
-        line-height: .4rem;
-      }
+    h2 {
+      text-align: center;
+      font-size: 0.46rem;
+      padding: 0.3rem 0 0.18rem 0;
+      color: #fff;
     }
     .explain {
-      font-size: .24rem;
-      color: #AAAAAA;
-      padding:0 .4rem;
-      line-height: .4rem;
-      position: relative;
-      bottom: 1.1rem;
+      font-size: 0.24rem;
+      color: #fff;
+      line-height: 0.4rem;
     }
-    .minContent {
-      padding: .3rem .6rem .3rem .6rem;
-      box-sizing: border-box;
-      border-radius: 5px;
-      width: 90%;
-      box-shadow:0px 12px 24px 0px rgba(198,187,224,0.15);
-      position: relative;
-      top: -1.3rem;
-      background-color: #fff;
-      margin: 0 auto;
-      height: 6.4rem;
-      .msg {
-        font-size: .32rem;
-        padding-bottom: .18rem;
-        border-bottom: 1px solid #E6E6E6;
-        margin-bottom: .4rem;
-        .person {
-          display: inline-block;
-          width: .38rem;
-          height: .4rem;
-          background: url(../images/person.png) no-repeat;
-          background-size: cover;
-          margin-right: .3rem;
-          position: relative;
-          top: .06rem;
-        }
-      }
-      .perLine {
-        font-size: .3rem;
-        padding-bottom: .2rem;
-      }
-      .msgTitle {
+  }
+  .explain {
+    font-size: 0.24rem;
+    color: #aaaaaa;
+    padding: 0 0.4rem;
+    line-height: 0.4rem;
+    position: relative;
+    bottom: 1.1rem;
+  }
+  .minContent {
+    padding: 0.3rem 0.6rem 0.3rem 0.6rem;
+    box-sizing: border-box;
+    border-radius: 5px;
+    width: 90%;
+    box-shadow: 0px 12px 24px 0px rgba(198, 187, 224, 0.15);
+    position: relative;
+    top: -1.3rem;
+    background-color: #fff;
+    margin: 0 auto;
+    height: 6.4rem;
+    .msg {
+      font-size: 0.32rem;
+      padding-bottom: 0.18rem;
+      border-bottom: 1px solid #e6e6e6;
+      margin-bottom: 0.4rem;
+      .person {
         display: inline-block;
-        width: 1.3rem;
-        color: #777777;
-      }
-      i {
-        color: #777777;
+        width: 0.38rem;
+        height: 0.4rem;
+        background: url(../images/person.png) no-repeat;
+        background-size: cover;
+        margin-right: 0.3rem;
         position: relative;
-        bottom: 1px;
+        top: 0.06rem;
       }
-      .perMsg {
-        .perDetail {
-          margin-right: .24rem;
-        }
-      }
-
     }
-    .btmContent {
-      width: 6.9rem;
-      height: .88rem;
-      line-height: .88rem;
-      text-align: center;
-      background-color: #colors[btn];
-      font-size: #font[title];
-      color: #fff;
-      margin: 0 auto;
-      border-radius: .44rem;
-      position: absolute;
-      bottom: 1.2rem;
-      transform: translateX(-50%);
-      left: 50%;
+    .perLine {
+      font-size: 0.3rem;
+      padding-bottom: 0.2rem;
+    }
+    .msgTitle {
+      display: inline-block;
+      width: 1.3rem;
+      color: #777777;
+    }
+    i {
+      color: #777777;
+      position: relative;
+      bottom: 1px;
     }
-    .emptyLine {
-      height: 0.22rem;
+    .perMsg {
+      .perDetail {
+        margin-right: 0.24rem;
+      }
     }
   }
-  .jishu {
-    position: absolute;
-    bottom: 0.4rem;
-    left: 50%;
+  .btmContent {
+    width: 6.9rem;
+    height: 0.88rem;
+    line-height: 0.88rem;
     text-align: center;
-    color: #cccccc;
-    font-size: 0.24rem;
+    background-color: #colors[btn];
+    font-size: #font[title];
+    color: #fff;
+    margin: 0 auto;
+    border-radius: 0.44rem;
+    position: absolute;
+    bottom: 1.2rem;
     transform: translateX(-50%);
+    left: 50%;
+  }
+  .emptyLine {
+    height: 0.22rem;
+  }
+}
+.jishu {
+  position: absolute;
+  bottom: 0.4rem;
+  left: 50%;
+  text-align: center;
+  color: #cccccc;
+  font-size: 0.24rem;
+  transform: translateX(-50%);
+}
+.btmScale {
+  width: 1.12rem;
+  height: 0.44rem;
+  position: fixed;
+  top: 50%;
+  right: 0;
+  background: #ff9068;
+  border-radius: 2rem 0px 0px 2rem;
+  display: flex;
+  align-items: center;
+  justify-content: space-around;
+  font-size: 0.24rem;
+  color: #fff;
+  & img {
+    width: 0.2rem;
+    height: 0.22rem;
+    margin-left: 0.15rem;
   }
+}
 </style>

+ 349 - 274
src/components/Preview.vue

@@ -4,19 +4,23 @@
       <div class="content">
         <div class="tmpDiv"></div>
         <div class="personMsg personMsg1">
-          <p class="baseMsg">{{pathInfo.patientName}}&nbsp;&nbsp;&nbsp;&nbsp;{{pathInfo.patientSex}}&nbsp;&nbsp;&nbsp;&nbsp;{{pathInfo.patientAge}}岁</p>
+          <p class="baseMsg">
+            {{ pathInfo.patientName }}&nbsp;&nbsp;&nbsp;&nbsp;{{
+              pathInfo.patientSex
+            }}&nbsp;&nbsp;&nbsp;&nbsp;{{ pathInfo.patientAge }}岁
+          </p>
           <table>
             <tr>
-              <td><span>挂号科室:</span>{{pathInfo.selfDeptName}}</td>
+              <td><span>挂号科室:</span>{{ pathInfo.selfDeptName }}</td>
             </tr>
             <tr v-if="pathInfo.recordId">
-              <td><span>排队号:</span>{{pathInfo.recordId}}</td>
+              <td><span>排队号:</span>{{ pathInfo.recordId }}</td>
             </tr>
             <tr v-if="pathInfo.doctorName">
-              <td><span>预约医生:</span>{{pathInfo.doctorName}}</td>
+              <td><span>预约医生:</span>{{ pathInfo.doctorName }}</td>
             </tr>
             <tr v-if="time">
-              <td><span>就诊时间:</span>{{time}}</td>
+              <td><span>就诊时间:</span>{{ time }}</td>
             </tr>
           </table>
           <!-- <div class="line"></div>
@@ -27,43 +31,69 @@
             <li>
               <h4><i></i>主诉:</h4>
               <p>
-                <span v-for="(item,idx) in symptom.choose" :key="item.name+idx" v-if="item.idx == 1">
-                  {{item.specialP?(item.description||item.name)+item.specialP:(item.description||item.name)}}
+                <span
+                  v-for="(item, idx) in symptom.choose"
+                  :key="item.name + idx"
+                  v-if="item.idx == 1"
+                >
+                  {{
+                    item.specialP
+                      ? (item.description || item.name) + item.specialP
+                      : item.description || item.name
+                  }}
                 </span>
               </p>
             </li>
             <li>
               <h4><i></i> 现病史:</h4>
               <p>
+                <!-- 患者于时间单位前诱因出现症状,其余题目的内容; -->
+                <span>{{ mainTextP + "," }}</span>
+                <template v-for="(value, index) in checkText">
                   <!-- 患者于时间单位前诱因出现症状,其余题目的内容; -->
-                <span>{{mainTextP+","}}</span>
-                <template v-for="(value,index) in checkText">
-                  <!-- 患者于时间单位前诱因出现症状,其余题目的内容; -->
-                  <span :key="index" v-if="index>0&&value.flag!=1&&value.flag!=2&&index<checkText.length-1">{{value.textP+","}}</span>
+                  <span
+                    :key="index"
+                    v-if="
+                      index > 0 &&
+                      value.flag != 1 &&
+                      value.flag != 2 &&
+                      index < checkText.length - 1
+                    "
+                    >{{ value.textP + "," }}</span
+                  >
                 </template>
-                <span>{{banTextP}}</span>
+                <span>{{ banTextP }}</span>
+              </p>
+              <p>
+                <span>{{ getDetailText(diagnose.text, false).view }}</span>
+              </p>
+              <p>
+                <p>{{ scaleInfo[0].scaleName }}</p>
+                <p>得分:{{ scaleInfo[0].score }}</p>
+                <p>结果为{{ scaleInfo[0].result }}</p>
               </p>
-              <p><span>{{getDetailText(diagnose.text,false).view}}</span></p>
             </li>
-            <li v-if="tabType[moduleCP['other']]==1">
+            <li v-if="tabType[moduleCP['other']] == 1">
               <h4><i></i> 其他史:</h4>
               <p>
-                <span>{{getDetailText(others.text,false).view}}</span>
+                <span>{{ getDetailText(others.text, false).view }}</span>
               </p>
             </li>
-            <li v-if="tabType[moduleCP['suplement']]==1">
+            <li v-if="tabType[moduleCP['suplement']] == 1">
               <h4><i></i> 补充内容:</h4>
-              <p>{{getDetailText(addContent.text,false).view}}</p>
+              <p>{{ getDetailText(addContent.text, false).view }}</p>
             </li>
-            <li v-if="Object.keys(diagnose.imgSrc).length>0" class="imgLis">
+            <li v-if="Object.keys(diagnose.imgSrc).length > 0" class="imgLis">
               <h4 class="imgTitle"><i></i>最近一次治疗报告:</h4>
-              <div v-for="(value,key,idx) in diagnose.imgSrc" class="imgView">
-                <img :src="value" alt="">
+              <div v-for="(value, key, idx) in diagnose.imgSrc" class="imgView">
+                <img :src="value" alt="" />
               </div>
             </li>
           </ul>
         </div>
-        <div v-if="showDoctor" class="doctorData" @click="handleClick(true)">医生端数据展示</div>
+        <div v-if="showDoctor" class="doctorData" @click="handleClick(true)">
+          医生端数据展示
+        </div>
       </div>
     </div>
     <!--<div class="foot">
@@ -76,306 +106,352 @@
           @click="saveAllImage"
         >提交给医生</span>
       </div>-->
-    <div class="realSure sure" @click="saveAllDate">
-    提交给医生
-  </div>
-      <Submit
-        v-if="submit"
-        :showType="showType"
-        @showSubmit="showSubmit"
-      ></Submit>
-      <Loading v-if="this.$store.state.loadingShow"></Loading>
-      <div class="personMsgDoc" v-show="showDoc">
-        <div class="personMsgDocModal" @click="handleClick(false)"></div>
-        <div class="personMsgDocDetail">
-          <img class="close" src="../images/small-close.png" alt="" @click="handleClick(false)">
-          <div class="personMsg personMsg2 modal">
-            <ul class="previewParts">
-              <li>
-                <h4><i></i> 主诉:</h4>
-                <p>
-                  <span v-for="(item,idx) in symptom.choose" :key="item.name+idx" v-if="item.idx == 1">
-                    {{item.special?item.name+item.special:item.name}}
-                  </span>
-                </p>
-              </li>
-              <li>
-                <h4><i></i> 现病史:</h4>
-                <p>
+    <div class="realSure sure" @click="saveAllDate">提交给医生</div>
+    <Submit
+      v-if="submit"
+      :showType="showType"
+      @showSubmit="showSubmit"
+    ></Submit>
+    <Loading v-if="this.$store.state.loadingShow"></Loading>
+    <div class="personMsgDoc" v-show="showDoc">
+      <div class="personMsgDocModal" @click="handleClick(false)"></div>
+      <div class="personMsgDocDetail">
+        <img
+          class="close"
+          src="../images/small-close.png"
+          alt=""
+          @click="handleClick(false)"
+        />
+        <div class="personMsg personMsg2 modal">
+          <ul class="previewParts">
+            <li>
+              <h4><i></i> 主诉:</h4>
+              <p>
+                <span
+                  v-for="(item, idx) in symptom.choose"
+                  :key="item.name + idx"
+                  v-if="item.idx == 1"
+                >
+                  {{ item.special ? item.name + item.special : item.name }}
+                </span>
+              </p>
+            </li>
+            <li>
+              <h4><i></i> 现病史:</h4>
+              <p>
+                <!-- 患者于时间单位前诱因出现症状,其余题目的内容; -->
+                <span>{{ mainText + "," }}</span>
+                <template v-for="(value, index) in checkText">
                   <!-- 患者于时间单位前诱因出现症状,其余题目的内容; -->
-                  <span>{{mainText+","}}</span>
-                  <template v-for="(value,index) in checkText">
-                    <!-- 患者于时间单位前诱因出现症状,其余题目的内容; -->
-                    <span :key="index" v-if="index>0&&value.flag!=1&&value.flag!=2&&index<checkText.length-1">{{value.text+","}}</span>
-                  </template>
-                  <span>{{banText}}</span>
-                </p>
-                <p><span>{{getDetailText(diagnose.text,false).content}}</span></p>
-              </li>
-              <li v-if="tabType[moduleCP['other']]==1">
-                <h4><i></i> 其他史:</h4>
-                <p>
-                  <span>{{getDetailText(others.text,false).content}}</span>
-                </p>
-              </li>
-              <li v-if="tabType[moduleCP['suplement']]==1">
-                <h4><i></i> 补充内容:</h4>
-                <p>{{getDetailText(addContent.text,false).content}}</p>
-              </li>
-              <li v-if="JSON.stringify(diagnose.imgSrc) !='{}'" class="imgLis">
-                <h4 class="imgTitle"><i></i> 最近一次治疗报告:</h4>
-                <div v-for="(value,key,idx) in diagnose.imgSrc" class="imgView">
-                  <img :src="value" alt="">
-                </div>
-              </li>
-            </ul>
-          </div>
+                  <span
+                    :key="index"
+                    v-if="
+                      index > 0 &&
+                      value.flag != 1 &&
+                      value.flag != 2 &&
+                      index < checkText.length - 1
+                    "
+                    >{{ value.text + "," }}</span
+                  >
+                </template>
+                <span>{{ banText }}</span>
+              </p>
+              <p>
+                <span>{{ getDetailText(diagnose.text, false).content }}</span>
+              </p>
+            </li>
+            <li v-if="tabType[moduleCP['other']] == 1">
+              <h4><i></i> 其他史:</h4>
+              <p>
+                <span>{{ getDetailText(others.text, false).content }}</span>
+              </p>
+            </li>
+            <li v-if="tabType[moduleCP['suplement']] == 1">
+              <h4><i></i> 补充内容:</h4>
+              <p>{{ getDetailText(addContent.text, false).content }}</p>
+            </li>
+            <li v-if="JSON.stringify(diagnose.imgSrc) != '{}'" class="imgLis">
+              <h4 class="imgTitle"><i></i> 最近一次治疗报告:</h4>
+              <div v-for="(value, key, idx) in diagnose.imgSrc" class="imgView">
+                <img :src="value" alt="" />
+              </div>
+            </li>
+          </ul>
         </div>
       </div>
+    </div>
   </div>
 </template>
 <script>
-import api from '@utils/api.js';
-import Submit from '../common/Submit';
-import Loading from '../common/Loading';
-import BScroll from 'better-scroll';
-import {moduleCP,trimDots,setScroll,dateParser} from '@utils/tools.js'
-import { mapState } from 'vuex';
+import api from "@utils/api.js";
+import Submit from "../common/Submit";
+import Loading from "../common/Loading";
+import BScroll from "better-scroll";
+import { moduleCP, trimDots, setScroll, dateParser } from "@utils/tools.js";
+import { mapState } from "vuex";
 export default {
   data() {
-    const { pathInfo, originDatas,showDoctor } = this.$store.state;
+    const { pathInfo, scaleInfo, originDatas, showDoctor } = this.$store.state;
     let sysConfig = this.$store.state.sysConfig;
     let symptomDate = this.$store.state.symptom;
     let diagnoseDate = this.$store.state.diagnose;
     let othersDate = this.$store.state.others;
     let addContentDate = this.$store.state.addContent;
     return {
-      msg: '预览',
-      showDoctor:showDoctor,
+      msg: "预览",
+      showDoctor: showDoctor,
       pathInfo: pathInfo,
+      scaleInfo: scaleInfo,
       symptom: symptomDate,
       diagnose: diagnoseDate,
       others: othersDate,
       addContent: addContentDate,
       checkText: symptomDate.text, //症状情况文字
-      symChoose:symptomDate.choose,
-      mainText:"",      //患者于**前**出现
-      banText:"",     //伴**
-      mainTextP:"",      //患者于**前**出现
-      banTextP:"",     //伴**
-      symLast:"",     //除主诉伴随剩余的症状详情内容
+      symChoose: symptomDate.choose,
+      mainText: "", //患者于**前**出现
+      banText: "", //伴**
+      mainTextP: "", //患者于**前**出现
+      banTextP: "", //伴**
+      symLast: "", //除主诉伴随剩余的症状详情内容
       submit: false,
-      showType: 'fail',
+      showType: "fail",
       //imgList:[],
-      tmpNum:0,
-      moduleCP:moduleCP,
-      showDoc:false,
-      time:''
-    }
+      tmpNum: 0,
+      moduleCP: moduleCP,
+      showDoc: false,
+      time: "",
+    };
   },
-  computed:{
+  computed: {
     ...mapState({
-      tabType: state => state.tabType,
-      config: state => state.sysConfig,
-      addBuriedSomeList:state=>state.addBuriedSomeList,
-      imgList:state=>state.uploadImgs
-    })
+      tabType: (state) => state.tabType,
+      config: (state) => state.sysConfig,
+      addBuriedSomeList: (state) => state.addBuriedSomeList,
+      imgList: (state) => state.uploadImgs,
+    }),
   },
-  created(){
+  created() {
+    console.log(this.scaleInfo);
     this.getTime();
-    if (this.config.length == 0) {//登录进去返回到列表页,扫码返回到开始页
-      let scan = localStorage.getItem('scan');
-      let params = JSON.parse(localStorage.getItem('infoParam'));
-      let param = JSON.parse(localStorage.getItem('loginParam'));
-      let data = JSON.parse(localStorage.getItem('loginData'));
-      if(!scan){
-        if(data.length>1){
-          this.$router.push({path:'/department'});
-        }else{
-          this.$router.push({path:'/home',query:param});
+    if (this.config.length == 0) {
+      //登录进去返回到列表页,扫码返回到开始页
+      let scan = localStorage.getItem("scan");
+      let params = JSON.parse(localStorage.getItem("infoParam"));
+      let param = JSON.parse(localStorage.getItem("loginParam"));
+      let data = JSON.parse(localStorage.getItem("loginData"));
+      if (!scan) {
+        if (data.length > 1) {
+          this.$router.push({ path: "/department" });
+        } else {
+          this.$router.push({ path: "/home", query: param });
         }
-      }else{
-        this.$router.push({path:'/home',query:Object.assign({}, params,{scan:true})});
+      } else {
+        this.$router.push({
+          path: "/home",
+          query: Object.assign({}, params, { scan: true }),
+        });
       }
     }
   },
-  mounted() {console.log(this.$store.state);
-    let scroll = setScroll(BScroll,true,'.previewper');
+  mounted() {
+    console.log(this.$store.state);
+    let scroll = setScroll(BScroll, true, ".previewper");
     this.scroll = scroll;
-    this.formatSymText();     //拼出现病史规则句型
+    this.formatSymText(); //拼出现病史规则句型
   },
   methods: {
     getTime() {
-      let scan = localStorage.getItem('scan');
-      let params = JSON.parse(localStorage.getItem('infoParam'));
-      let param = JSON.parse(localStorage.getItem('loginParam'));
-      let tmpArr = localStorage.getItem('recordTime')
-      let tmpTime = tmpArr&&Array.isArray(JSON.parse(tmpArr))?JSON.parse(tmpArr):[];
-      if(!scan){
-        this.time = dateParser(param.time)
-      }else{
-        this.time = dateParser(params.recordTime)
+      let scan = localStorage.getItem("scan");
+      let params = JSON.parse(localStorage.getItem("infoParam"));
+      let param = JSON.parse(localStorage.getItem("loginParam"));
+      let tmpArr = localStorage.getItem("recordTime");
+      let tmpTime =
+        tmpArr && Array.isArray(JSON.parse(tmpArr)) ? JSON.parse(tmpArr) : [];
+      if (!scan) {
+        this.time = dateParser(param.time);
+      } else {
+        this.time = dateParser(params.recordTime);
       }
     },
-    handleClick(flg){
-      this.showDoc = flg
+    handleClick(flg) {
+      this.showDoc = flg;
     },
     showSubmit(flg) {
-      this.submit = flg
+      this.submit = flg;
     },
     back() {
       this.$router.go(-1);
     },
-    getDetailText(textArr,flg){
-      let msg = "",obg={},msgP = "";
-      if(flg == 1){
+    getDetailText(textArr, flg) {
+      let msg = "",
+        obg = {},
+        msgP = "";
+      if (flg == 1) {
         // for(let k in textArr){
-          let item = textArr[0];
-          if(item.special){
-            msg+=item.name+item.special
-            msgP+=item.name+item.specialP
-          }else{
-            msg+=item.name
-            msgP+=item.name
-          }
+        let item = textArr[0];
+        if (item.special) {
+          msg += item.name + item.special;
+          msgP += item.name + item.specialP;
+        } else {
+          msg += item.name;
+          msgP += item.name;
+        }
         // }
-      }else{
-        for(let k in textArr){
-          if(textArr[k] && Array.isArray(textArr[k])){
+      } else {
+        for (let k in textArr) {
+          if (textArr[k] && Array.isArray(textArr[k])) {
             let temp = textArr[k];
-            for(let j in temp){
-              if(temp[j]){
-                msg += temp[j].text + ','
-                msgP += temp[j].textP + ','
+            for (let j in temp) {
+              if (temp[j]) {
+                msg += temp[j].text + ",";
+                msgP += temp[j].textP + ",";
               }
             }
-          }else if(textArr[k]){
-            msg += textArr[k].text + ','
-            msgP += textArr[k].textP + ','
+          } else if (textArr[k]) {
+            msg += textArr[k].text + ",";
+            msgP += textArr[k].textP + ",";
           }
         }
       }
-      obg.view=trimDots(msgP.replace(/,$/,''))
-      obg.content=trimDots(msg.replace(/,$/,''))
-      obg.contentJson=trimDots(msg.replace(/,$/,''))
-      obg.contentValue=trimDots(msg.replace(/,$/,''))
-      obg.type=flg
+      obg.view = trimDots(msgP.replace(/,$/, ""));
+      obg.content = trimDots(msg.replace(/,$/, ""));
+      obg.contentJson = trimDots(msg.replace(/,$/, ""));
+      obg.contentValue = trimDots(msg.replace(/,$/, ""));
+      obg.type = flg;
       return obg;
     },
-    formatSymText(){
-      const symChoose = this.symptom.choose;
-      const symText = this.symptom.text;
-      const bans = symText[symText.length-1];
-      const call = this.pathInfo.patientAge>18?'患者':'患儿';
-      const times = symChoose[0].special||'';
-      const reason = symChoose[0].reason||'';
-      const timesp = symChoose[0].specialP||'';
-      const reasonp = symChoose[0].reasonP||'';
-      const timeText = times?"于"+times+"前"+reason+"出现":reason+"出现";
-      const timeTextp = times?"于"+timesp+"前"+reasonp+"出现":reasonp+"出现";
-      this.mainText = call+timeText+symChoose[0].name;
-      this.mainTextP = call+timeTextp+(symChoose[0].description||symChoose[0].name);
-      this.banText = bans.text==="没有了"?"":"伴"+bans.text;
-      this.banTextP = bans.text==="没有了"?"":"伴"+bans.textP;
+    formatSymText() {
+      console.log(this.symptom);
+      if (this.symptom.choose.lengtn>0 && his.symptom.text.length>0) {
+        const symChoose = this.symptom.choose;
+        const symText = this.symptom.text;
+        const bans = symText[symText.length - 1];
+        const call = this.pathInfo.patientAge > 18 ? "患者" : "患儿";
+        const times = symChoose[0].special || "";
+        const reason = symChoose[0].reason || "";
+        const timesp = symChoose[0].specialP || "";
+        const reasonp = symChoose[0].reasonP || "";
+        const timeText = times
+          ? "于" + times + "前" + reason + "出现"
+          : reason + "出现";
+        const timeTextp = times
+          ? "于" + timesp + "前" + reasonp + "出现"
+          : reasonp + "出现";
+        this.mainText = call + timeText + symChoose[0].name;
+        this.mainTextP =
+          call + timeTextp + (symChoose[0].description || symChoose[0].name);
+        this.banText = bans.text === "没有了" ? "" : "伴" + bans.text;
+        this.banTextP = bans.text === "没有了" ? "" : "伴" + bans.textP;
+      }
     },
     saveAllDate() {
-      const {pathInfo,symptom,diagnose,others,addContent} = this
-      let tmpSymptom = JSON.parse(JSON.stringify(symptom))
-      let detailList = [{type:1},{type:2},{type:3},{type:4}]
-      for(let i = 0;i < detailList.length;i++){
-        if(i == 0){
-          detailList[0]=this.getDetailText(tmpSymptom.choose,1)
-        }else if(i == 1){
+      const { pathInfo, symptom, diagnose, others, addContent, scaleInfo } =
+        this;
+      let tmpSymptom = JSON.parse(JSON.stringify(symptom));
+      let detailList = [{ type: 1 }, { type: 2 }, { type: 3 }, { type: 4 }];
+      for (let i = 0; i < detailList.length; i++) {
+        if (i == 0) {
+          detailList[0] = this.getDetailText(tmpSymptom.choose, 1);
+        } else if (i == 1) {
           let tmpArr = [this.mainText];
           let tmpStr = this.banText;
           let symText = tmpSymptom.text;
-          for(let j = 1;j < symText.length-1;j++){
-            if(+symText[j].flag!==1&&+symText[j].flag!==2&&typeof(symText[j].text)!=='object'){   //诱因和时间已拼不重复添加,上传的图片不拼单独显示
+          for (let j = 1; j < symText.length - 1; j++) {
+            if (
+              +symText[j].flag !== 1 &&
+              +symText[j].flag !== 2 &&
+              typeof symText[j].text !== "object"
+            ) {
+              //诱因和时间已拼不重复添加,上传的图片不拼单独显示
               tmpArr.push(symText[j].text);
             }
           }
-          const diagObj = this.getDetailText(diagnose.text,false);
-          const diagStr=diagObj.content;
-          const diagJson=diagObj.contentJson;
-          tmpStr?tmpArr.push(tmpStr):null;
-          detailList[1].content=tmpArr.join()+","+diagStr;
-          detailList[1].contentJson=JSON.stringify(tmpArr.concat(diagJson));
-          detailList[1].contentValue=tmpArr.join();
-        }else if(i == 2){
-          detailList[2] = this.getDetailText(others.text,3)
-        }else if(i == 3){
-          detailList[3]=this.getDetailText(addContent.text,4);
+          const diagObj = this.getDetailText(diagnose.text, false);
+          const diagStr = diagObj.content;
+          const diagJson = diagObj.contentJson;
+          tmpStr ? tmpArr.push(tmpStr) : null;
+          detailList[1].content = tmpArr.join() + "," + diagStr;
+          detailList[1].contentJson = JSON.stringify(tmpArr.concat(diagJson));
+          detailList[1].contentValue = tmpArr.join();
+        } else if (i == 2) {
+          detailList[2] = this.getDetailText(others.text, 3);
+        } else if (i == 3) {
+          detailList[3] = this.getDetailText(addContent.text, 4);
         }
       }
       let params = {
-        "dataJson": "1",
-        "detailList": detailList,
-        "hospitalId": pathInfo.hospitalId,//医院id
-        "hospitalName": pathInfo.hospitalName,//医院名称
-        "hospitalCode": pathInfo.hospitalCode,//医院编码
-        "doctorId": pathInfo.doctorId,//医生id
-        "doctorCode": pathInfo.doctorCode,//医生编码
-        "doctorName": pathInfo.doctorName,//医生name
-        "hospitalDeptCode": pathInfo.hospitalDeptCode,//医院科室编码
-        "hospitalDeptId": pathInfo.hospitalDeptId,//科室id
-        "hospitalDeptName": pathInfo.hospitalDeptName,//科室name
-        "inquiryCode": pathInfo.recordId,//就诊序列号,目前是门诊号
-        "patientBirthday": pathInfo.birthday+':00',//患者出生日期,格式为:2018-11-28 17:25:30
-        "patientCode": pathInfo.patientCode,//患者编号
-        "patientId": pathInfo.patientId,//患者id
-        "patientIdNo": pathInfo.patientIdNo,//患者证件号码(病历号)
-        "patientName": pathInfo.patientName,//患者姓名
+        dataJson: "1",
+        detailList: detailList,
+        hospitalId: pathInfo.hospitalId, //医院id
+        hospitalName: pathInfo.hospitalName, //医院名称
+        hospitalCode: pathInfo.hospitalCode, //医院编码
+        doctorId: pathInfo.doctorId, //医生id
+        doctorCode: pathInfo.doctorCode, //医生编码
+        doctorName: pathInfo.doctorName, //医生name
+        hospitalDeptCode: pathInfo.hospitalDeptCode, //医院科室编码
+        hospitalDeptId: pathInfo.hospitalDeptId, //科室id
+        hospitalDeptName: pathInfo.hospitalDeptName, //科室name
+        inquiryCode: pathInfo.recordId, //就诊序列号,目前是门诊号
+        patientBirthday: pathInfo.birthday + ":00", //患者出生日期,格式为:2018-11-28 17:25:30
+        patientCode: pathInfo.patientCode, //患者编号
+        patientId: pathInfo.patientId, //患者id
+        patientIdNo: pathInfo.patientIdNo, //患者证件号码(病历号)
+        patientName: pathInfo.patientName, //患者姓名
         // "patientPhone": pathInfo,//患者联系电话(非)
-        "patientSex": pathInfo.patientSex=='男'?1:2,//患者性别:1男2女(非)
+        patientSex: pathInfo.patientSex == "男" ? 1 : 2, //患者性别:1男2女(非)
         // "regVisitedState": pathInfo,//就诊状态(0待接诊,1接诊中,2完成接诊)(非)
-        "reportList": this.imgList||[],
-        "sonHospitalCode": pathInfo.sonHospitalCode,
-        "sonHospitalId": pathInfo.sonHospitalId,
-        "sonHospitalName": pathInfo.sonHospitalName,
+        reportList: this.imgList || [],
+        sonHospitalCode: pathInfo.sonHospitalCode,
+        sonHospitalId: pathInfo.sonHospitalId,
+        sonHospitalName: pathInfo.sonHospitalName,
+        scaleList: scaleInfo,
         // "type": 0//病历分类(1:门诊,2:住院)
-      }
+      };
       // console.log(params)
-      this.saveBuriedSome(pathInfo)//埋点
-      api.saveInquiry(params).then((res) => {
-        if (res.data.code == 0) {
-          this.$store.commit('handleToggleShow', false);
-          this.showType = 'success'
-          this.submit = true
-        } else {
-          this.defaultWaring(res)
-        }
-      }).catch((err)=>{
-        this.defaultWaring(err)
-      })
-    },
-    saveBuriedSome(pathInfo){
-        let params = {
-          "doctorId": pathInfo.doctorId||'',
-          "hospitalDeptId": pathInfo.hospitalDeptId||'',
-          "hospitalId": pathInfo.hospitalDeptId||'',
-          "inquiryCode": pathInfo.hospitalDeptId||'',
-          "patientId": pathInfo.hospitalDeptId||'',
-          "taggeds": this.addBuriedSomeList||[]
-        }
-        api.saveBuriedSome(params).then((res)=>{
-          console.log('埋点')
+      this.saveBuriedSome(pathInfo); //埋点
+      api
+        .saveInquiry(params)
+        .then((res) => {
+          if (res.data.code == 0) {
+            this.$store.commit("handleToggleShow", false);
+            this.showType = "success";
+            this.submit = true;
+          } else {
+            this.defaultWaring(res);
+          }
         })
+        .catch((err) => {
+          this.defaultWaring(err);
+        });
+    },
+    saveBuriedSome(pathInfo) {
+      let params = {
+        doctorId: pathInfo.doctorId || "",
+        hospitalDeptId: pathInfo.hospitalDeptId || "",
+        hospitalId: pathInfo.hospitalDeptId || "",
+        inquiryCode: pathInfo.hospitalDeptId || "",
+        patientId: pathInfo.hospitalDeptId || "",
+        taggeds: this.addBuriedSomeList || [],
+      };
+      api.saveBuriedSome(params).then((res) => {
+        console.log("埋点");
+      });
     },
-    defaultWaring(res){
-      this.$store.commit('handleToggleShow', false);
-      this.showType = 'fail'
-      this.submit = true
+    defaultWaring(res) {
+      this.$store.commit("handleToggleShow", false);
+      this.showType = "fail";
+      this.submit = true;
       let timer = setTimeout(() => {
-        this.submit = false
-        clearTimeout(timer)
+        this.submit = false;
+        clearTimeout(timer);
       }, 2000);
-    }
+    },
   },
   components: {
     Submit,
     Loading,
-  }
-}
+  },
+};
 </script>
 <style lang="less" scoped>
 @import "../less/base.less";
@@ -385,7 +461,7 @@ export default {
 }
 .doctorData {
   float: right;
-  color: #0043E8;
+  color: #0043e8;
   margin-bottom: 30px;
   font-size: 14px;
 }
@@ -398,9 +474,9 @@ export default {
   top: 0;
   left: 0;
   box-sizing: border-box;
-  padding: 0 0.4rem 1rem .4rem;
+  padding: 0 0.4rem 1rem 0.4rem;
   overflow: hidden;
-  -webkit-overflow-scrolling:touch;
+  -webkit-overflow-scrolling: touch;
   .btscroll;
   .content {
     padding-top: 0;
@@ -408,7 +484,7 @@ export default {
   }
 }
 .tmpDiv {
-  height: .3rem;
+  height: 0.3rem;
 }
 
 .imgView {
@@ -427,11 +503,10 @@ export default {
     top: 50%;
     width: 100%;
     transform: translate(-50%, -50%);
-
   }
 }
 .imgTitle {
-  padding-bottom: .20rem;
+  padding-bottom: 0.2rem;
 }
 .personMsg {
   padding: 0.3rem 0.4rem;
@@ -439,10 +514,10 @@ export default {
   background-color: #fff;
   border-radius: 0.16rem;
   margin-bottom: 0.38rem;
-  box-shadow:0px 3px 20px 0px rgba(192,187,224,0.23);
+  box-shadow: 0px 3px 20px 0px rgba(192, 187, 224, 0.23);
   .previewParts {
     li {
-      padding: .1rem .3rem;
+      padding: 0.1rem 0.3rem;
       overflow: hidden;
     }
     /*li.imgLis {
@@ -451,24 +526,24 @@ export default {
     }*/
     h4 {
       color: #colors[quest];
-      font-size: .32rem;
+      font-size: 0.32rem;
       font-weight: bold;
       position: relative;
       i {
-        width: .12rem;
-        height: .12rem;
+        width: 0.12rem;
+        height: 0.12rem;
         border-radius: 50%;
-        background: #FFAD00;
+        background: #ffad00;
         display: inline-block;
         position: absolute;
-        top: .15rem;
+        top: 0.15rem;
         left: -0.3rem;
       }
     }
     p {
-      font-size: .28rem;
+      font-size: 0.28rem;
       color: #424242;
-      margin: .2rem 0;
+      margin: 0.2rem 0;
       word-break: break-all;
     }
   }
@@ -486,15 +561,15 @@ export default {
     color: #333333;
     letter-spacing: 0;
     text-align: justify;
-    margin-top: .2rem;
+    margin-top: 0.2rem;
     tr {
-      padding: .2rem 0;
-      line-height: .5rem;
+      padding: 0.2rem 0;
+      line-height: 0.5rem;
       td {
         padding-bottom: 0.1rem;
       }
       span {
-        color:#777;
+        color: #777;
         width: 1.6rem;
         display: inline-block;
       }
@@ -541,29 +616,29 @@ export default {
     background-color: #fff;
     box-sizing: border-box;
     width: 90%;
-    border-radius: .1rem;
+    border-radius: 0.1rem;
     overflow: hidden;
     .personMsg {
       max-height: 9rem;
       overflow: auto;
       width: 100%;
       border-radius: 0;
-      -webkit-overflow-scrolling:touch;
+      -webkit-overflow-scrolling: touch;
     }
   }
 }
 .close {
-  width: .34rem;
-  height: .34rem;
+  width: 0.34rem;
+  height: 0.34rem;
   position: absolute;
   right: 0;
   top: 0;
   padding: 8px;
   z-index: 1001;
 }
-  .sure{
-    position: fixed;
-    bottom: 0;
-    z-index: 100;
-  }
+.sure {
+  position: fixed;
+  bottom: 0;
+  z-index: 100;
+}
 </style>

+ 164 - 0
src/components/ScaleDetail.vue

@@ -0,0 +1,164 @@
+<template>
+  <div class="wrapper">
+    <div class="header">
+      <img src="../images/back.png" @click="goback()" />
+    </div>
+    <div class="content" ref="appContainer">
+      <h2>{{ list.title }}</h2>
+      <div
+        :class="isSure && item.checked == '' ? 'onColor item' : 'item'"
+        v-for="(item, index) in list.list"
+        :key="index"
+      >
+        <p><i>*</i>{{ item.title }}</p>
+        <van-radio-group v-model="item.checked">
+          <van-radio
+            v-for="(it, i) in item.scaleList"
+            :key="i"
+            icon-size="16px"
+            :name="it.score"
+            >{{ it.title }}({{ it.score }}分)</van-radio
+          >
+        </van-radio-group>
+      </div>
+    </div>
+    <button class="sure" @click="submit">确认</button>
+    <Toast
+      :message="message"
+      :show="showToast"
+      title="去填写"
+      title2="提交并预览病例"
+      @comfirn="comfirn"
+      @cancel="cancel"
+    />
+  </div>
+</template>
+<script>
+import { data } from "@utils/data.js";
+import Toast from "../common/Toast.vue";
+export default {
+  data() {
+    return {
+      list: [],
+      listtradio: 1,
+      showToast: false,
+      message: "量表填写成功,预问诊未填写是否去填写?",
+      isSure: false,
+    };
+  },
+  computed: {
+    score() {
+      let score = 0;
+      for (let i in this.list.list) {
+        score += parseInt(this.list.list[i].checked);
+      }
+      return score;
+    },
+    result() {
+      if (this.score < 20) {
+        return "未达到目标在过去4周内,哮喘可能没有得到控制。可以制订一个哮喘管理计划,帮助改善哮喘控制。";
+      } else if (this.score < 24 && this.score > 20) {
+        return "接近目标在过去4周内,哮喘已得到良好控制,但还没有完全控制。";
+      } else if (this.score > 25) {
+        return "在过去4周内,哮喘已得到完全控制。没有哮喘症状,生活也不受哮喘所限制。";
+      }
+    },
+  },
+  mounted() {
+    this.list = JSON.parse(JSON.stringify(data.asthmaScale))
+  },
+  components: {
+    Toast,
+  },
+  methods: {
+    goback() {
+      this.$router.go(-1);
+    },
+    onChange(item, i) {
+      this.list.list[i].checked = item.score;
+    },
+    comfirn() {
+      this.$router.push({
+        path: "/tab",
+      });
+    },
+    cancel() {
+      this.$router.push({
+        path: "/preview",
+      });
+    },
+    submit() {
+      let top, errorDiv;
+      this.isSure = true;
+      setTimeout(() => {
+        errorDiv = document.getElementsByClassName("onColor");
+        if (errorDiv.length > 0) {
+          top = errorDiv[0].getBoundingClientRect().top;
+          this.$refs.appContainer.scrollTo(0, top - 99);
+        } else {
+          const scaleList = [
+            {
+              dataJson: JSON.stringify(this.list.list),
+              result: this.result,
+              scaleName: this.list.title,
+              score: this.score,
+            },
+          ];
+          this.$store.commit("saveScaleInfo", scaleList);
+          this.showToast = true;
+        }
+      }, 0);
+    },
+
+    //
+  },
+};
+</script>
+<style lang="less" scoped>
+@import "../less/base.less";
+.header {
+  height: 0.8rem;
+  border-bottom: 3px solid #6678ff;
+  & img {
+    width: 0.16rem;
+    padding: 0.2rem 0.4rem 0.4rem 0.2rem;
+    float: left;
+  }
+}
+.content {
+  width: 100%;
+  height: calc(100vh - 1.6rem);
+  overflow-y: auto;
+  & h2 {
+    font-size: 0.4rem;
+    text-align: center;
+    margin-top: 0.3rem;
+  }
+  .item {
+    margin-top: 0.3rem;
+    padding: 0 0.24rem;
+    font-size: 0.28rem;
+    & p {
+      margin-bottom: 0.1rem;
+      & i {
+        color: red;
+      }
+    }
+  }
+  .onColor {
+    & p {
+      color: red;
+    }
+  }
+  .item:last-child {
+    padding-bottom: 0.5rem;
+  }
+}
+.sure {
+  width: 100%;
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  opacity: 1;
+}
+</style>

+ 120 - 0
src/components/ScaleShow.vue

@@ -0,0 +1,120 @@
+<template>
+  <div class="wrapper">
+    <div class="content">
+      <h2>{{ list.scaleName }}</h2>
+      <div class="result">
+        <div class="box">
+          <p class="score">得分:{{ list.score }}分</p>
+          <p class="title">结果:{{ list.result }}</p>
+        </div>
+      </div>
+      <div class="item" v-for="(item, index) in scaleInfo.list" :key="index">
+        <p>{{ item.title }}</p>
+        <ul>
+          <li v-for="(it, i) in item.scaleList" :key="i">
+            <img :src="item.checked == it.score ? check : defaul" />
+            <span>{{ it.title }}({{ it.score }})</span>
+          </li>
+        </ul>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+import api from "@utils/api.js";
+export default {
+  data() {
+    return {
+      list: [],
+      scaleInfo: [],
+      check: require("../images/radio-check.png"),
+      defaul: require("../images/radio-default.png"),
+    };
+  },
+  mounted() {
+    let query = this.$route.query;
+    this.getScale(query.inquiryId, query.scaleName);
+  },
+  methods: {
+    getScale(inquiryId, scaleName) {
+      const param = {
+        inquiryId: inquiryId,
+        scaleName: scaleName,
+      };
+      api.getScale(param).then((res) => {
+        this.list = res.data.data;
+        this.scaleInfo = JSON.parse(res.data.data.dataJson);
+      });
+    },
+  },
+};
+</script>
+<style lang="less" scoped>
+.wrapper {
+  height: 100vh;
+  overflow-y: auto;
+  background: #e6e6e6;
+  .content {
+    height: calc(100vh - 60px);
+    overflow-y: auto;
+    margin: 30px;
+    background: #fff;
+    & h2 {
+      font-size: 20px;
+      text-align: center;
+      margin-top: 15px;
+    }
+    .result {
+      display: flex;
+      font-size: 14px;
+      justify-content: center;
+      align-items: center;
+      padding: 0 24px;
+      .box {
+        display: flex;
+        padding: 20px 0;
+        border-bottom: 1px solid #e6e6e6;
+        border-top: 1px solid #e6e6e6;
+        & p {
+          line-height: 20px;
+        }
+        .score {
+          width: 100px;
+          margin-right: 15px;
+        }
+        .title {
+          flex: 1;
+          margin: 0;
+          color: #666666;
+          font-weight: 500;
+        }
+      }
+    }
+    .item {
+      margin: 15px 24px 0;
+      font-size: 14px;
+      padding-bottom: 15px;
+      border-bottom: 1px solid #e6e6e6;
+      & p {
+        margin-bottom: 7px;
+      }
+      ul {
+        display: flex;
+        flex-flow: wrap;
+        li {
+          display: flex;
+          align-items: center;
+          margin-right: 15px;
+        }
+      }
+      & img {
+        width: 16px;
+        margin-right: 7px;
+      }
+    }
+    .item:last-child {
+      border-bottom: none;
+    }
+  }
+}
+</style>

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 423 - 346
src/components/Symptom.vue


BIN
src/images/scale.png


+ 4 - 1
src/main.js

@@ -8,7 +8,10 @@ import PortalVue from 'portal-vue';
 import './utils/getfile.js';
 import Picker from 'vant/lib/picker';
 import 'vant/lib/picker/style';
-
+import { RadioGroup, Radio } from 'vant';
+import 'vant/lib/Radio/style';
+Vue.use(Radio);
+Vue.use(RadioGroup);
 
 Vue.use(PortalVue);
 Vue.use(preview);

+ 28 - 1
src/router/index.js

@@ -10,11 +10,14 @@ import Others from '@components/Others.vue';
 import AddContent from '@components/AddContent.vue';
 import Preview from '@components/Preview.vue';
 import Department from '@components/Department.vue';
+import ChooseScale from '@components/ChooseScale.vue';
+import ScaleDetail from '@components/ScaleDetail.vue';
+import ScaleShow from '@components/ScaleShow.vue';
 Vue.use(Router);
 const router = new Router({
   routes:[
     {
-      path:'/',
+      path:'/login',
       name:'Login',
       meta:{
         title:'智能预问诊'
@@ -71,6 +74,30 @@ const router = new Router({
         title:'预览病历'
       },
       component:Preview
+    },
+    {
+      path:'/chooseScale',
+      name:'chooseScale',
+      meta:{
+        title:'量表'
+      },
+      component:ChooseScale
+    },
+    {
+      path:'/scaleDetail',
+      name:'scaleDetail',
+      meta:{
+        title:'量表评估'
+      },
+      component:ScaleDetail
+    },
+    {
+      path:'/scaleShow',
+      name:'scaleShow',
+      meta:{
+        title:'量表详情'
+      },
+      component:ScaleShow
     }
   ]
 })

+ 5 - 0
src/store.js

@@ -7,6 +7,7 @@ const store = new Vuex.Store({
   state:{
     searchShow:false,
     pathInfo:{}, //患者信息-后续提交要用
+    scaleInfo:{},//量表信息
     sysConfig:[], //系统配置项
     allMoudles:[], //模板
     extPushSymptom:[],      //后台维护的伴随症状
@@ -180,6 +181,10 @@ const store = new Vuex.Store({
       obj.sexType = obj.patientSex == '男' ? 1 : (obj.patientSex == '女' ? 2 : 3);
       state.pathInfo = obj;
     },
+    saveScaleInfo(state,param){
+      let obj = param;
+      state.scaleInfo = obj;
+    },
     saveSysConfig(state,param){
       state.sysConfig = param;
       let tabType = {

+ 7 - 0
src/utils/api.js

@@ -18,7 +18,10 @@ const urls = {
   signIn:'/api/prec/patientInfo/signIn',//登录
   getDisclaimerInformations:'/api/prec/disclaimerInformation/getDisclaimerInformations',//配置文案
   saveBuriedSome:'/api/prec/statistical/saveBuriedSome',//埋点
+  getScale:'/api/prec/inquiryInfoSyf/getScale',//获取量表结果
+  
   // uploadImageThums:'http://192.168.3.1:8849/file/uploadImageThums',//多个文件上传同时生成缩略图
+
 }
 
 export default {
@@ -70,4 +73,8 @@ export default {
   signIn(param){
     return axios.post(urls.signIn,param)
   },
+  getScale(param){
+    return axios.post(urls.getScale,param)
+  },
+  
 }

+ 347 - 248
src/utils/data.js

@@ -1,345 +1,444 @@
 export const data = {
-    symptom:{
-        question:'是否有以下症状?',
-        type:'1',//单选1多选2滚动3
-        show:true,//当前问题是否需要显示
-        result:[//症状
+    symptom: {
+        question: '是否有以下症状?',
+        type: '1',//单选1多选2滚动3
+        show: true,//当前问题是否需要显示
+        result: [//症状
             {
-                'name':'发热',
-                'value':'1.1',//规则里面的数据
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':['1001','1002','1003','1004','1005']//关联问题的id
-            },{
-                'name':'咽喉痛',
-                'value':'1.2',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':[]
-            },{
-                'name':'咳嗽',
-                'value':'1.3',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':['1006']
-            },{
-                'name':'鼻塞',
-                'value':'1.4',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':[]
-            },{
-                'name':'流鼻涕',
-                'value':'1.5',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':[]
-            },{
-                'name':'胸闷',
-                'value':'1.6',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':['1008']
-            },{
-                'name':'气急',
-                'value':'1.7',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':['1009']
-            },{
-                'name':'呼吸困难',
-                'value':'1.8',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':[]
-            },{
-                'name':'全身酸痛',
-                'value':'1.9',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':[]
-            },{
-                'name':'乏力',
-                'value':'1.11',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':[]
-            },{
-                'name':'腹泻',
-                'value':'1.12',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':['1007']
-            },{
-                'name':'都没有',
-                'value':'1.13',
-                'special':'2',//1为正常选项,2为互斥项
-                'connectId':[]
+                'name': '发热',
+                'value': '1.1',//规则里面的数据
+                'special': '1',//1为正常选项,2为互斥项
+                'connectId': ['1001', '1002', '1003', '1004', '1005']//关联问题的id
+            }, {
+                'name': '咽喉痛',
+                'value': '1.2',
+                'special': '1',//1为正常选项,2为互斥项
+                'connectId': []
+            }, {
+                'name': '咳嗽',
+                'value': '1.3',
+                'special': '1',//1为正常选项,2为互斥项
+                'connectId': ['1006']
+            }, {
+                'name': '鼻塞',
+                'value': '1.4',
+                'special': '1',//1为正常选项,2为互斥项
+                'connectId': []
+            }, {
+                'name': '流鼻涕',
+                'value': '1.5',
+                'special': '1',//1为正常选项,2为互斥项
+                'connectId': []
+            }, {
+                'name': '胸闷',
+                'value': '1.6',
+                'special': '1',//1为正常选项,2为互斥项
+                'connectId': ['1008']
+            }, {
+                'name': '气急',
+                'value': '1.7',
+                'special': '1',//1为正常选项,2为互斥项
+                'connectId': ['1009']
+            }, {
+                'name': '呼吸困难',
+                'value': '1.8',
+                'special': '1',//1为正常选项,2为互斥项
+                'connectId': []
+            }, {
+                'name': '全身酸痛',
+                'value': '1.9',
+                'special': '1',//1为正常选项,2为互斥项
+                'connectId': []
+            }, {
+                'name': '乏力',
+                'value': '1.11',
+                'special': '1',//1为正常选项,2为互斥项
+                'connectId': []
+            }, {
+                'name': '腹泻',
+                'value': '1.12',
+                'special': '1',//1为正常选项,2为互斥项
+                'connectId': ['1007']
+            }, {
+                'name': '都没有',
+                'value': '1.13',
+                'special': '2',//1为正常选项,2为互斥项
+                'connectId': []
             }
         ]
     },
-    allquestion:[
+    allquestion: [
         {
-        question:'是否有以下症状?(可多选)',
-        type:'2',//单选1多选2滚动3
-        show:true,//当前问题是否需要显示
-        result:[//症状
-            {
-                'name':'发热',
-                'value':'1.1',//规则里面的数据
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':['1001','1002','1003','1004','1005']//关联问题的id
-            },{
-                'name':'咽喉痛',
-                'value':'1.2',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':[]
-            },{
-                'name':'咳嗽',
-                'value':'1.3',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':['1006']
-            },{
-                'name':'鼻塞',
-                'value':'1.4',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':[]
-            },{
-                'name':'流鼻涕',
-                'value':'1.5',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':[]
-            },{
-                'name':'胸闷',
-                'value':'1.6',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':['1008']
-            },{
-                'name':'气急',
-                'value':'1.7',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':['1009']
-            },{
-                'name':'呼吸困难',
-                'value':'1.8',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':[]
-            },{
-                'name':'全身酸痛',
-                'value':'1.9',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':[]
-            },{
-                'name':'乏力',
-                'value':'1.11',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':[]
-            },{
-                'name':'腹泻',
-                'value':'1.12',
-                'special':'1',//1为正常选项,2为互斥项
-                'connectId':['1007']
-            },{
-                'name':'都没有',
-                'value':'1.13',
-                'special':'2',//1为正常选项,2为互斥项
-                'connectId':[]
-            }
-        ]
+            question: '是否有以下症状?(可多选)',
+            type: '2',//单选1多选2滚动3
+            show: true,//当前问题是否需要显示
+            result: [//症状
+                {
+                    'name': '发热',
+                    'value': '1.1',//规则里面的数据
+                    'special': '1',//1为正常选项,2为互斥项
+                    'connectId': ['1001', '1002', '1003', '1004', '1005']//关联问题的id
+                }, {
+                    'name': '咽喉痛',
+                    'value': '1.2',
+                    'special': '1',//1为正常选项,2为互斥项
+                    'connectId': []
+                }, {
+                    'name': '咳嗽',
+                    'value': '1.3',
+                    'special': '1',//1为正常选项,2为互斥项
+                    'connectId': ['1006']
+                }, {
+                    'name': '鼻塞',
+                    'value': '1.4',
+                    'special': '1',//1为正常选项,2为互斥项
+                    'connectId': []
+                }, {
+                    'name': '流鼻涕',
+                    'value': '1.5',
+                    'special': '1',//1为正常选项,2为互斥项
+                    'connectId': []
+                }, {
+                    'name': '胸闷',
+                    'value': '1.6',
+                    'special': '1',//1为正常选项,2为互斥项
+                    'connectId': ['1008']
+                }, {
+                    'name': '气急',
+                    'value': '1.7',
+                    'special': '1',//1为正常选项,2为互斥项
+                    'connectId': ['1009']
+                }, {
+                    'name': '呼吸困难',
+                    'value': '1.8',
+                    'special': '1',//1为正常选项,2为互斥项
+                    'connectId': []
+                }, {
+                    'name': '全身酸痛',
+                    'value': '1.9',
+                    'special': '1',//1为正常选项,2为互斥项
+                    'connectId': []
+                }, {
+                    'name': '乏力',
+                    'value': '1.11',
+                    'special': '1',//1为正常选项,2为互斥项
+                    'connectId': []
+                }, {
+                    'name': '腹泻',
+                    'value': '1.12',
+                    'special': '1',//1为正常选项,2为互斥项
+                    'connectId': ['1007']
+                }, {
+                    'name': '都没有',
+                    'value': '1.13',
+                    'special': '2',//1为正常选项,2为互斥项
+                    'connectId': []
+                }
+            ]
         },
         {
-            id:'1001',
-            type:'1',
-            show:false,
-            question:'目前体温是多少?',
-            result:[
+            id: '1001',
+            type: '1',
+            show: false,
+            question: '目前体温是多少?',
+            result: [
                 {
-                    'name':'<37.3℃',
+                    'name': '<37.3℃',
                 },
                 {
-                    'name':'≥37.3℃',
+                    'name': '≥37.3℃',
                 }
             ]
         },
         {
-            id:'1002',
-            type:'3',
-            show:false,
-            question:'最高体温是多少?',
-            result:[
+            id: '1002',
+            type: '3',
+            show: false,
+            question: '最高体温是多少?',
+            result: [
                 {
-                    'name':'37.3℃',
+                    'name': '37.3℃',
                 },
                 {
-                    'name':'37.4℃',
+                    'name': '37.4℃',
                 },
                 {
-                    'name':'37.5℃',
+                    'name': '37.5℃',
                 },
                 {
-                    'name':'37.6℃',
+                    'name': '37.6℃',
                 },
                 {
-                    'name':'37.7℃',
+                    'name': '37.7℃',
                 },
                 {
-                    'name':'37.8℃',
+                    'name': '37.8℃',
                 },
                 {
-                    'name':'37.9℃',
+                    'name': '37.9℃',
                 },
                 {
-                    'name':'38.0℃',
+                    'name': '38.0℃',
                 }
             ]
         },
         {
-            id:'1003',
-            type:'1',
-            show:false,
-            question:'发热时有没有以下情况?',
-            result:[
+            id: '1003',
+            type: '1',
+            show: false,
+            question: '发热时有没有以下情况?',
+            result: [
                 {
-                    'name':'发热体温持续不退',
-                },{
-                    'name':'体温一直大于38℃',
-                },{
-                    'name':'都没有'
+                    'name': '发热体温持续不退',
+                }, {
+                    'name': '体温一直大于38℃',
+                }, {
+                    'name': '都没有'
                 }
             ]
         },
         {
-            id:'1004',
-            type:'1',
-            show:false,
-            question:'发热后有没有吃退热药?',
-            result:[
+            id: '1004',
+            type: '1',
+            show: false,
+            question: '发热后有没有吃退热药?',
+            result: [
                 {
-                    'name':'有吃退热药',
-                },{
-                    'name':'没有吃退热药',
+                    'name': '有吃退热药',
+                }, {
+                    'name': '没有吃退热药',
                 }
             ]
         },
         {
-            id:'1005',
-            type:'1',
-            show:false,
-            question:'吃退热药后的体温情况是?',
-            result:[
+            id: '1005',
+            type: '1',
+            show: false,
+            question: '吃退热药后的体温情况是?',
+            result: [
                 {
-                    'name':'体温下降',
-                },{
-                    'name':'体温下降又升高',
-                },{
-                    'name':'体温没有下降'
+                    'name': '体温下降',
+                }, {
+                    'name': '体温下降又升高',
+                }, {
+                    'name': '体温没有下降'
                 }
             ]
         },
         {
-            id:'1006',
-            type:'1',
-            show:false,
-            question:'有没有咳痰?',
-            result:[
+            id: '1006',
+            type: '1',
+            show: false,
+            question: '有没有咳痰?',
+            result: [
                 {
-                    'name':'没有咳痰(干咳)',
-                },{
-                    'name':'有咳痰'
+                    'name': '没有咳痰(干咳)',
+                }, {
+                    'name': '有咳痰'
                 },
             ]
         },
         {
-            id:'1007',
-            type:'1',
-            show:false,
-            question:'有没有腹泻加重?',
-            result:[
+            id: '1007',
+            type: '1',
+            show: false,
+            question: '有没有腹泻加重?',
+            result: [
                 {
-                    'name':'有',
-                },{
-                    'name':'没有',
+                    'name': '有',
+                }, {
+                    'name': '没有',
                 }
             ]
         },
         {
-            id:'1008',
-            type:'1',
-            show:false,
-            question:'有没有胸闷加重?',
-            result:[
+            id: '1008',
+            type: '1',
+            show: false,
+            question: '有没有胸闷加重?',
+            result: [
                 {
-                    'name':'有',
-                },{
-                    'name':'没有',
+                    'name': '有',
+                }, {
+                    'name': '没有',
                 }
             ]
         },
         {
-            id:'1009',
-            type:'1',
-            show:false,
-            question:'有没有气急加重?',
-            result:[
+            id: '1009',
+            type: '1',
+            show: false,
+            question: '有没有气急加重?',
+            result: [
                 {
-                    'name':'有',
-                },{
-                    'name':'没有',
+                    'name': '有',
+                }, {
+                    'name': '没有',
                 }
             ]
         },
         {
-            id:'2001',
-            type:'1',
-            show:false,
-            question:'本次不舒服有多久了?',
-            result:[
+            id: '2001',
+            type: '1',
+            show: false,
+            question: '本次不舒服有多久了?',
+            result: [
                 {
-                    'name':'14天以内',
+                    'name': '14天以内',
                 },
                 {
-                    'name':'14天以上',
+                    'name': '14天以上',
                 }
             ]
-        },{
-            id:'2002',
-            type:'2',
-            show:false,
-            question:'近14天有没有以下情况?',
-            result:[
+        }, {
+            id: '2002',
+            type: '2',
+            show: false,
+            question: '近14天有没有以下情况?',
+            result: [
                 {
-                    'name':'有武汉(湖北)、温州、台州旅游史或居住史',
-                    'special':'1',//1为正常选项,2为互斥项
-                    'value':'2.1',
+                    'name': '有武汉(湖北)、温州、台州旅游史或居住史',
+                    'special': '1',//1为正常选项,2为互斥项
+                    'value': '2.1',
                 },
                 {
-                    'name':'有接触过来自武汉(湖北)、温州、台州的人员',
-                    'special':'1',//1为正常选项,2为互斥项
-                    'value':'2.2'
+                    'name': '有接触过来自武汉(湖北)、温州、台州的人员',
+                    'special': '1',//1为正常选项,2为互斥项
+                    'value': '2.2'
                 },
                 {
-                    'name':'有接触过疑似或确诊新型冠状病毒感染者',
-                    'special':'1',//1为正常选项,2为互斥项
-                    'value':'2.3'
+                    'name': '有接触过疑似或确诊新型冠状病毒感染者',
+                    'special': '1',//1为正常选项,2为互斥项
+                    'value': '2.3'
                 },
                 {
-                    'name':'身边有多人出现发热、乏力、咳嗽、咽痛等',
-                    'special':'1',//1为正常选项,2为互斥项
-                    'value':'2.4'
+                    'name': '身边有多人出现发热、乏力、咳嗽、咽痛等',
+                    'special': '1',//1为正常选项,2为互斥项
+                    'value': '2.4'
                 },
                 {
-                    'name':'都没有',
-                    'special':'2',//1为正常选项,2为互斥项
-                    'value':'2.5'
+                    'name': '都没有',
+                    'special': '2',//1为正常选项,2为互斥项
+                    'value': '2.5'
                 }
             ]
         },
     ],
     resultList: [
         {
-            result1:['1.1','1.2','1.3','1.4','1.5','1.6','1.7','1.8','1.9','1.11','1.12'],
-            result2:['2.1','2.2','2.3','2.4']
+            result1: ['1.1', '1.2', '1.3', '1.4', '1.5', '1.6', '1.7', '1.8', '1.9', '1.11', '1.12'],
+            result2: ['2.1', '2.2', '2.3', '2.4']
         },
         {
-            result1:['1.1','1.2','1.3','1.4','1.5','1.6','1.7','1.8','1.9','1.11','1.12'],
-            result2:['2.5']
+            result1: ['1.1', '1.2', '1.3', '1.4', '1.5', '1.6', '1.7', '1.8', '1.9', '1.11', '1.12'],
+            result2: ['2.5']
         },
         {
-            result1:['1.13'],
-            result2:['2.1','2.2','2.3','2.4']
+            result1: ['1.13'],
+            result2: ['2.1', '2.2', '2.3', '2.4']
         },
         {
-            result1:['1.13'],
-            result2:['2.5']
+            result1: ['1.13'],
+            result2: ['2.5']
         },
-    ]
+    ],
+    asthmaScale: {
+        title: '哮喘控制测试(ACT评分表)',
+        list: [{
+            title: '1、在过去4周内,在工作、学习或家中,有多少时候哮喘妨碍您进行日常活动?',
+            checked:'',
+            scaleList: [{
+                title: '所有时间',
+                score: '1'
+            }, {
+                title: '大多数时候',
+                score: '2'
+            }, {
+                title: '有些时候',
+                score: '3'
+            }, {
+                title: '很少时候',
+                score: '4'
+            }, {
+                title: '没有',
+                score: '5'
+            }]
+        },{
+            title: '2、在过去4周内,您有多少次呼吸困难?',
+            checked:'',
+            scaleList: [{
+                title: '每天不止1次',
+                score: 1
+            }, {
+                title: '一天1次',
+                score: 2
+            }, {
+                title: '每周3至6次',
+                score: 3
+            }, {
+                title: '每周1至2次',
+                score: 4
+            }, {
+                title: '完全没有',
+                score: 5
+            }]
+        },{
+            title: '3、在过去4周内,因为哮喘症状(喘息、咳嗽、呼吸困难、胸闷或疼痛),您有多少次在夜间醒来或早上比平时早醒?',
+            checked:'',
+            scaleList: [{
+                title: '每周4晚或更多',
+                score: 1
+            }, {
+                title: '每周2至3晚',
+                score: 2
+            }, {
+                title: '每周1次',
+                score: 3
+            }, {
+                title: '1至2次',
+                score: 4
+            }, {
+                title: '没有',
+                score: 5
+            }]
+        },{
+            title: '4、在过去4周内,您有多少次使用急救药物治疗(如沙丁胺醇)?',
+            checked:'',
+            scaleList: [{
+                title: '每天3次以上',
+                score: 1
+            }, {
+                title: '每天1至2次',
+                score: 2
+            }, {
+                title: '每周2至3次',
+                score: '3'
+            }, {
+                title: '每周1次或更少',
+                score: 4
+            }, {
+                title: '没有',
+                score: 5
+            }]
+        },{
+            title: '5、您如何评估过去4周内您的哮喘控制情况?',
+            checked:'',
+            scaleList: [{
+                title: '没有控制',
+                score: 1
+            }, {
+                title: '控制很差',
+                score: 2
+            }, {
+                title: '有所控制',
+                score: 3
+            }, {
+                title: '控制很好',
+                score: 4
+            }, {
+                title: '完全控制',
+                score: 5
+            }]
+        }]
+    },
 }