see999 3 years ago
parent
commit
44ef31c2d8

+ 1 - 1
src/xt_pages/data/components/addDrugs.vue View File

@@ -112,7 +112,7 @@
112 112
                                       maxlength="30"></el-input>
113 113
                           <el-select v-model="form.drug_dose_unit" style="width:80px;" placeholder="单次用量单位">
114 114
                                 <el-option
115
-                                        v-for="(item,index) in  getDataConfig('hemodialysis','units')"
115
+                                        v-for="(item,index) in unitList"
116 116
                                         :key="index"
117 117
                                         :label="item.name"
118 118
                                         :value="item.id">

+ 346 - 0
src/xt_pages/outpatientDoctorStation/checkPrint.vue View File

@@ -0,0 +1,346 @@
1
+<template>
2
+  <div>
3
+       <template>
4
+        <el-button
5
+          style="position:fixed;right:25px;z-index:999"
6
+          :loading="loading"
7
+          size="small"
8
+          icon="el-icon-printer"
9
+          @click="printThisPage"
10
+          type="primary"
11
+          >打印</el-button
12
+        >
13
+      </template>
14
+            
15
+      <div class='dialysisPage' style="padding-top:40px;">
16
+        <printOne v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
17
+      </div>
18
+  </div>
19
+</template>
20
+
21
+<script>
22
+import { jsGetAge, uParseTime } from "@/utils/tools";
23
+
24
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
25
+import print from "print-js";
26
+import printOne from "./checkTemplate/printOne"
27
+import { getAllDoctorList,getAllHisPatientList } from "@/api/project/project"
28
+export default {
29
+  name: "dialysisPrintOrder",
30
+  components: {
31
+    BreadCrumb,
32
+    printOne,
33
+  },
34
+  props:{
35
+    paramsObj:Object
36
+  },
37
+  data() {
38
+    return {
39
+      crumbs: [
40
+        { path: false, name: '门诊医生站' },
41
+        { path: false, name: '打印' }
42
+      ],
43
+      record_date:"",
44
+      patientTableData:[],
45
+      advicePrint:[],
46
+      hisPatient:{},
47
+      patient:{},
48
+      search_input:"",
49
+      loading:false,
50
+      patient_id:0,
51
+      prescription_id:0,
52
+      ids:''
53
+    };
54
+  },
55
+  methods:{
56
+    printThisPage() {
57
+        var ptime = Math.round(new Date().getTime() / 1000);
58
+        this.print_time = uParseTime(ptime, "{y}-{m}-{d} {h}:{i}");
59
+
60
+        const style =
61
+        '@media print {#prescription-print{font-size:14px;}.prescription-print:last-child {page-break-after: auto;}.prescription-print{font-size: 14px;}.printTitle{font-size: 18px;text-align: center;font-weight: bold;}.infoTitle{display: flex;border-bottom: 2px solid #000;margin-top:5px;padding:0 10px;}.infoTitle div{width: 300px;margin-bottom:5px;}.infoMain{display: flex;flex-wrap: wrap;border-bottom: 2px solid #000;padding:0 10px;}.infoMain div{width: 50%;}.prescriptionBox{padding:0 10px;min-height:380px;}.Rp{font-size: 22px;font-weight: bold;line-height:1px;}.drugsBox{padding-left: 40px;margin-bottom: 10px;margin-bottom: 10px;}.drugsBox p{line-height: 1px;padding-bottom:10px !important;} .drugsOne{line-height: 1px;margin-bottom:10px !important;} .drugsOne span{margin-right: 20px;} .doctorBox{display: flex; justify-content: space-between; padding:0 10px; border-bottom: 2px solid #000;} .actionBar{display: flex; justify-content: space-between; padding:0 10px;margin:5px 0;} .actionBar div{width:150px;}}';
62
+        printJS({
63
+          printable: "prescription-print",
64
+          type: "html",
65
+          style: style,
66
+          scanStyles: false
67
+        });
68
+    },
69
+    getAllDoctorList(){
70
+      getAllDoctorList().then(response=>{
71
+        if(response.data.state == 1){
72
+               var doctor =  response.data.data.doctor
73
+               
74
+               this.doctorList = doctor
75
+             }
76
+         })   
77
+     },
78
+    getAllHisPatientList(){
79
+         const params = {
80
+           record_date:this.record_date
81
+         }
82
+      getAllHisPatientList(params).then(response=>{
83
+         if(response.data.state == 1){
84
+            this.patientTableData = response.data.data.list
85
+            this.patientTableDataTwo = response.data.data.list
86
+
87
+            console.log('222', this.patientTableData)
88
+            let cal_one = 0
89
+            let cal_two = 0
90
+            for (let i = 0; i < response.data.data.list.length; i++) {
91
+              if (response.data.data.list[i].prescription == null || response.data.data.list[i].prescription.length == 0) {
92
+                cal_one = cal_one + 1
93
+              }
94
+              if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
95
+                cal_two = cal_two + 1
96
+              }
97
+            }
98
+            // this.$refs.tab.setCurrentRow(this.patientTableData[0])
99
+            // console.log(this.patientTableData[0])
100
+            // this.choosePatient(this.patientTableData[0])
101
+            this.cal_one = cal_one
102
+            this.cal_two = cal_two   
103
+         }
104
+      })
105
+    },
106
+
107
+    changePatient(row){
108
+      console.log("row",row)
109
+      this.patient_id = row.patient_id
110
+      this.record_date = this.record_date
111
+      this.prescription_id = this.prescription_id
112
+      //   var params = {
113
+      //     patient_id:row.patient_id,
114
+      //     record_date:this.record_date,
115
+      //     prescription_id:this.prescription_id,
116
+      //   }
117
+      // getPrescriptionPrint(params).then(response=>{
118
+      //     if(response.data.state == 1){
119
+      //       var advicePrint =  response.data.data.advicePrint
120
+      //       console.log("adviceprint",advicePrint)
121
+      //       this.advicePrint = advicePrint
122
+      //       // var hisPatient =  response.data.data.hisPatient
123
+      //       // console.log("hispatient",hisPatient)
124
+      //       // this.hisPatient = hisPatient
125
+      //       var patient =  response.data.data.patient
126
+      //       console.log("patient",patient)
127
+      //       this.patient = patient
128
+      //       var doctorPorject = response.data.data.doctorPorject
129
+      //       console.log("doctorporject",doctorPorject)
130
+      //     }
131
+      // })
132
+    },
133
+    searchAction(){
134
+
135
+    }
136
+    
137
+  },
138
+
139
+  created() {
140
+    this.org_id = this.$store.getters.xt_user.org_id
141
+    this.getAllDoctorList()
142
+    var record_date = this.paramsObj.record
143
+    this.record_date = record_date
144
+    console.log("record_date",record_date)
145
+    this.prescription_id = this.paramsObj.prescription_id
146
+    this.patient_id = this.paramsObj.patient_id
147
+    this.ids = this.paramsObj.ids
148
+    this.getAllHisPatientList(record_date)
149
+  },
150
+  watch:{
151
+    paramsObj:{//深度监听,可监听到对象、数组的变化
152
+      handler(val, oldVal){
153
+        this.paramsObj = val
154
+        this.patient_id = this.paramsObj.patient_id
155
+        var record_date = this.paramsObj.record
156
+        this.record_date = record_date
157
+        var prescription_id = this.paramsObj.prescription_id
158
+        this.prescription_id = prescription_id
159
+        this.ids = this.paramsObj.ids
160
+        
161
+      },
162
+      deep:true
163
+    }
164
+  }
165
+
166
+};
167
+</script>
168
+
169
+<style>
170
+.dialysis-print-order {
171
+  width: 960px;
172
+  margin: 0 auto;
173
+}
174
+
175
+.dialysis-print-order .order-yy-name {
176
+  margin: auto;
177
+  text-align: center;
178
+  font-size: 20px;
179
+  letter-spacing: 5px;
180
+}
181
+
182
+.dialysis-print-order .order-title {
183
+  margin: auto;
184
+  font-weight: 600;
185
+  text-align: center;
186
+  font-size: 22px;
187
+  padding: 10px;
188
+}
189
+
190
+.dialysis-print-order .table-box {
191
+  width: 100%;
192
+  line-height: 23px;
193
+  font-size: 14px;
194
+}
195
+
196
+.dialysis-print-order .print-table {
197
+  width: 100%;
198
+  text-align: center;
199
+  border-collapse: collapse;
200
+  line-height: 40px;
201
+  font-size: 14px;
202
+  border-color: #000;
203
+}
204
+
205
+.dialysis-print-order .print-table-no {
206
+  width: 100%;
207
+  text-align: center;
208
+  border-collapse: collapse;
209
+  font-size: 14px;
210
+}
211
+
212
+.dialysis-print-order .under-line {
213
+  border-bottom: 1px solid #999;
214
+  width: 95%;
215
+  text-align: center;
216
+  margin-left: 2px;
217
+}
218
+
219
+.dialysis-print-order .title-box {
220
+  text-align: center;
221
+  font-size: 16px;
222
+}
223
+
224
+.dialysis-print-order .radio-lebel-box {
225
+  font-weight: 400;
226
+  cursor: pointer;
227
+}
228
+
229
+.dialysis-print-order .radio-no {
230
+  opacity: 0;
231
+  outline: none;
232
+  position: absolute;
233
+  margin: 0;
234
+  width: 0;
235
+  height: 0;
236
+  z-index: -1;
237
+}
238
+
239
+.dialysis-print-order .radio-inner {
240
+  white-space: nowrap;
241
+  cursor: pointer;
242
+  outline: none;
243
+  display: inline-block;
244
+  line-height: 1;
245
+  position: relative;
246
+  vertical-align: middle;
247
+}
248
+
249
+.dialysis-print-order .radio-fang {
250
+  display: inline-block;
251
+  position: relative;
252
+  border: 1px solid #000;
253
+  box-sizing: border-box;
254
+  width: 14px;
255
+  height: 14px;
256
+  background-color: #fff;
257
+  z-index: 1;
258
+  transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
259
+    background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);
260
+}
261
+
262
+.dialysis-print-order .is-checked-radio::after {
263
+  content: "√";
264
+  font-size: 15px;
265
+}
266
+
267
+.dialysis-print-order .print-table-no tr td {
268
+  padding: 8px 5px;
269
+  line-height: 25px;
270
+}
271
+
272
+.dialysis-print-order .print-table tr td {
273
+  padding: 1px 1px;
274
+  /*line-height: 25px;*/
275
+}
276
+
277
+.es-img {
278
+  height: 30px;
279
+}
280
+
281
+.advice-name {
282
+  text-align: left;
283
+}
284
+
285
+.advice-children {
286
+  display: flex;
287
+}
288
+
289
+.title-box-pro {
290
+  border: 0 #fff;
291
+  line-height: 25px;
292
+  height: 25px;
293
+  text-align: left;
294
+  padding-left: 10px !important;
295
+}
296
+.title-box-pro-tr {
297
+  border: 0 #fff;
298
+}
299
+.text-align-left {
300
+  text-align: left !important;
301
+  padding-left: 10px !important;
302
+  font-size: 14px !important;
303
+  line-height: 25px;
304
+}
305
+.print-table-tr-new td {
306
+  line-height: 20px !important;
307
+}
308
+.border-top-solid {
309
+  border: solid 1px #000;
310
+}
311
+.print-template-two tr {
312
+  line-height: 30px;
313
+}
314
+
315
+.table-box1 {
316
+  border: 1px solid #000;
317
+  width: 100%;
318
+  line-height: 30px;
319
+  font-size: 14px;
320
+  border-collapse: collapse;
321
+}
322
+.table-box1 tr {
323
+  border-bottom: 1px solid #000;
324
+}
325
+</style>
326
+
327
+<style lang="scss">
328
+
329
+.newContainer{
330
+  .dialysisPage::-webkit-scrollbar {
331
+    height: 15px;
332
+  }
333
+  
334
+  .el-date-editor{
335
+    .el-input__inner{
336
+      padding-right:0px;
337
+    }
338
+  }
339
+  .el-table td, .el-table th{
340
+    text-align: center;
341
+  }
342
+}
343
+.newContainer::-webkit-scrollbar{
344
+  height: 15px !important;
345
+}
346
+</style>

