Bladeren bron

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

see999 3 jaren geleden
bovenliggende
commit
9c7befbad1

+ 1 - 1
index.html Bestand weergeven

4
     <meta charset="utf-8" />
4
     <meta charset="utf-8" />
5
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
5
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
6
     <meta name="renderer" content="webkit" />
6
     <meta name="renderer" content="webkit" />
7
-    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
7
+    <!--<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">-->
8
     <meta
8
     <meta
9
       name="viewport"
9
       name="viewport"
10
       content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
10
       content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"

+ 373 - 343
src/xt_pages/hospitalStation/components/registerDialog.vue Bestand weergeven

1
 <template>
1
 <template>
2
-  <el-dialog width="854px" class="registerDialog" :title="titles" :visible.sync="visibility"
3
-             :close-on-click-modal="isClose"
4
-             :close-on-press-escape="isClose">
5
-
6
-    <el-form :model="form" :rules="rules" ref="formValue" label-width="100px">
7
-      <el-form-item label="患者姓名:" prop="name" :validate-event="is_Name">
8
-        <el-autocomplete
9
-          class="checkSearch"
10
-          popper-class="my-autocomplete"
11
-          v-model="form.name"
12
-          :fetch-suggestions="querySearchAsync"
13
-          :trigger-on-focus="false"
14
-          placeholder="请输入病人名字"
15
-          @select="handleSelect"
16
-          style="width:160px;"
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>
23
-      </el-form-item>
24
-
25
-      <el-form-item label="性别:" prop="gender" :validate-event="is_Name">
26
-        <el-select v-model="form.gender" placeholder="请选择" style="width:100%;">
27
-          <el-option
28
-            v-for="item in sex"
29
-            :key="item.value"
30
-            :label="item.label"
31
-            :value="item.value">
32
-          </el-option>
33
-        </el-select>
34
-
35
-
36
-      </el-form-item>
37
-
38
-      <el-form-item label="年龄:" prop="age" :validate-event="is_Name">
39
-        <el-input v-model="form.age"></el-input>
40
-      </el-form-item>
41
-
42
-
43
-      <el-form-item label="出生日期:" prop="birthday" :validate-event="is_Name">
44
-        <el-date-picker v-model="form.birthday" type="date" format="yyyy-MM-dd"
45
-                        value-format="yyyy-MM-dd" placeholder="选择日期" style="width:100%;"></el-date-picker>
46
-      </el-form-item>
47
-
48
-      <el-form-item label="手机号码:" prop="phone">
49
-        <el-input v-model="form.phone"></el-input>
50
-      </el-form-item>
51
-
52
-
53
-      <el-form-item label="医疗类别:">
54
-        <el-select v-model="form.medical_care" placeholder="请选择" style="width:100%;">
55
-          <el-option
56
-            v-for="(item,index) in medical_care"
57
-            :key="index"
58
-            :label="item.label"
59
-            :value="item.value">
60
-          </el-option>
61
-        </el-select>
62
-      </el-form-item>
63
-
64
-
65
-      <el-form-item label="证件类型:" prop="certificates" :validate-event="is_Name">
66
-        <el-select v-model="form.certificates" placeholder="请选择" style="width:100%;">
67
-          <el-option
68
-            v-for="item in certificates"
69
-            :key="item.value"
70
-            :label="item.label"
71
-            :value="item.value">
72
-          </el-option>
73
-        </el-select>
74
-      </el-form-item>
75
-
76
-      <el-form-item label="证件号码:" prop="id_card" :validate-event="is_Name">
77
-        <el-input v-model="form.id_card"></el-input>
78
-      </el-form-item>
79
-
80
-      <el-form-item label="处方类型:" prop="p_type" :validate-event="is_Name">
81
-        <el-select style="margin-right:5px;width:100px;" v-model="form.p_type" placeholder=""
82
-                   >
83
-          <el-option
84
-            v-for="(item,index) in registers"
85
-            :key="index"
86
-            :label="item.label"
87
-            :value="item.value">
88
-          </el-option>
89
-        </el-select>
90
-      </el-form-item>
91
-      <el-form-item label="大病类别:" prop="sick_type" :validate-event="is_Name">
92
-        <el-select style="margin-right:5px;width:100px;" v-model="form.sick_type" placeholder="">
93
-          <el-option
94
-            v-for="(item,index) in sick"
95
-            :key="index"
96
-            :label="item.class_name"
97
-            :value="item.id">
98
-          </el-option>
99
-        </el-select>
100
-      </el-form-item>
101
-
102
-      <el-form-item label="诊断:" prop="diagnosis" :validate-event="is_Name">
103
-        <el-select style="margin-right:5px;width:100px;" v-model="form.diagnosis" placeholder="">
104
-          <el-option
105
-            v-for="(item,index) in diagnoses"
106
-            :key="index"
107
-            :label="item.class_name"
108
-            :value="item.id">
109
-          </el-option>
110
-        </el-select>
111
-      </el-form-item>
112
-
113
-
114
-      <el-form-item label="结算类型:">
115
-        <el-select v-model="form.settlement_value" placeholder="请选择" style="width:100%;">
116
-          <el-option
117
-            v-for="item in settlement"
118
-            :key="item.value"
119
-            :label="item.label"
120
-            :value="item.value">
121
-          </el-option>
122
-        </el-select>
123
-      </el-form-item>
124
-
125
-
126
-      <el-form-item label="社保类型:">
127
-        <el-select v-model="form.social_type" placeholder="请选择" style="width:100%;">
128
-          <el-option
129
-            v-for="item in medicalCare"
130
-            :key="item.value"
131
-            :label="item.label"
132
-            :value="item.value">
133
-          </el-option>
134
-        </el-select>
135
-      </el-form-item>
136
-
137
-
138
-      <el-form-item label="读卡类型:" prop="id_card_type" :validate-event="is_Name">
139
-        <el-select v-model="form.id_card_type" placeholder="请选择">
140
-          <el-option
141
-            v-for="item in IDCardTypes"
142
-            :key="item.value"
143
-            :label="item.label"
144
-            :value="item.value">
145
-          </el-option>
146
-        </el-select>
147
-      </el-form-item>
148
-
149
-
150
-      <el-form-item class="specialFormItem" label="医保卡号:">
151
-        <div style="display:flex;">
152
-          <el-input v-model="form.medical_insurance_card"></el-input>
153
-          <el-button style="margin-left:10px;" type="primary" @click="reading">读卡</el-button>
154
-
155
-        </div>
156
-      </el-form-item>
157
-
158
-      <el-form-item label="挂号类型:" :validate-event="is_Name">
159
-        <el-select v-model="form.register" placeholder="请选择" style="width:100%;">
160
-          <el-option
161
-            v-for="item in register"
162
-            :key="item.value"
163
-            :label="item.label"
164
-            :value="item.value">
165
-          </el-option>
166
-        </el-select>
167
-      </el-form-item>
168
-      <el-form-item label="挂号费:">
169
-        <el-input  v-model="form.registration_fee"></el-input>
170
-      </el-form-item>
171
-      <el-form-item label="诊疗费:">
172
-        <el-input v-model="form.medical_expenses"></el-input>
173
-      </el-form-item>
174
-    </el-form>
175
-
176
-    <span slot="footer" class="dialog-footer">
2
+    <el-dialog width="854px" class="registerDialog" :title="titles" :visible.sync="visibility"
3
+               :close-on-click-modal="isClose"
4
+               :close-on-press-escape="isClose">
5
+
6
+        <el-form :model="form" :rules="rules" ref="formValue" label-width="100px">
7
+            <el-form-item label="患者姓名:" prop="name" :validate-event="is_Name">
8
+                <el-autocomplete
9
+                        class="checkSearch"
10
+                        popper-class="my-autocomplete"
11
+                        v-model="form.name"
12
+                        :fetch-suggestions="querySearchAsync"
13
+                        :trigger-on-focus="false"
14
+                        placeholder="请输入病人名字"
15
+                        @select="handleSelect"
16
+                        style="width:160px;"
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>
23
+            </el-form-item>
24
+
25
+            <el-form-item label="性别:" prop="gender" :validate-event="is_Name">
26
+                <el-select v-model="form.gender" placeholder="请选择" style="width:100%;">
27
+                    <el-option
28
+                            v-for="item in sex"
29
+                            :key="item.value"
30
+                            :label="item.label"
31
+                            :value="item.value">
32
+                    </el-option>
33
+                </el-select>
34
+
35
+
36
+            </el-form-item>
37
+
38
+            <el-form-item label="年龄:" prop="age" :validate-event="is_Name">
39
+                <el-input v-model="form.age"></el-input>
40
+            </el-form-item>
41
+
42
+
43
+            <el-form-item label="出生日期:" prop="birthday" :validate-event="is_Name">
44
+                <el-date-picker v-model="form.birthday" type="date" format="yyyy-MM-dd"
45
+                                value-format="yyyy-MM-dd" placeholder="选择日期" style="width:100%;"></el-date-picker>
46
+            </el-form-item>
47
+
48
+            <el-form-item label="手机号码:" prop="phone">
49
+                <el-input v-model="form.phone"></el-input>
50
+            </el-form-item>
51
+
52
+
53
+            <el-form-item label="医疗类别:">
54
+                <el-select v-model="form.medical_care" placeholder="请选择" style="width:100%;">
55
+                    <el-option
56
+                            v-for="(item,index) in medical_care"
57
+                            :key="index"
58
+                            :label="item.label"
59
+                            :value="item.value">
60
+                    </el-option>
61
+                </el-select>
62
+            </el-form-item>
63
+
64
+
65
+            <el-form-item label="证件类型:" prop="certificates" :validate-event="is_Name">
66
+                <el-select v-model="form.certificates" placeholder="请选择" style="width:100%;">
67
+                    <el-option
68
+                            v-for="item in certificates"
69
+                            :key="item.value"
70
+                            :label="item.label"
71
+                            :value="item.value">
72
+                    </el-option>
73
+                </el-select>
74
+            </el-form-item>
75
+
76
+            <el-form-item label="证件号码:" prop="id_card" :validate-event="is_Name">
77
+                <el-input v-model="form.id_card"></el-input>
78
+            </el-form-item>
79
+
80
+            <el-form-item label="处方类型:" prop="p_type" :validate-event="is_Name">
81
+                <el-select style="margin-right:5px;width:100px;" v-model="form.p_type" placeholder=""
82
+                >
83
+                    <el-option
84
+                            v-for="(item,index) in registers"
85
+                            :key="index"
86
+                            :label="item.label"
87
+                            :value="item.value">
88
+                    </el-option>
89
+                </el-select>
90
+            </el-form-item>
91
+            <el-form-item label="大病类别:" prop="sick_type" :validate-event="is_Name">
92
+                <el-select style="margin-right:5px;width:100px;" v-model="form.sick_type" placeholder="">
93
+                    <el-option
94
+                            v-for="(item,index) in sick"
95
+                            :key="index"
96
+                            :label="item.class_name"
97
+                            :value="item.id">
98
+                    </el-option>
99
+                </el-select>
100
+            </el-form-item>
101
+
102
+            <el-form-item label="诊断:" prop="diagnosis" :validate-event="is_Name">
103
+                <el-select style="margin-right:5px;width:100px;" v-model="form.diagnosis" placeholder="">
104
+                    <el-option
105
+                            v-for="(item,index) in diagnoses"
106
+                            :key="index"
107
+                            :label="item.class_name"
108
+                            :value="item.id">
109
+                    </el-option>
110
+                </el-select>
111
+            </el-form-item>
112
+
113
+
114
+            <el-form-item label="结算类型:">
115
+                <el-select v-model="form.settlement_value" placeholder="请选择" style="width:100%;">
116
+                    <el-option
117
+                            v-for="item in settlement"
118
+                            :key="item.value"
119
+                            :label="item.label"
120
+                            :value="item.value">
121
+                    </el-option>
122
+                </el-select>
123
+            </el-form-item>
124
+
125
+
126
+            <el-form-item label="社保类型:">
127
+                <el-select v-model="form.social_type" placeholder="请选择" style="width:100%;">
128
+                    <el-option
129
+                            v-for="item in medicalCare"
130
+                            :key="item.value"
131
+                            :label="item.label"
132
+                            :value="item.value">
133
+                    </el-option>
134
+                </el-select>
135
+            </el-form-item>
136
+
137
+
138
+            <el-form-item label="读卡类型:" prop="id_card_type" :validate-event="is_Name">
139
+                <el-select v-model="form.id_card_type" placeholder="请选择">
140
+                    <el-option
141
+                            v-for="item in IDCardTypes"
142
+                            :key="item.value"
143
+                            :label="item.label"
144
+                            :value="item.value">
145
+                    </el-option>
146
+                </el-select>
147
+            </el-form-item>
148
+
149
+
150
+            <el-form-item class="specialFormItem" label="医保卡号:">
151
+                <div style="display:flex;">
152
+                    <el-input v-model="form.medical_insurance_card"></el-input>
153
+                    <el-button style="margin-left:10px;" type="primary" @click="reading">读卡</el-button>
154
+
155
+                </div>
156
+            </el-form-item>
157
+
158
+            <el-form-item label="挂号类型:" :validate-event="is_Name">
159
+                <el-select v-model="form.register" placeholder="请选择" style="width:100%;">
160
+                    <el-option
161
+                            v-for="item in register"
162
+                            :key="item.value"
163
+                            :label="item.label"
164
+                            :value="item.value">
165
+                    </el-option>
166
+                </el-select>
167
+            </el-form-item>
168
+            <el-form-item label="挂号费:">
169
+                <el-input v-model="form.registration_fee"></el-input>
170
+            </el-form-item>
171
+            <el-form-item label="诊疗费:">
172
+                <el-input v-model="form.medical_expenses"></el-input>
173
+            </el-form-item>
174
+
175
+            <el-form-item label="医生:" prop="doctor">
176
+                <el-select v-model="form.doctor" placeholder="请选择">
177
+                    <el-option
178
+                            v-for="(item,index) in doctors"
179
+                            :key="index"
180
+                            :label="item.user_name"
181
+                            :value="item.admin_user_id">
182
+                    </el-option>
183
+                </el-select>
184
+            </el-form-item>
185
+
186
+            <el-form-item label="科室:" prop="department">
187
+                <el-select v-model="form.department" placeholder="请选择">
188
+                    <el-option
189
+                            v-for="(item,index) in departments"
190
+                            :key="index"
191
+                            :label="item.name"
192
+                            :value="item.id">
193
+                    </el-option>
194
+                </el-select>
195
+            </el-form-item>
196
+        </el-form>
197
+
198
+
199
+        <span slot="footer" class="dialog-footer">
177
     <el-button @click="cancel('formValue')">取 消</el-button>
