浏览代码

修改done

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

+ 8 - 0
src/api.js

@@ -100,4 +100,12 @@ export default {
   getUserAgreementInfo: params => {
     return axios.get(`${baseURL}/api/doctor/patient/useragreement`, { params: params })
   },
+  // 修改病历
+  editPatientCase: params => {
+    return axios.put(`${baseURL}/api/doctor/patient/case/edit`, params)
+  },
+  // 获取病人打开产品
+  getPatientProList: params => {
+    return axios.get(`${baseURL}/api/doctor/patient/pro/list`, { params: params })
+  },
 }

+ 6 - 4
src/components/DiagCalcShow.vue

@@ -77,7 +77,7 @@
         </div>
       </div>
       <div class="diagShowForm">
-        <div class="formTitle">血友病治疗方案</div>
+        <div class="formTitle">血友病预防治疗计算剂量</div>
         <div style="display:flex;">
           <div class="rowfont" style="width:50%;">预防谷活性%</div>
           <div class="rowfont" style="width:50%;color:#888;">{{caseInfo.yfghx}}</div>
@@ -87,7 +87,7 @@
           <div class="rowfont" style="width:50%;color:#888;">{{caseInfo.zspc}}</div>
         </div>
         <div style="display:flex;">
-          <div class="rowfont" style="width:50%;">每次注射剂量(IU/kg)</div>
+          <div class="rowfont" style="width:50%;">每次注射剂量(IU)</div>
           <div class="rowfont" style="width:50%;color:#888;">{{caseInfo.mczsjl}}</div>
         </div>
       </div>
@@ -120,9 +120,11 @@
         let id = this.$route.query.id
         let role = this.$route.query.role
         if(role==2){
-          this.$router.push({'path':'/patcxsjline',query:{id:id}})
-        }else{
+          // this.$router.push({'path':'/patcxsjline',query:{id:id}})
           this.$router.push({'path':'/solutionpkline',query:{id:id}})
+        }else{
+          // this.$router.push({'path':'/solutionpkline',query:{id:id}})
+          this.$router.push({'path':'/pretraitcase',query:{id:id}})
         }
       },
       getData(){

+ 1 - 1
src/components/DocIndex.vue

@@ -11,7 +11,7 @@
       <div class="footer">
         <div class="csbtn" @click="goPage('/regpatinfo')">病例信息录入</div>
         <div class="jbbtn" @click="goPage('patcaselist')">病例管理</div>
-        <button class="jbbtn" @click="logout">退出登录</button>
+        <div class="jbbtn" @click="logout">退出登录</div>
         <div class="usageInfo">使用说明</div>
       </div>
     </div>

+ 52 - 6
src/components/PatClockIn.vue

@@ -4,13 +4,21 @@
     <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="请选择使用的剂量">
           <img src="../assets/images/down.png" alt="" width="16px">
         </mt-field> -->
         <mt-field label="注射剂量" placeholder="整数" type="number" v-model="form.mdose"></mt-field>
+        <div class="numSubTitle">
+          <mt-field class="inputDisable" disabled placeholder="请选择时间" v-model="form.zssjt0"
+            @click.native="$refs.t0Picker.open()">
+            <img src="../assets/images/down.png" alt="" width="16px">
+          </mt-field>
+          <span>注射时间</span>
+        </div>
       </div>
       <div class="footer">
         <div class="jbbtn" @click="submit">确定并提交</div>
@@ -25,6 +33,13 @@
       :showToolbar="true">
       <div class="pickerConfirm" @click="mfreqFlag=false">确认</div>
     </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'
+      @touchmove.native.stop.prevent>
+    </mt-datetime-picker>
   </div>
 </template>
 
@@ -44,12 +59,15 @@
     },
     data() {
       return {
-        form: {},
+        form: {zssjt0:''},
         mproFlag: false,
         mfreqFlag: false,
+        proList: [],
+        startDate:new Date(this.$datetime.formatDateTime(new Date("2022-01-01 00:00:00"))),
+        endDate: new Date(this.$datetime.formatDateTime(new Date())),
         slots: [{
           flex: 1,
-          values: this.$const.mprolist,
+          values: [],
           className: 'slot1',
           textAlign: 'center'
         }],
@@ -65,11 +83,14 @@
       goPage(path) {
         this.$router.push(path)
       },
+      changeTime0(value) {
+        this.form.zssjt0 = this.$datetime.formatDateTime(value)
+      },
       onValuesChange(picker, values) {
         if (picker.getSlotValue(0)) {
           this.form.mpro = picker.getSlotValue(0)
         } else {
-          this.form.mpro = "人血FVIII"
+          this.form.mpro = this.slots[0].values[0]
         }
       },
       onValuesChange1(picker, values) {
@@ -93,7 +114,7 @@
             message: '请输入注射剂量'
           })
           return
-        }else{
+        } else {
           if (!this.$recheck.checkInt(this.form.mdose)) {
             MessageBox({
               title: '提示',
@@ -102,6 +123,13 @@
             return
           }
         }
+        if (!this.form.zssjt0) {
+          MessageBox({
+            title: '提示',
+            message: '请选择注射时间'
+          })
+          return
+        }
         let params = this.form
         this.$api.regPatientRecords(params).then(res => {
           if (!res.data.code) {
@@ -109,7 +137,13 @@
           }
         })
       }
-    }
+    },
+    created() {
+      let _this = this
+      this.$api.getPatientProList().then(res => {
+        _this.slots[0].values = res.data.data
+      })
+    },
   }
 
 </script>