+ 460 - 0
src/xt_pages/outpatientDoctorStation/checkTemplate/printOne.vue View File

@@ -0,0 +1,460 @@
1
+<template>
2
+    <div>
3
+        <div id='prescription-print' class="prescription-print">
4
+            <img style="width:100%;height:80px" src="../../../assets/img/bailinTop.jpg" alt="">
5
+            <div class="printTitle">检验申请单</div>
6
+
7
+            <div style="border:1px solid #000;">
8
+                <div style="display:flex;justify-content: space-between;border-bottom:1px solid #000;line-height:40px;">
9
+                    <div>是否急诊:否</div>
10
+                    <div>结算方式:{{ faber && faber.transBody ? getName(faber.transBody.outputlist1) : '' }}</div>
11
+                    <div>金额:{{ total }}</div>
12
+                </div>
13
+                <div style="display:flex;justify-content: space-between;border-bottom:1px solid #000;line-height:40px;">
14
+                    <div>姓名:{{advicePrint[0].patient.name?advicePrint[0].patient.name:""}}</div>
15
+                    <div>性别:
16
+                        <span v-if="advicePrint[0].patient.gender == 1">男</span>
17
+                        <span v-if="advicePrint[0].patient.gender == 2">女</span>
18
+                    </div>
19
+                    <div>年龄:{{advicePrint[0].patient.age?advicePrint[0].patient.age:""}}岁</div>
20
+                </div>
21
+                <div>病史摘要:{{history.history_of_present_illness?history.history_of_present_illness:''}}</div>
22
+                <div>体格检查:
23
+                    <span>体温:{{ history.temperature ? history.temperature + '℃' : '/' }}</span>
24
+                    <span>脉搏:{{ history.pulse ? history.pulse + '次/分' : '/' }}</span>
25
+                    <span>呼吸:{{ history.breathing ? history.breathing + '次/分' : '/' }}</span>
26
+                    <span>血压:{{ history.sbp }}/{{ history.dbp }}mmHg</span>
27
+                </div>
28
+                <div>临床诊断:{{ getDiagnosis(advicePrint[0].info.diagnosis) }}</div>
29
+                <div style="display:flex">
30
+                    <div>检验项目:</div>
31
+                    <div>
32
+                        <div v-for="item in projectPrint">{{ item.project.project_name }}</div>
33
+                    </div>
34
+                </div>
35
+                <div style="display:flex;justify-content: space-between;border-top:1px solid #000;line-height:40px;">
36
+                    <div>开单医生:{{ doctor ? doctor : '' }}</div>
37
+                    <div>开单日期:
38
+                        {{getTime(pre_time) ? getTime(pre_time).split(' ')[0] : ''}}
39
+                    </div>
40
+                    <div>医生签字:{{ doctor ? doctor : '' }}</div>
41
+                </div>
42
+            </div>   
43
+            <img style="width:100%;" src="../../../assets/img/bailinBottom.jpg" alt="">
44
+        </div>
45
+    </div>
46
+
47
+</template>
48
+<script>
49
+import { jsGetAge, uParseTime } from '@/utils/tools'
50
+import {getAllDoctorList,getPrescriptionPrint,getHisPatientDetail,getPatientCaseHistory} from "@/api/project/project"
51
+import {getInitData} from "@/api/his/his"
52
+export default {
53
+    props:{
54
+      patient_id:Number,
55
+      record_date:String,
56
+      prescription_id:Number,
57
+      ids:String
58
+    }, 
59
+    data(){
60
+      return {
61
+        doctorList:[],
62
+        advicePrint:{},
63
+        patient:{},
64
+        tableData:[],
65
+        prescriptionInfo:[],
66
+        hisPatient:{},
67
+        department:[],
68
+        prescriptions:[],
69
+        projectList:[],
70
+        orgname:"",
71
+        diagnoses:[],
72
+        pageArr:[],
73
+        faber:{},
74
+        total:0,
75
+        projectPrint:[],
76
+        time:'',
77
+        doctor:''
78
+      }
79
+    },
80
+   methods:{
81
+    getPatientCaseHistory(){
82
+        const params = {
83
+          patient_id:this.patient_id
84
+        }
85
+        getPatientCaseHistory(params).then(response=>{
86
+            if(response.data.state == 1){
87
+                var history = response.data.data.history
88
+                console.log("中国history222222",history)
89
+                this.history = history
90
+            }
91
+        })
92
+    },
93
+     getAllDoctorList(){
94
+      getAllDoctorList().then(response=>{
95
+        if(response.data.state == 1){
96
+               var doctor =  response.data.data.doctor
97
+               
98
+               this.doctorList = doctor
99
+             }
100
+         })   
101
+     },
102
+
103
+      getDoctor(id){
104
+        var name = ""
105
+        for(let i=0;i<this.doctorList.length;i++){
106
+          if(id == this.doctorList[i].admin_user_id){
107
+              name = this.doctorList[i].user_name
108
+          }
109
+        }
110
+        return name
111
+      },
112
+      getTime(value, temp) {
113
+        if (value != undefined) {
114
+            return uParseTime(value, temp)
115
+        }
116
+        return ''
117
+     },
118
+       getPrescriptionPrint(){
119
+         var params = {
120
+          // patient_id:this.patient_id,
121
+          // record_date:this.record_date,
122
+          // prescription_id:this.prescription_id,
123
+          patient_id:this.patient_id,
124
+          record_date:this.record_date,
125
+          prescription_id:this.prescription_id,
126
+          ids:this.ids
127
+        }
128
+        console.log("params",params)
129
+       getPrescriptionPrint(params).then(response=>{
130
+         if(response.data.state == 1){
131
+            var advicePrint =  response.data.data.advicePrint
132
+            console.log("adviceprint9999",advicePrint)
133
+            this.advicePrint = advicePrint
134
+            this.prescriptions = advicePrint
135
+            console.log("处方222222",this.prescriptions)
136
+            var hisPatient = response.data.data.hisPatient
137
+            console.log("hisPatient",hisPatient)
138
+            this.hisPatient = hisPatient
139
+            let projectPrint = []
140
+            let total = 0
141
+            this.advicePrint.map(item => {
142
+              if(item.project.length > 0){
143
+                  item.project.map(it => {
144
+                        if(it.type == 2){
145
+                            if(it.project.cost_classify == 3){
146
+                                projectPrint.push(it)
147
+                                total += it.project.price
148
+                            }
149
+                        }
150
+                  })
151
+                
152
+              }
153
+            })
154
+            this.total = total
155
+            this.pre_time = this.advicePrint[0].pre_time
156
+            this.doctor = this.advicePrint[0].doctor
157
+            this.projectPrint = projectPrint
158
+            console.log('this.projectPrint',projectPrint)
159
+            var projectlist =  response.data.data.projectlist
160
+
161
+            var projectlist =  response.data.data.projectlist
162
+            console.log("所有项目列表",projectlist)
163
+            this.projectList = projectlist
164
+            this.getPage()
165
+            let outputlist1Name = response.data.data.his.patient_info ? JSON.parse(response.data.data.his.patient_info) : {};
166
+            this.faber = outputlist1Name
167
+
168
+            
169
+          }
170
+       })
171
+     },
172
+     getHisPatientDetail(){
173
+          const params = {
174
+              patient_id:this.patient_id
175
+          }
176
+       getHisPatientDetail(params).then(response=>{
177
+          if(response.data.state == 1){
178
+             var hisPatient =  response.data.data.hisPatient
179
+             console.log("挂号病人",hisPatient)
180
+             this.hisPatient = hisPatient
181
+          }
182
+       })
183
+     },
184
+     getInitData(){
185
+       getInitData().then(response=>{
186
+          if(response.data.state == 1){
187
+            this.department = response.data.data.department
188
+            this.diagnoses = response.data.data.diagnose
189
+            console.log("争端",this.diagnoses)
190
+          }
191
+       })
192
+     },
193
+     getDepart(id){
194
+         var name = ""
195
+       for(let i=0;i<this.department.length;i++){
196
+           if(id == this.department[i].id){
197
+               name = this.department[i].name
198
+           }
199
+       }
200
+       return name
201
+     },
202
+    getTotalOne(id) {
203
+
204
+        var total = 0
205
+        var addtotal = 0
206
+        for (let i = 0; i < this.prescriptions.length; i++) {
207
+          if(id == this.prescriptions[i].id){
208
+            if (this.prescriptions[i].project != null) {
209
+              for (let a = 0; a < this.prescriptions[i].project.length; a++) {
210
+                total = total + this.prescriptions[i].project[a].price * this.prescriptions[i].project[a].count
211
+              }
212
+            }
213
+
214
+            if (this.prescriptions[i].additionalcharge != null) {
215
+              for (let a = 0; a < this.prescriptions[i].additionalcharge.length; a++) {
216
+                addtotal = addtotal + this.prescriptions[i].additionalcharge[a].price * this.prescriptions[i].additionalcharge[a].count
217
+              }
218
+            }
219
+              addtotal =  Math.floor(addtotal * 100) / 100
220
+        }
221
+       
222
+       }
223
+
224
+      for (let i = 0; i < this.prescriptions.length; i++) {
225
+          if(id == this.prescriptions[i].id){
226
+            if (this.prescriptions[i].advices != null) {
227
+              for (let a = 0; a < this.prescriptions[i].advices.length; a++) {
228
+                total = total + this.prescriptions[i].advices[a].price * this.prescriptions[i].advices[a].prescribing_number
229
+              }
230
+            }
231
+          
232
+            if (this.prescriptions[i].additionalcharge != null) {
233
+              for (let a = 0; a < this.prescriptions[i].additionalcharge.length; a++) {
234
+                addtotal = addtotal + this.prescriptions[i].additionalcharge[a].price * this.prescriptions[i].additionalcharge[a].count
235
+              }
236
+            }
237
+              addtotal =  Math.floor(addtotal * 100) / 100
238
+        }
239
+       }
240
+
241
+        return total + addtotal
242
+      },
243
+      
244
+     getProjectName(id){
245
+        var project_name = ""
246
+        for(let i=0;i<this.projectList.length;i++){
247
+           if(id == this.projectList[i].id){
248
+               project_name = this.projectList[i].project_name
249
+           }
250
+        }
251
+        return project_name
252
+     },
253
+
254
+     getDiagnosis(ids){
255
+        let id = ids.split(',')
256
+        var name = ""
257
+        for(let i=0;i<this.diagnoses.length;i++){
258
+          // if(id == this.diagnoses[i].id){
259
+          //    name = this.diagnoses[i].class_name
260
+          // }
261
+          if(id.indexOf(this.diagnoses[i].id.toString()) > -1){
262
+            name += this.diagnoses[i].class_name + ' '
263
+          }
264
+        }
265
+        return name
266
+     },
267
+     getPage(){
268
+        this.page = 1
269
+        this.pageArr = []
270
+
271
+        this.advicePrint.map(item => {
272
+          let arr = []
273
+          item.pageArr = []
274
+          if(item.advices.length <= 5){
275
+            this.page = 1
276
+            arr.push(item.advices.length)
277
+            item.pageArr.push(arr)
278
+            
279
+          }else if(item.advices.length > 5){
280
+            this.page = parseInt(item.advices.length / 5)
281
+            let num = item.advices.length % 5
282
+            for (var i=0;i<this.page;i++){
283
+              item.pageArr.push([5])
284
+            }
285
+            if(num != 0){
286
+              item.pageArr.push([num])
287
+            }
288
+          }
289
+        })
290
+        // console.log('this.pageArr',this.pageArr)
291
+      },
292
+      getName(list) {
293
+        console.log('list',list)
294
+        let new_list = []
295
+        for (let i = 0; i < list.length; i++) {
296
+          if (list[i].aac031 == '1') {
297
+            new_list.push(list[i])
298
+          }
299
+        }
300
+
301
+        switch (new_list[0].bcc334) {
302
+          case "A31001":
303
+            return "深圳医保1档"
304
+            break
305
+          case "A31002":
306
+            return "深圳医保2档"
307
+
308
+            break
309
+          case "A31003":
310
+            return "深圳医保3档"
311
+
312
+            break
313
+          case "A31004":
314
+            return "二档(少儿)"
315
+
316
+            break
317
+          case "A31005":
318
+            return "学生二档"
319
+
320
+            break
321
+          case "A31006":
322
+            return "大学生二档"
323
+
324
+            break
325
+          case "A32001":
326
+            return "在职公务员"
327
+            break
328
+          case "A32002":
329
+            return "在职驻深公务员"
330
+
331
+            break
332
+          case "A39301":
333
+            return "家属统筹医疗"
334
+
335
+            break
336
+          case "A41001":
337
+            return "工伤在职"
338
+
339
+            break
340
+          case "A51001":
341
+            return "生育在职"
342
+
343
+            break
344
+          case "A52001":
345
+            return "生育医疗一档"
346
+
347
+            break
348
+          case "A52002":
349
+            return "生育医疗一档"
350
+
351
+            break
352
+          case "C31001":
353
+            return "一档医疗退休"
354
+
355
+            break
356
+          case "C31002":
357
+            return "二档医疗退休"
358
+            break
359
+
360
+        }
361
+
362
+
363
+
364
+      },
365
+
366
+   },
367
+   created(){
368
+      this.getAllDoctorList()
369
+      this.getInitData()
370
+      this.getPrescriptionPrint()
371
+      this.getHisPatientDetail()
372
+      this.getPatientCaseHistory()
373
+      var xtuser = this.$store.getters.xt_user;
374
+      this.orgname = xtuser.org.org_name;
375
+     
376
+   },
377
+   watch:{
378
+     ids:function(val){
379
+      this.ids = val
380
+      this.getPrescriptionPrint()
381
+    }
382
+   }
383
+}
384
+</script>
385
+
386
+
387
+<style lang="scss" scoped>
388
+.prescription-print{
389
+  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
390
+    -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; 
391
+    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
392
+    margin-bottom: 20px;
393
+    padding:20px 10px;
394
+}
395
+.printTitle{
396
+    font-size: 22px;
397
+    text-align: center;
398
+    font-weight: bold;
399
+    margin-bottom: 10px;
400
+}
401
+.infoTitle{
402
+    display: flex;
403
+    margin-top:10px;
404
+    line-height: 24px;
405
+}
406
+.infoTitle div{
407
+    width: 200px;
408
+}
409
+.infoMain{
410
+    display: flex;
411
+    flex-wrap: wrap;
412
+    margin-top:10px;
413
+}
414
+.infoMain div{
415
+    width: 50%;
416
+    line-height: 24px;
417
+}
418
+.prescriptionBox{
419
+    padding:0 10px;
420
+    min-height:400px;
421
+}
422
+.Rp{
423
+    font-size: 22px;
424
+    font-weight: bold;
425
+}
426
+.drugsBox{
427
+    padding-left: 40px;
428
+    margin-bottom: 10px;
429
+}
430
+.drugsBox div{
431
+    line-height: 20px;
432
+}
433
+.drugsOne{
434
+    line-height: 24px;
435
+}
436
+.drugsOne span{
437
+    margin-right: 20px;
438
+}
439
+.doctorBox{
440
+    display: flex;
441
+    justify-content: space-between;
442
+    padding:0 10px;
443
+    line-height: 24px;
444
+    border-bottom: 2px solid #000;
445
+}
446
+.actionBar{
447
+    display: flex;
448
+    justify-content: space-between; 
449
+    line-height: 24px;
450
+    padding:0 10px;
451
+}
452
+.actionBar p{
453
+    width:150px;
454
+}
455
+.under_line{
456
+  display: inline-block;
457
+  border-bottom: 1px solid #000;
458
+  flex: 1;
459
+}
460
+</style>

