Browse Source

基本全部完成

Your Name 1 year ago
parent
commit
525da73c1f

+ 4 - 4
src/components/DiagCalcShow.vue

@@ -60,10 +60,6 @@
           <div class="rowfont" style="width:50%;">t<sub>3</sub>点活性%</div>
           <div class="rowfont" style="width:50%;color:#888;">{{caseInfo.t3hx}}</div>
         </div>
-        <div style="display:flex;">
-          <div class="rowfont" style="width:50%;">预期峰值活性%</div>
-          <div class="rowfont" style="width:50%;color:#888;">{{caseInfo.yqfzhx}}</div>
-        </div>
       </div>
       <div class="diagShowForm">
         <div class="formTitle">FVI药代动力学参数</div>
@@ -75,6 +71,10 @@
           <div class="rowfont" style="width:50%;">利用率%</div>
           <div class="rowfont" style="width:50%;color:#888;">{{caseInfo.lyl*100}}</div>
         </div>
+        <div style="display:flex;">
+          <div class="rowfont" style="width:50%;">预期峰值活性%</div>
+          <div class="rowfont" style="width:50%;color:#888;">{{caseInfo.yqfzhx}}</div>
+        </div>
       </div>
       <div class="diagShowForm">
         <div class="formTitle">血友病预防治疗方案计算</div>

+ 38 - 14
src/components/PatClockIn.vue

@@ -4,8 +4,8 @@
     <div class="content">
       <div class="title">注射打卡</div>
       <div class="loginForm">
-        <mt-field class="inputDisable" disabled label="产品选择" v-model="form.mpro"
-          @click.native="mproFlag=true;mfreqFlag=false" 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 class="inputDisable" disabled label="注射频次" v-model="form.mfreq" @click.native="mfreqFlag=true;mproFlag=false" placeholder="请选择使用的剂量">
@@ -21,8 +21,8 @@
         </div>
       </div>
       <div class="footer">
-        <div class="jbbtn" @click="submit">确定并提交</div>
         <div class="jbbtn" @click="$router.go(-1)">返回</div>
+        <div class="jbbtn" @click="submit">确认</div>
       </div>
     </div>
     <mt-picker @change="onValuesChange" v-if="mproFlag" :slots="slots" ref="sexPicker" class="sexPicker"
@@ -35,11 +35,8 @@
     </mt-picker>
     <!-- 注射时间t0 -->
     <mt-datetime-picker ref="t0Picker" type="datetime" year-format="{value} 年" month-format="{value} 月"
-      date-format="{value} 日" hourFormat="{value}时" minuteFormat="{value}分" @confirm='changeTime0' 
-      :endDate='endDate'
-      :startDate='startDate'
-      v-model="now"
-      @touchmove.native.stop.prevent>
+      date-format="{value} 日" hourFormat="{value}时" minuteFormat="{value}分" @confirm='changeTime0' :endDate='endDate'
+      :startDate='startDate' v-model="now" @touchmove.native.stop.prevent>
     </mt-datetime-picker>
   </div>
 </template>
