See999 4 years ago
parent
commit
a1acb3b584

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

@@ -11,31 +11,31 @@
11 11
     <div class="mainTitle">基本信息:</div>
12 12
     <el-form class="basicForm" :model="patientInfo" ref="form" label-width="120px">
13 13
       <el-form-item label="姓名:" prop="name">
14
-        <el-input v-model="patientInfo.name" placeholder="" readonly></el-input>
14
+        <el-input v-model="patientInfo.name" placeholder="" :disabled="true"></el-input>
15 15
       </el-form-item>
16 16
       <el-form-item label="性别: " prop="name">
17
-        <el-input v-model="patientInfo.gender" placeholder="" readonly></el-input>
17
+        <el-input v-model="patientInfo.gender" placeholder="" :disabled="true"></el-input>
18 18
       </el-form-item>
19 19
       <el-form-item label="年龄: " prop="name">
20
-        <el-input v-model="patientInfo.age" placeholder="" readonly></el-input>
20
+        <el-input v-model="patientInfo.age" placeholder="" :disabled="true"></el-input>
21 21
       </el-form-item>
22 22
       <el-form-item label="证件号:" prop="name">
23
-        <el-input v-model="patientInfo.id_card_no" placeholder="" readonly></el-input>
23
+        <el-input v-model="patientInfo.id_card_no" placeholder="" :disabled="true"></el-input>
24 24
       </el-form-item>
25 25
       <el-form-item label="出生日期: " prop="name">
26 26
         <el-date-picker
27 27
           style="width:100%;"
28 28
           v-model="patientInfo.birth"
29 29
           type="date"
30
-          readonly
30
+          :disabled="true"
31 31
           placeholder="选择日期">
32 32
         </el-date-picker>
33 33
       </el-form-item>
34 34
       <el-form-item label="联系电话: " prop="name">
35
-        <el-input v-model="patientInfo.phone" placeholder="" readonly></el-input>
35
+        <el-input v-model="patientInfo.phone" placeholder="" :disabled="true"></el-input>
36 36
       </el-form-item>
37 37
       <el-form-item label="医保类型: " prop="name">
38
-        <el-select v-model="delivery_way" placeholder="请选择">
38
+        <el-select v-model="delivery_way" style="width:100%;" placeholder="请选择">
39 39
          <el-option
40 40
             v-for="item in wayOptions"
41 41
            :key="item.id"
@@ -45,10 +45,10 @@
45 45
         </el-select>
46 46
       </el-form-item>
47 47
       <el-form-item label="医保证号: " prop="name">
48
-        <el-input v-model="patientInfo.health_care_no" placeholder="" readonly></el-input>
48
+        <el-input v-model="patientInfo.health_care_no" placeholder="" :disabled="true"></el-input>
49 49
       </el-form-item>
50 50
       <el-form-item label="家庭住址: " prop="name">
51
-        <el-input v-model="patientInfo.home_address" placeholder="" readonly></el-input>
51
+        <el-input v-model="patientInfo.home_address" placeholder="" :disabled="true"></el-input>
52 52
       </el-form-item>
53 53
     </el-form>
54 54
     <div class="mainTitle">体格信息:</div>

+ 245 - 9
src/xt_pages/outpatientRegistration/registrationHistory.vue View File

@@ -97,12 +97,13 @@
97 97
                 <el-table-column align="center" prop="name" label="操作人" width="70">
98 98
                     <template slot-scope="scope">{{creator}}</template>
99 99
                 </el-table-column>
100
-                <el-table-column align="center" prop="name" label="操作" width="80">
100
+                <el-table-column align="center" prop="name" label="操作" width="180">
101 101
                     <template slot-scope="scope">
102
-                        <el-button size="mini" type="primary" v-if="scope.row.is_return == 1 && scope.row.record_date < startUnix" :disabled="true">已过号</el-button> 
103
-                        <el-button size="mini" type="primary" v-if="scope.row.is_return == 1 && scope.row.record_date >= startUnix" @click ="toReturnPatient(scope.row.id)">退号</el-button> 
104
-                        <el-button size="mini" type="primary" v-if="scope.row.is_return == 2" :disabled="true">已退号</el-button>
105
-                        <el-button size="mini" type="primary" v-if="scope.row.is_return == 3" >已就诊</el-button>  
102
+                      <el-button size="mini" type="primary" v-if="scope.row.is_return == 1 && scope.row.record_date < startUnix" :disabled="true">已过号</el-button> 
103
+                      <el-button size="mini" type="primary" v-if="scope.row.is_return == 1 && scope.row.record_date >= startUnix" @click ="toReturnPatient(scope.row.id)">退号</el-button> 
104
+                      <el-button size="mini" type="primary" v-if="scope.row.is_return == 2" :disabled="true">已退号</el-button>
105
+                      <el-button size="mini" type="primary" v-if="scope.row.is_return == 3" >已就诊</el-button>  
106
+                      <el-button size="mini" type="primary" @click="open(scope.row)">详情</el-button>
106 107
                     </template>
