Browse Source

HIS 系统提交

XMLWAN 4 years ago
parent
commit
aa9cb64e56

+ 10 - 1
src/api/project/project.js View File

@@ -317,4 +317,13 @@ export function changePatient(id,params){
317 317
         method:"get",
318 318
         params:params  
319 319
     })
320
-  } 
320
+  } 
321
+
322
+  export function getHisPatient(params){
323
+    
324
+    return request({
325
+      url:"/api/hispatient/gehispatient",
326
+      method:"get",
327
+      params:params
328
+    })
329
+  }

+ 22 - 18
src/xt_pages/outpatientDoctorStation/components/deskRecord.vue View File

@@ -170,6 +170,7 @@
170 170
       patientInfo: Object,
171 171
       hisPatientInfo: Object,
172 172
       record_date:String,
173
+      detalid:Number,
173 174
     },
174 175
     components: {
175 176
       medicalRecord,
@@ -179,19 +180,19 @@
179 180
       return {
180 181
         id:0,
181 182
         delivery_way:"",
182
-        case_history:{
183
-          sick_type:'',
184
-          symptom:"",
185
-          sick_date:"",
186
-          is_infect:"",
187
-          chief_conplaint:"",
188
-          history_of_present_illness:"",
189
-          past_history:"",
190
-          diagnostic:"",
191
-          personal_history:"",
192
-          family_history:"",
183
+        // case_history:{
184
+        //   sick_type:'',
185
+        //   symptom:"",
186
+        //   sick_date:"",
187
+        //   is_infect:"",
188
+        //   chief_conplaint:"",
189
+        //   history_of_present_illness:"",
190
+        //   past_history:"",
191
+        //   diagnostic:"",
192
+        //   personal_history:"",
193
+        //   family_history:"",
193 194
 
194
-        },
195
+        // },
195 196
         formValue:{
196 197
           temperature:"",
197 198
           blood_sugar:"",
@@ -271,11 +272,10 @@
271 272
        
272 273
 
273 274
       },
274
-      getMsgFormSon(data){
275
-       this.getTemplateDetail(data)
276
-     },
275
+    
277 276
 
278 277
       getTemplateDetail(id){
278
+          console.log("22222")
279 279
           getTemplateDetail(id).then(response=>{
280 280
               if(response.data.state == 1){  
281 281
                 var templatedetail =  response.data.data.templateDetail
@@ -294,9 +294,13 @@
294 294
     },
295 295
     created(){
296 296
        this.wayOptions = getDataConfig("patient", "reimbursement_ways");
297
-
298
-       console.log("2222",this.wayOptions)
299
-     
297
+       console.log("232322323",this)
298
+       
299
+    },
300
+    watch:{
301
+      detalid:function(val){
302
+        this.getTemplateDetail(val)
303
+      }
300 304
     }
301 305
   }
302 306
 </script>

+ 7 - 3
src/xt_pages/outpatientDoctorStation/components/medicalRecord.vue View File

@@ -160,24 +160,27 @@ export default {
160 160
             this.$refs.recordTemplateDetail.show(id)
161 161
         },
162 162
         totemplateDetailTwo(id){
163
+        console.log("id0---",id)
163 164
          this.$emit('func',id)
164 165
          this.visible = false
165 166
         },
166 167
         //获取历史数据历史模板
167 168
         getlist(){
169
+            console.log("触发了吗")
168 170
             const params = {
169 171
                keyword:this.search_input,
170 172
                start_time:this.start_time,
171 173
                end_time:this.end_time
172 174
             }
175
+           console.log("params-----",params)
173 176
           getHistoryTemplate(params).then(response=>{
174 177
             if(response.data.state == 1){
175 178
               var template =  response.data.data.template
176 179
               console.log("templagte",template)
177 180
               this.tempalateData = template
178
-              var history =  response.data.data.history
179
-              console.log("history",history)
180
-              this.tableData = history
181
+            //   var history =  response.data.data.history
182
+            //   console.log("history",history)
183
+            //   this.tableData = history
181 184
             }
182 185
           })
183 186
         },
@@ -192,6 +195,7 @@ export default {
192 195
         }
193 196
     },
194 197
     created(){
198
+       console.log("99999999999999999")
195 199
        this.getlist()
196 200
     }
197 201
 }

+ 1 - 1
src/xt_pages/outpatientDoctorStation/components/recordTemplateDetail.vue View File

@@ -145,7 +145,7 @@ export default {
145 145
                 var template =  response.data.data.templateDetail
146 146
                 this.$message.success("保存成功")
147 147
                 this.visible = false
148
-                this.$parents.getlist()
148
+                // this.$parents.getlist()
149 149
              }
150 150
           }) 