@@ -134,5 +168,17 @@
       min-height: 2.12rem;
     }
   }
+  .numSubTitle {
+    position: relative;
+
+    span {
+      position: absolute;
+      left: 25px;
+      top: 15px;
+    }
+  }
+  /deep/ .numSubTitle .mint-field-core {
+    margin-left: 105px;
+  }
 
 </style>

+ 7 - 5
src/components/PatIndex.vue

@@ -10,6 +10,7 @@
       <!-- <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">
@@ -29,18 +30,19 @@
               <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.mpro}}</div>
-              <div class="rowfont">2.剂量:{{latestCase.zsjl}}</div>
-              <div class="rowfont">3.频次:{{latestCase.mfreq}}</div>
+              <div class="rowfont">1.产品:{{latestCase.record.mpro}}</div>
+              <div class="rowfont">2.剂量:{{latestCase.record.mdose}}</div>
+              <div class="rowfont">3.频次:{{latestCase.ckmfreq}}</div>
               <div class="rowfont">本结果仅供参考,</div>
               <div class="rowfont">具体治疗方案请遵医嘱执行</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>
-            <button class="jbbtn" @click="logout">退出登录</button>
+            <div class="jbbtn" @click="logout">退出登录</div>
           </div>
         </div>
       </div>
@@ -68,7 +70,7 @@
             未查询到您的信息请等待主治医生进行信息录入
           </div>
         </div>
-        <div class="footer"><button class="jbbtn" @click="logout">退出登录</button></div>
+        <div class="footer"><div class="jbbtn" @click="logout">退出登录</div></div>
 
       </div>
     </div>

+ 139 - 0
src/components/PreTraitCase.vue

@@ -0,0 +1,139 @@
+<template>
+  <div class="container">
+    <div class="bgimg"></div>
+    <div class="content">
+      <div class="title">预防治疗参考方案</div>
+      <div class="loginForm">
+        <mt-field placeholder="请选择产品" class="inputDisable" disabled label="产品选择" v-model="form.ckmpro" @click.native="mproFlag=true;mfreqFlag=false;ckzsjlFlag=false">
+          <img src="../assets/images/down.png" alt="" width="16px">
+        </mt-field>
+        <mt-field placeholder="请选择注射频次" class="inputDisable" disabled label="注射频次" v-model="form.ckmfreq" @click.native="mfreqFlag=true;mproFlag=false;ckzsjlFlag=false">
+          <img src="../assets/images/down.png" alt="" width="16px">
+        </mt-field>
+        <mt-field placeholder="请选择每次注射剂量IU" class="inputDisable" disabled label="次注射剂量(IU)" v-model="form.ckzsjl" @click.native="ckzsjlFlag=true;mproFlag=false;mfreqFlag=false">
+          <img src="../assets/images/down.png" alt="" width="16px">
+        </mt-field>
+      </div>
+      <div class="footer">
+        <div class="jbbtn" @click="submit">下一页</div>
+      </div>
+    </div>
+    <mt-picker @change="onValuesChange" v-if="mproFlag" :slots="slots" ref="sexPicker" class="sexPicker"
+      :showToolbar="true">
+      <div class="pickerConfirm" @click="mproFlag=false">确认</div>
+    </mt-picker>
+    <mt-picker @change="onValuesChange1" v-if="mfreqFlag" :slots="slots1" ref="sexPicker1" class="sexPicker"
+      :showToolbar="true">
+      <div class="pickerConfirm" @click="mfreqFlag=false">确认</div>
+    </mt-picker>
+    <mt-picker @change="onValuesChange2" v-if="ckzsjlFlag" :slots="slots2" ref="sexPicker1" class="sexPicker"
+      :showToolbar="true">
+      <div class="pickerConfirm" @click="ckzsjlFlag=false">确认</div>
+    </mt-picker>
+  </div>
+</template>
+
+<script>
+  import {
+    Field,
+    Picker,
+    MessageBox
+  } from 'mint-ui'
+
+  export default {
+    name: 'Index',
+    components: {
+      Field,
+      Picker,
+      MessageBox
+    },
+    data() {
+      return {
+        form: {},
+        mproFlag: false,
+        mfreqFlag: false,
+        ckzsjlFlag: false,
+        slots: [{
+          flex: 1,
+          values: this.$const.mprolist,
+          className: 'slot1',
+          textAlign: 'center'
+        }],
+        slots1: [{
+          flex: 1,
+          values: this.$const.mfreq,
+          className: 'slot1',
+          textAlign: 'center'
+        }],
+        slots2: [{
+          flex: 1,
+          values: this.$const.ckzsjl,
+          className: 'slot1',
+          textAlign: 'center'
+        }]
+      }
+    },
+    methods: {
+      goPage() {
+        this.$router.push('/diagcalc')
+      },
+      onValuesChange(picker, values) {
+        if (picker.getSlotValue(0)) {
+          this.form.ckmpro = picker.getSlotValue(0)
+        } else {
+          this.form.ckmpro = "人血FVIII"
+        }
+      },
+      onValuesChange1(picker, values) {
+        if (picker.getSlotValue(0)) {
+          this.form.ckmfreq = picker.getSlotValue(0)
+        } else {
+          this.form.ckmfreq = this.$const.mfreq[0]
+        }
+      },
+      onValuesChange2(picker, values) {
+        if (picker.getSlotValue(0)) {
+          this.form.ckzsjl = picker.getSlotValue(0)
+        } else {
+          this.form.ckzsjl = this.$const.ckzsjl[0]
+        }
+      },
+      submit() {
+        if (!this.form.ckmpro) {
+          MessageBox({
+            title: '提示',
+            message: '请选择产品'
+          })
+          return
+        }
+        if (!this.form.ckmfreq) {
+          MessageBox({
+            title: '提示',
+            message: '请选择注射频次'
+          })
+          return
+        }
+        if (!this.form.ckzsjl) {
+          MessageBox({
+            title: '提示',
+            message: '请选择每次注射剂量(IU)'
+          })
+          return
+        }
+        let id = this.$route.query.id
+        let params = this.form
+        params.id = id
+        this.$api.editPatientCase(params).then(res=>{
+          if(!res.data.code){
+            this.$router.push({'path':'/solutionpkline',query:{id:id}})
+          }
+        })
+      }
+    }
+  }
+
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 0 - 6
src/components/RegPatpro.vue

