Browse Source

Merge branch '20200710_pc_vue_new_branch' into 20200916_pc_vue_new_branch

csx 4 years ago
parent
commit
09b157892a
26 changed files with 617 additions and 336 deletions
  1. 44 0
      src/api/data.js
  2. 9 0
      src/api/project/project.js
  3. BIN
      src/assets/home/100.png
  4. BIN
      src/assets/home/102.png
  5. BIN
      src/assets/home/88.png
  6. BIN
      src/assets/home/99.png
  7. 4 8
      src/xt_pages/data/printTemplate/chargePrint.vue
  8. 3 3
      src/xt_pages/data/printTemplate/prescriptionPrint.vue
  9. 2 3
      src/xt_pages/data/printTemplate/recordPrint.vue
  10. 2 2
      src/xt_pages/data/printTemplate/treatPrint.vue
  11. 9 8
      src/xt_pages/data/specialDictionary.vue
  12. 15 35
      src/xt_pages/outpatientCharges/components/additionalCharges.vue
  13. 1 1
      src/xt_pages/outpatientCharges/components/prescriptionTable.vue
  14. 17 7
      src/xt_pages/outpatientCharges/outpatientChargesManagement.vue
  15. 6 6
      src/xt_pages/outpatientCharges/summary.vue
  16. 18 11
      src/xt_pages/outpatientCharges/summaryDetail.vue
  17. 104 83
      src/xt_pages/outpatientDoctorStation/components/additionalCharges.vue
  18. 112 51
      src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue
  19. 4 2
      src/xt_pages/outpatientDoctorStation/components/inquiriesDetail.vue
  20. 2 2
      src/xt_pages/outpatientDoctorStation/components/newPrescriptionTable.vue
  21. 1 1
      src/xt_pages/outpatientDoctorStation/components/prescriptionTable.vue
  22. 30 26
      src/xt_pages/outpatientDoctorStation/doctorDesk.vue
  23. 37 22
      src/xt_pages/outpatientDoctorStation/print.vue
  24. 91 17
      src/xt_pages/outpatientDoctorStation/template/printOne.vue
  25. 34 22
      src/xt_pages/outpatientDoctorStation/treatPrint.vue
  26. 72 26
      src/xt_pages/outpatientDoctorStation/treatTemplate/printOne.vue

+ 44 - 0
src/api/data.js View File

219
 
219
 
220
 
220
 
221
 
221
 
222
+export function createAddition(params) {
223
+  return request({
224
+    url: '/api/addition/create',
225
+    method: 'post',
226
+    params: params
227
+  })
228
+}
229
+
230
+export function modifyAddition(params) {
231
+  return request({
232
+    url: '/api/addition/modify',
233
+    method: 'post',
234
+    params: params
235
+  })
236
+}
237
+
238
+export function getAdditionList(params) {
239
+  return request({
240
+    url: '/api/addition/list',
241
+    method: 'get',
242
+    params: params
243
+  })
244
+}
245
+
246
+export function deleteAddition(params) {
247
+  return request({
248
+    url: '/api/addition/delete',
249
+    method: 'post',
250
+    params: params
251
+  })
252
+}
253
+
254
+export function GetAddition(params) {
255
+  return request({
256
+    url: '/api/addition/get',
257
+    method: 'get',
258
+    params: params
259
+  })
260
+}
261
+
262
+
263
+
264
+
265
+
222
 
266
 
223
 
267
 
224
 
268
 

+ 9 - 0
src/api/project/project.js View File

434
       method:"get",
434
       method:"get",
435
       params:params
435
       params:params
436
     })
436
     })
437
+  }
438
+
439
+  export function getHisPatientDetail(params){
440
+    console.log("params99999",params)
441
+    return request({
442
+      url:"/api/hispatient/gethispatientdetail",
443
+      method:"Get",
444
+      params:params
445
+    })
437
   }
446
   }

BIN
src/assets/home/100.png View File


BIN
src/assets/home/102.png View File


BIN
src/assets/home/88.png View File


BIN
src/assets/home/99.png View File


+ 4 - 8
src/xt_pages/data/printTemplate/chargePrint.vue View File

6
       element-loading-background="rgba(0, 0, 0, 0.8)"
6
       element-loading-background="rgba(0, 0, 0, 0.8)"
7
     >
7
     >
8
     <p style="margin-top: 10px;margin-bottom: 30px">
8
     <p style="margin-top: 10px;margin-bottom: 30px">
9
-        请选择你需要打印的血液透析护理记录单样式
9
+        请选择你需要打印的门诊收费模板
10
     </p>
10
     </p>
11
     <el-row :gutter="20" type="flex" justify="center">
11
     <el-row :gutter="20" type="flex" justify="center">
12
         <el-col :span="6" style="text-align: center">
12
         <el-col :span="6" style="text-align: center">
13
         <div
13
         <div
14
-            @click="imgClick('https://images.shengws.com/fangji.jpg')"
14
+            @click="imgClick('https://images.shengws.com/2020/12/3/admin_avatar_1606985484284.png')"
15
         >
15
         >
16
             <el-tooltip
16
             <el-tooltip
17
             class="item"
17
             class="item"
20
             content="点击查看大图"
20
             content="点击查看大图"
21
             placement="top-start"
21
             placement="top-start"
22
             >
22
             >
23
-            <!--<el-image-->
24
-                <!--style="width: 200px; height: 200px"-->
25
-                <!--:src="require('@/assets/home/1.jpg')"-->
26
-                <!--:preview-src-list="imgs_one"-->
27
-            <!--&gt;</el-image>-->
23
+          
28
 
24
 
29
             <el-image
25
             <el-image
30
                 style="width: 200px; height: 200px"
26
                 style="width: 200px; height: 200px"
31
-                :src="require('@/assets/home/1.jpg')"
27
+                :src="require('@/assets/home/100.png')"
32
             ></el-image>
28
             ></el-image>
33
 
29
 
34
             </el-tooltip>
30
             </el-tooltip>

+ 3 - 3
src/xt_pages/data/printTemplate/prescriptionPrint.vue View File

6
       element-loading-background="rgba(0, 0, 0, 0.8)"
6
       element-loading-background="rgba(0, 0, 0, 0.8)"
7
     >
7
     >
8
     <p style="margin-top: 10px;margin-bottom: 30px">
8
     <p style="margin-top: 10px;margin-bottom: 30px">
9
-        请选择你需要的处方模板记录单样式
9
+        请选择你需要的电子处方模板记录单样式
10
     </p>
10
     </p>
11
     <el-row :gutter="20" type="flex" justify="center">
11
     <el-row :gutter="20" type="flex" justify="center">
12
         <el-col :span="6" style="text-align: center">
12
         <el-col :span="6" style="text-align: center">
13
         <div
13
         <div
14
-            @click="imgClick('https://images.shengws.com/fangji.jpg')"
14
+            @click="imgClick('https://images.shengws.com/2020/12/3/admin_avatar_1606984919688.png')"
15
         >
15
         >
16
             <el-tooltip
16
             <el-tooltip
17
             class="item"
17
             class="item"
22
             >
22
             >
23
             <el-image
23
             <el-image
24
                 style="width: 200px; height: 200px"
24
                 style="width: 200px; height: 200px"
25
-                :src="require('@/assets/home/1.jpg')"
25
+                :src="require('@/assets/home/88.png')"
26
             ></el-image>
26
             ></el-image>
27
 
27
 
28
             </el-tooltip>
28
             </el-tooltip>

+ 2 - 3
src/xt_pages/data/printTemplate/recordPrint.vue View File

11
     <el-row :gutter="20" type="flex" justify="center">
11
     <el-row :gutter="20" type="flex" justify="center">
12
         <el-col :span="6" style="text-align: center">
12
         <el-col :span="6" style="text-align: center">
13
         <div
13
         <div
14
-            @click="imgClick('https://images.shengws.com/fangji.jpg')"
14
+            @click="imgClick('https://images.shengws.com/2020/12/3/admin_avatar_1606996536109.png')"
15
         >
15
         >
16
             <el-tooltip
16
             <el-tooltip
17
             class="item"
17
             class="item"
22
             >
22
             >
23
             <el-image
23
             <el-image
24
                 style="width: 200px; height: 200px"
24
                 style="width: 200px; height: 200px"
25
-                :src="require('@/assets/home/1.jpg')"
25
+                :src="require('@/assets/home/102.png')"
26
             ></el-image>
26
             ></el-image>
27
 
27
 
28
             </el-tooltip>
28
             </el-tooltip>
68
       imgs:[],
68
       imgs:[],
69
 
69
 
70
       imgs_one: [
70
       imgs_one: [
71
-        // 'https://images.shengws.com/template_one.jpg'
72
         "https://images.shengws.com/fangji.jpg"
71
         "https://images.shengws.com/fangji.jpg"
73
       ],
72
       ],
74
       imgs_two: ["https://images.shengws.com/template_two.jpg"],
73
       imgs_two: ["https://images.shengws.com/template_two.jpg"],

+ 2 - 2
src/xt_pages/data/printTemplate/treatPrint.vue View File

11
     <el-row :gutter="20" type="flex" justify="center">
11
     <el-row :gutter="20" type="flex" justify="center">
12
         <el-col :span="6" style="text-align: center">
12
         <el-col :span="6" style="text-align: center">
13
         <div
13
         <div
14
-            @click="imgClick('https://images.shengws.com/fangji.jpg')"
14
+            @click="imgClick('https://images.shengws.com/2020/12/3/admin_avatar_1606984919688.png')"
15
         >
15
         >
16
             <el-tooltip
16
             <el-tooltip
17
             class="item"
17
             class="item"
23
 
23
 
24
             <el-image
24
             <el-image
25
                 style="width: 200px; height: 200px"
25
                 style="width: 200px; height: 200px"
26
-                :src="require('@/assets/home/1.jpg')"
26
+                :src="require('@/assets/home/99.png')"
27
             ></el-image>
27
             ></el-image>
28
 
28
 
29
             </el-tooltip>
29
             </el-tooltip>

+ 9 - 8
src/xt_pages/data/specialDictionary.vue View File

31
           <diagnosis></diagnosis>
31
           <diagnosis></diagnosis>
32
         </el-tab-pane>
32
         </el-tab-pane>
33
 
33
 
34
-        <el-tab-pane label="医疗类别" name="8">
35
-          <!--<manufacturer></manufacturer>-->
36
-          <diagnosis></diagnosis>
34
+        <!--<el-tab-pane label="医疗类别" name="8">-->
35
+          <!--&lt;!&ndash;<manufacturer></manufacturer>&ndash;&gt;-->
36
+          <!--<diagnosis></diagnosis>-->
37
+        <!--</el-tab-pane>-->
38
+        <el-tab-pane label="附加收费配置" name="8">
39
+          <addtion></addtion>
37
         </el-tab-pane>
40
         </el-tab-pane>
38
 
41
 
39
-        <el-tab-pane label="附加收费配置" name="9">
40
-          <!--<manufacturer></manufacturer>-->
41
-          <diagnosis></diagnosis>
42
-        </el-tab-pane>
43
-        <el-tab-pane label="配置项字典" name="10">
42
+        <el-tab-pane label="配置项字典" name="9">
44
           <configure></configure>
43
           <configure></configure>
45
         </el-tab-pane>
44
         </el-tab-pane>
46
       </el-tabs>