107 108
                 </el-table-column>
108 109
             </el-table>
@@ -118,6 +119,98 @@
118 119
                 :total="total"
119 120
             >
120 121
             </el-pagination>
122
+            <el-dialog
123
+              title="挂号历史详情"
124
+              :visible.sync="dialogVisible"
125
+              width="1100px"
126
+              :before-close="handleClose">
127
+              <div>
128
+                <div class="formMain">
129
+                  <el-form class="basicForm" :model="form"  ref="form"  label-width="130px">
130
+                    <el-form-item label="患者姓名:"  prop="name">
131
+                       <div>{{ form.name }}</div>
132
+                    </el-form-item>
133
+
134
+                    <el-form-item label="性别:" prop="gender">
135
+                      <div v-if="form.gender == 1">男</div>
136
+                      <div v-if="form.gender == 2">女</div>
137
+                    </el-form-item>
138
+
139
+                    <el-form-item label="年龄:" prop="age">
140
+                      <div>{{ form.age }}</div>
141
+                    </el-form-item>
142
+
143
+
144
+                    <el-form-item label="出生日期:" prop="birthday">
145
+                      <div>{{ getTime(form.birthday,"{y}-{m}-{d}") }}</div>
146
+                    </el-form-item>
147
+
148
+                    <el-form-item label="手机号码:" prop="phone">
149
+                      <div>{{ form.phone }}</div>
150
+                    </el-form-item>
151
+
152
+
153
+                    <el-form-item label="医疗类别:">
154
+                      <div>{{ getDictionaryDataConfig(form.medical_treatment_type) }}</div>
155
+                    </el-form-item>
156
+
157
+
158
+                    <el-form-item label="证件类型:">
159
+                      <div>{{ getCertificates(form.id_type) }}</div>
160
+                    </el-form-item>
161
+
162
+                    <el-form-item label="证件号码:" prop="idCard">
163
+                      {{ form.id_card_no }}
164
+                    </el-form-item>
165
+
166
+
167
+                      <el-form-item label="结算类型:">
168
+                        {{ getSettlement(form.balance_accounts_type) }}
169
+                      </el-form-item>
170
+
171
+
172
+                    <el-form-item label="社保类型:">
173
+                      <div>{{ getMedicalCare(form.social_type) }}</div>
174
+                    </el-form-item>
175
+                    <el-form-item class="specialFormItem" style="width:66.5%;" label="医保卡号:">
176
+                      <div>{{ form.medical_insurance_number }}</div>
177
+                    </el-form-item>
178
+                    <el-form-item label="挂号类型:"  prop="register"  :validate-event="is_Name">
179
+                      <div>{{ getRegister(form.register_type) }}</div>
180
+                    </el-form-item>
181
+                    <el-form-item label="医生:"  prop="doctor" :validate-event="is_Name" >
182
+                      <div>{{ getDoctor(form.admin_user_id) }}</div>
183
+                    </el-form-item>
184
+                    <el-form-item label="科室:"  prop="department" :validate-event="is_Name">
185
+                      <div>{{ getDepartMent(form.departments) }}</div>
186
+                    </el-form-item>
187
+                    <el-form-item label="是否需要工本费:"> 
188
+                      <div v-if="form.is_need_cost_of_production == 1">是</div>
189
+                      <div v-else>否</div>
190
+                    </el-form-item>
191
+                    <el-form-item label="挂号费:">
192
+                      <div>{{ form.register_cost }}</div>
193
+                    </el-form-item>
194
+                    <el-form-item label="诊疗费:">
195
+                      <div>{{ form.treatment_cost }}</div>
196
+                    </el-form-item>
197
+                    <el-form-item label="工本费:">
198
+                      <div>{{ form.cost_of_production }}</div>
199
+                    </el-form-item>
200
+                    <el-form-item label="合计:">
201
+                      <div>{{ form.total }}</div>
202
+                    </el-form-item>
203
+                    <el-form-item>
204
+                        <!-- <el-input v-model="form.name"></el-input> -->
205
+                    </el-form-item>
206
+                  </el-form>
207
+                </div>
208
+              </div>
209
+              <span slot="footer" class="dialog-footer">
210
+                <el-button @click="dialogVisible = false">取 消</el-button>
211
+                <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
212
+              </span>
213
+            </el-dialog>
121 214
         </div>
122 215
     </div>
123 216
 </template>
@@ -127,6 +220,7 @@ const moment = require('moment')
127 220
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
128 221
 import { getHisPatientHistory,changePatient,getHisPatient } from "@/api/project/project"
129 222
 import { uParseTime } from "@/utils/tools";
223
+import { getDictionaryDataConfig } from '@/utils/data'
130 224
 
