浏览代码

HIS 系统提交

XMLWAN 4 年前
父节点
当前提交
aa9cb64e56

+ 10 - 1
src/api/project/project.js 查看文件

317
         method:"get",
317
         method:"get",
318
         params:params  
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 查看文件

170
       patientInfo: Object,
170
       patientInfo: Object,
171
       hisPatientInfo: Object,
171
       hisPatientInfo: Object,
172
       record_date:String,
172
       record_date:String,
173
+      detalid:Number,
173
     },
174
     },
174
     components: {
175
     components: {
175
       medicalRecord,
176
       medicalRecord,
179
       return {
180
       return {
180
         id:0,
181
         id:0,
181
         delivery_way:"",
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
         formValue:{
196
         formValue:{
196
           temperature:"",
197
           temperature:"",
197
           blood_sugar:"",
198
           blood_sugar:"",
271
        
272
        
272
 
273
 
273
       },
274
       },
274
-      getMsgFormSon(data){
275
-       this.getTemplateDetail(data)
276
-     },
275
+    
277
 
276
 
278
       getTemplateDetail(id){
277
       getTemplateDetail(id){
278
+          console.log("22222")
279
           getTemplateDetail(id).then(response=>{
279
           getTemplateDetail(id).then(response=>{
280
               if(response.data.state == 1){  
280
               if(response.data.state == 1){  
281
                 var templatedetail =  response.data.data.templateDetail
281
                 var templatedetail =  response.data.data.templateDetail
294
     },
294
     },
295
     created(){
295
     created(){
296
        this.wayOptions = getDataConfig("patient", "reimbursement_ways");
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
 </script>
306
 </script>

+ 7 - 3
src/xt_pages/outpatientDoctorStation/components/medicalRecord.vue 查看文件

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

+ 1 - 1
src/xt_pages/outpatientDoctorStation/components/recordTemplateDetail.vue 查看文件

145
                 var template =  response.data.data.templateDetail
145
                 var template =  response.data.data.templateDetail
146
                 this.$message.success("保存成功")
146
                 this.$message.success("保存成功")
147
                 this.visible = false
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 查看文件

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

+ 21 - 8
src/xt_pages/outpatientDoctorStation/doctorDesk.vue 查看文件

64
                            :hisPatientInfo="hisPatientInfo"
64
                            :hisPatientInfo="hisPatientInfo"
65
                            v-if="titleType == '处方'" style="flex:1;"></desk-prescription>
65
                            v-if="titleType == '处方'" style="flex:1;"></desk-prescription>
66
         <desk-record :record_date="record_date" :case_history="case_history" :patientInfo="patientInfo"
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
       </div>
71
       </div>
73
 
72
 
74
     </div>
73
     </div>
84
   import medicalRecord from './components/medicalRecord'
83
   import medicalRecord from './components/medicalRecord'
85
   import saveRecordTemplate from './components/saveRecordTemplate'
84
   import saveRecordTemplate from './components/saveRecordTemplate'
86
   import { uParseTime } from '@/utils/tools'
85
   import { uParseTime } from '@/utils/tools'
87
-
88
   export default {
86
   export default {
89
     components: {
87
     components: {
90
       BreadCrumb,
88
       BreadCrumb,
122
         diagnoses: [],
120
         diagnoses: [],
123
         other_sick: [],
121
         other_sick: [],
124
         info:{},
122
         info:{},
125
-
123
+        templatedetail:{},
124
+        detalid:0,
126
       }
125
       }
127
     },
126
     },
128
     methods: {
127
     methods: {
182
             this.$message.error(response.data.msg)
181
             this.$message.error(response.data.msg)
183
             return false
182
             return false
184
           } else {
183
           } else {
185
-            console.log("999888811111")
186
-
187
             this.prescriptions = []
184
             this.prescriptions = []
188
             // this.$refs.prescriptions.clearData()
185
             // this.$refs.prescriptions.clearData()
189
             this.patientInfo = response.data.data.xt_info
186
             this.patientInfo = response.data.data.xt_info
373
       //   this.hisPatientInfo = val.hisPatientInfo
370
       //   this.hisPatientInfo = val.hisPatientInfo
374
       //   console.log("333333",this.hisPatientInfo)
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
     created() {
390
     created() {
378
       var nowDate = new Date()
391
       var nowDate = new Date()

+ 36 - 10
src/xt_pages/outpatientRegistration/index.vue 查看文件

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

+ 45 - 3
src/xt_pages/outpatientRegistration/registrationHistory.vue 查看文件

5
         </div>
5
         </div>
6
         <div class="app-container">
6
         <div class="app-container">
7
             <div class="cell clearfix">
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
                 <el-button style="margin-right:10px;" class="filter-item" type="primary" icon="el-icon-search" @click="searchAction">搜索</el-button>
23
                 <el-button style="margin-right:10px;" class="filter-item" type="primary" icon="el-icon-search" @click="searchAction">搜索</el-button>
10
                 <!-- <el-date-picker
24
                 <!-- <el-date-picker
11
                 v-model="value1"
25
                 v-model="value1"
113
 <script>
127
 <script>
114
 const moment = require('moment')
128
 const moment = require('moment')
115
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
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
 import { uParseTime } from "@/utils/tools";
131
 import { uParseTime } from "@/utils/tools";
118
 export default {
132
 export default {
119
     components:{
133
     components:{
167
                 id: 7,
181
                 id: 7,
168
                 name: "生育保险"
182
                 name: "生育保险"
169
             }],
183
             }],
184
+            tablePatient:[]
170
         }
185
         }
171
     },
186
     },
172
     created(){
187
     created(){
180
             
195
             
181
         // })
196
         // })
182
         // this.tableData = arr
197
         // this.tableData = arr
183
-     
198
+       //获取所有挂号号的患者
184
        this.getlist()
199
        this.getlist()
185
     },
200
     },
186
     methods:{
201
     methods:{
301
           });
316
           });
302
         })
317
         })
303
         .catch(() => {});
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
 </script>
349
 </script>

+ 1 - 0
src/xt_pages/stock/selfPreparedMedicine/index.vue 查看文件

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