45
       </el-tabs>
59
   import configure from './components/configure'
58
   import configure from './components/configure'
60
   import Dealer from '../stock/config/dealer'
59
   import Dealer from '../stock/config/dealer'
61
   import Diagnosis from './components/diagnosis'
60
   import Diagnosis from './components/diagnosis'
61
+  import Addtion from './components/addtion'
62
 
62
 
63
   export default {
63
   export default {
64
     name: 'specialDictionary',
64
     name: 'specialDictionary',
65
     components: {
65
     components: {
66
+      Addtion,
66
       Diagnosis,
67
       Diagnosis,
67
       Dealer,
68
       Dealer,
68
       BreadCrumb,
69
       BreadCrumb,

+ 15 - 35
src/xt_pages/outpatientCharges/components/additionalCharges.vue View File

5
         :visible.sync="visible"
5
         :visible.sync="visible"
6
         :before-close="_close"
6
         :before-close="_close"
7
     >
7
     >
8
-        <el-table :data="tableData" border style="width: 100%;" height="300" 
9
-         :row-style="{ color: '#303133' }" 
10
-         :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" 
8
+        <el-table :data="addtions_charge" border style="width: 100%;" height="300"
9
+         :row-style="{ color: '#303133' }"
10
+         :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
11
           highlight-current-row
11
           highlight-current-row
12
-          @selection-change="handleSelectionChange"
13
           >
12
           >
14
-            <el-table-column align="center" type="selection" width="40"></el-table-column>
15
             <el-table-column align="center" prop="name" label="名称" width="100">
13
             <el-table-column align="center" prop="name" label="名称" width="100">
16
-                <template slot-scope="scope">{{ scope.row.name }}</template>
14
+                <template slot-scope="scope">{{ scope.row.item_name }}</template>
17
             </el-table-column>
15
             </el-table-column>
18
             <el-table-column align="center" prop="name" label="金额(元)">
16
             <el-table-column align="center" prop="name" label="金额(元)">
19
                 <template slot-scope="scope">
17
                 <template slot-scope="scope">
20
-                    <el-input v-model="scope.row.money"></el-input>
18
+            {{ scope.row.price }}
21
                 </template>
19
                 </template>
22
             </el-table-column>
20
             </el-table-column>
23
         </el-table>
21
         </el-table>
24
         <div slot="footer" class="dialog-footer">
22
         <div slot="footer" class="dialog-footer">
25
             <el-button @click="hide">取 消</el-button>
23
             <el-button @click="hide">取 消</el-button>
26
-            <el-button type="primary"  @click="submitAction()">保 存</el-button>
27
         </div>
24
         </div>
28
-    </el-dialog>         
25
+    </el-dialog>
29
 </template>
26
 </template>
30
 
27
 
31
 <script>
28
 <script>
32
 import { saveCharges } from "@/api/project/project"
29
 import { saveCharges } from "@/api/project/project"
33
 export default {
30
 export default {
34
- 
31
+  props: {
32
+    addtions_charge: Array
33
+
34
+  },
35
     data(){
35
     data(){
36
         return{
36
         return{
37
             visible:false,
37
             visible:false,
39
                 name:''
39
                 name:''
40
             },
40
             },
41
             tableData:[
41
             tableData:[
42
-              {id:1,name:"工本费",money:""},
43
-              {id:2,name:"挂号费",money:""},
44
-              {id:3,name:"诊疗费",money:""}  
42
+
45
             ],
43
             ],
46
             patient_id:0,
44
             patient_id:0,
47
             chargeTable:[]
45
             chargeTable:[]
56
             this.form.name = "";
54
             this.form.name = "";
57
             this.form.intro = "";
55
             this.form.intro = "";
58
         },
56
         },
59
-        show(id) {
60
-           this.patient_id = id
57
+        show() {
61
            this.visible = true
58
            this.visible = true
62
         },
59
         },
63
         hide() {
60
         hide() {
64
            this.visible = false
61
            this.visible = false
65
         },
62
         },
66
-        handleSelectionChange(val){
67
-          console.log("val",val)
68
-          this.chargeTable = val
69
-        },
70
-        submitAction(){
71
-           var params = {
72
-             patient_id:this.patient_id,
73
-             medicineData:this.chargeTable
74
-           }
75
-           console.log("params",params)
76
-          saveCharges(params).then(response=>{
77
-             if(response.data.state == 1){
78
-               var additionalCharge =  response.data.data.additionalCharge
79
-               console.log("additionalchar",additionalCharge)
80
-               this.visible = false
81
-               this.$message.success("保存成功")
82
-             }
83
-          })  
84
-        }
63
+
64
+
85
     },
65
     },
86
-   
66
+
87
 }
67
 }
88
 </script>
68
 </script>
89
 
69
 

+ 1 - 1
src/xt_pages/outpatientCharges/components/prescriptionTable.vue View File

11
         <template slot-scope="scope">
11
         <template slot-scope="scope">
12
           <div style="display:flex;align-items:center;">
12
           <div style="display:flex;align-items:center;">
13
             <el-input v-model="scope.row.single_dose" readonly style="width:65%;"></el-input>
13
             <el-input v-model="scope.row.single_dose" readonly style="width:65%;"></el-input>
14
-            <div> {{scope.row.min_unit}}</div>
14
+            <div> {{scope.row.single_dose_unit}}</div>
15
           </div>
15
           </div>
16
         </template>
16
         </template>
17
       </el-table-column>
17
       </el-table-column>

+ 17 - 7
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue View File

67
               <div style="display:flex;height:100%;">
67
               <div style="display:flex;height:100%;">
68
                 <div class="centerLeft">
68
                 <div class="centerLeft">
69
                   <div class="tabsBox">
69
                   <div class="tabsBox">
70
-                    <!--<el-button type="text" class="addTab" @click="addCharges" icon="el-icon-circle-plus">附加收费</el-button>-->
70
+                    <el-button type="text" class="addTab" @click="addCharges" icon="el-icon-circle-plus">附加收费</el-button>
71
                     <el-tabs class="preTabs" v-model="editableTabsValue" type="card" @tab-click="tabclickEvent">
71
                     <el-tabs class="preTabs" v-model="editableTabsValue" type="card" @tab-click="tabclickEvent">
72
                       <el-tab-pane
72
                       <el-tab-pane
73
                         v-for="(item, index) in prescriptions"
73
                         v-for="(item, index) in prescriptions"
206
         </div>
206
         </div>
207
       </div>
207
       </div>
208
     </div>
208
     </div>
209
-    <!--<additionalCharges ref='additionalCharges'></additionalCharges>-->
209
+    <additionalCharges ref='additionalCharges' @click="addCharges" :addtions_charge="addtions_charge"></additionalCharges>
210
   </div>
210
   </div>
211
 </template>
211
 </template>
212
 
212
 
274
         prescription_id: 0,
274
         prescription_id: 0,
275
         all_table_data:[],
275
         all_table_data:[],
276
         order:{},
276
         order:{},
277
+        addtions_charge:[],
277
       }
278
       }
278
     },
279
     },
279
     created() {
280
     created() {
294
       this.getPatientList()
295
       this.getPatientList()
295
     },
296
     },
296
     methods: {
297
     methods: {
298
+      addCharges() {
299
+        this.$refs.additionalCharges.show()
300
+      },
297
       changeDate(val) {
301
       changeDate(val) {
298
         if (this.patientInfo.id == 0) {
302
         if (this.patientInfo.id == 0) {
299
           this.$message.error('请先选择患者')
303
           this.$message.error('请先选择患者')
311
             this.patientInfo = response.data.data.xt_info
315
             this.patientInfo = response.data.data.xt_info
312
             this.hisPatientInfo = response.data.data.his_info
316
             this.hisPatientInfo = response.data.data.his_info
313
             this.info = response.data.data.info
317
             this.info = response.data.data.info
318
+            this.addtions_charge = response.data.data.addtions_charge
319
+
314
             this.prescriptions = []
320
             this.prescriptions = []
315
             for (let i = 0; i < response.data.data.prescription.length; i++) {
321
             for (let i = 0; i < response.data.data.prescription.length; i++) {
316
               var prescription = response.data.data.prescription[i]
322
               var prescription = response.data.data.prescription[i]
330
                   prescribing_number: prescription.advices[b].prescribing_number.toString(),
336
                   prescribing_number: prescription.advices[b].prescribing_number.toString(),
331
                   single_dose_unit: prescription.advices[b].single_dose_unit,
337
                   single_dose_unit: prescription.advices[b].single_dose_unit,
332
                   prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
338
                   prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
333
-                  min_unit: prescription.advices[b].single_dose_unit,
334
                   medical_insurance_number: prescription.advices[b].med_list_codg
339
                   medical_insurance_number: prescription.advices[b].med_list_codg
335
 
340
 
336
                 }
341
                 }
343
                   id: prescription.project[b].id,
348
                   id: prescription.project[b].id,
344
                   project_id: prescription.project[b].project.id,
349
                   project_id: prescription.project[b].project.id,
345
                   project_name: prescription.project[b].project.project_name,
350
                   project_name: prescription.project[b].project.project_name,
346
-                  statistical_classification: prescription.project[b].statistical_classification,
351
+                  statistical_classification: prescription.project[b].project.statistical_classification,
347
                   single_dose: prescription.project[b].single_dose,
352
                   single_dose: prescription.project[b].single_dose,
348
                   delivery_way: prescription.project[b].delivery_way,
353
                   delivery_way: prescription.project[b].delivery_way,
349
                   execution_frequency: prescription.project[b].execution_frequency,
354
                   execution_frequency: prescription.project[b].execution_frequency,
445
               total = total + this.prescriptions[i].project[b].price * this.prescriptions[i].project[b].total
450
               total = total + this.prescriptions[i].project[b].price * this.prescriptions[i].project[b].total
446
             }
451
             }
447
           }
452
           }
453
+
448
         }
454
         }
449
-        return total
455
+        for (let i = 0; i < this.addtions_charge.length; i++){
456
+          total = total +  this.addtions_charge[i].price
457
+        }
458
+        return Math.floor(total * 100) / 100
459
+
450
       },
460
       },
