Your Name 2 年之前
父节点
当前提交
06e0ed5c92

+ 4 - 0
index.html

@@ -11,9 +11,13 @@
     <!-- built files will be auto injected -->
   </body>
   <style>
+    html{
+      font-size: 16px;
+    }
     body{
       margin:0px;
       padding:0px;
+      font-size: 16px;
     }
   </style>
 </html>

+ 10 - 1
src/App.vue

@@ -142,5 +142,14 @@
   .searchInput{
     border-radius: 1rem;
   }
-
+  .inputDisable input:disabled {
+    background-color: #fff!important;
+  }
+  .rowfont{
+      font-size:1rem;
+      text-align:left;
+      padding-left:10px;
+      line-height: 2rem;
+      height: 2rem;
+    }
 </style>

+ 72 - 16
src/components/DiagCalc.vue

@@ -5,24 +5,24 @@
       <div class="title">FVIII药代动力学检测</div>
       <div class="diagForm">
         <mt-field label="病例体重(kg)" placeholder="请输入病例体重(整数或1位小数)" type="number" v-model="form.bltz"></mt-field>
-        <mt-field label="注射量" placeholder="请输入注射计量(整数)" v-model="form.zsjl" type="number"></mt-field>
-        <mt-field disabled label="注射时间t0" placeholder="请选择注射时间" v-model="form.zssjt0"
+        <mt-field label="注射量" placeholder="请输入注射计量(整数)" v-model="form.zsjl" type="number"></mt-field>
+        <mt-field class="inputDisable" disabled label="注射时间t0" placeholder="请选择注射时间" v-model="form.zssjt0"
           @click.native="$refs.t0Picker.open()">
           <img src="../assets/images/down.png" alt="" width="16px">
         </mt-field>
         <mt-field label="基础活性%" placeholder="请输入基础活性(2位小数)" v-model="form.jchx"></mt-field>
         <mt-field label="注射后半小时内活性%" placeholder="请输入半小时内活性%" v-model="form.zs30hx"></mt-field>
-        <mt-field disabled label="采血时间t1" placeholder="请输入采血时间t1" v-model="form.cxsjt1"
+        <mt-field class="inputDisable" disabled label="采血时间t1" placeholder="请输入采血时间t1" v-model="form.cxsjt1"
           @click.native="$refs.t1Picker.open()">
           <img src="../assets/images/down.png" alt="" width="16px">
         </mt-field>
         <mt-field label="t1点活性%" placeholder="请输入t1点活性%(2位小数)" v-model="form.t1hx"></mt-field>
-        <mt-field disabled label="采血时间t2" placeholder="请输入采血时间t2" v-model="form.cxsjt2"
+        <mt-field class="inputDisable" disabled label="采血时间t2" placeholder="请输入采血时间t2" v-model="form.cxsjt2"
           @click.native="$refs.t2Picker.open()">
           <img src="../assets/images/down.png" alt="" width="16px">
         </mt-field>
         <mt-field label="t2点活性%" placeholder="请输入t2点活性%(2位小数)" v-model="form.t2hx"></mt-field>
-        <mt-field disabled label="采血时间t3" placeholder="请输入采血时间t3" v-model="form.cxsjt3"
+        <mt-field class="inputDisable" disabled label="采血时间t3" placeholder="请输入采血时间t3" v-model="form.cxsjt3"
           @click.native="$refs.t3Picker.open()">
           <img src="../assets/images/down.png" alt="" width="16px">
         </mt-field>
@@ -31,7 +31,7 @@
       <div class="diagForm">
         <div class="formTitle">血友病治疗方案</div>
         <mt-field label="预防谷活性" type="number" placeholder="请输入预防谷活性(2位小数)" v-model="form.yfghx"></mt-field>
-        <mt-field disabled label="注射频次" placeholder="请选择注射频次" v-model="form.zspc" @click.native="mfreqFlag=true">
+        <mt-field class="inputDisable" disabled label="注射频次" placeholder="请选择注射频次" v-model="form.zspc" @click.native="mfreqFlag=true">
           <img src="../assets/images/down.png" alt="" width="16px">
         </mt-field>
       </div>
@@ -98,7 +98,7 @@
         },
         slots1: [{
           flex: 1,
-          values: ['每周2次', '每周3次', '每天1次', '每2天1次', '每3天1次'],
+          values: this.$const.zspc,
           className: 'slot1',
           textAlign: 'center'
         }],