200
     <el-button @click="cancel('formValue')">取 消</el-button>
178
     <el-button type="primary" @click="confirm('formValue')">挂 号</el-button>
201
     <el-button type="primary" @click="confirm('formValue')">挂 号</el-button>
179
   </span>
202
   </span>
180
-  </el-dialog>
203
+    </el-dialog>
181
 
204
 
182
 </template>
205
 </template>
183
 
206
 
184
 <script>
207
 <script>
185
-  import {uParseTime,jsGetAge} from "@/utils/tools";
208
+  import { jsGetAge, uParseTime } from '@/utils/tools'
186
   import axios from 'axios'
209
   import axios from 'axios'
187
-  import {PostSearch} from '@/api/patient'
210
+  import { PostSearch } from '@/api/patient'
188
 
211
 
189
-  import {getDictionaryDataConfig} from '@/utils/data'
212
+  import { getDictionaryDataConfig } from '@/utils/data'
190
 
213
 
191
   export default {
214
   export default {
192
 
215
 
196
 
219
 
197
       return {
220
       return {
198
         registers: [
221
         registers: [
199
-          {value: 11, label: "普通门诊"},
222
+          { value: 11, label: '普通门诊' },
200
           // {value: 12, label: '门诊挂号'},
223
           // {value: 12, label: '门诊挂号'},
201
           // {value: 13, label: "急诊"},
224
           // {value: 13, label: "急诊"},
202
-          {value: 14, label: "门诊特殊病"},
225
+          { value: 14, label: '门诊特殊病' }
203
           // {value: 15, label: "门诊统筹"},
226
           // {value: 15, label: "门诊统筹"},
204
           // {value: 16, label: "门诊慢性病"},
227
           // {value: 16, label: "门诊慢性病"},
205
           // {value: 21, label: "普通住院"},
228
           // {value: 21, label: "普通住院"},
206
         ],
229
         ],
207
-        medical_care:[
208
-          {value: 11, label: "普通门诊"},
209
-          {value: 12, label: '家庭通道'},
210
-          {value: 13, label: "门诊大病"},
211
-          {value: 14, label: "重疾特药"},
212
-          {value: 15, label: "门诊慢病"},
213
-          {value: 16, label: "门诊特检"},
214
-          {value: 17, label: "健康体检"},
215
-          {value: 18, label: "预防接种"},
216
-          {value: 19, label: "门诊输血"},
217
-          {value: 91, label: "新冠肺炎门诊"},
230
+        medical_care: [
231
+          { value: 11, label: '普通门诊' },
232
+          { value: 12, label: '家庭通道' },
233
+          { value: 13, label: '门诊大病' },
234
+          { value: 14, label: '重疾特药' },
235
+          { value: 15, label: '门诊慢病' },
236
+          { value: 16, label: '门诊特检' },
237
+          { value: 17, label: '健康体检' },
238
+          { value: 18, label: '预防接种' },
239
+          { value: 19, label: '门诊输血' },
240
+          { value: 91, label: '新冠肺炎门诊' }
218
         ],
241
         ],
219
 
242
 
220
-
221
-
222
-
223
         form: {
243
         form: {
224
           id: '',
244
           id: '',
225
           settlement_value: '',
245
           settlement_value: '',
227
           name: '',
247
           name: '',
228
           gender: '',
248
           gender: '',
229
           certificates: 1,
249
           certificates: 1,
230
-          p_type:'',
231
-          sick_type:'',
232
-          diagnosis:'',
250
+          p_type: '',
251
+          sick_type: '',
252
+          diagnosis: '',
233
           medical_care: '',
253
           medical_care: '',
234
           birthday: '',
254
           birthday: '',
235
           age: '',
255
           age: '',
242
           medical_expenses: '',
262
           medical_expenses: '',
243
           cost: '',
263
           cost: '',
244
           phone: '',
264
           phone: '',
245
-          social_type: '',
265
+          social_type: ''
246
         }, IDCardTypes: [{
266
         }, IDCardTypes: [{
247
           value: 1,
267
           value: 1,
248
           label: '社保卡'
268
           label: '社保卡'
249
         }, {
269
         }, {
250
           value: 2,
270
           value: 2,
251
-          label: "身份证"
271
+          label: '身份证'
252
         }, {
272
         }, {
253
           value: 3,
273
           value: 3,
254
-          label: "电子凭证"
255
-        },],
274
+          label: '电子凭证'
275
+        }],
256
         settlement: [
276
         settlement: [
257
-          {value: 1, label: '医保'},
258
-          {value: 2, label: '自费'},
259
-          {value: 3, label: '公费'},
260
-          {value: 4, label: '农保'},
261
-          {value: 5, label: '会员'},
262
-          {value: 6, label: '职工'},
263
-          {value: 7, label: '合同'},
264
-          {value: 8, label: '医保自费'},
265
-
277
+          { value: 1, label: '医保' },
278
+          { value: 2, label: '自费' },
279
+          { value: 3, label: '公费' },
280
+          { value: 4, label: '农保' },
281
+          { value: 5, label: '会员' },
282
+          { value: 6, label: '职工' },
283
+          { value: 7, label: '合同' },
284
+          { value: 8, label: '医保自费' }
266
 
285
 
267
         ],
286
         ],
268
         sex: [{
287
         sex: [{
277
           label: '内地身份证'
296
           label: '内地身份证'
278
         }, {
297
         }, {
279
           value: 2,
298
           value: 2,
280
-          label: "社保卡"
299
+          label: '社保卡'
281
         }, {
300
         }, {
282
           value: 3,
301
           value: 3,
283
-          label: "护照"
302
+          label: '护照'
284
         }, {
303
         }, {
285
           value: 4,
304
           value: 4,
286
-          label: "军官证"
305
+          label: '军官证'
287
         }, {
306
         }, {
288
           value: 5,
307
           value: 5,
289
-          label: "台胞证"
308
+          label: '台胞证'
290
         }, {
309
         }, {
291
           value: 6,
310
           value: 6,
292
-          label: "港澳地区身份证"
311
+          label: '港澳地区身份证'
293
         }],
312
         }],
294
         medicalCare: [{
313
         medicalCare: [{
295
           value: 1,
314
           value: 1,
296
           label: '职工基本医疗保险'
315
           label: '职工基本医疗保险'
297
         }, {
316
         }, {
298
           value: 2,
317
           value: 2,
299
-          label: "公务员医疗补助"
318
+          label: '公务员医疗补助'
300
         }, {
319
         }, {
301
           value: 3,
320
           value: 3,
302
-          label: "大额医疗费用补助"
321
+          label: '大额医疗费用补助'
303
         }, {
322
         }, {
304
           value: 4,
323
           value: 4,
305
-          label: "离休人员医疗"
324
+          label: '离休人员医疗'
306
         }, {
325
         }, {
307
           value: 5,
326
           value: 5,
308
-          label: "城乡居民基本医疗保险"
327
+          label: '城乡居民基本医疗保险'
309
         }, {
328
         }, {
310
           value: 6,
329
           value: 6,
311
-          label: "城乡居民大病医疗保险"
330
+          label: '城乡居民大病医疗保险'
312
         }, {
331
         }, {
313
-            value: 7,
314
-            label: "生育保险"
315
-          }],
332
+          value: 7,
333
+          label: '生育保险'
334
+        }],
316
         register: [{
335
         register: [{
317
           value: 1,
336
           value: 1,
318
           label: '普通'
337
           label: '普通'
319
         }, {
338
         }, {
320
           value: 2,
339
           value: 2,
321
-          label: "主治"
340
+          label: '主治'
322
         }, {
341
         }, {
323
           value: 3,
342
           value: 3,
324
-          label: "主任"
343
+          label: '主任'
325
         }, {
344
         }, {
326
           value: 4,
345
           value: 4,
327
-          label: "免收诊金"
346
+          label: '免收诊金'
328
         }, {
347
         }, {
329
           value: 5,
348
           value: 5,
330
-          label: "专家"
349
+          label: '专家'
331
         }],
350
         }],
332
         rules: {
351
         rules: {
333
-          name: [{required: true, message: "患者姓名不能为空", trigger: 'blur'}],
334
-          gender: [{required: true, message: "患者性别不能为空", trigger: 'blur'}],
335
-          id_card: [{required: true, message: '证件号码不能为空', trigger: 'blur'}],
352
+          name: [{ required: true, message: '患者姓名不能为空', trigger: 'blur' }],
353
+          gender: [{ required: true, message: '患者性别不能为空', trigger: 'blur' }],
354
+          id_card: [{ required: true, message: '证件号码不能为空', trigger: 'blur' }],
336
           // register: [{required: true, message: '请选择挂号类型', trigger: 'blur'}],
355
           // register: [{required: true, message: '请选择挂号类型', trigger: 'blur'}],
337
-          doctor: [{required: true, message: '请选择医生', trigger: 'blur'}],
338
-          department: [{required: true, message: '请填写科室', trigger: 'blur'}],
339
-          age: [{required: true, message: "患者年龄不能为空", trigger: 'blur'}],
340
-          birthday: [{required: true, message: "患者出生日期不能为空", trigger: 'blur'}],
341
-          certificates: [{required: true, message: "证件类型不能为空", trigger: 'change'}],
342
-          id_card_type: [{required: true, message: "读卡类型不能为空", trigger: 'change'}],
343
-          p_type: [{required: true, message: "处方类型不能为空", trigger: 'change'}],
344
-          sick_type: [{required: true, message: "大病类别不能为空", trigger: 'change'}],
345
-          diagnosis: [{required: true, message: "诊断不能为空", trigger: 'change'}],
356
+          doctor: [{ required: true, message: '请选择医生', trigger: 'blur' }],
357
+          department: [{ required: true, message: '请填写科室', trigger: 'blur' }],
358
+          age: [{ required: true, message: '患者年龄不能为空', trigger: 'blur' }],
359
+          birthday: [{ required: true, message: '患者出生日期不能为空', trigger: 'blur' }],
360
+          certificates: [{ required: true, message: '证件类型不能为空', trigger: 'change' }],
361
+          id_card_type: [{ required: true, message: '读卡类型不能为空', trigger: 'change' }],
362
+          p_type: [{ required: true, message: '处方类型不能为空', trigger: 'change' }],
363
+          sick_type: [{ required: true, message: '大病类别不能为空', trigger: 'change' }],
364
+          diagnosis: [{ required: true, message: '诊断不能为空', trigger: 'change' }]
346
         },
365
         },
347
         visibility: false,
366
         visibility: false,
348
         labelPosition: 'right',
367
         labelPosition: 'right',
365
           medical_expenses: '',
384
           medical_expenses: '',
366
           cost: '',
385
           cost: '',
367
           phone: '',
386
           phone: '',
368
-          social_type: '',
369
-        },
387
+          social_type: ''
388
+        }
370
 
389
 
371
       }
390
       }