451
       moreState(tab, event) {
461
       moreState(tab, event) {
452
         if (tab == 'more') {
462
         if (tab == 'more') {
679
             this.hisPatientInfo = response.data.data.his_info
689
             this.hisPatientInfo = response.data.data.his_info
680
             this.info = response.data.data.info
690
             this.info = response.data.data.info
681
             this.order = response.data.data.order
691
             this.order = response.data.data.order
692
+            this.addtions_charge = response.data.data.addtions_charge
682
 
693
 
683
             this.prescriptions = []
694
             this.prescriptions = []
684
             for (let i = 0; i < response.data.data.prescription.length; i++) {
695
             for (let i = 0; i < response.data.data.prescription.length; i++) {
699
                   prescribing_number: prescription.advices[b].prescribing_number.toString(),
710
                   prescribing_number: prescription.advices[b].prescribing_number.toString(),
700
                   single_dose_unit: prescription.advices[b].single_dose_unit,
711
                   single_dose_unit: prescription.advices[b].single_dose_unit,
701
                   prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
712
                   prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
702
-                  min_unit: prescription.advices[b].single_dose_unit,
703
                   medical_insurance_number: prescription.advices[b].med_list_codg
713
                   medical_insurance_number: prescription.advices[b].med_list_codg
704
 
714
 
705
                 }
715
                 }
712
                   id: prescription.project[b].id,
722
                   id: prescription.project[b].id,
713
                   project_id: prescription.project[b].project.id,
723
                   project_id: prescription.project[b].project.id,
714
                   project_name: prescription.project[b].project.project_name,
724
                   project_name: prescription.project[b].project.project_name,
715
-                  statistical_classification: prescription.project[b].statistical_classification,
725
+                  statistical_classification: prescription.project[b].project.statistical_classification,
716
                   single_dose: prescription.project[b].single_dose,
726
                   single_dose: prescription.project[b].single_dose,
717
                   delivery_way: prescription.project[b].delivery_way,
727
                   delivery_way: prescription.project[b].delivery_way,
718
                   execution_frequency: prescription.project[b].execution_frequency,
728
                   execution_frequency: prescription.project[b].execution_frequency,

+ 6 - 6
src/xt_pages/outpatientCharges/summary.vue View File

44
         <el-table-column align="center" prop="name" label="患者名字">
44
         <el-table-column align="center" prop="name" label="患者名字">
45
           <template slot-scope="scope">{{ scope.row.patient.name }}</template>
45
           <template slot-scope="scope">{{ scope.row.patient.name }}</template>
46
         </el-table-column>
46
         </el-table-column>
47
-        <el-table-column align="center" prop="name" label="患者类型">
48
-          <template slot-scope="scope">{{'医保'}}</template>
49
-        </el-table-column>
47
+        <!--<el-table-column align="center" prop="name" label="患者类型">-->
48
+          <!--<template slot-scope="scope"></template>-->
49
+        <!--</el-table-column>-->
50
         <el-table-column align="center" prop="name" label="应收金额">
50
         <el-table-column align="center" prop="name" label="应收金额">
51
-          <template slot-scope="scope"></template>
51
+          <template slot-scope="scope">{{scope.row.medfee_sumamt}}</template>
52
         </el-table-column>
52
         </el-table-column>
53
         <el-table-column align="center" prop="name" label="实收金额">
53
         <el-table-column align="center" prop="name" label="实收金额">
54
-          <template slot-scope="scope"></template>
54
+          <template slot-scope="scope">{{scope.row.medfee_sumamt}}</template>
55
         </el-table-column>
55
         </el-table-column>
56
         <el-table-column align="center" prop="name" label="舍入金额">
56
         <el-table-column align="center" prop="name" label="舍入金额">
57
-          <template slot-scope="scope"></template>
57
+          <template slot-scope="scope">{{scope.row.medfee_sumamt - scope.row.medfee_sumamt}}</template>
58
         </el-table-column>
58
         </el-table-column>
59
         <el-table-column align="center" prop="name" label="收费日期">
59
         <el-table-column align="center" prop="name" label="收费日期">
60
           <template slot-scope="scope">  {{getTimes(scope.row.settle_accounts_date)}}</template>
60
           <template slot-scope="scope">  {{getTimes(scope.row.settle_accounts_date)}}</template>

+ 18 - 11
src/xt_pages/outpatientCharges/summaryDetail.vue View File

26
 
26
 
27
                     </div>
27
                     </div>
28
                     <div class="costBox">
28
                     <div class="costBox">
29
-                      <span>当前处方总费用:<span style="color:red;">{{ getTotal() }}元</span></span>
30
-                      <span>{{ state }}</span>
29
+                      <span>当前处方总费用:<span style="color:red;">{{ order.medfee_sumamt }}元</span></span>
30
+                      <span v-if="order.order_status == 1">待结算</span>
31
+                      <span v-if="order.order_status == 2">已结算</span>
32
+                      <span v-if="order.order_status == 3">已退费</span>
33
+
34
+
31
                     </div>
35
                     </div>
32
                 </div>
36
                 </div>
33
                 <div class="centerRight">
37
                 <div class="centerRight">
42
                     </ul>
46
                     </ul>
43
                     <p class="centerRightTitle">收费信息</p>
47
                     <p class="centerRightTitle">收费信息</p>
44
                     <ul class="basicUl">
48
                     <ul class="basicUl">
45
-                        <li style="width:50%;">应收金额:0.00元</li>
46
-                        <li style="width:50%;">实收金额:0.00元</li>
47
-                        <li style="width:50%;">舍入金额:0.00元</li>
49
+                        <li style="width:50%;">应收金额:{{order.medfee_sumamt }}元</li>
50
+                        <li style="width:50%;">实收金额:{{order.medfee_sumamt}}元</li>
51
+                        <li style="width:50%;">舍入金额:{{order.medfee_sumamt - order.medfee_sumamt}}元</li>
48
                         <li style="width:50%;">优惠金额:0.00元</li>
52
                         <li style="width:50%;">优惠金额:0.00元</li>
49
                         <li style="width:50%;">总金额</li>
53
                         <li style="width:50%;">总金额</li>
50
-                        <li style="width:50%;">0.00元</li>
51
-                    </ul>
52
-                    <p class="centerRightTitle">发票费用</p>
53
-                    <ul class="basicUl">
54
-                        <li style="width:100%;">西药费:0.00元</li>
54
+                        <li style="width:50%;">{{order.medfee_sumamt}}元</li>
55
                     </ul>
55
                     </ul>
56
+                    <!--<p class="centerRightTitle">发票费用</p>-->
57
+                    <!--<ul class="basicUl">-->
58
+                        <!--<li style="width:100%;">西药费:0.00元</li>-->
59
+                    <!--</ul>-->
56
                 </div>
60
                 </div>
57
             </div>
61
             </div>
58
         </div>
62
         </div>
102
           radio: 1,
106
           radio: 1,
103
           radioStatus: 1,
107
           radioStatus: 1,
104
           search_input: '',
108
           search_input: '',
109
+          order:{},
105
         }
110
         }
106
     },created(){
111
     },created(){
107
       this.GetOrderDetail()
112
       this.GetOrderDetail()
164
           this.patientInfo = response.data.data.order.patient
169
           this.patientInfo = response.data.data.order.patient
165
           this.hisPatientInfo = response.data.data.order.his_patient
170
           this.hisPatientInfo = response.data.data.order.his_patient
166
           this.info = response.data.data.p_info
171
           this.info = response.data.data.p_info
172
+          this.order = response.data.data.order
173
+
167
           this.prescriptions = []
174
           this.prescriptions = []
168
           for (let i = 0; i < response.data.data.prescription.length; i++) {
175
           for (let i = 0; i < response.data.data.prescription.length; i++) {
169
             var prescription = response.data.data.prescription[i]
176
             var prescription = response.data.data.prescription[i]
196
                 id: prescription.project[b].id,
203
                 id: prescription.project[b].id,
197
                 project_id: prescription.project[b].project.id,
204
                 project_id: prescription.project[b].project.id,
198
                 project_name: prescription.project[b].project.project_name,
205
                 project_name: prescription.project[b].project.project_name,
199
-                statistical_classification: prescription.project[b].statistical_classification,
206
+                statistical_classification: prescription.project[b].project.statistical_classification,
200
                 single_dose: prescription.project[b].single_dose,
207
                 single_dose: prescription.project[b].single_dose,
201
                 delivery_way: prescription.project[b].delivery_way,
208
                 delivery_way: prescription.project[b].delivery_way,
202
                 execution_frequency: prescription.project[b].execution_frequency,
209
                 execution_frequency: prescription.project[b].execution_frequency,

+ 104 - 83
src/xt_pages/outpatientDoctorStation/components/additionalCharges.vue View File

1
 <template>
1
 <template>
2
-    <el-dialog
3
-        title="附加收费"
4
-        width="300px"
5
-        :visible.sync="visible"
6
-        :before-close="_close"
7
-    >
8
-        <el-table :data="tableData" border style="width: 100%;" height="300" :row-style="{ color: '#303133' }" 
9
-        :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row
10
-          @selection-change="handleSelectionChange">
11
-            <el-table-column align="center" type="selection" width="40"></el-table-column>
12
-            <el-table-column align="center" prop="name" label="名称" width="100">
13
-                <template slot-scope="scope">{{ scope.row.name }}</template>
14
-            </el-table-column>
15
-            <el-table-column align="center" prop="name" label="金额(元)">
16
-                <template slot-scope="scope">
17
-                    <el-input v-model="scope.row.money" placeholder=""></el-input>
18
-                </template>
19
-            </el-table-column>
20
-        </el-table>
21
-        <div slot="footer" class="dialog-footer">
22
-            <el-button @click="hide">取 消</el-button>
23
-            <el-button type="primary"  @click="submitAction()">保 存</el-button>
24
-        </div>
25
-    </el-dialog>         
2
+  <el-dialog
3
+    title="附加收费"
4
+    width="300px"
5
+    :visible.sync="visible"
6
+    :before-close="_close"
7
+  >
8
+    <el-table :data="chargeTable" border style="width: 100%;" height="300" :row-style="{ color: '#303133' }"
9
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row
10
+              @select-all="handleSelectionChange"
11
+              @select='selectDrugs'>
12
+      <el-table-column align="center" type="selection" width="40"></el-table-column>
13
+      <el-table-column align="center" prop="name" label="名称" width="100">
14
+        <template slot-scope="scope">{{ scope.row.name }}</template>
15
+      </el-table-column>
16
+      <el-table-column align="center" prop="name" label="金额(元)">
17
+        <template slot-scope="scope">
18
+          <el-input type="number" v-model="scope.row.price" placeholder="请输入金额"></el-input>
19
+        </template>
20
+      </el-table-column>
21
+    </el-table>
22
+    <div slot="footer" class="dialog-footer">
23
+      <el-button @click="hide">取 消</el-button>
24
+      <el-button type="primary" @click="submitAction()">保 存</el-button>
25
+    </div>
26
+  </el-dialog>
26
 </template>
27
 </template>
27
 
28
 
28
 <script>
29
 <script>
29
- import { saveCharges } from "@/api/project/project"
30
-export default {
31
-   props: {
30
+  import { saveCharges } from '@/api/project/project'
31
+
32
+  export default {
33
+    props: {
32
       hisPatientInfo: Object,
34
       hisPatientInfo: Object,
33
-      patientInfo:Object,
35
+      patientInfo: Object,
36
+      additions: Array,
37
+      addtions_charge: Array
38
+
34
     },
39
     },
35
-    data(){
36
-        return{
37
-            visible:false,
38
-            form:{
39
-                name:''
40
-            },
41
-            tableData:[
42
-              {id:1,name:"工本费",money:""},
43
-              {id:2,name:"挂号费",money:""},
44
-              {id:3,name:"诊疗费",money:""}  
45
-            ],
46
-            chargeTable:[]
47
-        }
40
+    data() {
41
+      return {
42
+        visible: false,
43
+        chargeTable: [],
44
+        charges: []
45
+      }
48
     },
46
     },
49
-    methods:{
50
-        _close: function(done) {
51
-            // this.clear()
52
-            done()
53
-        },
54
-        clear: function() {
55
-            this.form.id = 0;
56
-            this.form.name = "";
57
-            this.form.intro = "";
58
-        },
59
-        show() {
60
-            // this.clear()
61
-            this.visible = true
62
-        },
63
-        hide() {
64
-            // this.clear()
65
-            this.visible = false
66
-        },
67
-        handleSelectionChange(val){
68
-          console.log("val",val)
69
-          this.chargeTable = val
70
-        },
71
-        submitAction(){
72
-          var params = {
73
-             his_patient_id:this.hisPatientInfo.id,
74
-             patient_id:this.patientInfo.id,
75
-             medicineData:this.chargeTable
76
-           }
77
-        //    console.log("params",params)
78
-          saveCharges(params).then(response=>{
79
-             if(response.data.state == 1){
80
-               var additionalCharge =  response.data.data.additionalCharge
81
-               console.log("additionalchar",additionalCharge)
82
-               this.visible = false
83
-               this.$message.success("保存成功")
84
-             }
85
-          })      
47
+    methods: {
48
+      selectDrugs(selection, row) {
49
+        this.charges = selection
50
+      },
51
+      _close: function(done) {
52
+        // this.clear()
53
+        done()
54
+      },
55
+      clear: function() {
56
+        this.form.id = 0
57
+        this.form.name = ''
58
+        this.form.intro = ''
59
+      },
60
+      show() {
61
+        this.chargeTable = []
62
+        this.visible = true
63
+        if (this.addtions_charge == null || this.addtions_charge.length == 0) {
64
+          for (let i = 0; i < this.additions.length; i++) {
65
+            let obj = {
66
+              id: '0',
67
+              item_id: this.additions[i].id.toString(),
68
+              name: this.additions[i].name,
69
+              price: this.additions[i].price.toString()
70
+            }
71
+            this.chargeTable.push(obj)
72
+          }
73
+        } else {
74
+
75
+          for (let i = 0; i < this.addtions_charge.length; i++) {
76
+            let obj = {
77
+              id: this.addtions_charge[i].id.toString(),
78
+              item_id: this.addtions_charge[i].item_id.toString(),
79
+              name: this.addtions_charge[i].item_name,
80
+              price: this.addtions_charge[i].price.toString()
81
+            }
82
+            this.chargeTable.push(obj)
83
+          }
84
+        }
85
+      },
86
+      hide() {
87
+        this.visible = false
88
+      },
89
+      handleSelectionChange(val) {
90
+        this.charges = val
91
+      },
92
+      submitAction() {
93
+        var params = {
94
+          his_patient_id: this.hisPatientInfo.id,
95
+          patient_id: this.patientInfo.id,
96
+          medicineData: this.charges
86
         }
97
         }
98
+        saveCharges(params).then(response => {
99
+          if (response.data.state == 1) {
100
+            var data = response.data.data.additional_charges
101
+            this.$emit('setData', data)
102
+            this.$message.success('保存成功')
103
+            this.visible = false
104
+
105
+          }
106
+        })
107
+      }
87
     },
108
     },
88
-    watch:{
89
-       hisPatientInfo:function(val){
90
-         console.log("患者ID",this)  
91
-       }
109
+    watch: {
110
+      hisPatientInfo: function(val) {
111
+        console.log('患者ID', this)
112
+      }
92
     }
113
     }
93
-}
114
+  }
94
 </script>
115
 </script>
95
 
116
 

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

32
             </el-select>
32
             </el-select>
33
           </el-form-item>
33
           </el-form-item>
34
           <!--<el-form-item label="医疗类型: " prop="name">-->
34
           <!--<el-form-item label="医疗类型: " prop="name">-->
35
-            <!--<el-select style="margin-right:5px;" v-model="register_type" placeholder="">-->
36
-              <!--<el-option-->
37
-                <!--v-for="(item,index) in getDictionaryDataConfig('system','register_type')"-->
38
-                <!--:key="index"-->
39
-                <!--:label="item.name"-->
40
-                <!--:value="item.name">-->
41
-              <!--</el-option>-->
42
-            <!--</el-select>-->
35
+          <!--<el-select style="margin-right:5px;" v-model="register_type" placeholder="">-->
36
+          <!--<el-option-->
37
+          <!--v-for="(item,index) in getDictionaryDataConfig('system','register_type')"-->
38
+          <!--:key="index"-->
39
+          <!--:label="item.name"-->
40
+          <!--:value="item.name">-->
41
+          <!--</el-option>-->
42
+          <!--</el-select>-->
43
           <!--</el-form-item>-->
43
           <!--</el-form-item>-->
44
-          <el-form-item label="诊断:" prop="name">
44
+          <el-form-item label="疾病类型:" prop="name">
45
 
45
 
46
             <el-select style="margin-right:5px;" v-model="state1" placeholder="">
46
             <el-select style="margin-right:5px;" v-model="state1" placeholder="">
47
               <el-option
47
               <el-option
65
         </el-form>
65
         </el-form>
66
         <div class="tabsBox">
66
         <div class="tabsBox">
67
 
67
 
68
-          <!--<el-button type="text" class="addTab" @click="addCharges" icon="el-icon-circle-plus">附加收费</el-button>-->
68
+          <el-button type="text" class="addTab" @click="addCharges" icon="el-icon-circle-plus">附加收费</el-button>
69
           <el-tabs class="preTabs" v-model="editableTabsValue" type="card" closable @tab-remove="removeTab"
69
           <el-tabs class="preTabs" v-model="editableTabsValue" type="card" closable @tab-remove="removeTab"
70
                    :before-leave="moreState" @tab-click="tabclickEvent">
70
                    :before-leave="moreState" @tab-click="tabclickEvent">
71
             <el-tab-pane
71
             <el-tab-pane
104
             </el-option>
104
             </el-option>
105
           </el-select>
105
           </el-select>
106
           <span>当前处方总价:</span>
106
           <span>当前处方总价:</span>
107
-          <span style="color:red;">{{curTotal}}</span>元
107
+          <span style="color:red;">{{getTotalOne()?getTotalOne():''}}</span>元
108
           <span style="margin-left:10px;">总价:</span>
108
           <span style="margin-left:10px;">总价:</span>
109
-          <span style="color:red;">{{ getTotal() }}</span>元
109
+          <span style="color:red;">{{ getTotal()?getTotal():''}}</span>元
110
           <span>{{order_status}}</span>
110
           <span>{{order_status}}</span>
111
 
111
 
112
         </div>
112
         </div>
121
             <el-tabs class="rightTabs" v-model="activeName">
121
             <el-tabs class="rightTabs" v-model="activeName">
122
               <el-tab-pane label="药品列表" name="1">
122
               <el-tab-pane label="药品列表" name="1">
123
                 <div style="margin-bottom:5px;display:flex;">
123
                 <div style="margin-bottom:5px;display:flex;">
124
-                  <el-input style="width:50%;"  @input="searchAction" @keyup.enter.native='searchAction' v-model.trim="search_keyword"
124
+                  <el-input style="width:50%;" @input="searchAction" @keyup.enter.native='searchAction'
125
+                            v-model.trim="search_keyword"
125
                             placeholder="请输入药品名字"></el-input>
126
                             placeholder="请输入药品名字"></el-input>
126
                   <el-select style="margin-left:5px;width:50%;" v-model="value" placeholder="" @change="changeKind">
127
                   <el-select style="margin-left:5px;width:50%;" v-model="value" placeholder="" @change="changeKind">
127
                     <el-option
128
                     <el-option
247
         </template>
248
         </template>
248
       </div>
249
       </div>
249
     </div>
250
     </div>
250
-    <additionalCharges ref='additionalCharges' :hisPatientInfo="hisPatientInfo"
251
-                       :patientInfo="patientInfo"></additionalCharges>
251
+    <additionalCharges   v-on:setData="setCharge" ref='additionalCharges' :hisPatientInfo="hisPatientInfo"
252
+                       :patientInfo="patientInfo" :additions="additions" :addtions_charge="addtions_charge"></additionalCharges>
252
     <select-template ref='selectTemplate'></select-template>
253
     <select-template ref='selectTemplate'></select-template>
253
     <save-template ref='saveTemplate'></save-template>
254
     <save-template ref='saveTemplate'></save-template>
254
   </div>
255
   </div>
277
       prescriptions: Array,
278
       prescriptions: Array,
278
       record_date: String,
279
       record_date: String,
279
       search_keyword: '',
280
       search_keyword: '',
281
+      addtions_charge:Array,
280
 
282
 
281
       other_sick: {
283
       other_sick: {
282
         type: Array,
284
         type: Array,
303
         drugs: [],
305
         drugs: [],
304
         allDrugs: [],
306
         allDrugs: [],
305
         advices_template: [],
307
         advices_template: [],
306
-
308
+        additions:[],
307
         editableTabsValue: '处方1',
309
         editableTabsValue: '处方1',
308
         editableTabs: [{
310
         editableTabs: [{
309
           title: '处方1',
311
           title: '处方1',
342
           { id: 2, name: '自费' }
344
           { id: 2, name: '自费' }
343
 
345
 
344
         ],
346
         ],
345
-        department:[],
346
-        sick:[],
347
-        curTotal:0,
347
+        department: [],
348
+        sick: [],
349
+        curTotal: 0,
350
+        prescription_id: 0
348
       }
351
       }
349
     },
352
     },
350
     methods: {
353
     methods: {
354
+      setCharge(additional_charges){
355
+        console.log("111122222")
356
+        this.addtions_charge = additional_charges
357
+        console.log(this.addtions_charge )
358
+
359
+
360
+      },
351
       searchAction() {
361
       searchAction() {
352
-        if(this.search_keyword.length == 0){
362
+        if (this.search_keyword.length == 0) {
353
           this.drugs = this.allDrugs
363
           this.drugs = this.allDrugs
354
-        }else{
364
+        } else {
355
           let arr = []
365
           let arr = []
356
-          for (let i = 0; i < this.drugs.length; i++){
357
-            if(this.drugs[i].drug_name.indexOf(this.search_keyword) != -1){
366
+          for (let i = 0; i < this.drugs.length; i++) {
367
+            if (this.drugs[i].drug_name.indexOf(this.search_keyword) != -1) {
358
               arr = arr.concat(this.drugs[i])
368
               arr = arr.concat(this.drugs[i])
359
             }
369
             }
360
           }
370
           }
362
 
372
 
363
         }
373
         }
364
 
374
 
365
-
366
-      },getTotalOne() {
375
+      }, getTotalOne() {
367
         var total = 0
376
         var total = 0
368
-        if (this.curPrescriptions.type == 1) {
369
-          if (this.curPrescriptions.advices != null) {
370
-            for (let a = 0; a < this.curPrescriptions.advices.length; a++) {
371
-              console.log(this.curPrescriptions.advices[a].retail_price)
372
-              console.log(this.curPrescriptions.advices[a].prescribing_number)
377
+        console.log(this.prescriptions)
378
+        for (let i = 0; i < this.prescriptions.length; i++) {
373
 
379
 
374
-              total = total + this.curPrescriptions.advices[a].retail_price * this.curPrescriptions.advices[a].prescribing_number
375
-            }
376
-          }
377
-          return total
380
+          if(this.prescriptions[i].name == this.editableTabsValue) {
378
 
381
 
379
-        } else {
380
-          var total = 0
381
-          if (this.curPrescriptions.project != null) {
382
-            for (let b = 0; b < this.curPrescriptions.project.length; b++) {
383
-              console.log(this.curPrescriptions.project[b].price)
384
-              console.log(this.curPrescriptions.project[b].total)
385
-              total = total + this.curPrescriptions.project[b].price * this.curPrescriptions.project[b].total
382
+            if (this.prescriptions[i].advices != null) {
383
+              for (let a = 0; a < this.prescriptions[i].advices.length; a++) {
384
+                total = total + this.prescriptions[i].advices[a].retail_price * this.prescriptions[i].advices[a].prescribing_number
385
+              }
386
             }
386
             }
387
+            if (this.prescriptions[i].project != null) {
388
+              for (let b = 0; b < this.prescriptions[i].project.length; b++) {
389
+                total = total + this.prescriptions[i].project[b].price * this.prescriptions[i].project[b].total
390
+              }
391
+            }
392
+            total =  Math.floor(total * 100) / 100
387
           }
393
           }
388
-          return total
394
+        }
395
+        return total
389
 
396
 
397
+      }, getCurTotal() {
398
+        var total = 0
399
+        console.log(this.editableTabsValue)
400
+
401
+        if(this.curPrescriptions.type == 1) {
402
+          for (let a = 0; a < this.curPrescriptions.advices.length; a++) {
403
+            total = total + this.curPrescriptions.advices[a].retail_price * this.curPrescriptions.advices[a].prescribing_number
404
+          }
405
+          return Math.floor(total * 100) / 100
406
+        }else{
407
+          for (let a = 0; a < this.curPrescriptions.project.length; a++) {
408
+            total = total + this.curPrescriptions.project[a].price * this.curPrescriptions.project[a].total
409
+          }
410
+          return Math.floor(total * 100) / 100
390
         }
411
         }
391
 
412
 
392
       },
413
       },
404
             }
425
             }
405
           }
426
           }
406
         }
427
         }