+ 1 - 1
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue View File

@@ -46,7 +46,7 @@
46 46
 
47 47
                     </el-form-item>
48 48
 
49
-                    <el-form-item label="诊断:" prop="name" label-position="right">
49
+                    <el-form-item label="诊断:" prop="name" label-position="right" style="width:66.6%;">
50 50
 
51 51
                         <el-select style="width:100%;" v-model="diagnose" placeholder="" multiple>
52 52
                             <el-option

+ 51 - 10
src/xt_pages/outpatientDoctorStation/doctorDesk.vue View File

@@ -103,10 +103,11 @@
103 103
 
104 104
                         <el-popover
105 105
                                 placement="bottom"
106
-                                width="200"
106
+                                width="300"
107 107
                                 trigger="click">
108 108
                             <el-button size="small" ref="button_two" @click="open(2)">处方单</el-button>
109 109
                             <el-button size="small" ref="button_six" @click="open(6)">治疗单</el-button>
110
+                            <el-button size="small" ref="button_six" @click="open(20)">检验单</el-button>
110 111
                             <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印
111 112
                             </el-button>
112 113
 
@@ -192,6 +193,13 @@
192 193
         <el-button type="primary" @click="savePrint">确 定</el-button>
193 194
       </span>
194 195
         </el-dialog>