372
     },
391
     },
373
     props: {
392
     props: {
374
-
393
+      departments: {
394
+        type: Array
395
+      },
396
+      doctors: {
397
+        type: Array
398
+      },
375
       titles: {
399
       titles: {
376
         type: String,
400
         type: String,
377
         default: ''
401
         default: ''
390
 
414
 
391
       },
415
       },
392
       sick: Array,
416
       sick: Array,
393
-      diagnoses: Array,
417
+      diagnoses: Array
394
     },
418
     },
395
     methods: {
419
     methods: {
420
+      changeDoctor() {
421
+        for (let i = 0; i < this.doctors.length; i++) {
422
+          if (this.doctors[i].admin_user_id == this.form.doctor) {
423
+            console.log(this.doctors[i].department_id)
424
+            this.form.department = this.doctors[i].department_id
425
+            if (this.form.department == 0) {
426
+
427
+              this.form.department = ''
428
+            }
429
+          }
430
+        }
431
+      },
396
       handleSelect(val) {
432
       handleSelect(val) {
397
-        this.form.id = val.id;
398
-        this.form.name = val.name;
399
-        this.form.gender = val.gender;
400
-        this.form.birthday = uParseTime(val.birthday, '{y}-{m}-{d}');
401
-        this.form.phone = val.phone;
402
-        this.form.id_card = val.id_card_no;
403
-        var thisLen =  this.form.id_card.length;
404
-        var birth = "";
433
+        this.form.id = val.id
434
+        this.form.name = val.name
435
+        this.form.gender = val.gender
436
+        this.form.birthday = uParseTime(val.birthday, '{y}-{m}-{d}')
437
+        this.form.phone = val.phone
438
+        this.form.id_card = val.id_card_no
439
+        var thisLen = this.form.id_card.length
440
+        var birth = ''
405
         if (thisLen == 15) {
441
         if (thisLen == 15) {
406
-          birth = "19" + this.form.id_card.substr(6, 6);
442
+          birth = '19' + this.form.id_card.substr(6, 6)
407
         } else {
443
         } else {
408
-          birth = this.form.id_card.substr(6, 8);
444
+          birth = this.form.id_card.substr(6, 8)
409
         }
445
         }
410
         var births =
446
         var births =
411
-                birth.substr(0, 4) +
412
-                "-" +
413
-                birth.substr(4, 2) +
414
-                "-" +
415
-                birth.substr(6, 2);
416
-        this.form.age = jsGetAge(births, "-");
447
+          birth.substr(0, 4) +
448
+          '-' +
449
+          birth.substr(4, 2) +
450
+          '-' +
451
+          birth.substr(6, 2)
452
+        this.form.age = jsGetAge(births, '-')
417
       },
453
       },
418
       querySearchAsync(keyword, cb) {
454
       querySearchAsync(keyword, cb) {
419
-        let key = '';
455
+        let key = ''
420
         if (keyword != undefined) {
456
         if (keyword != undefined) {
421
           key = keyword
457
           key = keyword
422
         }
458
         }
423
-        let searchArray = [];
459
+        let searchArray = []
424
         PostSearch(key).then(response => {
460
         PostSearch(key).then(response => {
425
-          if (response.data.state == 1) {balance_accounts_type
426
-            searchArray = response.data.data.patient;
461
+          if (response.data.state == 1) {
462
+            balance_accounts_type
463
+            searchArray = response.data.data.patient
427
             cb(searchArray)
464
             cb(searchArray)
428
           } else {
465
           } else {
429
             cb([])
466
             cb([])
431
         })
468
         })
432
       },
469
       },
433
       reading(medicalInsuranceCard) {
470
       reading(medicalInsuranceCard) {
434
-        var that = this;
471
+        var that = this
435
         if (this.form.id_card_type.length == 0 || this.form.id_card_type == 0) {
472
         if (this.form.id_card_type.length == 0 || this.form.id_card_type == 0) {
436
-          this.$message.error("请先选择读卡类型");
473
+          this.$message.error('请先选择读卡类型')
437
           return
474
           return
438
         }
475
         }
439
         let params = {
476
         let params = {
440
           'id_card_type': this.form.id_card_type,
477
           'id_card_type': this.form.id_card_type,
441
-          'admin_user_id':this.$store.getters.xt_user.user.id,
478
+          'admin_user_id': this.$store.getters.xt_user.user.id
442
 
479
 
443
-        };
480
+        }
444
         axios.get('http://127.0.0.1:9532/api/sscard', {
481
         axios.get('http://127.0.0.1:9532/api/sscard', {
445
           params: params
482
           params: params
446
         })
483
         })
447
-          .then(function (response) {
484
+          .then(function(response) {
448
             if (response.data.state == 0) {
485
             if (response.data.state == 0) {
449
-              that.$message.error(response.data.msg);
486
+              that.$message.error(response.data.msg)
450
               return false
487
               return false
451
             } else {
488
             } else {
452
-              var patient = response.data.data.patient;
489
+              var patient = response.data.data.patient
453
 
490
 
454
               if (that.form.id_card_type == 1) {
491
               if (that.form.id_card_type == 1) {
455
-                this.form.id = patient.id;
456
-                that.form.name = patient.name;
457
-                that.form.sex = patient.gender;
458
-                that.form.age = patient.age;
459
-                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}');
460
-                that.form.phone = patient.phone;
461
-                that.form.idCard = patient.id_card_no;
492
+                this.form.id = patient.id
493
+                that.form.name = patient.name
494
+                that.form.sex = patient.gender
495
+                that.form.age = patient.age
496
+                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
497
+                that.form.phone = patient.phone
498
+                that.form.idCard = patient.id_card_no
462
                 that.form.medicalInsuranceCard = response.data.data.number
499
                 that.form.medicalInsuranceCard = response.data.data.number
463
 
500
 
464
               } else if (that.form.id_card_type == 2) {
501
               } else if (that.form.id_card_type == 2) {
465
-                this.form.id = patient.id;
466
-                that.form.name = patient.name;
467
-                that.form.sex = patient.gender;
468
-                that.form.age = patient.age;
469
-                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}');
470
-                that.form.phone = patient.phone;
502
+                this.form.id = patient.id
503
+                that.form.name = patient.name
504
+                that.form.sex = patient.gender
505
+                that.form.age = patient.age
506
+                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
507
+                that.form.phone = patient.phone
471
                 that.form.idCard = patient.id_card_no
508
                 that.form.idCard = patient.id_card_no
472
               }
509
               }
473
-              that.$message({message: '读卡成功', type: 'success'})
510
+              that.$message({ message: '读卡成功', type: 'success' })
474
             }
511
             }
475
           })
512
           })
476
-          .catch(function (error) {
477
-
478
-          });
513
+          .catch(function(error) {
479
 
514
 
515
+          })
480
 
516
 
481
       },
517
       },
482
       getDictionaryDataConfig(module, filed_name) {
518
       getDictionaryDataConfig(module, filed_name) {
483
         return getDictionaryDataConfig(module, filed_name)
519
         return getDictionaryDataConfig(module, filed_name)
484
       },
520
       },
485
-    show: function() {
486
-        this.visibility = true;
521
+      show: function() {
522
+        this.visibility = true
487
         // this.form = Object.assign({}, this.resetForm)
523
         // this.form = Object.assign({}, this.resetForm)
488
-        this.form.id = 0;
489
-        this.form.settlement_value = '';
490
-        this.form.medical_insurance_card = '';
491
-        this.form.name = '';
492
-        this.form.gender = '';
493
-        this.form.medical_care = '';
494
-        this.form.birthda = '';
495
-        this.form.age = '';
496
-        this.form.id_card = '';
497
-        this.form.register = '';
498
-        this.form.doctor = '';
499
-        this.form.department = '';
500
-        this.form.registration_fee = '';
501
-        this.form.medical_expenses = '';
502
-        this.form.cost = '';
503
-        this.form.phone = '';
504
-        this.form.social_type = '';
505
-
506
-        this.form.p_type = 14;
507
-        this.form.sick_type = this.sick[0].id;
508
-        this.form.diagnosis = this.diagnoses[0].id;
509
-        this.form.id_card_type = 2;
524
+        this.form.id = 0
525
+        this.form.settlement_value = ''
526
+        this.form.medical_insurance_card = ''
527
+        this.form.name = ''
528
+        this.form.gender = ''
529
+        this.form.medical_care = ''
530
+        this.form.birthda = ''
531
+        this.form.age = ''
532
+        this.form.id_card = ''
533
+        this.form.register = ''
534
+        this.form.doctor = ''
535
+        this.form.department = ''
536
+        this.form.registration_fee = ''
537
+        this.form.medical_expenses = ''
538
+        this.form.cost = ''
539
+        this.form.phone = ''
540
+        this.form.social_type = ''
541
+
542
+        this.form.p_type = 14
543
+        this.form.sick_type = this.sick[0].id
544
+        this.form.diagnosis = this.diagnoses[0].id
545
+        this.form.id_card_type = 2
510
         this.form.certificates = 1
546
         this.form.certificates = 1
511
-
512
-        // this.form.name = patientInfo.name
513
-        // this.form.gender = patientInfo.gender
514
-        // this.form.age = patientInfo.age
515
-        // this.form.birthday = patientInfo.birthday
516
-        // this.form.phone = patientInfo.phone
517
-        // this.form.birthday = patientInfo.birthday
518
-        // this.form.id_card = patientInfo.id_card_no
519
-        // this.form.social_type = patientInfo.health_care_type
520
-        // if( this.form.social_type == 0){
521
-        //   this.form.social_type = ""
522
-        // }
547
+        if (this.departments.length > 0) {
548
+          this.form.department = this.department[0].id
549
+        }
550
+        if (this.doctors.length > 0) {
551
+          this.form.doctor = this.doctors[0].id
552
+        }
523
 
553
 
524
       },
554
       },
525
 
555
 
526
-      hide: function () {
527
-        this.visibility = false;
556
+      hide: function() {
557
+        this.visibility = false
528
         this.$refs['formValue'].resetFields()
558
         this.$refs['formValue'].resetFields()
529
-      }, cancel: function (formName) {
530
-        this.$emit('cancel', this.getValue());
559
+      }, cancel: function(formName) {
560
+        this.$emit('cancel', this.getValue())
531
         this.$refs['formValue'].resetFields()
561
         this.$refs['formValue'].resetFields()
532
       },
562
       },
533
-      confirm: function (formName) {
563
+      confirm: function(formName) {
534
         this.$refs['formValue'].validate((valid) => {
564
         this.$refs['formValue'].validate((valid) => {
535
           if (valid) {
565
           if (valid) {
536
-            let value = {};
537
-            value = this.getValue();
566
+            let value = {}
567
+            value = this.getValue()
538
             this.$emit('confirm', value)
568
             this.$emit('confirm', value)
539
           }
569
           }
540
         })
570
         })
541
       },
571
       },
542
-      getValue: function () {
543
-        let form = {};
544
-        form = this.form;
572
+      getValue: function() {
573
+        let form = {}
574
+        form = this.form
545
         return form
575
         return form
546
       }
576
       }
547
     }
577
     }