428
+        for (let i = 0; i < this.addtions_charge.length; i++){
429
+          total = total +  this.addtions_charge[i].price
430
+        }
407
         return Math.floor(total * 100) / 100
431
         return Math.floor(total * 100) / 100
408
       },
432
       },
409
       createFilter(queryString) {
433
       createFilter(queryString) {
461
             this.doctors = response.data.data.doctors
485
             this.doctors = response.data.data.doctors
462
             this.department = response.data.data.department
486
             this.department = response.data.data.department
463
             this.sick = response.data.data.sick
487
             this.sick = response.data.data.sick
488
+            this.additions = response.data.data.additions
489
+
490
+            var info = response.data.data.info
464
 
491
 
492
+            if (this.$store.getters.xt_user.user.user_type == 2 || this.$store.getters.xt_user.user.user_type == 1) {
493
+              console.log('11111')
494
+              this.doctorValue = this.$store.getters.xt_user.user.id
495
+            } else {
496
+              console.log('222222')
465
 
497
 
498
+              this.doctorValue = this.doctors[0].admin_user_id
499
+            }
500
+
501
+            if (info.user_type == 2 || info.user_type == 1) {
502
+              if (info.department_id == 0) {
503
+                console.log('33333')
504
+
505
+                if (this.department.length > 0) {
506
+                  console.log('6666666666')
507
+
508
+                  this.departmentValue = this.department[0].id
509
+                } else {
510
+                  console.log('7777777777')
511
+
512
+                  this.departmentValue = ''
513
+                }
514
+              } else {
515
+                console.log('5555555')
516
+
517
+                this.departmentValue = info.department_id
518
+              }
519
+            }
466
 
520
 
467
           }
521
           }