196
+        <el-dialog
197
+                class="centerDialog"
198
+                width="600px"
199
+                title="打印"
200
+                :visible.sync="checkVisible">
201
+            <checkPrint v-if="index == 20" :paramsObj='paramsObj'></checkPrint>
202
+        </el-dialog>
195 203
         <el-dialog
196 204
                 class="centerDialog"
197 205
                 width="600px"
@@ -216,6 +224,7 @@
216 224
   import print from './print'
217 225
   import treatPrint from './treatPrint'
218 226
   import recordPrint from './recordPrint'
227
+  import checkPrint from './checkPrint'
219 228
   import dialysisIndex from './components/dialysisIndex'
220 229
 
221 230
   const moment = require('moment')
@@ -230,6 +239,7 @@
230 239
       print,
231 240
       treatPrint,
232 241
       recordPrint,
242
+      checkPrint,
233 243
       dialysisIndex
234 244
     },
235 245
     data() {
@@ -296,6 +306,7 @@
296 306
         cure_data_two:[],
297 307
 
298 308
         all_his_patients:[],
309
+        checkVisible:false
299 310
       }
300 311
     },
301 312
     methods: {
@@ -3659,6 +3670,8 @@
3659 3670
           this.getPrescriptionList(this.patientInfo.id,2)
3660 3671
           // this.$router.push("/outpatientDoctorStation/treatPrint?record="+this.record_date+"&prescription_id="+this.prescription_id)
3661 3672
 
3673
+        }else if(index == 20){
3674
+          this.getPrescriptionList(this.patientInfo.id,2,3)
3662 3675
         }
