Selaa lähdekoodia

医生端完成

Your Name 2 vuotta sitten
vanhempi
commit
91cfb77afd

+ 13 - 1
src/api.js

@@ -115,5 +115,17 @@ export default {
   // 计算每次注射剂量
   calc_mczsjl: params => {
     return axios.get(`${baseURL}/api/doctor/patient/case/calc/mczsjl`,{params:params})
-  }
+  },
+  // 获取医生列表
+  get_doctor_list: params => {
+    return axios.get(`${baseURL}/api/doctor/patient/doctor/list`,{params:params})
+  },
+  // 获取患者列表
+  get_patient_list: params => {
+    return axios.get(`${baseURL}/api/doctor/patient/list`,{params:params})
+  },
+  // 获取患者信息
+  get_patient_info: params => {
+    return axios.get(`${baseURL}/api/doctor/patient`,{params:params})
+  },
 }

+ 25 - 9
src/components/DiagCalc.vue

@@ -62,8 +62,8 @@
         </mt-field>
       </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>
     <!-- 注射时间t0 -->
@@ -422,24 +422,31 @@
           if (res.data.code == 0) {
             this.$set(this.form, "mczsjl", res.data.data)
             this.mczsjl = res.data.data
-            console.log(this.form, 3333333333)
           }
         })
       }
-
     },
     created() {
       let patid = this.$route.query.patid;
       if (!patid) {
         this.$router.push("regpatinfo")
       } else {
-        this.$api.getPatientDoingCase({
-          patid: patid
-        }).then(res => {
-          if (res.data.code == 0 && res.data.data.id) {
+        if(this.$route.query && this.$route.query.id){
+          let case_id = this.$route.query.id
+          this.$api.getPatientCaseInfo({id:case_id}).then(res=>{
             this.form = res.data.data
-          }
-        })
+            this.mczsjl = res.data.data.mczsjl
+          })
+        }else{
+          this.$api.getPatientDoingCase({
+            patid: patid
+          }).then(res => {
+            if (res.data.code == 0 && res.data.data.id) {
+              this.form = res.data.data
+              this.mczsjl = res.data.data.mczsjl
+            }
+          })
+        }
       }
     },
   }
@@ -562,4 +569,13 @@
     }
   }
 
+  .footer{
+    display: flex;
+    .jbbtn {
+      width: 42%;
+      margin-top: 1rem;
+      margin-bottom: 1rem;
+    }
+  }
+
 </style>

+ 4 - 4
src/components/DiagCalcShow.vue

@@ -32,10 +32,10 @@
           <div class="rowfont" style="width:50%;">基础活性</div>
           <div class="rowfont" style="width:50%;color:#888;">{{caseInfo.jchx}}</div>
         </div>
-        <div style="display:flex;">
+        <!-- <div style="display:flex;">
           <div class="rowfont" style="width:50%;">注射后半小时内活性</div>
           <div class="rowfont" style="width:50%;color:#888;">{{caseInfo.zs30hx}}</div>
-        </div>
+        </div> -->
         <div style="display:flex;">
           <div class="rowfont" style="width:50%;">采血时间t<sub>1</sub></div>
           <div class="rowfont" style="width:50%;color:#888;">{{caseInfo.cxsjt1}}</div>
@@ -77,9 +77,9 @@
         </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%;">目标谷活性%</div>
           <div class="rowfont" style="width:50%;color:#888;">{{caseInfo.yfghx}}</div>
         </div>
         <div style="display:flex;">

+ 40 - 43
src/components/PatCaseList.vue

@@ -15,27 +15,14 @@
       </mt-navbar>
       <!-- 医生 -->
       <div class="diagShowForm" v-if="selected=='1'">
-        <div style="display:flex;border-bottom:1px solid #ccc;position: relative;" @click="goToPatient">
-          <div class="rowfont" style="width:25%;">医生1</div>
+        <div  @click="goToPatient(item)" v-for="(item,index) in doctorList" :key="index"  style="display:flex;border-bottom:1px solid #ccc;position: relative;">
+          <div class="rowfont" style="width:30%;">{{item.name}}</div>
           <div class="rowfont" style="width:30%;">
-            <div class="badge">10</div>
+            <div class="badge">{{item.patient_cnt}}</div>
             患者
           </div>
           <div class="rowfont" style="width:30%;">
-            <div class="badge">20</div>
-            方案
-          </div>
-          <img src="../assets/images/more.png" style="position:absolute;right:-10px;top:10%;" alt="" width="32px"
-            height="32px">
-        </div>
-        <div style="display:flex;border-bottom:1px solid #ccc;position: relative;" @click="goToPatient">
-          <div class="rowfont" style="width:25%;">医生1</div>
-          <div class="rowfont" style="width:30%;">
-            <div class="badge">10</div>
-            患者
-          </div>
-          <div class="rowfont" style="width:30%;">
-            <div class="badge">20</div>
+            <div class="badge">{{item.case_cnt}}</div>
             方案
           </div>
           <img src="../assets/images/more.png" style="position:absolute;right:-10px;top:10%;" alt="" width="32px"