468
         })
522
         })
469
 
523
 
470
       },
524
       },
471
       tabclickEvent(val) {
525
       tabclickEvent(val) {
526
+        console.log(this.editableTabsValue)
527
+
472
         for (let i = 0; i < this.prescriptions.length; i++) {
528
         for (let i = 0; i < this.prescriptions.length; i++) {
473
           console.log(this.prescriptions[i].name)
529
           console.log(this.prescriptions[i].name)
474
           if (this.prescriptions[i].name == val.name) {
530
           if (this.prescriptions[i].name == val.name) {
531
+            console.log('2323323', this.prescriptions)
532
+            this.prescription_id = this.prescriptions[i].id
533
+            this.$emit('event1', this.prescription_id)
475
             this.curPrescriptions = this.prescriptions[i]
534
             this.curPrescriptions = this.prescriptions[i]
476
             this.teamList = []
535
             this.teamList = []
477
             this.curDrugs = []
536
             this.curDrugs = []
505
 
564
 
506
         }
565
         }
507
 
566
 
508
-        this.total = 0
509
-        this.total = this.getTotalOne()
510
       },
567
       },
511
       clearData() {
568
       clearData() {
512
         this.curPrescriptions = []
569
         this.curPrescriptions = []
516
         this.teamList = []
573
         this.teamList = []
517
 
574
 
518
       },
575
       },
519
-      setData(data, info) {
576
+      setData(data, info,addition_charge) {
577
+        this.addition_charge = addition_charge
578
+        this.prescription_id = data[0].id
579
+
580
+        console.log('99999999', data[0].id)
581
+        this.$emit('event1', this.prescription_id)
520
         this.curStatus = 0
582
         this.curStatus = 0
521
         this.prescriptions = data
583
         this.prescriptions = data
522
         this.curPrescriptions = this.prescriptions[0]
584
         this.curPrescriptions = this.prescriptions[0]
585
+
523
         if (this.curPrescriptions.advices.length > 0 && this.curPrescriptions.project.length == 0) {
586
         if (this.curPrescriptions.advices.length > 0 && this.curPrescriptions.project.length == 0) {
524
           this.curStatus = 1
587
           this.curStatus = 1
525
           this.customTabIndex = 1
588
           this.customTabIndex = 1
556
           this.order_status = '已退费'
619
           this.order_status = '已退费'
557
         }
620
         }
558
 
621
 
559
-        this.total = 0
560
-        this.total = this.getTotalOne()
561
         // console.log(this.$refs)
622
         // console.log(this.$refs)
562
         // this.$nextTick(() => {
623
         // this.$nextTick(() => {
563
         //   this.$refs.prescription_tables.setNewData(this.prescriptions[0])
624
         //   this.$refs.prescription_tables.setNewData(this.prescriptions[0])
888
                   prescribing_number: temp[b].prescribing_number,
949
                   prescribing_number: temp[b].prescribing_number,
889
                   single_dose_unit: temp[b].min_unit,
950
                   single_dose_unit: temp[b].min_unit,
890
                   prescribing_number_unit: temp[b].max_unit,
951
                   prescribing_number_unit: temp[b].max_unit,
891
-                  min_unit: temp[b].min_unit,
892
                   medical_insurance_number: temp[b].medical_insurance_number
952
                   medical_insurance_number: temp[b].medical_insurance_number
893
 
953
 
894
                 }
954
                 }
1002
             this.teamList = project
1062
             this.teamList = project
1003
           }
1063
           }
1004
         })
1064
         })
1005
-      },changeDoctor(val){
1065
+      }, changeDoctor(val) {
1006
         console.log(val)
1066
         console.log(val)
1007
         console.log(this.doctors)
1067
         console.log(this.doctors)
1008
-        for (let i = 0; i < this.doctors.length;i++){
1009
-          if(this.doctors[i].admin_user_id == this.doctorValue){
1068
+        for (let i = 0; i < this.doctors.length; i++) {
1069
+          if (this.doctors[i].admin_user_id == this.doctorValue) {
1010
             this.departmentValue = this.doctors[i].department_id
1070
             this.departmentValue = this.doctors[i].department_id
1011
           }
1071
           }
1012
         }
1072
         }
1020
       this.getAllProjectTeam()
1080
       this.getAllProjectTeam()
1021
 
1081
 
1022
     }
1082
     }
1083
+
1023
   }
1084
   }
1024
 </script>
1085
 </script>
1025
 
1086
 

+ 4 - 2
src/xt_pages/outpatientDoctorStation/components/inquiriesDetail.vue View File

106
 
106
 
107
 
107
 
108
 <script>
108
 <script>
109
+  import { getDictionaryDataConfig} from "@/utils/data";
109
   import { getHisPrescriptionInfo } from '@/api/his/his'
110
   import { getHisPrescriptionInfo } from '@/api/his/his'
110
   import NewPrescriptionTable from './newPrescriptionTable'
111
   import NewPrescriptionTable from './newPrescriptionTable'
111
   import { uParseTime } from '@/utils/tools'
112
   import { uParseTime } from '@/utils/tools'
218
                   prescribing_number: prescription.advices[b].prescribing_number.toString(),
219
                   prescribing_number: prescription.advices[b].prescribing_number.toString(),
219
                   single_dose_unit: prescription.advices[b].single_dose_unit,
220
                   single_dose_unit: prescription.advices[b].single_dose_unit,
220
                   prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
221
                   prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
221
-                  min_unit: prescription.advices[b].single_dose_unit,
222
                   medical_insurance_number: prescription.advices[b].med_list_codg
222
                   medical_insurance_number: prescription.advices[b].med_list_codg
223
 
223
 
224
                 }
224
                 }
230
                   id: prescription.project[b].id,
230
                   id: prescription.project[b].id,
231
                   project_id: prescription.project[b].project.id,
231
                   project_id: prescription.project[b].project.id,
232
                   project_name: prescription.project[b].project.project_name,
232
                   project_name: prescription.project[b].project.project_name,
233
-                  statistical_classification: prescription.project[b].statistical_classification,
233
+                  statistical_classification: prescription.project[b].project.statistical_classification,
234
                   single_dose: prescription.project[b].single_dose,
234
                   single_dose: prescription.project[b].single_dose,
235
                   delivery_way: prescription.project[b].delivery_way,
235
                   delivery_way: prescription.project[b].delivery_way,
236
                   execution_frequency: prescription.project[b].execution_frequency,
236
                   execution_frequency: prescription.project[b].execution_frequency,
251
                 type: response.data.data.prescription[i].type
251
                 type: response.data.data.prescription[i].type
252
               }
252
               }
253
               this.prescriptions.push(obj)
253
               this.prescriptions.push(obj)
254
+              console.log(this.prescriptions)
255
+
254
               this.curPrescriptions = this.prescriptions[0]
256
               this.curPrescriptions = this.prescriptions[0]
255
             }
257
             }
256
           }
258
           }

+ 2 - 2
src/xt_pages/outpatientDoctorStation/components/newPrescriptionTable.vue View File

10
       <el-table-column align="center" prop="name" width="50" :label="'单次\n用量'">
10
       <el-table-column align="center" prop="name" width="50" :label="'单次\n用量'">
11
         <template slot-scope="scope">
11
         <template slot-scope="scope">
12
           <el-input v-model="scope.row.single_dose" readonly></el-input>
12
           <el-input v-model="scope.row.single_dose" readonly></el-input>
13
-          <div> {{scope.row.min_unit}}</div>
13
+          <div> {{scope.row.single_dose_unit}}</div>
14
         </template>
14
         </template>
15
       </el-table-column>
15
       </el-table-column>
16
       <el-table-column align="center" prop="name" width="50" label="用法">
16
       <el-table-column align="center" prop="name" width="50" label="用法">
29
         <template slot-scope="scope">
29
         <template slot-scope="scope">
30
           <div style="display:flex;">
30
           <div style="display:flex;">
31
             <el-input v-model="scope.row.prescribing_number" style="width:50%" readonly placeholder=""></el-input>
31
             <el-input v-model="scope.row.prescribing_number" style="width:50%" readonly placeholder=""></el-input>