@@ -60,13 +57,15 @@
     },
     data() {
       return {
-        form: {zssjt0:''},
+        form: {
+          zssjt0: ''
+        },
         mproFlag: false,
         mfreqFlag: false,
         proList: [],
-        startDate:new Date(this.$datetime.formatDateTime(new Date("2023/01/01 00:00:00"))),
+        startDate: new Date(this.$datetime.formatDateTime(new Date("2023/01/01 00:00:00"))),
         endDate: new Date(this.$datetime.formatDateTime(new Date("2024/01/01 00:00:00"))),
-        now:new Date(),
+        now: new Date(),
         slots: [{
           flex: 1,
           values: [],
@@ -86,7 +85,7 @@
         this.$router.push(path)
       },
       changeTime0(value) {
-        this.form.zssjt0 = this.$datetime.formatDateTime(value).replaceAll("/","-")
+        this.form.zssjt0 = this.$datetime.formatDateTime(value).replaceAll("/", "-")
       },
       onValuesChange(picker, values) {
         if (picker.getSlotValue(0)) {
@@ -170,17 +169,42 @@
       min-height: 2.12rem;
     }
   }
+
   .numSubTitle {
     position: relative;
 
     span {
       position: absolute;
-      left: 25px;
-      top: 15px;
+      left: 15px;
+      top: 10px;
+      font-size:1.4rem;
     }
   }
+
   /deep/ .numSubTitle .mint-field-core {
     margin-left: 105px;
   }
 
+  /deep/ .mint-cell .mint-cell-title {
+    /* width: 60%; */
+    /* text-align: left; */
+    font-size:1.4rem;
+  }
+
+  /deep/ .mint-cell .mint-cell-value {
+    /* width: 40%; */
+    /* text-align: right; */
+    font-size:1.4rem;
+  }
+
+  .footer {
+    display: flex;
+    margin-top:2rem;
+    .jbbtn {
+      width: 42%;
+      margin-top: 1rem;
+      margin-bottom: 1rem;
+    }
+  }
+
 </style>

+ 13 - 8
src/components/PatClockInSuc.vue

@@ -11,8 +11,8 @@
         <!-- <div class="clockintime">打卡时间:{{nowDatetime}}</div> -->
       </div>
       <div class="footer">
-        <div class="jbbtn" @click="goPage('/patindex')">确定</div>
-        <div class="jbbtn" @click="goPage('/patinjectionlist')">查看注射记录</div>
+        <div class="jbbtn" @click="goPage('/patindex')">返回</div>
+        <div class="jbbtn" @click="goPage('/patinjectionlist')">注射记录</div>
       </div>
     </div>
   </div>
@@ -38,7 +38,11 @@
     },
     methods: {
       goPage(path) {
-        this.$router.push(path)
+        if(path==-1){
+          this.$router.go(-1)
+        }else{
+          this.$router.push(path)
+        }
       }
     }
   }
@@ -49,7 +53,7 @@
   .loginForm {
     width: 84%;
     margin: auto;
-    /* margin-top: 4rem; */
+    margin-top: 4rem;
     background: #fff;
     padding: 1rem;
     border-radius: 5px;
@@ -64,18 +68,18 @@
       min-height: 2.12rem;
     }
     .clocksucbg{
-      width:60%;
+      width:80%;
       margin:auto;
       position: relative;
       padding-top:4rem;
-      height: 14rem;
+      height: 16rem;
     }
     .clocksucmsg{
       width:100%;
       position:absolute;
       text-align: center;
-      top:9rem;
-      font-size:1.2rem;
+      top:10rem;
+      font-size:1.4rem;
       color:#fff;
       font-weight: bold;
     }
@@ -90,6 +94,7 @@
   }
   .footer{
     display: flex;
+    margin-top:2rem;
     .jbbtn{
       width: 42%;
     }

+ 67 - 59
src/components/PatIndex.vue

@@ -10,38 +10,38 @@
       <!-- <div class="bgimg"></div> -->
       <div class="content">
         <div class="injectRecord">
-          <div  v-if="latestCase.hasrecords">
-          <div class="formTitle">体内FVIII活性水平实时预报</div>
-          <div class="lrcontainer">
-            <div class="lritem left">
-              <!-- <div class="personRatio">
+          <div v-if="latestCase.hasrecords">
+            <div class="formTitle">体内FVIII活性水平实时预报</div>
+            <div class="lrcontainer">
+              <div class="lritem left">
+                <!-- <div class="personRatio">
 
               </div> -->
 
-              <img class="ratioBg3" src="../assets/images/personbg.png" width="80" height="216"></img>
-              <div class="ratioBg" :style="'height:'+ratioHeight+'px;'" >
-                <!-- <img src="../assets/images/ratiotop.png" width="100%" style="position:absolute;top:-16px;left:0;right:0;margin:auto;" ></img> -->
-              </div>
-              <img class="ratioBg2" src="../assets/images/personbg1.png" width="80" height="216"></img>
+                <img class="ratioBg3" src="../assets/images/personbg.png" width="80" height="216"></img>
+                <div class="ratioBg" :style="'height:'+ratioHeight+'px;'">
+                  <!-- <img src="../assets/images/ratiotop.png" width="100%" style="position:absolute;top:-16px;left:0;right:0;margin:auto;" ></img> -->
+                </div>
+                <img class="ratioBg2" src="../assets/images/personbg1.png" width="80" height="216"></img>
 
-            </div>
-            <div class="lritem right">
-              <!-- <p style="margin:5px 0px;color:red;font-weight:bold;font-size:1.5rem">FVIII浓度:{{latestCase.FVIII}}</p> -->
-              <div class="rowfont" style="margin:5px 0px;color:red;font-weight:bold;font-size:1.4rem">
-                FVIII浓度:{{latestCase.FVIII}}%</div>
-              <div class="rowfont">参考方案</div>
-              <div class="rowfont">1.产品:{{latestCase.ckmpro}}</div>
-              <div class="rowfont">2.剂量:{{latestCase.ckzsjl}}</div>
-              <div class="rowfont">3.频次:{{latestCase.ckmfreq}}</div>
-              <div class="rowfont">本结果仅供参考,</div>
-              <div class="rowfont">具体治疗方案请遵医嘱执行</div>
+              </div>
+              <div class="lritem right">
+                <!-- <p style="margin:5px 0px;color:red;font-weight:bold;font-size:1.5rem">FVIII浓度:{{latestCase.FVIII}}</p> -->
+                <div class="rowfont" style="margin:5px 0px;color:red;font-weight:bold;font-size:1.4rem">
+                  FVIII浓度:{{latestCase.FVIII}}%</div>
+                <div class="rowfont">参考方案</div>
+                <div class="rowfont">1.产品:{{latestCase.ckmpro}}</div>
+                <div class="rowfont">2.剂量:{{latestCase.ckzsjl}}</div>
+                <div class="rowfont">3.频次:{{latestCase.ckmfreq}}</div>
+                <div class="rowfont">本结果仅供参考,</div>
+                <div class="rowfont">具体治疗方案请遵医嘱执行</div>
+              </div>
             </div>
           </div>
-        </div>
           <div class="footer">
             <div class="jbbtn" @click="goPage('/patclockin')">注射打卡</div>
             <div class="jbbtn" @click="goPage('/patinjectionlist')">注射记录</div>
-            <div class="jbbtn" @click="goPage('/procaselist')">查看PK曲线</div>
+            <div class="jbbtn" @click="goPage('/procaselist')">PK及方案</div>
             <div class="jbbtn" @click="logout">退出登录</div>
           </div>
         </div>
@@ -70,7 +70,9 @@
             未查询到您的信息请等待主治医生进行信息录入
           </div>
         </div>
-        <div class="footer"><div class="jbbtn" @click="logout">退出登录</div></div>
+        <div class="footer">
+          <div class="jbbtn" @click="logout">退出登录</div>
+        </div>
 
       </div>
     </div>
@@ -92,7 +94,7 @@
         inflag: 0,
         patinfo: {},
         latestCase: {},
-        ratioHeight:0
+        ratioHeight: 0
       }
     },
     methods: {
@@ -105,17 +107,18 @@
         window.location.reload()
       },
       getData() {
-        this.$api.getPatientLatestCase().then(res => {
-            if (!res.data.code) {
-              this.latestCase = res.data.data
-              this.ratioHeight = 216/100*this.latestCase.FVIII
-            }
-          }),
-          this.$api.getAccountInfo().then(res => {
-            if (!res.data.code) {
-              this.patinfo = res.data.data
-            }
-          })
+        this.$api.getAccountInfo().then(res => {
+          if (!res.data.code) {
+            this.patinfo = res.data.data
+
+            this.$api.getPatientLatestCase().then(res => {
+              if (!res.data.code) {
+                this.latestCase = res.data.data
+                this.ratioHeight = 216 / 100 * this.latestCase.FVIII
+              }
+            })
+          }
+        })
       }
     },
     created() {
@@ -214,49 +217,54 @@
         .ratioBg {
           width: 78px;
           position: absolute;
-          left:0;
-          right:0;
-          bottom:20px;
-          margin:auto;
-          z-index:0;
+          left: 0;
+          right: 0;
+          bottom: 20px;
+          margin: auto;
+          z-index: 0;
           /* background:#2D9AF4; */
           background-image: url("../assets/images/test.png");
           background-size: 100% 100%;
           height: 100px;
         }
+
         .ratioBg1 {
           width: 80px;
           position: absolute;
-          left:0;
-          right:0;
-          bottom:20px;
-          margin:auto;
-          z-index:-1;
+          left: 0;
+          right: 0;
+          bottom: 20px;
+          margin: auto;
+          z-index: -1;
           /* background:#64B3F6; */
-          
-          height: 216px;;
+
+          height: 216px;
+          ;
         }
+
         .ratioBg2 {
           width: 80px;
           position: absolute;
-          left:0;
-          right:0;
-          bottom:20px;
-          margin:auto;
-          z-index:-1;
+          left: 0;
+          right: 0;
+          bottom: 20px;
+          margin: auto;
+          z-index: -1;
           /* background:#64B3F6; */
           /* height: 150px; */
         }
+
         .ratioBg3 {
           width: 80px;
           position: absolute;
-          left:0;
-          right:0;
-          bottom:20px;
-          margin:auto;
-          z-index:1;
+          left: 0;
+          right: 0;
+          bottom: 20px;
+          margin: auto;
+          z-index: 1;
           /* background:#64B3F6; */
-          height: 216px;;
+          height: 216px;
+          ;
         }
 
         .mint-cell {

+ 19 - 11
src/components/PatInjectionList.vue

@@ -4,11 +4,11 @@
     <div class="content">
       <div class="title">注射记录</div>
       <div class="injectionListForm baseInfo">
-        <div style="width:90%;font-size:1.2rem;text-align: center;margin:1rem auto;font-weight: bold;">姓名:{{patinfo.name}}</div>
+        <div style="width:90%;font-size:1.4rem;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>
-          <div class="listItem" style="background:#6DA2FE;color:#fff;">使用剂量</div>
+          <div class="listItem listHeader" style="width:70%;background:#6DA2FE;color:#fff;">打卡时间</div>
+          <div class="listItem listHeader" style="background:#6DA2FE;color:#fff;">产品</div>
+          <div class="listItem listHeader" style="background:#6DA2FE;color:#fff;">剂量</div>
         </div>
         <div class="listItemContainer" v-for="(item,index) in recordsList">
           <div class="listItem" style="width:70%;">{{item.zssjt0}}</div>
@@ -17,8 +17,8 @@
         </div>
       </div>
       <div class="footer">
-        <div class="jbbtn" @click="goPage('/patindex')">确定</div>
-        <div class="jbbtn" @click="goPage('/patclockin')">开始注射打卡</div>
+        <div class="jbbtn" @click="goPage('/patindex')">返回</div>
+        <div class="jbbtn" @click="goPage('/patclockin')">注射打卡</div>
       </div>
     </div>
   </div>
@@ -49,7 +49,11 @@
     },
     methods: {
       goPage(path) {
-        this.$router.push(path)
+        if(path==-1){
+          this.$router.go(-1)
+        }else{
+          this.$router.push(path)
+        }
       },
       getData() {
         let id = this.$route.query.id
@@ -85,7 +89,7 @@
 
   .footer {
     display: flex;
-
+    margin-top:2rem;
     .jbbtn {
       width: 42%;
     }
@@ -96,12 +100,16 @@
 
     .listItem {
       width: 33%;
-      height: 2.8rem;
-      line-height: 2.8rem;
+      height: 3.2rem;
+      line-height: 3.2rem;
       flex-direction: row;
       justify-content: space-between;
       border-bottom: 1px solid #ccc;
-      font-size:14px;
+      font-size:1.1rem;
+    }
+
+    .listHeader{
+      font-size:1.2rem;
     }
   }
 

+ 32 - 107
src/components/ProCaseList.vue

@@ -3,21 +3,21 @@
     <div class="bgimg"></div>
     <div class="content">
       <div class="title">方案列表</div>
-      <div class="loginForm baseInfo">
-        <div v-for="(item,index) in list" style="padding-bottom:10px;border-bottom:1px solid #888;">
-          <div style="display:flex;">
-            <div class="rowfont" style="width:50%;">使用产品:{{item.ckmpro}}</div>
-            <div class="rowfont" style="width:50%;">注射剂量:{{item.ckzsjl}}</div>
-          </div>
-          <div style="font-size:16px;text-align:left;padding-left:10px;height: 2.4rem;line-height: 2.4rem;">
-            方案时间:{{item.ctime}}
-            <mt-button type="primary" size="small" @click="showDetail(item.id)">详情</mt-button>
-          </div>
+      <div class="loginForm">
+        <div @click="showDetail(item.id)" v-for="(item,index) in list" style="height: 100%;border-bottom: 1px solid #ccc;padding-bottom:1rem;">
+          <div class="rowfont">姓名:{{item.name}}</div>
+          <div class="rowfont">ID:{{item.code}}</div>
+          <div class="rowfont">年龄:{{item.age}}</div>
+          <div class="rowfont">体重:{{item.bltz}}</div>
+          <div class="rowfont">产品:{{item.ckmpro}}</div>
+          <div class="rowfont">频次:{{item.ckmfreq}}</div>
+          <div class="rowfont">剂量(IU):{{item.ckzsjl}}</div>
+          <div class="rowfont">方案医生:{{item.doctor_name}}</div>
+          <div class="rowfont">方案时间:{{item.ctime}}</div>
         </div>
       </div>
       <div class="footer">
-        <!-- <div class="preBtn">确定</div> -->
-        <div class="returnBtn" @click="goPage('/patindex')">返回</div>
+        <div class="jbbtn" @click="goPage(-1)">返回</div>
       </div>
     </div>
   </div>
@@ -47,10 +47,21 @@
     },
     methods: {
       goPage(path) {
-        this.$router.push(path)
+        if(path==-1){
+          this.$router.go(-1)
+        }else{
+          this.$router.push(path)
+        }
       },
-      showDetail(id){
-        this.$router.push({'path':'/diagcalcshow',query:{id:id,role:2,show:1}})
+      showDetail(id) {
+        this.$router.push({
+          'path': '/diagcalcshow',
+          query: {
+            id: id,
+            role: 2,
+            show: 1
+          }
+        })
       },
       getData() {
         let id = this.$route.query.id
@@ -83,56 +94,16 @@
     z-index: 2;
   }
 
-  .docSubmitBtn {
-    width: 50%;
-    height: 2.5rem;
-    line-height: 2.5rem;
-    border-radius: 5px;
-    margin: auto;
-    margin-top: 4rem;
-    background-image: linear-gradient(to right, #23E0FD, #0173F0);
-    font-weight: bold;
-    color: white;
-  }
-
-  .searchinput {
-    width: 80%;
-    margin: auto;
-
-    .mint-search {
-      height: 100%;
-      margin-top: 1rem;
-    }
-  }
-
-  .returnBtn {
-    width: 40%;
-    height: 2.5rem;
-    line-height: 2.5rem;
-    border-radius: 5px;
-    margin: auto;
-    margin-top: 2rem;
-    margin-bottom: 2rem;
-    background-image: linear-gradient(to right, #23E0FD, #0173F0);
-    font-weight: bold;
-    color: white;
-  }
-
-  .loginForm {
+  /deep/ .loginForm {
     width: 84%;
     margin: auto;
-    margin-top: 1rem;
+    margin-top: 2rem !important;
     background: #fff;
     padding: 1rem;
+    padding-bottom: 2.2rem;
     border-radius: 5px;
     position: relative;
 
-    .mint-button--small {
-      height: 2rem;
-      position: absolute;
-      left: 78%;
-    }
-
     .formTitle {
       height: 1rem;
       line-height: 1rem;
@@ -142,57 +113,11 @@
       border-bottom: 1px solid #2882F4;
       font-weight: bold;
     }
-
-    .mint-cell {
-      min-height: 1.8rem;
-    }
-
-    /deep/ .mint-cell .mint-cell-title {
-      width: 60%;
-      text-align: left;
-    }
-
-    /deep/ .mint-cell .mint-cell-value {
-      width: 40%;
-      text-align: right;
-    }
-
-    /deep/ .mint-cell .mint-cell-wrapper {
-      font-size: 12px;
-      background-image: none;
-    }
   }
 
-  .footer {
-    display: flex;
-
-    .preBtn {
-      width: 42%;
-      height: 3rem;
-      line-height: 3rem;
-      border-radius: 5px;
-      margin: auto;
-      margin-top: 2rem;
-      margin-bottom: 2rem;
-      background-image: linear-gradient(to right, #23E0FD, #0173F0);
-      font-weight: bold;
-      color: white;
-      font-size: 1.4rem;
-    }
-
-    .returnBtn {
-      width: 42%;
-      height: 3rem;
-      line-height: 3rem;
-      border-radius: 5px;
-      margin: auto;
-      margin-top: 2rem;
-      margin-bottom: 2rem;
-      background-image: linear-gradient(to right, #23E0FD, #0173F0);
-      font-weight: bold;
-      color: white;
-      font-size: 1.4rem;
-    }
+  /deep/ .rowfont {
+    font-size: 1.4rem;
+    height: 100%!important;
   }
 
 </style>

+ 11 - 5
src/components/RegPatinfo.vue

@@ -141,17 +141,21 @@
         this.$api.regPatient(params).then(res => {
           if (!res.data.code) {
             this.$router.push({
-              path:"diagcalc",
-              query:{patid:res.data.data}
+              path: "diagcalc",
+              query: {
+                patid: res.data.data
+              }
             })
           }
         })
       }
     },
     created() {
-      if(this.$route.query && this.$route.query.patid){
+      if (this.$route.query && this.$route.query.patid) {
         let patid = this.$route.query.patid
-        this.$api.get_patient_info({id:patid}).then(res=>{
+        this.$api.get_patient_info({
+          id: patid
+        }).then(res => {
           if (!res.data.code) {
             this.form = res.data.data
           }
@@ -174,8 +178,10 @@
   /deep/ .picker-slot {
     /* overflow:scroll!important; */
   }
-  .footer{
+
+  .footer {
     display: flex;
+
     .jbbtn {
       width: 42%;
       margin-top: 1rem;