@@ -44,26 +31,16 @@
       </div>
       <!-- 患者 -->
       <div class="diagShowForm" v-if="selected=='2'">
-        <div class="formTitle">医生1</div>
-        <div style="display:flex;border-bottom:1px solid #ccc;position: relative;" @click="goToCase">
-          <div class="rowfont" style="width:45%;">患者1</div>
-          <div class="rowfont" style="width:45%;">
-            <div class="badge">20</div>
-            方案
-          </div>
-          <img src="../assets/images/more.png" style="position:absolute;right:-10px;top:10%;" alt="" width="32px"
-            height="32px">
-        </div>
-        <div style="display:flex;border-bottom:1px solid #ccc;position: relative;" @click="goToCase">
-          <div class="rowfont" style="width:45%;">患者1</div>
+        <div class="formTitle" v-if="curDoctor.id">{{curDoctor.name}}医生</div>
+        <div  @click="goToCase(item)" v-for="(item,index) in patientList" :key="index" style="display:flex;border-bottom:1px solid #ccc;position: relative;">
+          <div class="rowfont" style="width:45%;">{{item.name}}</div>
           <div class="rowfont" style="width:45%;">
-            <div class="badge">20</div>
+            <div class="badge">{{item.case_cnt}}</div>
             方案
           </div>
           <img src="../assets/images/more.png" style="position:absolute;right:-10px;top:10%;" alt="" width="32px"
             height="32px">
         </div>
-
       </div>
       <!-- 方案 -->
       <div class="patCaseForm baseInfo" v-for="(item,index) in caseList" v-if="selected=='3'">
@@ -76,8 +53,8 @@
           <mt-button type="primary" size="small" @click="showDetail(item.id)">详情</mt-button>
         </div>
         <div class="footer">
-          <div class="jbbtn" @click="add">新增</div>
-          <div class="jbbtn" @click="edit(item.id)">调整</div>
+          <div class="jbbtn" @click="add(item)">新增</div>
+          <div class="jbbtn" @click="edit(item)">调整</div>
         </div>
       </div>
       <div class="pageFooter" style="position:fixed;bottom:1rem;width:100%;">
@@ -112,17 +89,24 @@
         searchName: "",
         form: {},
         queryForm: {},
-        caseList: {},
         selected: this.$route.query.select?this.$route.query.select:"1",
-        caseInfo: {}
-
+        caseInfo: {},
+        caseList: [],
+        doctorList:[],
+        patientList:[],
+        curDoctor:{}
       }
     },
     methods: {
-      goToPatient(){
+      goToPatient(item){
+        this.queryForm.cur_doctor_id = item.id
+        this.getData()
         this.selected = "2"
+        this.curDoctor = item
       },
-      goToCase(){
+      goToCase(item){
+        this.queryForm.patient_id = item.id
+        this.getData()
         this.selected = "3"
       },
       goPage(path) {
@@ -144,20 +128,33 @@
             this.caseList = res.data.data.list
           }
         })
+        this.$api.get_doctor_list(this.queryForm).then(res=>{
+          if(!res.data.code){
+            this.doctorList = res.data.data.list
+          }
+        })
+        this.$api.get_patient_list(this.queryForm).then(res=>{
+          if(!res.data.code){
+            this.patientList = res.data.data.list
+          }
+        })
       },
-      edit(id){
+      edit(item){
         this.$router.push({
           path: "diagcalc",
           query: {
-            id: id,
-            edit: 1,
+            id: item.id,
+            patid:item.patient_id,
             back:"patcaselist"
           }
         })
       },
-      add(){
+      add(item){
         this.$router.push({
-          path: "diagcalc",
+          path: "regpatinfo",
+          query:{
+            patid:item.patient_id
+          }
         })
       }
     },

+ 17 - 11
src/components/RegPatinfo.vue

@@ -17,8 +17,8 @@
 
       </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 class="jbbtn" @click="birthdayClick">测试</div> -->
       </div>
 
@@ -149,16 +149,14 @@
       }
     },
     created() {
-      // this.$api.getAccountInfo().then(res=>{
-      //     if(!res.data.code){
-      //       if(res.data.data.role=="1"){
-      //         this.goPage("/docindex")
-      //       }else{
-      //         this.goPage("/patindex")
-      //       }
-      //       localStorage.setItem("authinfo",JSON.stringify(res.data.data))
-      //     }
-      //   })
+      if(this.$route.query && this.$route.query.patid){
+        let patid = this.$route.query.patid
+        this.$api.get_patient_info({id:patid}).then(res=>{
+          if (!res.data.code) {
+            this.form = res.data.data
+          }
+        })
+      }
     },
   }
 
@@ -176,5 +174,13 @@
   /deep/ .picker-slot {
     /* overflow:scroll!important; */
   }
+  .footer{
+    display: flex;
+    .jbbtn {
+      width: 42%;
+      margin-top: 1rem;
+      margin-bottom: 1rem;
+    }
+  }
 
 </style>