Browse Source

Merge branch '20201109_pc_vue_new_branch' of http://git.shengws.com/csx/Vue_New into 20201109_pc_vue_new_branch

csx 4 years ago
parent
commit
e4ad7cd0e7

+ 48 - 11
src/xt_pages/outpatientCharges/components/registerDialog9504.vue View File

@@ -4,7 +4,7 @@
4 4
                :close-on-press-escape="isClose">
5 5
 
6 6
         <el-form :model="form" :rules="rules" ref="formValue" label-width="100px">
7
-            <el-form-item label="患者姓名:" prop="name" :validate-event="is_Name">
7
+            <el-form-item label="患者姓名:" prop="name" >
8 8
                 <el-autocomplete
9 9
                         class="checkSearch"
10 10
                         popper-class="my-autocomplete"
@@ -22,7 +22,7 @@
22 22
                 </el-autocomplete>
23 23
             </el-form-item>
24 24
 
25
-            <el-form-item label="性别:" prop="gender" :validate-event="is_Name">
25
+            <el-form-item label="性别:" prop="gender" >
26 26
                 <el-select v-model="form.gender" placeholder="请选择" style="width:100%;">
27 27
                     <el-option
28 28
                             v-for="item in sex"
@@ -35,12 +35,12 @@
35 35
 
36 36
             </el-form-item>
37 37
 
38
-            <el-form-item label="年龄:" prop="age" :validate-event="is_Name">
38
+            <el-form-item label="年龄:" prop="age" >
39 39
                 <el-input v-model="form.age"></el-input>
40 40
             </el-form-item>
41 41
 
42 42
 
43
-            <el-form-item label="出生日期:" prop="birthday" :validate-event="is_Name">
43
+            <el-form-item label="出生日期:" prop="birthday" >
44 44
                 <el-date-picker v-model="form.birthday" type="date" format="yyyy-MM-dd"
45 45
                                 value-format="yyyy-MM-dd" placeholder="选择日期" style="width:100%;"></el-date-picker>
46 46
             </el-form-item>
@@ -62,7 +62,7 @@
62 62
             </el-form-item>
63 63
 
64 64
 
65
-            <el-form-item label="证件类型:" prop="certificates" :validate-event="is_Name">
65
+            <el-form-item label="证件类型:" prop="certificates" >
66 66
                 <el-select v-model="form.certificates" placeholder="请选择" style="width:100%;">
67 67
                     <el-option
68 68
                             v-for="item in certificates"
@@ -73,7 +73,7 @@
73 73
                 </el-select>
74 74
             </el-form-item>
75 75
 
76
-            <el-form-item label="证件号码:" prop="id_card" :validate-event="is_Name">
76
+            <el-form-item label="证件号码:" prop="id_card">
77 77
                 <el-input v-model="form.id_card"></el-input>
78 78
             </el-form-item>
79 79
 
@@ -104,7 +104,7 @@
104 104
             </el-form-item>
105 105
 
106 106
 
107
-            <el-form-item label="读卡类型:" prop="id_card_type" :validate-event="is_Name">
107
+            <el-form-item label="读卡类型:" prop="id_card_type">
108 108
                 <el-select v-model="form.id_card_type" placeholder="请选择">
109 109
                     <el-option
110 110
                             v-for="item in IDCardTypes"
@@ -124,7 +124,7 @@
124 124
                 </div>
125 125
             </el-form-item>
126 126
 
127
-            <el-form-item label="挂号类型:" prop="register" :validate-event="is_Name">
127
+            <el-form-item label="挂号类型:" prop="register" >
128 128
                 <el-select v-model="form.register" placeholder="请选择" style="width:100%;" @change="changeRegister">
129 129
                     <el-option
130 130
                             v-for="item in register"
@@ -140,6 +140,28 @@
140 140
             <el-form-item label="诊疗费:">
141 141
                 <el-input readonly v-model="form.medical_expenses"></el-input>
142 142
             </el-form-item>
143
+
144
+            <el-form-item label="医生:" prop="doctor" >
145
+                <el-select v-model="form.doctor" placeholder="请选择" @change="changeDoctor">
146
+                    <el-option
147
+                            v-for="(item,index) in doctors"
148
+                            :key="index"
149
+                            :label="item.user_name"
150
+                            :value="item.admin_user_id">
151
+                    </el-option>
152
+                </el-select>
153
+            </el-form-item>
154
+
155
+            <el-form-item label="科室:" prop="department" >
156
+                <el-select v-model="form.department" placeholder="请选择">
157
+                    <el-option
158
+                            v-for="(item,index) in departments"
159
+                            :key="index"
160
+                            :label="item.name"
161
+                            :value="item.id">
162
+                    </el-option>
163
+                </el-select>
164
+            </el-form-item>
143 165
         </el-form>