151 151
         }

+ 3 - 2
src/xt_pages/outpatientDoctorStation/components/saveRecordTemplate.vue View File

@@ -12,7 +12,7 @@
12 12
                 <el-radio v-model="mode_type" label="2">公共模板</el-radio>
13 13
             </el-form-item> -->
14 14
             <el-form-item label="模板名称: " prop="name" style="width:100%;">
15
-                <el-input v-model="form.template_name" placeholder=""></el-input>
15
+                <el-input v-model="template_name" placeholder=""></el-input>
16 16
             </el-form-item>
17 17
             <el-form-item label="模板说明:" prop="name" style="width:100%;">
18 18
                 <el-input
@@ -100,7 +100,7 @@ export default {
100 100
              family_history:this.family_history,
101 101
              diagnostic:this.diagnostic,
102 102
             }
103
-            console.log("params",params)
103
+         console.log("params",params)
104 104
           SaveHisPatientCaseHistoryTemplate(params).then(response=>{
105 105
               if(response.data.state == 1){
106 106
                  this.$message.success("保存成功")
@@ -112,6 +112,7 @@ export default {
112 112
     created(){
113 113
       this.start_time = moment().format("YYYY-MM-DD HH:mm:ss")
114 114
       this.user_name = this.$store.getters.xt_user.user.user_name
115
+      
115 116
     }
116 117
 }
117 118
 </script>

+ 21 - 8
src/xt_pages/outpatientDoctorStation/doctorDesk.vue View File

@@ -64,11 +64,10 @@
64 64
                            :hisPatientInfo="hisPatientInfo"
65 65
                            v-if="titleType == '处方'" style="flex:1;"></desk-prescription>
66 66
         <desk-record :record_date="record_date" :case_history="case_history" :patientInfo="patientInfo"
67
-                     :hisPatientInfo="hisPatientInfo"   v-if="titleType == '病历'"  ref="child"></desk-record>
67
+                     :hisPatientInfo="hisPatientInfo"   v-if="titleType == '病历'" :detalid="detalid" ref="child"></desk-record>
68 68
                     
69
-        <!-- <medicalRecord ref='medicalRecord'  @func="getMsgFormSon"></medicalRecord> -->
70
-         <medicalRecord ref='medicalRecord' ></medicalRecord>
71
-       <saveRecordTemplate ref='saveRecordTemplate'></saveRecordTemplate>
69
+         <medicalRecord ref='medicalRecord' @func="getMsgFormSon" ></medicalRecord>
70
+         <saveRecordTemplate ref='saveRecordTemplate'></saveRecordTemplate>
72 71
       </div>
73 72
 
74 73
     </div>
@@ -84,7 +83,6 @@
84 83
   import medicalRecord from './components/medicalRecord'
85 84
   import saveRecordTemplate from './components/saveRecordTemplate'
86 85
   import { uParseTime } from '@/utils/tools'
87
-
88 86
   export default {
89 87
     components: {
90 88
       BreadCrumb,
@@ -122,7 +120,8 @@
122 120
         diagnoses: [],
123 121
         other_sick: [],
124 122
         info:{},
125
-
123
+        templatedetail:{},
124
+        detalid:0,
126 125
       }
127 126
     },
128 127
     methods: {
@@ -182,8 +181,6 @@
182 181
             this.$message.error(response.data.msg)
183 182
             return false
184 183
           } else {
185
-            console.log("999888811111")
186
-
187 184
             this.prescriptions = []
188 185
             // this.$refs.prescriptions.clearData()
189 186
             this.patientInfo = response.data.data.xt_info
@@ -373,6 +370,22 @@
373 370
       //   this.hisPatientInfo = val.hisPatientInfo
374 371
       //   console.log("333333",this.hisPatientInfo)
375 372
       // }
373
+
374
+      getMsgFormSon(id){
375
+        console.log("id----------",id)
376
+        this.detalid = id
377
+      },
378
+      //  getTemplateDetail(id){
379
+      //     getTemplateDetail(id).then(response=>{
380
+      //         if(response.data.state == 1){  
381
+      //           var templatedetail =  response.data.data.templateDetail
382
+      //           console.log("templatedetail",templatedetail)
383
+      //           templatedetail = 
384
+             
385
+               
386
+      //         }
387
+      //     })
388
+      //   },
376 389
     }, 
377 390
     created() {
378 391
       var nowDate = new Date()

+ 36 - 10
src/xt_pages/outpatientRegistration/index.vue View File

@@ -23,8 +23,8 @@
23 23
                             <el-button style="margin-left:10px;" type="primary" @click="reading">读卡</el-button>
24 24
                         </div>
25 25
                     </el-form-item>
26
-                    <el-form-item label="患者姓名:">
27
-                        <el-input v-model="form.name"></el-input>
26
+                    <el-form-item label="患者姓名:"  prop="name" :validate-event="is_Name">
27
+                        <el-input  v-model="form.name"></el-input>
28 28
                     </el-form-item>
29 29
                     <el-form-item label="性别:">
30 30
                         <el-select v-model="form.sex" placeholder="请选择">
@@ -62,7 +62,7 @@
62 62
                     <el-form-item label="年龄:">
63 63
                         <el-input v-model="form.age"></el-input>
64 64
                     </el-form-item>
65
-                    <el-form-item label="证件号码:" required prop="idCard">
65
+                    <el-form-item label="证件号码:" prop="idCard"  :validate-event="is_Name">
66 66
                         <el-input v-model="form.idCard"></el-input>
67 67
                     </el-form-item>
68 68
    
@@ -71,7 +71,7 @@
71 71
             <div class="nameTitle">患者挂号信息:</div>
72 72
             <div class="formMain">
73 73
                 <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="100px">
74
-                    <el-form-item label="挂号类型:"  prop="register">
74
+                    <el-form-item label="挂号类型:"  prop="register"  :validate-event="is_Name">
75 75
                         <el-select v-model="form.register"  placeholder="请选择">
76 76
                             <el-option
77 77
                             v-for="item in register"
@@ -81,7 +81,7 @@
81 81
                             </el-option>
82 82
                         </el-select>
83 83
                     </el-form-item>
84
-                    <el-form-item label="医生:"  prop="doctor" >
84
+                    <el-form-item label="医生:"  prop="doctor" :validate-event="is_Name" >
85 85
                         <el-select v-model="form.doctor" placeholder="请选择">
86 86
                             <el-option
87 87
                             v-for="item in doctorList"
@@ -91,7 +91,7 @@
91 91
                             </el-option>
92 92
                         </el-select>
93 93
                     </el-form-item>
94
-                    <el-form-item label="科室:"  prop="department">
94
+                    <el-form-item label="科室:"  prop="department" :validate-event="is_Name">
95 95
                         <el-select v-model="form.department"  placeholder="请选择">
96 96
                             <el-option
97 97
                             v-for="item in departmentList"
@@ -243,8 +243,8 @@ export default {
243 243
                 psn_name:"杨美英",
244 244
                 age:60.7
245 245
             },
246
-
247 246
             rules: {
247
+              name:[{ required:true,message:"患者姓名不能为空",trigger: 'blur'}],
248 248
               idCard: [{ required: true, message: '证件号码不能为空', trigger: 'blur'  }],
249 249
               register: [{ required: true, message: '请选择挂号类型' , trigger: 'blur' }],
250 250
               doctor: [{ required: true, message: '请选择医生' , trigger: 'blur' }],
@@ -253,7 +253,8 @@ export default {
253 253
            doctorList:[],
254 254
            departmentList:[],
255 255
            check:0,
256
-           show:false
256
+           show:false,
257
+           is_Name:false
257 258
         }
258 259
     },
259 260
     computed:{
@@ -358,8 +359,33 @@ export default {
358 359
            })   
359 360
         },
360 361
         saveHisPatient(formName){   
361
-           if(this.form.idCard == ""){
362
+           if(this.form.name == ""){
363
+             this.$message.error("患者姓名不能为空")
364
+             this.is_Name = true
365
+             return
366
+           }
367
+          if(this.form.idCard == ""){
362 368
              this.$message.error("证件号码不能为空")
369
+             this.is_Name = true
370
+             return
371
+           }
372
+
373
+          if(this.form.register == ""){
374
+             this.$message.error("挂号类型不能为空")
375
+             this.is_Name = true
376
+             return
377
+           }
378
+
379
+         if(this.form.doctor == ""){
380
+             this.$message.error("医生不能为空")
381
+             this.is_Name = true
382
+             return
383
+           }
384
+
385
+         if(this.form.department == ""){
386
+             this.$message.error("科室不能为空")
387
+             this.is_Name = true
388
+             return
363 389
            }
364 390
           this.$refs[formName].validate((valid)=>{
365 391
              if(valid){
@@ -405,7 +431,7 @@ export default {
405 431
                      this.form.medicalCare = "",
406 432
                      this.form.birthday ="",
407 433
                      this.form.age ="",
408
-                    //  this.form.idCard = "",
434
+                     this.form.idCard = "",
409 435
                      this.form.register = "",
410 436
                      this.form.doctor = "",
411 437
                      this.form.department = "",

+ 45 - 3
src/xt_pages/outpatientRegistration/registrationHistory.vue View File

@@ -5,7 +5,21 @@
5 5
         </div>
6 6
         <div class="app-container">
7 7
             <div class="cell clearfix">
8
-                <el-input style="width: 180px;" v-model.trim="search_input" class="filter-item"/>
8
+                <!-- <el-input style="width: 180px;" v-model.trim="search_input" class="filter-item"/> -->
9
+                <el-autocomplete
10
+                  style="margin:16px 5px"
11
+                  popper-class="my-autocomplete"
12
+                  v-model.trim="search_input"
13
+                  :fetch-suggestions="querySearchAsync"
14
+                  :trigger-on-focus="false"
15
+                  placeholder="病人名字或者透析号"
16
+                  @select="handleSelect"
17
+                >
18
+                  <i class="el-icon-search el-input__icon" slot="suffix"> </i>
19
+                  <template slot-scope="{ item }">
20
+                    <div class="name">{{ item.name }}</div>
21
+                  </template>
22
+                </el-autocomplete>
9 23
                 <el-button style="margin-right:10px;" class="filter-item" type="primary" icon="el-icon-search" @click="searchAction">搜索</el-button>
10 24
                 <!-- <el-date-picker
11 25
                 v-model="value1"
@@ -113,7 +127,7 @@
113 127
 <script>
114 128
 const moment = require('moment')
115 129
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
116
-import { getHisPatientHistory,changePatient } from "@/api/project/project"
130
+import { getHisPatientHistory,changePatient,getHisPatient } from "@/api/project/project"
117 131
 import { uParseTime } from "@/utils/tools";
118 132
 export default {
119 133
     components:{
@@ -167,6 +181,7 @@ export default {
167 181
                 id: 7,
168 182
                 name: "生育保险"
169 183
             }],
184
+            tablePatient:[]
170 185
         }
171 186
     },
172 187
     created(){
@@ -180,7 +195,7 @@ export default {
180 195
             
181 196
         // })
182 197
         // this.tableData = arr
183
-     
198
+       //获取所有挂号号的患者
184 199
        this.getlist()
185 200
     },
186 201
     methods:{
@@ -301,7 +316,34 @@ export default {
301 316
           });
302 317
         })
303 318
         .catch(() => {});
319
+        },
320
+
321
+     querySearchAsync(keyword, cb) {
322
+        let key = ''
323
+        if (keyword != undefined) {
324
+          key = keyword
325
+        }
326
+        let searchArray = []
327
+       
328
+        var params = {
329
+           keyword:key
304 330
         }
331
+        console.log("params",params)
332
+        getHisPatient(params).then(response => {
333
+          if (response.data.state == 1) {
334
+            searchArray = response.data.data.patient
335
+            console.log("searcharrya",searchArray)
336
+            cb(searchArray)
337
+          }
338
+        })
339
+        return searchArray
340
+      },
341
+
342
+      handleSelect(val){   
343
+          this.search_input = val.name
344
+          this.getlist()
345
+        },
346
+
305 347
     }
306 348
 }
307 349
 </script>

+ 1 - 0
src/xt_pages/stock/selfPreparedMedicine/index.vue View File

@@ -350,6 +350,7 @@ export default {
350 350
             key = keyword
351 351
           }
352 352
           let searchArray = []
353
+          console.log("key",key)
353 354
           PostSearch(key).then(response => {
354 355
             if (response.data.state == 1) {
355 356
               searchArray = response.data.data.patient