Przeglądaj źródła

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

csx 3 lat temu
rodzic
commit
63c5d7931a

+ 5 - 0
src/router/modules/hisTool.js Wyświetl plik

@@ -52,6 +52,11 @@ export default {
52 52
       component: () => import('@/xt_pages/outpatientTool/fapiao'),
53 53
       name: 'faPiao',
54 54
       meta: { title: 'faPiao', noCache: true }
55
+    }, {
56
+      path: '/hisTool/yidiClear',
57
+      component: () => import('@/xt_pages/outpatientTool/yidiClear'),
58
+      name: 'yidiClear',
59
+      meta: { title: 'yidiClear', noCache: true }
55 60
     },
56 61
 
57 62
   ]

+ 27 - 10
src/xt_pages/hospitalStation/chargeDetailManagement.vue Wyświetl plik

@@ -20,6 +20,14 @@
20 20
                     value-format="yyyy-MM-dd">
21 21
                 </el-date-picker>
22 22
 
23
+        <div class="mainCell">
24
+          <el-radio-group v-model="schedule_type" @change="changeScheduleType">
25
+            <el-radio :label="1">上午</el-radio>
26
+            <el-radio :label="2">下午</el-radio>
27
+            <el-radio :label="3">晚上</el-radio>
28
+            <el-radio :label="0">全部</el-radio>
29
+          </el-radio-group>
30
+        </div>
23 31
 
24 32
         <div class="mainCell">
25 33
           <el-radio-group v-model="radio" @change="changeRadio">
@@ -48,7 +56,7 @@
48 56
                     highlight-current-row ref="tab"
49 57
                     @current-change="handleCurrentChange">
50 58
             <el-table-column align="center" prop="name" label="姓名" wdith='89'>
51
-              <template slot-scope="scope">{{ scope.row.name }}</template>
59
+              <template slot-scope="scope">{{ scope.$index + 1 }}.{{ scope.row.name }}</template>
52 60
             </el-table-column>
53 61
             <el-table-column align="center" prop="name" label="就诊号" width="110">
54 62
               <template slot-scope="scope">{{ scope.row ? scope.row.number : '' }}