@@ -135,13 +135,29 @@
             message: '请输入病例体重'
           })
           return
+        }else{
+          if(!this.$recheck.checkIntFloat1(this.form.bltz)){
+            MessageBox({
+              title: '提示',
+              message: '病例体重请输入整数或1位小数'
+            })
+            return
+          }
         }
         if (!this.form.zsjl) {
           MessageBox({
             title: '提示',
-            message: '请输入注射剂量?'
+            message: '请输入注射剂量'
           })
           return
+        }else{
+          if(!this.$recheck.checkInt(this.form.zsjl)){
+            MessageBox({
+              title: '提示',
+              message: '注射剂量请输入整数'
+            })
+            return
+          }
         }
         if (!this.form.zssjt0) {
           MessageBox({
@@ -163,60 +179,100 @@
             message: '请输入注射后半小时内活性?'
           })
           return
+        }else{
+          if(!this.$recheck.checkIntFloat12(this.form.zs30hx)){
+            MessageBox({
+              title: '提示',
+              message: '注射后半小时内活性请输入整数或2位小数'
+            })
+            return
+          }
         }
         if (!this.form.cxsjt1) {
           MessageBox({
             title: '提示',
-            message: '请选择采血时间t1?'
+            message: '请选择采血时间t1'
           })
           return
         }
         if (!this.form.t1hx) {
           MessageBox({
             title: '提示',
-            message: '请输入t1点活性?'
+            message: '请输入t1点活性'
           })
           return
+        }else{
+          if(!this.$recheck.checkIntFloat12(this.form.t1hx)){
+            MessageBox({
+              title: '提示',
+              message: 't1点活性请输入整数或2位小数'
+            })
+            return
+          }
         }
         if (!this.form.cxsjt2) {
           MessageBox({
             title: '提示',
-            message: '请选择采血时间t2?'
+            message: '请选择采血时间t2'
           })
           return
         }
         if (!this.form.t2hx) {
           MessageBox({
             title: '提示',
-            message: '请输入t2点活性?'
+            message: '请输入t2点活性'
           })
           return
+        }else{
+          if(!this.$recheck.checkIntFloat12(this.form.t2hx)){
+            MessageBox({
+              title: '提示',
+              message: 't2点活性请输入整数或2位小数'
+            })
+            return
+          }
         }
         if (!this.form.cxsjt3) {
           MessageBox({
             title: '提示',
-            message: '请选择采血时间t3?'
+            message: '请选择采血时间t3'
           })
           return
         }
         if (!this.form.t3hx) {
           MessageBox({
             title: '提示',
-            message: '请输入t3点活性?'
+            message: '请输入t3点活性'
           })
           return
+        }else{
+          if(!this.$recheck.checkIntFloat12(this.form.t3hx)){
+            MessageBox({
+              title: '提示',
+              message: 't3点活性请输入整数或2位小数'
+            })
+            return
+          }
         }
         if (!this.form.yfghx) {
           MessageBox({
             title: '提示',
-            message: '请输入预防谷活性?'
+            message: '请输入预防谷活性'
           })
           return
+        }else{
+          if(!this.$recheck.checkIntFloat12(this.form.yfghx)){
+            MessageBox({
+              title: '提示',
+              message: '预防谷活性请输入整数或2位小数'
+            })
+            return
+          }
         }
         if (!this.form.zspc) {
           MessageBox({
             title: '提示',
-            message: '请选择注射频次?'
+            message: '请选择注射频次'
           })
           return
         }

+ 1 - 1
src/components/DocIndex.vue

@@ -62,7 +62,7 @@
 
     .bgimg {
       width: 100%;
-      height: 22.8rem;
+      height: 24.8rem;
       // border:1px solid red;
       /* top: 10rem; */
       position: absolute;

+ 10 - 2
src/components/DocLogin.vue

@@ -6,10 +6,10 @@
       <div class="loginForm">
         <mt-field placeholder="姓 名" v-model="form.name"></mt-field>
         <div style="display:flex;">
-          <div style="width:80%;">
+          <div style="width:75%;">
             <mt-field placeholder="手机号" v-model="form.phone"></mt-field>
           </div>
-          <div style="width:20%;">
+          <div style="width:25%;">
             <mt-button :disabled="disable" type="primary" class="sendPhcode" @click="timeCounter">{{timeCouterText}}
             </mt-button>
           </div>
@@ -69,6 +69,14 @@
             message: '请输入手机号?'
           })
           return