3663 3676
 
3664 3677
       },
@@ -3697,20 +3710,37 @@
3697 3710
         this.prescription_id = data
3698 3711
       },
3699 3712
 
3700
-      getPrescriptionList(id,type) {
3713
+      getPrescriptionList(id,type,checkType) {
3701 3714
         getPrescriptionList(id,2).then(response => {
3702 3715
           if (response.data.state == 1) {
3703
-            this.centerDialogVisible = true
3704
-            var list = response.data.data.list
3705
-            let arr = []
3706
-            for (let i = 0; i < list.length; i++) {
3707
-              if(list[i].type == type){
3708
-                list[i].prescription_number = list[i].prescription_number + i
3709
-                arr.push(list[i])
3716
+            if(checkType != 3){
3717
+              this.centerDialogVisible = true
3718
+              var list = response.data.data.list
3719
+              let arr = []
3720
+              for (let i = 0; i < list.length; i++) {
3721
+                if(list[i].type == type){
3722
+                  list[i].prescription_number = list[i].prescription_number + i
3723
+                  arr.push(list[i])
3724
+                }
3725
+
3710 3726
               }
3727
+              this.tableData = arr
3728
+            }else{
3729
+              var list = response.data.data.list
3730
+              let arr = []
3731
+              for (let i = 0; i < list.length; i++) {
3732
+                if(list[i].type == type){
3733
+                  list[i].prescription_number = list[i].prescription_number + i
3734
+                  arr.push(list[i])
3735
+                }
3711 3736
 
3737
+              }
3738
+              console.log('arrrrrrrrrr',arr)
3739
+              this.selecting_schs = arr
3740
+              
3741
+              this.savePrint()
3712 3742
             }
3713
-            this.tableData = arr
3743
+            
3714 3744
           }
3715 3745
         })
3716 3746
       },
@@ -3773,6 +3803,17 @@
3773 3803
           this.innerVisible = true
3774 3804
           // this.$router.push("/outpatientDoctorStation/treatPrint?record="+this.record_date+"&prescription_id="+this.prescription_id+"&ids="+ids+"&patient_id="+this.patientid)
3775 3805
         }
3806
+        if(this.index == 20){
3807
+          console.log('ids',ids)
3808
+          let obj = {
3809
+            record: this.record_date,
3810
+            prescription_id: this.prescription_id,
3811
+            ids: ids,
3812
+            patient_id: this.patientid
3813
+          };
3814
+          this.paramsObj = obj;
3815
+          this.checkVisible = true
3816
+        }
3776 3817
       }, getTime(val, temp) {
3777 3818
         if (val != 0) {
3778 3819
           return uParseTime(val, temp)

+ 1 - 1
src/xt_pages/outpatientDoctorStation/treatTemplate/printTwo.vue View File

@@ -234,7 +234,7 @@ export default {
234 234
          hisPatient:{},
235 235
          diagnoses:[],
236 236
          department:[],
237
-         faber:{}
237
+         faber:{},
238 238
       }
239 239
     },
240 240
    methods:{