131 225
 export default {
132 226
     components:{
@@ -180,10 +274,81 @@ export default {
180 274
                 id: 7,
181 275
                 name: "生育保险"
182 276
             }],
277
+            certificates: [{
278
+              value: 1,
279
+              label: '内地身份证'
280
+              }, {
281
+              value: 2,
282
+              label: "社保卡"
283
+              },{
284
+              value: 3,
285
+              label: "护照"
286
+              },{
287
+              value: 4,
288
+              label: "军官证"
289
+              },{
290
+              value: 5,
291
+              label: "台胞证"
292
+              },{
293
+              value: 6,
294
+              label: "港澳地区身份证"
295
+            }],
296
+            settlement: 
297
+            [
298
+              {value: 1,label: '医保'},
299
+              {value: 2,label: '自费'},
300
+              {value: 3,label:'公费'},
301
+              {value: 4,label:'农保'},
302
+              {value: 5,label:'会员'},
303
+              {value: 6,label:'职工'},
304
+              {value: 7,label:'合同'}
305
+            ],
306
+            medicalCare: [{
307
+              value: 1,
308
+              label: '职工基本医疗保险'
309
+              }, {
310
+              value: 2,
311
+              label: "公务员医疗补助"
312
+              },{
313
+              value: 3,
314
+              label: "大额医疗费用补助"
315
+              },{
316
+              value: 4,
317
+              label: "离休人员医疗"
318
+              },{
319
+              value: 5,
320
+              label: "城乡居民基本医疗保险"
321
+              },{
322
+              value: 6,
323
+              label: "城乡居民大病医疗保险"
324
+              },
325
+              {
326
+              value: 7,
327
+              label: "生育保险"
328
+            }],
329
+            newRegister: [{
330
+              value: 1,
331
+              label: '普通'
332
+              }, {
333
+              value: 2,
334
+              label: "主治"
335
+              },{
336
+              value: 3,
337
+              label: "主任"
338
+              },{
339
+              value: 4,
340
+              label: "免收诊金"
341
+              },{
342
+              value: 5,
343
+              label: "专家"
344
+            }],
183 345
             
184 346
             tablePatient:[],
185 347
             creator:"",
186
-            startUnix:''
348
+            startUnix:'',
349
+
350
+            dialogVisible:false,
351
+            form:{}
187 352
         }
188 353
     },
189 354
     created(){
@@ -205,6 +370,7 @@ export default {
205 370
        this.startUnix = todayUnix - 28800
206 371
       
207 372
        this.getlist()
373
+       this.getDictionaryDataConfig()
208 374
     },
209 375
     methods:{
210 376
         searchAction(){
@@ -349,13 +515,83 @@ export default {
349 515
       },
350 516
 
351 517
       handleSelect(val){   
352
-          this.search_input = val.name
353
-          this.getlist()
354
-       },
518
+        this.search_input = val.name
519
+        this.getlist()
520
+      },
521
+      handleClose(done){
522
+        done()
523
+      },
524
+      open(obj){
525
+        this.dialogVisible = true
526
+        this.form = obj
527
+        console.log(obj)
528
+      },
529
+      getDictionaryDataConfig(type){
530
+        let arr = getDictionaryDataConfig('system','social_type')
531
+        let str = ''
532
+        arr.map(item => {
533
+          if(item.id == type)
534
+          str = item.name
535
+        })
536
+        return str
537
+      },
538
+      getCertificates(type){
539
+        let arr = this.certificates
540
+        let str = ''
541
+        arr.map(item => {
542
+          if(item.value == type)
543
+          str = item.label
544
+        })
545
+        return str
546
+      },
547
+      getSettlement(type){
548
+        let arr = this.settlement
549
+        let str = ''
550
+        arr.map(item => {
551
+          if(item.value == type)
552
+          str = item.label
553
+        })
554
+        return str
555
+      },
556
+      getMedicalCare(type){
557
+        let arr = this.medicalCare
558
+        let str = ''
559
+        arr.map(item => {
560
+          if(item.value == type)
561
+          str = item.label
562
+        })
563
+        return str
564
+      },
565
+      getRegister(type){
566
+        let arr = this.newRegister
567
+        let str = ''
568
+        arr.map(item => {
569
+          if(item.value == type)
570
+          str = item.label
571
+        })
572
+        return str
573
+      },
574
+      getDepartMent(type){
575
+        let arr = this.departMent
576
+        let str = ''
577
+        arr.map(item => {
578
+          if(item.id == type)
579
+          str = item.name
580
+        })
581
+        return str
582
+      },
355 583
 
356 584
     }
357 585
 }
358 586
 </script>
359 587
 
360 588
 <style lang="scss" scoped>
589
+.basicForm{
590
+  display: flex;
591
+  flex-wrap: wrap;
592
+  justify-content: space-between;
593
+  .el-form-item{
594
+    width: 33%;
595
+  }
596
+}
361 597
 </style>