+        }else {
+          if (!this.$recheck.checkPhone(this.form.phone)) {
+            MessageBox({
+              title: '提示',
+              message: '请输入正确的手机号'
+            })
+            return 
+          }
         }
         let _this = this
         this.$api.sendPhcode(this.form).then(res=>{})

+ 1 - 1
src/components/Index.vue

@@ -36,7 +36,7 @@
     background:#fff;
     .bgimg {
       width: 100%;
-      height: 14rem;
+      height: 12.3rem;
       margin-top: 3rem;
       position: absolute;
       background-image: url("../assets/images/entrybg.jpg");

+ 2 - 2
src/components/PatCaseList.vue

@@ -9,7 +9,7 @@
           </mt-field>
       </div>
       <div class="patCaseForm baseInfo" v-for="(item,index) in caseList">
-          <mt-cell :title="'姓名:'+item.name" :value="'病例ID:'+item.code"></mt-cell>
+          <mt-cell :title="'姓名:'+item.name" :value="'ID:'+item.code"></mt-cell>
           <mt-cell :title="'年龄:'+item.age" :value="'性别:'+item.sex"></mt-cell>
           <mt-cell :title="'使用产品:'+item.mpro" :value="'注射剂量:'+item.zsjl"></mt-cell>
           <mt-cell :title="'注射频次:'+item.zspc"></mt-cell>
@@ -115,7 +115,7 @@
     }
   }
   .container{
-    height: 100%;
+    height: 100vh;
   }
   .footer {
     display: flex;

+ 2 - 2
src/components/PatClockIn.vue

@@ -4,10 +4,10 @@
     <div class="content">
       <div class="title">注射打卡</div>
       <div class="loginForm">
-        <mt-field label="产品选择" v-model="form.mpro" @focus.native.capture="mproFlag=true" placeholder="请选择使用的产品">
+        <mt-field class="inputDisable" disabled label="产品选择" v-model="form.mpro" @click.native="mproFlag=true;mfreqFlag=false" placeholder="请选择使用的产品">
           <img src="../assets/images/down.png" alt="" width="16px">
         </mt-field>
-        <mt-field label="注射频次" v-model="form.mfreq" @focus.native.capture="mfreqFlag=true" placeholder="请选择使用的剂量">
+        <mt-field class="inputDisable" disabled label="注射频次" v-model="form.mfreq" @click.native="mfreqFlag=true;mproFlag=false" placeholder="请选择使用的剂量">
           <img src="../assets/images/down.png" alt="" width="16px">
         </mt-field>
       </div>

+ 10 - 8
src/components/PatIndex.vue

@@ -19,12 +19,12 @@
             </div>
             <div class="lritem right">
               <p style="margin:5px 0px;color:red;font-weight:bold;font-size:1.5rem">FVIII浓度:{{latestCase.FVIII}}</p>
-              <mt-cell title="参考方案"></mt-cell>
-              <mt-cell :title="'1.产品:'+latestCase.mpro"></mt-cell>
-              <mt-cell :title="'2.剂量:'+latestCase.zsjl"></mt-cell>
-              <mt-cell :title="'3.频次:'+latestCase.mfreq"></mt-cell>
-              <mt-cell title="本结果仅供参考,"></mt-cell>
-              <mt-cell title="具体治疗方案请遵医嘱执行"></mt-cell>
+              <div class="rowfont">参考方案</div>
+              <div class="rowfont">1.产品:{{latestCase.mpro}}</div>
+              <div class="rowfont">2.剂量:{{latestCase.zsjl}}</div>
+              <div class="rowfont">3.频次:{{latestCase.mfreq}}</div>
+              <div class="rowfont">本结果仅供参考,</div>
+              <div class="rowfont">具体治疗方案请遵医嘱执行</div>
             </div>
           </div>
           <div class="footer">
@@ -113,7 +113,7 @@
 
     .bgimg {
       width: 100%;
-      height: 22.8rem;
+      height: 24.8rem;
       // border:1px solid red;
       /* top: 10rem; */
       position: absolute;
@@ -162,17 +162,19 @@
       .lritem {
         justify-content: space-between;
         height: 15rem;
+        margin-left:1rem;
 
         .left {
           width: 40%;
         }
 
         .personRatio {
-          height: 15rem;
+          height: 12rem;
           width: 4.2rem;
           margin: auto;
           background-image: url("../assets/images/personbg.png");
           background-size: 100% 100%;
+          margin-top:2rem;
         }
 
         .mint-cell {

+ 7 - 2
src/components/PatInjectionList.vue

@@ -4,7 +4,7 @@
     <div class="content">
       <div class="title">注射记录</div>
       <div class="injectionListForm baseInfo">
-        <div style="width:50%;font-size:1.2rem;text-align: center;margin:1rem auto;font-weight: bold;">姓名:{{patinfo.name}}</div>
+        <div style="width:90%;font-size:1.2rem;text-align: center;margin:1rem auto;font-weight: bold;">姓名:{{patinfo.name}}</div>
         <div class="listItemContainer">
           <div class="listItem" style="width:70%;background:#6DA2FE;color:#fff;">打卡时间</div>
           <div class="listItem" style="background:#6DA2FE;color:#fff;">使用产品</div>
@@ -43,7 +43,7 @@
     data() {
       return {
         form: {},
-        patinfo:localStorage.getItem("authinfo")?JSON.parse(localStorage.getItem("authinfo")):{},
+        patinfo:{},
         recordsList: []
       }
     },
@@ -58,6 +58,11 @@
             this.recordsList = res.data.data.list
           }
         })
+        this.$api.getAccountInfo().then(res => {
+          if (!res.data.code) {
+            this.patinfo = res.data.data
+          }
+        })
       }
     },
     created() {

+ 150 - 143
src/components/PatRegister.vue

@@ -1,170 +1,177 @@
 <template>
-    <div class="container">
-      <div class="bgimg"></div>
-      <div class="content">
-        <div class="title">注册信息</div>
-        <div class="loginForm">
-          <mt-field placeholder="姓 名" v-model="form.name"></mt-field>
-          <div style="display:flex;">
-            <div style="width:80%;">
-              <mt-field placeholder="手机号" v-model="form.phone"></mt-field>
-            </div>
-            <div style="width:20%;">
-              <mt-button :disabled="disable" type="primary" class="sendPhcode" @click="timeCounter">{{timeCouterText}}
-              </mt-button>
-            </div>
+  <div class="container">
+    <div class="bgimg"></div>
+    <div class="content">
+      <div class="title">注册信息</div>
+      <div class="loginForm">
+        <mt-field placeholder="姓 名" v-model="form.name"></mt-field>
+        <div style="display:flex;">
+          <div style="width:75%;">
+            <mt-field placeholder="手机号" v-model="form.phone"></mt-field>
           </div>
-          <mt-field placeholder="短信验证码" v-model="form.phcode" type="number"></mt-field>
-        </div>
-        <div class="footer">
-          <div class="jbbtn" @click="submit">提交</div>
-          <div class="agreeInfo">
-            <input type="checkbox" checked v-if="form.isagree" @change="checkOnClick" />
-            <input type="checkbox" v-else @change="checkOnClick" />
-            <!-- <mt-checklist v-model="form.isagree" :options="['选项A', '选项B', '选项C']"></mt-checklist> -->
-            <span>我已知晓<a href="/#/agreedoc?from=1" @click.native="checkOnClick">《PK程序用户隐私条款》</a></span>
-  
+          <div style="width:25%;">
+            <mt-button :disabled="disable" type="primary" class="sendPhcode" @click="timeCounter">{{timeCouterText}}
+            </mt-button>
           </div>
         </div>
+        <mt-field placeholder="短信验证码" v-model="form.phcode" type="number"></mt-field>
+      </div>
+      <div class="footer">
+        <div class="jbbtn" @click="submit">提交</div>
+        <div class="agreeInfo">
+          <input type="checkbox" checked v-if="form.isagree" @change="checkOnClick" />
+          <input type="checkbox" v-else @change="checkOnClick" />
+          <!-- <mt-checklist v-model="form.isagree" :options="['选项A', '选项B', '选项C']"></mt-checklist> -->
+          <span>我已知晓<a href="/#/agreedoc?from=1" @click.native="checkOnClick">《PK程序用户隐私条款》</a></span>
+
+        </div>
       </div>
     </div>
-  </template>
-  
-  <script>
-    import {
+  </div>
+</template>
+
+<script>
+  import {
+    Field,
+    Button,
+    Toast,
+    MessageBox,
+    Checklist
+  } from 'mint-ui'
+
+  export default {
+    name: 'Index',
+    components: {
       Field,
       Button,
       Toast,
       MessageBox,
       Checklist
-    } from 'mint-ui'
-  
-    export default {
-      name: 'Index',
-      components: {
-        Field,
-        Button,
-        Toast,
-        MessageBox,
-        Checklist
+    },
+    data() {
+      return {
+        email: '',
+        timeCouterText: '发送',
+        seconds: 60,
+        disable: false,
+        isagree: false,
+        form: {}
+      }
+    },
+    methods: {
+      goPage(path) {
+        this.$router.push(path)
       },
-      data() {
-        return {
-          email: '',
-          timeCouterText: '发送',
-          seconds: 60,
-          disable: false,
-          isagree: false,
-          form: {}
+      timeCounter() {
+        if (!this.form.phone) {
+          MessageBox({
+            title: '提示',
+            message: '请输入手机号?'
+          })
+          return
         }
-      },
-      methods: {
-        goPage(path) {
-          this.$router.push(path)
-        },
-        timeCounter() {
-          if(!this.form.phone){
-            MessageBox({
-              title: '提示',
-              message: '请输入手机号?'
-            })
-            return
-          }
-          let _this = this
-          this.$api.sendPhcode(this.form).then(res=>{})
-          var timer = setInterval(function () {
-            if (_this.seconds < 2) {
-              clearInterval(timer)
-              _this.seconds = 60
-              _this.timeCouterText = '发送'
-              _this.disable = false
-              return
-            }
-            _this.seconds -= 1
-            _this.timeCouterText = _this.seconds + '秒后重新发送'
-            _this.disable = true
-          }, 1000)
-        },
-        checkOnClick(e){
-          if(e.target.checked){
-            this.form.isagree = true
-          }else{
-            this.form.isagree = false
-          }
-        },
-        submit() {
-          if (!this.form.name) {
-            MessageBox({
-              title: '提示',
-              message: '请输入姓名'
-            })
-            return 
-          }
-          if (!this.form.phone) {
-            MessageBox({
-              title: '提示',
-              message: '请输入手机号'
-            })
+        let _this = this
+        this.$api.sendPhcode(this.form).then(res => {})
+        var timer = setInterval(function () {
+          if (_this.seconds < 2) {
+            clearInterval(timer)
+            _this.seconds = 60
+            _this.timeCouterText = '发送'
+            _this.disable = false
             return
           }
-          if (!this.form.phcode) {
-            MessageBox({
-              title: '提示',
-              message: '请输入验证码'
-            })
-            return
-          }
-          if (!this.form.isagree) {
+          _this.seconds -= 1
+          _this.timeCouterText = _this.seconds + '秒后重新发送'
+          _this.disable = true
+        }, 1000)
+      },
+      checkOnClick(e) {
+        if (e.target.checked) {
+          this.form.isagree = true
+        } else {
+          this.form.isagree = false
+        }
+      },
+      submit() {
+        if (!this.form.name) {
+          MessageBox({
+            title: '提示',
+            message: '请输入姓名'
+          })
+          return
+        }
+        if (!this.form.phone) {
+          MessageBox({
+            title: '提示',
+            message: '请输入手机号'
+          })
+          return
+        } else {
+          if (!this.$recheck.checkPhone(this.form.phone)) {
             MessageBox({
               title: '提示',
-              message: '请先同意《PK程序用户隐私条款》'
+              message: '请输入正确的手机号'
             })
             return
           }
-          let params = this.form
-          params.role = 2
-          this.$api.login(params).then(res=>{
-            if(!res.data.code){
-              localStorage.setItem("token",res.data.data.token)
-              this.goPage("/patindex")
-            }else{
-              Toast(res.data.message)
-            }
+        }
+        if (!this.form.phcode) {
+          MessageBox({
+            title: '提示',
+            message: '请输入验证码'
+          })
+          return
+        }
+        if (!this.form.isagree) {
+          MessageBox({
+            title: '提示',
+            message: '请先同意《PK程序用户隐私条款》'
           })
+          return
         }
+        let params = this.form
+        params.role = 2
+        this.$api.login(params).then(res => {
+          if (!res.data.code) {
+            localStorage.setItem("token", res.data.data.token)
+            this.goPage("/patindex")
+          } else {
+            Toast(res.data.message)
+          }
+        })
       }
     }
-  
-  </script>
-  
-  <style scoped lang="scss">
-    .content {
-      position: relative;
-      z-index: 1;
-  
-      .loginForm {
-        .sendPhcode {
-          /* width: 6rem; */
-          width: 100%;
-          margin-top: 1rem;
-          height: 3.0rem;
-          border-radius: 1.4rem;
-        }
+  }
+
+</script>
+
+<style scoped lang="scss">
+  .content {
+    position: relative;
+    z-index: 1;
+
+    .loginForm {
+      .sendPhcode {
+        /* width: 6rem; */
+        width: 100%;
+        margin-top: 1rem;
+        height: 3.0rem;
+        border-radius: 1.4rem;
       }
-  
-      .footer {
-        /* position: absolute; */
-        bottom: 1rem;
-        margin: 0 auto;
-        left: 0;
-        right: 0;
-        bottom: 1rem;
-  
-        .agreeInfo {
-          margin: 2rem 0;
-        }
+    }
+
+    .footer {
+      /* position: absolute; */
+      bottom: 1rem;
+      margin: 0 auto;
+      left: 0;
+      right: 0;
+      bottom: 1rem;
+
+      .agreeInfo {
+        margin: 2rem 0;
       }
     }
-  
-  </style>
-  
+  }
+
+</style>

+ 30 - 22
src/components/RegPatinfo.vue

@@ -4,28 +4,24 @@
     <div class="content">
       <div class="title">请录入病例信息</div>
       <div class="loginForm">
-        <mt-field label="病例姓名" v-model="form.name"></mt-field>
-        <mt-field disabled label="病例年龄" v-model="form.birthday" @click.native="$refs.birthdayPicker.open()">
+        <mt-field placeholder="请输入病例姓名" label="病例姓名" v-model="form.name"></mt-field>
+        <mt-field placeholder="请选择出生年月" class="inputDisable" disabled label="病例年龄" v-model="form.birthday"
+          @click.native="$refs.birthdayPicker.open();sexFlag=false">
           <img src="../assets/images/down.png" alt="" width="16px">
         </mt-field>
-        <mt-field disabled label="病例性别" v-model="form.sex" @click.native="sexFlag=true">
+        <mt-field placeholder="请选择性别" class="inputDisable" disabled label="病例性别" v-model="form.sex"
+          @click.native="sexFlag=true">
           <img src="../assets/images/down.png" alt="" width="16px">
         </mt-field>
-        <mt-field label="病例手机" v-model="form.phone" type="number"></mt-field>
+        <mt-field placeholder="请输入手机号" label="病例手机" v-model="form.phone" type="number"></mt-field>
       </div>
       <div class="footer">
         <div class="jbbtn" @click="submit">下一页</div>
       </div>
     </div>
-    <mt-datetime-picker ref="birthdayPicker" type="date" v-model="form.birthday"
-      year-format="{value} 年"
-      month-format="{value} 月"
-      date-format="{value} 日"
-      @confirm = 'changeTime'
-      :startDate = 'startDate'
-      :endDate = 'endDate'
-      @change = 'changeTime'
-    >
+    <mt-datetime-picker ref="birthdayPicker" type="date" v-model="form.birthday" year-format="{value} 年"
+      month-format="{value} 月" date-format="{value} 日" @confirm='changeTime' :startDate='startDate' :endDate='endDate'
+      @change='changeTime'>
     </mt-datetime-picker>
     <mt-picker @change="onValuesChange" v-if="sexFlag" :slots="slots" ref="sexPicker" class="sexPicker"
       :showToolbar="true">
@@ -54,7 +50,10 @@
     },
     data() {
       return {
-        form: {birthday:'',sex:''},
+        form: {
+          birthday: '',
+          sex: ''
+        },
         sexFlag: false,
         slots: [{
           flex: 1,
@@ -62,16 +61,17 @@
           className: 'slot1',
           textAlign: 'center'
         }],
-        startDate:new Date('1923-01-01'),
-        endDate:new Date(this.$datetime.formatDate(new Date())),
+        startDate: new Date('1923-01-01'),
+        endDate: new Date(this.$datetime.formatDate(new Date())),
       }
     },
     methods: {
       goPage() {
         this.$router.push('/regpatpro')
       },
-      changeTime(value){
+      changeTime(value) {
         this.form.birthday = this.$datetime.formatDate(value)
+        this.sexFlag = false
       },
       onValuesChange(picker, values) {
         if (picker.getSlotValue(0)) {
@@ -84,30 +84,38 @@
         if (!this.form.name) {
           MessageBox({
             title: '提示',
-            message: '请输入姓名?'
+            message: '请输入姓名'
           })
           return
         }
         if (!this.form.birthday) {
           MessageBox({
             title: '提示',
-            message: '请选择出生年月?'
+            message: '请选择出生年月'
           })
           return
         }
         if (!this.form.sex) {
           MessageBox({
             title: '提示',
-            message: '请选择性别?'
+            message: '请选择性别'
           })
           return
         }
         if (!this.form.phone) {
           MessageBox({
             title: '提示',
-            message: '请输入手机号?'
+            message: '请输入手机号'
           })
           return
+        } else {
+          if (!this.$recheck.checkPhone(this.form.phone)) {
+            MessageBox({
+              title: '提示',
+              message: '请输入正确的手机号'
+            })
+            return 
+          }
         }
         let params = this.form
         localStorage.setItem("patientCase", JSON.stringify(params))
@@ -119,7 +127,7 @@
       }
     },
     created() {
-      console.log(this.endDate,222222222222)
+      console.log(this.endDate, 222222222222)
     },
   }
 

+ 4 - 4
src/components/RegPatpro.vue

@@ -4,10 +4,10 @@
     <div class="content">
       <div class="title">请选择患者使用产品</div>
       <div class="loginForm">
-        <mt-field disabled label="产品选择" v-model="form.mpro" @click.native="mproFlag=true">
+        <mt-field placeholder="请选择产品" class="inputDisable" disabled label="产品选择" v-model="form.mpro" @click.native="mproFlag=true;mfreqFlag=false">
           <img src="../assets/images/down.png" alt="" width="16px">
         </mt-field>
-        <mt-field disabled label="注射频次" v-model="form.mfreq" @click.native="mfreqFlag=true">
+        <mt-field placeholder="请选择注射频次" class="inputDisable" disabled label="注射频次" v-model="form.mfreq" @click.native="mfreqFlag=true;mproFlag=false">
           <img src="../assets/images/down.png" alt="" width="16px">
         </mt-field>
       </div>
@@ -47,13 +47,13 @@
         mfreqFlag: false,
         slots: [{
           flex: 1,
-          values: ['人血FVIII', '百因止', '科跃奇', '诺易', '任捷', '重凝贝', '安佳因', '其他'],
+          values: this.$const.mprolist,
           className: 'slot1',
           textAlign: 'center'
         }],
         slots1: [{
           flex: 1,
-          values: ['每周2次', '每周3次', '每天1次', '每2天1次', '每3天1次', '不固定/按需治疗'],
+          values: this.$const.mfreq,
           className: 'slot1',
           textAlign: 'center'
         }]

+ 45 - 10
src/components/SolutionPkLine.vue

@@ -4,18 +4,29 @@
     <div class="content">
       <div class="title">预防治疗方案的PK曲线</div>
       <div class="PKLineForm">
-        <v-chart :option="pklineOption" style="height: 250px"></v-chart>
+        <v-chart :option="pklineOption" style="height: 250px">
+        </v-chart>
+        <div class="tuli">
+            <p style="color:#6594D5;"> —活性</p>
+            <p style="color:#AC4C44;">---5%</p>
+            <p style="color:#4caf50;">---3%</p>
+            <p style="color:#ab6cef;">---1%</p>
+        </div>
       </div>
       <div class="PKLineForm baseInfo">
-        <mt-cell :title="'活性大于5%的时间:'+pklinedata.gt5_time" :value="'峰活性:'+caseInfo.yqfzhx+'%'"></mt-cell>
-        <mt-cell :title="'活性大于3%的时间:'+pklinedata.gt3_time" :value="'谷活性(IU/kg):'+caseInfo.yfghx+'%'"></mt-cell>
-        <mt-cell :title="'活性大于1%的时间:'+pklinedata.gt1_time"></mt-cell>
+        <div class="rowfont">活性大于5%的时间:{{pklinedata.gt5_time}}</div>
+        <div class="rowfont">活性大于3%的时间:{{pklinedata.gt3_time}}</div>
+        <div class="rowfont">活性大于1%的时间:{{pklinedata.gt1_time}}</div>
+        <div style="display:flex;">
+          <div class="rowfont" style="width:50%;">峰活性:{{pklinedata.sjfhx}}%</div>
+          <div class="rowfont" style="width:50%;">谷活性(IU/kg):{{pklinedata.sjghx}}</div>
+        </div>
         <hr>
-        <mt-cell :title="'姓名:'+caseInfo.name" :value="'病例ID:'+caseInfo.code"></mt-cell>
+        <mt-cell :title="'姓名:'+caseInfo.name" :value="'ID:'+caseInfo.code"></mt-cell>
         <mt-cell :title="'年龄:'+caseInfo.age" :value="'性别:'+caseInfo.sex"></mt-cell>
         <mt-cell :title="'使用产品:'+caseInfo.mpro" :value="'注射剂量:'+caseInfo.zsjl"></mt-cell>
         <mt-cell :title="'注射频次:'+caseInfo.mfreq"></mt-cell>
-        <div style="font-size:12px;text-align:left;padding-left:10px;">方案时间时间:{{caseInfo.ctime}}</div>
+        <div class="rowfont">方案时间时间:{{caseInfo.ctime}}</div>
       </div>
       <div class="footer">
         <div class="jbbtn" @click="goPage(-1)">上一页</div>
@@ -63,15 +74,24 @@
             markLine: {
               data: [{
                   name: '平均值',
-                  yAxis: 0.01
+                  yAxis: 1,
+                  lineStyle: {
+                        color: '#ab6cef'
+                  }
                 },
                 {
                   name: '平均值',
-                  yAxis: 0.03
+                  yAxis: 3,
+                  lineStyle: {
+                        color: '#4caf50'
+                  }
                 },
                 {
                   name: '平均值',
-                  yAxis: 0.05
+                  yAxis: 5,
+                  lineStyle: {
+                        color: '#AC4C44'
+                  }
                 }
               ]
             }
@@ -124,7 +144,22 @@
     background: #fff;
     padding: 1rem;
     border-radius: 5px;
-
+    position: relative;
+    .tuli{
+      position: absolute;
+      right:0px;
+      top:40px;
+      p{
+        margin:5px;
+      }
+    }
+    .rowfont{
+      font-size:1rem;
+      text-align:left;
+      padding-left:10px;
+      line-height: 2rem;
+      height: 2rem;
+    }
     .formTitle {
       height: 1rem;
       line-height: 1rem;

+ 4 - 0
src/main.js

@@ -9,12 +9,16 @@ import 'echarts'
 import ECharts from 'vue-echarts'
 import api from './api'
 import datetime from './utils/datetime'
+import constant from './utils/constant'
+import recheck from './utils/recheck'
 // import 'lib-flexible/flexible.js'
 
 Vue.use(MintUI)
 Vue.component('v-chart', ECharts)
 Vue.prototype.$api = api
 Vue.prototype.$datetime = datetime
+Vue.prototype.$const = constant
+Vue.prototype.$recheck = recheck
 Vue.config.productionTip = false
 
 /* eslint-disable no-new */

+ 5 - 0
src/utils/constant.js

@@ -0,0 +1,5 @@
+export default{
+    mprolist:['人血FVIII', '百因止', '科跃奇', '诺易', '任捷', '重凝贝', '安佳因', '其他'],
+    mfreq:["每周1次","每周2次","每周3次","每2天1次","每天1次","不固定/按需治疗"],
+    zspc:["每周1次","每周2次","每周3次","每2天1次","每天1次"]
+}

+ 20 - 0
src/utils/recheck.js

@@ -0,0 +1,20 @@
+export default{
+    checkIntFloat12(val){
+        // 整数或2位小数
+        var reg1 = /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/
+        return reg1.test(val)
+    },
+    checkIntFloat1(val){
+        //整数或1位小数
+        var reg1 = /((^[1-9]\d*)|^0)(\.\d{0,1}){0,1}?$/
+        return reg1.test(val)
+    },
+    checkInt(val){
+        var reg1 = /^[1-9]\d*$/
+        return reg1.test(val)
+    },
+    checkPhone(val){
+        var reg1 = /^1[3456789]d{9}$/
+        return reg1.test(val)
+    }
+}