550
 </script>
580
 </script>
551
 
581
 
552
 <style lang="scss" scoped>
582
 <style lang="scss" scoped>
553
-  .registerDialog {
583
+    .registerDialog {
554
 
584
 
555
-  .el-form {
556
-    display: flex;
557
-    flex-wrap: wrap;
558
-  }
585
+    .el-form {
586
+        display: flex;
587
+        flex-wrap: wrap;
588
+    }
559
 
589
 
560
-  .el-form-item {
561
-    width: 50%;
562
-  }
590
+    .el-form-item {
591
+        width: 50%;
592
+    }
563
 
593
 
564
-  }
594
+    }
565
 </style>
595
 </style>

+ 47 - 2
src/xt_pages/outpatientCharges/components/registerDialog.vue Bestand weergeven

171
             <el-form-item label="诊疗费:">
171
             <el-form-item label="诊疗费:">
172
                 <el-input v-model="form.medical_expenses"></el-input>
172
                 <el-input v-model="form.medical_expenses"></el-input>
173
             </el-form-item>
173
             </el-form-item>
174
+
175
+            <el-form-item label="医生:" prop="doctor">
176
+                <el-select v-model="form.doctor" placeholder="请选择">
177
+                    <el-option
178
+                            v-for="(item,index) in doctors"
179
+                            :key="index"
180
+                            :label="item.user_name"
181
+                            :value="item.admin_user_id">
182
+                    </el-option>
183
+                </el-select>
184
+            </el-form-item>
185
+            <el-form-item label="科室:" prop="department">
186
+                <el-select v-model="form.department" placeholder="请选择">
187
+                    <el-option
188
+                            v-for="(item,index) in departments"
189
+                            :key="index"
190
+                            :label="item.name"
191
+                            :value="item.id">
192
+                    </el-option>
193
+                </el-select>
194
+            </el-form-item>
174
         </el-form>