32
-            <div>{{scope.row.min_unit}}</div>
32
+            <div>{{scope.row.prescribing_number_unit}}</div>
33
           </div>
33
           </div>
34
         </template>
34
         </template>
35
       </el-table-column>
35
       </el-table-column>

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

10
         <template slot-scope="scope">
10
         <template slot-scope="scope">
11
           <div style="display:flex;align-items:center;">
11
           <div style="display:flex;align-items:center;">
12
             <el-input v-model="scope.row.single_dose" style="width:65%;"></el-input>
12
             <el-input v-model="scope.row.single_dose" style="width:65%;"></el-input>
13
-            <div>{{scope.row.min_unit}}</div>
13
+            <div>{{scope.row.single_dose_unit}}</div>
14
           </div>
14
           </div>
15
         </template>
15
         </template>
16
       </el-table-column>
16
       </el-table-column>

+ 30 - 26
src/xt_pages/outpatientDoctorStation/doctorDesk.vue View File

66
         </div>
66
         </div>
67
         <!--<desk-prescription ref="prescriptions"   :prescriptions="prescriptions" :patientInfo="patientInfo" :hisPatientInfo="hisPatientInfo"-->
67
         <!--<desk-prescription ref="prescriptions"   :prescriptions="prescriptions" :patientInfo="patientInfo" :hisPatientInfo="hisPatientInfo"-->
68
         <!--v-if="titleType == '处方'" style="flex:1;"></desk-prescription>-->
68
         <!--v-if="titleType == '处方'" style="flex:1;"></desk-prescription>-->
69
-        <desk-prescription  :diagnoses="diagnoses" :other_sick="other_sick" :record_date="record_date"
69
+        <desk-prescription  :addtions_charge="addtions_charge" :diagnoses="diagnoses" :other_sick="other_sick" :record_date="record_date"
70
                            ref="prescriptions" :prescriptions="prescriptions" :patientInfo="patientInfo"
70
                            ref="prescriptions" :prescriptions="prescriptions" :patientInfo="patientInfo"
71
-                           :hisPatientInfo="hisPatientInfo"
71
+                           :hisPatientInfo="hisPatientInfo" @event1="changetwo($event)"
72
                            v-show="titleType == '电子处方'" style="flex:1;"></desk-prescription>
72
                            v-show="titleType == '电子处方'" style="flex:1;"></desk-prescription>
73
         <desk-record :record_date="record_date" :case_history="case_history" :patientInfo="patientInfo"
73
         <desk-record :record_date="record_date" :case_history="case_history" :patientInfo="patientInfo"
74
                      :hisPatientInfo="hisPatientInfo"   v-show="titleType == '电子病历'" :detalid="detalid" ref="child"></desk-record>
74
                      :hisPatientInfo="hisPatientInfo"   v-show="titleType == '电子病历'" :detalid="detalid" ref="child"></desk-record>
130
         info:{},
130
         info:{},
131
         templatedetail:{},
131
         templatedetail:{},
132
         detalid:0,
132
         detalid:0,
133
+        prescription_id:0,
134
+        addtions_charge:[],
135
+
133
       }
136
       }
134
     },
137
     },
135
     methods: {
138
     methods: {
160
       change(val) {
163
       change(val) {
161
         this.getList()
164
         this.getList()
162
 
165
 
166
+
163
       },
167
       },
164
       getList() {
168
       getList() {
165
         let params = {
169
         let params = {
166
           'record_date': this.record_date,
170
           'record_date': this.record_date,
167
           'type': this.radio
171
           'type': this.radio
168
         }
172
         }
173
+        this.patientTableData = []
169
         getSchedulePatientList(params).then(response => {
174
         getSchedulePatientList(params).then(response => {
170
           if (response.data.state == 0) {
175
           if (response.data.state == 0) {
171
             this.$message.error(response.data.msg)
176
             this.$message.error(response.data.msg)
173
           } else {
178
           } else {
174
             this.patientTableData = response.data.data.list
179
             this.patientTableData = response.data.data.list
175
             this.patientTableDataTwo = response.data.data.list
180
             this.patientTableDataTwo = response.data.data.list
176
-
177
-            console.log('222', this.patientTableData)
181
+            this.cal_one = response.data.data.total_one
182
+            this.cal_two =  response.data.data.total_two
178
             // this.$refs.tab.setCurrentRow(this.patientTableData[0])
183
             // this.$refs.tab.setCurrentRow(this.patientTableData[0])
179
-            let cal_one = 0
180
-            let cal_two = 0
181
-            for (let i = 0; i < response.data.data.list.length; i++) {
182
-              if (response.data.data.list[i].prescription == null || response.data.data.list[i].prescription.length == 0) {
183
-                cal_one = cal_one + 1
184
-              }
185
-              if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
186
-                cal_two = cal_two + 1
187
-              }
184
+
185
+            if(this.patientTableData.length > 0) {
186
+              this.$refs.tab.setCurrentRow(this.patientTableData[0])
187
+              this.choosePatient(this.patientTableData[0])
188
             }
188
             }
189
-            this.$refs.tab.setCurrentRow(this.patientTableData[0])
190
-            console.log(this.patientTableData[0])
191
-            this.choosePatient(this.patientTableData[0])
192
-            this.cal_one = cal_one
193
-            this.cal_two = cal_two
189
+
194
           }
190
           }
195
         })
191
         })
196
       },
192
       },
212
 
208
 
213
             this.info = response.data.data.info
209
             this.info = response.data.data.info
214
 
210
 
211
+            this.addtions_charge = response.data.data.addtions_charge
212
+
213
+
215
 
214
 
216
 
215
 
217
             this.patientInfo.birth = uParseTime(this.patientInfo.birthday, '{y}-{m}-{d}')
216
             this.patientInfo.birth = uParseTime(this.patientInfo.birthday, '{y}-{m}-{d}')
263
                     prescribing_number:prescription.advices[b].prescribing_number.toString(),
262
                     prescribing_number:prescription.advices[b].prescribing_number.toString(),
264
                     single_dose_unit:prescription.advices[b].single_dose_unit,
263
                     single_dose_unit:prescription.advices[b].single_dose_unit,
265
                     prescribing_number_unit:prescription.advices[b].prescribing_number_unit,
264
                     prescribing_number_unit:prescription.advices[b].prescribing_number_unit,
266
-                    min_unit:prescription.advices[b].single_dose_unit,
267
                     medical_insurance_number:prescription.advices[b].med_list_codg,
265
                     medical_insurance_number:prescription.advices[b].med_list_codg,
268
                     id:prescription.advices[b].drug_id
266
                     id:prescription.advices[b].drug_id
269
                   }
267
                   }
276
                   console.log(prescription.project[b].project)
274
                   console.log(prescription.project[b].project)
277
                   let obj = {
275
                   let obj = {
278
                     id: prescription.project[b].id,
276
                     id: prescription.project[b].id,
279
-                    project_id: prescription.project[b].project.id,
277
+                    project_id: prescription.project[b].project_id,
280
                     project_name: prescription.project[b].project.project_name,
278
                     project_name: prescription.project[b].project.project_name,
281
                     statistical_classification: prescription.project[b].project.statistical_classification,
279
                     statistical_classification: prescription.project[b].project.statistical_classification,
282
                     single_dose: prescription.project[b].single_dose,
280
                     single_dose: prescription.project[b].single_dose,
313
               }
311
               }
314
               this.prescriptions.push(obj)
312
               this.prescriptions.push(obj)
315
             }
313
             }
316
-            console.log(this.prescriptions)
317
 
314
 
318
-            this.$refs.prescriptions.setData(this.prescriptions,this.info)
315
+
316
+
317
+            this.$refs.prescriptions.setData(this.prescriptions,this.info,this.addition_charge)
319
           }
318
           }
320
         })
319
         })
321
       },
320
       },
322
       open(index) {
321
       open(index) {
322
+        console.log("index",index)
323
         if (index == 1) {
323
         if (index == 1) {
324
           this.$refs.prescriptions.open(1)
324
           this.$refs.prescriptions.open(1)
325
         } else if (index == 2) {
325
         } else if (index == 2) {
326
-          this.$router.push("/outpatientDoctorStation/print?record="+this.record_date)
326
+          this.$router.push("/outpatientDoctorStation/print?record="+this.record_date+"&prescription_id="+this.prescription_id)
327
         } else if (index == 3) {
327
         } else if (index == 3) {
328
           this.$refs.prescriptions.open(3)
328
           this.$refs.prescriptions.open(3)
329
         } else if (index == 4) {
329
         } else if (index == 4) {
330
           this.$refs.prescriptions.open(4)
330
           this.$refs.prescriptions.open(4)
331
         }else if(index == 6){
331
         }else if(index == 6){
332
-          this.$router.push("/outpatientDoctorStation/treatPrint?record="+this.record_date)
333
-          
332
+          this.$router.push("/outpatientDoctorStation/treatPrint?record="+this.record_date+"&prescription_id="+this.prescription_id)
333
+
334
         }
334
         }
335
-        
335
+
336
       },
336
       },
337
 
337
 
338
       opentwo(index) {
338
       opentwo(index) {
362
         console.log("id----------",id)
362
         console.log("id----------",id)
363
         this.detalid = id
363
         this.detalid = id
364
       },
364
       },
365
+      changetwo(data){
366
+        console.log("data000000",data)
367
+        this.prescription_id = data
368
+      }
365
       //  getTemplateDetail(id){
369
       //  getTemplateDetail(id){
366
       //     getTemplateDetail(id).then(response=>{
370
       //     getTemplateDetail(id).then(response=>{
367
       //         if(response.data.state == 1){
371
       //         if(response.data.state == 1){

+ 37 - 22
src/xt_pages/outpatientDoctorStation/print.vue View File

1
 <template>
1
 <template>
2
   <div class="main-contain">
2
   <div class="main-contain">
3
     <div class="position">
3
     <div class="position">
4
-      <bread-crumb :crumbs="crumbs"></bread-crumb>
4
+      <!-- <bread-crumb :crumbs="crumbs"></bread-crumb> -->
5
        <template>
5
        <template>
6
         <el-button
6
         <el-button
7
           :loading="loading"
7
           :loading="loading"
32
             </div>
32
             </div>
33
             
33
             
34
             <div class='dialysisPage' style="flex: 1;height: calc(100vh - 178px);overflow-x:auto;::-webkit-scrollbar:height:15px">
34
             <div class='dialysisPage' style="flex: 1;height: calc(100vh - 178px);overflow-x:auto;::-webkit-scrollbar:height:15px">
35
-              <printOne v-bind:childResponse="childResponse" :advicePrint="advicePrint" :patient="patient" :hisPatient="hisPatient"></printOne>
35
+              <printOne v-bind:childResponse="childResponse" :advicePrint="advicePrint" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
36
             </div>
36
             </div>
37
         </el-container>
37
         </el-container>
38
     </div>
38
     </div>
63
        patientTableData:[],
63
        patientTableData:[],
64
        advicePrint:[],
64
        advicePrint:[],
65
        hisPatient:{},
65
        hisPatient:{},
66
-       patient:{}
66
+       patient:{},
67
+       doctorPorject:{},
68
+       search_input:"",
69
+       loading:false,
70
+       patient_id:"",
71
+       prescription_id:""
67
     };
72
     };
68
   },
73
   },