@@ -103,12 +103,6 @@
         }
         localStorage.setItem("patientCase",JSON.stringify(patientCase))
         this.goPage("/diagcalc")
-
-        // this.$api.regPatient(params).then(res => {
-        //   if (!res.data.code) {
-        //     this.goPage("/regpatpro")
-        //   }
-        // })
       }
     }
   }

+ 8 - 3
src/components/SolutionPkLine.vue

@@ -2,9 +2,9 @@
   <div class="container">
     <div class="bgimg"></div>
     <div class="content">
-      <div class="title">预防治疗方案的PK曲线</div>
+      <div class="title">预防治疗参考方案一周活性变化</div>
       <div class="PKLineForm">
-        <v-chart :option="pklineOption" style="height: 250px">
+        <v-chart :option="pklineOption" style="height: 650px">
         </v-chart>
         <div class="tuli">
             <p style="color:#6594D5;"> —活性</p>
@@ -65,7 +65,12 @@
             type: 'value',
             axisLabel: {
               // formatter: '{value}.00'
-            }
+            },
+            max:100,
+            min:0,
+            // splitNumer:20,
+            // scale : true,
+            interval:4
           }],
           series: [{
             name: '最低气温',

+ 7 - 1
src/router/index.js

@@ -17,6 +17,7 @@ import ProCaseList from '@/components/ProCaseList'
 import PatInjectionList from '@/components/PatInjectionList'
 import PatRegister from '@/components/PatRegister'
 import PatCxsjLine from '@/components/PatCxsjLine'
+import PreTraitCase from '@/components/PreTraitCase'
 
 Vue.use(Router)
 
@@ -106,6 +107,11 @@ export default new Router({
       path: '/patcxsjline',
       name: '病人采血时间曲线',
       component: PatCxsjLine
-    }
+    },
+    {
+      path: '/pretraitcase',
+      name: '预防治疗参考方案',
+      component: PreTraitCase
+    },
   ]
 })

+ 15 - 1
src/utils/constant.js

@@ -1,5 +1,19 @@
+function genCkZSJL(){
+    var data = []
+    var step = 250
+    var i = 1
+    while(true){
+        if(i*step>10000){
+            break
+        }
+        data.push(i*step)
+        i += 1
+    }
+    return data
+}
 export default{
     mprolist:['人血FVIII', '百因止', '科跃奇', '诺易', '任捷', '重凝贝', '安佳因', '其他'],
     mfreq:["每周1次","每周2次","每周3次","每2天1次","每天1次","不固定/按需治疗"],
-    zspc:["每周1次","每周2次","每周3次","每2天1次","每天1次"]
+    zspc:["每周1次","每周2次","每周3次","每2天1次","每天1次"],
+    ckzsjl:genCkZSJL()
 }