@@ -371,7 +379,7 @@ export default {
371 379
       diagnosis: '',
372 380
       isShowUpload: 1,
373 381
       isShowWithdrawUpload: 1,
374
-
382
+      schedule_type: 0,
375 383
       month_p_type: '',
376 384
       month_sick_type: '',
377 385
       month_diagnosis: '',
@@ -430,7 +438,6 @@ export default {
430 438
       patient_id: 0,
431 439
       prescription_id: 0,
432 440
       all_table_data: [],
433
-      all_charge_table_data: [],
434 441
       manufacturers: [],
435 442
       hisPatientDatas: [],
436 443
       order: {},
@@ -470,6 +477,11 @@ export default {
470 477
     this.getPatientList()
471 478
   },
472 479
   methods: {
480
+    changeScheduleType() {
481
+
482
+      this.getPatientList()
483
+
484
+    },
473 485
     getMonthData() {
474 486
       this.loading = true
475 487
 
@@ -537,6 +549,7 @@ export default {
537 549
 
538 550
     },
539 551
     searchAction() {
552
+
540 553
       if (this.search_input.length == 0) {
541 554
         switch (this.radio) {
542 555
           case 1:
@@ -545,7 +558,7 @@ export default {
545 558
             break
546 559
           case 2:
547 560
 
548
-            this.chargePatientTableData = this.all_charge_table_data
561
+            this.patientTableData = this.all_table_data
549 562
 
550 563
             break
551 564
         }
@@ -555,7 +568,7 @@ export default {
555 568
           case 1:
556 569
             let arr3 = []
557 570
             for (let i = 0; i < this.all_table_data.length; i++) {
558
-              if (this.all_table_data[i].name.indexOf(this.search_input) != -1 || this.all_table_data[i].his_patient.number.indexOf(this.search_input) != -1) {
571
+              if (this.all_table_data[i].name.indexOf(this.search_input) != -1) {
559 572
                 arr3 = arr3.concat(this.all_table_data[i])
560 573
               }
561 574
             }
@@ -563,12 +576,12 @@ export default {
563 576
             break
564 577
           case 2:
565 578
             let arr2 = []
566
-            for (let i = 0; i < this.all_charge_table_data.length; i++) {
567
-              if (this.all_charge_table_data[i].name.indexOf(this.search_input) != -1 || this.all_charge_table_data[i].his_number.indexOf(this.search_input) != -1) {
568
-                arr2 = arr2.concat(this.all_charge_table_data[i])
579
+            for (let i = 0; i < this.all_table_data.length; i++) {
580
+              if (this.all_table_data[i].name.indexOf(this.search_input) != -1 ){
581
+                arr2 = arr2.concat(this.all_table_data[i])
569 582
               }
570 583
             }
571
-            this.chargePatientTableData = arr2
584
+            this.patientTableData = arr2
572 585
 
573 586
             break
574 587
 
@@ -886,7 +899,8 @@ export default {
886 899
     //患者列表
887 900
     getPatientList() {
888 901
       let params = {
889
-        'record_date': this.record_date
902
+        'record_date': this.record_date,
903
+        'sch_type': this.schedule_type
890 904
       }
891 905
       getHisHospitalDetailList(params).then(response => {
892 906
         if (response.data.state == 0) {
@@ -910,6 +924,7 @@ export default {
910 924
           this.un_upload_num = response.data.data.un_upload_num
911 925
           switch (this.radio) {
912 926
             case 1:
927
+              this.all_table_data = response.data.data.list
913 928
               this.patientTableData = response.data.data.list
914 929
               if (this.hisPatientInfo.id > 0){
915 930
                 for (let i = 0; i < this.patientTableData.length; i++) {
@@ -926,6 +941,8 @@ export default {
926 941
               }
927 942
               break
928 943
             case 2:
944
+              this.all_table_data = response.data.data.list_two
945
+
929 946
               this.patientTableData = response.data.data.list_two
930 947
               this.$refs.tab.setCurrentRow(this.patientTableData[0])
931 948
               this.getPatientInformation(this.chargePatientTableData[0].patient_id, this.patientTableData[0].id)

+ 6 - 0
src/xt_pages/hospitalStation/components/ChargePrescriptionTable.vue Wyświetl plik

@@ -177,6 +177,12 @@
177 177
         </template>
178 178
       </el-table-column>
179 179
 
180
+      <el-table-column align="center" prop="name" width="60" label="总价">
181
+        <template slot-scope="scope">
182
+          <div> {{scope.row.total * scope.row.price}}元</div>
183
+        </template>
184
+      </el-table-column>
185
+
180 186
       <el-table-column align="center" prop="name" width="60" label="执行状态">
181 187
         <template slot-scope="scope">
182 188
           <div> {{scope.row.execution_state == 1?'已执行':'未执行'}}</div>

+ 7 - 4
src/xt_pages/hospitalStation/index.vue Wyświetl plik

@@ -775,7 +775,6 @@
775 775
                     } else {
776 776
                       that.$message({ message: '登记成功', type: 'success' })
777 777
                       that.form.name = ''
778
-                      that.form.certificates = ''
779 778
                       that.form.id_card_no = ''
780 779
                       that.form.doctor = ''
781 780
                       that.form.department = ''
@@ -783,6 +782,11 @@
783 782
                       that.form.med_type = 14
784 783
                       that.form.sick_type = that.sick[0].id
785 784
                       that.form.diagnosis = that.diagnoses[0].id
785
+                      that.form.certificates = 1
786
+                      if(that.$store.getters.xt_user.org_id == 10215) {
787
+                        that.form.sick_type = 421
788
+                        that.form.diagnosis = 92
789
+                      }
786 790
                     }
787 791
                   }
788 792
                 })
@@ -856,7 +860,7 @@
856 860
 
857 861
     },
858 862
     created() {
859
-
863
+      this.form.certificates = 1
860 864
       if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 10138) {
861 865
         this.form.certificates = 2
862 866
         this.form.id_card_type = 1
@@ -864,8 +868,7 @@
864 868
         this.form.certificates = 1
865 869
         this.form.id_card_type = 2
866 870
       }
867
-
868
-
871
+      this.form.start_time =moment(new Date()).add('year',0).format("YYYY-MM-DD HH:mm:ss")
869 872
       this.getInitData()
870 873
       //获取当前机构有人员信息
871 874
       this.getAllDoctorList()

+ 12 - 12
src/xt_pages/hospitalStation/outpatientChargesManagement.vue Wyświetl plik

@@ -60,7 +60,7 @@
60 60
                     highlight-current-row ref="tab"
61 61
                     @current-change="handleCurrentChange">
62 62
             <el-table-column align="center" prop="name" label="姓名" wdith='89'>
63
-              <template slot-scope="scope">{{ scope.row.name }}</template>
63
+              <template slot-scope="scope">{{ scope.$index + 1 }}.{{ scope.row.name }}</template>
64 64
             </el-table-column>
65 65
             <el-table-column align="center" prop="name" label="就诊号" width="110">
66 66
               <template slot-scope="scope">{{ scope.row ? scope.row.number : '' }}
@@ -142,11 +142,11 @@
142 142
             >撤销出院
143 143
             </el-button>
144 144
 
145
-            <el-buttonsu
145
+            <el-button
146 146
                 v-if="(this.activeName == 'third' &&this.hisPatientInfo.id > 0 && this.hisPatientInfo.in_hospital_status == 1 && this.hisPatientInfo.out_hospital_status == 0)"
147 147
                 size="small" @click="open(7)" type="primary"
148 148
             >撤销入院
149
-            </el-buttonsu>
149
+            </el-button>
150 150
 
151 151
           </div>
152 152
 
@@ -1079,7 +1079,11 @@ export default {
1079 1079
           case 1:
1080 1080
             let arr3 = []
1081 1081
             for (let i = 0; i < this.all_table_data.length; i++) {
1082
-              if (this.all_table_data[i].name.indexOf(this.search_input) != -1 || this.all_table_data[i].his_patient.number.indexOf(this.search_input) != -1) {
1082
+              console.log(this.all_table_data[i])
1083
+              console.log(this.all_table_data[i].name)
1084
+              console.log(this.all_table_data[i].his_number)
1085
+
1086
+              if (this.all_table_data[i].name.indexOf(this.search_input) != -1) {
1083 1087
                 arr3 = arr3.concat(this.all_table_data[i])
1084 1088
               }
1085 1089
             }
@@ -1088,7 +1092,10 @@ export default {
1088 1092
           case 2:
1089 1093
             let arr2 = []
1090 1094
             for (let i = 0; i < this.all_charge_table_data.length; i++) {
1091
-              if (this.all_charge_table_data[i].name.indexOf(this.search_input) != -1 || this.all_charge_table_data[i].his_number.indexOf(this.search_input) != -1) {
1095
+              console.log(this.all_charge_table_data[i].name)
1096
+              console.log(this.all_charge_table_data[i].his_number)
1097
+
1098
+              if (this.all_charge_table_data[i].name.indexOf(this.search_input) != -1 ) {
1092 1099
                 arr2 = arr2.concat(this.all_charge_table_data[i])
1093 1100
               }
1094 1101
             }
@@ -2255,13 +2262,6 @@ export default {
2255 2262
                 one_count = one_count + 1
2256 2263
               }
2257 2264
 
2258
-              // if (response.data.data.list[i].his_patient.order.order_status == 2) {
2259
-              //   two_count = two_count + 1
2260
-              // }
2261
-
2262
-              // if (response.data.data.list[i].order.order_status == 3) {
2263
-              //   three_count = three_count + 1
2264
-              // }
2265 2265
             }
2266 2266
 
2267 2267
           } else { //月结

+ 1 - 1
src/xt_pages/outpatientDoctorStation/batch_print_template/index.vue Wyświetl plik

@@ -14,7 +14,7 @@
14 14
 
15 15
     <div class='dialysisPage' style="padding-top:40px;">
16 16
       <div v-if="org_id != 10138 && org_id != 10278">
17
-        <printOne v-if="org_id != 10088 && org_id != 10215" :printData="printData" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
17
+        <printOne v-if="org_id != 10088 && org_id != 10215" :printData="printData"  :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
18 18
         <printFour v-if="org_id == 10088" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printFour>
19 19
         <printFive v-if="org_id == 10215" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printFive>
20 20
       </div>

+ 2 - 6
src/xt_pages/outpatientDoctorStation/batch_print_template/printOne.vue Wyświetl plik

@@ -10,11 +10,7 @@
10 10
             <div class="infoTitle">
11 11
                 <p>姓名:{{i.his_patient.id != 0?i.his_patient.name:i.name}}</p>
12 12
                 <p>性别:
13
-                  <span v-if="i.his_patient.id != 0">
14
-                    <span v-if="i.his_patient.gend == 1">男</span>
15
-                    <span v-if="i.his_patient.gend == 2">女</span>
16
-                  </span>
17
-                  <span v-else>
13
+                  <span>
18 14
                     <span v-if="i.gender == 1">男</span>
19 15
                     <span v-if="i.gender == 2">女</span>
20 16
                   </span>
@@ -25,7 +21,7 @@
25 21
                 <div style="margin-bottom: 10px;">门诊号:{{i.his_patient.id != 0?i.his_patient.number:""}}</div>
26 22
                 <div style="margin-bottom: 10px;">科室:{{i.his_patient.id != 0?getDepart(i.his_patient.departments):''}}</div>
27 23
                 <div style="margin-bottom: 10px;">医保卡号:{{i.his_patient.id != 0?i.his_patient.id_card_no:""}}</div>
28
-                <div style="margin-bottom: 10px;" v-if="org_id != 10188">电话:{{i.his_patient.id != 0 ? i.his_patient.phone_number : i.phone}}</div>
24
+                <div style="margin-bottom: 10px;" v-if="org_id != 10188">电话:{{i.phone}}</div>
29 25
                 <div style="margin-bottom: 10px;" v-else>日期:{{getTime(i.info.ctime)?getTime(i.info.ctime):""}}</div>
30 26
                 <div>地址:{{i.home_address}}</div>
31 27
                 <div style="display:flex;width:50%;">临床诊断:{{getDiagnosis(i.info.diagnosis)}}</div>

+ 2 - 6
src/xt_pages/outpatientDoctorStation/batch_print_treatTemplate/printOne.vue Wyświetl plik

@@ -23,13 +23,9 @@
23 23
             </div>
24 24
 
25 25
             <div class="infoMain">
26
-                <div style="margin-bottom: 10px;width:25%">姓名:{{i.his_patient.id != 0?i.his_patient.name:i.name}}</div>
26
+                <div style="margin-bottom: 10px;width:25%">姓名:{{i.name}}</div>
27 27
                 <div style="margin-bottom: 10px;width:25%">性别:
28
-                    <span v-if="i.his_patient.id != 0">
29
-                    <span v-if="i.his_patient.gend == 1">男</span>
30
-                    <span v-if="i.his_patient.gend == 2">女</span>
31
-                  </span>
32
-                  <span v-else>
28
+                  <span >
33 29
                     <span v-if="i.gender == 1">男</span>
34 30
                     <span v-if="i.gender == 2">女</span>
35 31
                   </span>

+ 31 - 2
src/xt_pages/outpatientDoctorStation/pastInquiries.vue Wyświetl plik

@@ -74,7 +74,6 @@
74 74
         <template>
75 75
           <el-button
76 76
               style="float:right;"
77
-              :loading="loading"
78 77
               size="small"
79 78
               icon="el-icon-printer"
80 79
               @click="printThisPage"
@@ -126,10 +125,39 @@
126 125
         innerVisible: false,
127 126
         selecting_schs:[],
128 127
         printData:[],
129
-        printType: 0
128
+        printType: 0,
129
+        org_id:'',
130 130
       }
131 131
     },
132 132
     methods: {
133
+      printThisPage() {
134
+        if(this.org_id == 10138){
135
+          const style =
136
+              '@media print {#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;margin-top:10px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:350px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 88%;}}#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;margin-top:10px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:350px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 87%;}}}'
137
+          printJS({
138
+            printable: 'printMain',
139
+            type: 'html',
140
+            style: style,
141
+            scanStyles: false
142
+          })
143
+        }else{
144
+          const style =
145
+              '@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;border-bottom: 2px solid #000;margin-top:10px;line-height: 1px; padding:0 10px;}.infoTitle p{width: 200px;font-size:14px;}.infoMain{display: flex;flex-wrap: wrap;border-bottom: 2px solid #000;padding:0 10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 88%;}}#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;margin-top:10px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}.NoCell{display: flex;justify-content: space-between;margin-bottom: 10px;}.underLine{display: inline-block;border-bottom: 1px solid #000;text-align: center;line-height: 24px;}.basicCell{display: flex;} .basicCell span{line-height: 24px;margin-bottom: 10px;}}'
146
+          printJS({
147
+            printable: 'printMain',
148
+            type: 'html',
149
+            style: style,
150
+            scanStyles: false
151
+          })
152
+        }
153
+        this.innerVisible = false
154
+        // this.$nextTick(() => {
155
+        //   this.$refs.print.printThisPage()
156
+        //   this.$refs.treatPrint.printThisPage()
157
+        //   this.$refs.checkPrint.printThisPage()
158
+        // })
159
+      },
160
+
133 161
       searchAction(){
134 162
         this.page = 1;
135 163
         this.limit = 10;
@@ -259,6 +287,7 @@
259 287
         '-' +
260 288
         (nowDay < 10 ? '0' + nowDay : nowDay)
261 289
 
290
+      this.org_id = this.$store.getters.xt_user.template_info.org_id
262 291
 
263 292
       this.getHisPrescriptionList()
264 293
       this.getInitData()

+ 541 - 0
src/xt_pages/outpatientTool/components/hisPatient.vue Wyświetl plik

@@ -0,0 +1,541 @@
1
+<template>
2
+  <div class="main-contain">
3
+
4
+    <div class="app-container">
5
+      <div class="cell clearfix">
6
+        <el-input
7
+            style="width: 400px;"
8
+            v-model.trim="searchKey"
9
+            class="filter-item"
10
+            placeholder="病人姓名/透析号"
11
+            size="small"
12
+            @keyup.enter.native='search'
13
+        />
14
+        <el-button
15
+            class="filter-item"
16
+            type="primary"
17
+            icon="el-icon-search"
18
+            @click="search"
19
+            size="small"
20
+        >搜索
21
+        </el-button
22
+        >
23
+      </div>
24
+
25
+
26
+
27
+      <el-table
28
+          ref="multipleTable"
29
+          :row-style="{ color: '#303133' }"
30
+          :header-cell-style="{
31
+          backgroundColor: 'rgb(245, 247, 250)',
32
+          color: '#606266'
33
+        }"
34
+          :data="tableData"
35
+          border
36
+          fit
37
+          highlight-current-row
38
+          style="width: 100%;margin-top: 10px;"
39
+      >
40
+
41
+        <el-table-column
42
+            type="index"
43
+            label="序号"
44
+            width="40px"
45
+            align="center"
46
+        ></el-table-column>
47
+
48
+
49
+        <el-table-column
50
+            property="name"
51
+            label="姓名"
52
+            min-width="70"
53
+            align="center"
54
+        >
55
+          <template slot-scope="scope">
56
+            <router-link
57
+                :to="'/patients/patient/' + scope.row.id"
58
+                style="color:#409eff;width:100%;display:block;"
59
+            >{{ scope.row.name }}
60
+            </router-link
61
+            >
62
+          </template>
63
+        </el-table-column>
64
+        <el-table-column label="性别" min-width="60" align="center">
65
+          <template slot-scope="scope">
66
+            <span v-if="scope.row.gender == 1">男</span>
67
+            <span v-else-if="scope.row.gender == 2">女</span>
68
+            <span v-else>未知</span>
69
+          </template>
70
+        </el-table-column>
71
+
72
+        <el-table-column label="转归" align="center">
73
+          <template slot-scope="scope">
74
+            <span>{{ LapsetoInfo(scope.row) }}</span>
75
+          </template>
76
+        </el-table-column>
77
+
78
+        <el-table-column label="操作" align="center" min-width="140">
79
+          <template slot-scope="scope">
80
+            <el-tooltip
81
+                class="item"
82
+                effect="dark"
83
+                content="人员信息查询"
84
+                placement="top"
85
+            >
86
+              <el-button
87
+                  type="primary"
88
+                  icon="el-icon-edit"
89
+                  size="small"
90
+                  @click="OpenQuery(scope.row, scope.$index)"
91
+              ></el-button>
92
+            </el-tooltip>
93
+
94
+          </template>
95
+        </el-table-column>
96
+      </el-table>
97
+      <el-pagination
98
+          @size-change="handleSizeChange"
99
+          @current-change="handleCurrentChange"
100
+          :current-page="listQuery.page"
101
+          :page-sizes="[10, 20, 50, 100,200,500,1000,2000]"
102
+          :page-size="listQuery.limit"
103
+          background
104
+          style="margin-top:20px;"
105
+          align="right"
106
+          layout="total, sizes, prev, pager, next, jumper"
107
+          :total="total"
108
+      >
109
+      </el-pagination>
110
+
111
+    </div>
112
+
113
+
114
+  </div>
115
+</template>
116
+
117
+<script>
118
+import { code, EditLapseto, fetchList, getMaxDialysisNo, OpenView, postExportPatients,GetRemind } from '@/api/patient'
119
+import { generateLog } from '@/api/config'
120
+import QRCode from 'qrcodejs2'
121
+import Vue from 'vue'
122
+import { Base64 } from 'js-base64'
123
+import { jsGetAge,uParseTime } from '@/utils/tools'
124
+import { log } from 'util'
125
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
126
+import UploadExcel from '@/xt_pages/components/UploadExcel'
127
+import axios from 'axios'
128
+
129
+export default {
130
+  name: 'Patient',
131
+  components: {
132
+    UploadExcel,
133
+    BreadCrumb
134
+  },
135
+  data() {
136
+    return {
137
+
138
+      currentIndex: -1,
139
+      LapsetoDialogVisible: false,
140
+      centerDialogVisible: false,
141
+      checkAll: false,
142
+      isIndeterminate: true,
143
+      dialogVisible: false,
144
+      exportLogVisible: false,
145
+      exportVisible:false,
146
+      phoneVisible:false,
147
+      idCardNoVisible:false,
148
+      wechatbindimg: '',
149
+      isShow:true,
150
+      active: true,
151
+      schedulType: 0,
152
+      lapsetoForm: {
153
+        lapseto_type: 0,
154
+        lapseto_time: '',
155
+        patient_id: 0,
156
+        out_reason:''
157
+      },
158
+      sourceType: 0,
159
+      sourceID: 0,
160
+      lapsetoType: 1,
161
+      sourceArr: [
162
+        { value: 0, label: '全部', source: 0, lapseto: 0 },
163
+        { value: 3, label: '门诊', source: 1, lapseto: 1 },
164
+        { value: 4, label: '住院', source: 2, lapseto: 1 }
165
+      ],
166
+      lapsetoArr: [
167
+        { value: 0, label: '全部', source: 0, lapseto: 0 },
168
+        { value: 1, label: '转出', source: 0, lapseto: 2 },
169
+        { value: 2, label: '留治', source: 0, lapseto: 1 },
170
+        { value: 3, label: '死亡', source:0,  lapseto: 3 },
171
+      ],
172
+      scheduling: [
173
+        {
174
+          value: 1,
175
+          label: '已排班'
176
+        },
177
+        {
178
+          value: 2,
179
+          label: '未排班'
180
+        }
181
+      ],
182
+      prescription: [
183
+        {
184
+          value: 1,
185
+          label: '有处方'
186
+        },
187
+        {
188
+          value: 2,
189
+          label: '无处方'
190
+        }
191
+      ],
192
+      tableData: null,
193
+      searchKey: '',
194
+      // value2: '',
195
+      total: 0,
196
+      pageTotal: 0,
197
+      dialysisVisible:false,
198
+      pageSelect: 0,
199
+      max_dialysis_no: '',
200
+      listQuery: {
201
+        page: 1,
202
+        limit: 10,
203
+        schedul_type: 0,
204
+        binding_state: 0,
205
+        lapseto: 1,
206
+        source: 0,
207
+        start_time: '',
208
+        end_time: '',
209
+        keywords: '',
210
+        contagion: '',
211
+        reimbursement_way: '',
212
+        isscheduling: '',
213
+        isprescription: ''
214
+      },
215
+      multipleSelection: [],
216
+      bindWechatDialog: false,
217
+      contagionList: [],
218
+      reimbursement_ways: [],
219
+      patient: null,
220
+      id: '',
221
+      name: '',
222
+      dialysis_no: '',
223
+      patientPrint: {},
224
+      patient_id: '',
225
+      gender: '',
226
+      idcardno: '',
227
+      phone: '',
228
+      healthcareno: '',
229
+      startTime: '',
230
+      export_date: [],
231
+      lapeseto:"",
232
+      value:13,
233
+      dialogTableVisible:false,
234
+      gridData:[],
235
+      totalOne: 0,
236
+      page: 1,
237
+      limit: 5
238
+    }
239
+  },
240
+  created() {
241
+    if(sessionStorage.getItem('patientPageSize')){
242
+      this.listQuery.limit = parseInt(sessionStorage.getItem('patientPageSize'))
243
+    }
244
+    this.getList()
245
+    this.contagionList = this.$store.getters.contagions
246
+    this.reimbursement_ways = this.$store.getters.reimbursement_ways
247
+
248
+    const keyword = this.$route.query && this.$route.query.keyword
249
+    if (typeof keyword === 'string' && keyword.length > 0) {
250
+      this.listQuery.keywords = keyword
251
+      this.searchKey = keyword
252
+    }
253
+    //获取
254
+    this.GetRemindPatientList()
255
+  },
256
+
257
+  methods: {
258
+    OpenQuery(row, index){
259
+      let params ={
260
+        id_card_no:row.id_card_no,
261
+        admin_user_id:  this.$store.getters.xt_user.user.id,
262
+      };
263
+      var that = this;
264
+      axios.get('http://127.0.0.1:9532/api/patient/info', {
265
+        params: params
266
+      })
267
+          .then(function(response) {
268
+            if (response.data.state == 0) {
269
+              that.$message.error(response.data.msg);
270
+              return false
271
+            } else {
272
+
273
+              if(response.data.data.failed_code == -10){
274
+                // that.$message.error(response.data.data.msg)
275
+                that.$confirm(response.data.data.msg, '医保错误信息', {
276
+                  confirmButtonText: '确 定',
277
+                  type: 'warning'
278
+                }).then(() => {
279
+
280
+                }).catch(() => {
281
+                })
282
+              }else{
283
+                that.dialogFormVisible = true;
284
+                that.insutypes = [];
285
+                that.psn_no =  response.data.data.info.output.baseinfo.psn_no;
286
+
287
+              }
288
+            }
289
+          })
290
+          .catch(function(error) {
291
+
292
+          })
293
+
294
+    },
295
+    handleSizeChange(val) {
296
+      sessionStorage.setItem('patientPageSize',val)
297
+      this.listQuery.limit = val
298
+      this.getList()
299
+    },
300
+    handleCurrentChange(val) {
301
+      this.listQuery.page = val
302
+      this.getList()
303
+    },
304
+    search() {
305
+
306
+      this.listQuery.keywords = this.searchKey
307
+      this.getList()
308
+    },
309
+    changeOtherSearch() {
310
+      this.getList()
311
+    },
312
+    getList() {
313
+      console.log("parasm2222",this.listQuery)
314
+      fetchList(this.listQuery).then(response => {
315
+        if (response.data.state === 0) {
316
+          this.$message.error(response.data.msg)
317
+          return false
318
+        } else {
319
+          this.tableData = response.data.data.patients
320
+          console.log('病人是', this.tableData)
321
+          this.pageTotal = this.tableData.length
322
+          this.total = response.data.data.total
323
+
324
+        }
325
+      })
326
+    },
327
+
328
+  }
329
+}
330
+Vue.prototype.$QRCode = function() {
331
+  var name = this.name
332
+  var dialysis_no = this.dialysis_no
333
+  var id = this.id
334
+  var gender = this.gender
335
+  if (gender === 1) {
336
+    gender = '男'
337
+  }
338
+  if (gender === 2) {
339
+    gender = '女'
340
+  }
341
+  var idcardno = this.idcardno
342
+  var phone = this.phone
343
+  var healthcareno = this.healthcareno
344
+
345
+  // BASE64加密
346
+  // var eid = this.Base64.encode(id)
347
+  // var ename = this.Base64.encode(name)
348
+  // var egender = this.Base64.encode(gender)
349
+  // var eidcardno = this.Base64.encode(idcardno)
350
+  // var ephone = this.Base64.encode(phone)
351
+  // var ehealthcareno = this.Base64.encode(healthcareno)
352
+  // var edialysisno = this.Base64.encode(dialysis_no)
353
+  var eid = id
354
+  var ename = name
355
+  var egender = gender
356
+  var eidcardno = idcardno
357
+  var ephone = phone
358
+  var ehealthcareno = healthcareno
359
+  var edialysisno = dialysis_no
360
+  console.log(
361
+      'user_id' + eid,
362
+      'name:' + ename,
363
+      'gender:' + egender,
364
+      'idcard_no:' + eidcardno,
365
+      'phone:' + ephone,
366
+      'healthcare_no:' + ehealthcareno,
367
+      'edialysis_no:' + edialysisno
368
+  )
369
+  const salting = 'admin-authority'
370
+  new QRCode('qrcode', {
371
+    width: 150, // 设置宽度
372
+    height: 150, // 设置高度
373
+    text:
374
+        'user_id:' +
375
+        eid +
376
+        ',' +
377
+        'name:' +
378
+        ename +
379
+        ',' +
380
+        'dialysis_no:' +
381
+        edialysisno +
382
+        ',' +
383
+        'gender:' +
384
+        egender +
385
+        ',' +
386
+        'idcard_no:' +
387
+        eidcardno +
388
+        ',' +
389
+        'phone:' +
390
+        ephone +
391
+        ',' +
392
+        'healthcare_no:' +
393
+        ehealthcareno
394
+  })
395
+}
396
+</script>
397
+
398
+<style rel="stylesheet/scss" lang="scss">
399
+.app-container {
400
+  /*margin: 20 px;*/
401
+  font-size: 15px;
402
+
403
+.filter-container {
404
+  padding-bottom: 5px;
405
+}
406
+
407
+.search-component {
408
+  width: 500px;
409
+
410
+.searchBox {
411
+  width: 300px;
412
+  height: 36px;
413
+  line-height: 36px;
414
+  padding-left: 15px;
415
+  border: 1px #dcdfe6 solid;
416
+  border-right: none;
417
+  outline: none;
418
+  float: left;
419
+  border-radius: 6px 0 0 6px;
420
+  font-size: 14px;
421
+  color: #333;
422
+  background: #fff;
423
+  box-shadow: 3px 3px 4px rgba(135, 135, 135, 0.05);
424
+}
425
+
426
+.searchBtn {
427
+  background-color: #409eff;
428
+  color: #fff;
429
+  font-size: 15px;
430
+  text-align: center;
431
+  height: 36px;
432
+  line-height: 36px;
433
+  float: left;
434
+  outline: none;
435
+  width: 70px;
436
+  border: none;
437
+  border-radius: 0 6px 6px 0;
438
+  font-family: "Microsoft Yahei";
439
+  cursor: pointer;
440
+}
441
+
442
+}
443
+.amount {
444
+  font-weight: normal;
445
+  padding: 10px 0 0 0;
446
+  color: #606266;
447
+  font-size: 14px;
448
+
449
+span {
450
+  color: #ef2525;
451
+  font-family: "Arial";
452
+  padding: 0 2px;
453
+}
454
+
455
+}
456
+
457
+.print_main_content {
458
+  background-color: white;
459
+  width: 960px;
460
+  margin: 0 auto;
461
+  padding: 0 0 20px 0;
462
+}
463
+
464
+.print_main_content .order_title {
465
+  text-align: center;
466
+  font-size: 23px;
467
+  line-height: 50px;
468
+  font-weight: 500px;
469
+}
470
+
471
+.print_main_content table {
472
+  width: 100%;
473
+  border: 1px solid;
474
+  border-collapse: collapse;
475
+  padding: 2px;
476
+}
477
+
478
+.print_main_content table tbody tr td {
479
+  border: 1px solid;
480
+  text-align: center;
481
+  /* font-size: 17px; */
482
+  padding: 10px 8px;
483
+}
484
+
485
+.td_proj_title {
486
+  font-size: 18px;
487
+  line-height: 25px;
488
+  font-weight: 500;
489
+}
490
+
491
+.td_proj_content {
492
+  font-size: 18px;
493
+  line-height: 25px;
494
+}
495
+
496
+.td_align_left {
497
+  text-align: left;
498
+}
499
+
500
+.print_footnote_panel {
501
+  font-size: 17px;
502
+  line-height: 40px;
503
+}
504
+
505
+.print_footnote_panel .proj {
506
+  display: inline-block;
507
+  width: 49%;
508
+}
509
+
510
+.print_footnote_panel .proj .proj_title {
511
+  font-weight: 500;
512
+}
513
+
514
+}
515
+.el-table td,
516
+.el-table th.is-leaf,
517
+.el-table--border,
518
+.el-table--group {
519
+  border-color: #d0d3da;
520
+}
521
+
522
+.el-table--border::after,
523
+.el-table--group::after,
524
+.el-table::before {
525
+  background-color: #d0d3da;
526
+}
527
+
528
+.el-select--small {
529
+  width: 196px;
530
+}
531
+
532
+.el-checkbox__inner::after {
533
+  height: 10px;
534
+  left: 7px;
535
+}
536
+
537
+.el-checkbox__inner {
538
+  width: 20px;
539
+  height: 20px;
540
+}
541
+</style>

+ 39 - 0
src/xt_pages/outpatientTool/his_patient_info.vue Wyświetl plik

@@ -0,0 +1,39 @@
1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+      <el-tabs v-model="activeName">
8
+        <el-tab-pane label="人员信息查询" name="1">
9
+          <hisPatient></hisPatient>
10
+        </el-tab-pane>
11
+        <el-tab-pane label="人员定点备案" name="2">
12
+
13
+        </el-tab-pane>
14
+      </el-tabs>
15
+    </div>
16
+  </div>
17
+</template>
18
+
19
+
20
+<script>
21
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
22
+
23
+
24
+export default {
25
+  name: 'specialDictionary',
26
+  components: {
27
+    BreadCrumb,
28
+  },
29
+  data() {
30
+    return {
31
+      crumbs: [
32
+        { path: false, name: 'His工具' },
33
+        { path: '/data/specialDictionary', name: '人员信息' }
34
+      ],
35
+      activeName: '1'
36
+    }
37
+  }
38
+}
39
+</script>