69
   methods:{
74
   methods:{
128
     },
133
     },
129
 
134
 
130
     changePatient(row){
135
     changePatient(row){
136
+      this.patient_id = row.patient_id
137
+      this.record_date = this.record_date
138
+      this.prescription_id = this.prescription_id
131
       console.log("row",row)
139
       console.log("row",row)
132
-        var params = {
133
-          patient_id:row.patient_id,
134
-          record_date:this.record_date,
135
-        }
136
-      getPrescriptionPrint(params).then(response=>{
137
-          if(response.data.state == 1){
138
-            var advicePrint =  response.data.data.advicePrint
139
-            console.log("adviceprint",advicePrint)
140
-            this.advicePrint = advicePrint
141
-            // var hisPatient =  response.data.data.hisPatient
142
-            // console.log("hispatient",hisPatient)
143
-            // this.hisPatient = hisPatient
144
-            var patient =  response.data.data.patient
145
-            console.log("patient",patient)
146
-            this.patient = patient
147
-            var doctorPorject = response.data.data.doctorPorject
148
-            console.log("doctorporject",doctorPorject)
149
-          }
150
-      })
140
+        // var params = {
141
+        //   patient_id:row.patient_id,
142
+        //   record_date:this.record_date,
143
+        //   prescription_id:this.prescription_id,
144
+        // }
145
+      // getPrescriptionPrint(params).then(response=>{
146
+      //     if(response.data.state == 1){
147
+      //       var advicePrint =  response.data.data.advicePrint
148
+      //       console.log("adviceprint",advicePrint)
149
+      //       this.advicePrint = advicePrint
150
+      //       var patient =  response.data.data.patient
151
+      //       console.log("patient",patient)
152
+      //       this.patient = patient
153
+      //       //  var hisPatient =  response.data.data.hisPatient
154
+      //       // console.log("hispatient",hisPatient)
155
+      //       // this.hisPatient = hisPatient
156
+      //       var doctorPorject = response.data.data.doctorPorject
157
+      //       console.log("doctorporject",doctorPorject)
158
+      //       this.doctorPorject = doctorPorject
159
+      //     }
160
+      // })
161
+    },
162
+    searchAction(){
163
+
151
     }
164
     }
152
     
165
     
153
   },
166
   },
157
     var record_date = this.$route.query.record
170
     var record_date = this.$route.query.record
158
     this.record_date = record_date
171
     this.record_date = record_date
159
     console.log("record_date",record_date)
172
     console.log("record_date",record_date)
173
+    var prescription_id = this.$route.query.prescription_id
174
+    this.prescription_id = prescription_id
160
     this.getAllHisPatientList(record_date)
175
     this.getAllHisPatientList(record_date)
161
   },
176
   },
162
 
177
 

+ 91 - 17
src/xt_pages/outpatientDoctorStation/template/printOne.vue View File

10
             <p>年龄:{{patient.age}}岁</p>
10
             <p>年龄:{{patient.age}}岁</p>
11
         </div>
11
         </div>
12
         <div class="infoMain">
12
         <div class="infoMain">
13
-            <p style="margin-bottom: 10px;">门诊号:</p>
14
-            <p style="margin-bottom: 10px;">科室:</p>
15
-            <p style="margin-bottom: 10px;">医保卡号:</p>
13
+            <p style="margin-bottom: 10px;">门诊号:{{this.hisPatient.number?this.hisPatient.number:""}}</p>
14
+            <p style="margin-bottom: 10px;">科室:{{getDepart(this.hisPatient.departments?this.hisPatient.departments:"")}}</p>
15
+            <p style="margin-bottom: 10px;">医保卡号:{{this.hisPatient.number?this.hisPatient.number:""}}</p>
16
             <p style="margin-bottom: 10px;">电话:{{patient.phone}}</p>
16
             <p style="margin-bottom: 10px;">电话:{{patient.phone}}</p>
17
             <p>地址:{{patient.home_address}}</p>
17
             <p>地址:{{patient.home_address}}</p>
18
             <p>临床诊断:{{patient.diagnose}}</p>
18
             <p>临床诊断:{{patient.diagnose}}</p>
20
         <div class="prescriptionBox">
20
         <div class="prescriptionBox">
21
             <p class="Rp">Rp:</p>
21
             <p class="Rp">Rp:</p>
22
             <div class="drugsBox" v-for="(item,index) in advicePrint" :key="index">
22
             <div class="drugsBox" v-for="(item,index) in advicePrint" :key="index">
23
-                <p class="drugsOne">{{item.advice_name}}&nbsp;&nbsp;{{item.single_dose}}{{item.single_dose_unit}}&nbsp;×&nbsp; {{item.prescribing_number}}{{item.prescribing_number_unit}}</p>
23
+                <p class="drugsOne">{{item.advice_name?item.advice_name:""}}&nbsp;&nbsp;{{item.single_dose}}{{item.single_dose_unit}}&nbsp;×&nbsp; {{item.prescribing_number}}{{item.prescribing_number_unit}}</p>
24
                 <p style="margin-left:100px;"><span>用法:{{item.single_dose}}{{item.single_dose_unit}}</span>&nbsp;&nbsp;<span>{{item.execution_frequency}}</span>&nbsp;&nbsp;<span>{{item.advice_desc}}</span></p>
24
                 <p style="margin-left:100px;"><span>用法:{{item.single_dose}}{{item.single_dose_unit}}</span>&nbsp;&nbsp;<span>{{item.execution_frequency}}</span>&nbsp;&nbsp;<span>{{item.advice_desc}}</span></p>
25
             </div>
25
             </div>
26
         </div>
26
         </div>
27
         <div class="doctorBox">
27
         <div class="doctorBox">
28
-            <p>医师:{{getDoctor(advicePrint[0].advice_doctor)}}</p>
29
-            <p>日期:{{getTime(advicePrint[0].advice_date)}}</p>
28
+            <p>医师:{{getDoctor(advicePrint[0].advice_doctor)?getDoctor(advicePrint[0].advice_doctor):""}}</p>
29
+            <p>日期:{{getTime(advicePrint[0].advice_date)?getTime(advicePrint[0].advice_date):""}}</p>
30
         </div>
30
         </div>
31
         <div class="actionBar">
31
         <div class="actionBar">
32
-            <p>审核:{{getDoctor(advicePrint[0].advice_doctor)}}</p>
33
-            <p>配对:{{getDoctor(advicePrint[0].advice_doctor)}}</p>
34
-            <p>核对:{{getDoctor(advicePrint[0].checker)}}</p>
35
-            <p>发药:{{getDoctor(advicePrint[0].execution_staff)}}</p>
36
-            <p>药费:{{advicePrint[0].price}}</p>
32
+            <p>审核:{{getDoctor(advicePrint[0].advice_doctor)?getDoctor(advicePrint[0].advice_doctor):""}}</p>
33
+            <p>配对:{{getDoctor(advicePrint[0].advice_doctor)?getDoctor(advicePrint[0].advice_doctor):""}}</p>
34
+            <p>核对:{{getDoctor(advicePrint[0].checker)?getDoctor(advicePrint[0].checker):""}}</p>
35
+            <p>发药:{{getDoctor(advicePrint[0].execution_staff)?getDoctor(advicePrint[0].execution_staff):""}}</p>
36
+            <p>药费:{{advicePrint[0].price?advicePrint[0].price:""}}</p>
37
         </div>
37
         </div>
38
     </div>
38
     </div>
39
 </template>
39
 </template>
40
 <script>
40
 <script>
41
 import { jsGetAge, uParseTime } from '@/utils/tools'
41
 import { jsGetAge, uParseTime } from '@/utils/tools'
42
-  import {getAllDoctorList} from "@/api/project/project"
42
+import {getAllDoctorList,getPrescriptionPrint,getHisPatientDetail} from "@/api/project/project"
43
+import {getInitData} from "@/api/his/his"
43
 export default {
44
 export default {
44
     props:{
45
     props:{
45
-      patient:Object,
46
-      advicePrint:Array,
47
-      hisPatient:Object,
46
+      patient_id:Number,
47
+      record_date:String,
48
+      prescription_id:Number
48
     }, 
49
     }, 
49
     data(){
50
     data(){
50
-      return{
51
-        doctorList:[]
51
+      return {
52
+        doctorList:[],
53
+        advicePrint:{},
54
+        patient:{},
55
+        tableData:[],
56
+        prescriptionInfo:[],
57
+        hisPatient:{},
58
+        department:[]
52
       }
59
       }
53
     },
60
     },
54
    methods:{
61
    methods:{
78
         }
85
         }
79
         return ''
86
         return ''
80
      },
87
      },
88
+       getPrescriptionPrint(){
89
+         var params = {
90
+          patient_id:this.patient_id,
91
+          record_date:this.record_date,
92
+          prescription_id:this.prescription_id,
93
+        }
94
+        console.log("params---",params)
95
+       getPrescriptionPrint(params).then(response=>{
96
+         if(response.data.state == 1){
97
+            var advicePrint =  response.data.data.advicePrint
98
+            console.log("adviceprint",advicePrint)
99
+            this.advicePrint = advicePrint
100
+            var patient =  response.data.data.patient
101
+            console.log("patient",patient)
102
+            this.patient = patient
103
+            var doctorPorject = response.data.data.doctorPorject
104
+          
105
+            var arr = doctorPorject.project
106
+              console.log("我的中谷歌",arr)
107
+            for(let i=0;i<arr.length;i++){
108
+              console.log("arr",arr[i].project_name)
109
+            }
110
+            this.tableData = arr
111
+            console.log("3333",this.tableData)
112
+            var prescriptioninfo = response.data.data.prescriptionInfo
113
+            console.log("prescriptioninfo",prescriptioninfo)
114
+            this.prescriptionInfo = prescriptioninfo
115
+          }
116
+       })
117
+     },
118
+     getHisPatientDetail(){
119
+          const params = {
120
+              patient_id:this.patient_id
121
+          }
122
+       getHisPatientDetail(params).then(response=>{
123
+          if(response.data.state == 1){
124
+             var hisPatient =  response.data.data.hisPatient
125
+             console.log("挂号病人",hisPatient)
126
+             this.hisPatient = hisPatient
127
+          }
128
+       })
129
+     },
130
+     getInitData(){
131
+       getInitData().then(response=>{
132
+          if(response.data.state == 1){
133
+            this.department = response.data.data.department
134
+           
135
+          }
136
+       })
137
+     },
138
+     getDepart(id){
139
+         var name = ""
140
+       for(let i=0;i<this.department.length;i++){
141
+           if(id == this.department[i].id){
142
+               name = this.department[i].name
143
+           }
144
+       }
145
+       return name
146
+     }
81
    },
147
    },
82
    created(){
148
    created(){
83
       this.getAllDoctorList()
149
       this.getAllDoctorList()
150
+      this.getInitData()
151
+   },
152
+   watch:{
153
+     patient_id:function(val){
154
+       console.log("101000010101010",this.patient_id,this.record_date,this.prescription_id)
155
+       this.getPrescriptionPrint()
156
+       this.getHisPatientDetail()
157
+     }
84
    }
158
    }
85
 }
159
 }
86
 </script>
160
 </script>

+ 34 - 22
src/xt_pages/outpatientDoctorStation/treatPrint.vue View File

1
 <template>
1
 <template>
2
   <div class="main-contain">
