|
@@ -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 == '') {
|