144 166
 
145 167
         <span slot="footer" class="dialog-footer">
@@ -184,8 +206,6 @@
184 206
         ],
185 207
 
186 208
 
187
-
188
-
189 209
         form: {
190 210
           id: '',
191 211
           settlement_value: '',
@@ -327,7 +347,12 @@
327 347
       }
328 348
     },
329 349
     props: {
330
-
350
+      departments:{
351
+        type: Array,
352
+      },
353
+      doctors:{
354
+        type: Array,
355
+      },
331 356
       titles: {
332 357
         type: String,
333 358
         default: ''
@@ -349,6 +374,18 @@
349 374
       diagnoses: Array,
350 375
     },
351 376
     methods: {
377
+      changeDoctor() {
378
+        for (let i = 0; i < this.doctors.length; i++) {
379
+          if (this.doctors[i].admin_user_id == this.form.doctor) {
380
+            console.log(this.doctors[i].department_id)
381
+            this.form.department = this.doctors[i].department_id
382
+            if(this.form.department == 0){
383
+
384
+              this.form.department = ""
385
+            }
386
+          }
387
+        }
388
+      },
352 389
       changeRegister(value){
353 390
         if (value != 4){
354 391
           this.form.registration_fee = 10

+ 1 - 1
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue View File

@@ -344,7 +344,7 @@
344 344
         <register-dialog ref='register' :doctors="doctors" :department="department" :sick="sick" :diagnoses="diagnoses"
345 345
                          v-on:confirm="confirm" v-on:cancel="cancel"></register-dialog>
346 346
 
347
-        <register-dialog9504 ref='register9504' :doctors="doctors" :department="department" :sick="sick" :diagnoses="diagnoses"
347
+        <register-dialog9504 ref='register9504' :doctors="doctors" :departments="department" :sick="sick" :diagnoses="diagnoses"
348 348
                              v-on:confirm="registerConfirm" v-on:cancel="registerCancel"></register-dialog9504>
349 349
 
350 350
         <charge-dialog ref='charge' v-on:confirm="chargeConfirm" v-on:cancel="chargeCancel"></charge-dialog>

+ 371 - 1
src/xt_pages/outpatientRegistration/index.vue View File

@@ -3,7 +3,186 @@
3 3
         <div class="position">
4 4
             <bread-crumb :crumbs='crumbs'></bread-crumb>
5 5
         </div>
6
-        <div class="app-container">
6
+        <div v-if="this.$store.getters.xt_user.org_id == 9504" class="app-container">
7
+            <div class="nameTitle">患者基本信息:</div>
8
+            <div class="formMain">
9
+                <el-form class="basicForm" :model="form" :rules="rules2" ref="form" label-width="100px">
10
+
11
+                    <el-form-item label="患者姓名:" prop="name" :validate-event="is_Name">
12
+                        <el-autocomplete
13
+                                class="checkSearch"
14
+                                popper-class="my-autocomplete"
15
+                                v-model="form.name"
16
+                                :fetch-suggestions="querySearchAsync"
17
+                                :trigger-on-focus="false"
18
+                                placeholder="请输入病人名字"
19
+                                @select="handleSelect"
20
+                                style="width:160px;"
21
+                        >
22
+                            <i class="el-icon-search el-input__icon" slot="suffix"></i>
23
+                            <template slot-scope="{ item }">
24
+                                <div class="name">{{ item.name }}</div>
25
+                            </template>
26
+                        </el-autocomplete>
27
+                    </el-form-item>
28
+
29
+
30
+                    <el-form-item label="性别:" prop="sex" :validate-event="is_Name">
31
+                        <el-select v-model="form.sex" placeholder="请选择">
32
+                            <el-option
33
+                                    v-for="item in sex"
34
+                                    :key="item.value"
35
+                                    :label="item.label"
36
+                                    :value="item.value">
37
+                            </el-option>
38
+                        </el-select>
39
+                    </el-form-item>
40
+
41
+                    <el-form-item label="年龄:" prop="age" :validate-event="is_Name">
42
+                        <el-input v-model="form.age"></el-input>
43
+                    </el-form-item>
44
+
45
+
46
+                    <el-form-item label="出生日期:" prop="birthday" :validate-event="is_Name">
47
+                        <el-date-picker v-model="form.birthday" type="date" @change="getBirthday"
48
+                                        placeholder="选择日期"></el-date-picker>
49
+                    </el-form-item>
50
+
51
+                    <el-form-item label="手机号码:" prop="phone">
52
+                        <el-input v-model="form.phone"></el-input>
53
+                    </el-form-item>
54
+
55
+
56
+                    <el-form-item label="证件类型:" prop="certificates" :validate-event="is_Name">
57
+                        <el-select v-model="form.certificates" placeholder="请选择">
58
+                            <el-option
59
+                                    v-for="item in certificates"
60
+                                    :key="item.value"
61
+                                    :label="item.label"
62
+                                    :value="item.value">
63
+                            </el-option>
64
+                        </el-select>
65
+                    </el-form-item>
66
+
67
+                    <el-form-item label="证件号码:" prop="idCard" :validate-event="is_Name">
68
+                        <el-input v-model="form.idCard"></el-input>
69
+                    </el-form-item>
70
+
71
+
72
+                    <el-form-item label="结算类型:">
73
+                        <el-select v-model="form.settlementValue" placeholder="请选择">
74
+                            <el-option
75
+                                    v-for="item in settlement"
76
+                                    :key="item.value"
77
+                                    :label="item.label"
78
+                                    :value="item.value">
79
+                            </el-option>
80
+                        </el-select>
81
+                    </el-form-item>
82
+
83
+
84
+                    <el-form-item label="社保类型:">
85
+                        <el-select v-model="form.social_type" placeholder="请选择">
86
+                            <!-- <el-option
87
+                            v-for="(item,index) in getDictionaryDataConfig('system','social_type')"
88
+                            :key="index"
89
+                            :label="item.name"
90
+                            :value="item.id">
91
+                            </el-option> -->
92
+                            <el-option
93
+                                    v-for="item in medicalCare"
94
+                                    :key="item.value"
95
+                                    :label="item.label"
96
+                                    :value="item.value">
97
+                            </el-option>
98
+                        </el-select>
99
+                    </el-form-item>
100
+
101
+
102
+                    <el-form-item label="读卡类型:" prop="id_card_type" :validate-event="is_Name">
103
+                        <el-select v-model="form.id_card_type" placeholder="请选择">
104
+                            <el-option
105
+                                    v-for="item in IDCardTypes"
106
+                                    :key="item.value"
107
+                                    :label="item.label"
108
+                                    :value="item.value">
109
+                            </el-option>
110
+                        </el-select>
111
+                    </el-form-item>
112
+
113
+                    <el-form-item class="specialFormItem" label="医保卡号:">
114
+                        <div style="display:flex;">
115
+                            <el-input v-model="form.medicalInsuranceCard"></el-input>
116
+                            <el-button style="margin-left:10px;" type="primary" @click="reading">读卡</el-button>
117
+                        </div>
118
+                    </el-form-item>
119
+
120
+                </el-form>
121
+            </div>
122
+            <div class="nameTitle">患者挂号信息:</div>
123
+            <div class="formMain">
124
+                <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="100px">
125
+                    <el-form-item label="挂号类型:" prop="register" :validate-event="is_Name">
126
+                        <el-select v-model="form.register" placeholder="请选择">
127
+                            <el-option
128
+                                    v-for="item in register"
129
+                                    :key="item.value"
130
+                                    :label="item.label"
131
+                                    :value="item.value">
132
+                            </el-option>
133
+                        </el-select>
134
+                    </el-form-item>
135
+
136
+
137
+
138
+                    <el-form-item label="医疗类别:">
139
+                        <el-select v-model="form.medicalCare" placeholder="请选择">
140
+                            <el-option
141
+                                    v-for="(item,index) in medical_care"
142
+                                    :key="index"
143
+                                    :label="item.label"
144
+                                    :value="item.value">
145
+                            </el-option>
146
+                        </el-select>
147
+                    </el-form-item>
148
+
149
+                    <el-form-item label="医生:" prop="doctor" :validate-event="is_Name">
150
+                        <el-select v-model="form.doctor" placeholder="请选择" @change="changeDoctor">
151
+                            <el-option
152
+                                    v-for="item in doctorList"
153
+                                    :key="item.admin_user_id"
154
+                                    :label="item.user_name"
155
+                                    :value="item.admin_user_id">
156
+                            </el-option>
157
+                        </el-select>
158
+                    </el-form-item>
159
+                    <el-form-item label="科室:" prop="department" :validate-event="is_Name">
160
+                        <el-select v-model="form.department" placeholder="请选择">
161
+                            <el-option
162
+                                    v-for="item in departmentList"
163
+                                    :key="item.id"
164
+                                    :label="item.name"
165
+                                    :value="item.id">
166
+                            </el-option>
167
+                        </el-select>
168
+                    </el-form-item>
169
+
170
+                    <el-form-item label="挂号费:">
171
+                        <el-input v-model.number="form.registrationFee"></el-input>
172
+                    </el-form-item>
173
+                    <el-form-item label="诊疗费:">
174
+                        <el-input v-model.number="form.medicalExpenses"></el-input>
175
+                    </el-form-item>
176
+                    <el-form-item label="合计:">
177
+                        <el-input v-model.number="total" readonly></el-input>
178
+                    </el-form-item>
179
+                </el-form>
180
+                <el-button style="float:right" @click="saveHisPatient9504('form')" type="primary">挂号</el-button>
181
+            </div>
182
+
183
+        </div>
184
+
185
+        <div v-else class="app-container">
7 186
             <div class="nameTitle">患者基本信息:</div>
8 187
             <div class="formMain">
9 188
                 <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="100px">
@@ -408,6 +587,20 @@
408 587
           psn_cert_type: '01',
409 588
           psn_name: '杨美英',
410 589
           age: 60.7
590
+        },
591
+        rules2: {
592
+          name: [{ required: true, message: '患者姓名不能为空', trigger: 'blur' }],
593
+          sex: [{ required: true, message: '患者性别不能为空', trigger: 'blur' }],
594
+          idCard: [{ required: true, message: '证件号码不能为空', trigger: 'blur' }],
595
+          register: [{ required: true, message: '请选择挂号类型', trigger: 'blur' }],
596
+          doctor: [{ required: true, message: '请选择医生', trigger: 'blur' }],
597
+          department: [{ required: true, message: '请填写科室', trigger: 'blur' }],
598
+          age: [{ required: true, message: '患者年龄不能为空', trigger: 'blur' }],
599
+          birthday: [{ required: true, message: '患者出生日期不能为空', trigger: 'blur' }],
600
+          certificates: [{ required: true, message: '证件类型不能为空', trigger: 'change' }],
601
+          id_card_type: [{ required: true, message: '读卡类型不能为空', trigger: 'change' }],
602
+
603
+
411 604
         },
412 605
         rules: {
413 606
           name: [{ required: true, message: '患者姓名不能为空', trigger: 'blur' }],
@@ -595,6 +788,183 @@
595 788
             this.departmentList = department
596 789
           }
597 790
         })
791
+      },saveHisPatient9504(formName){
792
+        if (this.form.name == '') {
793
+          this.$message.error('患者姓名不能为空')
794
+          this.is_Name = true
795
+          return
796
+        }
797
+
798
+        if (this.form.sex == '') {
799
+          this.$message.error('患者性别不能为空')
800
+        }
801
+
802
+        if (this.form.register == '') {
803
+          this.$message.error('挂号类型不能为空')
804
+          this.is_Name = true
805
+          return
806
+        }
807
+
808
+        if (this.form.doctor == '') {
809
+          this.$message.error('医生不能为空')
810
+          this.is_Name = true
811
+          return
812
+        }
813
+
814
+        if (this.form.department == '') {
815
+          this.$message.error('科室不能为空')
816
+          this.is_Name = true
817
+          return
818
+        }
819
+        if (this.form.age == '') {
820
+          this.$message.error('患者年龄不能为空')
821
+          this.is_Name = true
822
+          return
823
+        }
824
+        if (this.form.birthday == '') {
825
+          this.$message.error('出生日期不能为空')
826
+          this.is_Name = true
827
+          return
828
+        }
829
+        if (this.form.id_card_type == '') {
830
+          this.$message.error('读卡类型不能为空')
831
+          this.is_Name = true
832
+          return
833
+        }
834
+
835
+        if (this.form.idCard == '') {
836
+          this.$message.error('证件号码不能为空')
837
+          this.is_Name = true
838
+          return
839
+        }
840
+
841
+        if (this.form.p_type == '') {
842
+          this.$message.error('处方类型不能为空')
843
+          this.is_Name = true
844
+          return
845
+        }
846
+
847
+        this.$refs[formName].validate((valid) => {
848
+          if (valid) {
849
+            var params = {
850
+              id: this.form.id,
851
+              settlement_value: this.form.settlementValue,
852
+              medical_insurance_card: this.form.medicalInsuranceCard,
853
+              name: this.form.name,
854
+              sex: this.form.sex,
855
+              id_card_type: this.form.id_card_type,
856
+              certificates: this.form.certificates,
857
+              medical_care: this.form.medicalCare,
858
+              birthday: moment(new Date(this.form.birthday)).format('YYYY-MM-DD'),
859
+              age: parseInt(this.form.age),
860
+              id_card: this.form.idCard,
861
+              register: this.form.register,
862
+              doctor: this.form.doctor,
863
+              department: this.form.department,
864
+              costChecked: this.check,
865
+              registration_fee: this.form.registrationFee,
866
+              medical_expenses: this.form.medicalExpenses,
867
+              cost: this.form.cost,
868
+              total: this.total,
869
+              phone: this.form.phone,
870
+              social_type: this.form.social_type,
871
+              p_type: this.form.p_type,
872
+              diagnosis: this.form.diagnosis,
873
+              sick_type: this.form.sick_type
874
+            }
875
+            params['record_time'] = this.record_date,
876
+              params['admin_user_id'] = this.$store.getters.xt_user.user.id
877
+            this.loadingone = true
878
+
879
+            if (this.$store.getters.xt_user.org_id == 9504) {
880
+              var that = this
881
+              axios.get('http://127.0.0.1:9532/sz/api/register/get', {
882
+                params: params
883
+              })
884
+                .then(function(response) {
885
+                  if (response.data.state == 0) {
886
+                    that.$message.error(response.data.msg)
887
+                    that.loadingone = false
888
+                    that.$refs.register.hide()
889
+                    return false
890
+                  } else {
891
+                    if (response.data.data.failed_code == -10){
892
+                      that.$message.error(response.data.data.msg)
893
+                    }else{
894
+                      that.$refs.register.hide()
895
+                      that.getPatientList()
896
+                      that.$message({ message: '挂号成功', type: 'success' })
897
+                      that.loadingone = false
898
+                      var his_info = response.data.data.his_info
899
+                      that.hisPatientInfo = his_info
900
+                    }
901
+                  }
902
+                })
903
+                .catch(function(error) {
904
+
905
+                })
906
+            } else if (this.$store.getters.xt_user.org_id == 9919) {
907
+              var that = this
908
+
909
+              axios.get('http://127.0.0.1:9532/api/register/get', {
910
+                params: params
911
+              })
912
+                .then(function(response) {
913
+                  if (response.data.state == 0) {
914
+                    that.$message.error(response.data.msg)
915
+                    that.loadingone = false
916
+                    that.$refs.register.hide()
917
+                    return false
918
+                  } else {
919
+                    that.$refs.register.hide()
920
+                    that.getPatientList()
921
+                    that.$message({ message: '挂号成功', type: 'success' })
922
+                    that.loadingone = false
923
+                    var his_info = response.data.data.his_info
924
+                    that.hisPatientInfo = his_info
925
+                  }
926
+                })
927
+                .catch(function(error) {
928
+
929
+                })
930
+            } else {
931
+              saveHisPatient(params).then(response => {
932
+                if (response.data.state == 1) {
933
+                  var patient = response.data.data.patient
934
+                  this.getTodaySchedulePatient()
935
+                  this.$message.success('保存成功')
936
+                  this.form.settlementValue = '',
937
+                    this.form.medicalInsuranceCard = '',
938
+                    this.form.name = '',
939
+                    this.form.sex = '',
940
+                    this.form.certificates = '',
941
+                    this.form.medicalCare = '',
942
+                    this.form.birthday = '',
943
+                    this.form.age = '',
944
+                    this.form.idCard = '',
945
+                    this.form.register = '',
946
+                    this.form.doctor = '',
947
+                    this.form.department = '',
948
+                    this.form.costChecked = false,
949
+                    this.form.registrationFee = '',
950
+                    this.form.medicalExpenses = '',
951
+                    this.form.cost = '',
952
+                    this.form.total = '' ,
953
+                    this.form.phone = '',
954
+                    this.form.social_type = ''
955
+                } else {
956
+                  this.$message.error('今日患者已挂号!')
957
+                }
958
+              })
959
+
960
+            }
961
+
962
+          }
963
+        })
964
+
965
+
966
+
967
+
598 968
       },
599 969
       saveHisPatient(formName) {
600 970
         if (this.form.name == '') {