2
   <div class="main-contain">
3
     <div class="position">
3
     <div class="position">
4
-      <bread-crumb :crumbs="crumbs"></bread-crumb>
4
+      <!-- <bread-crumb :crumbs="crumbs"></bread-crumb> -->
5
        <template>
5
        <template>
6
         <el-button
6
         <el-button
7
           :loading="loading"
7
           :loading="loading"
32
             </div>
32
             </div>
33
             
33
             
34
             <div class='dialysisPage' style="flex: 1;height: calc(100vh - 178px);overflow-x:auto;::-webkit-scrollbar:height:15px">
34
             <div class='dialysisPage' style="flex: 1;height: calc(100vh - 178px);overflow-x:auto;::-webkit-scrollbar:height:15px">
35
-              <printOne v-bind:childResponse="childResponse" :advicePrint="advicePrint" :patient="patient" :hisPatient="hisPatient"></printOne>
35
+              <printOne v-bind:childResponse="childResponse" :advicePrint="advicePrint" :patient="patient" :hisPatient="hisPatient" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
36
             </div>
36
             </div>
37
         </el-container>
37
         </el-container>
38
     </div>
38
     </div>
63
        patientTableData:[],
63
        patientTableData:[],
64
        advicePrint:[],
64
        advicePrint:[],
65
        hisPatient:{},
65
        hisPatient:{},
66
-       patient:{}
66
+       patient:{},
67
+       search_input:"",
68
+       loading:false,
69
+       patient_id:0,
70
+       prescription_id:0
67
     };
71
     };
68
   },
72
   },
69
   methods:{
73
   methods:{
129
 
133
 
130
     changePatient(row){
134
     changePatient(row){
131
       console.log("row",row)
135
       console.log("row",row)
132
-        var params = {
133
-          patient_id:row.patient_id,
134
-          record_date:this.record_date,
135
-        }
136
-      getPrescriptionPrint(params).then(response=>{
137
-          if(response.data.state == 1){
138
-            var advicePrint =  response.data.data.advicePrint
139
-            console.log("adviceprint",advicePrint)
140
-            this.advicePrint = advicePrint
141
-            // var hisPatient =  response.data.data.hisPatient
142
-            // console.log("hispatient",hisPatient)
143
-            // this.hisPatient = hisPatient
144
-            var patient =  response.data.data.patient
145
-            console.log("patient",patient)
146
-            this.patient = patient
147
-            var doctorPorject = response.data.data.doctorPorject
148
-            console.log("doctorporject",doctorPorject)
149
-          }
150
-      })
136
+      this.patient_id = row.patient_id
137
+      this.record_date = this.record_date
138
+      this.prescription_id = this.prescription_id
139
+      //   var params = {
140
+      //     patient_id:row.patient_id,
141
+      //     record_date:this.record_date,
142
+      //     prescription_id:this.prescription_id,
143
+      //   }
144
+      // getPrescriptionPrint(params).then(response=>{
145
+      //     if(response.data.state == 1){
146
+      //       var advicePrint =  response.data.data.advicePrint
147
+      //       console.log("adviceprint",advicePrint)
148
+      //       this.advicePrint = advicePrint
149
+      //       // var hisPatient =  response.data.data.hisPatient
150
+      //       // console.log("hispatient",hisPatient)
151
+      //       // this.hisPatient = hisPatient
152
+      //       var patient =  response.data.data.patient
153
+      //       console.log("patient",patient)
154
+      //       this.patient = patient
155
+      //       var doctorPorject = response.data.data.doctorPorject
156
+      //       console.log("doctorporject",doctorPorject)
157
+      //     }
158
+      // })
159
+    },
160
+    searchAction(){
161
+
151
     }
162
     }
152
     
163
     
153
   },
164
   },
157
     var record_date = this.$route.query.record
168
     var record_date = this.$route.query.record
158
     this.record_date = record_date
169
     this.record_date = record_date
159
     console.log("record_date",record_date)
170
     console.log("record_date",record_date)
171
+    this.prescription_id = this.$route.query.prescription_id
160
     this.getAllHisPatientList(record_date)
172
     this.getAllHisPatientList(record_date)
161
   },
173
   },
162
 
174
 

+ 72 - 26
src/xt_pages/outpatientDoctorStation/treatTemplate/printOne.vue View File

8
                 <span>保险</span>
8
                 <span>保险</span>
9
                 <span>其他</span>
9
                 <span>其他</span>
10
             </p>
10
             </p>
11
-            <p>就诊日期:2020-11-01 09:22:12</p>
11
+            <p>就诊日期:{{this.$route.query.record}}</p>
12
         </div>
12
         </div>
13
         <div class="printTitle">血液透析中心</div>
13
         <div class="printTitle">血液透析中心</div>
14
         <div class="printTitle">处方、治疗单</div>
14
         <div class="printTitle">处方、治疗单</div>
17
             <p>电脑号:</p>
17
             <p>电脑号:</p>
18
         </div>
18
         </div>
19
         <div class="infoMain">
19
         <div class="infoMain">
20
-            <p style="margin-bottom: 10px;width:25%">姓名:阿萨德</p>
21
-            <p style="margin-bottom: 10px;width:25%">性别:男</p>
22
-            <p style="margin-bottom: 10px;width:25%">年龄:12</p>
20
+            <p style="margin-bottom: 10px;width:25%">姓名:{{patient.name}}</p>
21
+            <p style="margin-bottom: 10px;width:25%">性别:
22
+                <span v-if="patient.gender == 1">男</span>
23
+                <span v-if="patient.gender == 2">女</span>
24
+            </p>
25
+            <p style="margin-bottom: 10px;width:25%">年龄:
26
+                <span>{{patient.age}}</span>
27
+            </p>
23
             <p style="margin-bottom: 10px;width:25%">参保类型:</p>
28
             <p style="margin-bottom: 10px;width:25%">参保类型:</p>
24
-            <p style="margin-bottom: 10px;width:50%;">联系电话</p>
25
-            <p style="width:50%;">地址:</p>
26
-            <p style="width:50%;">诊断:</p>
29
+            <p style="margin-bottom: 10px;width:50%;">联系电话:{{patient.phone}}</p>
30
+            <p style="width:50%;">地址:{{patient.unit_address}}</p>
31
+            <p style="width:50%;">诊断:{{patient.diagnose}}</p>
27
         </div>
32
         </div>
28
         <div class="prescriptionBox">
33
         <div class="prescriptionBox">
29
             <table style="width:100%;text-align:center;line-height:25px;">
34
             <table style="width:100%;text-align:center;line-height:25px;">
37
                     <td>备注</td>
42
                     <td>备注</td>
38
                     <td>天数</td>
43
                     <td>天数</td>
39
                 </tr>
44
                 </tr>
40
-                <tr v-for='item in 4'>
41
-                    <td>1</td>
42
-                    <td>啊势均力敌框架爱实力坑爹就爱上了肯德基</td>
43
-                    <td>1</td>
44
-                    <td>1</td>
45
-                    <td>1</td>
46
-                    <td>1</td>
47
-                    <td>1</td>
48
-                    <td>1</td>
45
+                <tr v-for="(item,index) in this.tableData" :key="index">
46
+                    <td>{{index+1}}</td>
47
+                    <td>{{item.project_name}}</td>
48
+                    <td>{{item.single_dose}}</td>
49
+                    <td>{{item.unit}}</td>
50
+                    <td>{{item.price}}</td>
51
+                    <td></td>
52
+                    <td>{{item.remark}}</td>
53
+                    <td>{{item.day}}</td>
54
+                   
49
                 </tr>
55
                 </tr>
50
             </table>
56
             </table>
51
         </div>
57
         </div>
52
         <div class="infoTitle">
58
         <div class="infoTitle">
53
-            <p>开单医生:就看见</p>
54
-            <p>签章:2020-11-01 09:22:12</p>
59
+            <p>开单医生:{{getDoctor(this.prescriptionInfo[0].creator)?getDoctor(this.prescriptionInfo[0].creator):""}}</p>
60
+            <p>签章:</p>
55
         </div>
61
         </div>
56
         <div class="actionBar">
62
         <div class="actionBar">
57
-            <p>执行医生:</p>
63
+            <p>执行医生:{{getDoctor(this.prescriptionInfo[0].creator)?getDoctor(this.prescriptionInfo[0].creator):""}}</p>
58
             <p>费用:</p>
64
             <p>费用:</p>
59
         </div>
65
         </div>
60
         <table style="width:100%;text-align:center;line-height:25px;border-collapse: collapse;" border="1">
66
         <table style="width:100%;text-align:center;line-height:25px;border-collapse: collapse;" border="1">
87
 </template>
93
 </template>
88
 <script>
94
 <script>
89
 import { jsGetAge, uParseTime } from '@/utils/tools'
95
 import { jsGetAge, uParseTime } from '@/utils/tools'
90
-  import {getAllDoctorList} from "@/api/project/project"
96
+import {getAllDoctorList,getPrescriptionPrint} from "@/api/project/project"
91
 export default {
97
 export default {
92
     props:{
98
     props:{
93
-      patient:Object,
94
-      advicePrint:Array,
95
-      hisPatient:Object,
99
+      patient_id:Number,
100
+      record_date:String,
101
+      prescription_id:Number
96
     }, 
102
     }, 
97
     data(){
103
     data(){
98
-      return{
99
-        doctorList:[]
104
+      return {
105
+        doctorList:[],
106
+        advicePrint:{},
107
+        patient:{},
108
+        tableData:[],
109
+        prescriptionInfo:[]
100
       }
110
       }
101
     },
111
     },
102
    methods:{
112
    methods:{
138
         }
148
         }
139
         return ''
149
         return ''
140
      },
150
      },
151
+     getPrescriptionPrint(){
152
+         var params = {
153
+          patient_id:this.patient_id,
154
+          record_date:this.record_date,
155
+          prescription_id:this.prescription_id,
156
+        }
157
+        console.log("params---",params)
158
+       getPrescriptionPrint(params).then(response=>{
159
+         if(response.data.state == 1){
160
+            var advicePrint =  response.data.data.advicePrint
161
+            console.log("adviceprint",advicePrint)
162
+            this.advicePrint = advicePrint
163
+            var patient =  response.data.data.patient
164
+            console.log("patient",patient)
165
+            this.patient = patient
166
+            var doctorPorject = response.data.data.doctorPorject
167
+          
168
+            var arr = doctorPorject.project
169
+              console.log("我的中谷歌",arr)
170
+            for(let i=0;i<arr.length;i++){
171
+              console.log("arr",arr[i].project_name)
172
+            }
173
+            this.tableData = arr
174
+            console.log("3333",this.tableData)
175
+            var prescriptioninfo = response.data.data.prescriptionInfo
176
+            console.log("prescriptioninfo",prescriptioninfo)
177
+            this.prescriptionInfo = prescriptioninfo
178
+          }
179
+       })
180
+     }
141
    },
181
    },
142
    created(){
182
    created(){
143
-    //   this.getAllDoctorList()
183
+      this.getAllDoctorList()
184
+   },
185
+   watch:{
186
+     patient_id:function(val){
187
+       console.log("101000010101010",this.patient_id,this.record_date,this.prescription_id)
188
+       this.getPrescriptionPrint()
189
+     }
144
    }
190
    }
145
 }
191
 }
146
 </script>
192
 </script>