195
         </el-form>
175
 
196
 
176
         <span slot="footer" class="dialog-footer">
197
         <span slot="footer" class="dialog-footer">
366
       }
387
       }
367
     },
388
     },
368
     props: {
389
     props: {
369
-
390
+      departments: {
391
+        type: Array
392
+      },
393
+      doctors: {
394
+        type: Array
395
+      },
370
       titles: {
396
       titles: {
371
         type: String,
397
         type: String,
372
         default: ''
398
         default: ''
388
       diagnoses: Array
414
       diagnoses: Array
389
     },
415
     },
390
     methods: {
416
     methods: {
417
+      changeDoctor() {
418
+        for (let i = 0; i < this.doctors.length; i++) {
419
+          if (this.doctors[i].admin_user_id == this.form.doctor) {
420
+            console.log(this.doctors[i].department_id)
421
+            this.form.department = this.doctors[i].department_id
422
+            if (this.form.department == 0) {
423
+
424
+              this.form.department = ''
425
+            }
426
+          }
427
+        }
428
+      },
391
       handleSelect(val) {
429
       handleSelect(val) {
392
         this.form.id = val.id
430
         this.form.id = val.id
393
         this.form.name = val.name
431
         this.form.name = val.name
476
       getDictionaryDataConfig(module, filed_name) {
514
       getDictionaryDataConfig(module, filed_name) {
477
         return getDictionaryDataConfig(module, filed_name)
515
         return getDictionaryDataConfig(module, filed_name)
478
       },
516
       },
479
-      show: function() {
517
+      show: function(doctors,departments) {
480
         this.visibility = true
518
         this.visibility = true
481
         // this.form = Object.assign({}, this.resetForm)
519
         // this.form = Object.assign({}, this.resetForm)
482
         this.form.id = 0
520
         this.form.id = 0
503
         this.form.id_card_type = 2
541
         this.form.id_card_type = 2
504
         this.form.certificates = 1
542
         this.form.certificates = 1
505
 
543
 
544
+        if (departments.length > 0) {
545
+          this.form.department = departments[0].id
546
+        }
547
+        if (doctors.length > 0) {
548
+          this.form.doctor = doctors[0].admin_user_id
549
+        }
550
+
506
         // this.form.name = patientInfo.name
551
         // this.form.name = patientInfo.name
507
         // this.form.gender = patientInfo.gender
552
         // this.form.gender = patientInfo.gender
508
         // this.form.age = patientInfo.age
553
         // this.form.age = patientInfo.age

+ 2 - 2
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue Bestand weergeven

442
         <additionalCharges ref='additionalCharges' @click="addCharges"
442
         <additionalCharges ref='additionalCharges' @click="addCharges"
443
                            :addtions_charge="addtions_charge"></additionalCharges>
443
                            :addtions_charge="addtions_charge"></additionalCharges>
444
 
444
 
445
-        <register-dialog ref='register' :doctors="doctors" :department="department" :sick="sick" :diagnoses="diagnoses"
445
+        <register-dialog ref='register' :doctors="doctors" :departments="department" :sick="sick" :diagnoses="diagnoses"
446
                          v-on:confirm="confirm" v-on:cancel="cancel"></register-dialog>
446
                          v-on:confirm="confirm" v-on:cancel="cancel"></register-dialog>
447
 
447
 
448
         <register-dialog9504 ref='register9504' :doctors="doctors" :departments="department" :sick="sick"
448
         <register-dialog9504 ref='register9504' :doctors="doctors" :departments="department" :sick="sick"
2099
           if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138 || this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 10088) {
2099
           if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138 || this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 10088) {
2100
             this.$refs.register9504.show()
2100
             this.$refs.register9504.show()
2101
           } else {
2101
           } else {
2102
-            this.$refs.register.show()
2102
+            this.$refs.register.show(this.doctors, this.department)
2103
           }
2103
           }
2104
 
2104
 
2105
         } else if (index == 8) {
2105
         } else if (index == 8) {

+ 2 - 2
src/xt_pages/stock/drugs/drugPrint.vue Bestand weergeven

208
               }
208
               }
209
             }
209
             }
210
           }
210
           }
211
-          console.log("list666666666",list)
211
+          // console.log("list666666666",list)
212
           this.cancelStockDate = list
212
           this.cancelStockDate = list
213
           var total = response.data.data.total
213
           var total = response.data.data.total
214
           this.total = total
214
           this.total = total
219
       getTotal(){
219
       getTotal(){
220
         var total = 0
220
         var total = 0
221
         for(let i=0;i<this.cancelStockDate.length;i++){
221
         for(let i=0;i<this.cancelStockDate.length;i++){
222
-           total += this.cancelStockDate[i].price*getCount(this.cancelStockDate[i].drug_id)
222
+           total += this.cancelStockDate[i].price*this.getCount(this.cancelStockDate[i].drug_id)
223
         }
223
         }
224
         return total
224
         return total
225
       },
225
       },