Browse Source

Merge remote-tracking branch 'origin/20201109_pc_vue_new_branch' into 20201109_pc_vue_new_branch

XMLWAN 3 years ago
parent
commit
02fbcef134
100 changed files with 12061 additions and 4145 deletions
  1. 1 1
      index.html
  2. 12 0
      src/api/his/his_tools.js
  3. 16 0
      src/api/warehouse.js
  4. 1 0
      src/lang/en.js
  5. 3 0
      src/lang/zh.js
  6. 2 0
      src/router/index.js
  7. 64 0
      src/router/modules/DepositManagement.js
  8. 5 0
      src/router/modules/hisTool.js
  9. 1 1
      src/views/layout/Layout.vue
  10. 10 1
      src/views/layout/components/Navbar.vue
  11. 1 1
      src/views/layout/components/Sidebar/index.vue
  12. 109 0
      src/xt_pages/DepositManagement/DeductionDetailsSummary.vue
  13. 254 0
      src/xt_pages/DepositManagement/DepositRefund.vue
  14. 127 0
      src/xt_pages/DepositManagement/DepositSearch.vue
  15. 109 0
      src/xt_pages/DepositManagement/RechargeDetailsSummary.vue
  16. 137 0
      src/xt_pages/DepositManagement/Template/DeductionDetails.vue
  17. 118 0
      src/xt_pages/DepositManagement/Template/DeductionSummary.vue
  18. 130 0
      src/xt_pages/DepositManagement/Template/DepositDetails.vue
  19. 166 0
      src/xt_pages/DepositManagement/Template/RechargeDetails.vue
  20. 121 0
      src/xt_pages/DepositManagement/Template/RechargeSummary.vue
  21. 42 0
      src/xt_pages/DepositManagement/Template/add_page.vue
  22. 42 0
      src/xt_pages/DepositManagement/Template/refundAdd.vue
  23. 102 0
      src/xt_pages/DepositManagement/print/printindex.vue
  24. 445 337
      src/xt_pages/data/components/addInspection.vue
  25. 42 65
      src/xt_pages/data/druguseTemplate.vue
  26. 17 0
      src/xt_pages/dialysis/PatientBox.vue
  27. 1 1
      src/xt_pages/dialysis/batch_print/batch_print_order_nine.vue
  28. 2 2
      src/xt_pages/dialysis/details/DialysisPrescription.vue
  29. 1 1
      src/xt_pages/dialysis/details/dialog/AssessmentAfterDislysis.vue
  30. 2 2
      src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue
  31. 25 8
      src/xt_pages/dialysis/details/dialog/monitor_dialog.vue
  32. 8 8
      src/xt_pages/dialysis/details/dialysisMonitoring.vue
  33. 31 2
      src/xt_pages/dialysis/dialysisPrintOrder.vue
  34. 2 0
      src/xt_pages/dialysis/schedualPatient.vue
  35. 2685 0
      src/xt_pages/dialysis/template/DialysisPrintOrderFortyEight.vue
  36. 13 8
      src/xt_pages/dialysis/template/DialysisPrintOrderFortySeven.vue
  37. 13 6
      src/xt_pages/dialysis/template/DialysisPrintOrderFortyTwo.vue
  38. 1 1
      src/xt_pages/dialysis/template/DialysisPrintOrderNine.vue
  39. 0 8
      src/xt_pages/hospitalStation/allListTemplate/printOne.vue
  40. 22 11
      src/xt_pages/hospitalStation/components/chargeDialog.vue
  41. 43 200
      src/xt_pages/hospitalStation/components/hospitalRegisterDialog.vue
  42. 1 1
      src/xt_pages/hospitalStation/components/prescriptionTable.vue
  43. 6 6
      src/xt_pages/hospitalStation/components/settlePrescriptionTable.vue
  44. 853 789
      src/xt_pages/hospitalStation/index.vue
  45. 8 5
      src/xt_pages/hospitalStation/invoicePrint.vue
  46. 318 0
      src/xt_pages/hospitalStation/invoiceTemplate/printThree.vue
  47. 28 10
      src/xt_pages/hospitalStation/invoiceTemplate/printTwo.vue
  48. 93 104
      src/xt_pages/hospitalStation/outpatientChargesManagement.vue
  49. 1 1
      src/xt_pages/hospitalStation/settlementPrint.vue
  50. 1138 0
      src/xt_pages/hospitalStation/settlementTemplate/hospitalSettlePrint.vue
  51. 0 461
      src/xt_pages/hospitalStation/settlementTemplate/printOne.vue
  52. 533 393
      src/xt_pages/hospitalStation/statementPrint.vue
  53. 13 13
      src/xt_pages/hospitalStation/statementTemplate/printOne.vue
  54. 5 1
      src/xt_pages/hospitalStation/summary.vue
  55. 0 1
      src/xt_pages/hospitalStation/summaryDetail.vue
  56. 2 3
      src/xt_pages/hospitalStation/template/printOne.vue
  57. 126 42
      src/xt_pages/outpatientCharges/allListPrint.vue
  58. 1 1
      src/xt_pages/outpatientCharges/allListTemplate/printOne.vue
  59. 241 0
      src/xt_pages/outpatientCharges/allListTemplate/summaryPrint.vue
  60. 11 0
      src/xt_pages/outpatientCharges/components/registerDialog.vue
  61. 2 2
      src/xt_pages/outpatientCharges/costComparison.vue
  62. 5 3
      src/xt_pages/outpatientCharges/invoicePrint.vue
  63. 230 0
      src/xt_pages/outpatientCharges/invoiceTemplate/printSeven.vue
  64. 18 17
      src/xt_pages/outpatientCharges/invoiceTemplate/printSix.vue
  65. 47 14
      src/xt_pages/outpatientCharges/listPrint.vue
  66. 180 0
      src/xt_pages/outpatientCharges/listTemplate/listPrintTwo.vue
  67. 1 1
      src/xt_pages/outpatientCharges/listTemplate/printOne.vue
  68. 225 67
      src/xt_pages/outpatientCharges/outpatientChargesManagement.vue
  69. 221 13
      src/xt_pages/outpatientCharges/settlementTemplate/printOne.vue
  70. 5 3
      src/xt_pages/outpatientCharges/statementPrint.vue
  71. 6 3
      src/xt_pages/outpatientCharges/statementTemplate/printThree.vue
  72. 14 14
      src/xt_pages/outpatientCharges/statementTemplate/privateChargePrint.vue
  73. 243 212
      src/xt_pages/outpatientDoctorStation/batch_print_checkTemplate/printOne.vue
  74. 365 0
      src/xt_pages/outpatientDoctorStation/batch_print_template/batchPrintTwo.vue
  75. 11 9
      src/xt_pages/outpatientDoctorStation/batch_print_template/index.vue
  76. 2 2
      src/xt_pages/outpatientDoctorStation/batch_print_template/printOne.vue
  77. 34 33
      src/xt_pages/outpatientDoctorStation/batch_print_treatTemplate/index.vue
  78. 456 452
      src/xt_pages/outpatientDoctorStation/batch_print_treatTemplate/printOne.vue
  79. 9 9
      src/xt_pages/outpatientDoctorStation/checkPrint.vue
  80. 583 441
      src/xt_pages/outpatientDoctorStation/checkTemplate/printOne.vue
  81. 6 2
      src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue
  82. 0 2
      src/xt_pages/outpatientDoctorStation/components/medicalRecord.vue
  83. 6 6
      src/xt_pages/outpatientDoctorStation/components/prescriptionTable.vue
  84. 9 5
      src/xt_pages/outpatientDoctorStation/doctorDesk.vue
  85. 296 244
      src/xt_pages/outpatientDoctorStation/pastInquiries.vue
  86. 13 55
      src/xt_pages/outpatientDoctorStation/print.vue
  87. 11 3
      src/xt_pages/outpatientDoctorStation/template/printOne.vue
  88. 3 1
      src/xt_pages/outpatientDoctorStation/template/printThree.vue
  89. 4 4
      src/xt_pages/outpatientRegistration/registrationHistory.vue
  90. 153 0
      src/xt_pages/outpatientTool/components/detailStatistics.vue
  91. 156 0
      src/xt_pages/outpatientTool/components/gatherStatistics.vue
  92. 341 0
      src/xt_pages/outpatientTool/statistics.vue
  93. 41 3
      src/xt_pages/qcd/indicatorControlAnalysis/weight.vue
  94. 6 6
      src/xt_pages/stock/detail/print.vue
  95. 6 6
      src/xt_pages/stock/detail/stockOutDetail.vue
  96. 40 7
      src/xt_pages/stock/drugs/components/drugOutDetail.vue
  97. 3 3
      src/xt_pages/stock/drugs/drugStockOutOrder.vue
  98. 2 4
      src/xt_pages/stock/inventoryTransfer/index.vue
  99. 4 4
      src/xt_pages/stock/stockOutOrderEdit.vue
  100. 0 0
      src/xt_pages/stock/stockQuery.vue

+ 1 - 1
index.html View File

19
 
19
 
20
   <body>
20
   <body>
21
     <script src="https://images.shengws.com/reconnecting-websocket.min.js"></script>
21
     <script src="https://images.shengws.com/reconnecting-websocket.min.js"></script>
22
-    <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
22
+    <script src="https://images.shengws.com/jquery.min.js"></script>
23
     <script src="<%= htmlWebpackPlugin.options.path %>/tinymce4.7.5/tinymce.min.js"></script>
23
     <script src="<%= htmlWebpackPlugin.options.path %>/tinymce4.7.5/tinymce.min.js"></script>
24
     <script src="<%= htmlWebpackPlugin.options.path %>/neditor/neditor.config.js"></script>
24
     <script src="<%= htmlWebpackPlugin.options.path %>/neditor/neditor.config.js"></script>
25
     <script src="<%= htmlWebpackPlugin.options.path %>/neditor/neditor.all.min.js"></script>
25
     <script src="<%= htmlWebpackPlugin.options.path %>/neditor/neditor.all.min.js"></script>

+ 12 - 0
src/api/his/his_tools.js View File

1
+import request from "@/utils/request";
2
+
3
+
4
+export function GetAllPatients() {
5
+  return request({
6
+    url: "/api/his/patient",
7
+    method: "get",
8
+  });
9
+}
10
+
11
+
12
+

+ 16 - 0
src/api/warehouse.js View File

131
     params: params
131
     params: params
132
   })
132
   })
133
 }
133
 }
134
+//获取管理员列表(已渲染)
135
+export function getusername(params) {
136
+  return request({
137
+    url: '/api/secondary/getusername',
138
+    method: 'get',
139
+    params: params
140
+  })
141
+}
142
+//获取当前登录人的id(已渲染)
143
+export function getcreaterid(params) {
144
+  return request({
145
+    url: '/api/secondary/getcreaterid',
146
+    method: 'get',
147
+    params: params
148
+  })
149
+}

+ 1 - 0
src/lang/en.js View File

87
     data_dictionary: 'data_dictionary',
87
     data_dictionary: 'data_dictionary',
88
     field_config: 'field_config',
88
     field_config: 'field_config',
89
     template: 'Template',
89
     template: 'Template',
90
+    DepositManagement:'Deposit Management',
90
     workforce: 'workforce',
91
     workforce: 'workforce',
91
     appointment: 'appointment',
92
     appointment: 'appointment',
92
     sign: 'sign',
93
     sign: 'sign',

+ 3 - 0
src/lang/zh.js View File

175
     selfPreparedMedicineIndex: '自备药管理',
175
     selfPreparedMedicineIndex: '自备药管理',
176
     selfPreparedMedicine: '自备药管理',
176
     selfPreparedMedicine: '自备药管理',
177
     wareHouseManage:'仓库管理',
177
     wareHouseManage:'仓库管理',
178
+    
178
     inventoryTransfer:'库存调拨',
179
     inventoryTransfer:'库存调拨',
179
 
180
 
180
     consumablesManagement: '耗材管理',
181
     consumablesManagement: '耗材管理',
271
     hisTool: 'HIS工具',
272
     hisTool: 'HIS工具',
272
     hospitalCharges: '住院收费',
273
     hospitalCharges: '住院收费',
273
 
274
 
275
+    DepositManagement:'押金管理',
276
+
274
     summary_tool: '项目消费明细汇总',
277
     summary_tool: '项目消费明细汇总',
275
     labelPrint: '标签打印',
278
     labelPrint: '标签打印',
276
     faPiao: '发票设置',
279
     faPiao: '发票设置',

+ 2 - 0
src/router/index.js View File

32
 import hospitalRecord from './modules/hospitalRecord'
32
 import hospitalRecord from './modules/hospitalRecord'
33
 import hospitalStation from './modules/hospitalStation'
33
 import hospitalStation from './modules/hospitalStation'
34
 import hospitalCharges from './modules/hospitalCharges'
34
 import hospitalCharges from './modules/hospitalCharges'
35
+import DepositManagement from './modules/DepositManagement'
35
 import hisTool from './modules/hisTool'
36
 import hisTool from './modules/hisTool'
36
 import supply from './modules/supply'
37
 import supply from './modules/supply'
37
 
38
 
153
   drugs,
154
   drugs,
154
   selfPreparedMedicine,  //自备药管理模块
155
   selfPreparedMedicine,  //自备药管理模块
155
   wareHouseManage,  //仓库管理模块
156
   wareHouseManage,  //仓库管理模块
157
+  DepositManagement, //押金管理模块
156
   inventoryTransfer,    //库存调拨模块
158
   inventoryTransfer,    //库存调拨模块
157
   otherManagement,
159
   otherManagement,
158
   qcd,
160
   qcd,

+ 64 - 0
src/router/modules/DepositManagement.js View File

1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+    path: '/DepositManagement',
5
+    component: Layout,
6
+    redirect: 'noredirect',
7
+    name: 'DepositManagement',
8
+    alwaysShow: true,
9
+    meta: {
10
+        title: 'DepositManagement',
11
+        icon: 'stock',
12
+        isChild: true
13
+    },
14
+    children: [
15
+        {
16
+            path: '/DepositManagement/DepositSearch',
17
+            component: () => import('@/xt_pages/DepositManagement/DepositSearch'),
18
+            name: 'DepositSearch',
19
+            meta: { title: '押金查询', noCache: true }
20
+        },
21
+
22
+        {
23
+            path: '/DepositManagement/RechargeDetailsSummary',
24
+            component: () => import('@/xt_pages/DepositManagement/RechargeDetailsSummary'),
25
+            name: 'RechargeDetailsSummary',
26
+            meta: { title: '押金充值明细汇总', noCache: true }
27
+        },
28
+        {
29
+            path: '/DepositManagement/DeductionDetailsSummary',
30
+            component: () => import('@/xt_pages/DepositManagement/DeductionDetailsSummary'),
31
+            name: 'DeductionDetailsSummary',
32
+            meta: { title: '押金扣费明细汇总', noCache: true }
33
+        },
34
+        {
35
+            path: '/DepositManagement/DepositRefund',
36
+            component: () => import('@/xt_pages/DepositManagement/DepositRefund'),
37
+            name: 'DepositRefund',
38
+            meta: { title: '押金退款', noCache: true }
39
+        },
40
+        {
41
+            path: '/DepositManagement/DepositDetails',
42
+            component: () => import('@/xt_pages/DepositManagement/Template/DepositDetails'),
43
+            hidden: true,
44
+            is_menu: false,
45
+            name: 'DepositDetails',
46
+            meta: {
47
+                title: '流水详情',
48
+                noCache: true
49
+            }
50
+        },
51
+        {
52
+            path: '/DepositManagement/printindex',
53
+            component: () => import('@/xt_pages/DepositManagement/print/printindex'),
54
+            hidden: true,
55
+            is_menu: false,
56
+            name: 'printindex',
57
+            meta: {
58
+                title: '打印凭证',
59
+                noCache: true
60
+            }
61
+        }
62
+
63
+    ]
64
+}

+ 5 - 0
src/router/modules/hisTool.js View File

57
       component: () => import('@/xt_pages/outpatientTool/yidiClear'),
57
       component: () => import('@/xt_pages/outpatientTool/yidiClear'),
58
       name: 'yidiClear',
58
       name: 'yidiClear',
59
       meta: { title: 'yidiClear', noCache: true }
59
       meta: { title: 'yidiClear', noCache: true }
60
+    },{
61
+      path: '/hisTool/statistics',
62
+      component: () => import('@/xt_pages/outpatientTool/statistics'),
63
+      name: 'statistics',
64
+      meta: { title: 'statistics', noCache: true }
60
     },
65
     },
61
 
66
 
62
   ]
67
   ]

+ 1 - 1
src/views/layout/Layout.vue View File

127
     }
127
     }
128
   },
128
   },
129
   created(){
129
   created(){
130
-    let menzhen = ['hospitalStation',"hospitalRecord","hospitalCharges","hisTool",'outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy','outpatientRecord'];
130
+    let menzhen = ['hospitalStation',"hospitalRecord","hospitalCharges","DepositManagement","hisTool",'outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy','outpatientRecord'];
131
     let bingli = ['User','createPatient'];
131
     let bingli = ['User','createPatient'];
132
     let touxi = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control'];
132
     let touxi = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control'];
133
     let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','inventoryTransfer','wareHouseManage','otherManagement'];
133
     let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','inventoryTransfer','wareHouseManage','otherManagement'];

+ 10 - 1
src/views/layout/components/Navbar.vue View File

83
           </el-dropdown-menu>
83
           </el-dropdown-menu>
84
         </el-dropdown>
84
         </el-dropdown>
85
       </div>
85
       </div>
86
+
87
+      <div style="margin-left: 50px" v-if="org_config.code&&org_config.code.length >0">机构编码:{{org_config.code}}</div>
86
     </div>
88
     </div>
87
     <div class="navRight">
89
     <div class="navRight">
88
       <!-- <el-input placeholder="搜索患者透析号/姓名/首拼" prefix-icon="el-icon-search" v-model="input2"></el-input>
90
       <!-- <el-input placeholder="搜索患者透析号/姓名/首拼" prefix-icon="el-icon-search" v-model="input2"></el-input>
101
             <i class="el-icon-caret-bottom"></i>
103
             <i class="el-icon-caret-bottom"></i>
102
           </div>
104
           </div>
103
           <el-dropdown-menu slot="dropdown">
105
           <el-dropdown-menu slot="dropdown">
106
+            <el-dropdown-item >医师编码: {{role.doctor_number}}</el-dropdown-item>
104
             <el-dropdown-item command="modifyUserInfoAction"
107
             <el-dropdown-item command="modifyUserInfoAction"
105
               >个人信息</el-dropdown-item
108
               >个人信息</el-dropdown-item
106
             >
109
             >
183
       is_super_admin: 0,
186
       is_super_admin: 0,
184
       wrap1:false,
187
       wrap1:false,
185
       wrap2:false,
188
       wrap2:false,
186
-      information:{}
189
+      information:{},
190
+      org_config:{},
191
+      role:{},
187
       // scrm_role_exist: $store.getters.xt_user.scrm_role_exist
192
       // scrm_role_exist: $store.getters.xt_user.scrm_role_exist
188
     };
193
     };
189
   },
194
   },
392
             this.org_name = this.orgs[i].org_name;
397
             this.org_name = this.orgs[i].org_name;
393
           }
398
           }
394
         }
399
         }
400
+
401
+        this.org_config = response.data.data.org_config
402
+        this.role = response.data.data.role
403
+
395
         localStorage.setItem("org_id",creator.org_id);
404
         localStorage.setItem("org_id",creator.org_id);
396
         sessionStorage.setItem("org_id",creator.org_id);
405
         sessionStorage.setItem("org_id",creator.org_id);
397
         sessionStorage.setItem("admin_user_id",creator.admin_user_id);
406
         sessionStorage.setItem("admin_user_id",creator.admin_user_id);

+ 1 - 1
src/views/layout/components/Sidebar/index.vue View File

69
     navTitle:{
69
     navTitle:{
70
       handler(newVal,oldVal){
70
       handler(newVal,oldVal){
71
         if(newVal == 'HIS管理'){
71
         if(newVal == 'HIS管理'){
72
-          let nameArr = ['hospitalStation','hospitalRecord','hospitalCharges','hisTool','outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy','outpatientRecord',];
72
+          let nameArr = ['hospitalStation','hospitalRecord','hospitalCharges','DepositManagement','hisTool','outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy','outpatientRecord',];
73
           // console.log('permission_routers',this.permission_routers)
73
           // console.log('permission_routers',this.permission_routers)
74
           let routerArr = [];
74
           let routerArr = [];
75
           this.permission_routers.map(item => {
75
           this.permission_routers.map(item => {

+ 109 - 0
src/xt_pages/DepositManagement/DeductionDetailsSummary.vue View File

1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+      <div style="width: 100%">
8
+        <el-tabs v-model="activeName" @tab-click="handleClick">
9
+          <el-tab-pane label="扣费明细" name="first">
10
+            <DeductionDetails></DeductionDetails>
11
+          </el-tab-pane>
12
+          <el-tab-pane label="扣费汇总" name="second">
13
+            <DeductionSummary></DeductionSummary>
14
+          </el-tab-pane>
15
+        </el-tabs>
16
+        <div
17
+          style="position: absolute; top: 80px; right: 40px"
18
+          v-if="activeName == 'first'"
19
+        >
20
+          <el-button size="small" type="primary" @click="Add()">
21
+            新增
22
+          </el-button>
23
+        </div>
24
+      </div>
25
+      <el-dialog
26
+        title="新增押金"
27
+        :visible.sync="dialogVisible"
28
+        width="30%"
29
+        :show-close="close"
30
+      >
31
+        <!-- <span>这是一段信息</span> -->
32
+        <RechangeAd></RechangeAd>
33
+        <span slot="footer" class="dialog-footer">
34
+          <el-button @click="pass">审核通过</el-button>
35
+          <el-button type="primary" @click="Submit">提 交</el-button>
36
+        </span>
37
+      </el-dialog>
38
+    </div>
39
+  </div>
40
+</template>
41
+<script>
42
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
43
+import DeductionDetails from "./Template/DeductionDetails.vue";
44
+import DeductionSummary from "./Template/DeductionSummary.vue";
45
+import RechangeAd from "./Template/add_page.vue";
46
+export default {
47
+  components: {
48
+    BreadCrumb,
49
+    DeductionDetails,
50
+    DeductionSummary,
51
+    RechangeAd,
52
+  },
53
+  data() {
54
+    return {
55
+      crumbs: [
56
+        { path: false, name: "押金管理" },
57
+        { path: "/DepositManagement/DepositSearch", name: "充值详情" },
58
+      ],
59
+      activeName: "first",
60
+      tableData: [{}, {}],
61
+      total: 0,
62
+      page: 1,
63
+      limit: 10,
64
+      keywords: "",
65
+      dialogVisible: false,
66
+      close: false,
67
+    };
68
+  },
69
+
70
+  methods: {
71
+    // 初始化数据
72
+    init() {},
73
+
74
+    // 查询操作
75
+    search() {},
76
+    // 切换明细
77
+    handleClick(tab, event) {
78
+      console.log(tab, event);
79
+    },
80
+    // 页表操作
81
+    handleSizeChange(val) {
82
+      this.limit = val;
83
+      this.init();
84
+    },
85
+    handleCurrentChange(val) {
86
+      this.page = val;
87
+      this.init();
88
+    },
89
+
90
+    // 流水详情
91
+    toDetails() {
92
+      this.$router.push({ path: "/DepositManagement/DepositDetails" });
93
+    },
94
+
95
+    // 新增
96
+    Add() {
97
+      this.dialogVisible = true;
98
+    },
99
+
100
+    // 审核通过
101
+    pass() {},
102
+
103
+    // 提交
104
+    Submit() {},
105
+  },
106
+};
107
+</script>
108
+<style>
109
+</style>

+ 254 - 0
src/xt_pages/DepositManagement/DepositRefund.vue View File

1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+      <div style="width: 100%">
8
+        <div class="Top">
9
+          <div>退款列表</div>
10
+          <div class="btn_list">
11
+            <el-button size="small" type="primary" @click="to_add">
12
+              新增
13
+            </el-button>
14
+            <el-button size="small" type="primary" @click="pass_exam">
15
+              审核通过
16
+            </el-button>
17
+            <el-button size="small" type="warning" @click="reject_exam">
18
+              审核拒绝
19
+            </el-button>
20
+          </div>
21
+        </div>
22
+        <div
23
+          style="
24
+            justify-content: flex-start;
25
+            margin: 0px 0 12px 0;
26
+            display: flex;
27
+            align-items: center;
28
+          "
29
+        >
30
+          <div style="display: flex">
31
+            <div style="width: 250px">
32
+              <el-input
33
+                size="small"
34
+                style="width: 200px; margin-left: 10px"
35
+                class="filter-item"
36
+                placeholder="请输入编号/患者名称"
37
+                v-model.trim="keywords"
38
+              />
39
+            </div>
40
+
41
+            <div style="margin-right: 30px">
42
+              退款类型:
43
+              <el-select v-model="value" placeholder="请选择">
44
+                <el-option
45
+                  v-for="item in [1, 2]"
46
+                  :key="item"
47
+                  :label="item"
48
+                  :value="item"
49
+                >
50
+                </el-option>
51
+              </el-select>
52
+            </div>
53
+
54
+            <div style="margin-right: 30px">
55
+              审核状态:
56
+              <el-select v-model="status" placeholder="请选择">
57
+                <el-option
58
+                  v-for="item in [1, 2]"
59
+                  :key="item"
60
+                  :label="item"
61
+                  :value="item"
62
+                >
63
+                </el-option>
64
+              </el-select>
65
+            </div>
66
+
67
+            <div style="width: 465px">
68
+              <span>日期查询:</span>
69
+              <el-date-picker
70
+                v-model="date"
71
+                type="daterange"
72
+                range-separator="至"
73
+                start-placeholder="开始日期"
74
+                end-placeholder="结束日期"
75
+              >
76
+              </el-date-picker>
77
+            </div>
78
+            <el-button
79
+              size="small"
80
+              class="filter-item"
81
+              type="primary"
82
+              icon="el-icon-search"
83
+              @click="search"
84
+              >查询</el-button
85
+            >
86
+          </div>
87
+        </div>
88
+        <el-table
89
+          ref="multipleTable"
90
+          :header-cell-style="{
91
+            backgroundColor: 'rgb(245, 247, 250)',
92
+            color: '#606266',
93
+          }"
94
+          :data="tableData"
95
+          @selection-change="handleSelectionChange"
96
+          border
97
+        >
98
+          <el-table-column type="selection" width="55"> </el-table-column>
99
+
100
+          <el-table-column label="申请编号" align="center">
101
+            <template slot-scope="scope">
102
+              <span></span>
103
+            </template>
104
+          </el-table-column>
105
+          <el-table-column label="患者名称" align="center">
106
+            <template slot-scope="scope">
107
+              <span></span>
108
+            </template>
109
+          </el-table-column>
110
+
111
+          <el-table-column label="退款类型" align="center">
112
+            <template slot-scope="scope">
113
+              <span></span>
114
+            </template>
115
+          </el-table-column>
116
+          <el-table-column label="退款金额" align="center">
117
+            <template slot-scope="scope">
118
+              <span></span>
119
+            </template>
120
+          </el-table-column>
121
+          <el-table-column label="退款状态" align="center">
122
+            <template slot-scope="scope">
123
+              <span></span>
124
+            </template>
125
+          </el-table-column>
126
+          <el-table-column label="备注" align="center">
127
+            <template slot-scope="scope">
128
+              <span></span>
129
+            </template>
130
+          </el-table-column>
131
+          <el-table-column label="申请人" align="center">
132
+            <template slot-scope="scope">
133
+              <span></span>
134
+            </template>
135
+          </el-table-column>
136
+          <el-table-column label="申请时间" align="center">
137
+            <template slot-scope="scope">
138
+              <span></span>
139
+            </template>
140
+          </el-table-column>
141
+          <el-table-column label="操作" align="center" width="350px">
142
+            <template slot-scope="scope">
143
+              <el-button
144
+                size="small"
145
+                type="primary"
146
+                icon="el-icon-edit-outline"
147
+                @click="edit(scope.row, scope.row.$index)"
148
+              >
149
+              </el-button>
150
+              <el-button
151
+                size="small"
152
+                type="danger"
153
+                icon="el-icon-delete"
154
+                @click="toDelete(scope.row, scope.row.$index)"
155
+              >
156
+              </el-button>
157
+            </template>
158
+          </el-table-column>
159
+        </el-table>
160
+        <div>充值金额合计:<span></span></div>
161
+      </div>
162
+
163
+      <el-dialog
164
+        title="申请退款"
165
+        :visible.sync="dialogVisible"
166
+        width="30%"
167
+        :show-close="close"
168
+      >
169
+        <refundAdd></refundAdd>
170
+        <span slot="footer" class="dialog-footer">
171
+          <el-button @click="pass">审核通过</el-button>
172
+          <el-button type="primary" @click="Submit">保 存</el-button>
173
+        </span>
174
+      </el-dialog>
175
+    </div>
176
+  </div>
177
+</template>
178
+<script>
179
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
180
+import refundAdd from "./Template/refundAdd.vue";
181
+export default {
182
+  components: {
183
+    BreadCrumb,
184
+    refundAdd,
185
+  },
186
+  data() {
187
+    return {
188
+      status: "",
189
+      value: "",
190
+      crumbs: [
191
+        { path: false, name: "押金管理" },
192
+        { path: "/DepositManagement/DepositSearch", name: "充值详情" },
193
+      ],
194
+      tableData: [{}, {}],
195
+      total: 0,
196
+      page: 1,
197
+      limit: 10,
198
+      keywords: "",
199
+      dialogVisible: false,
200
+      close: false,
201
+      date:""
202
+    };
203
+  },
204
+
205
+  methods: {
206
+    // 初始化数据
207
+    init() {},
208
+
209
+    // 查询操作
210
+    search() {},
211
+
212
+    // 新增
213
+    to_add() {
214
+      this.dialogVisible = true;
215
+    },
216
+
217
+    // 编辑
218
+    edit(){},
219
+
220
+    // 删除
221
+    toDelete(){},
222
+
223
+    // 审核通过
224
+    pass_exam() {},
225
+
226
+    // 审核拒绝
227
+    reject_exam() {},
228
+
229
+    // 提交
230
+    Submit() {},
231
+
232
+    // 退款申请审核
233
+    pass(){},
234
+
235
+    // 列表选择
236
+    handleSelectionChange(){}
237
+  },
238
+};
239
+</script>
240
+<style scoped>
241
+.Top {
242
+  width: 100%;
243
+  height: 40px;
244
+  display: flex;
245
+  justify-content: space-between;
246
+  align-items: center;
247
+  border-bottom: 1px solid #e5e5e5;
248
+  margin-bottom: 10px;
249
+}
250
+.btn_list {
251
+  display: flex;
252
+}
253
+</style>>
254
+

+ 127 - 0
src/xt_pages/DepositManagement/DepositSearch.vue View File

1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+      <div
8
+        style="
9
+          justify-content: flex-start;
10
+          margin: 0px 0 12px 0;
11
+          display: flex;
12
+          align-items: center;
13
+        "
14
+      >
15
+        <div>
16
+          <el-input
17
+            size="small"
18
+            style="width: 200px; margin-left: 10px"
19
+            class="filter-item"
20
+            placeholder="请输入患者名称"
21
+            v-model.trim="keywords"
22
+          />
23
+          <el-button
24
+            size="small"
25
+            class="filter-item"
26
+            type="primary"
27
+            icon="el-icon-search"
28
+            @click="search"
29
+            >查询</el-button
30
+          >
31
+        </div>
32
+      </div>
33
+
34
+      <el-table
35
+        :header-cell-style="{
36
+          backgroundColor: 'rgb(245, 247, 250)',
37
+          color: '#606266',
38
+        }"
39
+        :data="tableData"
40
+        border
41
+      >
42
+        <el-table-column type="index" label="序号" align="center" width="200">
43
+        </el-table-column>
44
+        <el-table-column label="患者名称" align="center">
45
+          <template slot-scope="scope">
46
+            <span></span>
47
+          </template>
48
+        </el-table-column>
49
+        <el-table-column label="可用金额" align="center">
50
+          <template slot-scope="scope">
51
+            <span>{{ scope.row.drug_spec ? scope.row.drug_spec : "" }}</span>
52
+          </template>
53
+        </el-table-column>
54
+        <el-table-column label="操作" align="center" width="450px">
55
+          <template slot-scope="scope">
56
+            <el-button
57
+              size="small"
58
+              type="primary"
59
+              @click="toDetails(scope.row, scope.row.$index)"
60
+            >
61
+              流水详情
62
+            </el-button>
63
+          </template>
64
+        </el-table-column>
65
+      </el-table>
66
+
67
+      <el-pagination
68
+        @size-change="handleSizeChange"
69
+        @current-change="handleCurrentChange"
70
+        :page-sizes="[10, 50, 100, 200, 500, 1000]"
71
+        :page-size="10"
72
+        background
73
+        align="right"
74
+        style="margin-top: 20px"
75
+        layout="total, sizes, prev, pager, next, jumper"
76
+        :total="total"
77
+      >
78
+      </el-pagination>
79
+    </div>
80
+  </div>
81
+</template>
82
+<script>
83
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
84
+export default {
85
+  components: {
86
+    BreadCrumb,
87
+  },
88
+  data() {
89
+    return {
90
+      crumbs: [
91
+        { path: false, name: "押金管理" },
92
+        { path: "/DepositManagement/DepositSearch", name: "押金查询" },
93
+      ],
94
+      tableData: [{}, {}],
95
+      total: 0,
96
+      page: 1,
97
+      limit: 10,
98
+      keywords:''
99
+    };
100
+  },
101
+
102
+  methods: {
103
+    // 初始化数据
104
+    init() {},
105
+
106
+    // 查询操作
107
+    search() {},
108
+
109
+    // 页表操作
110
+    handleSizeChange(val) {
111
+      this.limit = val;
112
+      this.init();
113
+    },
114
+    handleCurrentChange(val) {
115
+      this.page = val;
116
+      this.init();
117
+    },
118
+
119
+    // 流水详情
120
+    toDetails() {
121
+      this.$router.push({ path: "/DepositManagement/DepositDetails" });
122
+    },
123
+  },
124
+};
125
+</script>
126
+<style>
127
+</style>

+ 109 - 0
src/xt_pages/DepositManagement/RechargeDetailsSummary.vue View File

1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+      <div style="width: 100%">
8
+        <el-tabs v-model="activeName" @tab-click="handleClick">
9
+          <el-tab-pane label="充值明细" name="first">
10
+            <RechangeDetails></RechangeDetails>
11
+          </el-tab-pane>
12
+          <el-tab-pane label="充值汇总" name="second">
13
+            <RechargeSummary></RechargeSummary>
14
+          </el-tab-pane>
15
+        </el-tabs>
16
+        <div
17
+          style="position: absolute; top: 80px; right: 40px"
18
+          v-if="activeName == 'first'"
19
+        >
20
+          <el-button size="small" type="primary" @click="Add()">
21
+            新增
22
+          </el-button>
23
+        </div>
24
+      </div>
25
+      <el-dialog
26
+        title="新增押金"
27
+        :visible.sync="dialogVisible"
28
+        width="30%"
29
+        :show-close="close"
30
+      >
31
+        <!-- <span>这是一段信息</span> -->
32
+        <RechangeAd></RechangeAd>
33
+        <span slot="footer" class="dialog-footer">
34
+          <el-button @click="pass">审核通过</el-button>
35
+          <el-button type="primary" @click="Submit">提 交</el-button>
36
+        </span>
37
+      </el-dialog>
38
+    </div>
39
+  </div>
40
+</template>
41
+<script>
42
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
43
+import RechangeDetails from "./Template/RechargeDetails.vue";
44
+import RechargeSummary from "./Template/RechargeSummary.vue";
45
+import RechangeAd from "./Template/add_page.vue";
46
+export default {
47
+  components: {
48
+    BreadCrumb,
49
+    RechangeDetails,
50
+    RechargeSummary,
51
+    RechangeAd,
52
+  },
53
+  data() {
54
+    return {
55
+      crumbs: [
56
+        { path: false, name: "押金管理" },
57
+        { path: "/DepositManagement/DepositSearch", name: "充值详情" },
58
+      ],
59
+      activeName: "first",
60
+      tableData: [{}, {}],
61
+      total: 0,
62
+      page: 1,
63
+      limit: 10,
64
+      keywords: "",
65
+      dialogVisible: false,
66
+      close: false,
67
+    };
68
+  },
69
+
70
+  methods: {
71
+    // 初始化数据
72
+    init() {},
73
+
74
+    // 查询操作
75
+    search() {},
76
+    // 切换明细
77
+    handleClick(tab, event) {
78
+      console.log(tab, event);
79
+    },
80
+    // 页表操作
81
+    handleSizeChange(val) {
82
+      this.limit = val;
83
+      this.init();
84
+    },
85
+    handleCurrentChange(val) {
86
+      this.page = val;
87
+      this.init();
88
+    },
89
+
90
+    // 流水详情
91
+    toDetails() {
92
+      this.$router.push({ path: "/DepositManagement/DepositDetails" });
93
+    },
94
+
95
+    // 新增
96
+    Add() {
97
+      this.dialogVisible = true;
98
+    },
99
+
100
+    // 审核通过
101
+    pass() {},
102
+
103
+    // 提交
104
+    Submit() {},
105
+  },
106
+};
107
+</script>
108
+<style>
109
+</style>

+ 137 - 0
src/xt_pages/DepositManagement/Template/DeductionDetails.vue View File

1
+<template>
2
+  <div class="main-contain">
3
+    <div class="app-container">
4
+      <div
5
+        style="
6
+          justify-content: flex-start;
7
+          margin: 0px 0 12px 0;
8
+          display: flex;
9
+          align-items: center;
10
+        "
11
+      >
12
+        <div style="display: flex">
13
+          <div style="width: 250px">
14
+            <el-input
15
+              size="small"
16
+              style="width: 200px; margin-left: 10px"
17
+              class="filter-item"
18
+              placeholder="请输入编号/患者名称"
19
+              v-model.trim="keywords"
20
+            />
21
+          </div>
22
+
23
+          <div style="width: 465px">
24
+            <span>日期查询:</span>
25
+            <el-date-picker
26
+              v-model="value1"
27
+              type="daterange"
28
+              range-separator="至"
29
+              start-placeholder="开始日期"
30
+              end-placeholder="结束日期"
31
+            >
32
+            </el-date-picker>
33
+          </div>
34
+          <el-button
35
+            size="small"
36
+            class="filter-item"
37
+            type="primary"
38
+            icon="el-icon-search"
39
+            @click="search"
40
+            >查询</el-button
41
+          >
42
+        </div>
43
+      </div>
44
+
45
+      <el-table
46
+        :header-cell-style="{
47
+          backgroundColor: 'rgb(245, 247, 250)',
48
+          color: '#606266',
49
+        }"
50
+        :data="tableData"
51
+        border
52
+      >
53
+        <el-table-column type="index" label="序号" align="center" width="100">
54
+        </el-table-column>
55
+        <el-table-column label="就诊号" align="center" width="300">
56
+          <template slot-scope="scope">
57
+            <span></span>
58
+          </template>
59
+        </el-table-column>
60
+        <el-table-column label="患者名称" align="center">
61
+          <template slot-scope="scope">
62
+            <span></span>
63
+          </template>
64
+        </el-table-column>
65
+
66
+        <el-table-column label="医收费类型" align="center">
67
+          <template slot-scope="scope">
68
+            <span></span>
69
+          </template>
70
+        </el-table-column>
71
+        <el-table-column label="医疗费总额" align="center">
72
+          <template slot-scope="scope">
73
+            <span></span>
74
+          </template>
75
+        </el-table-column>
76
+        <el-table-column label="押金支付金额" align="center">
77
+          <template slot-scope="scope">
78
+            <span></span>
79
+          </template>
80
+        </el-table-column>
81
+        <el-table-column label="收费日期" align="center">
82
+          <template slot-scope="scope">
83
+            <span></span>
84
+          </template>
85
+        </el-table-column>
86
+        <el-table-column label="操作" align="center" width="350px">
87
+          <template slot-scope="scope">
88
+            <el-button
89
+              size="small"
90
+              type="primary"
91
+              @click="Details(scope.row, scope.row.$index)"
92
+            >
93
+              查看详情
94
+            </el-button>
95
+          </template>
96
+        </el-table-column>
97
+      </el-table>
98
+
99
+      <div>押金支付金额合计:<span></span></div>
100
+    </div>
101
+  </div>
102
+</template>
103
+<script>
104
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
105
+export default {
106
+  components: {
107
+    BreadCrumb,
108
+  },
109
+  data() {
110
+    return {
111
+      crumbs: [
112
+        { path: false, name: "押金管理" },
113
+        { path: "/DepositManagement/DepositSearch", name: "押金查询" },
114
+      ],
115
+      tableData: [{}, {}],
116
+      total: 0,
117
+      page: 1,
118
+      limit: 10,
119
+      keywords: "",
120
+      value1: "",
121
+    };
122
+  },
123
+
124
+  methods: {
125
+    // 初始化数据
126
+    init() {},
127
+
128
+    // 查询操作
129
+    search() {},
130
+
131
+    // 查看详情
132
+    Details() {},
133
+  },
134
+};
135
+</script>
136
+<style>
137
+</style>

+ 118 - 0
src/xt_pages/DepositManagement/Template/DeductionSummary.vue View File

1
+<template>
2
+  <div class="main-contain">
3
+    <div class="app-container">
4
+      <div
5
+        style="
6
+          justify-content: flex-start;
7
+          margin: 0px 0 12px 0;
8
+          display: flex;
9
+          align-items: center;
10
+        "
11
+      >
12
+        <div style="display: flex">
13
+          <div style="width: 250px">
14
+            <el-input
15
+              size="small"
16
+              style="width: 200px; margin-left: 10px"
17
+              class="filter-item"
18
+              placeholder="请输入编号/患者名称"
19
+              v-model.trim="keywords"
20
+            />
21
+          </div>
22
+
23
+          <div style="width: 465px">
24
+            <span>日期查询:</span>
25
+            <el-date-picker
26
+              v-model="value1"
27
+              type="daterange"
28
+              range-separator="至"
29
+              start-placeholder="开始日期"
30
+              end-placeholder="结束日期"
31
+            >
32
+            </el-date-picker>
33
+          </div>
34
+          <el-button
35
+            size="small"
36
+            class="filter-item"
37
+            type="primary"
38
+            icon="el-icon-search"
39
+            @click="search"
40
+            >查询</el-button
41
+          >
42
+        </div>
43
+      </div>
44
+
45
+      <el-table
46
+        :header-cell-style="{
47
+          backgroundColor: 'rgb(245, 247, 250)',
48
+          color: '#606266',
49
+        }"
50
+        :data="tableData"
51
+        border
52
+      >
53
+        <el-table-column type="index" label="序号" align="center" width="200">
54
+        </el-table-column>
55
+
56
+        <el-table-column label="患者名称" align="center">
57
+          <template slot-scope="scope">
58
+            <span></span>
59
+          </template>
60
+        </el-table-column>
61
+
62
+        <el-table-column label="医疗费总额" align="center">
63
+          <template slot-scope="scope">
64
+            <span></span>
65
+          </template>
66
+        </el-table-column>
67
+        <el-table-column label="押金支付金额" align="center">
68
+          <template slot-scope="scope">
69
+            <span></span>
70
+          </template>
71
+        </el-table-column>
72
+      </el-table>
73
+
74
+      <div>押金支付金额合计:<span></span></div>
75
+    </div>
76
+  </div>
77
+</template>
78
+<script>
79
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
80
+export default {
81
+  components: {
82
+    BreadCrumb,
83
+  },
84
+  data() {
85
+    return {
86
+      crumbs: [
87
+        { path: false, name: "押金管理" },
88
+        { path: "/DepositManagement/DepositSearch", name: "押金查询" },
89
+      ],
90
+      tableData: [{}, {}],
91
+      total: 0,
92
+      page: 1,
93
+      limit: 10,
94
+      keywords: "",
95
+      value1: "",
96
+    };
97
+  },
98
+
99
+  methods: {
100
+    // 初始化数据
101
+    init() {},
102
+
103
+    // 查询操作
104
+    search() {},
105
+
106
+    // 删除
107
+    toDelete() {},
108
+
109
+    // 审核
110
+    examine() {},
111
+
112
+    // 打印凭证
113
+    print() {},
114
+  },
115
+};
116
+</script>
117
+<style>
118
+</style>

+ 130 - 0
src/xt_pages/DepositManagement/Template/DepositDetails.vue View File

1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+      <div
8
+        style="
9
+          justify-content: flex-start;
10
+          margin: 0px 0 12px 0;
11
+          display: flex;
12
+          align-items: center;
13
+        "
14
+      >
15
+        <div style="width: 200px">
16
+          <span>患者名称:</span>
17
+        </div>
18
+        <div style="width: 200px">
19
+          <span>可用金额:</span>
20
+        </div>
21
+      </div>
22
+      <div
23
+        style="
24
+          justify-content: flex-start;
25
+          margin: 0px 0 12px 0;
26
+          display: flex;
27
+          align-items: center;
28
+        "
29
+      >
30
+        <div style="width: 550px">
31
+          <span>日期查询:</span>
32
+          <el-date-picker
33
+            v-model="value1"
34
+            type="daterange"
35
+            range-separator="至"
36
+            start-placeholder="开始日期"
37
+            end-placeholder="结束日期"
38
+          >
39
+          </el-date-picker>
40
+        </div>
41
+        <div style="width: 300px">
42
+          <span>押金类型:</span>
43
+          <el-select v-model="value" placeholder="请选择">
44
+            <el-option
45
+              v-for="item in [1,2]"
46
+              :key="item"
47
+              :label="item"
48
+              :value="item"
49
+            >
50
+            </el-option>
51
+          </el-select>
52
+        </div>
53
+      </div>
54
+
55
+      <el-table
56
+        :header-cell-style="{
57
+          backgroundColor: 'rgb(245, 247, 250)',
58
+          color: '#606266',
59
+        }"
60
+        :data="tableData"
61
+        border
62
+      >
63
+        <el-table-column type="index" label="序号" align="center" width="100">
64
+        </el-table-column>
65
+        <el-table-column label="押金类型" align="center">
66
+          <template slot-scope="scope">
67
+            <span></span>
68
+          </template>
69
+        </el-table-column>
70
+        <el-table-column label="充值/扣费单据编码" align="center">
71
+          <template slot-scope="scope">
72
+            <span></span>
73
+          </template>
74
+        </el-table-column>
75
+        <el-table-column label="充值金额" align="center">
76
+          <template slot-scope="scope">
77
+            <span></span>
78
+          </template>
79
+        </el-table-column>
80
+        <el-table-column label="扣费金额" align="center">
81
+          <template slot-scope="scope">
82
+            <span></span>
83
+          </template>
84
+        </el-table-column>
85
+        <el-table-column label="可用金额" align="center">
86
+          <template slot-scope="scope">
87
+            <span></span>
88
+          </template>
89
+        </el-table-column>
90
+       
91
+      </el-table>
92
+
93
+    </div>
94
+  </div>
95
+</template>
96
+<script>
97
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
98
+export default {
99
+  components: {
100
+    BreadCrumb,
101
+  },
102
+  data() {
103
+    return {
104
+      crumbs: [
105
+        { path: false, name: "押金管理" },
106
+        { path: "/DepositManagement/DepositSearch", name: "流水详情" },
107
+      ],
108
+      tableData: [{}, {}],
109
+      total: 0,
110
+      page: 1,
111
+      limit: 10,
112
+      keywords: "",
113
+      value1:""
114
+    };
115
+  },
116
+
117
+  methods: {
118
+    // 初始化数据
119
+    init() {},
120
+
121
+    // 查询操作
122
+    search() {},
123
+  },
124
+};
125
+</script>
126
+<style scoped>
127
+/deep/ .el-range-separator {
128
+  width: 10%;
129
+}
130
+</style>

+ 166 - 0
src/xt_pages/DepositManagement/Template/RechargeDetails.vue View File

1
+<template>
2
+  <div class="main-contain">
3
+    <div class="app-container">
4
+      <div
5
+        style="
6
+          justify-content: flex-start;
7
+          margin: 0px 0 12px 0;
8
+          display: flex;
9
+          align-items: center;
10
+        "
11
+      >
12
+        <div style="display: flex">
13
+          <div style="width: 250px">
14
+            <el-input
15
+              size="small"
16
+              style="width: 200px; margin-left: 10px"
17
+              class="filter-item"
18
+              placeholder="请输入编号/患者名称"
19
+              v-model.trim="keywords"
20
+            />
21
+          </div>
22
+
23
+          <div style="width: 465px">
24
+            <span>日期查询:</span>
25
+            <el-date-picker
26
+              v-model="value1"
27
+              type="daterange"
28
+              range-separator="至"
29
+              start-placeholder="开始日期"
30
+              end-placeholder="结束日期"
31
+            >
32
+            </el-date-picker>
33
+          </div>
34
+          <el-button
35
+            size="small"
36
+            class="filter-item"
37
+            type="primary"
38
+            icon="el-icon-search"
39
+            @click="search"
40
+            >查询</el-button
41
+          >
42
+        </div>
43
+      </div>
44
+
45
+      <el-table
46
+        :header-cell-style="{
47
+          backgroundColor: 'rgb(245, 247, 250)',
48
+          color: '#606266',
49
+        }"
50
+        :data="tableData"
51
+        border
52
+      >
53
+        <el-table-column type="index" label="序号" align="center" width="200">
54
+        </el-table-column>
55
+        <el-table-column label="单据编号" align="center">
56
+          <template slot-scope="scope">
57
+            <span></span>
58
+          </template>
59
+        </el-table-column>
60
+        <el-table-column label="患者名称" align="center">
61
+          <template slot-scope="scope">
62
+            <span></span>
63
+          </template>
64
+        </el-table-column>
65
+
66
+        <el-table-column label="充值金额" align="center">
67
+          <template slot-scope="scope">
68
+            <span></span>
69
+          </template>
70
+        </el-table-column>
71
+        <el-table-column label="审核状态" align="center">
72
+          <template slot-scope="scope">
73
+            <span></span>
74
+          </template>
75
+        </el-table-column>
76
+        <el-table-column label="创建人" align="center">
77
+          <template slot-scope="scope">
78
+            <span></span>
79
+          </template>
80
+        </el-table-column>
81
+        <el-table-column label="充值时间" align="center">
82
+          <template slot-scope="scope">
83
+            <span></span>
84
+          </template>
85
+        </el-table-column>
86
+        <el-table-column label="备注" align="center">
87
+          <template slot-scope="scope">
88
+            <span></span>
89
+          </template>
90
+        </el-table-column>
91
+        <el-table-column label="操作" align="center" width="350px">
92
+          <template slot-scope="scope">
93
+            <el-button
94
+              size="small"
95
+              type="primary"
96
+              @click="examine(scope.row, scope.row.$index)"
97
+            >
98
+              审核
99
+            </el-button>
100
+            <el-button
101
+              size="small"
102
+              type="primary"
103
+              @click="print(scope.row, scope.row.$index)"
104
+            >
105
+              打印凭证
106
+            </el-button>
107
+            <el-button
108
+              size="small"
109
+              type="danger"
110
+              @click="toDelete(scope.row, scope.row.$index)"
111
+            >
112
+              删除
113
+            </el-button>
114
+          </template>
115
+        </el-table-column>
116
+      </el-table>
117
+
118
+      <div>
119
+          充值金额合计:<span></span>
120
+      </div>
121
+    </div>
122
+  </div>
123
+</template>
124
+<script>
125
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
126
+export default {
127
+  components: {
128
+    BreadCrumb,
129
+  },
130
+  data() {
131
+    return {
132
+      crumbs: [
133
+        { path: false, name: "押金管理" },
134
+        { path: "/DepositManagement/DepositSearch", name: "押金查询" },
135
+      ],
136
+      tableData: [{}, {}],
137
+      total: 0,
138
+      page: 1,
139
+      limit: 10,
140
+      keywords: "",
141
+      value1:""
142
+    };
143
+  },
144
+
145
+  methods: {
146
+    // 初始化数据
147
+    init() {},
148
+
149
+    // 查询操作
150
+    search() {},
151
+
152
+    // 删除
153
+    toDelete() {},
154
+
155
+    // 审核
156
+    examine() {},
157
+
158
+    // 打印凭证
159
+    print(){
160
+      this.$router.push({path:"/DepositManagement/printindex"})
161
+    }
162
+  },
163
+};
164
+</script>
165
+<style>
166
+</style>

+ 121 - 0
src/xt_pages/DepositManagement/Template/RechargeSummary.vue View File

1
+<template>
2
+  <div class="main-contain">
3
+    <div class="app-container">
4
+      <div
5
+        style="
6
+          justify-content: flex-start;
7
+          margin: 0px 0 12px 0;
8
+          display: flex;
9
+          align-items: center;
10
+        "
11
+      >
12
+        <div style="display: flex">
13
+          <div style="width: 250px">
14
+            <el-input
15
+              size="small"
16
+              style="width: 200px; margin-left: 10px"
17
+              class="filter-item"
18
+              placeholder="请输入编号/患者名称"
19
+              v-model.trim="keywords"
20
+            />
21
+          </div>
22
+
23
+          <div style="width: 465px">
24
+            <span>日期查询:</span>
25
+            <el-date-picker
26
+              v-model="value1"
27
+              type="daterange"
28
+              range-separator="至"
29
+              start-placeholder="开始日期"
30
+              end-placeholder="结束日期"
31
+            >
32
+            </el-date-picker>
33
+          </div>
34
+          <el-button
35
+            size="small"
36
+            class="filter-item"
37
+            type="primary"
38
+            icon="el-icon-search"
39
+            @click="search"
40
+            >查询</el-button
41
+          >
42
+        </div>
43
+      </div>
44
+
45
+      <el-table
46
+        :header-cell-style="{
47
+          backgroundColor: 'rgb(245, 247, 250)',
48
+          color: '#606266',
49
+        }"
50
+        :data="tableData"
51
+        border
52
+      >
53
+        <el-table-column type="index" label="序号" align="center" width="200">
54
+        </el-table-column>
55
+        
56
+        <el-table-column label="患者名称" align="center">
57
+          <template slot-scope="scope">
58
+            <span></span>
59
+          </template>
60
+        </el-table-column>
61
+
62
+        <el-table-column label="充值金额" align="center">
63
+          <template slot-scope="scope">
64
+            <span></span>
65
+          </template>
66
+        </el-table-column>
67
+        <el-table-column label="押金余额" align="center">
68
+          <template slot-scope="scope">
69
+            <span></span>
70
+          </template>
71
+        </el-table-column>
72
+        
73
+      </el-table>
74
+
75
+      <div>
76
+          充值金额合计:<span></span>
77
+      </div>
78
+    </div>
79
+  </div>
80
+</template>
81
+<script>
82
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
83
+export default {
84
+  components: {
85
+    BreadCrumb,
86
+  },
87
+  data() {
88
+    return {
89
+      crumbs: [
90
+        { path: false, name: "押金管理" },
91
+        { path: "/DepositManagement/DepositSearch", name: "押金查询" },
92
+      ],
93
+      tableData: [{}, {}],
94
+      total: 0,
95
+      page: 1,
96
+      limit: 10,
97
+      keywords: "",
98
+      value1:""
99
+    };
100
+  },
101
+
102
+  methods: {
103
+    // 初始化数据
104
+    init() {},
105
+
106
+    // 查询操作
107
+    search() {},
108
+
109
+    // 删除
110
+    toDelete() {},
111
+
112
+    // 审核
113
+    examine() {},
114
+
115
+    // 打印凭证
116
+    print(){}
117
+  },
118
+};
119
+</script>
120
+<style>
121
+</style>

+ 42 - 0
src/xt_pages/DepositManagement/Template/add_page.vue View File

1
+<template>
2
+  <div>
3
+    <el-form ref="form" :model="form" label-width="80px">
4
+      <el-form-item label="押金编号">
5
+        <span>{{form.id}}</span>
6
+      </el-form-item>
7
+      <el-form-item label="患者名称">
8
+        <el-input v-model="form.patient_name"></el-input>
9
+      </el-form-item>
10
+      <el-form-item label="押金金额">
11
+        <el-input v-model="form.money"></el-input>
12
+      </el-form-item>
13
+      <el-form-item label="备注">
14
+        <el-input type="textarea" v-model="form.remarks"></el-input>
15
+      </el-form-item>
16
+    </el-form>
17
+  </div>
18
+</template>
19
+<script>
20
+export default {
21
+  data() {
22
+    return {
23
+      form: {
24
+        remarks:"",
25
+        id:"HSG47565",
26
+        patient_name:"",
27
+        money:0
28
+      },
29
+    };
30
+  },
31
+};
32
+</script>
33
+
34
+<style scoped>
35
+.el-input{
36
+    width: 50%;
37
+}
38
+
39
+.el-textarea{
40
+    width: 65%;
41
+}
42
+</style>

+ 42 - 0
src/xt_pages/DepositManagement/Template/refundAdd.vue View File

1
+<template>
2
+  <div>
3
+    <el-form ref="form" :model="form" label-width="80px">
4
+      <el-form-item label="申请编号">
5
+        <span>{{form.id}}</span>
6
+      </el-form-item>
7
+      <el-form-item label="患者名称">
8
+        <el-input v-model="form.patient_name"></el-input>
9
+      </el-form-item>
10
+      <el-form-item label="押金余额">
11
+        <span>{{form.id}}</span>
12
+      </el-form-item>
13
+     <el-form-item label="退款金额">
14
+        <el-input v-model="form.patient_name"></el-input>元
15
+      </el-form-item>
16
+    </el-form>
17
+  </div>
18
+</template>
19
+<script>
20
+export default {
21
+  data() {
22
+    return {
23
+      form: {
24
+        remarks:"",
25
+        id:"HSG47565",
26
+        patient_name:"",
27
+        money:0
28
+      },
29
+    };
30
+  },
31
+};
32
+</script>
33
+
34
+<style scoped>
35
+.el-input{
36
+    width: 50%;
37
+}
38
+
39
+.el-textarea{
40
+    width: 65%;
41
+}
42
+</style>

+ 102 - 0
src/xt_pages/DepositManagement/print/printindex.vue View File

1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+
7
+    <div class="app-container">
8
+      <div class="btn">
9
+        <el-button type="primary" @click="to_print">打印</el-button>
10
+      </div>
11
+      <div id="dialysis-print-box">
12
+        <div class="dialysis-print-order">
13
+          <div class="print">
14
+            <h2>收据凭证</h2>
15
+            <p>收款日期: 2022年4月27日</p>
16
+            <div class="content">
17
+              <div style="display: flex; padding: 0 30px">
18
+                <div style="display: flex">
19
+                  <div>收款单位:</div>
20
+                  <div
21
+                    style="min-width: 224px; border-bottom: 1px solid #000"
22
+                  ></div>
23
+                </div>
24
+                <div style="display: flex">
25
+                  <div>收款方式:</div>
26
+                  <div
27
+                    style="min-width: 224px; border-bottom: 1px solid #000"
28
+                  ></div>
29
+                </div>
30
+              </div>
31
+              <div style="display: flex; padding: 0 30px">
32
+                <div>人民币:</div>
33
+                ¥
34
+                <div
35
+                  style="min-width: 225px; border-bottom: 1px solid #000"
36
+                ></div>
37
+              </div>
38
+              <div style="display: flex; padding: 0 30px">
39
+                <div>收款是由:</div>
40
+                <div style="width: 86%; border-bottom: 1px solid #000"></div>
41
+              </div>
42
+            </div>
43
+          </div>
44
+        </div>
45
+      </div>
46
+    </div>
47
+  </div>
48
+</template>
49
+<script>
50
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
51
+export default {
52
+  components: {
53
+    BreadCrumb,
54
+  },
55
+  data() {
56
+    return {
57
+      crumbs: [
58
+        { path: false, name: "押金管理" },
59
+        { path: "/DepositManagement/DepositSearch", name: "打印凭证" },
60
+      ],
61
+    };
62
+  },
63
+  methods: {
64
+    to_print() {
65
+      const style =
66
+        '@media print {.dialysis-print-order{width:960px;margin:0 auto} .print h2{text-align: center;} .print p{width: 85%;text-align: right;} .content{width: 70%;height: 250px;border: 1px solid #000;margin: 20px auto;display: flex;flex-direction: column;justify-content: space-evenly;}';
67
+      printJS({
68
+        printable: "dialysis-print-box",
69
+        type: "html",
70
+        style: style,
71
+        scanStyles: false,
72
+      });
73
+    },
74
+  },
75
+};
76
+</script>
77
+
78
+<style scoped>
79
+.btn {
80
+  position: absolute;
81
+  top: 60px;
82
+  right: 40px;
83
+}
84
+
85
+.print h2 {
86
+  text-align: center;
87
+}
88
+
89
+.print p {
90
+  width: 85%;
91
+  text-align: right;
92
+}
93
+.content {
94
+  width: 70%;
95
+  height: 250px;
96
+  border: 1px solid #000;
97
+  margin: 20px auto;
98
+  display: flex;
99
+  flex-direction: column;
100
+  justify-content: space-evenly;
101
+}
102
+</style>

+ 445 - 337
src/xt_pages/data/components/addInspection.vue View File

1
 <template>
1
 <template>
2
-    <el-dialog
3
-            :title="formTitle"
4
-            width="900px"
5
-            :visible.sync="visible"
6
-            :before-close="_close"
7
-    >
8
-        <div>
9
-            <el-form :model="form" :rules="rules" ref="form" label-width="100px"
10
-                     style="display: flex;flex-wrap: wrap;justify-content: space-between;">
11
-                <el-form-item label="组套名称 : " prop="project_team" style="width:100%">
12
-                    <el-input v-model="form.project_team" placeholder="" maxlength="30"></el-input>
13
-                </el-form-item>
14
-                <el-form-item label="组套价格 : " prop="price" style="width:100%">
15
-                    <el-input v-model="form.price" placeholder="" maxlength="30"></el-input>
16
-                </el-form-item>
17
-                <el-form-item label="拼音 : " prop="pinyin" style="width:50%">
18
-                    <el-input v-model="form.pinyin" placeholder="" maxlength="30"></el-input>
19
-                </el-form-item>
20
-                <el-form-item label="五笔 : " prop="wubi" style="width:50%">
21
-                    <el-input v-model="form.wubi" placeholder="" maxlength="30"></el-input>
22
-                </el-form-item>
2
+  <el-dialog
3
+    :title="formTitle"
4
+    width="900px"
5
+    :visible.sync="visible"
6
+    :before-close="_close"
7
+  >
8
+    <div>
9
+      <el-form
10
+        :model="form"
11
+        :rules="rules"
12
+        ref="form"
13
+        label-width="100px"
14
+        style="display: flex; flex-wrap: wrap; justify-content: space-between"
15
+      >
16
+        <el-form-item
17
+          label="组套名称 : "
18
+          prop="project_team"
19
+          style="width: 100%"
20
+        >
21
+          <el-input
22
+            v-model="form.project_team"
23
+            placeholder=""
24
+            maxlength="30"
25
+          ></el-input>
26
+        </el-form-item>
27
+        <el-form-item label="组套价格 : " prop="price" style="width: 100%">
28
+          <el-input
29
+            v-model="form.price"
30
+            placeholder=""
31
+            maxlength="30"
32
+          ></el-input>
33
+        </el-form-item>
34
+        <el-form-item label="拼音 : " prop="pinyin" style="width: 50%">
35
+          <el-input
36
+            v-model="form.pinyin"
37
+            placeholder=""
38
+            maxlength="30"
39
+          ></el-input>
40
+        </el-form-item>
41
+        <el-form-item label="五笔 : " prop="wubi" style="width: 50%">
42
+          <el-input
43
+            v-model="form.wubi"
44
+            placeholder=""
45
+            maxlength="30"
46
+          ></el-input>
47
+        </el-form-item>
23
 
48
 
24
-                <el-form-item label="试管颜色 : " prop="tube_color" style="width:50%">
25
-                    <el-select v-model="form.tube_color" style="width:160px;" placeholder="请选择">
26
-                        <el-option
27
-                                v-for="(item,index) in getDictionaryDataConfig('system','tube_color')"
28
-                                :key="index"
29
-                                :label="item.name"
30
-                                :value="item.id">
31
-                        </el-option>
32
-                    </el-select>
33
-                </el-form-item>
34
-                <el-form-item label="组套类型 : " prop="team_type" style="width:50%">
35
-                    <el-select v-model="form.team_type" style="width:100%;" placeholder="请选择">
36
-                        <el-option
37
-                                v-for="item in options"
38
-                                :key="item.value"
39
-                                :label="item.label"
40
-                                :value="item.value">
41
-                        </el-option>
42
-                    </el-select>
43
-                </el-form-item>
44
-                <el-form-item label="备注 : " prop="name" style="width:100%;">
45
-                    <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="form.remark"></el-input>
46
-                </el-form-item>
49
+        <el-form-item label="试管颜色 : " prop="tube_color" style="width: 50%">
50
+          <el-select
51
+            v-model="form.tube_color"
52
+            style="width: 160px"
53
+            placeholder="请选择"
54
+          >
55
+            <el-option
56
+              v-for="(item, index) in getDictionaryDataConfig(
57
+                'system',
58
+                'tube_color'
59
+              )"
60
+              :key="index"
61
+              :label="item.name"
62
+              :value="item.id"
63
+            >
64
+            </el-option>
65
+          </el-select>
66
+        </el-form-item>
67
+        <el-form-item label="组套类型 : " prop="team_type" style="width: 50%">
68
+          <el-select
69
+            v-model="form.team_type"
70
+            style="width: 100%"
71
+            placeholder="请选择"
72
+          >
73
+            <el-option
74
+              v-for="item in options"
75
+              :key="item.value"
76
+              :label="item.label"
77
+              :value="item.value"
78
+            >
79
+            </el-option>
80
+          </el-select>
81
+        </el-form-item>
82
+        <el-form-item label="备注 : " prop="name" style="width: 100%">
83
+          <el-input
84
+            type="textarea"
85
+            :rows="2"
86
+            placeholder="请输入内容"
87
+            v-model="form.remark"
88
+          ></el-input>
89
+        </el-form-item>
47
 
90
 
48
-                <el-form-item label="组套明细" style="width:50%;">
49
-                    <el-select v-model="form.project_detail" filterable placeholder="请选择" @change="changeProject">
50
-                        <el-option
51
-                                v-for="item in projectList"
52
-                                :key="item.new_id"
53
-                                :label="item.project_name"
54
-                                :value="item.new_id">
55
-                        </el-option>
56
-                    </el-select>
57
-                </el-form-item>
91
+        <el-form-item label="组套明细" style="width: 50%">
92
+          <el-select
93
+            v-model="form.project_detail"
94
+            filterable
95
+            placeholder="请选择"
96
+            @change="changeProject"
97
+          >
98
+            <el-option
99
+              v-for="item in projectList"
100
+              :key="item.new_id"
101
+              :label="item.project_name"
102
+              :value="item.new_id"
103
+            >
104
+            </el-option>
105
+          </el-select>
106
+        </el-form-item>
58
 
107
 
59
-                <el-form-item label="数量" style="width:50%;">
60
-                    <div style="display:flex;">
61
-                        <el-input v-model="form.number" style="margin-right:10px;"></el-input>
62
-                        <el-button type="primary" @click="addProjectList">添加</el-button>
63
-                    </div>
64
-                </el-form-item>
65
-            </el-form>
66
-            <el-form>
67
-                <el-table :data="tableData" border style="100%" :row-style="{ color: '#303133' }"
68
-                          :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
69
-                          highlight-current-row ref="tab">
70
-                    <el-table-column align="center" prop="name" label="分类" width="120">
71
-                        <template slot-scope="scope">
72
-                            <div>{{scope.row.type == 2?getId(scope.row.statistical_classification):'耗材'}}</div>
73
-                        </template>
74
-                    </el-table-column>
75
-                    <el-table-column align="center" prop="name" label="组套明细" width="120">
76
-                        <template slot-scope="scope">{{scope.row.project_name}}</template>
77
-                    </el-table-column>
78
-                    <el-table-column align="center" prop="name" label="数量" width="120">
79
-                        <template slot-scope="scope">{{scope.row.number}}</template>
80
-                    </el-table-column>
81
-                    <el-table-column align="center" prop="name" label="单位" width="120">
82
-                        <template slot-scope="scope">
83
-                            <div v-if="scope.row.type == 2">{{scope.row.unit}}</div>
84
-                            <div v-if="scope.row.type == 3">{{getUnit(scope.row.unit)}}</div>
108
+        <el-form-item label="数量" style="width: 50%">
109
+          <div style="display: flex">
110
+            <el-input
111
+              v-model="form.number"
112
+              style="margin-right: 10px"
113
+            ></el-input>
114
+            <el-button type="primary" @click="addProjectList">添加</el-button>
115
+          </div>
116
+        </el-form-item>
117
+      </el-form>
118
+      <el-form>
119
+        <el-table
120
+          :data="tableData"
121
+          border
122
+          style="100%"
123
+          :row-style="{ color: '#303133' }"
124
+          :header-cell-style="{
125
+            backgroundColor: 'rgb(245, 247, 250)',
126
+            color: '#606266',
127
+          }"
128
+          highlight-current-row
129
+          ref="tab"
130
+        >
131
+          <el-table-column align="center" prop="name" label="分类" width="120">
132
+            <template slot-scope="scope">
133
+              <div>
134
+                {{
135
+                  scope.row.type == 2
136
+                    ? getId(scope.row.statistical_classification)
137
+                    : "耗材"
138
+                }}
139
+              </div>
140
+            </template>
141
+          </el-table-column>
142
+          <el-table-column
143
+            align="center"
144
+            prop="name"
145
+            label="组套明细"
146
+            width="120"
147
+          >
148
+            <template slot-scope="scope">{{ scope.row.project_name }}</template>
149
+          </el-table-column>
150
+          <el-table-column align="center" prop="name" label="数量" width="120">
151
+            <template slot-scope="scope">{{ scope.row.number }}</template>
152
+          </el-table-column>
153
+          <el-table-column align="center" prop="name" label="单位" width="120">
154
+            <template slot-scope="scope">
155
+              <div v-if="scope.row.type == 2">{{ scope.row.unit }}</div>
156
+              <div v-if="scope.row.type == 3">
157
+                {{ getUnit(scope.row.unit) }}
158
+              </div>
159
+            </template>
160
+          </el-table-column>
161
+          <el-table-column align="center" prop="name" label="单价" width="120">
162
+            <template slot-scope="scope">{{ scope.row.price }}</template>
163
+          </el-table-column>
164
+          <el-table-column align="center" prop="name" label="操作">
165
+            <template slot-scope="scope">
166
+              <el-tooltip
167
+                class="item"
168
+                effect="dark"
169
+                content="删除"
170
+                placement="top"
171
+              >
172
+                <el-button
173
+                  type="danger"
174
+                  icon="el-icon-delete"
175
+                  size="small"
176
+                  @click="DeleteProject(scope.row.id, scope.$index)"
177
+                ></el-button>
178
+              </el-tooltip>
179
+            </template>
180
+          </el-table-column>
181
+        </el-table>
182
+      </el-form>
183
+    </div>
85
 
184
 
86
-                        </template>
87
-                    </el-table-column>
88
-                    <el-table-column align="center" prop="name" label="单价" width="120">
89
-                        <template slot-scope="scope">{{scope.row.price}}</template>
90
-                    </el-table-column>
91
-                    <el-table-column align="center" prop="name" label="操作">
92
-                        <template slot-scope="scope">
93
-                            <el-tooltip
94
-                                    class="item"
95
-                                    effect="dark"
96
-                                    content="删除"
97
-                                    placement="top"
98
-                            >
99
-                                <el-button
100
-                                        type="danger"
101
-                                        icon="el-icon-delete"
102
-                                        size="small"
103
-                                        @click="DeleteProject(scope.row.id,scope.$index)"
104
-                                ></el-button>
105
-                            </el-tooltip>
106
-                        </template>
107
-                    </el-table-column>
108
-                </el-table>
109
-            </el-form>
110
-        </div>
111
-
112
-
113
-        <div slot="footer" class="dialog-footer">
114
-            <el-button @click="hide">取 消</el-button>
115
-            <el-button type="primary" @click="submitAction('form')">保 存</el-button>
116
-        </div>
117
-    </el-dialog>
185
+    <div slot="footer" class="dialog-footer">
186
+      <el-button @click="hide">取 消</el-button>
187
+      <el-button type="primary" @click="submitAction('form')">保 存</el-button>
188
+    </div>
189
+  </el-dialog>
118
 </template>
190
 </template>
119
 
191
 
120
 <script>
192
 <script>
121
-  import { getDataConfig, getDictionaryDataConfig } from '@/utils/data'
122
-  import {
123
-    addProjectList,
124
-    DeleteProject,
125
-    getAllProjectList,
126
-    getProjectDetail,
127
-    saveProjectTeam
128
-  } from '@/api/project/project'
193
+import { getDataConfig, getDictionaryDataConfig } from "@/utils/data";
194
+import {
195
+  addProjectList,
196
+  DeleteProject,
197
+  getAllProjectList,
198
+  getProjectDetail,
199
+  saveProjectTeam,
200
+} from "@/api/project/project";
129
 
201
 
130
-  import { saveTeam } from '@/api/his/his'
202
+import { saveTeam } from "@/api/his/his";
131
 
203
 
132
-  export default {
133
-    data() {
134
-      return {
135
-        project_name: '',
136
-        visible: false,
137
-        formTitle: '',
138
-        activeName: 'first',
139
-        form: {
140
-          project_team: '',
141
-          price: 0,
142
-          pinyin: '',
143
-          wubi: '',
144
-          tube_color: '',
145
-          team_type: '',
146
-          remark: '',
147
-          project_detail: '',
148
-          number: '1'
149
-        },
150
-        options: [
151
-          { value: 1, label: '是' },
152
-          { value: 2, label: '否' }
204
+export default {
205
+  data() {
206
+    return {
207
+      project_name: "",
208
+      visible: false,
209
+      formTitle: "",
210
+      activeName: "first",
211
+      form: {
212
+        project_team: "",
213
+        price: 0,
214
+        pinyin: "",
215
+        wubi: "",
216
+        tube_color: "",
217
+        team_type: "",
218
+        remark: "",
219
+        project_detail: "",
220
+        number: "1",
221
+      },
222
+      options: [
223
+        { value: 1, label: "是" },
224
+        { value: 2, label: "否" },
225
+      ],
226
+      value: "",
227
+      radio: "1",
228
+      rules: {
229
+        project_team: [
230
+          { required: true, message: "请填写组套名称", trigger: "blur" },
153
         ],
231
         ],
154
-        value: '',
155
-        radio: '1',
156
-        rules: {
157
-          project_team: [{ required: true, message: '请填写组套名称', trigger: 'blur' }],
158
-          //   pinyin: [{ required: true, message: '请填写拼音' , trigger: 'blur' }],
159
-          //   wubi: [{ required: true, message: '请填写五笔' , trigger: 'blur' }],
160
-          price: [{ required: true, message: '请填写价格', trigger: 'change' }],
161
-          //team_type: [{ required: true, message: '请填写组套类型', trigger: 'change' }]
162
-        },
163
-        tableData: [],
164
-        projectList: [],
165
-        tabList: [],
166
-        itemList: []
232
+        //   pinyin: [{ required: true, message: '请填写拼音' , trigger: 'blur' }],
233
+        //   wubi: [{ required: true, message: '请填写五笔' , trigger: 'blur' }],
234
+        price: [{ required: true, message: "请填写价格", trigger: "change" }],
235
+        //team_type: [{ required: true, message: '请填写组套类型', trigger: 'change' }]
236
+      },
237
+      tableData: [],
238
+      projectList: [],
239
+      tabList: [],
240
+      itemList: [],
241
+    };
242
+  },
243
+  methods: {
244
+    getUnit(id) {
245
+      var arr = getDataConfig("hemodialysis", "units");
246
+      for (let i = 0; i < arr.length; i++) {
247
+        if (id == arr[i].id) {
248
+          return arr[i].name;
249
+        }
167
       }
250
       }
168
     },
251
     },
169
-    methods: {
170
-      getUnit(id){
171
-        var arr =  getDataConfig('hemodialysis','units')
172
-        for(let i = 0;i < arr.length; i++){
173
-          if(id == arr[i].id){
174
-            return arr[i].name
252
+    changeProject() {
253
+      this.form.number = 1;
254
+    },
255
+    querySearch(queryString, cb) {
256
+      var restaurants = this.projectList;
257
+      var results = queryString
258
+        ? restaurants.filter(this.createFilter(queryString))
259
+        : restaurants;
260
+      // 调用 callback 返回建议列表的数据
261
+      cb(results);
262
+    },
263
+    createFilter(queryString) {
264
+      return (restaurant) => {
265
+        return (
266
+          restaurant.project_name
267
+            .toLowerCase()
268
+            .indexOf(queryString.toLowerCase()) === 0
269
+        );
270
+      };
271
+    },
272
+    handleSelect(val) {
273
+      this.project_name = val.project_name;
274
+      this.form.project_detail = val.id;
275
+    },
276
+    getDataConfig(module, filed_name) {
277
+      return getDataConfig(module, filed_name);
278
+    },
279
+    getDictionaryDataConfig(module, filed_name) {
280
+      return getDictionaryDataConfig(module, filed_name);
281
+    },
282
+    _close: function (done) {
283
+      done();
284
+    },
285
+    clear: function () {
286
+      this.form.id = 0;
287
+      this.form.name = "";
288
+      this.form.intro = "";
289
+    },
290
+    show(id) {
291
+      this.visible = true;
292
+      this.formTitle = "新增";
293
+    },
294
+    hide() {
295
+      this.visible = false;
296
+    },
297
+    submitAction(formName) {
298
+      this.$refs[formName].validate((valid) => {
299
+        var params = {
300
+          project_team: this.form.project_team,
301
+          price: this.form.price,
302
+          pinyin: this.form.pinyin,
303
+          wubi: this.form.wubi,
304
+          tube_color: this.form.tube_color,
305
+          team_type: this.form.team_type,
306
+          remark: this.form.remark,
307
+        };
308
+        let data = {
309
+          info: this.tableData,
310
+        };
311
+        saveTeam(data, params).then((response) => {
312
+          if (response.data.state == 1) {
313
+            var projectTeam = response.data.data.projectTeam;
314
+            // console.log('projectTeam', projectTeam)
315
+            this.$message.success("保存成功");
316
+            this.visible = false;
317
+            (this.form.project_team = ""),
318
+              (this.form.price = ""),
319
+              (this.form.pinyin = ""),
320
+              (this.form.wubi = ""),
321
+              (this.form.tube_color = ""),
322
+              (this.form.team_type = ""),
323
+              (this.form.remark = "");
324
+            this.tableData = [];
325
+            this.form.number = "";
326
+            this.$parent.getlist();
327
+          } else {
328
+            this.$message.error("项目组套名称已存在!");
175
           }
329
           }
176
-        }
177
-      },
178
-      changeProject() {
179
-        this.form.number = 1
180
-
181
-      },
182
-      querySearch(queryString, cb) {
183
-        var restaurants = this.projectList
184
-        var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants
185
-        // 调用 callback 返回建议列表的数据
186
-        cb(results)
330
+        });
331
+      });
332
+    },
333
+    getlist() {
334
+      let params = {
335
+        keyword: "",
336
+      };
337
+      getAllProjectList(params).then((response) => {
338
+        if (response.data.state == 1) {
339
+          var projectList = response.data.data.projectList;
340
+          var goodInfos = response.data.data.good_info;
187
 
341
 
188
-      }, createFilter(queryString) {
189
-        return (restaurant) => {
190
-          return (restaurant.project_name.toLowerCase().indexOf(queryString.toLowerCase()) === 0)
191
-        }
192
-      },
193
-      handleSelect(val) {
194
-        this.project_name = val.project_name
195
-        this.form.project_detail = val.id
196
-      },
197
-      getDataConfig(module, filed_name) {
198
-        return getDataConfig(module, filed_name)
199
-      },
200
-      getDictionaryDataConfig(module, filed_name) {
201
-        return getDictionaryDataConfig(module, filed_name)
202
-      },
203
-      _close: function(done) {
204
-        done()
205
-      },
206
-      clear: function() {
207
-        this.form.id = 0
208
-        this.form.name = ''
209
-        this.form.intro = ''
210
-      },
211
-      show(id) {
212
-        this.visible = true
213
-        this.formTitle = '新增'
214
-      },
215
-      hide() {
216
-        this.visible = false
217
-      },
218
-      submitAction(formName) {
219
-        this.$refs[formName].validate((valid) => {
220
-          var params = {
221
-            project_team: this.form.project_team,
222
-            price: this.form.price,
223
-            pinyin: this.form.pinyin,
224
-            wubi: this.form.wubi,
225
-            tube_color: this.form.tube_color,
226
-            team_type: this.form.team_type,
227
-            remark: this.form.remark
342
+          for (let i = 0; i < projectList.length; i++) {
343
+            let obj = {
344
+              id: projectList[i].id,
345
+              statistical_classification:
346
+                projectList[i].statistical_classification,
347
+              number: "1",
348
+              project_name: projectList[i].project_name,
349
+              unit: projectList[i].unit,
350
+              price: projectList[i].price,
351
+              type: 2,
352
+              new_id: Math.floor(
353
+                (Math.random() + Math.floor(Math.random() * 9 + 1)) *
354
+                  Math.pow(10, 10 - 1)
355
+              ),
356
+            };
357
+            this.projectList.push(obj);
228
           }
358
           }
229
-          let data = {
230
-            'info': this.tableData
231
-          }
232
-          saveTeam(data, params).then(response => {
233
-            if (response.data.state == 1) {
234
-              var projectTeam = response.data.data.projectTeam
235
-              // console.log('projectTeam', projectTeam)
236
-              this.$message.success('保存成功')
237
-              this.visible = false
238
-              this.form.project_team = '',
239
-              this.form.price = '',
240
-              this.form.pinyin = '',
241
-              this.form.wubi = '',
242
-              this.form.tube_color = '',
243
-              this.form.team_type = '',
244
-              this.form.remark = ''
245
-              this.tableData = []
246
-              this.form.number = ''
247
-              this.$parent.getlist()
248
-            } else {
249
-              this.$message.error('项目组套名称已存在!')
250
-            }
251
-          })
252
-        })
253
-      },
254
-      getlist() {
255
-        let params = {
256
-          keyword: ''
257
-        }
258
-        getAllProjectList(params).then(response => {
259
-          if (response.data.state == 1) {
260
-            var projectList = response.data.data.projectList
261
-            var goodInfos = response.data.data.good_info
262
-            
263
-            for (let i = 0; i < projectList.length; i++) {
264
 
359
 
265
-              let obj = {
266
-                id: projectList[i].id,
267
-                statistical_classification: projectList[i].statistical_classification,
268
-                number: '1',
269
-                project_name: projectList[i].project_name,
270
-                unit: projectList[i].unit,
271
-                price: projectList[i].price,
272
-                type: 2,
273
-                new_id: Math.floor((Math.random() + Math.floor(Math.random() * 9 + 1)) * Math.pow(10, 10 - 1)),
274
-              }
275
-              this.projectList.push(obj)
276
-             
277
-            }
360
+          for (let i = 0; i < goodInfos.length; i++) {
361
+            let obj = {
362
+              id: goodInfos[i].id,
363
+              statistical_classification:
364
+                goodInfos[i].statistical_classification,
365
+              number: "1",
366
+              project_name:
367
+                goodInfos[i].good_name + " " + goodInfos[i].specification_name,
368
+              unit: goodInfos[i].good_unit,
369
+              price: goodInfos[i].retail_price,
370
+              type: 3,
371
+              new_id: Math.floor(
372
+                (Math.random() + Math.floor(Math.random() * 9 + 1)) *
373
+                  Math.pow(10, 10 - 1)
374
+              ),
375
+            };
376
+            this.projectList.push(obj);
377
+          }
278
 
378
 
279
-            for (let i = 0; i < goodInfos.length; i++) {
280
-              let obj = {
281
-                id: goodInfos[i].id,
282
-                statistical_classification: goodInfos[i].statistical_classification,
283
-                number: '1',
284
-                project_name: goodInfos[i].good_name + " " + goodInfos[i].specification_name,
285
-                unit: goodInfos[i].good_unit,
286
-                price: goodInfos[i].retail_price,
287
-                type: 3,
288
-                new_id: Math.floor((Math.random() + Math.floor(Math.random() * 9 + 1)) * Math.pow(10, 10 - 1)),
289
-              }
290
-              this.projectList.push(obj)
291
-              
292
-            }
379
+          console.log("项目2323332", this.projectList);
380
+        }
381
+      });
382
+    },
293
 
383
 
294
-            console.log("项目2323332",this.projectList)
384
+    getId(id) {
385
+      var name = "";
386
+      var statistics_category = getDictionaryDataConfig(
387
+        "system",
388
+        "statistics_category"
389
+      );
295
 
390
 
296
-          }
297
-        })
298
-      },
391
+      for (let i = 0; i < statistics_category.length; i++) {
392
+        if (id == statistics_category[i].id) {
393
+          name = statistics_category[i].name;
394
+        }
395
+      }
396
+      return name;
397
+    },
398
+    chagneInspection(id) {
399
+      getProjectDetail(id).then((response) => {
400
+        if (response.data.state == 1) {
401
+          var projectdetail = response.data.data.projecDetail;
299
 
402
 
300
-      getId(id) {
301
-        var name = ''
302
-        var statistics_category = getDictionaryDataConfig('system', 'statistics_category')
303
-       
304
-        for (let i = 0; i < statistics_category.length; i++) {
305
-          if (id == statistics_category[i].id) {
306
-            name = statistics_category[i].name
307
-          }
403
+          this.tableData.push(projectdetail);
308
         }
404
         }
309
-        return name
310
-      },
311
-      chagneInspection(id) {
312
-        getProjectDetail(id).then(response => {
313
-          if (response.data.state == 1) {
314
-            var projectdetail = response.data.data.projecDetail
315
-        
316
-            this.tableData.push(projectdetail)
317
-          }
318
-        })
319
-      },
320
-      addProjectList() {
321
-        
405
+      });
406
+    },
407
+    addProjectList() {
408
+      console.log(this.tableData, "this.tableData");
409
+      console.log(this.form.project_detail, "form.project_detail");
410
+      let obj = {new_id:this.form.project_detail}
411
+      if (this.tableData.length <= 0) {
322
         for (let i = 0; i < this.projectList.length; i++) {
412
         for (let i = 0; i < this.projectList.length; i++) {
323
           if (this.form.project_detail == this.projectList[i].new_id) {
413
           if (this.form.project_detail == this.projectList[i].new_id) {
324
-            this.projectList[i].number = this.form.number
325
-            this.projectList[i].number = this.projectList[i].number.toString()
326
-            
327
-            this.tableData.push(this.projectList[i])
328
-            this.form.project_detail = ''
329
-            this.form.number = 1
414
+            this.projectList[i].number = this.form.number;
415
+            this.projectList[i].number = this.projectList[i].number.toString();
416
+
417
+            this.tableData.push(this.projectList[i]);
418
+            this.form.project_detail = "";
419
+            this.form.number = 1;
330
           }
420
           }
331
         }
421
         }
332
-       
333
-      },
334
-      DeleteProject(id, index) {
335
-        this.$confirm('确认删除此项目吗?', '删除', {
336
-          confirmButtonText: '确 定',
337
-          cancelButtonText: '取 消',
338
-          type: 'warning'
339
-        }).then(() => {
340
-          this.tableData.splice(index, 1)
341
-        })
342
-          .catch(() => {
343
-          })
344
-      },
345
-     
346
-    },
347
-    created() {
348
-      //获取所以的项目
349
-      this.getlist()
422
+      } else {
423
+        console.log(obj,'obj')
424
+        this.tableData.forEach((el) => {
425
+          if (this.form.project_detail == el.new_id) {
426
+            this.$message.error("已存在!");
427
+            return;
428
+          } else {
429
+            console.log("oo");
350
 
430
 
351
-    }, watch: {
352
-      'tableData': function() {
353
-        let c = 0
354
-        this.form.price  = 0
355
-        for (let i = 0; i < this.tableData.length; i++) {
356
-          let a = parseFloat(this.tableData[i].number).toFixed(2)
357
-          let b = parseFloat(this.tableData[i].price).toFixed(2)
358
-         
431
+            // for (let i = 0; i < this.projectList.length; i++) {
432
+            //   if (this.form.project_detail == this.projectList[i].new_id) {
433
+            //     this.projectList[i].number = this.form.number;
434
+            //     this.projectList[i].number =
435
+            //       this.projectList[i].number.toString();
359
 
436
 
437
+            //     this.tableData.push(this.projectList[i]);
438
+            //     this.form.project_detail = "";
439
+            //     this.form.number = 1;
440
+            //   }
441
+            // }
442
+          }
443
+        });
360
 
444
 
361
-          c = c + this.form.price + (a * b)
362
-
363
-        }
364
-        this.form.price = c.toFixed(2)
365
       }
445
       }
446
+    },
447
+    DeleteProject(id, index) {
448
+      this.$confirm("确认删除此项目吗?", "删除", {
449
+        confirmButtonText: "确 定",
450
+        cancelButtonText: "取 消",
451
+        type: "warning",
452
+      })
453
+        .then(() => {
454
+          this.tableData.splice(index, 1);
455
+        })
456
+        .catch(() => {});
457
+    },
458
+  },
459
+  created() {
460
+    //获取所以的项目
461
+    this.getlist();
462
+  },
463
+  watch: {
464
+    tableData: function () {
465
+      let c = 0;
466
+      this.form.price = 0;
467
+      for (let i = 0; i < this.tableData.length; i++) {
468
+        let a = parseFloat(this.tableData[i].number).toFixed(2);
469
+        let b = parseFloat(this.tableData[i].price).toFixed(2);
366
 
470
 
367
-    }
368
-  }
471
+        c = c + this.form.price + a * b;
472
+      }
473
+      this.form.price = c.toFixed(2);
474
+    },
475
+  },
476
+};
369
 </script>
477
 </script>

+ 42 - 65
src/xt_pages/data/druguseTemplate.vue View File

310
             </el-dialog>
310
             </el-dialog>
311
 
311
 
312
             <!-- 新增子药 -->
312
             <!-- 新增子药 -->
313
-            <el-dialog :title="dialogTitle" :visible.sync="templateFormVisible" width="854px">
313
+            <el-dialog :title="dialogTitle" :before-close="closeform" :visible.sync="templateFormVisible" width="854px" >
314
               <el-form
314
               <el-form
315
                 ref="templateForm"
315
                 ref="templateForm"
316
                 :rules="templateRules"
316
                 :rules="templateRules"
321
                 <el-row >
321
                 <el-row >
322
                   <el-col :span="24">
322
                   <el-col :span="24">
323
                     <el-form-item label="医嘱内容:" required prop="advice_name">
323
                     <el-form-item label="医嘱内容:" required prop="advice_name">
324
-                      <!-- <el-input v-model="templateForm.advice_name"></el-input> -->
325
-
326
-                      <!-- <el-select
327
-                        v-model="templateForm.advice_name"
328
-                        filterable
329
-                        clearable
330
-                        allow-create
331
-                        placeholder="请选择(输入可搜索)"
332
-                        style="width:100%"
333
-                        @change="changeDrugName"
334
-                    >
335
-                      <el-option
336
-                        v-for="(item,index) in all_drug"
337
-                        :key="index"
338
-                        :label="item.drug_name"
339
-                        :value="item.drug_name"
340
-                      ></el-option>
341
-                     </el-select> -->
342
-
343
                       <el-autocomplete
324
                       <el-autocomplete
344
                           style="width:100%;"
325
                           style="width:100%;"
345
                           class="inline-input"
326
                           class="inline-input"
357
                   <el-col :span="15">
338
                   <el-col :span="15">
358
                     <el-form-item label="药品规格 :" prop="advice_desc">
339
                     <el-form-item label="药品规格 :" prop="advice_desc">
359
                       <el-col :span="8">
340
                       <el-col :span="8">
360
-                        <!-- <el-input v-model="templateForm.advice_desc"></el-input> -->
361
-                         <!-- <el-select
362
-                          v-model="templateForm.advice_desc"
363
-                          filterable
364
-                          clearable
365
-                          allow-create
366
-                          placeholder="请选择(输入可搜索)"
367
-                          style="width:150px"
368
-                          @change="changeDrugDesc"
369
-                        >
370
-                        <el-option
371
-                          v-for="item in drugSpec"
372
-                          :key="item.id"
373
-                          :label="item.drug_spec"
374
-                          :value="item.drug_spec"
375
-                        ></el-option>
376
-                        </el-select> -->
341
+
377
 
342
 
378
                        <el-autocomplete
343
                        <el-autocomplete
379
                          style="width:100px;"
344
                          style="width:100px;"
526
                 </el-row>
491
                 </el-row>
527
               </el-form>
492
               </el-form>
528
               <div slot="footer" class="dialog-footer">
493
               <div slot="footer" class="dialog-footer">
529
-                <el-button @click="cancelHandle('templateForm')">取消</el-button>
494
+                <el-button @click="cancelHandle('templateForm'),closeform()">取消</el-button>
530
                 <el-button type="primary" @click="submitTemplate('templateForm')">保 存</el-button>
495
                 <el-button type="primary" @click="submitTemplate('templateForm')">保 存</el-button>
531
               </div>
496
               </div>
532
             </el-dialog>
497
             </el-dialog>
1613
         this.templateTableVisible = true
1578
         this.templateTableVisible = true
1614
       },
1579
       },
1615
       newRecordAction() {
1580
       newRecordAction() {
1581
+        console.log("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")
1616
         this.dialogTitle = '新增医嘱内容'
1582
         this.dialogTitle = '新增医嘱内容'
1617
         this.advice_content_name = '医嘱内容'
1583
         this.advice_content_name = '医嘱内容'
1618
         this.isEdit = false
1584
         this.isEdit = false
1621
         this.templateTableVisible = false
1587
         this.templateTableVisible = false
1622
         this.templateFormVisible = true
1588
         this.templateFormVisible = true
1623
 
1589
 
1624
-      }, deleteRecordAction: function() {
1590
+      },
1591
+      deleteRecordAction: function() {
1625
         if (this.table_current_index == -1) {
1592
         if (this.table_current_index == -1) {
1626
           this.$message.error('请选择一条医嘱记录')
1593
           this.$message.error('请选择一条医嘱记录')
1627
           return
1594
           return
1635
           this.table_current_index = -1
1602
           this.table_current_index = -1
1636
         }).catch(() => {
1603
         }).catch(() => {
1637
         })
1604
         })
1638
-      }, tableRow({ row, rowIndex }) {
1605
+      },
1606
+      tableRow({ row, rowIndex }) {
1639
         // 把每一行的索引放进row
1607
         // 把每一行的索引放进row
1640
         row.index = rowIndex
1608
         row.index = rowIndex
1641
       },
1609
       },
1683
         const params = {
1651
         const params = {
1684
           'data': this.adviceTableData
1652
           'data': this.adviceTableData
1685
         }
1653
         }
1686
-       
1654
+
1687
         let name = encodeURIComponent(this.form.name)
1655
         let name = encodeURIComponent(this.form.name)
1688
         console.log("params",params)
1656
         console.log("params",params)
1689
         let sort = this.form.sort
1657
         let sort = this.form.sort
1690
-        
1658
+
1691
         postAdviceTemplate(params, name,sort, this.form.advice_type).then(response => {
1659
         postAdviceTemplate(params, name,sort, this.form.advice_type).then(response => {
1692
 
1660
 
1693
           if (response.data.state == 0) {
1661
           if (response.data.state == 0) {
1870
               CreateSubAdvice(templateFormTwo).then(response => {
1838
               CreateSubAdvice(templateFormTwo).then(response => {
1871
                 if (response.data.state == 0) {
1839
                 if (response.data.state == 0) {
1872
                   this.$message.error(response.data.msg)
1840
                   this.$message.error(response.data.msg)
1841
+                  this.closeform()
1873
                   return false
1842
                   return false
1874
                 } else {
1843
                 } else {
1875
                   this.$message.success('添加成功')
1844
                   this.$message.success('添加成功')
1876
-
1877
                   var spliceIndex = -1
1845
                   var spliceIndex = -1
1878
                   for (let index = this.adviceTemplates.length - 1; ; index--) {
1846
                   for (let index = this.adviceTemplates.length - 1; ; index--) {
1879
                     if (this.adviceTemplates[index].parent_id === templateFormTwo.parent_id) {
1847
                     if (this.adviceTemplates[index].parent_id === templateFormTwo.parent_id) {
1884
                       break
1852
                       break
1885
                     }
1853
                     }
1886
                   }
1854
                   }
1887
-
1888
                   if (spliceIndex > -1) {
1855
                   if (spliceIndex > -1) {
1889
                     spliceIndex += 1
1856
                     spliceIndex += 1
1890
                     if (spliceIndex === this.adviceTemplates.length) {
1857
                     if (spliceIndex === this.adviceTemplates.length) {
1902
                   this.handleSpanTempArr()
1869
                   this.handleSpanTempArr()
1903
                   this.templateFormVisible = false
1870
                   this.templateFormVisible = false
1904
                   this.resetForm(formName)
1871
                   this.resetForm(formName)
1872
+                  this.closeform()
1905
                   return false
1873
                   return false
1906
                 }
1874
                 }
1907
               })
1875
               })
2383
         }
2351
         }
2384
         this.templateForm.way = 1
2352
         this.templateForm.way = 1
2385
         console.log("编辑模板",this.templateForm)
2353
         console.log("编辑模板",this.templateForm)
2386
-      
2354
+
2387
         // 编辑创建医嘱模版
2355
         // 编辑创建医嘱模版
2388
         CreateSingleAdviceTemplate(this.templateForm).then(response => {
2356
         CreateSingleAdviceTemplate(this.templateForm).then(response => {
2389
           if (response.data.state == 0) {
2357
           if (response.data.state == 0) {
2486
             return 'success-row'
2454
             return 'success-row'
2487
           }
2455
           }
2488
         }
2456
         }
2489
-      }, 
2457
+      },
2490
       cellMouseEnter: function(row, column, cell, event) {
2458
       cellMouseEnter: function(row, column, cell, event) {
2491
         if (column.label == '模版名称') {
2459
         if (column.label == '模版名称') {
2492
           this.sameRowArr.forEach((arr, i) => {
2460
           this.sameRowArr.forEach((arr, i) => {
2653
         this.templateFormVisible = true
2621
         this.templateFormVisible = true
2654
         this.dialogTitle = '新增子药'
2622
         this.dialogTitle = '新增子药'
2655
         this.advice_content_name = '子药名称'
2623
         this.advice_content_name = '子药名称'
2656
-      }, deleteRecordAction: function() {
2657
-        if (this.table_current_index == -1) {
2658
-          this.$message.error('请选择一条医嘱记录')
2659
-          return
2660
-        }
2661
-        this.$confirm('删除记录', '是否删除该医嘱记录', {
2662
-          confirmButtonText: '确 定',
2663
-          cancelButtonText: '取 消',
2664
-          type: 'warning'
2665
-        }).then(() => {
2666
-          this.adviceTableData.splice(this.table_current_index, 1)
2667
-          this.table_current_index = -1
2668
-        }).catch(() => {
2669
-        })
2670
-      }, handleSpanTempArr() {
2624
+      },
2625
+      handleSpanTempArr() {
2671
         this.tempArr = []
2626
         this.tempArr = []
2672
 
2627
 
2673
         for (let i = 0; i < this.adviceTemplates.length; i++) {
2628
         for (let i = 0; i < this.adviceTemplates.length; i++) {
2703
         this.sameRowArr = sameRowArr
2658
         this.sameRowArr = sameRowArr
2704
       },
2659
       },
2705
        handleUpdateAdviceTemplate(row, index) {
2660
        handleUpdateAdviceTemplate(row, index) {
2706
-       
2661
+
2707
         this.current_template_id = row.template_id
2662
         this.current_template_id = row.template_id
2708
         this.current_template_name = row.name
2663
         this.current_template_name = row.name
2709
         this.form.name = row.name
2664
         this.form.name = row.name
2715
         }
2670
         }
2716
         this.templateTableTwoVisible = true
2671
         this.templateTableTwoVisible = true
2717
         this.adviceTableDataTwo = []
2672
         this.adviceTableDataTwo = []
2718
-      
2673
+
2719
         for (let i = 0; i < this.adviceTemplates.length; i++) {
2674
         for (let i = 0; i < this.adviceTemplates.length; i++) {
2720
           if (this.adviceTemplates[i].template_id == row.template_id) {
2675
           if (this.adviceTemplates[i].template_id == row.template_id) {
2721
             this.adviceTableDataTwo.push(this.adviceTemplates[i])
2676
             this.adviceTableDataTwo.push(this.adviceTemplates[i])
2729
           template_id: this.current_template_id,
2684
           template_id: this.current_template_id,
2730
           sort:this.form.sort,
2685
           sort:this.form.sort,
2731
         }
2686
         }
2732
-      
2687
+
2733
         updateTemplateName(params).then(response => {
2688
         updateTemplateName(params).then(response => {
2734
           if (response.data.state == 0) {
2689
           if (response.data.state == 0) {
2735
             this.$message.error(response.data.msg)
2690
             this.$message.error(response.data.msg)
2962
        return a.sort - b.sort
2917
        return a.sort - b.sort
2963
      },
2918
      },
2964
      hangleSelectChange(val){
2919
      hangleSelectChange(val){
2920
+       this.templateForm.advice_desc=this.drugSpec[0].drug_spec
2921
+       this.templateForm.drug_spec_unit=this.drugSpec[0].min_unit
2922
+       this.templateForm.prescribing_number=this.drugSpec[0].prescribing_number
2923
+       this.templateForm.prescribing_number_unit=this.drugSpec[0].prescribing_number_unit
2924
+       this.templateForm.single_dose=this.drugSpec[0].single_dose
2925
+       this.templateForm.single_dose_unit=this.drugSpec[0].min_unit
2926
+       this.templateForm.delivery_way=this.drugSpec[0].delivery_way
2927
+       this.templateForm.execution_frequency=this.drugSpec[0].execution_frequency
2928
+       // console.log("templateForm2222222222",this.templateForm)
2929
+       // console.log("all_drug",this.all_drug)
2930
+       // console.log("drugSpec2222222",this.drugSpec)
2965
       this.templateForm.way = 1
2931
       this.templateForm.way = 1
2966
       this.templateForm.drug_id = val.id
2932
       this.templateForm.drug_id = val.id
2967
-    }
2933
+    },
2934
+      closeform(){//清除表单数据
2935
+        this.templateForm.advice_name=""
2936
+        this.templateForm.advice_desc=""
2937
+        this.templateForm.drug_spec_unit=""
2938
+        this.templateForm.prescribing_number=""
2939
+        this.templateForm.prescribing_number_unit=""
2940
+        this.templateForm.single_dose=""
2941
+        this.templateForm.single_dose_unit=""
2942
+        this.templateForm.delivery_way=""
2943
+        this.templateForm.execution_frequency=""
2944
+      }
2968
     }
2945
     }
2969
   }
2946
   }
2970
 </script>
2947
 </script>

+ 17 - 0
src/xt_pages/dialysis/PatientBox.vue View File

41
               <span :class="stateColor(schedule)">{{ stateText(schedule) }}</span>
41
               <span :class="stateColor(schedule)">{{ stateText(schedule) }}</span>
42
             </span>
42
             </span>
43
           </div>
43
           </div>
44
+
45
+          <!-- <div class="difficult">
46
+            疑难内瘘
47
+          </div> -->
44
         </div>
48
         </div>
45
         </div>
49
         </div>
46
         <div>
50
         <div>
824
 #modePurple{
828
 #modePurple{
825
   color: #53b86e;
829
   color: #53b86e;
826
 }
830
 }
831
+
832
+.difficult{
833
+  width: 100px;
834
+  height: 40px;
835
+  border-radius: 0 0 0 30px;
836
+  background: #78d660;
837
+  text-align: center;
838
+  line-height: 40px;
839
+  position: relative;
840
+  bottom: 64px;
841
+  left: 179px;
842
+  color: white;
843
+}
827
 </style>
844
 </style>

+ 1 - 1
src/xt_pages/dialysis/batch_print/batch_print_order_nine.vue View File

847
                                 }}
847
                                 }}
848
                               </div>
848
                               </div>
849
                             </td>
849
                             </td>
850
-                            <td width="20">ml</td>
850
+                            <td width="20">L</td>
851
 
851
 
852
                             <td width="80">透析方式:</td>
852
                             <td width="80">透析方式:</td>
853
                             <td width="50">
853
                             <td width="50">

+ 2 - 2
src/xt_pages/dialysis/details/DialysisPrescription.vue View File

111
           <label>目标超滤量 : </label>
111
           <label>目标超滤量 : </label>
112
           <span class="content">{{ target_ultrafiltration != "0" ? target_ultrafiltration : ""}}</span>
112
           <span class="content">{{ target_ultrafiltration != "0" ? target_ultrafiltration : ""}}</span>
113
           
113
           
114
-          <span v-if="this.$store.getters.xt_user.template_info.template_id != 17 && this.$store.getters.xt_user.template_info.template_id != 9 && this.$store.getters.xt_user.template_info.template_id != 20 && this.$store.getters.xt_user.template_info.template_id != 21 && this.$store.getters.xt_user.template_info.template_id != 22 && this.$store.getters.xt_user.template_info.template_id != 23 && this.$store.getters.xt_user.template_info.template_id != 24 && this.$store.getters.xt_user.template_info.template_id != 26 && this.$store.getters.xt_user.template_info.template_id != 28 && this.$store.getters.xt_user.template_info.template_id != 27 && this.$store.getters.xt_user.template_info.template_id != 29 && this.$store.getters.xt_user.template_info.template_id != 30 && this.$store.getters.xt_user.template_info.template_id != 31 && this.$store.getters.xt_user.template_info.template_id != 32 && this.$store.getters.xt_user.template_info.template_id != 34 && this.$store.getters.xt_user.template_info.template_id != 38 && this.$store.getters.xt_user.template_info.template_id != 40 && this.$store.getters.xt_user.template_info.template_id != 43 && this.$store.getters.xt_user.template_info.template_id != 45  && this.$store.getters.xt_user.template_info.template_id != 46  && this.$store.getters.xt_user.template_info.org_id != 9555"  class="unit">{{ target_ultrafiltration != "0" ? "L" : "" }}</span>
115
-          <span v-if="this.$store.getters.xt_user.template_info.template_id == 17 || this.$store.getters.xt_user.template_info.template_id == 9 || this.$store.getters.xt_user.template_info.template_id == 20 || this.$store.getters.xt_user.template_info.template_id == 21 || this.$store.getters.xt_user.template_info.template_id == 22 || this.$store.getters.xt_user.template_info.template_id == 23 || this.$store.getters.xt_user.template_info.template_id == 24 || this.$store.getters.xt_user.template_info.template_id == 26 || this.$store.getters.xt_user.template_info.template_id == 28 || this.$store.getters.xt_user.template_info.template_id == 27 || this.$store.getters.xt_user.template_info.template_id == 29 || this.$store.getters.xt_user.template_info.template_id == 30 || this.$store.getters.xt_user.template_info.template_id == 31 || this.$store.getters.xt_user.template_info.template_id == 32 || this.$store.getters.xt_user.template_info.template_id == 34 || this.$store.getters.xt_user.template_info.template_id == 38 || this.$store.getters.xt_user.template_info.template_id != 40 || this.$store.getters.xt_user.template_info.template_id != 43 || this.$store.getters.xt_user.template_info.template_id != 45 || this.$store.getters.xt_user.template_info.template_id != 46  || this.$store.getters.xt_user.template_info.org_id == 9555" class="unit">{{ target_ultrafiltration != "0" ? "ml" : "" }}</span>
114
+          <span v-if="this.$store.getters.xt_user.template_info.template_id != 17 && this.$store.getters.xt_user.template_info.template_id != 9 && this.$store.getters.xt_user.template_info.template_id != 20 && this.$store.getters.xt_user.template_info.template_id != 21 && this.$store.getters.xt_user.template_info.template_id != 22 && this.$store.getters.xt_user.template_info.template_id != 23 && this.$store.getters.xt_user.template_info.template_id != 24 && this.$store.getters.xt_user.template_info.template_id != 26 && this.$store.getters.xt_user.template_info.template_id != 28 && this.$store.getters.xt_user.template_info.template_id != 27 && this.$store.getters.xt_user.template_info.template_id != 29 && this.$store.getters.xt_user.template_info.template_id != 30 && this.$store.getters.xt_user.template_info.template_id != 31 && this.$store.getters.xt_user.template_info.template_id != 32 && this.$store.getters.xt_user.template_info.template_id != 34 && this.$store.getters.xt_user.template_info.template_id != 38 && this.$store.getters.xt_user.template_info.template_id != 40 && this.$store.getters.xt_user.template_info.template_id != 43 && this.$store.getters.xt_user.template_info.template_id != 45  && this.$store.getters.xt_user.template_info.template_id != 46  && this.$store.getters.xt_user.template_info.template_id != 48 && this.$store.getters.xt_user.template_info.org_id != 9555"  class="unit">{{ target_ultrafiltration != "0" ? "L" : "" }}</span>
115
+          <span v-if="this.$store.getters.xt_user.template_info.template_id == 17 || this.$store.getters.xt_user.template_info.template_id == 9 || this.$store.getters.xt_user.template_info.template_id == 20 || this.$store.getters.xt_user.template_info.template_id == 21 || this.$store.getters.xt_user.template_info.template_id == 22 || this.$store.getters.xt_user.template_info.template_id == 23 || this.$store.getters.xt_user.template_info.template_id == 24 || this.$store.getters.xt_user.template_info.template_id == 26 || this.$store.getters.xt_user.template_info.template_id == 28 || this.$store.getters.xt_user.template_info.template_id == 27 || this.$store.getters.xt_user.template_info.template_id == 29 || this.$store.getters.xt_user.template_info.template_id == 30 || this.$store.getters.xt_user.template_info.template_id == 31 || this.$store.getters.xt_user.template_info.template_id == 32 || this.$store.getters.xt_user.template_info.template_id == 34 || this.$store.getters.xt_user.template_info.template_id == 38 || this.$store.getters.xt_user.template_info.template_id == 40 || this.$store.getters.xt_user.template_info.template_id == 43 || this.$store.getters.xt_user.template_info.template_id == 45 || this.$store.getters.xt_user.template_info.template_id == 46  || this.$store.getters.xt_user.template_info.template_id == 48 || this.$store.getters.xt_user.template_info.org_id == 9555" class="unit">{{ target_ultrafiltration != "0" ? "ml" : "" }}</span>
116
         </li>
116
         </li>
117
 
117
 
118
          <li v-if="isShow('目标超滤量') && this.$store.getters.xt_user.template_info.org_id == 10290">
118
          <li v-if="isShow('目标超滤量') && this.$store.getters.xt_user.template_info.org_id == 10290">

+ 1 - 1
src/xt_pages/dialysis/details/dialog/AssessmentAfterDislysis.vue View File

28
           <el-col :span="8" v-if="isShow('实际超滤量')">
28
           <el-col :span="8" v-if="isShow('实际超滤量')">
29
             <el-form-item
29
             <el-form-item
30
               label="实际超滤量(ml): "
30
               label="实际超滤量(ml): "
31
-              v-if=" this.template_id == 6 || this.template_id == 9 || this.template_id == 10 || this.template_id == 11  || this.template_id == 17 || this.template_id == 20 || this.template_id == 21 || this.template_id == 22 || this.template_id == 23 || this.template_id == 24 || this.template_id == 26 || this.template_id == 28 || this.template_id == 27 || this.template_id == 29 || this.template_id == 30 || this.template_id == 31 || this.template_id == 32 || this.template_id == 34 || this.template_id == 36 || this.template_id == 38 || this.template_id == 43 || this.template_id == 44 || this.$store.getters.xt_user.template_info.org_id == 9555 "  >
31
+              v-if=" this.template_id == 6 || this.template_id == 9 || this.template_id == 10 || this.template_id == 11  || this.template_id == 17 || this.template_id == 20 || this.template_id == 21 || this.template_id == 22 || this.template_id == 23 || this.template_id == 24 || this.template_id == 26 || this.template_id == 28 || this.template_id == 27 || this.template_id == 29 || this.template_id == 30 || this.template_id == 31 || this.template_id == 32 || this.template_id == 34 || this.template_id == 36 || this.template_id == 38 || this.template_id == 43 || this.template_id == 44 || this.template_id == 47 || this.$store.getters.xt_user.template_info.org_id == 9555 "  >
32
               <el-input v-model="form.actual_ultrafiltration"></el-input>
32
               <el-input v-model="form.actual_ultrafiltration"></el-input>
33
             </el-form-item>
33
             </el-form-item>
34
             <el-form-item label="实际超滤量(L): " v-else>
34
             <el-form-item label="实际超滤量(L): " v-else>

+ 2 - 2
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue View File

87
                     </el-col>
87
                     </el-col>
88
 
88
 
89
                     <el-col :span="8"
89
                     <el-col :span="8"
90
-                            v-if="isShows('目标超滤量') && (this.$store.getters.xt_user.template_info.template_id == 17 || this.$store.getters.xt_user.template_info.template_id == 9 || this.$store.getters.xt_user.template_info.template_id == 20 || this.$store.getters.xt_user.template_info.template_id == 21 || this.$store.getters.xt_user.template_info.template_id == 22  || this.$store.getters.xt_user.template_info.template_id == 23 || this.$store.getters.xt_user.template_info.template_id == 24 || this.$store.getters.xt_user.template_info.template_id == 26 || this.$store.getters.xt_user.template_info.template_id == 28  || this.$store.getters.xt_user.template_info.template_id == 27 || this.$store.getters.xt_user.template_info.template_id == 29 || this.$store.getters.xt_user.template_info.template_id == 30 || this.$store.getters.xt_user.template_info.template_id == 31 || this.$store.getters.xt_user.template_info.template_id == 32 || this.$store.getters.xt_user.template_info.template_id == 34 || this.$store.getters.xt_user.template_info.template_id == 38 ||  this.$store.getters.xt_user.template_info.template_id == 40 ||  this.$store.getters.xt_user.template_info.template_id == 43 ||  this.$store.getters.xt_user.template_info.template_id == 45  ||  this.$store.getters.xt_user.template_info.template_id == 46  || this.$store.getters.xt_user.template_info.org_id == 9555 )">
90
+                            v-if="isShows('目标超滤量') && (this.$store.getters.xt_user.template_info.template_id == 17 || this.$store.getters.xt_user.template_info.template_id == 9 || this.$store.getters.xt_user.template_info.template_id == 20 || this.$store.getters.xt_user.template_info.template_id == 21 || this.$store.getters.xt_user.template_info.template_id == 22  || this.$store.getters.xt_user.template_info.template_id == 23 || this.$store.getters.xt_user.template_info.template_id == 24 || this.$store.getters.xt_user.template_info.template_id == 26 || this.$store.getters.xt_user.template_info.template_id == 28  || this.$store.getters.xt_user.template_info.template_id == 27 || this.$store.getters.xt_user.template_info.template_id == 29 || this.$store.getters.xt_user.template_info.template_id == 30 || this.$store.getters.xt_user.template_info.template_id == 31 || this.$store.getters.xt_user.template_info.template_id == 32 || this.$store.getters.xt_user.template_info.template_id == 34 || this.$store.getters.xt_user.template_info.template_id == 38 ||  this.$store.getters.xt_user.template_info.template_id == 40 ||  this.$store.getters.xt_user.template_info.template_id == 43 ||  this.$store.getters.xt_user.template_info.template_id == 45  ||  this.$store.getters.xt_user.template_info.template_id == 46 ||  this.$store.getters.xt_user.template_info.template_id == 48 || this.$store.getters.xt_user.template_info.org_id == 9555 )">
91
                         <el-form-item label="目标超滤量(ml):">
91
                         <el-form-item label="目标超滤量(ml):">
92
                             <el-input
92
                             <el-input
93
                                     type="number"
93
                                     type="number"
98
 
98
 
99
 
99
 
100
                     <el-col :span="8"
100
                     <el-col :span="8"
101
-                            v-if="isShows('目标超滤量')  && this.$store.getters.xt_user.template_info.template_id != 17 && this.$store.getters.xt_user.template_info.template_id != 9 && this.$store.getters.xt_user.template_info.template_id != 20 && this.$store.getters.xt_user.template_info.template_id != 21 && this.$store.getters.xt_user.template_info.template_id != 22 && this.$store.getters.xt_user.template_info.template_id != 23 && this.$store.getters.xt_user.template_info.template_id != 24 && this.$store.getters.xt_user.template_info.template_id != 26 && this.$store.getters.xt_user.template_info.template_id != 28 && this.$store.getters.xt_user.template_info.template_id != 27 && this.$store.getters.xt_user.template_info.template_id != 29 && this.$store.getters.xt_user.template_info.template_id != 30 && this.$store.getters.xt_user.template_info.template_id != 31 && this.$store.getters.xt_user.template_info.template_id != 32 && this.$store.getters.xt_user.template_info.template_id != 34 && this.$store.getters.xt_user.template_info.template_id != 38 &&  this.$store.getters.xt_user.template_info.template_id != 40 &&  this.$store.getters.xt_user.template_info.template_id != 43 &&  this.$store.getters.xt_user.template_info.template_id != 45 &&  this.$store.getters.xt_user.template_info.template_id != 46   && this.$store.getters.xt_user.template_info.org_id != 9555 ">
101
+                            v-if="isShows('目标超滤量')  && this.$store.getters.xt_user.template_info.template_id != 17 && this.$store.getters.xt_user.template_info.template_id != 9 && this.$store.getters.xt_user.template_info.template_id != 20 && this.$store.getters.xt_user.template_info.template_id != 21 && this.$store.getters.xt_user.template_info.template_id != 22 && this.$store.getters.xt_user.template_info.template_id != 23 && this.$store.getters.xt_user.template_info.template_id != 24 && this.$store.getters.xt_user.template_info.template_id != 26 && this.$store.getters.xt_user.template_info.template_id != 28 && this.$store.getters.xt_user.template_info.template_id != 27 && this.$store.getters.xt_user.template_info.template_id != 29 && this.$store.getters.xt_user.template_info.template_id != 30 && this.$store.getters.xt_user.template_info.template_id != 31 && this.$store.getters.xt_user.template_info.template_id != 32 && this.$store.getters.xt_user.template_info.template_id != 34 && this.$store.getters.xt_user.template_info.template_id != 38 &&  this.$store.getters.xt_user.template_info.template_id != 40 &&  this.$store.getters.xt_user.template_info.template_id != 43 &&  this.$store.getters.xt_user.template_info.template_id != 45 &&  this.$store.getters.xt_user.template_info.template_id != 46  &&  this.$store.getters.xt_user.template_info.template_id != 48 && this.$store.getters.xt_user.template_info.org_id != 9555 ">
102
                         <el-form-item label="目标超滤量(L):">
102
                         <el-form-item label="目标超滤量(L):">
103
                             <el-input
103
                             <el-input
104
                                     type="number"
104
                                     type="number"

+ 25 - 8
src/xt_pages/dialysis/details/dialog/monitor_dialog.vue View File

197
             width="110"
197
             width="110"
198
             v-if="
198
             v-if="
199
               isShow('超滤量') &&
199
               isShow('超滤量') &&
200
+
200
               (template_id == 6 ||
201
               (template_id == 6 ||
201
                 template_id == 9 ||
202
                 template_id == 9 ||
202
                 template_id == 10 ||
203
                 template_id == 10 ||
228
                 template_id == 44 ||
229
                 template_id == 44 ||
229
                 template_id == 46 ||
230
                 template_id == 46 ||
230
                 template_id == 47 ||
231
                 template_id == 47 ||
232
+                template_id == 48 ||
233
+                org_id == 10210 ||
231
                 org_id == 9555)
234
                 org_id == 9555)
232
             "
235
             "
233
           >
236
           >
277
               template_id != 44 &&
280
               template_id != 44 &&
278
               template_id != 46 &&
281
               template_id != 46 &&
279
               template_id != 47 &&
282
               template_id != 47 &&
283
+              template_id != 48 &&
284
+              org_id!= 10210 &&
280
               org_id != 9555
285
               org_id != 9555
281
             "
286
             "
282
           >
287
           >
320
                 template_id == 43 ||
325
                 template_id == 43 ||
321
                 template_id == 44 ||
326
                 template_id == 44 ||
322
                 template_id == 46 ||
327
                 template_id == 46 ||
328
+                template_id == 48 ||
323
                 template_id == 47)
329
                 template_id == 47)
324
             "
330
             "
325
           >
331
           >
361
               template_id != 41 &&
367
               template_id != 41 &&
362
               template_id != 43 &&
368
               template_id != 43 &&
363
               template_id != 44 &&
369
               template_id != 44 &&
364
-              template_id == 46 &&
370
+              template_id != 46 &&
371
+              template_id != 48 &&
365
               template_id != 47
372
               template_id != 47
366
             "
373
             "
367
           >
374
           >
416
                 template_id == 20 ||
423
                 template_id == 20 ||
417
                 template_id == 26 ||
424
                 template_id == 26 ||
418
                 template_id == 29 ||
425
                 template_id == 29 ||
426
+                template_id == 48 ||
419
                 template_id == 47)
427
                 template_id == 47)
420
             "
428
             "
421
           >
429
           >
437
               template_id != 20 &&
445
               template_id != 20 &&
438
               template_id != 26 &&
446
               template_id != 26 &&
439
               template_id != 29 &&
447
               template_id != 29 &&
448
+              template_id != 48 &&
440
               template_id != 47
449
               template_id != 47
441
             "
450
             "
442
           >
451
           >
449
             align="center"
458
             align="center"
450
             label="置换量(ml/h)"
459
             label="置换量(ml/h)"
451
             width="100"
460
             width="100"
452
-            v-if="isShow('置换量') && (template_id == 43 || template_id == 47)"
461
+            v-if="isShow('置换量') && (template_id == 43 || template_id == 48)"
453
           >
462
           >
454
             <template slot-scope="scope">
463
             <template slot-scope="scope">
455
               {{
464
               {{
476
                 template_id == 20 ||
485
                 template_id == 20 ||
477
                 template_id == 26 ||
486
                 template_id == 26 ||
478
                 template_id == 29 ||
487
                 template_id == 29 ||
479
-                template_id == 47)
488
+                template_id == 48)
480
             "
489
             "
481
           >
490
           >
482
             <template slot-scope="scope">
491
             <template slot-scope="scope">
502
               template_id != 26 &&
511
               template_id != 26 &&
503
               template_id != 29 &&
512
               template_id != 29 &&
504
               template_id != 43 &&
513
               template_id != 43 &&
505
-              template_id != 47
514
+              template_id != 48
506
             "
515
             "
507
           >
516
           >
508
             <template slot-scope="scope">
517
             <template slot-scope="scope">
961
                 template_id == 43 ||
970
                 template_id == 43 ||
962
                 template_id == 44 ||
971
                 template_id == 44 ||
963
                 template_id == 46 ||
972
                 template_id == 46 ||
973
+                template_id == 48 ||
964
                 template_id == 47)
974
                 template_id == 47)
965
             "
975
             "
966
           >
976
           >
996
               template_id != 43 &&
1006
               template_id != 43 &&
997
               template_id != 44 &&
1007
               template_id != 44 &&
998
               template_id != 46 &&
1008
               template_id != 46 &&
1009
+              template_id != 48 &&
999
               template_id != 47
1010
               template_id != 47
1000
             "
1011
             "
1001
           >
1012
           >
1037
                 template_id == 44 ||
1048
                 template_id == 44 ||
1038
                 template_id == 46 ||
1049
                 template_id == 46 ||
1039
                 template_id == 47 ||
1050
                 template_id == 47 ||
1051
+                template_id == 48 ||
1052
+                org_id == 10210 ||
1040
                 org_id == 9555)
1053
                 org_id == 9555)
1041
             "
1054
             "
1042
           >
1055
           >
1078
               template_id != 44 &&
1091
               template_id != 44 &&
1079
               template_id != 46 &&
1092
               template_id != 46 &&
1080
               template_id != 47 &&
1093
               template_id != 47 &&
1094
+              template_id == 48 &&
1095
+              org_id !=  10210 &&
1081
               org_id != 9555
1096
               org_id != 9555
1082
             "
1097
             "
1083
           >
1098
           >
1110
               template_id != 26 &&
1125
               template_id != 26 &&
1111
               template_id != 29 &&
1126
               template_id != 29 &&
1112
               template_id != 46 &&
1127
               template_id != 46 &&
1113
-              template_id != 47
1128
+              template_id != 47 &&
1129
+              template_id != 48 
1114
             "
1130
             "
1115
           >
1131
           >
1116
             <el-form-item label="置换率(L/h):">
1132
             <el-form-item label="置换率(L/h):">
1128
                 template_id == 26 ||
1144
                 template_id == 26 ||
1129
                 template_id == 29 ||
1145
                 template_id == 29 ||
1130
                 template_id == 46 ||
1146
                 template_id == 46 ||
1131
-                template_id == 47)
1147
+                template_id == 47 ||
1148
+                template_id == 48)
1132
             "
1149
             "
1133
           >
1150
           >
1134
             <el-form-item label="置换率(ml/min):">
1151
             <el-form-item label="置换率(ml/min):">
1152
               template_id != 29 &&
1169
               template_id != 29 &&
1153
               template_id != 43 &&
1170
               template_id != 43 &&
1154
               template_id != 46 &&
1171
               template_id != 46 &&
1155
-              template_id != 47
1172
+              template_id != 48
1156
             "
1173
             "
1157
           >
1174
           >
1158
             <el-form-item label="置换量(L):">
1175
             <el-form-item label="置换量(L):">
1173
                 template_id == 26 ||
1190
                 template_id == 26 ||
1174
                 template_id == 29 ||
1191
                 template_id == 29 ||
1175
                 template_id == 46 ||
1192
                 template_id == 46 ||
1176
-                template_id == 47)
1193
+                template_id == 48)
1177
             "
1194
             "
1178
           >
1195
           >
1179
             <el-form-item label="置换量(ml):">
1196
             <el-form-item label="置换量(ml):">

+ 8 - 8
src/xt_pages/dialysis/details/dialysisMonitoring.vue View File

14
           <th width="76px">静脉压/动脉压({{monitores[0]&&monitores[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
14
           <th width="76px">静脉压/动脉压({{monitores[0]&&monitores[0]['venous_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
15
           <th v-if="isShow('血流量')" width="92px">血流量(ml/min)</th>
15
           <th v-if="isShow('血流量')" width="92px">血流量(ml/min)</th>
16
           <th v-if="isShow('跨膜压')" width="76px">跨膜压({{monitores[0]&&monitores[0]['transmembrane_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
16
           <th v-if="isShow('跨膜压')" width="76px">跨膜压({{monitores[0]&&monitores[0]['transmembrane_pressure_type'] == 2 ? 'kpa' : 'mmHg'}})</th>
17
-          <th v-if=" isShow('超滤量') &&(template_id == 6 || template_id == 9 || template_id == 10 || template_id == 11 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 27 || template_id == 28 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 32 || template_id == 34 || template_id == 35 || template_id == 36 || template_id == 38 || template_id == 39 || template_id == 40  || template_id == 41 || template_id == 43 || template_id == 44 || template_id == 46 || template_id == 47 || this.$store.getters.xt_user.template_info.org_id == 9555)" width="76px" > 超滤量(ml)</th>
18
-          <th v-if=" isShow('超滤量') && template_id != 6 && template_id != 9 && template_id != 10 && template_id != 11 && template_id != 13 && template_id != 17 && template_id != 18 && template_id != 19 && template_id != 20 && template_id != 21 && template_id != 22 && template_id != 23 && template_id != 24 && template_id != 26 && template_id !=27 && template_id!=28 && template_id!=29 && template_id!=30 && template_id!=31 && template_id!=32 && template_id!=34 && template_id!=35 && template_id!=36 && template_id!=38 && template_id != 39 && template_id != 40  && template_id != 41 && template_id != 43 && template_id != 44 && template_id != 46  && template_id != 47  && this.$store.getters.xt_user.template_info.org_id != 9555"  width="76px"> 超滤量(L) </th>
19
-          <th v-if="isShow('超滤率') && (template_id ==6 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 34 || template_id == 35 || template_id == 38 || template_id == 41 || template_id == 43 || template_id == 44 || template_id == 46 || template_id == 47)" width="50px"> 超滤率 <br />(ml/h) </th>
20
-          <th v-if="isShow('超滤率') && template_id !=6 && template_id !=10 && template_id !=11 && template_id !=12 && template_id !=13 && template_id !=17 && template_id !=18 && template_id !=19 && template_id !=20 && template_id !=21 && template_id !=22 && template_id !=23 && template_id !=24 && template_id !=26 && template_id !=29 && template_id !=30 && template_id !=31 && template_id !=34 && template_id !=35 && template_id !=38  && template_id !=41 && template_id !=43 && template_id !=44 && template_id !=46 && template_id !=47" width="50px"> 超滤率 <br />(L/h) </th>
17
+          <th v-if=" isShow('超滤量') &&(template_id == 6 || template_id == 9 || template_id == 10 || template_id == 11 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 27 || template_id == 28 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 32 || template_id == 34 || template_id == 35 || template_id == 36 || template_id == 38 || template_id == 39 || template_id == 40  || template_id == 41 || template_id == 43 || template_id == 44 || template_id == 46 || template_id == 47 || template_id == 48 || this.$store.getters.xt_user.template_info.org_id == 9555)" width="76px" > 超滤量(ml)</th>
18
+          <th v-if=" isShow('超滤量') && template_id != 6 && template_id != 9 && template_id != 10 && template_id != 11 && template_id != 13 && template_id != 17 && template_id != 18 && template_id != 19 && template_id != 20 && template_id != 21 && template_id != 22 && template_id != 23 && template_id != 24 && template_id != 26 && template_id !=27 && template_id!=28 && template_id!=29 && template_id!=30 && template_id!=31 && template_id!=32 && template_id!=34 && template_id!=35 && template_id!=36 && template_id!=38 && template_id != 39 && template_id != 40  && template_id != 41 && template_id != 43 && template_id != 44 && template_id != 46  && template_id != 47 && template_id != 48 && this.$store.getters.xt_user.template_info.org_id != 9555"  width="76px"> 超滤量(L) </th>
19
+          <th v-if="isShow('超滤率') && (template_id ==6 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 34 || template_id == 35 || template_id == 38 || template_id == 41 || template_id == 43 || template_id == 44 || template_id == 46 || template_id == 47  || template_id == 48)" width="50px"> 超滤率 <br />(ml/h) </th>
20
+          <th v-if="isShow('超滤率') && template_id !=6 && template_id !=10 && template_id !=11 && template_id !=12 && template_id !=13 && template_id !=17 && template_id !=18 && template_id !=19 && template_id !=20 && template_id !=21 && template_id !=22 && template_id !=23 && template_id !=24 && template_id !=26 && template_id !=29 && template_id !=30 && template_id !=31 && template_id !=34 && template_id !=35 && template_id !=38  && template_id !=41 && template_id !=43 && template_id !=44 && template_id !=46 && template_id !=47 &&  template_id !=48" width="50px"> 超滤率 <br />(L/h) </th>
21
           <th v-if="isShow('钠浓度')" width="92px">钠浓度(mmol/L)</th>
21
           <th v-if="isShow('钠浓度')" width="92px">钠浓度(mmol/L)</th>
22
           <th v-if="isShow('透析液温度')" width="92px">透析液温度(℃)</th>
22
           <th v-if="isShow('透析液温度')" width="92px">透析液温度(℃)</th>
23
-          <th v-if=" isShow('置换率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 20 || template_id == 26 || template_id == 29 || template_id == 46 || template_id == 47) " width="92px" > 置换率(ml/min) </th>
24
-          <th v-if=" isShow('置换率') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 20 && template_id != 26 && template_id != 29 && template_id != 46 && template_id != 47" width="92px" > 置换率(L/h)  </th>
23
+          <th v-if=" isShow('置换率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 20 || template_id == 26 || template_id == 29 || template_id == 46 || template_id == 47 || template_id == 48) " width="92px" > 置换率(ml/min) </th>
24
+          <th v-if=" isShow('置换率') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 20 && template_id != 26 && template_id != 29 && template_id != 46 && template_id != 47 && template_id != 48" width="92px" > 置换率(L/h)  </th>
25
           <th v-if=" isShow('置换量') && (template_id == 43)" width="92px"> 置换量(ml/h)  </th>
25
           <th v-if=" isShow('置换量') && (template_id == 43)" width="92px"> 置换量(ml/h)  </th>
26
-          <th v-if=" isShow('置换量') && ((template_id == 6 && org_id != 9919 && org_id !=10191) || org_id == 9779 || template_id == 11 || template_id == 20 || template_id == 26 || template_id == 29 || template_id == 46 || template_id == 47)" width="92px"  > 置换量(ml)  </th>
27
-          <th v-if=" isShow('置换量') && ((template_id != 6 || org_id == 9919 || org_id == 10191) && org_id != 9779 && template_id != 11 && template_id != 20 && template_id != 26 && template_id != 29 && template_id != 46 && template_id != 47)" width="92px" > 置换量(L) </th>
26
+          <th v-if=" isShow('置换量') && ((template_id == 6 && org_id != 9919 && org_id !=10191) || org_id == 9779 || template_id == 11 || template_id == 20 || template_id == 26 || template_id == 29 || template_id == 46 || template_id == 48)" width="92px"  > 置换量(ml)  </th>
27
+          <th v-if=" isShow('置换量') && ((template_id != 6 || org_id == 9919 || org_id == 10191) && org_id != 9779 && template_id != 11 && template_id != 20 && template_id != 26 && template_id != 29 && template_id != 46 && template_id != 48)" width="92px" > 置换量(L) </th>
28
           <th v-if=" isShow('SpO₂') && template_id != 6 && template_id != 10 && template_id != 11  " width="92px" > SpO₂(%) </th>
28
           <th v-if=" isShow('SpO₂') && template_id != 6 && template_id != 10 && template_id != 11  " width="92px" > SpO₂(%) </th>
29
           <th v-if="isShow('电导度')" width="92px">电导度(mS/m)</th>
29
           <th v-if="isShow('电导度')" width="92px">电导度(mS/m)</th>
30
           <th v-if="isShow('置换液流量') && template_id != 27" width="92px">置换液流量(ml/h)</th>
30
           <th v-if="isShow('置换液流量') && template_id != 27" width="92px">置换液流量(ml/h)</th>

+ 31 - 2
src/xt_pages/dialysis/dialysisPrintOrder.vue View File

634
           >打印</el-button
634
           >打印</el-button
635
         >
635
         >
636
       </template>
636
       </template>
637
+      <template v-if="org_template_info.template_id == 48">
638
+        <el-button
639
+          :loading="loading"
640
+          size="small"
641
+          icon="el-icon-printer"
642
+          @click="printThisPage"
643
+          type="primary"
644
+          >打印</el-button
645
+        >
646
+      </template>
637
     </div>
647
     </div>
638
     <div class="app-container" style="min-height: 0">
648
     <div class="app-container" style="min-height: 0">
639
       <!--<div class="order-print-btn"-->
649
       <!--<div class="order-print-btn"-->
995
             v-if="org_template_info.template_id == 47"
1005
             v-if="org_template_info.template_id == 47"
996
           >
1006
           >
997
           </DialysisPrintOrderFortySeven>
1007
           </DialysisPrintOrderFortySeven>
1008
+
1009
+           <DialysisPrintOrderFortyEight
1010
+            v-bind:childResponse="childResponse"
1011
+            v-if="org_template_info.template_id == 48"
1012
+          >
1013
+          </DialysisPrintOrderFortyEight>
998
         </div>
1014
         </div>
999
       </el-container>
1015
       </el-container>
1000
     </div>
1016
     </div>
1060
 import DialysisPrintOrderFortyFive from "./template/DialysisPrintOrderFortyFive";
1076
 import DialysisPrintOrderFortyFive from "./template/DialysisPrintOrderFortyFive";
1061
 import DialysisPrintOrderFortySix from "./template/DialysisPrintOrderFortySix";
1077
 import DialysisPrintOrderFortySix from "./template/DialysisPrintOrderFortySix";
1062
 import DialysisPrintOrderFortySeven from "./template/DialysisPrintOrderFortySeven";
1078
 import DialysisPrintOrderFortySeven from "./template/DialysisPrintOrderFortySeven";
1079
+import DialysisPrintOrderFortyEight from "./template/DialysisPrintOrderFortyEight";
1063
 export default {
1080
 export default {
1064
   name: "dialysisPrintOrder",
1081
   name: "dialysisPrintOrder",
1065
   components: {
1082
   components: {
1083
+    DialysisPrintOrderFortyEight,
1066
     DialysisPrintOrderFortySeven,
1084
     DialysisPrintOrderFortySeven,
1067
     DialysisPrintOrderFortySix,
1085
     DialysisPrintOrderFortySix,
1068
     DialysisPrintOrderFortyFive,
1086
     DialysisPrintOrderFortyFive,
1289
         '@media print {#dialysis-print-box-1{margin:0 auto;}.dialysis-print-order{width:920px;margin:0 10px;font-size:10px;}.option_panel { margin: 0 5px 0 0; } .option_panel .check_box_panel { white-space: nowrap; outline: none; display: inline-block; line-height: 1; position: relative; vertical-align: middle; } .dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px}.option_panel .check_box_panel .check_box { display: inline-block; position: relative; border: 1px solid #000; box-sizing: border-box; width: 14px; height: 12px; background-color: #fff; } .check_box_panel .did_checked::after { content: "√"; font-size: 15px; } .print_page_main_content {background-color: white;width: 940px;margin: 0 auto 50px;padding: 0 0 0 0; page-break-after: always;}.print_page_main_content .order-yy-name {margin: auto;text-align: center;font-size: 20px;letter-spacing: 5px;}.print_page_main_content .order_title {text-align: center;font-size: 23px; line-height: 50px;font-weight: 500;} .row {font-size: 14px;line-height: 20px;padding: 5px 0;}.inline_block { display: inline-block;}.under_line_two {display: inline-block;border-bottom: 1px solid #999;text-align: left;white-space: nowrap;width: 50%;}.under_line {display: inline-block;border-bottom: 1px solid #999;text-align: center;white-space: nowrap; width: 50%;}.flex {display: -webkit-box;display: -moz-box; display: -ms-flexbox; display: -webkit-flex;display: flex;align-items: center;-webkit-align-items: center;box-align: center;-moz-box-align: center;-webkit-box-align: center;text-align: center;-webkit-justify-content: space-between;justify-content: space-between;-moz-box-pack: space-between;-webkit--moz-box-pack: space-between;box-pack: space-between;}.print_page_main_content .proj_table {width: 100%;border: 1px solid;border-collapse: collapse;padding: 2px;}.print_page_main_content .proj_table tbody tr td {border: 1px solid;font-size: 16px;padding: 3px 8px;line-height: 30px;}.print_page_main_content .proj_table .inside_table {width: 100%;border: hidden; border-collapse: collapse;}.print_page_main_content .proj_table .inside_table tr td {border: 1px solid; text-align: center;font-size: 14px;padding: 6px 5px;line-height: 16px;}.print-table-no {width: 100%;text-align: center;border-collapse: collapse;font-size: 14px;}.es-img {height: 30px;}.advice-name {text-align: left !important;line-height: 16px !important;}.advice-children {display: flex;}}.margin-bottom-50{margin-bottom:50px;}.margin-bottom-300 {margin-bottom:450px;}.margin-bottom-600 {margin-bottom:600px;}.margin-bottom-900 {margin-bottom:900px;}.print-yema{ position: absolute;top: 920px;left: 50%;} .print-yema2{ position: absolute;top: 400px;left: 50%;}.print-yema3{position: absolute;top: 1230px;left: 50%;}.print-yema4{position: absolute;top: 1050px;left: 50%;}.check_box{width:15px !important;height:15px !important;}.did_checke::after {font-size: 8px;margin-left: 2px;margin-top: 12px !important;position: absolute;}.table-box1 {border: 1px solid #000;width: 100%;line-height: 30px;font-size: 14px;border-collapse: collapse;}@page {margin-top:5px;}.table-box1 tr {border-bottom: 1px solid #000;}';
1307
         '@media print {#dialysis-print-box-1{margin:0 auto;}.dialysis-print-order{width:920px;margin:0 10px;font-size:10px;}.option_panel { margin: 0 5px 0 0; } .option_panel .check_box_panel { white-space: nowrap; outline: none; display: inline-block; line-height: 1; position: relative; vertical-align: middle; } .dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px}.option_panel .check_box_panel .check_box { display: inline-block; position: relative; border: 1px solid #000; box-sizing: border-box; width: 14px; height: 12px; background-color: #fff; } .check_box_panel .did_checked::after { content: "√"; font-size: 15px; } .print_page_main_content {background-color: white;width: 940px;margin: 0 auto 50px;padding: 0 0 0 0; page-break-after: always;}.print_page_main_content .order-yy-name {margin: auto;text-align: center;font-size: 20px;letter-spacing: 5px;}.print_page_main_content .order_title {text-align: center;font-size: 23px; line-height: 50px;font-weight: 500;} .row {font-size: 14px;line-height: 20px;padding: 5px 0;}.inline_block { display: inline-block;}.under_line_two {display: inline-block;border-bottom: 1px solid #999;text-align: left;white-space: nowrap;width: 50%;}.under_line {display: inline-block;border-bottom: 1px solid #999;text-align: center;white-space: nowrap; width: 50%;}.flex {display: -webkit-box;display: -moz-box; display: -ms-flexbox; display: -webkit-flex;display: flex;align-items: center;-webkit-align-items: center;box-align: center;-moz-box-align: center;-webkit-box-align: center;text-align: center;-webkit-justify-content: space-between;justify-content: space-between;-moz-box-pack: space-between;-webkit--moz-box-pack: space-between;box-pack: space-between;}.print_page_main_content .proj_table {width: 100%;border: 1px solid;border-collapse: collapse;padding: 2px;}.print_page_main_content .proj_table tbody tr td {border: 1px solid;font-size: 16px;padding: 3px 8px;line-height: 30px;}.print_page_main_content .proj_table .inside_table {width: 100%;border: hidden; border-collapse: collapse;}.print_page_main_content .proj_table .inside_table tr td {border: 1px solid; text-align: center;font-size: 14px;padding: 6px 5px;line-height: 16px;}.print-table-no {width: 100%;text-align: center;border-collapse: collapse;font-size: 14px;}.es-img {height: 30px;}.advice-name {text-align: left !important;line-height: 16px !important;}.advice-children {display: flex;}}.margin-bottom-50{margin-bottom:50px;}.margin-bottom-300 {margin-bottom:450px;}.margin-bottom-600 {margin-bottom:600px;}.margin-bottom-900 {margin-bottom:900px;}.print-yema{ position: absolute;top: 920px;left: 50%;} .print-yema2{ position: absolute;top: 400px;left: 50%;}.print-yema3{position: absolute;top: 1230px;left: 50%;}.print-yema4{position: absolute;top: 1050px;left: 50%;}.check_box{width:15px !important;height:15px !important;}.did_checke::after {font-size: 8px;margin-left: 2px;margin-top: 12px !important;position: absolute;}.table-box1 {border: 1px solid #000;width: 100%;line-height: 30px;font-size: 14px;border-collapse: collapse;}@page {margin-top:5px;}.table-box1 tr {border-bottom: 1px solid #000;}';
1290
       const style10 =
1308
       const style10 =
1291
         '@media print {.dialysis-print-order{width:960px;margin:0 auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:40px;font-size:14px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:40px;font-size:14px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:14px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;} .dialysis-print-order .print-table tr td{padding: 0px 0px;line-height:35px} .print-template-two tr {line-height: 30px;}   .title-box-pro{border: 0 #fff;line-height: 40px;height: 40px;text-align: left;padding-left: 10px !important;}  .text-align-left{text-align: left !important;padding-left:10px !important;font-size: 14px !important;line-height: 25px;}@page {margin-left:30px;margin-right:40px;}';
1309
         '@media print {.dialysis-print-order{width:960px;margin:0 auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:40px;font-size:14px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:40px;font-size:14px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:14px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;} .dialysis-print-order .print-table tr td{padding: 0px 0px;line-height:35px} .print-template-two tr {line-height: 30px;}   .title-box-pro{border: 0 #fff;line-height: 40px;height: 40px;text-align: left;padding-left: 10px !important;}  .text-align-left{text-align: left !important;padding-left:10px !important;font-size: 14px !important;line-height: 25px;}@page {margin-left:30px;margin-right:40px;}';
1292
-
1310
+      
1311
+      // 三明曙光样式
1312
+      const style11 =
1313
+        '@media print {.dialysis-print-order{width:960px;margin:100px auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:30px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:23px;font-size:14px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:25px;font-size:15px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:14px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;} .dialysis-print-order .print-table tr td{padding: 0px 0px;} .print-template-two tr {line-height: 30px;}   .title-box-pro{border: 0 #fff;line-height: 40px;height: 40px;text-align: left;padding-left: 10px !important;}  .text-align-left{text-align: left !important;padding-left:10px !important;font-size: 14px !important;line-height: 25px;}';
1314
+      
1293
       if (this.org_template_info.template_id == 1) {
1315
       if (this.org_template_info.template_id == 1) {
1294
         printJS({
1316
         printJS({
1295
           printable: "dialysis-print-box",
1317
           printable: "dialysis-print-box",
1608
           style: style2,
1630
           style: style2,
1609
           scanStyles: false,
1631
           scanStyles: false,
1610
         });
1632
         });
1611
-      }
1633
+      } else if (this.org_template_info.template_id == 48) {
1634
+        printJS({
1635
+          printable: "dialysis-print-box",
1636
+          type: "html",
1637
+          style: style11,
1638
+          scanStyles: false,
1639
+        });
1640
+      } 
1612
     },
1641
     },
1613
     printThisOnePage() {
1642
     printThisOnePage() {
1614
       var ptime = Math.round(new Date().getTime() / 1000);
1643
       var ptime = Math.round(new Date().getTime() / 1000);

+ 2 - 0
src/xt_pages/dialysis/schedualPatient.vue View File

79
       <el-input size="small" style="width: 180px;" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
79
       <el-input size="small" style="width: 180px;" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
80
       <el-button size="small" class="filter-item" type="primary" icon="el-icon-search" @click="searchAction">搜索</el-button>
80
       <el-button size="small" class="filter-item" type="primary" icon="el-icon-search" @click="searchAction">搜索</el-button>
81
     </div>
81
     </div>
82
+
82
     <div style="display:flex;justify-content: space-between;">
83
     <div style="display:flex;justify-content: space-between;">
83
       <div :class="queueConfig.txglsyxs != 1 ? 'PatientArea' : 'PatientArea smallWidth'">
84
       <div :class="queueConfig.txglsyxs != 1 ? 'PatientArea' : 'PatientArea smallWidth'">
84
         <div v-for="zone_schedule in allPatient" :key="zone_schedule.zone_id" class="list clearfix">
85
         <div v-for="zone_schedule in allPatient" :key="zone_schedule.zone_id" class="list clearfix">
86
           <div v-if="zone_schedule.schedules.length > 0 && patientStateVal != 1" style="font-size:16px;font-weight: bold;color: #34495e;margin-right:10px;line-height:30px;">{{zone_schedule.zone_name}}</div>
87
           <div v-if="zone_schedule.schedules.length > 0 && patientStateVal != 1" style="font-size:16px;font-weight: bold;color: #34495e;margin-right:10px;line-height:30px;">{{zone_schedule.zone_name}}</div>
87
           <patient-box :schedules="zone_schedule.schedules" :patientStateVal='patientStateVal' style="flex:1"></patient-box>
88
           <patient-box :schedules="zone_schedule.schedules" :patientStateVal='patientStateVal' style="flex:1"></patient-box>
88
         </div>
89
         </div>
90
+        
89
         <div class="NoData" v-show="filtedSchedules.length == 0">
91
         <div class="NoData" v-show="filtedSchedules.length == 0">
90
           <img src="@/assets/img/data.jpg" alt="">
92
           <img src="@/assets/img/data.jpg" alt="">
91
         </div>
93
         </div>

File diff suppressed because it is too large
+ 2685 - 0
src/xt_pages/dialysis/template/DialysisPrintOrderFortyEight.vue


+ 13 - 8
src/xt_pages/dialysis/template/DialysisPrintOrderFortySeven.vue View File

1174
                           "
1174
                           "
1175
                           width="50"
1175
                           width="50"
1176
                         >
1176
                         >
1177
-                          置换量<br />(ml)
1177
+                          置换量<br />(L)
1178
                         </td>
1178
                         </td>
1179
                         <td width="200">病情变化及处理</td>
1179
                         <td width="200">病情变化及处理</td>
1180
 
1180
 
1261
                         </td>
1261
                         </td>
1262
                         <!-- 超滤量 -->
1262
                         <!-- 超滤量 -->
1263
                         <td>
1263
                         <td>
1264
-                          {{
1265
-                            monitor.ultrafiltration_volume
1266
-                              ? monitor.ultrafiltration_volume
1267
-                              : ""
1268
-                          }}
1264
+                          <span v-if="monindex == 0"> 0 </span>
1265
+                          <span v-else>
1266
+                            {{
1267
+                              monitor.ultrafiltration_volume
1268
+                                ? monitor.ultrafiltration_volume
1269
+                                : ""
1270
+                            }}
1271
+                          </span>
1269
                         </td>
1272
                         </td>
1273
+                        <!-- 置换量 -->
1270
                         <td
1274
                         <td
1271
                           v-if="
1275
                           v-if="
1272
                             prescription.mode_id == 2 ||
1276
                             prescription.mode_id == 2 ||
1275
                           "
1279
                           "
1276
                           style="width: 50px"
1280
                           style="width: 50px"
1277
                         >
1281
                         >
1278
-                          <span>
1282
+                          <span v-if="monindex == 0"> 0 </span>
1283
+                          <span v-else>
1279
                             {{
1284
                             {{
1280
                               monitor.displacement_quantity
1285
                               monitor.displacement_quantity
1281
                                 ? monitor.displacement_quantity
1286
                                 ? monitor.displacement_quantity
1282
                                 : ""
1287
                                 : ""
1283
                             }}
1288
                             }}
1284
                           </span>
1289
                           </span>
1290
+                          
1285
                         </td>
1291
                         </td>
1286
                         <!-- <td
1292
                         <!-- <td
1287
                           v-if="
1293
                           v-if="
1911
                         style="width: 200px; text-align: center"
1917
                         style="width: 200px; text-align: center"
1912
                       >
1918
                       >
1913
                         {{ afterdialysis.cruor ? afterdialysis.cruor : "/" }}
1919
                         {{ afterdialysis.cruor ? afterdialysis.cruor : "/" }}
1914
-                        
1915
                       </div>
1920
                       </div>
1916
                     </div>
1921
                     </div>
1917
 
1922
 

+ 13 - 6
src/xt_pages/dialysis/template/DialysisPrintOrderFortyTwo.vue View File

120
                 {{ afterdialysis.actual_ultrafiltration ? afterdialysis.actual_ultrafiltration : '/'}}kg
120
                 {{ afterdialysis.actual_ultrafiltration ? afterdialysis.actual_ultrafiltration : '/'}}kg
121
               </span>
121
               </span>
122
             </td>
122
             </td>
123
-            <td style="text-align:left;" colspan="1">
123
+           
124
+            <td style="text-align:left;" colspan="2">
124
               <span style="display:inline-block;margin-left:15px;">
125
               <span style="display:inline-block;margin-left:15px;">
125
-                透后体重:
126
-                {{ afterdialysis.weight_after ? afterdialysis.weight_after : '/' }} kg
126
+                透析时长:
127
+                {{ afterdialysis.actual_treatment_hour ? afterdialysis.actual_treatment_hour : "0" }}h
128
+                {{ afterdialysis.actual_treatment_minute ? afterdialysis.actual_treatment_minute : "0" }}min
127
               </span>
129
               </span>
128
             </td>
130
             </td>
129
           </tr>
131
           </tr>
134
                 {{ afterdialysis.weight_loss ? afterdialysis.weight_loss : "/" }}kg
136
                 {{ afterdialysis.weight_loss ? afterdialysis.weight_loss : "/" }}kg
135
               </span>
137
               </span>
136
             </td> -->
138
             </td> -->
139
+             <td style="text-align:left;" colspan="1">
140
+              <span style="display:inline-block;margin-left:15px;">
141
+                透后体重:
142
+                {{ afterdialysis.weight_after ? afterdialysis.weight_after : '/' }} kg
143
+              </span>
144
+            </td>
137
             <td style="text-align:left;" colspan="2">
145
             <td style="text-align:left;" colspan="2">
138
               <span style="display:inline-block;margin-left:15px;">
146
               <span style="display:inline-block;margin-left:15px;">
139
-                透析时长:
140
-                {{ afterdialysis.actual_treatment_hour ? afterdialysis.actual_treatment_hour : "0" }}h
141
-                {{ afterdialysis.actual_treatment_minute ? afterdialysis.actual_treatment_minute : "0" }}min
147
+                透后血压:
148
+                {{ afterdialysis.systolic_blood_pressure ? afterdialysis.systolic_blood_pressure : '' }}/{{afterdialysis.diastolic_blood_pressure?afterdialysis.diastolic_blood_pressure:''}} mmHg
142
               </span>
149
               </span>
143
             </td>
150
             </td>
144
           </tr>
151
           </tr>

+ 1 - 1
src/xt_pages/dialysis/template/DialysisPrintOrderNine.vue View File

445
                       &nbsp;{{ prescription.replacement_total ? prescription.replacement_total : "/" }}
445
                       &nbsp;{{ prescription.replacement_total ? prescription.replacement_total : "/" }}
446
                     </div>
446
                     </div>
447
                   </td>
447
                   </td>
448
-                  <td width="20">ml</td>
448
+                  <td width="20">L</td>
449
 
449
 
450
                   <td width="80">透析方式:</td>
450
                   <td width="80">透析方式:</td>
451
                   <td width="50">
451
                   <td width="50">

+ 0 - 8
src/xt_pages/hospitalStation/allListTemplate/printOne.vue View File

118
       }
118
       }
119
 
119
 
120
     },
120
     },
121
-    watch:{
122
-        list: {
123
-            handler(newVal) {
124
-                this.getPage()
125
-            },
126
-            deep: true
127
-        }
128
-    }
129
   }
121
   }
130
 
122
 
131
 
123
 

+ 22 - 11
src/xt_pages/hospitalStation/components/chargeDialog.vue View File

9
       </el-form-item>
9
       </el-form-item>
10
 
10
 
11
       <el-form-item label="总计:" prop="name" :validate-event="is_Name" style="width:33%;">
11
       <el-form-item label="总计:" prop="name" :validate-event="is_Name" style="width:33%;">
12
-        <el-input type="number" v-model="form.total" :disabled="true"></el-input>
12
+        <el-input style="color: black" type="number" v-model="form.total" :disabled="true"></el-input>
13
       </el-form-item>
13
       </el-form-item>
14
       <el-form-item label="医保:" prop="name" :validate-event="is_Name" style="width:33%;">
14
       <el-form-item label="医保:" prop="name" :validate-event="is_Name" style="width:33%;">
15
-        <el-input type="number" v-model="form.medical_insurance_price" :disabled="true"></el-input>
15
+        <el-input style="color: black"  type="number" v-model="form.medical_insurance_price" :disabled="true"></el-input>
16
       </el-form-item>
16
       </el-form-item>
17
 
17
 
18
 
18
 
19
       <el-form-item label="自费:" prop="age" :validate-event="is_Name" style="width:33%;">
19
       <el-form-item label="自费:" prop="age" :validate-event="is_Name" style="width:33%;">
20
-        <el-input type="number" v-model="form.private_price" :disabled="true"></el-input>
20
+        <el-input style="color: black"  type="number" v-model="form.private_price" :disabled="true"></el-input>
21
       </el-form-item>
21
       </el-form-item>
22
 
22
 
23
       <el-form-item label="个账支出:" prop="age" :validate-event="is_Name" style="width:33%;">
23
       <el-form-item label="个账支出:" prop="age" :validate-event="is_Name" style="width:33%;">
24
-        <el-input type="number" v-model="form.acct_pay" :disabled="true"></el-input>
24
+        <el-input style="color: black"  type="number" v-model="form.acct_pay" :disabled="true"></el-input>
25
       </el-form-item>
25
       </el-form-item>
26
 
26
 
27
 
27
 
28
       <el-form-item label="个人现金支出:" prop="age" :validate-event="is_Name" style="width:33%;">
28
       <el-form-item label="个人现金支出:" prop="age" :validate-event="is_Name" style="width:33%;">
29
-        <el-input type="number" v-model="form.psn_pay" :disabled="true"></el-input>
29
+        <el-input style="color: black"  type="number" v-model="form.psn_pay" :disabled="true"></el-input>
30
       </el-form-item>
30
       </el-form-item>
31
 
31
 
32
 
32
 
47
 
47
 
48
 
48
 
49
       <el-form-item label="付款金额:" prop="id_card" :validate-event="is_Name">
49
       <el-form-item label="付款金额:" prop="id_card" :validate-event="is_Name">
50
-        <el-input type="number" v-model="form.pay_price" :disabled="true"></el-input>
50
+        <el-input style="color: black"  type="number" v-model="form.pay_price" :disabled="true"></el-input>
51
       </el-form-item>
51
       </el-form-item>
52
 
52
 
53
 
53
 
57
 
57
 
58
       <el-form-item class="specialFormItem" label="折扣金额:">
58
       <el-form-item class="specialFormItem" label="折扣金额:">
59
         <div style="display:flex;">
59
         <div style="display:flex;">
60
-          <el-input v-model="form.discount_price" :disabled="form.preferential_price != 0" @change="changeDiscountPrice"></el-input>
60
+          <el-input style="color: black"  v-model="form.discount_price" :disabled="form.preferential_price != 0" @change="changeDiscountPrice"></el-input>
61
         </div>
61
         </div>
62
       </el-form-item>
62
       </el-form-item>
63
       <el-form-item class="specialFormItem" label="优惠金额:">
63
       <el-form-item class="specialFormItem" label="优惠金额:">
64
         <div style="display:flex;">
64
         <div style="display:flex;">
65
-          <el-input v-model="form.preferential_price" :disabled="form.discount_price != 0" @change="changePreferentialPrice"></el-input>
65
+          <el-input style="color: black"  v-model="form.preferential_price" :disabled="form.discount_price != 0" @change="changePreferentialPrice"></el-input>
66
         </div>
66
         </div>
67
       </el-form-item>
67
       </el-form-item>
68
       <el-form-item label="实收金额:">
68
       <el-form-item label="实收金额:">
69
         <div style="display:flex;">
69
         <div style="display:flex;">
70
-          <el-input v-model="form.reality_price" @change="realityPrice"></el-input>
70
+          <el-input style="color: black"  v-model="form.reality_price" @change="realityPrice"></el-input>
71
         </div>
71
         </div>
72
       </el-form-item>
72
       </el-form-item>
73
       <el-form-item label="找回金额:">
73
       <el-form-item label="找回金额:">
74
         <div style="display:flex;">
74
         <div style="display:flex;">
75
-          <el-input v-model.number="form.found_price"></el-input>
75
+          <el-input style="color: black"  v-model.number="form.found_price"></el-input>
76
         </div>
76
         </div>
77
       </el-form-item>
77
       </el-form-item>
78
 
78
 
101
 
101
 
102
 <script>
102
 <script>
103
   import { uParseTime } from '@/utils/tools'
103
   import { uParseTime } from '@/utils/tools'
104
-
104
+  const moment = require('moment')
105
   export default {
105
   export default {
106
     name: 'chargeDialog',
106
     name: 'chargeDialog',
107
 
107
 
182
     },
182
     },
183
     methods: {
183
     methods: {
184
       show: function (total,order) {
184
       show: function (total,order) {
185
+        this.record_date = moment(new Date()).add('year',0).format("YYYY-MM-DD HH:mm")
185
         this.form.total = total
186
         this.form.total = total
186
         this.form.private_price = total
187
         this.form.private_price = total
187
         this.form.pay_price = total
188
         this.form.pay_price = total
269
   }
270
   }
270
 </script>
271
 </script>
271
 
272
 
273
+
272
 <style lang="scss" scoped>
274
 <style lang="scss" scoped>
275
+/deep/input::-webkit-input-placeholder {
276
+  color: red;
277
+  font-size: 15px;
278
+}
279
+
280
+   /deep/.el-input__inner {
281
+     background-color: transparent !important;
282
+     border: 1px solid red;
283
+   }
273
 .chargeDialog{
284
 .chargeDialog{
274
   .el-form{
285
   .el-form{
275
     display: flex;
286
     display: flex;

+ 43 - 200
src/xt_pages/hospitalStation/components/hospitalRegisterDialog.vue View File

1
 <template>
1
 <template>
2
-  <el-dialog width="854px" title="入院登记" class="chargeDialog" :visible.sync="visibility" :close-on-click-modal="isClose"
2
+  <el-dialog width="1000px" title="入院登记" class="chargeDialog" :visible.sync="visibility" :close-on-click-modal="isClose"
3
              :close-on-press-escape="isClose">
3
              :close-on-press-escape="isClose">
4
 
4
 
5
     <div class="nameTitle">患者基本信息:</div>
5
     <div class="nameTitle">患者基本信息:</div>
161
             </el-option>
161
             </el-option>
162
           </el-select>
162
           </el-select>
163
         </el-form-item>
163
         </el-form-item>
164
-        <el-form-item label="入院科室:" prop="department" :validate-event="is_Name">
165
-          <el-select v-model="form.department" placeholder="请选择">
166
-            <el-option
167
-                v-for="item in departmentList"
168
-                :key="item.id"
169
-                :label="item.name"
170
-                :value="item.id">
171
-            </el-option>
172
-          </el-select>
173
-        </el-form-item>
174
-
175
-
176
-        <el-form-item label="入院时间:" prop="start_time" :validate-event="is_Name">
177
-          <el-date-picker v-model="form.start_time" type="datetime" format="yyyy-MM-dd HH:mm:ss"
164
+        <el-form-item label="入院时间:"  prop="start_time" :validate-event="is_Name">
165
+          <el-date-picker style="width: 210px" v-model="form.start_time" type="datetime" format="yyyy-MM-dd HH:mm:ss"
178
                           value-format="yyyy-MM-dd HH:mm:ss"
166
                           value-format="yyyy-MM-dd HH:mm:ss"
179
                           placeholder="请选择入院时间">
167
                           placeholder="请选择入院时间">
180
           </el-date-picker>
168
           </el-date-picker>
181
 
169
 
182
         </el-form-item>
170
         </el-form-item>
183
-
184
-      </el-form>
185
-      <el-button style="float:right" @click="saveHisPatient('form')" v-loading="loadingone" type="primary">登记
186
-      </el-button>
187
-    </div>
188
-    <div class="nameTitle">患者基本信息:</div>
189
-    <div class="formMain">
190
-      <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="100px">
191
-
192
-
193
-        <el-form-item label="患者姓名:" prop="name" :validate-event="is_Name">
194
-          <el-autocomplete
195
-              class="checkSearch"
196
-              popper-class="my-autocomplete"
197
-              v-model="form.name"
198
-              :fetch-suggestions="querySearchAsync"
199
-              :trigger-on-focus="false"
200
-              placeholder="请输入病人名字"
201
-              @select="handleSelect"
202
-              style="width:160px;"
203
-          >
204
-            <i class="el-icon-search el-input__icon" slot="suffix"></i>
205
-            <template slot-scope="{ item }">
206
-              <div class="name">{{ item.name }}</div>
207
-            </template>
208
-          </el-autocomplete>
209
-        </el-form-item>
210
-
211
-
212
-        <el-form-item label="手机号码:" prop="phone">
213
-          <el-input v-model="form.phone"></el-input>
214
-        </el-form-item>
215
-
216
-
217
-        <el-form-item label="证件类型:" prop="certificates" :validate-event="is_Name">
218
-          <el-select v-model="form.certificates" placeholder="请选择">
219
-            <el-option
220
-                v-for="item in certificates"
221
-                :key="item.value"
222
-                :label="item.label"
223
-                :value="item.value">
224
-            </el-option>
225
-          </el-select>
226
-        </el-form-item>
227
-
228
-        <el-form-item label="证件号码:" prop="id_card_no" :validate-event="is_Name">
229
-          <el-input v-model="form.id_card_no"></el-input>
230
-        </el-form-item>
231
-
232
-
233
-        <el-form-item label="读卡类型:" prop="id_card_type" :validate-event="is_Name">
234
-          <el-select v-model="form.id_card_type" placeholder="请选择">
235
-            <el-option
236
-                v-for="item in IDCardTypes"
237
-                :key="item.value"
238
-                :label="item.label"
239
-                :value="item.value">
240
-            </el-option>
241
-          </el-select>
242
-        </el-form-item>
243
-
244
-
245
-        <el-form-item label="结算类型:">
246
-          <el-select v-model="form.settlement_value" placeholder="请选择" style="width:100%;">
247
-            <el-option
248
-                v-for="item in settlement"
249
-                :key="item.value"
250
-                :label="item.label"
251
-                :value="item.value">
252
-            </el-option>
253
-          </el-select>
254
-        </el-form-item>
255
-
256
-        <el-form-item label="参保地:">
257
-          <el-select v-model="form.insuplc_admdvs" placeholder="请选择" style="width:100%;">
258
-            <el-option
259
-                v-for="item in InsuplcAdmdvs"
260
-                :key="item.value"
261
-                :label="item.label"
262
-                :value="item.value">
263
-            </el-option>
264
-          </el-select>
265
-        </el-form-item>
266
-
267
-
268
-      </el-form>
269
-    </div>
270
-    <div class="nameTitle">患者住院信息:</div>
271
-    <div class="formMain">
272
-      <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="100px">
273
-
274
-        <el-form-item label="疾病类型:" prop="sick_type" :validate-event="is_Name">
275
-          <el-select filterable v-model="form.sick_type" placeholder="">
276
-            <el-option
277
-                v-for="(item,index) in sick"
278
-                :key="index"
279
-                :label="item.class_name"
280
-                :value="item.id">
281
-            </el-option>
282
-          </el-select>
283
-        </el-form-item>
284
-
285
-        <el-form-item label="诊断:" prop="diagnosis" :validate-event="is_Name">
286
-          <el-select v-model="form.diagnosis" placeholder="">
287
-            <el-option
288
-                v-for="(item,index) in diagnoses"
289
-                :key="index"
290
-                :label="item.class_name"
291
-                :value="item.id">
292
-            </el-option>
293
-          </el-select>
294
-        </el-form-item>
295
-
296
-        <el-form-item label="医疗类别:" prop="med_type" :validate-event="is_Name">
297
-          <el-select v-model="form.med_type" placeholder=""
298
-          >
299
-            <el-option
300
-                v-for="(item,index) in registers"
301
-                :key="index"
302
-                :label="item.label"
303
-                :value="item.value">
304
-            </el-option>
305
-          </el-select>
306
-        </el-form-item>
307
-
308
-
309
-        <el-form-item label="社保类型:">
310
-          <el-select v-model="form.social_type" placeholder="请选择" style="width:100%;">
311
-            <el-option
312
-                v-for="item in medicalCare"
313
-                :key="item.value"
314
-                :label="item.label"
315
-                :value="item.value">
316
-            </el-option>
317
-          </el-select>
318
-        </el-form-item>
319
-
320
-
321
-        <el-form-item label="人员类别:">
322
-          <el-select v-model="form.psn_type" placeholder="请选择" style="width:100%;">
323
-            <el-option
324
-                v-for="item in PsnTypes"
325
-                :key="item.value"
326
-                :label="item.label"
327
-                :value="item.value">
328
-            </el-option>
329
-          </el-select>
330
-        </el-form-item>
331
-
332
-
333
-        <el-form-item label="主治医生:" prop="doctor" :validate-event="is_Name">
334
-          <el-select v-model="form.doctor" placeholder="请选择" @change="changeDoctor">
335
-            <el-option
336
-                v-for="item in doctorList"
337
-                :key="item.admin_user_id"
338
-                :label="item.user_name"
339
-                :value="item.admin_user_id">
340
-            </el-option>
341
-          </el-select>
342
-        </el-form-item>
343
         <el-form-item label="入院科室:" prop="department" :validate-event="is_Name">
171
         <el-form-item label="入院科室:" prop="department" :validate-event="is_Name">
344
           <el-select v-model="form.department" placeholder="请选择">
172
           <el-select v-model="form.department" placeholder="请选择">
345
             <el-option
173
             <el-option
352
         </el-form-item>
180
         </el-form-item>
353
 
181
 
354
 
182
 
355
-        <el-form-item label="入院时间:" prop="start_time" :validate-event="is_Name">
356
-          <el-date-picker v-model="form.start_time" type="datetime" format="yyyy-MM-dd HH:mm:ss"
357
-                          value-format="yyyy-MM-dd HH:mm:ss"
358
-                          placeholder="请选择入院时间">
359
-          </el-date-picker>
360
 
183
 
361
-        </el-form-item>
362
 
184
 
363
       </el-form>
185
       </el-form>
364
-      <el-button style="float:right" @click="saveHisPatient('form')" v-loading="loadingone" type="primary">登记
365
-      </el-button>
366
     </div>
186
     </div>
367
 
187
 
368
 
188
 
369
-
370
     <span slot="footer" class="dialog-footer">
189
     <span slot="footer" class="dialog-footer">
371
-    <el-button v-loading="loadingtwo" @click="cancel('formValue')">取 消</el-button>
372
-    <el-button v-loading="loadingtwo" type="primary" @click="confirm('formValue')">确 定</el-button>
190
+    <el-button v-loading="loadingone" @click="cancel('form')">取 消</el-button>
191
+    <el-button v-loading="loadingone" type="primary" @click="confirm('form')">登记</el-button>
373
   </span>
192
   </span>
374
   </el-dialog>
193
   </el-dialog>
375
 
194
 
400
     return {
219
     return {
401
       visibility:false,
220
       visibility:false,
402
       isClose:false,
221
       isClose:false,
222
+
403
       PsnTypes:[
223
       PsnTypes:[
404
         { value: 11, label: '在职' },
224
         { value: 11, label: '在职' },
405
         { value: 21, label: '退休' },
225
         { value: 21, label: '退休' },
494
         value: 6,
314
         value: 6,
495
         label: '港澳地区身份证'
315
         label: '港澳地区身份证'
496
       }],
316
       }],
497
-
317
+      loadingtwo:false,
498
       IDCardTypes: [{
318
       IDCardTypes: [{
499
         value: 1,
319
         value: 1,
500
         label: '社保卡'
320
         label: '社保卡'
520
       },
340
       },
521
       doctorList: [],
341
       doctorList: [],
522
       departmentList: [],
342
       departmentList: [],
523
-      show: false,
524
       is_Name: false,
343
       is_Name: false,
525
       patient: [],
344
       patient: [],
526
       scialType: []
345
       scialType: []
528
   },
347
   },
529
 
348
 
530
   methods: {
349
   methods: {
350
+    cancel: function (formName) {
351
+      this.$refs['form'].resetFields()
352
+      this.$emit('cancel', "");
353
+
354
+    },
355
+    confirm: function (formName) {
356
+      this.saveHisPatient(formName)
357
+    },
531
     check(){
358
     check(){
532
       if(this.form.med_type == 0 || this.form.med_type == ''){
359
       if(this.form.med_type == 0 || this.form.med_type == ''){
533
         this.$message.error("医疗类别不能为空")
360
         this.$message.error("医疗类别不能为空")
585
           })
412
           })
586
 
413
 
587
     }, show() {
414
     }, show() {
415
+
416
+      this.form.id = 0
417
+      this.form.name = ""
418
+      this.form.sex = ""
419
+      this.form.age = ""
420
+      this.form.birthday = ""
421
+      this.form.phone = ""
422
+      this.form.id_card_no = ""
423
+      this.form.insuplc_admdvs = ""
424
+      this.form.social_type  = ""
425
+      this.form.psn_type = ""
426
+      this.form.doctor = ""
427
+
428
+
429
+
430
+
588
       this.visibility = true
431
       this.visibility = true
589
       this.form.certificates = 1
432
       this.form.certificates = 1
590
       if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 10138) {
433
       if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 10138) {
598
       this.getInitData()
441
       this.getInitData()
599
       //获取当前机构有人员信息inde
442
       //获取当前机构有人员信息inde
600
       this.getAllDoctorList()
443
       this.getAllDoctorList()
444
+    },hide(){
445
+      this.visibility = false
601
     },
446
     },
602
     handleSelect(val) {
447
     handleSelect(val) {
603
       this.form.id = val.id
448
       this.form.id = val.id
826
         this.is_Name = true
671
         this.is_Name = true
827
         return
672
         return
828
       }
673
       }
829
-      //
830
-      // if (this.form.doctor == '') {
831
-      //   this.$message.error('医生不能为空')
832
-      //   this.is_Name = true
833
-      //   return
834
-      // }
835
 
674
 
836
       if (this.form.department == '') {
675
       if (this.form.department == '') {
837
         this.$message.error('科室不能为空')
676
         this.$message.error('科室不能为空')
875
         return
714
         return
876
       }
715
       }
877
 
716
 
878
-      this.$refs[formName].validate((valid) => {
717
+      this.$refs['form'].validate((valid) => {
879
         if (valid) {
718
         if (valid) {
880
           if (this.form.costChecked == true) {
719
           if (this.form.costChecked == true) {
881
             this.check = 1
720
             this.check = 1
883
           if (this.form.costChecked == false) {
722
           if (this.form.costChecked == false) {
884
             this.check = 2
723
             this.check = 2
885
           }
724
           }
886
-          if (this.form.id_card_no == '') {
887
-            this.show = true
888
-          }
725
+
889
           var nowDate = new Date()
726
           var nowDate = new Date()
890
           var nowYear = nowDate.getFullYear()
727
           var nowYear = nowDate.getFullYear()
891
           var nowMonth = nowDate.getMonth() + 1
728
           var nowMonth = nowDate.getMonth() + 1
941
                 that.form.med_type = 14
778
                 that.form.med_type = 14
942
                 that.form.sick_type = that.sick[0].id
779
                 that.form.sick_type = that.sick[0].id
943
                 that.form.diagnosis = that.diagnoses[0].id
780
                 that.form.diagnosis = that.diagnoses[0].id
781
+                if(that.$store.getters.xt_user.org_id == 10215) {
782
+                  that.form.sick_type = 421
783
+                  that.form.diagnosis = 92
784
+                }
785
+                that.$emit('confirm', "");
944
               }
786
               }
945
             })
787
             })
946
-
947
-
948
           } else {
788
           } else {
949
             axios.get('http://127.0.0.1:9532/zh/api/inhopitalcheck/get', {
789
             axios.get('http://127.0.0.1:9532/zh/api/inhopitalcheck/get', {
950
               params: params,
790
               params: params,
979
                       that.form.sick_type = that.sick[0].id
819
                       that.form.sick_type = that.sick[0].id
980
                       that.form.diagnosis = that.diagnoses[0].id
820
                       that.form.diagnosis = that.diagnoses[0].id
981
                       that.form.certificates = 1
821
                       that.form.certificates = 1
822
+                      that.$emit('confirm', "");
982
                       if(that.$store.getters.xt_user.org_id == 10215) {
823
                       if(that.$store.getters.xt_user.org_id == 10215) {
983
                         that.form.sick_type = 421
824
                         that.form.sick_type = 421
984
                         that.form.diagnosis = 92
825
                         that.form.diagnosis = 92
985
                       }
826
                       }
827
+
828
+
986
                     }
829
                     }
987
                   }
830
                   }
988
                 })
831
                 })

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

1
 <template>
1
 <template>
2
   <div class="prescriptionTable">
2
   <div class="prescriptionTable">
3
-    <el-table v-if="activeType  == 1" :data="prescription.advices" border style="width: 99%;"
3
+    <el-table v-if="activeType  == 1" :data="prescription.advices" border style="width: 99.9%;"
4
               :row-style="{ color: '#303133' }"
4
               :row-style="{ color: '#303133' }"
5
               :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
5
               :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
6
       <el-table-column align="center" prop="day" width="70" label="序号">
6
       <el-table-column align="center" prop="day" width="70" label="序号">

+ 6 - 6
src/xt_pages/hospitalStation/components/settlePrescriptionTable.vue View File

85
 
85
 
86
       <el-table-column align="center" prop="name" width="80" label="超限价金额">
86
       <el-table-column align="center" prop="name" width="80" label="超限价金额">
87
         <template slot-scope="scope">
87
         <template slot-scope="scope">
88
-          <div>{{ scope.row.overlmt_amt }}元</div>
88
+          <div>{{ scope.row.overlmt_amt  }}元</div>
89
         </template>
89
         </template>
90
       </el-table-column>
90
       </el-table-column>
91
 
91
 
107
         label="符合正常范围金额"
107
         label="符合正常范围金额"
108
       >
108
       >
109
         <template slot-scope="scope">
109
         <template slot-scope="scope">
110
-          <div>{{ scope.row.inscp_scp_amt }}元</div>
110
+          <div>{{scope.row.inscp_scp_amt}}元</div>
111
         </template>
111
         </template>
112
       </el-table-column>
112
       </el-table-column>
113
 
113
 
223
 
223
 
224
       <el-table-column align="center" prop="name" width="80" label="全自费金额">
224
       <el-table-column align="center" prop="name" width="80" label="全自费金额">
225
         <template slot-scope="scope">
225
         <template slot-scope="scope">
226
-          <div>{{ scope.row.fulamt_ownpay_amt }}元</div>
226
+          <div>{{ scope.row.fulamt_ownpay_amt}}元</div>
227
         </template>
227
         </template>
228
       </el-table-column>
228
       </el-table-column>
229
 
229
 
230
       <el-table-column align="center" prop="name" width="80" label="超限价金额">
230
       <el-table-column align="center" prop="name" width="80" label="超限价金额">
231
         <template slot-scope="scope">
231
         <template slot-scope="scope">
232
-          <div>{{ scope.row.overlmt_amt }}元</div>
232
+          <div>{{ scope.row.overlmt_amt}}元</div>
233
         </template>
233
         </template>
234
       </el-table-column>
234
       </el-table-column>
235
 
235
 
240
         label="先行自付金额"
240
         label="先行自付金额"
241
       >
241
       >
242
         <template slot-scope="scope">
242
         <template slot-scope="scope">
243
-          <div>{{ scope.row.preselfpay_amt }}元</div>
243
+          <div>{{scope.row.preselfpay_amt}}元</div>
244
         </template>
244
         </template>
245
       </el-table-column>
245
       </el-table-column>
246
 
246
 
251
         label="符合正常范围金额"
251
         label="符合正常范围金额"
252
       >
252
       >
253
         <template slot-scope="scope">
253
         <template slot-scope="scope">
254
-          <div>{{ scope.row.inscp_scp_amt }}元</div>
254
+          <div>{{scope.row.inscp_scp_amt }}元</div>
255
         </template>
255
         </template>
256
       </el-table-column>
256
       </el-table-column>
257
 
257
 

File diff suppressed because it is too large
+ 853 - 789
src/xt_pages/hospitalStation/index.vue


+ 8 - 5
src/xt_pages/hospitalStation/invoicePrint.vue View File

13
     </template>
13
     </template>
14
     <div class="app-container" style="padding-top:40px;">
14
     <div class="app-container" style="padding-top:40px;">
15
         <div class='dialysisPage'>
15
         <div class='dialysisPage'>
16
-            <printOne v-if="org_id!=10215 && org_id!=0 &&org_id != 4" :paramsObj="invoiceParams"></printOne>
17
-            <printTwo v-if="org_id == 0 || org_id == 10215 ||org_id == 4" :paramsObj="invoiceParams"></printTwo>
16
+            <printOne v-if="org_id != 10215 && org_id != 10265 && org_id !=0" :paramsObj="invoiceParams"></printOne>
17
+            <printTwo v-if="org_id == 10215  || org_id == 0 " :paramsObj="invoiceParams"></printTwo>
18
+            <printThree v-if="org_id == 10265" :paramsObj="invoiceParams"></printThree>
18
         </div>
19
         </div>
19
     </div>
20
     </div>
20
   </div>
21
   </div>
23
 <script>
24
 <script>
24
 import printOne from './invoiceTemplate/printOne'
25
 import printOne from './invoiceTemplate/printOne'
25
 import printTwo from './invoiceTemplate/printTwo'
26
 import printTwo from './invoiceTemplate/printTwo'
27
+import printThree from './invoiceTemplate/printThree'
26
 export default {
28
 export default {
27
   name: "invoicePrint",
29
   name: "invoicePrint",
28
   components: {
30
   components: {
29
     printOne,
31
     printOne,
30
-    printTwo
32
+    printTwo,
33
+    printThree
31
   },
34
   },
32
   props:{
35
   props:{
33
     invoiceParams:Object
36
     invoiceParams:Object
92
     paramsObj:{//深度监听,可监听到对象、数组的变化
95
     paramsObj:{//深度监听,可监听到对象、数组的变化
93
       handler(val, oldVal){
96
       handler(val, oldVal){
94
         this.invoiceParams = val
97
         this.invoiceParams = val
95
-        
98
+
96
       },
99
       },
97
       deep:true
100
       deep:true
98
     }
101
     }
146
 }
149
 }
147
 .actionBar{
150
 .actionBar{
148
     display: flex;
151
     display: flex;
149
-    justify-content: space-between; 
152
+    justify-content: space-between;
150
     line-height: 24px;
153
     line-height: 24px;
151
     padding:0 10px;
154
     padding:0 10px;
152
 }
155
 }

+ 318 - 0
src/xt_pages/hospitalStation/invoiceTemplate/printThree.vue View File

1
+<template>
2
+    <div id='invoice-print'>
3
+
4
+        <div style="display:flex;justify-content: space-between;">
5
+            <!-- 机构名称 -->
6
+            <div>{{ list.org_name }}</div>
7
+            <!-- 单据号 -->
8
+            <div  style="position: absolute;top:70px;left:300px">{{ list.number }}</div>
9
+            <div></div>
10
+            <div  style="position: absolute;left:560px;top:70px;">
11
+            <!-- 发票序号 -->
12
+            </div>
13
+        </div>
14
+
15
+        <div style="display:flex;justify-content: space-between;">
16
+            <!-- 姓名 -->
17
+            <div style="position: absolute;top:90px;left:120px;"> {{ paramsObj.name }}</div>
18
+            <!-- 个人电脑编号 -->
19
+            <div style="position: absolute;top:90px;left:240px;"></div>
20
+            <!-- 科室 -->
21
+            <div style="position: absolute;top:90px;left:240px;">{{'血透'}}</div>
22
+            <!-- 床号 -->
23
+            <div style="position: absolute;top:90px;left:240px;"></div>
24
+        </div>
25
+
26
+        <div style="display:flex;justify-content: space-between;">
27
+            <!-- 住院号 -->
28
+            <div style="position: absolute;top:90px;left:120px;"> {{ list.his_hospital_record.number?list.order.mdtrt_id:'' }}</div>
29
+            <!-- 入院日期 -->
30
+            <div style="position: absolute;top:90px;left:240px;">{{list.his_hospital_record.in_hosptial_time?list.his_hospital_record.in_hosptial_time.spilt(' ')[0]:''}}</div>
31
+            <!-- 出院日期 -->
32
+            <div style="position: absolute;top:90px;left:240px;">{{list.his_hospital_record.out_hosptial_time?list.his_hospital_record.out_hosptial_time.spilt(' ')[0]:''}}</div>
33
+            <!-- 住院天数 -->
34
+          <div style="position: absolute;top:90px;left:240px;">{{getDay(list.his_hospital_record.in_hosptial_time.split(' ')[0] ,list.his_hospital_record.out_hosptial_time.split(' ')[0])}}</div>
35
+        </div>
36
+
37
+        <!-- <div style="display:flex;justify-content: space-between;">
38
+            <div style="position: absolute;top:110px;left:260px;">{{ (totalPrice - list.psn_cash_money).toFixed(2) }}</div>
39
+            <div style="position: absolute;top:110px;left:440px;">{{ list.psn_cash_money  }}</div>
40
+            <div style="position: absolute;top:110px;left:580px;">门特</div>
41
+        </div> -->
42
+
43
+
44
+        <div style="display:flex;justify-content: space-between;">
45
+            <div style="position: absolute;top:160px;left:40px">西药</div>
46
+            <div style="position: absolute;top:160px;left:110px">{{ list.westernMedicineCostTotal }}</div>
47
+            <div style="position: absolute;top:160px;left:180px">检查费</div>
48
+            <div style="position: absolute;top:160px;left:260px">{{ list.checkCostTotal }}</div>
49
+            <div style="position: absolute;top:160px;left:340px">护理费</div>
50
+            <div style="position: absolute;top:160px;left:420px"></div>
51
+            <div style="position: absolute;top:160px;left:500px">麻醉费</div>
52
+            <div style="position: absolute;top:160px;left:580px"></div>
53
+        </div>
54
+        <div style="display:flex;justify-content: space-between;">
55
+            <div style="position: absolute;top:190px;left:40px">中成药费</div>
56
+            <div style="position: absolute;top:190px;left:110px"></div>
57
+            <div style="position: absolute;top:190px;left:180px">治疗费</div>
58
+            <div style="position: absolute;top:190px;left:260px">{{list.treatCostTotal}}</div>
59
+            <div style="position: absolute;top:190px;left:340px">CT核磁</div>
60
+            <div style="position: absolute;top:190px;left:420px"></div>
61
+            <div style="position: absolute;top:190px;left:500px">床位费</div>
62
+            <div style="position: absolute;top:190px;left:580px"></div>
63
+        </div>
64
+        <div style="display:flex;justify-content: space-between;">
65
+            <div style="position: absolute;top:220px;left:40px">中草药费</div>
66
+            <div style="position: absolute;top:220px;left:110px"></div>
67
+            <div style="position: absolute;top:220px;left:180px">手术费</div>
68
+            <div style="position: absolute;top:220px;left:260px">{{ list.operationCostTotal }}</div>
69
+            <div style="position: absolute;top:220px;left:340px">输血费</div>
70
+            <div style="position: absolute;top:220px;left:420px"></div>
71
+            <div style="position: absolute;top:220px;left:500px">取暖费</div>
72
+            <div style="position: absolute;top:220px;left:580px"></div>
73
+        </div>
74
+        <div style="display:flex;justify-content: space-between;">
75
+            <div style="position: absolute;top:250px;left:40px">高压氧费</div>
76
+            <div style="position: absolute;top:250px;left:110px"></div>
77
+            <div style="position: absolute;top:250px;left:180px">化验费</div>
78
+            <div style="position: absolute;top:250px;left:260px">{{ list.laboratoryCostTotal }}</div>
79
+            <div style="position: absolute;top:250px;left:340px">氧气费</div>
80
+            <div style="position: absolute;top:250px;left:420px"></div>
81
+            <div style="position: absolute;top:250px;left:500px">其他</div>
82
+            <div style="position: absolute;top:250px;left:580px">{{ list.otherCostTotal }}</div>
83
+        </div>
84
+
85
+        <div>
86
+            <span>
87
+            <span  style="position: absolute;top:280px;left:180px">
88
+                <span v-if="zhongwen.indexOf('万') > -1 && zhongwen.indexOf('拾') > -1 && zhongwen.indexOf('拾') == 1">
89
+                    {{ zhongwen.substring(0,1) }}
90
+                </span>
91
+                <span v-else>零</span>
92
+            </span>
93
+            <span  style="position: absolute;top:280px;left:220px">
94
+                <span v-if="zhongwen.indexOf('万') > -1">
95
+                    {{ zhongwen.substring(zhongwen.indexOf('万') - 1,zhongwen.indexOf('万')) }}
96
+                </span>
97
+                <span v-else>零</span>
98
+            </span>
99
+            <span  style="position: absolute;top:280px;left:260px">
100
+                <span v-if="zhongwen.indexOf('仟') > -1">
101
+                    {{ zhongwen.substring(zhongwen.indexOf('仟') - 1,zhongwen.indexOf('仟')) }}
102
+                </span>
103
+                <span v-else>零</span>
104
+            </span>
105
+            <span  style="position: absolute;top:280px;left:300px">
106
+                <span v-if="zhongwen.indexOf('佰') > -1">
107
+                    {{ zhongwen.substring(zhongwen.indexOf('佰') - 1,zhongwen.indexOf('佰')) }}
108
+                </span>
109
+                <span v-else>零</span>
110
+            </span>
111
+            <span style="position: absolute;top:280px;left:340px">
112
+                <span v-if="zhongwen.indexOf('拾') > -1">
113
+                    {{ zhongwen.substring(zhongwen.indexOf('拾') - 1,zhongwen.indexOf('拾')) }}
114
+                </span>
115
+                <span v-else>零</span>
116
+            </span>
117
+            <span  style="position: absolute;top:280px;left:380px">
118
+                <span v-if="zhongwen.indexOf('元') > -1 && zhongwen.substring(zhongwen.indexOf('元') - 1,zhongwen.indexOf('元')) != '拾'">
119
+                    {{ zhongwen.substring(zhongwen.indexOf('元') - 1,zhongwen.indexOf('元')) }}
120
+                </span>
121
+                <span v-else>零</span>
122
+            </span>
123
+            <span  style="position: absolute;top:280px;left:420px">
124
+                <span v-if="zhongwen.indexOf('角') > -1">
125
+                    {{ zhongwen.substring(zhongwen.indexOf('角') - 1,zhongwen.indexOf('角')) }}
126
+                </span>
127
+                <span v-else>零</span>
128
+            </span>
129
+            <span  style="position: absolute;top:280px;left:460px">
130
+                <span v-if="zhongwen.indexOf('分') > -1">
131
+                    {{ zhongwen.substring(zhongwen.indexOf('分') - 1,zhongwen.indexOf('分')) }}
132
+                </span>
133
+                <span v-else>零</span>
134
+            </span>
135
+            </span>
136
+            <span style="position: absolute;top:280px;left:540px">{{ totalPrice }}</span>
137
+        </div>
138
+
139
+
140
+        <div style="position: absolute;top:310px;left:320px">
141
+            <!-- 个人账户支付 -->
142
+          {{list.order.acct_pay?list.order.acct_pay:''}}
143
+        </div>
144
+        <div style="position: absolute;top:310px;left:380px">
145
+            <!-- 统筹支付 -->
146
+          {{list.order.hifp_pay?list.order.hifp_pay:''}}
147
+        </div>
148
+        <div style="position: absolute;top:310px;left:500px">
149
+          {{list.order.psn_cash_pay?list.order.psn_cash_pay:''}}
150
+          <!-- 现金支付 -->
151
+        </div>
152
+        <div style="position: absolute;top:340px;left:320px">
153
+          {{list.order.cvlserv_pay?list.order.cvlserv_pay:''}}
154
+          <!-- 公务员补助 -->
155
+        </div>
156
+        <div style="position: absolute;top:340px;left:380px">
157
+          {{list.order.maf_pay?list.order.maf_pay:''}}
158
+          <!-- 医疗救助 -->
159
+        </div>
160
+        <div style="position: absolute;top:340px;left:500px">
161
+            <!-- 大病 -->
162
+          {{list.order.hifmi_pay?list.order.hifmi_pay:''}}
163
+
164
+
165
+        </div>
166
+        <div style="position: absolute;top:340px;left:560px">
167
+            <!-- 其他基金支付 -->
168
+          {{list.order.oth_pay?list.order.oth_pay:''}}
169
+
170
+        </div>
171
+        <div style="position: absolute;top:370px;left:320px">
172
+            <!-- 预交款合计 -->
173
+
174
+        </div>
175
+        <div style="position: absolute;top:370px;left:380px">
176
+            <!-- 补交款 -->
177
+        </div>
178
+        <div style="position: absolute;top:370px;left:500px">
179
+            <!-- 应退款 -->
180
+        </div>
181
+        <div>
182
+            <div style="position: absolute;top:400px;left:40px">
183
+                <!-- 开票日期 -->
184
+              {{printDate}}
185
+
186
+            </div>
187
+            <div style="position: absolute;top:400px;left:280px">
188
+                <!-- 结算日期: -->
189
+              {{list.order.setl_time?list.order.setl_time.split(' ')[0]:''}}
190
+            </div>
191
+            <div style="position: absolute;top:400px;left:580px">
192
+                <!-- 经手人: -->
193
+              {{list.admin_user_name}}
194
+            </div>
195
+        </div>
196
+    </div>
197
+</template>
198
+
199
+<script>
200
+import { getInvoice } from '@/api/project/project'
201
+export default {
202
+    props:{
203
+        paramsObj:Object
204
+    },
205
+    data(){
206
+        return{
207
+            list:{},
208
+            printDate:'',
209
+            zhongwen:'',
210
+            totalPrice:0.0,
211
+            org_id:'',
212
+            org_name:''
213
+        }
214
+    },
215
+    created(){
216
+        console.log('paramsObj',this.paramsObj)
217
+        let params = {
218
+            order_id: this.paramsObj.order_id,
219
+            patient_id: this.paramsObj.patient_id,
220
+        }
221
+        this.getInvoice(params)
222
+        // var data = new Date();
223
+        // var month =data.getMonth() < 9 ? "0" + (data.getMonth() + 1) : data.getMonth() + 1;
224
+        // var date = data.getDate() <= 9 ? "0" + data.getDate() : data.getDate();
225
+        // this.printDate = data.getFullYear() + "-" + month + "-" + date;
226
+        // this.smalltoBIG(982732.21)
227
+        this.org_id = this.$store.getters.xt_user.org_id
228
+        this.org_name = this.$store.getters.xt_user.org.org_name
229
+    },
230
+    methods:{
231
+      getDay(dateString1,dateString2){
232
+        var  startDate = Date.parse(dateString1);
233
+        var  endDate = Date.parse(dateString2);
234
+        if (startDate>endDate){
235
+          return 0;
236
+        }
237
+        if (startDate==endDate){
238
+          return 1;
239
+        }
240
+        var days=(endDate - startDate)/(1*24*60*60*1000);
241
+        return  days;
242
+
243
+      },
244
+        getInvoice(params){
245
+            getInvoice(params).then((res) => {
246
+                console.log('res',res)
247
+                this.list = res.data.data
248
+                this.totalPrice = this.list.westernMedicineCostTotal + this.list.checkCostTotal + this.list.treatCostTotal + this.list.bedCostTotal + this.list.chineseTraditionalMedicineCostTotal +
249
+                                    this.list.laboratoryCostTotal + this.list.operationCostTotal + this.list.otherCostTotal + this.list.materialCostTotal
250
+                this.smalltoBIG(this.totalPrice)
251
+                // var data = new Date(res.data.data.date * 1000);
252
+                var data = new Date(this.paramsObj.setl_time);
253
+                var month =data.getMonth() < 9 ? "0" + (data.getMonth() + 1) : data.getMonth() + 1;
254
+                var date = data.getDate() <= 9 ? "0" + data.getDate() : data.getDate();
255
+                this.printDate = data.getFullYear() + "-" + month + "-" + date;
256
+            })
257
+        },
258
+        smalltoBIG(n) {
259
+            // let fraction = ['角', '分'];
260
+            // let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
261
+            // let unit = [['元.', '万,', '亿,'], ["元",'拾', '佰', '仟']];
262
+            // let head = price < 0 ? '欠' : '';
263
+            // price = Math.abs(price);
264
+            // let upper = '';
265
+            // for (let i = 0; i < fraction.length; i++) {
266
+            // upper += (digit[Math.floor(price * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
267
+            // }
268
+            // upper = upper || '整';
269
+            // price = Math.floor(price);
270
+            // for (let i = 0; i < unit[0].length && price > 0; i++) {
271
+            // let p = '';
272
+            // for (let j = 0; j < unit[1].length && price > 0; j++) {
273
+            //     p = digit[price % 10] + unit[1][j] + p;
274
+            //     price = Math.floor(price / 10);
275
+            // }
276
+            // upper = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + upper;
277
+            // }
278
+            // this.zhongwen = head + upper.replace(/(零.)*零圆/, '圆').replace(/(零.)+/g, '零').replace(/^整$/, '零圆整')
279
+            // console.log('6666',head + upper.replace(/(零.)*零圆/, '圆').replace(/(零.)+/g, '零').replace(/^整$/, '零圆整'))
280
+            if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)){
281
+                return "数据非法";  //判断数据是否大于0
282
+            }
283
+
284
+            var unit = "仟佰拾亿仟佰拾万仟佰拾元角分", str = "";
285
+            n += "00";
286
+
287
+            var indexpoint = n.indexOf('.');  // 如果是小数,截取小数点前面的位数
288
+
289
+            if (indexpoint >= 0){
290
+
291
+                n = n.substring(0, indexpoint) + n.substr(indexpoint+1, 2);   // 若为小数,截取需要使用的unit单位
292
+            }
293
+
294
+            unit = unit.substr(unit.length - n.length);  // 若为整数,截取需要使用的unit单位
295
+            for (var i=0; i < n.length; i++){
296
+                str += "零壹贰叁肆伍陆柒捌玖".charAt(n.charAt(i)) + unit.charAt(i);  //遍历转化为大写的数字
297
+            }
298
+
299
+            this.zhongwen =  str.replace(/零(仟|佰|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元整");
300
+            console.log(this.zhongwen)
301
+        },
302
+
303
+    },
304
+    watch:{
305
+        paramsObj:{//深度监听,可监听到对象、数组的变化
306
+            handler(val, oldVal){
307
+                let params = {
308
+                    order_id: val.order_id,
309
+                    patient_id: val.patient_id,
310
+                }
311
+                this.getInvoice(params)
312
+
313
+            },
314
+            deep:true
315
+        }
316
+    }
317
+}
318
+</script>

+ 28 - 10
src/xt_pages/hospitalStation/invoiceTemplate/printTwo.vue View File

6
         </div>
6
         </div>
7
         <div style="display:flex;justify-content: space-between;">
7
         <div style="display:flex;justify-content: space-between;">
8
             <!-- <div>{{ list.department_name }}</div> -->
8
             <!-- <div>{{ list.department_name }}</div> -->
9
-            <div  style="position: absolute;top:50px;left:260px">{{ list.his_hospital_record.id_card_no?list.order.certno:''}}</div>
9
+            <div  style="position: absolute;top:50px;left:260px">{{id_card_no?id_card_no:list.order.certno}}</div>
10
             <div></div>
10
             <div></div>
11
         </div>
11
         </div>
12
         <div style="display:flex;justify-content: space-between;">
12
         <div style="display:flex;justify-content: space-between;">
13
             <!-- <div>{{ list.department_name }}</div> -->
13
             <!-- <div>{{ list.department_name }}</div> -->
14
             <div  style="position: absolute;top:70px;left:90px">门诊</div>
14
             <div  style="position: absolute;top:70px;left:90px">门诊</div>
15
             <div></div>
15
             <div></div>
16
-            <div  style="position: absolute;top:70px;left:240px">{{ list.his_hospital_record.number?list.order.mdtrt_id:''}}</div>
16
+            <div  style="position: absolute;top:70px;left:240px">{{ number?number:list.order.mdtrt_id}}</div>
17
             <div  style="position: absolute;left:470px;top:70px;">
17
             <div  style="position: absolute;left:470px;top:70px;">
18
                 <span>{{  paramsObj.setl_time ? paramsObj.setl_time.split(' ')[0].slice(0,4) : getTime(list.date, '{y}-{m}-{d}').slice(0,4) }}</span>
18
                 <span>{{  paramsObj.setl_time ? paramsObj.setl_time.split(' ')[0].slice(0,4) : getTime(list.date, '{y}-{m}-{d}').slice(0,4) }}</span>
19
             </div>
19
             </div>
33
         </div>
33
         </div>
34
         <div style="display:flex;justify-content: space-between;">
34
         <div style="display:flex;justify-content: space-between;">
35
             <!-- <div>{{ paramsObj.gend == 1 ? '男' : '女' }}</div> -->
35
             <!-- <div>{{ paramsObj.gend == 1 ? '男' : '女' }}</div> -->
36
-            <div v-if="paramsObj.gend == 1" style="position: absolute;top:110px;left:100px;">√</div>
36
+            <div v-if=" gend == 1" style="position: absolute;top:110px;left:100px;">√</div>
37
             <div v-else style="position: absolute;top:110px;left:140px;">√</div>
37
             <div v-else style="position: absolute;top:110px;left:140px;">√</div>
38
-            <div style="position: absolute;top:110px;left:260px;">{{ list.number.length <= 13 ? (totalPrice - list.psn_cash_money).toFixed(2) : '0.00' }}</div>
39
-            <div style="position: absolute;top:110px;left:420px;">{{ list.number.length <= 13 ? list.psn_cash_money.toFixed(2) : (totalPrice - list.psn_cash_money).toFixed(2) }}</div>
38
+
39
+            <div style="position: absolute;top:110px;left:260px;">{{ number.length <= 13 ? (totalPrice - list.order.psn_cash_pay).toFixed(2) : '0.00' }}</div>
40
+            <div style="position: absolute;top:110px;left:420px;">{{ number.length <= 13 ? list.order.psn_cash_pay.toFixed(2) : (totalPrice - list.psn_cash_money).toFixed(2) }}</div>
40
             <div style="position: absolute;top:110px;left:540px;">现金</div>
41
             <div style="position: absolute;top:110px;left:540px;">现金</div>
41
         </div>
42
         </div>
42
         <div style="display:flex;justify-content: space-between;">
43
         <div style="display:flex;justify-content: space-between;">
73
             <div style="position: absolute;top:210px;left:50px"></div>
74
             <div style="position: absolute;top:210px;left:50px"></div>
74
             <div style="position: absolute;top:210px;left:130px"></div>
75
             <div style="position: absolute;top:210px;left:130px"></div>
75
             <div style="position: absolute;top:210px;left:180px"></div>
76
             <div style="position: absolute;top:210px;left:180px"></div>
76
-            <div style="position: absolute;top:210px;left:260px">{{ list.psn_cash_money ? list.psn_cash_money.toFixed(2) : '' }}</div>
77
-            <div style="position: absolute;top:210px;left:340px"></div>
77
+            <div style="position: absolute;top:210px;left:260px" v-if="balance_accounts_type != 2">{{ list.psn_cash_money ? list.psn_cash_money.toFixed(2) : '' }}</div>
78
+          <div style="position: absolute;top:210px;left:260px" v-else>{{ list.order.medfee_sumamt ? list.order.medfee_sumamt : '' }}</div>
79
+
80
+          <div style="position: absolute;top:210px;left:340px"></div>
78
             <div style="position: absolute;top:210px;left:420px"></div>
81
             <div style="position: absolute;top:210px;left:420px"></div>
79
             <div style="position: absolute;top:210px;left:480px"></div>
82
             <div style="position: absolute;top:210px;left:480px"></div>
80
             <div style="position: absolute;top:210px;left:540px"></div>
83
             <div style="position: absolute;top:210px;left:540px"></div>
157
             org_id:'',
160
             org_id:'',
158
             org_name:'',
161
             org_name:'',
159
             in_hosptial_time:'',
162
             in_hosptial_time:'',
160
-            out_hosptial_time:''
163
+            out_hosptial_time:'',
164
+            id_card_no:'',
165
+           number:'',
166
+          balance_accounts_type:"",
167
+          gend:"",
168
+
161
         }
169
         }
162
     },
170
     },
163
     created(){
171
     created(){
188
                 var month =data.getMonth() < 9 ? "0" + (data.getMonth() + 1) : data.getMonth() + 1;
196
                 var month =data.getMonth() < 9 ? "0" + (data.getMonth() + 1) : data.getMonth() + 1;
189
                 var date = data.getDate() <= 9 ? "0" + data.getDate() : data.getDate();
197
                 var date = data.getDate() <= 9 ? "0" + data.getDate() : data.getDate();
190
                 this.printDate = data.getFullYear() + "-" + month + "-" + date;
198
                 this.printDate = data.getFullYear() + "-" + month + "-" + date;
191
-                this.in_hosptial_time = this.list.his_hospital_record.in_hosptial_time.split(' ')[0]
192
-                this.out_hosptial_time = this.list.his_hospital_record.out_hosptial_time.split(' ')[0]
199
+                if(this.list.his.id > 0){
200
+                  this.in_hosptial_time = this.getTime()
201
+                  this.out_hosptial_time = this.list.order.setl_time.split(' ')[0]
202
+                }else{
203
+                  this.in_hosptial_time = this.list.his_hospital_record.in_hosptial_time.split(' ')[0]
204
+                  this.out_hosptial_time = this.list.his_hospital_record.out_hosptial_time.split(' ')[0]
205
+                }
206
+
207
+              this.id_card_no = this.list.his_hospital_record.id_card_no
208
+              this.number = this.list.his_hospital_record.number
209
+              this.balance_accounts_type = this.list.his_hospital_record.balance_accounts_type
210
+              this.gend= this.list.his_hospital_record.gend
193
             })
211
             })
194
         },
212
         },
195
         smalltoBIG(n) {
213
         smalltoBIG(n) {

+ 93 - 104
src/xt_pages/hospitalStation/outpatientChargesManagement.vue View File

91
         <div class="mainCell fixedCell" style="margin-bottom:10px;">
91
         <div class="mainCell fixedCell" style="margin-bottom:10px;">
92
 
92
 
93
           <div>
93
           <div>
94
+            <el-button  size="small"
95
+                       @click="open(1)"
96
+                       type="primary">入院登记
97
+            </el-button>
94
 
98
 
95
             <el-button v-loading="loadingone" size="small"
99
             <el-button v-loading="loadingone" size="small"
96
                        v-if="(this.activeName == 'third' &&this.hisPatientInfo.balance_accounts_type != 2 && this.hisPatientInfo.id > 0 && this.hisPatientInfo.in_hospital_status == 1 && this.hisPatientInfo.out_hospital_status == 0)"
100
                        v-if="(this.activeName == 'third' &&this.hisPatientInfo.balance_accounts_type != 2 && this.hisPatientInfo.id > 0 && this.hisPatientInfo.in_hospital_status == 1 && this.hisPatientInfo.out_hospital_status == 0)"
97
-
98
                        @click="open(2)"
101
                        @click="open(2)"
99
                        type="primary">出院
102
                        type="primary">出院
100
             </el-button>
103
             </el-button>
125
                        type="primary">收费
128
                        type="primary">收费
126
             </el-button>
129
             </el-button>
127
 
130
 
131
+<!--            <el-button v-loading="loadingtwo"-->
132
+<!--                       size="small"-->
133
+<!--                       @click="open(3)"-->
134
+<!--                       type="primary">收费-->
135
+<!--            </el-button>-->
128
             <el-button size="small" @click="open(4)" type="primary"
136
             <el-button size="small" @click="open(4)" type="primary"
129
                        v-if="this.activeName == 'third' &&this.hisPatientInfo.id > 0 && this.order.id > 0 &&  this.order.order_status == 2">
137
                        v-if="this.activeName == 'third' &&this.hisPatientInfo.id > 0 && this.order.id > 0 &&  this.order.order_status == 2">
130
               退费
138
               退费
217
                        :addtions_charge="addtions_charge"></additionalCharges>
225
                        :addtions_charge="addtions_charge"></additionalCharges>
218
 
226
 
219
     <charge-dialog ref='charge' v-on:confirm="chargeConfirm" v-on:cancel="chargeCancel"></charge-dialog>
227
     <charge-dialog ref='charge' v-on:confirm="chargeConfirm" v-on:cancel="chargeCancel"></charge-dialog>
228
+    <hospital-register-dialog  ref='hrd' v-on:confirm="hospitalRegisterConfirm" v-on:cancel="hospitalRegisterCancel"></hospital-register-dialog>
220
 
229
 
221
     <el-dialog
230
     <el-dialog
222
         class="centerDialog"
231
         class="centerDialog"
300
 import ChargePrescriptionTable from './components/ChargePrescriptionTable'
309
 import ChargePrescriptionTable from './components/ChargePrescriptionTable'
301
 import invoicePrint from './invoicePrint'
310
 import invoicePrint from './invoicePrint'
302
 import SettlePrescriptionTable from './components/settlePrescriptionTable'
311
 import SettlePrescriptionTable from './components/settlePrescriptionTable'
312
+import HospitalRegisterDialog from './components/hospitalRegisterDialog'
303
 
313
 
304
 const moment = require('moment')
314
 const moment = require('moment')
305
 export default {
315
 export default {
306
   components: {
316
   components: {
317
+    HospitalRegisterDialog,
307
     SettlePrescriptionTable,
318
     SettlePrescriptionTable,
308
     ChargePrescriptionTable,
319
     ChargePrescriptionTable,
309
     RegisterDialog9504,
320
     RegisterDialog9504,
575
         }
586
         }
576
       })
587
       })
577
 
588
 
589
+    },s(){
590
+      this.$refs.hrd.hide()
591
+      this.getPatientList()
592
+    },hospitalRegisterCancel(){
593
+      this.$refs.hrd.hide()
594
+
595
+
578
     },
596
     },
579
     chargeConfirm(form) {
597
     chargeConfirm(form) {
580
       form['in_hospital_id'] = this.hisPatientInfo.id
598
       form['in_hospital_id'] = this.hisPatientInfo.id
727
                 spec: spec,
745
                 spec: spec,
728
                 det_item_fee_sumamt: prescription.advices[b].order_info.det_item_fee_sumamt,
746
                 det_item_fee_sumamt: prescription.advices[b].order_info.det_item_fee_sumamt,
729
                 name_id: prescription.advices[b].drug.manufacturer,
747
                 name_id: prescription.advices[b].drug.manufacturer,
730
-                fulamt_ownpay_amt: prescription.advices[b].order_info.fulamt_ownpay_amt,
731
-                overlmt_amt: prescription.advices[b].order_info.overlmt_amt,
732
-                preselfpay_amt: prescription.advices[b].order_info.preselfpay_amt,
733
-                inscp_scp_amt: prescription.advices[b].order_info.inscp_scp_amt
748
+                fulamt_ownpay_amt: prescription.advices[b].order_info.fulamt_ownpay_amt * prescription.advices[b].prescribing_number,
749
+                overlmt_amt: prescription.advices[b].order_info.overlmt_amt* prescription.advices[b].prescribing_number,
750
+                preselfpay_amt: prescription.advices[b].order_info.preselfpay_amt* prescription.advices[b].prescribing_number,
751
+                inscp_scp_amt: prescription.advices[b].order_info.inscp_scp_amt* prescription.advices[b].prescribing_number
734
 
752
 
735
               }
753
               }
736
               tempAdvice.push(obj)
754
               tempAdvice.push(obj)
751
                 unit: prescription.project[b].unit,
769
                 unit: prescription.project[b].unit,
752
 
770
 
753
                 type: prescription.project[b].type,
771
                 type: prescription.project[b].type,
754
-                det_item_fee_sumamt: prescription.project[b].order_info.det_item_fee_sumamt,
755
-                fulamt_ownpay_amt: prescription.project[b].order_info.fulamt_ownpay_amt,
756
-                overlmt_amt: prescription.project[b].order_info.overlmt_amt,
757
-                preselfpay_amt: prescription.project[b].order_info.preselfpay_amt,
758
-                inscp_scp_amt: prescription.project[b].order_info.inscp_scp_amt
772
+                det_item_fee_sumamt: prescription.project[b].order_info.det_item_fee_sumamt* prescription.advices[b].prescribing_number,
773
+                fulamt_ownpay_amt: prescription.project[b].order_info.fulamt_ownpay_amt* prescription.advices[b].prescribing_number,
774
+                overlmt_amt: prescription.project[b].order_info.overlmt_amt * prescription.advices[b].prescribing_number,
775
+                preselfpay_amt: prescription.project[b].order_info.preselfpay_amt * prescription.advices[b].prescribing_number,
776
+                inscp_scp_amt: prescription.project[b].order_info.inscp_scp_amt * prescription.advices[b].prescribing_number
759
 
777
 
760
               }
778
               }
761
               if (prescription.project[b].type == 2) {
779
               if (prescription.project[b].type == 2) {
1058
 
1076
 
1059
     },
1077
     },
1060
     searchAction() {
1078
     searchAction() {
1079
+      console.log(this.all_table_data)
1061
       if (this.search_input.length == 0) {
1080
       if (this.search_input.length == 0) {
1062
         switch (this.radio) {
1081
         switch (this.radio) {
1063
           case 1:
1082
           case 1:
1268
       return jsonData.map(v => filterVal.map(j => v[j]))
1287
       return jsonData.map(v => filterVal.map(j => v[j]))
1269
     },
1288
     },
1270
     open(index) {
1289
     open(index) {
1290
+      if (index == 1){
1291
+        this.$refs.hrd.show()
1292
+      }
1271
       if (index == 40) {
1293
       if (index == 40) {
1272
         var form = {}
1294
         var form = {}
1273
 
1295
 
1397
           type: 'warning'
1419
           type: 'warning'
1398
         }).then(() => {
1420
         }).then(() => {
1399
           this.dialogVisible = true
1421
           this.dialogVisible = true
1422
+          this.out_hospital_time = moment(new Date()).add('year',0).format("YYYY-MM-DD HH:mm:ss")
1400
         }).catch(() => {
1423
         }).catch(() => {
1401
 
1424
 
1402
         })
1425
         })
1504
       } else if (index == 5) {
1527
       } else if (index == 5) {
1505
         this.statementVisible = true
1528
         this.statementVisible = true
1506
         let obj = {
1529
         let obj = {
1507
-          order_id: this.order.id
1530
+          order_id: this.order.id,
1531
+          balance_accounts_type:this.hisPatientInfo.balance_accounts_type
1508
         }
1532
         }
1509
         this.orderObj = obj
1533
         this.orderObj = obj
1510
         // this.$refs.print.getInfo(this.order.id)
1534
         // this.$refs.print.getInfo(this.order.id)
2245
             response.data.data.list_two = []
2269
             response.data.data.list_two = []
2246
           }
2270
           }
2247
           this.patientTableData = []
2271
           this.patientTableData = []
2248
-          this.hisPatientDatas = []
2249
           this.all_table_data = []
2272
           this.all_table_data = []
2273
+          this.hisPatientDatas = []
2274
+
2250
           let one_count = 0
2275
           let one_count = 0
2251
           let two_count = 0
2276
           let two_count = 0
2252
           let three_count = 0
2277
           let three_count = 0
2253
-
2254
-          if (this.activeName == 'first') { //日结
2255
-
2256
-            for (let i = 0; i < response.data.data.list.length; i++) {
2257
-              this.all_table_data.push(response.data.data.list[i])
2258
-              if (response.data.data.list[i].order.order_status == 0 || response.data.data.list[i].order.order_status == 1 || response.data.data.list[i].order.order_status == 3) {
2259
-                one_count = one_count + 1
2260
-              }
2261
-
2262
-            }
2263
-
2264
-          } else { //月结
2265
-
2266
-            for (let i = 0; i < response.data.data.list_two.length; i++) {
2267
-              this.hisPatientDatas.push(response.data.data.list_two[i])
2268
-              if (response.data.data.list_two[i].order.order_status == 0 || response.data.data.list_two[i].order.order_status == 1) {
2269
-                one_count = one_count + 1
2270
-              }
2271
-
2272
-              // if (response.data.data.list_two[i].his_patient.order.order_status == 2) {
2273
-              //   two_count = two_count + 1
2274
-              // }
2275
-              //
2276
-              // if (response.data.data.list_two[i].his_patient.order.order_status == 3) {
2277
-              //   three_count = three_count + 1
2278
-              // }
2278
+          for (let i = 0; i < response.data.data.list.length; i++) {
2279
+            this.all_table_data.push(response.data.data.list[i])
2280
+            if (response.data.data.list[i].order.order_status == 0 || response.data.data.list[i].order.order_status == 1 || response.data.data.list[i].order.order_status == 3) {
2281
+              one_count = one_count + 1
2279
             }
2282
             }
2280
 
2283
 
2281
           }
2284
           }
2282
 
2285
 
2286
+          this.hisPatientDatas = response.data.data.list_two
2283
           this.cal_one = one_count
2287
           this.cal_one = one_count
2284
           this.cal_two = response.data.data.charge_list.length
2288
           this.cal_two = response.data.data.charge_list.length
2285
           // this.all_charge_table_data = response.data.data.charge_list
2289
           // this.all_charge_table_data = response.data.data.charge_list
2286
-          // this.cal_three = three_count;
2287
-
2288
-          switch (temp_id) {
2290
+          this.current_index = 0
2289
 
2291
 
2292
+          switch (this.radio) {
2290
             case 1:
2293
             case 1:
2291
               this.patientTableData = []
2294
               this.patientTableData = []
2292
-              if (this.activeName == 'first') {
2293
-
2294
-                for (let i = 0; i < this.all_table_data.length; i++) {
2295
-                  if (this.all_table_data[i].order.order_status == 0 || this.all_table_data[i].order.order_status == 1) {
2296
-                    this.patientTableData.push(this.all_table_data[i])
2297
-                  }
2298
-
2299
-                }
2300
-
2301
-              } else {
2302
-                for (let i = 0; i < this.hisPatientDatas.length; i++) {
2303
-                  if (this.hisPatientDatas[i].order.order_status == 0 || this.hisPatientDatas[i].order.order_status == 1) {
2304
-                    this.patientTableData.push(this.hisPatientDatas[i])
2305
-                  }
2306
-
2295
+              for (let i = 0; i < this.all_table_data.length; i++) {
2296
+                if (this.all_table_data[i].order.order_status == 0 || this.all_table_data[i].order.order_status == 1 || this.all_table_data[i].order.order_status == 3) {
2297
+                  this.patientTableData.push(this.all_table_data[i])
2307
                 }
2298
                 }
2308
-
2309
               }
2299
               }
2310
 
2300
 
2311
-              this.current_index = 0
2312
               this.$refs.tab.setCurrentRow(this.patientTableData[0])
2301
               this.$refs.tab.setCurrentRow(this.patientTableData[0])
2313
               this.getPatientInformation(this.patientTableData[0].patient_id, this.patientTableData[0].order.number, this.patientTableData[0].id)
2302
               this.getPatientInformation(this.patientTableData[0].patient_id, this.patientTableData[0].order.number, this.patientTableData[0].id)
2314
 
2303
 
2322
                   number: response.data.data.charge_list[i].number,
2311
                   number: response.data.data.charge_list[i].number,
2323
                   his_patient_id: response.data.data.charge_list[i].his_patient.id,
2312
                   his_patient_id: response.data.data.charge_list[i].his_patient.id,
2324
                   his_number: response.data.data.charge_list[i].mdtrt_id
2313
                   his_number: response.data.data.charge_list[i].mdtrt_id
2325
-
2326
                 }
2314
                 }
2327
                 this.chargePatientTableData.push(obj)
2315
                 this.chargePatientTableData.push(obj)
2328
               }
2316
               }
2329
               this.all_charge_table_data = this.chargePatientTableData
2317
               this.all_charge_table_data = this.chargePatientTableData
2330
 
2318
 
2331
-              this.current_index = 0
2332
               this.$refs.tab.setCurrentRow(this.chargePatientTableData[0])
2319
               this.$refs.tab.setCurrentRow(this.chargePatientTableData[0])
2333
               this.getPatientInformation(this.chargePatientTableData[0].id, this.chargePatientTableData[0].number, this.chargePatientTableData[0].his_patient_id)
2320
               this.getPatientInformation(this.chargePatientTableData[0].id, this.chargePatientTableData[0].number, this.chargePatientTableData[0].his_patient_id)
2334
-
2335
               break
2321
               break
2336
               // case 3:
2322
               // case 3:
2337
               //   this.patientTableData = [];
2323
               //   this.patientTableData = [];
2338
               //
2324
               //
2339
-              //   if (this.activeName == 'first') {
2340
-              //
2341
-              //     for (let i = 0; i < this.all_table_data.length; i++) {
2342
-              //
2343
-              //       if (this.all_table_data[i].his_patient.order.order_status == 3) {
2344
-              //         this.patientTableData.push(this.all_table_data[i])
2345
-              //       }
2346
-              //
2347
-              //     }
2348
-              //   } else {
2349
-              //
2350
-              //     for (let i = 0; i < this.hisPatientDatas.length; i++) {
2351
-              //
2352
-              //       if (this.hisPatientDatas[i].his_patient.order.order_status == 3) {
2353
-              //         this.patientTableData.push(this.hisPatientDatas[i])
2354
-              //       }
2325
+              //   for (let i = 0; i < this.all_table_data.length; i++) {
2355
               //
2326
               //
2327
+              //     if (this.all_table_data[i].his_patient.order.order_status == 3) {
2328
+              //       this.patientTableData.push(this.all_table_data[i])
2356
               //     }
2329
               //     }
2357
               //
2330
               //
2358
               //   }
2331
               //   }
2359
               //   break;
2332
               //   break;
2360
               // case 4:
2333
               // case 4:
2361
               //   this.patientTableData = [];
2334
               //   this.patientTableData = [];
2362
-              //   if (this.activeName == 'first') {
2363
-              //
2364
-              //     this.patientTableData = this.all_table_data
2365
-              //   } else {
2366
-              //
2367
-              //     this.patientTableData = this.hisPatientDatas
2368
-              //   }
2335
+              //   this.patientTableData = this.all_table_data;
2369
               //   break
2336
               //   break
2370
 
2337
 
2371
           }
2338
           }
2777
       for (let i = 0; i < drug_ids.length; i++) {
2744
       for (let i = 0; i < drug_ids.length; i++) {
2778
         let obj = {}
2745
         let obj = {}
2779
         let count = 0
2746
         let count = 0
2747
+        let fulamt_ownpay_amt = 0
2748
+        let overlmt_amt = 0
2749
+        let inscp_scp_amt = 0
2750
+        let preselfpay_amt = 0
2751
+        let day = 0
2780
         for (let a = 0; a < drug_month_prescriptions.advices.length; a++) {
2752
         for (let a = 0; a < drug_month_prescriptions.advices.length; a++) {
2781
           if (drug_ids[i].price == drug_month_prescriptions.advices[a].price && drug_ids[i].id == drug_month_prescriptions.advices[a].drug_id) {
2753
           if (drug_ids[i].price == drug_month_prescriptions.advices[a].price && drug_ids[i].id == drug_month_prescriptions.advices[a].drug_id) {
2782
 
2754
 
2784
             obj['single_dose'] = drug_month_prescriptions.advices[a].single_dose
2756
             obj['single_dose'] = drug_month_prescriptions.advices[a].single_dose
2785
             obj['delivery_way'] = drug_month_prescriptions.advices[a].delivery_way
2757
             obj['delivery_way'] = drug_month_prescriptions.advices[a].delivery_way
2786
             obj['execution_frequency'] = drug_month_prescriptions.advices[a].execution_frequency
2758
             obj['execution_frequency'] = drug_month_prescriptions.advices[a].execution_frequency
2787
-            obj['day'] = drug_month_prescriptions.advices[a].day
2788
             // obj['prescribing_number'] =  obj['prescribing_number']  + drug_month_prescriptions.advices[a].prescribing_number
2759
             // obj['prescribing_number'] =  obj['prescribing_number']  + drug_month_prescriptions.advices[a].prescribing_number
2789
             obj['prescribing_number_unit'] = drug_month_prescriptions.advices[a].prescribing_number_unit
2760
             obj['prescribing_number_unit'] = drug_month_prescriptions.advices[a].prescribing_number_unit
2790
             obj['medical_insurance_number'] = drug_month_prescriptions.advices[a].drug.medical_insurance_number
2761
             obj['medical_insurance_number'] = drug_month_prescriptions.advices[a].drug.medical_insurance_number
2794
 
2765
 
2795
 
2766
 
2796
             obj['code'] = drug_month_prescriptions.advices[a].drug.medical_insurance_number
2767
             obj['code'] = drug_month_prescriptions.advices[a].drug.medical_insurance_number
2797
-            obj['fulamt_ownpay_amt'] = drug_month_prescriptions.advices[a].order_info.fulamt_ownpay_amt
2798
-            obj['overlmt_amt'] = drug_month_prescriptions.advices[a].order_info.overlmt_amt
2799
-            obj['inscp_scp_amt'] = drug_month_prescriptions.advices[a].order_info.inscp_scp_amt
2800
-            obj['preselfpay_amt'] = drug_month_prescriptions.advices[a].order_info.preselfpay_amt
2801
 
2768
 
2802
 
2769
 
2803
             count = count + drug_month_prescriptions.advices[a].prescribing_number
2770
             count = count + drug_month_prescriptions.advices[a].prescribing_number
2771
+            fulamt_ownpay_amt = fulamt_ownpay_amt + drug_month_prescriptions.advices[a].order_info.fulamt_ownpay_amt
2772
+            overlmt_amt = overlmt_amt + drug_month_prescriptions.advices[a].order_info.overlmt_amt
2773
+            inscp_scp_amt = inscp_scp_amt + drug_month_prescriptions.advices[a].order_info.inscp_scp_amt
2774
+            preselfpay_amt = preselfpay_amt + drug_month_prescriptions.advices[a].order_info.preselfpay_amt
2775
+            // day =day + parseNumber(drug_month_prescriptions.advices[a].day)
2776
+
2804
 
2777
 
2805
           }
2778
           }
2806
         }
2779
         }
2807
         obj['prescribing_number'] = count
2780
         obj['prescribing_number'] = count
2781
+        obj['day'] = day
2782
+        obj['fulamt_ownpay_amt'] = fulamt_ownpay_amt.toFixed(2)
2783
+        obj['overlmt_amt'] = overlmt_amt.toFixed(2)
2784
+        obj['inscp_scp_amt'] = inscp_scp_amt.toFixed(2)
2785
+        obj['preselfpay_amt'] =preselfpay_amt.toFixed(2)
2786
+
2808
         drugs.push(obj)
2787
         drugs.push(obj)
2809
       }
2788
       }
2810
 
2789
 
2811
       for (let i = 0; i < project_ids.length; i++) {
2790
       for (let i = 0; i < project_ids.length; i++) {
2812
         let obj = {}
2791
         let obj = {}
2813
         let count = 0
2792
         let count = 0
2793
+        let fulamt_ownpay_amt = 0
2794
+        let overlmt_amt = 0
2795
+        let inscp_scp_amt = 0
2796
+        let preselfpay_amt = 0
2814
         for (let a = 0; a < project_month_prescriptions.project.length; a++) {
2797
         for (let a = 0; a < project_month_prescriptions.project.length; a++) {
2815
           if (project_ids[i].price == project_month_prescriptions.project[a].price && project_ids[i].id == project_month_prescriptions.project[a].project_id) {
2798
           if (project_ids[i].price == project_month_prescriptions.project[a].price && project_ids[i].id == project_month_prescriptions.project[a].project_id) {
2816
 
2799
 
2828
 
2811
 
2829
             }
2812
             }
2830
 
2813
 
2831
-            obj['fulamt_ownpay_amt'] = project_month_prescriptions.project[a].order_info.fulamt_ownpay_amt
2832
-            obj['overlmt_amt'] = project_month_prescriptions.project[a].order_info.overlmt_amt
2833
-            obj['inscp_scp_amt'] = project_month_prescriptions.project[a].order_info.inscp_scp_amt
2834
-            obj['preselfpay_amt'] = project_month_prescriptions.project[a].order_info.preselfpay_amt
2814
+            // obj['fulamt_ownpay_amt'] = project_month_prescriptions.project[a].order_info.fulamt_ownpay_amt
2815
+            // obj['overlmt_amt'] = project_month_prescriptions.project[a].order_info.overlmt_amt
2816
+            // obj['inscp_scp_amt'] = project_month_prescriptions.project[a].order_info.inscp_scp_amt
2817
+            // obj['preselfpay_amt'] = project_month_prescriptions.project[a].order_info.preselfpay_amt
2835
 
2818
 
2836
 
2819
 
2837
             // obj['project_name'] = project_month_prescriptions.project[a].project.project_name;
2820
             // obj['project_name'] = project_month_prescriptions.project[a].project.project_name;
2846
             count = count + parseFloat(project_month_prescriptions.project[a].count)
2829
             count = count + parseFloat(project_month_prescriptions.project[a].count)
2847
             // price = price + project_month_prescriptions.project[a].price
2830
             // price = price + project_month_prescriptions.project[a].price
2848
             obj['price'] = parseFloat(project_month_prescriptions.project[a].price)
2831
             obj['price'] = parseFloat(project_month_prescriptions.project[a].price)
2849
-
2850
-
2832
+            fulamt_ownpay_amt = fulamt_ownpay_amt +project_month_prescriptions.project[a].order_info.fulamt_ownpay_amt
2833
+            overlmt_amt = overlmt_amt +project_month_prescriptions.project[a].order_info.overlmt_amt
2834
+            inscp_scp_amt = inscp_scp_amt + project_month_prescriptions.project[a].order_info.inscp_scp_amt
2835
+            preselfpay_amt = preselfpay_amt + project_month_prescriptions.project[a].order_info.preselfpay_amt
2851
 
2836
 
2852
 
2837
 
2853
           }
2838
           }
2854
         }
2839
         }
2840
+        obj['fulamt_ownpay_amt'] = fulamt_ownpay_amt.toFixed(2)
2841
+        obj['overlmt_amt'] = overlmt_amt.toFixed(2)
2842
+        obj['inscp_scp_amt'] = inscp_scp_amt.toFixed(2)
2843
+        obj['preselfpay_amt'] = preselfpay_amt.toFixed(2)
2855
         obj['total'] = count
2844
         obj['total'] = count
2856
         projects.push(obj)
2845
         projects.push(obj)
2857
       }
2846
       }
3023
                 spec: spec,
3012
                 spec: spec,
3024
                 det_item_fee_sumamt: prescription.advices[b].order_info.det_item_fee_sumamt,
3013
                 det_item_fee_sumamt: prescription.advices[b].order_info.det_item_fee_sumamt,
3025
                 name_id: prescription.advices[b].drug.manufacturer,
3014
                 name_id: prescription.advices[b].drug.manufacturer,
3026
-                fulamt_ownpay_amt: prescription.advices[b].order_info.fulamt_ownpay_amt,
3027
-                overlmt_amt: prescription.advices[b].order_info.overlmt_amt,
3028
-                preselfpay_amt: prescription.advices[b].order_info.preselfpay_amt,
3029
-                inscp_scp_amt: prescription.advices[b].order_info.inscp_scp_amt
3015
+                fulamt_ownpay_amt: prescription.advices[b].order_info.fulamt_ownpay_amt * prescription.advices[b].prescribing_number,
3016
+                overlmt_amt: prescription.advices[b].order_info.overlmt_amt * prescription.advices[b].prescribing_number,
3017
+                preselfpay_amt: prescription.advices[b].order_info.preselfpay_amt * prescription.advices[b].prescribing_number,
3018
+                inscp_scp_amt: prescription.advices[b].order_info.inscp_scp_amt * prescription.advices[b].prescribing_number
3030
 
3019
 
3031
 
3020
 
3032
 
3021
 
3050
                 // medical_code: prescription.project[b].project.medical_code,
3039
                 // medical_code: prescription.project[b].project.medical_code,
3051
                 unit: prescription.project[b].project.unit,
3040
                 unit: prescription.project[b].project.unit,
3052
                 type: prescription.project[b].type,
3041
                 type: prescription.project[b].type,
3053
-                det_item_fee_sumamt: prescription.project[b].order_info.det_item_fee_sumamt,
3054
-                fulamt_ownpay_amt: prescription.project[b].order_info.fulamt_ownpay_amt,
3055
-                overlmt_amt: prescription.project[b].order_info.overlmt_amt,
3056
-                preselfpay_amt: prescription.project[b].order_info.preselfpay_amt,
3057
-                inscp_scp_amt: prescription.project[b].order_info.inscp_scp_amt
3042
+                det_item_fee_sumamt: prescription.project[b].order_info.det_item_fee_sumamt * prescription.project[b].count,
3043
+                fulamt_ownpay_amt: prescription.project[b].order_info.fulamt_ownpay_amt * prescription.project[b].count,
3044
+                overlmt_amt: prescription.project[b].order_info.overlmt_amt * prescription.project[b].count,
3045
+                preselfpay_amt: prescription.project[b].order_info.preselfpay_amt * prescription.project[b].count,
3046
+                inscp_scp_amt: prescription.project[b].order_info.inscp_scp_amt * prescription.project[b].count
3058
 
3047
 
3059
               }
3048
               }
3060
 
3049
 

+ 1 - 1
src/xt_pages/hospitalStation/settlementPrint.vue View File

24
 import { jsGetAge, uParseTime } from "@/utils/tools";
24
 import { jsGetAge, uParseTime } from "@/utils/tools";
25
 // import LabelBox from "./printItem/LabelBox";
25
 // import LabelBox from "./printItem/LabelBox";
26
 import print from "print-js";
26
 import print from "print-js";
27
-import printOne from "./settlementTemplate/printOne"
27
+import printOne from "./settlementTemplate/hospitalPrintOne"
28
 export default {
28
 export default {
29
   name: "dialysisPrintOrder",
29
   name: "dialysisPrintOrder",
30
   components: {
30
   components: {

File diff suppressed because it is too large
+ 1138 - 0
src/xt_pages/hospitalStation/settlementTemplate/hospitalSettlePrint.vue


+ 0 - 461
src/xt_pages/hospitalStation/settlementTemplate/printOne.vue View File

1
-<template>
2
-    <div id="prescription-print" class="print_page_main_content">
3
-        <div class="title">医疗保障基金结算清单</div>
4
-        <div style="text-align:right;">清单流水号 <div style="width:120px;" class="under_line"></div></div>
5
-        <div class="row">
6
-            <div>定点医疗机构名称<div style="width:120px;" class="under_line"></div></div>
7
-            <div>定点医疗机构代码<div style="width:120px;" class="under_line"></div></div>
8
-            <div>医保结算等级<div style="width:120px;" class="under_line"></div></div>
9
-        </div>
10
-        <div class="row">
11
-            <div>医保编号<div style="width:120px;" class="under_line"></div></div>
12
-            <div>病案号<div style="width:120px;" class="under_line"></div></div>
13
-            <div>申报时间
14
-                <div style="width:40px;" class="under_line"></div>年
15
-                <div style="width:40px;" class="under_line"></div>月
16
-                <div style="width:40px;" class="under_line"></div>日
17
-            </div>
18
-        </div>
19
-        <div>
20
-            <table class="proj_table">
21
-                <tbody>
22
-                    <tr>
23
-                        <td style="letter-spacing:5px;text-align:center;font-weight:520;font-size:16px;padding: 6px 8px;line-height: 30px;">
24
-                            一、基本信息
25
-                        </td>
26
-                    </tr>
27
-                    <tr>
28
-                        <td>
29
-                            <div class="row">
30
-                                <div class="inline_block">姓名
31
-                                    <div style="width:80px;" class="under_line"></div>
32
-                                </div>
33
-                                <div class="inline_block">性别
34
-                                    <label-box :isChecked="false" showValue="男"></label-box>
35
-                                    <label-box :isChecked="false" showValue="女"></label-box>
36
-                                </div>
37
-                                <div class="inline_block">出生日期
38
-                                    <div style="width:40px;" class="under_line"></div>年
39
-                                    <div style="width:40px;" class="under_line"></div>月
40
-                                    <div style="width:40px;" class="under_line"></div>日
41
-                                </div>
42
-                                <div class="inline_block">年龄
43
-                                    <div style="width:80px;" class="under_line"></div>岁
44
-                                </div>
45
-                                <div class="inline_block">国籍
46
-                                    <div style="width:80px;" class="under_line"></div>
47
-                                </div>
48
-                            </div>
49
-                            <div class="row">
50
-                                <div class="inline_block">(年龄不足1周岁)年龄
51
-                                    <div style="width:80px;" class="under_line"></div>天
52
-                                </div>
53
-                                <div class="inline_block">民族
54
-                                    <div style="width:80px;" class="under_line"></div>
55
-                                </div>
56
-                                <div class="inline_block">患者证件类别
57
-                                    <div style="width:80px;" class="under_line"></div>
58
-                                </div>
59
-                                <div class="inline_block">患者证件号码
60
-                                    <div style="width:140px;" class="under_line"></div>
61
-                                </div>
62
-                            </div>
63
-                            <div>
64
-                                <div class="inline_block">职业
65
-                                    <div style="width:80px;" class="under_line"></div>
66
-                                </div>
67
-                                <div class="inline_block" style="width:80px;"></div>
68
-                                <div class="inline_block">现住址
69
-                                    <div style="width:80px;" class="under_line"></div>省(区、市)
70
-                                    <div style="width:80px;" class="under_line"></div>市
71
-                                    <div style="width:80px;" class="under_line"></div>县
72
-                                    <div style="width:140px;" class="under_line"></div>
73
-                                </div>
74
-                            </div>
75
-                            <div class="row">
76
-                                <div class="inline_block">工作单位名称
77
-                                    <div style="width:80px;" class="under_line"></div>
78
-                                </div>
79
-                                <div class="inline_block">工作单位地址
80
-                                    <div style="width:160px;" class="under_line"></div>
81
-                                </div>
82
-                                <div class="inline_block">单位电话
83
-                                    <div style="width:120px;" class="under_line"></div>
84
-                                </div>
85
-                                <div class="inline_block">邮编
86
-                                    <div style="width:120px;" class="under_line"></div>
87
-                                </div>
88
-                            </div>
89
-                            <div class="row">
90
-                                <div class="inline_block">联系人姓名
91
-                                    <div style="width:80px;" class="under_line"></div>
92
-                                </div>
93
-                                <div class="inline_block">关系
94
-                                    <div style="width:80px;" class="under_line"></div>
95
-                                </div>
96
-                                <div class="inline_block">地址
97
-                                    <div style="width:80px;" class="under_line"></div>省(区、市)
98
-                                    <div style="width:80px;" class="under_line"></div>市
99
-                                    <div style="width:80px;" class="under_line"></div>县
100
-                                    <div style="width:140px;" class="under_line"></div>
101
-                                </div>
102
-                                <div class="inline_block">电话
103
-                                    <div style="width:80px;" class="under_line"></div>
104
-                                </div>
105
-                            </div>
106
-                            <div class="row">
107
-                                <div style="width:33%;">医保类型<div style="width:120px;" class="under_line"></div></div>
108
-                                <div style="width:33%;">特殊人员类型<div style="width:120px;" class="under_line"></div></div>
109
-                                <div style="width:33%;">参保地<div style="width:120px;" class="under_line"></div></div>
110
-                            </div>
111
-                            <div class="row">
112
-                                <div style="width:33%;">新生儿入院类型<div style="width:120px;" class="under_line"></div></div>
113
-                                <div style="width:33%;">新生儿出生体重<div style="width:120px;" class="under_line"></div>克</div>
114
-                                <div style="width:33%;">新生儿入院体重<div style="width:120px;" class="under_line"></div>克</div>
115
-                            </div>
116
-                        </td>
117
-                    </tr>
118
-                    <tr>
119
-                        <td style="letter-spacing:5px;text-align:center;font-weight:520;font-size:16px;padding: 6px 8px;line-height: 30px;">
120
-                            二、门诊慢特病诊疗信息
121
-                        </td>
122
-                    </tr>
123
-                    <tr>
124
-                        <td>
125
-                            <div class="row">
126
-                                <div class="inline_block">诊断科别
127
-                                    <div style="width:100px;" class="under_line"></div>
128
-                                </div>
129
-                                <div class="inline_block">就诊日期
130
-                                    <div style="width:100px;" class="under_line"></div>
131
-                                </div>
132
-                            </div>
133
-                        </td>
134
-                    </tr>
135
-                    <tr>
136
-                        <td style="padding:0;line-height:30px;height:30px;">
137
-                            <table class="inside_table">
138
-                                <tbody>
139
-                                    <tr>
140
-                                        <td style="width:25%;">诊断名称</td>
141
-                                        <td style="width:25%;">诊断代码</td>
142
-                                        <td style="width:25%;">手术及操作名称</td>
143
-                                        <td style="width:25%;">手术及操作代码</td>
144
-                                    </tr>
145
-                                    <tr v-for="item in 6">
146
-                                        <td>&nbsp;</td>
147
-                                        <td>&nbsp;</td>
148
-                                        <td>&nbsp;</td>
149
-                                        <td>&nbsp;</td>
150
-                                    </tr>
151
-                                </tbody>
152
-                            </table>
153
-                        </td>
154
-                    </tr>
155
-                    <tr>
156
-                        <td style="letter-spacing:5px;text-align:center;font-weight:520;font-size:16px;padding: 6px 8px;line-height: 30px;">
157
-                            三、住院诊疗信息
158
-                        </td>
159
-                    </tr>
160
-                    <tr>
161
-                        <td>
162
-                            <div class="inline_block">住院医疗类型
163
-                                <label-box :isChecked="false" showValue="1.住院"></label-box>
164
-                                <label-box :isChecked="false" showValue="2.日间手术"></label-box>
165
-                            </div>
166
-                        </td>
167
-                    </tr>
168
-                    <tr>
169
-                        <td>
170
-                            <div>
171
-                                <div class="inline_block">入院途径
172
-                                    <label-box :isChecked="false" showValue="1.急诊"></label-box>
173
-                                    <label-box :isChecked="false" showValue="2.门诊"></label-box>
174
-                                    <label-box :isChecked="false" showValue="3.其他医疗机构转入"></label-box>
175
-                                    <label-box :isChecked="false" showValue="9.其他"></label-box>
176
-                                </div>
177
-                            </div>
178
-                        </td>
179
-                    </tr>
180
-                    <tr>
181
-                        <td>
182
-                            <div>
183
-                                <div class="inline_block">治疗类别
184
-                                    <label-box :isChecked="false" showValue="1.西医"></label-box>
185
-                                    <label-box :isChecked="false" showValue="2.中医"></label-box>
186
-                                    (
187
-                                    <label-box :isChecked="false" showValue="2.1 中医"></label-box>
188
-                                    <label-box :isChecked="false" showValue="2.2 民族医"></label-box>
189
-                                    )
190
-                                    <label-box :isChecked="false" showValue="3.中西医"></label-box>
191
-                                </div>
192
-                            </div>
193
-                        </td>
194
-                    </tr>
195
-                    <tr>
196
-                        <td>
197
-                            <div class="row">
198
-                                <div style="width:40%" class="inline_block">入院时间
199
-                                    <div style="width:40px;" class="under_line"></div>年
200
-                                    <div style="width:40px;" class="under_line"></div>月
201
-                                    <div style="width:40px;" class="under_line"></div>日
202
-                                    <div style="width:40px;" class="under_line"></div>时
203
-                                </div>
204
-                                <div style="width:30%" class="inline_block">入院科别
205
-                                    <div style="width:80px;" class="under_line"></div>
206
-                                </div>
207
-                                <div style="width:30%" class="inline_block">转科科别
208
-                                    <div style="width:80px;" class="under_line"></div>
209
-                                </div>
210
-                            </div>
211
-                        </td>
212
-                    </tr>
213
-                    <tr>
214
-                        <td>
215
-                            <div class="row">
216
-                                <div style="width:40%" class="inline_block">出院时间
217
-                                    <div style="width:40px;" class="under_line"></div>年
218
-                                    <div style="width:40px;" class="under_line"></div>月
219
-                                    <div style="width:40px;" class="under_line"></div>日
220
-                                    <div style="width:40px;" class="under_line"></div>时
221
-                                </div>
222
-                                <div style="width:30%" class="inline_block">出院科别
223
-                                    <div style="width:80px;" class="under_line"></div>
224
-                                </div>
225
-                                <div style="width:30%" class="inline_block">实际住院
226
-                                    <div style="width:80px;" class="under_line"></div>天
227
-                                </div>
228
-                            </div>
229
-                        </td>
230
-                    </tr>
231
-                    <tr>
232
-                        <td>
233
-                            <div class="row">
234
-                                <div style="width:40%" class="inline_block">门(急)诊诊断(西医诊断)
235
-                                    <div style="width:80px;" class="under_line"></div>
236
-                                </div>
237
-                                <div style="width:30%" class="inline_block">疾病代码
238
-                                    <div style="width:80px;" class="under_line"></div>
239
-                                </div>
240
-                                <div style="width:30%" class="inline_block">
241
-                                </div>
242
-                            </div>
243
-                            <div class="row">
244
-                                <div style="width:40%" class="inline_block">门(急)诊诊断(中医诊断)
245
-                                    <div style="width:80px;" class="under_line"></div>
246
-                                </div>
247
-                                <div style="width:30%" class="inline_block">疾病代码
248
-                                    <div style="width:80px;" class="under_line"></div>
249
-                                </div>
250
-                                <div style="width:30%" class="inline_block">
251
-                                </div>
252
-                            </div>
253
-                        </td>
254
-                    </tr>
255
-                    <tr>
256
-                        <td style="padding:0;line-height:30px;height:30px;">
257
-                            <table class="inside_table">
258
-                                <tbody>
259
-                                    <tr>
260
-                                        <td style="width:20%;">出院西医诊断</td>
261
-                                        <td style="width:15%;">疾病代码</td>
262
-                                        <td style="width:15%;">入院病情</td>
263
-                                        <td style="width:20%;">出院中医诊断</td>
264
-                                        <td style="width:15%;">疾病代码</td>
265
-                                        <td style="width:15%;">入院病情</td>
266
-                                    </tr>
267
-                                    <tr>
268
-                                        <td style="text-align:left;">&nbsp;主要诊断:</td>
269
-                                        <td>&nbsp;</td>
270
-                                        <td>&nbsp;</td>
271
-                                        <td style="text-align:left;">&nbsp;主病:</td>
272
-                                        <td>&nbsp;</td>
273
-                                        <td>&nbsp;</td>
274
-                                    </tr>
275
-                                    <tr>
276
-                                        <td style="text-align:left;">&nbsp;其他诊断:</td>
277
-                                        <td>&nbsp;</td>
278
-                                        <td>&nbsp;</td>
279
-                                        <td style="text-align:left;">&nbsp;主证:</td>
280
-                                        <td>&nbsp;</td>
281
-                                        <td>&nbsp;</td>
282
-                                    </tr>
283
-                                    <tr v-for="item in 7">
284
-                                        <td>&nbsp;</td>
285
-                                        <td>&nbsp;</td>
286
-                                        <td>&nbsp;</td>
287
-                                        <td>&nbsp;</td>
288
-                                        <td>&nbsp;</td>
289
-                                        <td>&nbsp;</td>
290
-                                    </tr>
291
-                                </tbody>
292
-                            </table>
293
-                        </td>
294
-                    </tr>
295
-                    <tr>
296
-                        <td>
297
-                            <div class="inline_block">诊断代码计数
298
-                                <div style="width:80px;" class="under_line"></div>
299
-                            </div>
300
-                        </td>
301
-                    </tr>
302
-                    <tr>
303
-                        <td style="padding:0;line-height:30px;height:30px;">
304
-                            <table class="inside_table">
305
-                                <tbody>
306
-                                    <tr>
307
-                                        <td style="width:20%;">手术及操作名称</td>
308
-                                        <td style="width:20%;">手术及操作代码</td>
309
-                                        <td style="width:10%;">手术及操作日期</td>
310
-                                        <td style="width:10%;">麻醉方式*</td>
311
-                                        <td style="width:10%;">术者医师姓名</td>
312
-                                        <td style="width:10%;">术者医师代码</td>
313
-                                        <td style="width:10%;">麻醉医师姓名</td>
314
-                                        <td style="width:10%;">麻醉医师代码</td>
315
-                                    </tr>
316
-                                    <tr>
317
-                                        <td style="text-align:left;">&nbsp;主要:</td>
318
-                                        <td>&nbsp;</td>
319
-                                        <td>&nbsp;</td>
320
-                                        <td>&nbsp;</td>
321
-                                        <td>&nbsp;</td>
322
-                                        <td>&nbsp;</td>
323
-                                        <td>&nbsp;</td>
324
-                                        <td>&nbsp;</td>
325
-                                    </tr>
326
-                                    <tr>
327
-                                        <td style="text-align:left;">&nbsp;其他:</td>
328
-                                        <td>&nbsp;</td>
329
-                                        <td>&nbsp;</td>
330
-                                        <td>&nbsp;</td>
331
-                                        <td>&nbsp;</td>
332
-                                        <td>&nbsp;</td>
333
-                                        <td>&nbsp;</td>
334
-                                        <td>&nbsp;</td>
335
-                                    </tr>
336
-                                    <tr v-for="item in 8">
337
-                                        <td>&nbsp;</td>
338
-                                        <td>&nbsp;</td>
339
-                                        <td>&nbsp;</td>
340
-                                        <td>&nbsp;</td>
341
-                                        <td>&nbsp;</td>
342
-                                        <td>&nbsp;</td>
343
-                                        <td>&nbsp;</td>
344
-                                        <td>&nbsp;</td>
345
-                                    </tr>
346
-                                </tbody>
347
-                            </table>
348
-                        </td>
349
-                    </tr>
350
-                    <tr>
351
-                        <td>
352
-                            <div class="inline_block">手术及操作代码计数
353
-                                <div style="width:80px;" class="under_line"></div>
354
-                            </div>
355
-                        </td>
356
-                    </tr>
357
-                    <tr>
358
-                        <td>
359
-                            <div class="inline_block">呼吸机使用时间
360
-                                <div style="width:40px;" class="under_line"></div>天
361
-                                <div style="width:40px;" class="under_line"></div>小时
362
-                                <div style="width:40px;" class="under_line"></div>分钟
363
-                            </div>
364
-                        </td>
365
-                    </tr>
366
-                    <tr>
367
-                        <td>
368
-                            <div>
369
-                                <div class="inline_block">颅脑损伤患者昏迷时间:
370
-                                    入院前<div style="width:40px;" class="under_line"></div>
371
-
372
-                                    天<div style="width:40px;" class="under_line"></div>
373
-                                    
374
-                                    小时<div style="width:40px;" class="under_line"></div>分钟
375
-                                </div>
376
-                            </div>
377
-                            <div>
378
-                                <div class="inline_block"><span style="visibility: hidden;">颅脑损伤患者昏迷时间:</span>
379
-                                    入院前<div style="width:40px;" class="under_line"></div>
380
-
381
-                                    天<div style="width:40px;" class="under_line"></div>
382
-                                    
383
-                                    小时<div style="width:40px;" class="under_line"></div>分钟
384
-                                </div>
385
-                            </div>
386
-                        </td>
387
-                    </tr>
388
-                </tbody>
389
-            </table>
390
-        </div>
391
-    </div>
392
-</template>
393
-
394
-<script>
395
-import LabelBox from '../../dialysis/printItem/LabelBox'
396
-export default {
397
-    components:{
398
-        LabelBox
399
-    },
400
-    data(){
401
-        return{
402
-
403
-        }
404
-    }
405
-}
406
-</script>
407
-
408
-
409
-
410
-<style lang="scss" scoped>
411
-.title{
412
-    text-align: center;
413
-    font-size: 22px;
414
-    font-weight: bold;
415
-}
416
-.row{
417
-    display: flex;
418
-    justify-content: space-between;
419
-}
420
-.under_line{
421
-    border-bottom: 1px solid #999;
422
-    width: 95%;
423
-    text-align: center;
424
-    margin-left: 2px;
425
-    display: inline-block;
426
-}
427
-.inline_block{
428
-    display: inline-block;
429
-}
430
-// #prescription-print{
431
-//     width: 960px;
432
-// }
433
-.print_page_main_content .proj_table {
434
-  width: 100%;
435
-  border: 1px solid;
436
-  border-collapse: collapse;
437
-  padding: 2px;
438
-}
439
-
440
-.print_page_main_content .proj_table tbody tr td {
441
-  border: 1px solid;
442
-  /* text-align: center; */
443
-  font-size: 16px;
444
-  padding: 5px 8px;
445
-  line-height: 30px;
446
-}
447
-
448
-.print_page_main_content .proj_table .inside_table {
449
-  width: 100%;
450
-  border: hidden; /* 解决边框冲突 */
451
-  border-collapse: collapse;
452
-}
453
-
454
-.print_page_main_content .proj_table .inside_table tr td {
455
-  border: 1px solid;
456
-  text-align: center;
457
-  font-size: 14px;
458
-  padding: 6px 5px;
459
-  line-height: 16px;
460
-}
461
-</style>

+ 533 - 393
src/xt_pages/hospitalStation/statementPrint.vue View File

1
 <template>
1
 <template>
2
-    <div>
3
-        <template>
4
-            <el-button
5
-                    style="position:fixed;right:25px;z-index:999"
6
-                    :loading="loading"
7
-                    size="small"
8
-                    icon="el-icon-printer"
9
-                    @click="printThisPage"
10
-                    type="primary"
11
-            >打印
12
-            </el-button
13
-            >
14
-        </template>
15
-
16
-        <div class='dialysisPage' style="padding-top:40px;">
17
-            <printOne :info="info"></printOne>
18
-            <!-- <printTwo  :info="info" v-if="org_id == 9990"></printTwo> -->
19
-        </div>
2
+  <div>
3
+    <template>
4
+      <el-button
5
+          style="position:fixed;right:25px;z-index:999"
6
+          :loading="loading"
7
+          size="small"
8
+          icon="el-icon-printer"
9
+          @click="printThisPage"
10
+          type="primary"
11
+      >打印
12
+      </el-button
13
+      >
14
+    </template>
15
+
16
+    <div class='dialysisPage' style="padding-top:40px;" v-if="this.$store.getters.xt_user.org_id == 10215">
17
+      <private-charge-print :info="info" v-if="this.paramsObj.balance_accounts_type == 2"></private-charge-print>
18
+      <printOne :info="info" v-else></printOne>
20
     </div>
19
     </div>
20
+    <div class='dialysisPage' style="padding-top:40px;" v-if="this.$store.getters.xt_user.org_id == 10265">
21
+<!--      <private-charge-print :info="info" v-if="this.paramsObj.balance_accounts_type == 2"></private-charge-print>-->
22
+<!--      <printOne :info="info" v-else></printOne>-->
23
+<!--      <print-one :info="info" ></print-one>-->
24
+      <hospital-settle-print :info="info"></hospital-settle-print>
25
+    </div>
26
+
27
+<!--    <div class='dialysisPage' style="padding-top:40px;" v-else>-->
28
+<!--      <private-charge-print :info="info" v-if="this.paramsObj.balance_accounts_type == 2"></private-charge-print>-->
29
+<!--      <printOne :info="info" v-else></printOne>-->
30
+<!--    </div>-->
31
+
32
+  </div>
21
 </template>
33
 </template>
22
 
34
 
23
 <script>
35
 <script>
24
 
36
 
25
 
37
 
26
-  import { parseTime } from '@/utils'
27
-  import { getDialysisRecord } from '@/api/dialysis'
28
-  import { getDataConfig } from '@/utils/data'
29
-  import { jsGetAge, uParseTime } from '@/utils/tools'
30
-  import axios from 'axios'
38
+import { uParseTime } from '@/utils/tools'
39
+import axios from 'axios'
40
+import { getPrivateExpensesOrder } from '@/api/his/his'
41
+
42
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
43
+import printOne from './statementTemplate/printOne'
44
+// import printOne from './settlementTemplate/hospitalPrintOne'
45
+import printTwo from './statementTemplate/printTwo'
46
+import { getAllDoctorList, getAllHisPatientList } from '@/api/project/project'
47
+import PrivateChargePrint from '../outpatientCharges/statementTemplate/privateChargePrint'
48
+import HospitalSettlePrint from './settlementTemplate/hospitalSettlePrint'
49
+
50
+export default {
51
+  name: 'dialysisPrintOrder',
52
+  components: {
53
+    HospitalSettlePrint,
54
+    PrivateChargePrint,
55
+    BreadCrumb,
56
+    printOne,
57
+    printTwo
58
+  },
59
+  props: {
60
+    paramsObj: Object
61
+  },
62
+  data() {
63
+    return {
64
+      crumbs: [
65
+        { path: false, name: '门诊医生站' },
66
+        { path: false, name: '打印' }
67
+      ],
68
+      record_date: '',
69
+      patientTableData: [],
70
+      advicePrint: [],
71
+      hisPatient: {},
72
+      patient: {},
73
+      search_input: '',
74
+      loading: false,
75
+      patient_id: 0,
76
+      prescription_id: 0,
77
+      ids: '',
78
+      info: null,
79
+      org_id: ''
80
+    }
81
+  },
82
+  methods: {
83
+    printThisPage() {
84
+      var ptime = Math.round(new Date().getTime() / 1000)
85
+      this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
86
+
87
+      if(this.org_id == 10265){
31
 
88
 
32
-  import BreadCrumb from '@/xt_pages/components/bread-crumb'
33
-  import printOne from './statementTemplate/printOne'
34
-  import printTwo from './statementTemplate/printTwo'
35
-  import { getAllDoctorList, getAllHisPatientList, getPrescriptionPrint } from '@/api/project/project'
89
+        const style =
90
+            '@media print {.printTitle{font-size: 22px;text-align: center;font-weight: bold;}.infoMain{display: flex;flex-wrap: wrap;padding:0 10px;margin-top:10px;}.infoMain .infoP{width: 33%;}.chargeBox{border: 1px solid #000;}.chargeUl{display:flex;justify-content: space-between;text-align: center;}.chargeUl p{line-height: 1px;}.chargeP{line-height: 1px;padding-bottom:16px;}.moneyBox{display: flex;justify-content: space-between;padding: 0 10px;background: #eeeeee;-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;-ms-print-color-adjust:exact;print-color-adjust:exact;height: 40px;align-items: center;border:1px solid #000; border-top:none}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar div{width:150px;}}';
91
+        const style1 = "@media print{#prescription-print{font-size:14px;}.title{text-align: center;font-size: 22px;font-weight: bold;}.row{display: flex;justify-content: space-between;}.under_line{border-bottom: 1px solid #999;width: 95%;text-align: center;margin-left: 2px;display: inline-block;}.inline_block{display: inline-block;}.print_page_main_content .proj_table {width: 100%;border: 1px solid;border-collapse: collapse;padding: 2px;}.print_page_main_content .proj_table tbody tr td {border: 1px solid;font-size: 14px;padding: 5px 8px;line-height: 30px;}.print_page_main_content .proj_table .inside_table {width: 100%;border: hidden; /* 解决边框冲突 */border-collapse: collapse;}.print_page_main_content .proj_table .inside_table tr td {border: 1px solid;text-align: center;font-size: 14px;padding: 6px 5px;line-height: 16px;}}";
92
+        printJS({
93
+          printable: "prescription-print",
94
+          type: "html",
95
+          style: style1,
96
+          scanStyles: false
97
+        });
36
 
98
 
37
-  export default {
38
-    name: 'dialysisPrintOrder',
39
-    components: {
40
-      BreadCrumb,
41
-      printOne,
42
-      printTwo
43
-    },
44
-    props: {
45
-      paramsObj: Object
46
-    },
47
-    data() {
48
-      return {
49
-        crumbs: [
50
-          { path: false, name: '门诊医生站' },
51
-          { path: false, name: '打印' }
52
-        ],
53
-        record_date: '',
54
-        patientTableData: [],
55
-        advicePrint: [],
56
-        hisPatient: {},
57
-        patient: {},
58
-        search_input: '',
59
-        loading: false,
60
-        patient_id: 0,
61
-        prescription_id: 0,
62
-        ids: '',
63
-        info: null,
64
-        org_id: ''
65
-      }
66
-    },
67
-    methods: {
68
-      printThisPage() {
69
-        var ptime = Math.round(new Date().getTime() / 1000)
70
-        this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
99
+      }else{
71
 
100
 
72
         const style =
101
         const style =
73
-          '@media print {.statementTitle{font-size: 28px;text-align: center;font-weight: bold;margin-bottom: 10px;}.statementTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 16px;border-color: #000;}}'
102
+            '@media print {.statementTitle{font-size: 28px;text-align: center;font-weight: bold;margin-bottom: 10px;}.statementTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 16px;border-color: #000;}}'
74
         printJS({
103
         printJS({
75
           printable: 'statement-print',
104
           printable: 'statement-print',
76
           type: 'html',
105
           type: 'html',
78
           scanStyles: false
107
           scanStyles: false
79
         })
108
         })
80
 
109
 
81
-        // if (this.org_template_info.template_id == 1) {
82
-        //   printJS({
83
-        //     printable: "dialysis-print-box",
84
-        //     type: "html",
85
-        //     style: style,
86
-        //     scanStyles: false
87
-        //   });
88
-        // }
89
-      },
90
-      getAllDoctorList() {
91
-        getAllDoctorList().then(response => {
92
-          if (response.data.state == 1) {
93
-            var doctor = response.data.data.doctor
110
+      }
94
 
111
 
95
-            this.doctorList = doctor
96
-          }
97
-        })
98
-      },
99
-      getAllHisPatientList() {
100
-        const params = {
101
-          record_date: this.record_date
112
+
113
+
114
+      // if (this.org_template_info.template_id == 1) {
115
+      //   printJS({
116
+      //     printable: "dialysis-print-box",
117
+      //     type: "html",
118
+      //     style: style,
119
+      //     scanStyles: false
120
+      //   });
121
+      // }
122
+    },
123
+    getAllDoctorList() {
124
+      getAllDoctorList().then(response => {
125
+        if (response.data.state == 1) {
126
+          var doctor = response.data.data.doctor
127
+
128
+          this.doctorList = doctor
102
         }
129
         }
103
-        getAllHisPatientList(params).then(response => {
104
-          if (response.data.state == 1) {
105
-            this.patientTableData = response.data.data.list
106
-            this.patientTableDataTwo = response.data.data.list
107
-
108
-            console.log('222', this.patientTableData)
109
-            let cal_one = 0
110
-            let cal_two = 0
111
-            for (let i = 0; i < response.data.data.list.length; i++) {
112
-              if (response.data.data.list[i].prescription == null || response.data.data.list[i].prescription.length == 0) {
113
-                cal_one = cal_one + 1
114
-              }
115
-              if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
116
-                cal_two = cal_two + 1
117
-              }
130
+      })
131
+    },
132
+    getAllHisPatientList() {
133
+      const params = {
134
+        record_date: this.record_date
135
+      }
136
+      getAllHisPatientList(params).then(response => {
137
+        if (response.data.state == 1) {
138
+          this.patientTableData = response.data.data.list
139
+          this.patientTableDataTwo = response.data.data.list
140
+
141
+          console.log('222', this.patientTableData)
142
+          let cal_one = 0
143
+          let cal_two = 0
144
+          for (let i = 0; i < response.data.data.list.length; i++) {
145
+            if (response.data.data.list[i].prescription == null || response.data.data.list[i].prescription.length == 0) {
146
+              cal_one = cal_one + 1
147
+            }
148
+            if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
149
+              cal_two = cal_two + 1
118
             }
150
             }
119
-            // this.$refs.tab.setCurrentRow(this.patientTableData[0])
120
-            // console.log(this.patientTableData[0])
121
-            // this.choosePatient(this.patientTableData[0])
122
-            this.cal_one = cal_one
123
-            this.cal_two = cal_two
124
           }
151
           }
125
-        })
126
-      },
152
+          // this.$refs.tab.setCurrentRow(this.patientTableData[0])
153
+          // console.log(this.patientTableData[0])
154
+          // this.choosePatient(this.patientTableData[0])
155
+          this.cal_one = cal_one
156
+          this.cal_two = cal_two
157
+        }
158
+      })
159
+    },
127
 
160
 
128
-      changePatient(row) {
129
-        console.log('row', row)
130
-        this.patient_id = row.patient_id
131
-        this.record_date = this.record_date
132
-        this.prescription_id = this.prescription_id
133
-        //   var params = {
134
-        //     patient_id:row.patient_id,
135
-        //     record_date:this.record_date,
136
-        //     prescription_id:this.prescription_id,
137
-        //   }
138
-        // getPrescriptionPrint(params).then(response=>{
139
-        //     if(response.data.state == 1){
140
-        //       var advicePrint =  response.data.data.advicePrint
141
-        //       console.log("adviceprint",advicePrint)
142
-        //       this.advicePrint = advicePrint
143
-        //       // var hisPatient =  response.data.data.hisPatient
144
-        //       // console.log("hispatient",hisPatient)
145
-        //       // this.hisPatient = hisPatient
146
-        //       var patient =  response.data.data.patient
147
-        //       console.log("patient",patient)
148
-        //       this.patient = patient
149
-        //       var doctorPorject = response.data.data.doctorPorject
150
-        //       console.log("doctorporject",doctorPorject)
151
-        //     }
152
-        // })
153
-      },
154
-      searchAction() {
161
+    changePatient(row) {
162
+      console.log('row', row)
163
+      this.patient_id = row.patient_id
164
+      this.record_date = this.record_date
165
+      this.prescription_id = this.prescription_id
166
+      //   var params = {
167
+      //     patient_id:row.patient_id,
168
+      //     record_date:this.record_date,
169
+      //     prescription_id:this.prescription_id,
170
+      //   }
171
+      // getPrescriptionPrint(params).then(response=>{
172
+      //     if(response.data.state == 1){
173
+      //       var advicePrint =  response.data.data.advicePrint
174
+      //       console.log("adviceprint",advicePrint)
175
+      //       this.advicePrint = advicePrint
176
+      //       // var hisPatient =  response.data.data.hisPatient
177
+      //       // console.log("hispatient",hisPatient)
178
+      //       // this.hisPatient = hisPatient
179
+      //       var patient =  response.data.data.patient
180
+      //       console.log("patient",patient)
181
+      //       this.patient = patient
182
+      //       var doctorPorject = response.data.data.doctorPorject
183
+      //       console.log("doctorporject",doctorPorject)
184
+      //     }
185
+      // })
186
+    },
187
+    searchAction() {
155
 
188
 
156
-      },
157
-      getInfo(order_id) {
189
+    },
190
+    getInfo(order_id, balance_accounts_type) {
191
+      console.log(balance_accounts_type)
192
+
193
+      var that = this
194
+      if (balance_accounts_type == 2) {
195
+        let params = {
196
+          id: order_id,
197
+          order_id: order_id,
198
+          admin_user_id: this.$store.getters.xt_user.user.id
199
+        }
200
+        getPrivateExpensesOrder(params).then((response) => {
201
+          if (response.data.state == 0) {
202
+            // this.$message.error(response.data.msg)
203
+
204
+            return false
205
+          } else {
206
+            var that = this
207
+            that.info = response.data.data.info
208
+            that.p_admin = response.data.data.printor_admin
209
+            that.charge_admin = response.data.data.charge_admin
210
+
211
+            that.info['p_admin'] = that.p_admin
212
+            that.info['charge_admin'] = that.charge_admin
213
+            that.info['order_number'] = response.data.data.order_number
214
+            that.info['patient'] = response.data.data.patient
215
+            that.info['date'] = response.data.data.date
216
+            that.info['number'] = response.data.data.number
217
+            that.info['order_infos'] = response.data.data.order_infos
218
+            that.info['diagnosis'] = response.data.data.diagnosis
219
+            that.info['fixmedins_name'] = response.data.data.org_name
220
+            that.info['fixmedins_code'] = response.data.data.org_code
221
+            that.info['his'] = response.data.data.his_hospital
222
+
223
+            // that.info["doctor_code"] = response.data.data.doctor_code;
224
+            // that.info["department"] = response.data.data.department;
225
+            // that.info["health_card_no"] = response.data.data.health_card_no;
226
+
227
+            that.info['bed_cost_total'] = response.data.data.bedCostTotal
228
+            that.info['bed_cost_self_total'] =
229
+                response.data.data.bedCostSelfTotal
230
+            that.info['bed_cost_part_self_total'] =
231
+                response.data.data.bedCostPartSelfTotal
232
+
233
+            that.info['operation_cost_total'] =
234
+                response.data.data.operationCostTotal
235
+            that.info['operation_cost_self_total'] =
236
+                response.data.data.operationCostSelfTotal
237
+            that.info['operation_cost_part_self_total'] =
238
+                response.data.data.operationCostPartSelfTotal
239
+
240
+            that.info['other_cost_total'] = response.data.data.otherCostTotal
241
+            that.info['other_cost_self_total'] =
242
+                response.data.data.otherCostSelfTotal
243
+            that.info['other_cost_part_self_total'] =
244
+                response.data.data.otherCostPartSelfTotal
245
+
246
+            that.info['material_cost_total'] =
247
+                response.data.data.materialCostTotal
248
+            that.info['material_cost_self_total'] =
249
+                response.data.data.materialCostSelfTotal
250
+            that.info['material_cost_part_self_total'] =
251
+                response.data.data.materialCostPartSelfTotal
252
+
253
+            that.info['western_medicine_cost_total'] =
254
+                response.data.data.westernMedicineCostTotal
255
+            that.info['western_medicine_cost_self_total'] =
256
+                response.data.data.westernMedicineCostSelfTotal
257
+            that.info['western_medicine_cost_part_self_total'] =
258
+                response.data.data.westernMedicineCostPartSelfTotal
259
+
260
+            that.info['chinese_traditional_medicine_cost_total'] =
261
+                response.data.data.chineseTraditionalMedicineCostTotal
262
+            that.info['chinese_traditional_medicine_cost_self_total'] =
263
+                response.data.data.chineseTraditionalMedicineCostSelfTotal
264
+            that.info['chinese_traditional_medicine_cost_part_self_total'] =
265
+                response.data.data.chineseTraditionalMedicineCostPartSelfTotal
266
+
267
+            that.info['check_cost_total'] = response.data.data.checkCostTotal
268
+            that.info['check_cost_self_total'] =
269
+                response.data.data.checkCostSelfTotal
270
+            that.info['check_cost_part_self_total'] =
271
+                response.data.data.checkCostPartSelfTotal
272
+
273
+            that.info['laboratory_cost_total'] =
274
+                response.data.data.laboratoryCostTotal
275
+            that.info['laboratory_cost_self_total'] =
276
+                response.data.data.laboratoryCostSelfTotal
277
+            that.info['laboratory_cost_part_self_total'] =
278
+                response.data.data.laboratoryCostPartSelfTotal
279
+
280
+            that.info['treat_cost_total'] = response.data.data.treatCostTotal
281
+            that.info['treat_cost_self_total'] =
282
+                response.data.data.treatCostSelfTotal
283
+            that.info['treat_cost_part_self_total'] =
284
+                response.data.data.treatCostPartSelfTotal
285
+            that.info['date'] = response.data.data.date
286
+            // that.info["number"] = response.data.data.number;
287
+            that.info['order_infos'] = response.data.data.order_infos
288
+            that.info['diagnosis'] = response.data.data.diagnosis
158
 
289
 
159
-        var that = this
290
+          }
291
+        })
160
 
292
 
293
+      } else {
161
         axios.get('http://127.0.0.1:9532/api/settle/query', {
294
         axios.get('http://127.0.0.1:9532/api/settle/query', {
162
           params: {
295
           params: {
163
             order_id: order_id,
296
             order_id: order_id,
165
 
298
 
166
           }
299
           }
167
         })
300
         })
168
-          .then(function(response) {
169
-            if (response.data.state == 0) {
170
-              this.$message.error(response.data.msg)
171
-              return false
172
-            } else {
173
-              console.log('logloglog')
174
-
175
-              console.log(response.data.data.info)
176
-              that.info = response.data.data.info
177
-              console.log(that.info)
178
-
179
-              that.p_admin = response.data.data.printor_admin
180
-              that.charge_admin = response.data.data.charge_admin
181
-              that.order_infos = response.data.data
182
-
183
-              that.info['p_admin'] = that.p_admin
184
-              that.info['charge_admin'] = that.charge_admin
185
-
186
-              that.info['date'] = response.data.data.date
187
-              that.info['number'] = response.data.data.number
188
-              that.info['order_infos'] = response.data.data.order_infos
189
-              that.info['diagnosis'] = response.data.data.diagnosis
190
-
191
-              that.info['bed_cost_total'] = response.data.data.bedCostTotal
192
-              that.info['bed_cost_self_total'] = response.data.data.bedCostSelfTotal
193
-              that.info['bed_cost_part_self_total'] = response.data.data.bedCostPartSelfTotal
194
-
195
-              that.info['operation_cost_total'] = response.data.data.operationCostTotal
196
-              that.info['operation_cost_self_total'] = response.data.data.operationCostSelfTotal
197
-              that.info['operation_cost_part_self_total'] = response.data.data.operationCostPartSelfTotal
198
-
199
-              that.info['other_cost_total'] = response.data.data.otherCostTotal
200
-              that.info['other_cost_self_total'] = response.data.data.otherCostSelfTotal
201
-              that.info['other_cost_part_self_total'] = response.data.data.otherCostPartSelfTotal
202
-
203
-              that.info['material_cost_total'] = response.data.data.materialCostTotal
204
-              that.info['material_cost_self_total'] = response.data.data.materialCostSelfTotal
205
-              that.info['material_cost_part_self_total'] = response.data.data.materialCostPartSelfTotal
206
-
207
-              that.info['western_medicine_cost_total'] = response.data.data.westernMedicineCostTotal
208
-              that.info['western_medicine_cost_self_total'] = response.data.data.westernMedicineCostSelfTotal
209
-              that.info['western_medicine_cost_part_self_total'] = response.data.data.westernMedicineCostPartSelfTotal
210
-
211
-              that.info['chinese_traditional_medicine_cost_total'] = response.data.data.chineseTraditionalMedicineCostTotal
212
-              that.info['chinese_traditional_medicine_cost_self_total'] = response.data.data.chineseTraditionalMedicineCostSelfTotal
213
-              that.info['chinese_traditional_medicine_cost_part_self_total'] = response.data.data.chineseTraditionalMedicineCostPartSelfTotal
214
-
215
-              that.info['check_cost_total'] = response.data.data.checkCostTotal
216
-              that.info['check_cost_self_total'] = response.data.data.checkCostSelfTotal
217
-              that.info['check_cost_part_self_total'] = response.data.data.checkCostPartSelfTotal
218
-
219
-              that.info['laboratory_cost_total'] = response.data.data.laboratoryCostTotal
220
-              that.info['laboratory_cost_self_total'] = response.data.data.laboratoryCostSelfTotal
221
-              that.info['laboratory_cost_part_self_total'] = response.data.data.laboratoryCostPartSelfTotal
222
-
223
-              that.info['treat_cost_total'] = response.data.data.treatCostTotal
224
-              that.info['treat_cost_self_total'] = response.data.data.treatCostSelfTotal
225
-              that.info['treat_cost_part_self_total'] = response.data.data.treatCostPartSelfTotal
226
-              that.info['date'] = response.data.data.date
227
-              that.info['number'] = response.data.data.number
228
-              that.info['order_infos'] = response.data.data.order_infos
229
-              that.info['diagnosis'] = response.data.data.diagnosis
230
-
231
-            }
232
-          })
233
-          .catch(function(error) {
301
+            .then(function(response) {
302
+              if (response.data.state == 0) {
303
+                this.$message.error(response.data.msg)
304
+                return false
305
+              } else {
306
+                console.log('logloglog')
307
+
308
+                console.log(response.data.data.info)
309
+                that.info = response.data.data.info
310
+                console.log(that.info)
311
+
312
+                that.p_admin = response.data.data.printor_admin
313
+                that.charge_admin = response.data.data.charge_admin
314
+                that.order_infos = response.data.data
315
+                that.info['patient'] = response.data.data.patient
316
+                that.info['diagnosis'] = response.data.data.diagnosis
317
+                that.info['p_admin'] = that.p_admin
318
+                that.info['charge_admin'] = that.charge_admin
319
+                that.info['fixmedins_name'] = response.data.data.org_name
320
+                that.info['fixmedins_code'] = response.data.data.org_code
321
+                that.info['order'] = response.data.data.order
322
+
323
+                that.info['date'] = response.data.data.date
324
+                that.info['number'] = response.data.data.number
325
+                that.info['order_infos'] = response.data.data.order_infos
326
+                that.info['diagnosis'] = response.data.data.diagnosis
327
+                that.info['dia_config'] = response.data.data.dia_config
328
+                that.info['doctor_info'] = response.data.data.doctor_info
329
+
330
+
331
+                that.info['bed_cost_total'] = response.data.data.bedCostTotal
332
+                that.info['bed_cost_self_total'] = response.data.data.bedCostSelfTotal
333
+                that.info['bed_cost_part_self_total'] = response.data.data.bedCostPartSelfTotal
334
+
335
+                that.info['operation_cost_total'] = response.data.data.operationCostTotal
336
+                that.info['operation_cost_self_total'] = response.data.data.operationCostSelfTotal
337
+                that.info['operation_cost_part_self_total'] = response.data.data.operationCostPartSelfTotal
338
+
339
+                that.info['other_cost_total'] = response.data.data.otherCostTotal
340
+                that.info['other_cost_self_total'] = response.data.data.otherCostSelfTotal
341
+                that.info['other_cost_part_self_total'] = response.data.data.otherCostPartSelfTotal
342
+
343
+                that.info['material_cost_total'] = response.data.data.materialCostTotal
344
+                that.info['material_cost_self_total'] = response.data.data.materialCostSelfTotal
345
+                that.info['material_cost_part_self_total'] = response.data.data.materialCostPartSelfTotal
346
+
347
+                that.info['western_medicine_cost_total'] = response.data.data.westernMedicineCostTotal
348
+                that.info['western_medicine_cost_self_total'] = response.data.data.westernMedicineCostSelfTotal
349
+                that.info['western_medicine_cost_part_self_total'] = response.data.data.westernMedicineCostPartSelfTotal
350
+
351
+                that.info['chinese_traditional_medicine_cost_total'] = response.data.data.chineseTraditionalMedicineCostTotal
352
+                that.info['chinese_traditional_medicine_cost_self_total'] = response.data.data.chineseTraditionalMedicineCostSelfTotal
353
+                that.info['chinese_traditional_medicine_cost_part_self_total'] = response.data.data.chineseTraditionalMedicineCostPartSelfTotal
354
+
355
+                that.info['check_cost_total'] = response.data.data.checkCostTotal
356
+                that.info['check_cost_self_total'] = response.data.data.checkCostSelfTotal
357
+                that.info['check_cost_part_self_total'] = response.data.data.checkCostPartSelfTotal
358
+
359
+                that.info['laboratory_cost_total'] = response.data.data.laboratoryCostTotal
360
+                that.info['laboratory_cost_self_total'] = response.data.data.laboratoryCostSelfTotal
361
+                that.info['laboratory_cost_part_self_total'] = response.data.data.laboratoryCostPartSelfTotal
362
+
363
+                that.info['treat_cost_total'] = response.data.data.treatCostTotal
364
+                that.info['treat_cost_self_total'] = response.data.data.treatCostSelfTotal
365
+                that.info['treat_cost_part_self_total'] = response.data.data.treatCostPartSelfTotal
366
+                that.info['date'] = response.data.data.date
367
+                that.info['number'] = response.data.data.number
368
+                that.info['order_infos'] = response.data.data.order_infos
369
+                that.info['diagnosis'] = response.data.data.diagnosis
370
+                that.info['his'] = response.data.data.his_hospital
234
 
371
 
235
-          })
372
+              }
373
+            })
374
+            .catch(function(error) {
375
+            })
236
       }
376
       }
377
+    }
378
+  },
237
 
379
 
238
-    },
380
+  created() {
381
+    this.getInfo(this.paramsObj.order_id, this.paramsObj.balance_accounts_type)
382
+    this.org_id = this.$store.getters.xt_user.org_id
383
+  },
384
+  watch: {
385
+    paramsObj: {//深度监听,可监听到对象、数组的变化
386
+      handler(val, oldVal) {
387
+        this.paramsObj = val
388
+        this.getInfo(this.paramsObj.order_id, this.paramsObj.balance_accounts_type)
239
 
389
 
240
-    created() {
241
-      this.getInfo(this.paramsObj.order_id)
242
-      this.org_id = this.$store.getters.xt_user.org_id
243
-    },
244
-    watch: {
245
-      paramsObj: {//深度监听,可监听到对象、数组的变化
246
-        handler(val, oldVal) {
247
-          this.paramsObj = val
248
-          this.getInfo(this.paramsObj.order_id)
249
-
250
-        },
251
-        deep: true
252
-      }
390
+      },
391
+      deep: true
253
     }
392
     }
254
-
255
   }
393
   }
394
+
395
+}
256
 </script>
396
 </script>
257
 
397
 
258
 <style>
398
 <style>
259
-    .dialysis-print-order {
260
-        width: 960px;
261
-        margin: 0 auto;
262
-    }
263
-
264
-    .dialysis-print-order .order-yy-name {
265
-        margin: auto;
266
-        text-align: center;
267
-        font-size: 20px;
268
-        letter-spacing: 5px;
269
-    }
270
-
271
-    .dialysis-print-order .order-title {
272
-        margin: auto;
273
-        font-weight: 600;
274
-        text-align: center;
275
-        font-size: 22px;
276
-        padding: 10px;
277
-    }
278
-
279
-    .dialysis-print-order .table-box {
280
-        width: 100%;
281
-        line-height: 23px;
282
-        font-size: 14px;
283
-    }
284
-
285
-    .dialysis-print-order .print-table {
286
-        width: 100%;
287
-        text-align: center;
288
-        border-collapse: collapse;
289
-        line-height: 40px;
290
-        font-size: 14px;
291
-        border-color: #000;
292
-    }
293
-
294
-    .dialysis-print-order .print-table-no {
295
-        width: 100%;
296
-        text-align: center;
297
-        border-collapse: collapse;
298
-        font-size: 14px;
299
-    }
300
-
301
-    .dialysis-print-order .under-line {
302
-        border-bottom: 1px solid #999;
303
-        width: 95%;
304
-        text-align: center;
305
-        margin-left: 2px;
306
-    }
307
-
308
-    .dialysis-print-order .title-box {
309
-        text-align: center;
310
-        font-size: 16px;
311
-    }
312
-
313
-    .dialysis-print-order .radio-lebel-box {
314
-        font-weight: 400;
315
-        cursor: pointer;
316
-    }
317
-
318
-    .dialysis-print-order .radio-no {
319
-        opacity: 0;
320
-        outline: none;
321
-        position: absolute;
322
-        margin: 0;
323
-        width: 0;
324
-        height: 0;
325
-        z-index: -1;
326
-    }
327
-
328
-    .dialysis-print-order .radio-inner {
329
-        white-space: nowrap;
330
-        cursor: pointer;
331
-        outline: none;
332
-        display: inline-block;
333
-        line-height: 1;
334
-        position: relative;
335
-        vertical-align: middle;
336
-    }
337
-
338
-    .dialysis-print-order .radio-fang {
339
-        display: inline-block;
340
-        position: relative;
341
-        border: 1px solid #000;
342
-        box-sizing: border-box;
343
-        width: 14px;
344
-        height: 14px;
345
-        background-color: #fff;
346
-        z-index: 1;
347
-        transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
348
-        background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);
349
-    }
350
-
351
-    .dialysis-print-order .is-checked-radio::after {
352
-        content: "√";
353
-        font-size: 15px;
354
-    }
355
-
356
-    .dialysis-print-order .print-table-no tr td {
357
-        padding: 8px 5px;
358
-        line-height: 25px;
359
-    }
360
-
361
-    .dialysis-print-order .print-table tr td {
362
-        padding: 1px 1px;
363
-        /*line-height: 25px;*/
364
-    }
365
-
366
-    .es-img {
367
-        height: 30px;
368
-    }
369
-
370
-    .advice-name {
371
-        text-align: left;
372
-    }
373
-
374
-    .advice-children {
375
-        display: flex;
376
-    }
377
-
378
-    .title-box-pro {
379
-        border: 0 #fff;
380
-        line-height: 25px;
381
-        height: 25px;
382
-        text-align: left;
383
-        padding-left: 10px !important;
384
-    }
385
-
386
-    .title-box-pro-tr {
387
-        border: 0 #fff;
388
-    }
389
-
390
-    .text-align-left {
391
-        text-align: left !important;
392
-        padding-left: 10px !important;
393
-        font-size: 14px !important;
394
-        line-height: 25px;
395
-    }
396
-
397
-    .print-table-tr-new td {
398
-        line-height: 20px !important;
399
-    }
400
-
401
-    .border-top-solid {
402
-        border: solid 1px #000;
403
-    }
404
-
405
-    .print-template-two tr {
406
-        line-height: 30px;
407
-    }
408
-
409
-    .table-box1 {
410
-        border: 1px solid #000;
411
-        width: 100%;
412
-        line-height: 30px;
413
-        font-size: 14px;
414
-        border-collapse: collapse;
415
-    }
416
-
417
-    .table-box1 tr {
418
-        border-bottom: 1px solid #000;
419
-    }
399
+.dialysis-print-order {
400
+  width: 960px;
401
+  margin: 0 auto;
402
+}
403
+
404
+.dialysis-print-order .order-yy-name {
405
+  margin: auto;
406
+  text-align: center;
407
+  font-size: 20px;
408
+  letter-spacing: 5px;
409
+}
410
+
411
+.dialysis-print-order .order-title {
412
+  margin: auto;
413
+  font-weight: 600;
414
+  text-align: center;
415
+  font-size: 22px;
416
+  padding: 10px;
417
+}
418
+
419
+.dialysis-print-order .table-box {
420
+  width: 100%;
421
+  line-height: 23px;
422
+  font-size: 14px;
423
+}
424
+
425
+.dialysis-print-order .print-table {
426
+  width: 100%;
427
+  text-align: center;
428
+  border-collapse: collapse;
429
+  line-height: 40px;
430
+  font-size: 14px;
431
+  border-color: #000;
432
+}
433
+
434
+.dialysis-print-order .print-table-no {
435
+  width: 100%;
436
+  text-align: center;
437
+  border-collapse: collapse;
438
+  font-size: 14px;
439
+}
440
+
441
+.dialysis-print-order .under-line {
442
+  border-bottom: 1px solid #999;
443
+  width: 95%;
444
+  text-align: center;
445
+  margin-left: 2px;
446
+}
447
+
448
+.dialysis-print-order .title-box {
449
+  text-align: center;
450
+  font-size: 16px;
451
+}
452
+
453
+.dialysis-print-order .radio-lebel-box {
454
+  font-weight: 400;
455
+  cursor: pointer;
456
+}
457
+
458
+.dialysis-print-order .radio-no {
459
+  opacity: 0;
460
+  outline: none;
461
+  position: absolute;
462
+  margin: 0;
463
+  width: 0;
464
+  height: 0;
465
+  z-index: -1;
466
+}
467
+
468
+.dialysis-print-order .radio-inner {
469
+  white-space: nowrap;
470
+  cursor: pointer;
471
+  outline: none;
472
+  display: inline-block;
473
+  line-height: 1;
474
+  position: relative;
475
+  vertical-align: middle;
476
+}
477
+
478
+.dialysis-print-order .radio-fang {
479
+  display: inline-block;
480
+  position: relative;
481
+  border: 1px solid #000;
482
+  box-sizing: border-box;
483
+  width: 14px;
484
+  height: 14px;
485
+  background-color: #fff;
486
+  z-index: 1;
487
+  transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
488
+  background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);
489
+}
490
+
491
+.dialysis-print-order .is-checked-radio::after {
492
+  content: "√";
493
+  font-size: 15px;
494
+}
495
+
496
+.dialysis-print-order .print-table-no tr td {
497
+  padding: 8px 5px;
498
+  line-height: 25px;
499
+}
500
+
501
+.dialysis-print-order .print-table tr td {
502
+  padding: 1px 1px;
503
+  /*line-height: 25px;*/
504
+}
505
+
506
+.es-img {
507
+  height: 30px;
508
+}
509
+
510
+.advice-name {
511
+  text-align: left;
512
+}
513
+
514
+.advice-children {
515
+  display: flex;
516
+}
517
+
518
+.title-box-pro {
519
+  border: 0 #fff;
520
+  line-height: 25px;
521
+  height: 25px;
522
+  text-align: left;
523
+  padding-left: 10px !important;
524
+}
525
+
526
+.title-box-pro-tr {
527
+  border: 0 #fff;
528
+}
529
+
530
+.text-align-left {
531
+  text-align: left !important;
532
+  padding-left: 10px !important;
533
+  font-size: 14px !important;
534
+  line-height: 25px;
535
+}
536
+
537
+.print-table-tr-new td {
538
+  line-height: 20px !important;
539
+}
540
+
541
+.border-top-solid {
542
+  border: solid 1px #000;
543
+}
544
+
545
+.print-template-two tr {
546
+  line-height: 30px;
547
+}
548
+
549
+.table-box1 {
550
+  border: 1px solid #000;
551
+  width: 100%;
552
+  line-height: 30px;
553
+  font-size: 14px;
554
+  border-collapse: collapse;
555
+}
556
+
557
+.table-box1 tr {
558
+  border-bottom: 1px solid #000;
559
+}
420
 </style>
560
 </style>
421
 
561
 
422
 <style lang="scss">
562
 <style lang="scss">
423
 
563
 
424
-    .newContainer {
564
+.newContainer {
425
 
565
 
426
-    .dialysisPage::-webkit-scrollbar {
427
-        height: 15px;
428
-    }
566
+.dialysisPage::-webkit-scrollbar {
567
+  height: 15px;
568
+}
429
 
569
 
430
-    .el-date-editor {
570
+.el-date-editor {
431
 
571
 
432
-    .el-input__inner {
433
-        padding-right: 0px;
434
-    }
572
+.el-input__inner {
573
+  padding-right: 0px;
574
+}
435
 
575
 
436
-    }
437
-    .el-table td, .el-table th {
438
-        text-align: center;
439
-    }
576
+}
577
+.el-table td, .el-table th {
578
+  text-align: center;
579
+}
440
 
580
 
441
-    }
442
-    .newContainer::-webkit-scrollbar {
443
-        height: 15px !important;
444
-    }
581
+}
582
+.newContainer::-webkit-scrollbar {
583
+  height: 15px !important;
584
+}
445
 </style>
585
 </style>

+ 13 - 13
src/xt_pages/hospitalStation/statementTemplate/printOne.vue View File

77
         <td>单位名称</td>
77
         <td>单位名称</td>
78
         <td colspan="5">{{info.emp_name}}</td>
78
         <td colspan="5">{{info.emp_name}}</td>
79
         <td width="80">联系电话</td>
79
         <td width="80">联系电话</td>
80
-        <td width="110">{{patient.phone}}</td>
80
+        <td width="110">{{info.patient.phone}}</td>
81
         <td width="80">身份证号</td>
81
         <td width="80">身份证号</td>
82
         <td colspan="3">{{info.certno}}</td>
82
         <td colspan="3">{{info.certno}}</td>
83
       </tr>
83
       </tr>
105
         <td colspan="2" v-if="info.insutype == '390'">城乡居民基本医疗保险</td>
105
         <td colspan="2" v-if="info.insutype == '390'">城乡居民基本医疗保险</td>
106
         <td colspan="2" v-if="info.insutype == '392'">城乡居民大病医疗保险</td>
106
         <td colspan="2" v-if="info.insutype == '392'">城乡居民大病医疗保险</td>
107
         <td colspan="2" v-if="info.insutype == '510'">生育保险</td>
107
         <td colspan="2" v-if="info.insutype == '510'">生育保险</td>
108
-
109
-
110
         <td>入院第一诊断</td>
108
         <td>入院第一诊断</td>
111
-        <td colspan="3"></td>
109
+        <td colspan="3">{{info.diagnosis}}</td>
112
         <td>出院第一诊断</td>
110
         <td>出院第一诊断</td>
113
-        <td colspan="4"></td>
111
+        <td colspan="4">{{info.diagnosis}}</td>
112
+
113
+
114
       </tr>
114
       </tr>
115
       <tr>
115
       <tr>
116
         <td>业务类别</td>
116
         <td>业务类别</td>
365
         let yy = new Date().getFullYear();
365
         let yy = new Date().getFullYear();
366
         let mm = new Date().getMonth() + 1;
366
         let mm = new Date().getMonth() + 1;
367
         let dd = new Date().getDate();
367
         let dd = new Date().getDate();
368
-        let hh = new Date().getHours();
369
-        let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes()
370
-          :
371
-          new Date().getMinutes();
372
-        let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds()
373
-          :
374
-          new Date().getSeconds();
375
-        dateTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss;
368
+        // let hh = new Date().getHours();
369
+        // let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes()
370
+        //   :
371
+        //   new Date().getMinutes();
372
+        // let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds()
373
+        //   :
374
+        //   new Date().getSeconds();
375
+        dateTime = yy + '-' + mm + '-' + dd
376
         return dateTime
376
         return dateTime
377
       },
377
       },
378
 
378
 

+ 5 - 1
src/xt_pages/hospitalStation/summary.vue View File

627
         }
627
         }
628
       },
628
       },
629
       toPrint(row) {
629
       toPrint(row) {
630
+        console.log(row)
630
         if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028 || (row.order_status == 2 && this.$store.getters.xt_user.org_id == 10138) || (row.order_status == 2 && this.$store.getters.xt_user.org_id == 10278)) {
631
         if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028 || (row.order_status == 2 && this.$store.getters.xt_user.org_id == 10138) || (row.order_status == 2 && this.$store.getters.xt_user.org_id == 10278)) {
631
           this.statementVisible9504 = true
632
           this.statementVisible9504 = true
632
           let obj = {
633
           let obj = {
641
           this.statementVisible = true
642
           this.statementVisible = true
642
           let obj = {
643
           let obj = {
643
             order_id: row.id,
644
             order_id: row.id,
644
-            settle_type: row.settle_type,
645
+            balance_accounts_type: row.his_hospital_patient.balance_accounts_type,
645
             start_time: row.settle_start_time,
646
             start_time: row.settle_start_time,
646
             end_time: row.settle_end_time
647
             end_time: row.settle_end_time
647
           }
648
           }
649
+          console.log(obj)
648
           this.orderObj = obj
650
           this.orderObj = obj
651
+          console.log(this.orderObj)
652
+
649
         }
653
         }
650
 
654
 
651
       },
655
       },

+ 0 - 1
src/xt_pages/hospitalStation/summaryDetail.vue View File

63
                                 </template>
63
                                 </template>
64
                             </el-table-column>
64
                             </el-table-column>
65
 
65
 
66
-
67
                             <el-table-column align="center" prop="name" width="80" label="备注">
66
                             <el-table-column align="center" prop="name" width="80" label="备注">
68
                                 <template slot-scope="scope">
67
                                 <template slot-scope="scope">
69
                                     <!--<el-input v-model="scope.row.remark" readonly></el-input>-->
68
                                     <!--<el-input v-model="scope.row.remark" readonly></el-input>-->

+ 2 - 3
src/xt_pages/hospitalStation/template/printOne.vue View File

270
               );
270
               );
271
             }
271
             }
272
           }
272
           }
273
-          console.log("处方222222", this.prescriptions);
274
-          var hisPatient = response.data.data.hisHospitalRecord;
275
-          this.hisPatient = hisPatient;
273
+          this.hisPatient = response.data.data.hisHospitalRecord;
276
           var projectlist = response.data.data.projectlist;
274
           var projectlist = response.data.data.projectlist;
277
           console.log("所有项目列表", projectlist);
275
           console.log("所有项目列表", projectlist);
278
           this.projectList = projectlist;
276
           this.projectList = projectlist;
402
     ids: function (val) {
400
     ids: function (val) {
403
       this.ids = val;
401
       this.ids = val;
404
       this.getPrescriptionPrint();
402
       this.getPrescriptionPrint();
403
+      this.getHisPatientDetail();
405
     },
404
     },
406
   },
405
   },
407
 };
406
 };

+ 126 - 42
src/xt_pages/outpatientCharges/allListPrint.vue View File

14
     </template>
14
     </template>
15
 
15
 
16
     <div class='dialysisPage' style="padding-top:40px;">
16
     <div class='dialysisPage' style="padding-top:40px;">
17
-      <printOne :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></printOne>
17
+      <printOne  v-if="org_id != 10215 && org_id != 0" :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></printOne>
18
+      <summary-print v-if="org_id == 10215|| org_id == 0" :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></summary-print>
19
+
20
+<!--      <list-print-two :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></list-print-two>-->
18
     </div>
21
     </div>
19
   </div>
22
   </div>
20
 </template>
23
 </template>
23
   import { getHisOrderDetailCollect } from '@/api/his/his'
26
   import { getHisOrderDetailCollect } from '@/api/his/his'
24
   import { uParseTime } from '@/utils/tools'
27
   import { uParseTime } from '@/utils/tools'
25
   import printOne from './allListTemplate/printOne'
28
   import printOne from './allListTemplate/printOne'
29
+  import ListPrintTwo from './listTemplate/listPrintTwo'
30
+  import SummaryPrint from './allListTemplate/summaryPrint'
26
 
31
 
27
   export default {
32
   export default {
28
     name: 'allListPrint',
33
     name: 'allListPrint',
29
     components: {
34
     components: {
35
+      SummaryPrint,
36
+      ListPrintTwo,
30
       printOne
37
       printOne
31
     },
38
     },
32
     props: {
39
     props: {
39
         order: {},
46
         order: {},
40
         admin: {},
47
         admin: {},
41
         his_hospital:{},
48
         his_hospital:{},
49
+        org_id:0,
42
       }
50
       }
43
     },
51
     },
44
 
52
 
45
     created() {
53
     created() {
46
       this.getInfo(this.paramsObj.id)
54
       this.getInfo(this.paramsObj.id)
47
-
55
+      this.org_id = this.$store.getters.xt_user.org_id
48
     },
56
     },
49
     methods: {
57
     methods: {
50
       getTimes(time) {
58
       getTimes(time) {
59
             return false
67
             return false
60
           } else {
68
           } else {
61
             this.order = response.data.data.order
69
             this.order = response.data.data.order
70
+            this.order['bedCostTotal'] = response.data.data.bedCostTotal
71
+            this.order['operationCostTotal'] = response.data.data.operationCostTotal
72
+            this.order['otherCostTotal'] = response.data.data.otherCostTotal
73
+            this.order['materialCostTotal'] = response.data.data.materialCostTotal
74
+            this.order['westernMedicineCostTotal'] = response.data.data.westernMedicineCostTotal
75
+            this.order['chineseTraditionalMedicineCostTotal'] = response.data.data.chineseTraditionalMedicineCostTotal
76
+            this.order['checkCostTotal'] = response.data.data.checkCostTotal
77
+            this.order['zhenChaCostTotal'] = response.data.data.zhenChaCostTotal
78
+            this.order['laboratoryCostTotal'] = response.data.data.laboratoryCostTotal
79
+            this.order['treatCostTotal'] = response.data.data.treatCostTotal
80
+
81
+
62
             this.patient = response.data.data.patient
82
             this.patient = response.data.data.patient
63
             this.admin = response.data.data.admin_info
83
             this.admin = response.data.data.admin_info
64
             this.his_hospital = response.data.data.his_hospital
84
             this.his_hospital = response.data.data.his_hospital
65
             var order_info = response.data.data.order_info
85
             var order_info = response.data.data.order_info
66
 
86
 
67
-            //获取所有项目类型进行去重
68
-            let med_chrgitm_types = []
69
-            for (let i = 0; i < order_info.length; i++) {
70
-              med_chrgitm_types.push(order_info[i].med_chrgitm_type)
71
-            }
72
-            const obj = {}
73
-            med_chrgitm_types = med_chrgitm_types.reduce((cur, next) => {
74
-              obj[next] ? '' : obj[next] = true && cur.push(next)
75
-              return cur
76
-            }, []) // 设置cur默认类型为数组,并且初始值为空的数组
77
-
78
-            let tempOrderInfo = []
79
-
80
-            for (let i = 0; i < med_chrgitm_types.length; i++) {
81
-              let obj = {
82
-                total: 0,
83
-                details: []
87
+            if(this.$store.getters.xt_user.org_id == 10215 || this.$store.getters.xt_user.org_id == 0){
88
+              //获取所有项目类型进行去重
89
+              let med_chrgitm_types = []
90
+              for (let i = 0; i < order_info.length; i++) {
91
+                med_chrgitm_types.push(order_info[i].med_chrgitm_type)
84
               }
92
               }
85
-              let tempDetails = []
86
-              for (let b = 0; b < order_info.length; b++) {
87
-                if (med_chrgitm_types[i] == order_info[b].med_chrgitm_type) {
88
-                  tempDetails.push(order_info[b])
93
+              const obj = {}
94
+              med_chrgitm_types = med_chrgitm_types.reduce((cur, next) => {
95
+                obj[next] ? '' : obj[next] = true && cur.push(next)
96
+                return cur
97
+              }, []) // 设置cur默认类型为数组,并且初始值为空的数组
98
+
99
+              let tempOrderInfo = []
100
+
101
+              for (let i = 0; i < med_chrgitm_types.length; i++) {
102
+                let obj = {
103
+                  total: 0,
104
+                  details: []
105
+                }
106
+                let tempDetails = []
107
+                for (let b = 0; b < order_info.length; b++) {
108
+                  if (med_chrgitm_types[i] == order_info[b].med_chrgitm_type) {
109
+                    tempDetails.push(order_info[b])
110
+                  }
89
                 }
111
                 }
90
-              }
91
 
112
 
92
-              obj.details = this.setNewData(tempDetails)
93
-              obj.total = this.getTotal(obj.details)
113
+                obj.details = this.setNewData(tempDetails)
114
+                // obj.total = this.getTotal(obj.details)
115
+                //
116
+                // obj.details.push({
117
+                //   total: obj.total,
118
+                //   is_total: 1,
119
+                // })
120
+                this.list =  this.list.concat(obj.details)
121
+              }
94
 
122
 
95
-              obj.details.push({
96
-                total: obj.total,
97
-                is_total: 1,
98
-              })
99
-              this.list =  this.list.concat(obj.details)
100
-            }
101
 
123
 
124
+            }else{
102
 
125
 
126
+              //获取所有项目类型进行去重
127
+              let med_chrgitm_types = []
128
+              for (let i = 0; i < order_info.length; i++) {
129
+                med_chrgitm_types.push(order_info[i].med_chrgitm_type)
130
+              }
131
+              const obj = {}
132
+              med_chrgitm_types = med_chrgitm_types.reduce((cur, next) => {
133
+                obj[next] ? '' : obj[next] = true && cur.push(next)
134
+                return cur
135
+              }, []) // 设置cur默认类型为数组,并且初始值为空的数组
136
+
137
+              let tempOrderInfo = []
138
+
139
+              for (let i = 0; i < med_chrgitm_types.length; i++) {
140
+                let obj = {
141
+                  total: 0,
142
+                  details: []
143
+                }
144
+                let tempDetails = []
145
+                for (let b = 0; b < order_info.length; b++) {
146
+                  if (med_chrgitm_types[i] == order_info[b].med_chrgitm_type) {
147
+                    tempDetails.push(order_info[b])
148
+                  }
149
+                }
103
 
150
 
151
+                obj.details = this.setNewData(tempDetails)
152
+                obj.total = this.getTotal(obj.details)
104
 
153
 
154
+                obj.details.push({
155
+                  total: obj.total,
156
+                  is_total: 1,
157
+                })
158
+                this.list =  this.list.concat(obj.details)
159
+              }
160
+            }
105
           }
161
           }
106
         })
162
         })
107
       }, getTotal:function(items){
163
       }, getTotal:function(items){
155
               if (new_drug_ids[i].id == details[a].advice.drug_id && new_drug_ids[i].price == details[a].advice.price) {
211
               if (new_drug_ids[i].id == details[a].advice.drug_id && new_drug_ids[i].price == details[a].advice.price) {
156
                 obj['name'] = details[a].advice.advice_name
212
                 obj['name'] = details[a].advice.advice_name
157
                 obj['spec'] = details[a].advice.drug.drug_spec
213
                 obj['spec'] = details[a].advice.drug.drug_spec
158
-                obj['unit'] = details[a].advice.drug.max_unit
159
-
214
+                obj['unit'] = details[a].advice.drug.min_unit
215
+                obj['medicine_insurance_kind'] = this.getMedicineInsuranceType(details[a].chrgitm_lv)
160
                 obj['med_chrgitm_type'] = this.getType(details[a].med_chrgitm_type)
216
                 obj['med_chrgitm_type'] = this.getType(details[a].med_chrgitm_type)
161
                 obj['price'] = parseFloat(details[a].pric)
217
                 obj['price'] = parseFloat(details[a].pric)
162
                 obj['is_total'] = 2
218
                 obj['is_total'] = 2
176
               if (new_project_ids[i].id == details[a].project.project_id && new_project_ids[i].price == details[a].project.price) {
232
               if (new_project_ids[i].id == details[a].project.project_id && new_project_ids[i].price == details[a].project.price) {
177
                if( details[a].project.type == 2){
233
                if( details[a].project.type == 2){
178
                  obj['name'] = details[a].project.project.project_name
234
                  obj['name'] = details[a].project.project.project_name
235
+                 obj['spec'] = '次'
236
+                 obj['unit'] = details[a].project.project.unit
237
+
238
+
179
                }else if(details[a].project.type == 3){
239
                }else if(details[a].project.type == 3){
180
                  obj['name'] = details[a].project.good_info.good_name
240
                  obj['name'] = details[a].project.good_info.good_name
181
-               }
182
-                obj['unit'] = details[a].project.unit
241
+                 obj['spec'] = details[a].project.good_info.specification_name
242
+                 obj['unit'] = this.getGoodUnit( details[a].project.good_info.good_unit)
183
 
243
 
184
-                obj['spec'] = '1'
244
+               }
245
+                obj['medicine_insurance_kind'] = this.getMedicineInsuranceType(details[a].chrgitm_lv)
185
                 obj['med_chrgitm_type'] = this.getType(details[a].med_chrgitm_type)
246
                 obj['med_chrgitm_type'] = this.getType(details[a].med_chrgitm_type)
186
                 obj['price'] = parseFloat(details[a].pric)
247
                 obj['price'] = parseFloat(details[a].pric)
187
                 obj['is_total'] = 2
248
                 obj['is_total'] = 2
196
 
257
 
197
         return list
258
         return list
198
 
259
 
199
-      }, unique(array) {
260
+      }, getGoodUnit(id) {
261
+        var goodUnit = this.$store.getters.good_unit
262
+        for (let i = 0; i < goodUnit.length; i++) {
263
+          if (goodUnit[i].id == id) {
264
+            return goodUnit[i].name
265
+          }
266
+        }
267
+      },unique(array) {
200
         // res用来存储结果
268
         // res用来存储结果
201
         var res = []
269
         var res = []
202
         for (var i = 0, arrayLen = array.length; i < arrayLen; i++) {
270
         for (var i = 0, arrayLen = array.length; i < arrayLen; i++) {
211
           }
279
           }
212
         }
280
         }
213
         return res
281
         return res
214
-      },
215
-
216
-      getType(med_chrgitm_type) {
282
+      },getType(med_chrgitm_type){
217
         switch (med_chrgitm_type) {
283
         switch (med_chrgitm_type) {
218
           case '01':
284
           case '01':
219
             return '床位费'
285
             return '床位费'
272
 
338
 
273
         }
339
         }
274
 
340
 
341
+
342
+      },
343
+
344
+      getMedicineInsuranceType(type) {
345
+        switch (type) {
346
+          case "01":
347
+            return '甲类'
348
+            break
349
+          case "02":
350
+            return '乙类'
351
+
352
+            break
353
+          case "03":
354
+            return '自费'
355
+            break
356
+
357
+        }
358
+
275
       },
359
       },
276
       printThisPage() {
360
       printThisPage() {
277
 
361
 
278
         const style =
362
         const style =
279
-          '@media print {.allListTitle{font-size: 24px;text-align: center;font-weight: bold;margin-bottom: 10px;}.allListInfo{display: flex;font-size: 16px;justify-content: space-between;margin: 10px 0;} .allListTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 14px;border-color: #000;text-align:left;}.allListTable tr td {padding: 0 5px;}.tableBottom{font-size: 16px;display: flex;margin-top: 20px;}.tableBottomOne{margin-right: 40px;}}'
363
+          '@media print {.allListTitle{font-size: 24px;text-align: center;font-weight: bold;margin-bottom: 10px;}.allListInfo{display: flex;font-size: 16px;justify-content: space-between;margin: 10px 0;} .allListTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 20px;font-size: 14px;border-color: #000;text-align:left;}.allListTable tr td {padding: 0 5px;}.tableBottom{font-size: 16px;display: flex;margin-top: 20px;}.tableBottomOne{margin-right: 40px;}}'
280
         printJS({
364
         printJS({
281
           printable: 'allList-print',
365
           printable: 'allList-print',
282
           type: 'html',
366
           type: 'html',

+ 1 - 1
src/xt_pages/outpatientCharges/allListTemplate/printOne.vue View File

167
   width: 100%;
167
   width: 100%;
168
   text-align: center;
168
   text-align: center;
169
   border-collapse: collapse;
169
   border-collapse: collapse;
170
-  line-height: 40px;
170
+  line-height: 20px;
171
   font-size: 14px;
171
   font-size: 14px;
172
   border-color: #000;
172
   border-color: #000;
173
   text-align: left;
173
   text-align: left;

+ 241 - 0
src/xt_pages/outpatientCharges/allListTemplate/summaryPrint.vue View File

1
+<template>
2
+  <div id="allList-print" class="allList-print">
3
+    <div class="allListTitle">{{ $store.getters.xt_user.org.org_name }}汇总清单</div>
4
+    <div class="allListInfo">
5
+      <div>科别:门诊</div>
6
+      <div>床号:</div>
7
+      <div>门诊号:{{ order.mdtrt_id }}</div>
8
+      <div>患者姓名:{{ patient.name }}</div>
9
+    </div>
10
+
11
+    <div class="allListInfo">
12
+      <div>预交款:</div>
13
+      <div>门诊日期:</div>
14
+      <div>总费用:{{ order.medfee_sumamt }}</div>
15
+    </div>
16
+
17
+    <div class="allListInfo">
18
+      <div>西药:{{order.westernMedicineCostTotal?order.westernMedicineCostTotal:''}}</div>
19
+      <div >中成药:{{order.chineseTraditionalMedicineCostTotal?order.chineseTraditionalMedicineCostTotal:''}}</div>
20
+      <div >中草药:</div>
21
+      <div >检查费:{{order.checkCostTotal?order.checkCostTotal:''}}</div>
22
+    </div>
23
+
24
+
25
+    <div class="allListInfo">
26
+      <div >输氧费:</div>
27
+      <div>手术费:{{order.operationCostTotal?order.operationCostTotal:''}}</div>
28
+      <div >化验费:{{order.laboratoryCostTotal?order.laboratoryCostTotal:''}}</div>
29
+      <div>输血费:</div>
30
+    </div>
31
+
32
+
33
+    <div class="allListInfo">
34
+      <div >诊察费:{{order.zhenChaCostTotal?order.zhenChaCostTotal:''}}</div>
35
+      <div >治疗费:{{order.treatCostTotal?order.treatCostTotal:''}}</div>
36
+      <div >护理费:</div>
37
+      <div >床位费:{{order.bedCostTotal?order.bedCostTotal:''}}</div>
38
+    </div>
39
+
40
+
41
+    <div class="allListInfo">
42
+      <div >麻醉费:</div>
43
+      <div >材料费:{{order.materialCostTotal?order.materialCostTotal:''}}</div>
44
+      <div >其他费:{{order.otherCostTotal?order.otherCostTotal:''}}</div>
45
+    </div>
46
+    <!--    <div style="display:flex;justify-content: space-between;">-->
47
+<!--          <div style="position: absolute;top:160px;left:40px">西药</div>-->
48
+<!--          <div style="position: absolute;top:160px;left:110px">{{ list.westernMedicineCostTotal }}</div>-->
49
+<!--          <div style="position: absolute;top:160px;left:180px">检查费</div>-->
50
+<!--          <div style="position: absolute;top:160px;left:260px">{{ list.checkCostTotal }}</div>-->
51
+<!--          <div style="position: absolute;top:160px;left:340px">化验费</div>-->
52
+<!--          <div style="position: absolute;top:160px;left:420px">{{ list.treatCostTotal }}</div>-->
53
+<!--          <div style="position: absolute;top:160px;left:500px">治疗费</div>-->
54
+<!--          <div style="position: absolute;top:160px;left:580px">{{ list.bedCostTotal }}</div>-->
55
+<!--          <div style="position: absolute;top:160px;left:500px">麻醉费</div>-->
56
+<!--          <div style="position: absolute;top:160px;left:580px">{{ list.bedCostTotal }}</div>-->
57
+    <!--    </div>-->
58
+    <!--    <div style="display:flex;justify-content: space-between;">-->
59
+    <!--      <div style="position: absolute;top:190px;left:40px">中成药</div>-->
60
+    <!--      <div style="position: absolute;top:190px;left:110px">{{ list.chineseTraditionalMedicineCostTotal }}</div>-->
61
+    <!--      <div style="position: absolute;top:190px;left:180px">输氧费</div>-->
62
+    <!--      <div style="position: absolute;top:190px;left:260px">{{ list.laboratoryCostTotal }}</div>-->
63
+    <!--      <div style="position: absolute;top:190px;left:340px">输血费</div>-->
64
+    <!--      <div style="position: absolute;top:190px;left:420px">{{ list.operationCostTotal }}</div>-->
65
+    <!--      <div style="position: absolute;top:190px;left:500px">护理费</div>-->
66
+    <!--      <div style="position: absolute;top:190px;left:580px">{{ list.otherCostTotal }}</div>-->
67
+
68
+    <!--      <div style="position: absolute;top:160px;left:500px">材料费</div>-->
69
+    <!--      <div style="position: absolute;top:160px;left:580px">{{ list.bedCostTotal }}</div>-->
70
+    <!--    </div>-->
71
+    <!--    <div style="display:flex;justify-content: space-between;">-->
72
+    <!--      <div style="position: absolute;top:210px;left:40px">中草药</div>-->
73
+    <!--      <div style="position: absolute;top:210px;left:110px"></div>-->
74
+    <!--      <div style="position: absolute;top:210px;left:180px">手术费</div>-->
75
+    <!--      <div style="position: absolute;top:210px;left:260px"></div>-->
76
+    <!--      <div style="position: absolute;top:210px;left:340px">诊察费</div>-->
77
+    <!--      <div style="position: absolute;top:210px;left:420px">{{ list.materialCostTotal }}</div>-->
78
+    <!--      <div style="position: absolute;top:210px;left:500px">床位费</div>-->
79
+    <!--      <div style="position: absolute;top:210px;left:580px"></div>-->
80
+    <!--      <div style="position: absolute;top:160px;left:500px">其他</div>-->
81
+    <!--      <div style="position: absolute;top:160px;left:580px">{{ list.bedCostTotal }}</div>-->
82
+    <!--    </div>-->
83
+
84
+
85
+    <table class="allListTable" border="1">
86
+      <tr>
87
+        <td style="width:10%">费用类别</td>
88
+        <td style="width:35%">项目名称</td>
89
+        <td style="width:15%">规格</td>
90
+        <td style="width:5%">单位</td>
91
+        <td style="width:10%">数量</td>
92
+        <td style="width:10%">单价</td>
93
+        <td style="width:10%">金额</td>
94
+        <td style="width:10%">医保类型</td>
95
+
96
+      </tr>
97
+      <template v-for='(item,index) in list'>
98
+        <tr>
99
+          <td style="width:10%">{{ item.med_chrgitm_type }}</td>
100
+          <td style="width:35%">{{ item.name }}</td>
101
+          <td style="width:15%">{{ item.spec }}</td>
102
+          <td style="width:5%">{{ item.unit }}</td>
103
+          <td style="width:10%">{{ item.count }}</td>
104
+          <td style="width:10%">{{ item.price }}</td>
105
+          <td style="width:10%">{{ (item.price * item.count).toFixed(2) }}</td>
106
+          <td style="width:10%">{{ item.medicine_insurance_kind }}</td>
107
+
108
+        </tr>
109
+      </template>
110
+    </table>
111
+
112
+  </div>
113
+</template>
114
+
115
+<script>
116
+import { uParseTime } from '@/utils/tools'
117
+
118
+export default {
119
+  props: {
120
+    list: {
121
+      type: Array,
122
+      default: function() {
123
+        return []
124
+      }
125
+    }, patient: {
126
+      type: Object,
127
+      default: function() {
128
+        return {}
129
+      }
130
+    }, order: {
131
+      type: Object,
132
+      default: function() {
133
+        return {}
134
+      }
135
+    }, admin: {
136
+      type: Object,
137
+      default: function() {
138
+        return {}
139
+      }
140
+    }, hospital: {
141
+      type: Object,
142
+      default: function() {
143
+        return {}
144
+      }
145
+
146
+    }
147
+  },
148
+  data() {
149
+    return {
150
+      page: 1,
151
+      pageArr: []
152
+    }
153
+  },
154
+  methods: {
155
+    getNowTime: function() {
156
+      let dateTime
157
+      let yy = new Date().getFullYear()
158
+      let mm = new Date().getMonth() + 1
159
+      let dd = new Date().getDate()
160
+      let hh = new Date().getHours()
161
+      let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes()
162
+          :
163
+          new Date().getMinutes()
164
+      let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds()
165
+          :
166
+          new Date().getSeconds()
167
+      dateTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss
168
+      return dateTime
169
+    },
170
+    getTimes(time) {
171
+      return uParseTime(time, '{y}-{m}-{d}')
172
+    }, getTotal: function(items) {
173
+      let total = 0
174
+      for (let i = 0; i < items.length; i++) {
175
+        total = total + (items[i].count * items[i].price).toFixed(2)
176
+      }
177
+      return total
178
+
179
+    }
180
+
181
+  },
182
+  watch: {
183
+    list: {
184
+      handler(newVal) {
185
+        this.getPage()
186
+      },
187
+      deep: true
188
+    }
189
+  }
190
+}
191
+
192
+
193
+</script>
194
+
195
+<style lang="scss" scoped>
196
+.allList-print {
197
+  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
198
+  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
199
+  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
200
+  margin-bottom: 20px;
201
+  padding: 20px 10px;
202
+}
203
+
204
+.allListTitle {
205
+  font-size: 24px;
206
+  text-align: center;
207
+  font-weight: bold;
208
+  margin-bottom: 10px;
209
+}
210
+
211
+.allListInfo {
212
+  display: flex;
213
+  font-size: 16px;
214
+  justify-content: space-between;
215
+  margin: 10px 0;
216
+}
217
+
218
+.allListTable {
219
+  width: 100%;
220
+  text-align: center;
221
+  border-collapse: collapse;
222
+  line-height: 20px;
223
+  font-size: 14px;
224
+  border-color: #000;
225
+  text-align: left;
226
+}
227
+
228
+.allListTable tr td {
229
+  padding: 0 5px;
230
+}
231
+
232
+.tableBottom {
233
+  font-size: 16px;
234
+  display: flex;
235
+  margin-top: 20px;
236
+}
237
+
238
+.tableBottomOne {
239
+  margin-right: 40px;
240
+}
241
+</style>

+ 11 - 0
src/xt_pages/outpatientCharges/components/registerDialog.vue View File

289
           label: '身份证'
289
           label: '身份证'
290
         }, {
290
         }, {
291
           value: 3,
291
           value: 3,
292
+          label: '电子社保卡'
293
+        }, {
294
+          value: 4,
292
           label: '电子凭证'
295
           label: '电子凭证'
293
         }],
296
         }],
294
         settlement: [
297
         settlement: [
663
                 that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
666
                 that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
664
                 that.form.phone = patient.phone
667
                 that.form.phone = patient.phone
665
                 that.form.id_card = patient.id_card_no
668
                 that.form.id_card = patient.id_card_no
669
+              } else {
670
+                that.form.id = patient.id
671
+                that.form.name = patient.name
672
+                that.form.gender = patient.gender
673
+                that.form.age = patient.age
674
+                that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
675
+                that.form.phone = patient.phone
676
+                that.form.id_card = patient.id_card_no
666
               }
677
               }
667
               that.$message({ message: '读卡成功', type: 'success' })
678
               that.$message({ message: '读卡成功', type: 'success' })
668
             }
679
             }

+ 2 - 2
src/xt_pages/outpatientCharges/costComparison.vue View File

761
               }
761
               }
762
 
762
 
763
               import('@/vendor/Export2Excel').then(excel => {
763
               import('@/vendor/Export2Excel').then(excel => {
764
-                const tHeader = ['序号', '姓名','个人编te号', '门诊号', '挂号日期', '诊断','挂号科室','门诊费用','医保支付','自费', '起付线I', '起付线II','超封顶线费用','合计','统筹基金','大病保险','医疗救助', '实账支付额', '血透次数', '置留管数量','备注']
765
-                const filterVal = ['序号', '姓名','个人编号', '门诊号', '挂号日期','诊断','挂号科室','门诊费用','医保支付','自费', '起付线I', '起付线II','超封顶线费用','合计','统筹基金','大病保险','医疗救助', '实账支付额', '血透次数', '置留管数量','备注']
764
+                const tHeader = ['序号', '姓名','个人编号', '门诊号', '挂号日期', '诊断','挂号科室','门诊费用','医保支付','自费', '起付线I', '按比例自付II','超封顶线费用','合计','基本统筹基金','大病保险','医疗救助', '实账支付额', '血透次数', '置留管数量','备注']
765
+                const filterVal = ['序号', '姓名','个人编号', '门诊号', '挂号日期','诊断','挂号科室','门诊费用','医保支付','自费', '起付线I', '按比例自付II','超封顶线费用','合计','基本统筹基金','大病保险','医疗救助', '实账支付额', '血透次数', '置留管数量','备注']
766
                 // const filterVal = [ '姓名', '身份证', '个人编号', '门诊流水号', '挂号日期', '起付线', '统筹基金', '个人支付', '个账支付', '现金支付', '总费用', '冲销标志']
766
                 // const filterVal = [ '姓名', '身份证', '个人编号', '门诊流水号', '挂号日期', '起付线', '统筹基金', '个人支付', '个账支付', '现金支付', '总费用', '冲销标志']
767
                 const merges = ['A1:A2', 'B1:B2', 'C1:E1', 'F1:H1', 'I1:K1', 'L1:N1', 'O1:Q1', 'R1:T1', 'U1:W1', 'X1:Z1', 'AA1:AC1', 'AD1:AF1', 'AG1:AI1', 'AJ1:AL1', 'AM1:AO1', 'AP1:AR1', 'AS1:AU1', 'AV1:AX1', 'AY1:BA1', 'BB1:BD1', 'BE1:BG1', 'BH1:BJ1', 'BK1:BM1']
767
                 const merges = ['A1:A2', 'B1:B2', 'C1:E1', 'F1:H1', 'I1:K1', 'L1:N1', 'O1:Q1', 'R1:T1', 'U1:W1', 'X1:Z1', 'AA1:AC1', 'AD1:AF1', 'AG1:AI1', 'AJ1:AL1', 'AM1:AO1', 'AP1:AR1', 'AS1:AU1', 'AV1:AX1', 'AY1:BA1', 'BB1:BD1', 'BE1:BG1', 'BH1:BJ1', 'BK1:BM1']
768
 
768
 

+ 5 - 3
src/xt_pages/outpatientCharges/invoicePrint.vue View File

13
     </template>
13
     </template>
14
     <div class="app-container" style="padding-top:40px;">
14
     <div class="app-container" style="padding-top:40px;">
15
         <div class='dialysisPage'>
15
         <div class='dialysisPage'>
16
-          <div v-if="org_id != 10106 && org_id != 10215 && org_id != 4 && org_id != 10188 && org_id != 10217  && org_id != 0" >
16
+          <div v-if="org_id != 10106 && org_id != 10215 && org_id != 4 && org_id != 10188 && org_id != 10217 && org_id != 0" >
17
             <printOne v-if="org_id != 10088 " :paramsObj="invoiceParams"></printOne>
17
             <printOne v-if="org_id != 10088 " :paramsObj="invoiceParams"></printOne>
18
             <printThree v-if="org_id == 10088" :paramsObj="invoiceParams"></printThree>
18
             <printThree v-if="org_id == 10088" :paramsObj="invoiceParams"></printThree>
19
           </div>
19
           </div>
20
           <printTwo v-if="org_id == 10106" :paramsObj="invoiceParams"></printTwo>
20
           <printTwo v-if="org_id == 10106" :paramsObj="invoiceParams"></printTwo>
21
           <printFour v-if="org_id == 10215 || org_id == 4" :paramsObj="invoiceParams"></printFour>
21
           <printFour v-if="org_id == 10215 || org_id == 4" :paramsObj="invoiceParams"></printFour>
22
           <printFive v-if="org_id == 10188 " :paramsObj="invoiceParams"></printFive>
22
           <printFive v-if="org_id == 10188 " :paramsObj="invoiceParams"></printFive>
23
-
24
           <printSix v-if="org_id == 10217|| org_id == 0" :paramsObj="invoiceParams"></printSix>
23
           <printSix v-if="org_id == 10217|| org_id == 0" :paramsObj="invoiceParams"></printSix>
24
+          
25
         </div>
25
         </div>
26
     </div>
26
     </div>
27
   </div>
27
   </div>
34
 import printFour from './invoiceTemplate/printFour'
34
 import printFour from './invoiceTemplate/printFour'
35
 import printFive from './invoiceTemplate/printFive'
35
 import printFive from './invoiceTemplate/printFive'
36
 import printSix from './invoiceTemplate/printSix'
36
 import printSix from './invoiceTemplate/printSix'
37
+import printSeven from './invoiceTemplate/printSeven'
37
 export default {
38
 export default {
38
    name: "invoicePrint",
39
    name: "invoicePrint",
39
   components: {
40
   components: {
42
     printThree,
43
     printThree,
43
     printFour,
44
     printFour,
44
     printFive,
45
     printFive,
45
-    printSix
46
+    printSix,
47
+    printSeven
46
   },
48
   },
47
   props:{
49
   props:{
48
     invoiceParams:Object
50
     invoiceParams:Object

+ 230 - 0
src/xt_pages/outpatientCharges/invoiceTemplate/printSeven.vue View File

1
+<template>
2
+    <div id='invoice-print'>
3
+        <div style="display:flex;">
4
+            <div style="position: absolute;top:70px;left:70px;">{{ list.order_number }}三四十</div>
5
+            <!-- <div>{{ list.id_card_no }}</div> -->
6
+        </div>
7
+        <div style="display:flex;justify-content: space-between;">
8
+            <!-- <div>{{ list.department_name }}</div> -->
9
+            <div  style="position: absolute;top:70px;left:300px">{{ list.number }}</div>
10
+            <div></div>
11
+            <div  style="position: absolute;left:560px;top:70px;">
12
+                <span>{{ printDate.slice(0,4) }}</span>
13
+                <span>{{ printDate.slice(5,7) }}</span>
14
+                <span>{{ printDate.slice(8,11) }}</span>
15
+            </div>
16
+        </div>
17
+        <div style="display:flex;justify-content: space-between;">
18
+            <div style="position: absolute;top:90px;left:120px;"> {{ paramsObj.name }}</div>
19
+            <div style="position: absolute;top:90px;left:240px;">√</div>
20
+            <!-- <div>{{ list.pay_way }}</div> -->
21
+            <!-- <div style="position: absolute;top:70px;left:460px;">{{ paramsObj.setl_time.split(' ')[0] }}</div>
22
+            <div style="position: absolute;top:70px;left:560px;">{{ paramsObj.setl_time.split(' ')[0] }}</div> -->
23
+        </div>
24
+        <div style="display:flex;justify-content: space-between;">
25
+            <!-- <div>{{ paramsObj.gend == 1 ? '男' : '女' }}</div> -->
26
+            <div style="position: absolute;top:110px;left:260px;">{{ totalPrice - list.psn_cash_money }}</div>
27
+            <div style="position: absolute;top:110px;left:440px;">{{ list.psn_cash_money }}</div>
28
+            <div style="position: absolute;top:110px;left:580px;">门慢结算</div>
29
+        </div>
30
+        <div style="display:flex;justify-content: space-between;">
31
+            <div style="position: absolute;top:160px;left:40px">西药</div>
32
+            <div style="position: absolute;top:160px;left:110px">{{ list.westernMedicineCostTotal }}</div>
33
+            <div style="position: absolute;top:160px;left:180px">检查费</div>
34
+            <div style="position: absolute;top:160px;left:260px">{{ list.checkCostTotal }}</div>
35
+            <div style="position: absolute;top:160px;left:340px">治疗费</div>
36
+            <div style="position: absolute;top:160px;left:420px">{{ list.treatCostTotal }}</div>
37
+            <div style="position: absolute;top:160px;left:500px">床位费</div>
38
+            <div style="position: absolute;top:160px;left:580px">{{ list.bedCostTotal }}</div>
39
+        </div>
40
+        <div style="display:flex;justify-content: space-between;">
41
+            <div style="position: absolute;top:190px;left:40px">中成药</div>
42
+            <div style="position: absolute;top:190px;left:110px">{{ list.chineseTraditionalMedicineCostTotal }}</div>
43
+            <div style="position: absolute;top:190px;left:180px">化验费</div>
44
+            <div style="position: absolute;top:190px;left:260px">{{ list.laboratoryCostTotal }}</div>
45
+            <div style="position: absolute;top:190px;left:340px">手术费</div>
46
+            <div style="position: absolute;top:190px;left:420px">{{ list.operationCostTotal }}</div>
47
+            <div style="position: absolute;top:190px;left:500px">其他费</div>
48
+            <div style="position: absolute;top:190px;left:580px">{{ list.otherCostTotal }}</div>
49
+        </div>
50
+        <div style="display:flex;justify-content: space-between;">
51
+            <div style="position: absolute;top:210px;left:40px"></div>
52
+            <div style="position: absolute;top:210px;left:110px"></div>
53
+            <div style="position: absolute;top:210px;left:180px"></div>
54
+            <div style="position: absolute;top:210px;left:260px"></div>
55
+            <div style="position: absolute;top:210px;left:340px">材料费</div>
56
+            <div style="position: absolute;top:210px;left:420px">{{ list.materialCostTotal }}</div>
57
+            <div style="position: absolute;top:210px;left:500px"></div>
58
+            <div style="position: absolute;top:210px;left:580px"></div>
59
+        </div>
60
+        <div>
61
+            <span>
62
+            <span  style="position: absolute;top:260px;left:180px">
63
+                <span v-if="zhongwen.indexOf('万') > -1 && zhongwen.indexOf('拾') > -1 && zhongwen.indexOf('拾') == 1">
64
+                    {{ zhongwen.substring(0,1) }}
65
+                </span>
66
+                <span v-else>零</span>
67
+            </span>
68
+            <span  style="position: absolute;top:260px;left:220px">
69
+                <span v-if="zhongwen.indexOf('万') > -1">
70
+                    {{ zhongwen.substring(zhongwen.indexOf('万') - 1,zhongwen.indexOf('万')) }}
71
+                </span>
72
+                <span v-else>零</span>
73
+            </span>
74
+            <span  style="position: absolute;top:260px;left:260px">
75
+                <span v-if="zhongwen.indexOf('仟') > -1">
76
+                    {{ zhongwen.substring(zhongwen.indexOf('仟') - 1,zhongwen.indexOf('仟')) }}
77
+                </span>
78
+                <span v-else>零</span>
79
+            </span>
80
+            <span  style="position: absolute;top:260px;left:300px">
81
+                <span v-if="zhongwen.indexOf('佰') > -1">
82
+                    {{ zhongwen.substring(zhongwen.indexOf('佰') - 1,zhongwen.indexOf('佰')) }}
83
+                </span>
84
+                <span v-else>零</span>
85
+            </span>
86
+            <span style="position: absolute;top:260px;left:340px">
87
+                <span v-if="zhongwen.indexOf('拾') > -1">
88
+                    {{ zhongwen.substring(zhongwen.indexOf('拾') - 1,zhongwen.indexOf('拾')) }}
89
+                </span>
90
+                <span v-else>零</span>
91
+            </span>
92
+            <span  style="position: absolute;top:260px;left:380px">
93
+                <span v-if="zhongwen.indexOf('元') > -1 && zhongwen.substring(zhongwen.indexOf('元') - 1,zhongwen.indexOf('元')) != '拾'">
94
+                    {{ zhongwen.substring(zhongwen.indexOf('元') - 1,zhongwen.indexOf('元')) }}
95
+                </span>
96
+                <span v-else>零</span>
97
+            </span>
98
+            <span  style="position: absolute;top:260px;left:420px">
99
+                <span v-if="zhongwen.indexOf('角') > -1">
100
+                    {{ zhongwen.substring(zhongwen.indexOf('角') - 1,zhongwen.indexOf('角')) }}
101
+                </span>
102
+                <span v-else>零</span>
103
+            </span>
104
+            <span  style="position: absolute;top:260px;left:460px">
105
+                <span v-if="zhongwen.indexOf('分') > -1">
106
+                    {{ zhongwen.substring(zhongwen.indexOf('分') - 1,zhongwen.indexOf('分')) }}
107
+                </span>
108
+                <span v-else>零</span>
109
+            </span>
110
+            </span>
111
+            <span style="position: absolute;top:260px;left:540px">{{ totalPrice }}</span>
112
+        </div>
113
+        <div style="position: absolute;top:300px;left:460px">现金:{{ list.psn_cash_money }}</div>
114
+        <div>
115
+            <div style="position: absolute;top:340px;left:120px">{{ org_name }}</div>
116
+            <div v-if="org_id == 9990" style="position: absolute;top:340px;left:300px">钱玉玲</div>
117
+            <div v-if="org_id == 9990" style="position: absolute;top:340px;left:420px">陈国杰</div>
118
+        </div>
119
+    </div>
120
+</template>
121
+
122
+
123
+<script>
124
+import { getInvoice } from '@/api/project/project'
125
+export default {
126
+    props:{
127
+        paramsObj:Object
128
+    },
129
+    data(){
130
+        return{
131
+            list:{},
132
+            printDate:'',
133
+            zhongwen:'',
134
+            totalPrice:0.0,
135
+            org_id:'',
136
+            org_name:''
137
+        }
138
+    },
139
+    created(){
140
+        console.log('paramsObj',this.paramsObj)
141
+        let params = {
142
+            order_id: this.paramsObj.order_id,
143
+            patient_id: this.paramsObj.patient_id,
144
+            number: this.paramsObj.number,
145
+        }
146
+        this.getInvoice(params)
147
+        // var data = new Date();
148
+        // var month =data.getMonth() < 9 ? "0" + (data.getMonth() + 1) : data.getMonth() + 1;
149
+        // var date = data.getDate() <= 9 ? "0" + data.getDate() : data.getDate();
150
+        // this.printDate = data.getFullYear() + "-" + month + "-" + date;
151
+        // this.smalltoBIG(982732.21)
152
+        this.org_id = this.$store.getters.xt_user.org_id
153
+        this.org_name = this.$store.getters.xt_user.org.org_name
154
+    },
155
+    methods:{
156
+        getInvoice(params){
157
+            getInvoice(params).then((res) => {
158
+                console.log('res',res)
159
+                this.list = res.data.data
160
+                this.totalPrice = this.list.westernMedicineCostTotal + this.list.checkCostTotal + this.list.treatCostTotal + this.list.bedCostTotal + this.list.chineseTraditionalMedicineCostTotal +
161
+                                    this.list.laboratoryCostTotal + this.list.operationCostTotal + this.list.otherCostTotal + this.list.materialCostTotal
162
+                this.smalltoBIG(this.totalPrice)
163
+                var data = new Date(res.data.data.date * 1000);
164
+                var month =data.getMonth() < 9 ? "0" + (data.getMonth() + 1) : data.getMonth() + 1;
165
+                var date = data.getDate() <= 9 ? "0" + data.getDate() : data.getDate();
166
+                this.printDate = data.getFullYear() + "-" + month + "-" + date;
167
+            })
168
+        },
169
+        smalltoBIG(n) {
170
+            // let fraction = ['角', '分'];
171
+            // let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
172
+            // let unit = [['元.', '万,', '亿,'], ["元",'拾', '佰', '仟']];
173
+            // let head = price < 0 ? '欠' : '';
174
+            // price = Math.abs(price);
175
+            // let upper = '';
176
+            // for (let i = 0; i < fraction.length; i++) {
177
+            // upper += (digit[Math.floor(price * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
178
+            // }
179
+            // upper = upper || '整';
180
+            // price = Math.floor(price);
181
+            // for (let i = 0; i < unit[0].length && price > 0; i++) {
182
+            // let p = '';
183
+            // for (let j = 0; j < unit[1].length && price > 0; j++) {
184
+            //     p = digit[price % 10] + unit[1][j] + p;
185
+            //     price = Math.floor(price / 10);
186
+            // }
187
+            // upper = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + upper;
188
+            // }
189
+            // this.zhongwen = head + upper.replace(/(零.)*零圆/, '圆').replace(/(零.)+/g, '零').replace(/^整$/, '零圆整')
190
+            // console.log('6666',head + upper.replace(/(零.)*零圆/, '圆').replace(/(零.)+/g, '零').replace(/^整$/, '零圆整'))
191
+            if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)){
192
+                return "数据非法";  //判断数据是否大于0
193
+            }
194
+
195
+            var unit = "仟佰拾亿仟佰拾万仟佰拾元角分", str = "";
196
+            n += "00";
197
+
198
+            var indexpoint = n.indexOf('.');  // 如果是小数,截取小数点前面的位数
199
+
200
+            if (indexpoint >= 0){
201
+
202
+                n = n.substring(0, indexpoint) + n.substr(indexpoint+1, 2);   // 若为小数,截取需要使用的unit单位
203
+            }
204
+
205
+            unit = unit.substr(unit.length - n.length);  // 若为整数,截取需要使用的unit单位
206
+            for (var i=0; i < n.length; i++){
207
+                str += "零壹贰叁肆伍陆柒捌玖".charAt(n.charAt(i)) + unit.charAt(i);  //遍历转化为大写的数字
208
+            }
209
+
210
+            this.zhongwen =  str.replace(/零(仟|佰|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元整");
211
+            console.log(this.zhongwen)
212
+        },
213
+
214
+    },
215
+    watch:{
216
+        paramsObj:{//深度监听,可监听到对象、数组的变化
217
+            handler(val, oldVal){
218
+                let params = {
219
+                    order_id: val.order_id,
220
+                    patient_id: val.patient_id,
221
+                    number: val.number,
222
+                }
223
+                this.getInvoice(params)
224
+
225
+            },
226
+            deep:true
227
+        }
228
+    }
229
+}
230
+</script>

+ 18 - 17
src/xt_pages/outpatientCharges/invoiceTemplate/printSix.vue View File

1
 <template>
1
 <template>
2
     <div id='invoice-print'>
2
     <div id='invoice-print'>
3
-        <div v-for='(i,index) in pageArr.length' :key="index">
4
-            <div :style="{position: 'absolute',top:(10 + (index * 400))  + 'px',left:130+ 'px',}">盐城大丰悦达金骆驼血液透析中心</div>
5
-            <div :style="{position: 'absolute',top:(40 + (index * 400))  + 'px',left:90+ 'px',}">{{ list.order_number }}</div>
3
+        <div v-for='(i,index) in pageArr.length' :key="index" >
4
+            <div :style="{position: 'absolute',top:(20 + (index * 660))  + 'px',left:200+ 'px',}">盐城大丰悦达金骆驼血液透析中心</div>
5
+            <div :style="{position: 'absolute',top:(70 + (index * 660))  + 'px',left:150+ 'px',}">{{ list.order_number }}</div>
6
             <div style="display:flex;justify-content: space-between;">
6
             <div style="display:flex;justify-content: space-between;">
7
-                <div :style="{position: 'absolute',top:(70 + (index * 400))  + 'px',left:80+ 'px',}">{{ paramsObj.name }}</div>
7
+                <div :style="{position: 'absolute',top:(100 + (index * 660))  + 'px',left:100+ 'px',}">{{ paramsObj.name }}</div>
8
             </div>
8
             </div>
9
-            <div :style="{position: 'absolute',top:(130 + (index * 400))  + 'px',left:80+ 'px',}">
9
+            <div :style="{position: 'absolute',top:(190 + (index * 660))  + 'px',left:120+ 'px',}">
10
                 <div v-if="list.westernMedicineCostTotal">西药 {{ list.westernMedicineCostTotal }}</div>
10
                 <div v-if="list.westernMedicineCostTotal">西药 {{ list.westernMedicineCostTotal }}</div>
11
                 <div v-if="list.treatCostTotal">治疗费 {{ list.treatCostTotal }}</div>
11
                 <div v-if="list.treatCostTotal">治疗费 {{ list.treatCostTotal }}</div>
12
                 <div v-if="list.bedCostTotal">床位费 {{ list.bedCostTotal }}</div>
12
                 <div v-if="list.bedCostTotal">床位费 {{ list.bedCostTotal }}</div>
16
                 <div v-if="list.otherCostTotal">其他费 {{ list.otherCostTotal }}</div>
16
                 <div v-if="list.otherCostTotal">其他费 {{ list.otherCostTotal }}</div>
17
                 <div v-if="list.materialCostTotal">材料费 {{ list.materialCostTotal }}</div>
17
                 <div v-if="list.materialCostTotal">材料费 {{ list.materialCostTotal }}</div>
18
             </div>
18
             </div>
19
-            <div :style="{position: 'absolute',top:(130 + (index * 400))  + 'px',left:260+ 'px'}">
19
+            <div :style="{position: 'absolute',top:(190 + (index * 660))  + 'px',left:300+ 'px'}">
20
                 <div v-for="item in list.order_info.slice(index * 10,(index * 10) + pageArr[index])">
20
                 <div v-for="item in list.order_info.slice(index * 10,(index * 10) + pageArr[index])">
21
                     <span style="display:inline-block;width:200px;">
21
                     <span style="display:inline-block;width:200px;">
22
                         <span v-if="item.advice.id == 0">
22
                         <span v-if="item.advice.id == 0">
41
                     </span>
41
                     </span>
42
                 </div>
42
                 </div>
43
             </div>
43
             </div>
44
-            <div :style="{position: 'absolute',top:(345 + (index * 400))  + 'px',left:110+ 'px'}">{{ zhongwen }}</div>
45
-            <div :style="{position: 'absolute',top:(345 + (index * 400))  + 'px',left:460+ 'px'}">{{ list.medfee_sumamt }}</div>
46
-            <div v-if="index == pageArr.length - 1" :style="{position: 'absolute',top:(360 + (index * 400))  + 'px',left:110+ 'px',width:100 + '%',fontSize:12+'px'}">
44
+            <div :style="{position: 'absolute',top:(390 + (index * 660))  + 'px',left:130+ 'px'}">{{ zhongwen }}</div>
45
+            <div :style="{position: 'absolute',top:(390 + (index * 660))  + 'px',left:480+ 'px'}">{{ list.medfee_sumamt }}</div>
46
+            <div v-if="index == pageArr.length - 1" :style="{position: 'absolute',top:(420 + (index * 660))  + 'px',left:110+ 'px',width:100 + '%',fontSize:12+'px'}">
47
                 <div style="display:flex;">
47
                 <div style="display:flex;">
48
                   <div style="width:140px">医疗总费用:{{ list.order.medfee_sumamt }}</div>
48
                   <div style="width:140px">医疗总费用:{{ list.order.medfee_sumamt }}</div>
49
                   <div style="width:140px">基金支付总额:{{ list.order.fund_pay_sumamt }}</div>
49
                   <div style="width:140px">基金支付总额:{{ list.order.fund_pay_sumamt }}</div>
70
 
70
 
71
             </div>
71
             </div>
72
             <div>
72
             <div>
73
-                <div :style="{position: 'absolute',top:(420 + (index * 400))  + 'px',left:100+ 'px'}">盐城大丰悦达金骆驼血液透析中心</div>
74
-                <div :style="{position: 'absolute',top:(420 + (index * 400))  + 'px',left:360+ 'px'}">{{ paramsObj.chargeName }}</div>
75
-                <div :style="{position: 'absolute',top:(420 + (index * 400))  + 'px',left:520+ 'px'}">
73
+                <div :style="{position: 'absolute',top:(480 + (index * 660))  + 'px',left:140+ 'px'}">盐城大丰悦达金骆驼血液透析中心</div>
74
+                <div :style="{position: 'absolute',top:(480 + (index * 660))  + 'px',left:410+ 'px'}">{{ paramsObj.chargeName }}</div>
75
+                <div :style="{position: 'absolute',top:(480 + (index * 660))  + 'px',left:550+ 'px'}">
76
                     <span>{{  paramsObj.setl_time ? paramsObj.setl_time.split(' ')[0].slice(0,4) : getTime(list.date, '{y}-{m}-{d}').slice(0,4) }}</span>
76
                     <span>{{  paramsObj.setl_time ? paramsObj.setl_time.split(' ')[0].slice(0,4) : getTime(list.date, '{y}-{m}-{d}').slice(0,4) }}</span>
77
                 </div>
77
                 </div>
78
-                <div :style="{position: 'absolute',top:(420 + (index * 400))  + 'px',left:560+ 'px'}">
78
+                <div :style="{position: 'absolute',top:(480 + (index * 660))  + 'px',left:610+ 'px'}">
79
                     <span>{{ paramsObj.setl_time ? parseInt(paramsObj.setl_time.split(' ')[0].slice(5,7)) : getTime(list.date, '{y}-{m}-{d}').slice(5,7) }}</span>
79
                     <span>{{ paramsObj.setl_time ? parseInt(paramsObj.setl_time.split(' ')[0].slice(5,7)) : getTime(list.date, '{y}-{m}-{d}').slice(5,7) }}</span>
80
                 </div>
80
                 </div>
81
-                <div :style="{position: 'absolute',top:(420 + (index * 400))  + 'px',left:600+ 'px'}">
81
+                <div :style="{position: 'absolute',top:(480 + (index * 660))  + 'px',left:650+ 'px'}">
82
                     <span>{{ paramsObj.setl_time ? parseInt(paramsObj.setl_time.split(' ')[0].slice(8,11)) : getTime(list.date, '{y}-{m}-{d}').slice(8,11) }}</span>
82
                     <span>{{ paramsObj.setl_time ? parseInt(paramsObj.setl_time.split(' ')[0].slice(8,11)) : getTime(list.date, '{y}-{m}-{d}').slice(8,11) }}</span>
83
                 </div>
83
                 </div>
84
             </div>
84
             </div>
124
     methods:{
124
     methods:{
125
         getInvoice(params){
125
         getInvoice(params){
126
             getInvoice(params).then((res) => {
126
             getInvoice(params).then((res) => {
127
-                console.log('res',res)
127
+                // console.log('res',res)
128
                 this.list = res.data.data
128
                 this.list = res.data.data
129
-                console.log(this.list,'表单内容打印记得注释')
129
+                // console.log(this.list,'表单内容打印记得注释')
130
                 this.totalPrice = this.list.westernMedicineCostTotal + this.list.checkCostTotal + this.list.treatCostTotal + this.list.bedCostTotal + this.list.chineseTraditionalMedicineCostTotal +
130
                 this.totalPrice = this.list.westernMedicineCostTotal + this.list.checkCostTotal + this.list.treatCostTotal + this.list.bedCostTotal + this.list.chineseTraditionalMedicineCostTotal +
131
                                     this.list.laboratoryCostTotal + this.list.operationCostTotal + this.list.otherCostTotal + this.list.materialCostTotal
131
                                     this.list.laboratoryCostTotal + this.list.operationCostTotal + this.list.otherCostTotal + this.list.materialCostTotal
132
                 this.smalltoBIG(this.list.medfee_sumamt)
132
                 this.smalltoBIG(this.list.medfee_sumamt)
136
                 this.printDate = data.getFullYear() + "-" + month + "-" + date;
136
                 this.printDate = data.getFullYear() + "-" + month + "-" + date;
137
                 this.pageArr = []
137
                 this.pageArr = []
138
                 this.getPage()
138
                 this.getPage()
139
-                console.log('pageArr',this.pageArr)
139
+                this.pageArr.push(10)
140
+                console.log('pageArr',this.pageArr.length)
140
             })
141
             })
141
         },
142
         },
142
         smalltoBIG(n) {
143
         smalltoBIG(n) {

+ 47 - 14
src/xt_pages/outpatientCharges/listPrint.vue View File

14
     </template>
14
     </template>
15
 
15
 
16
     <div class='dialysisPage' style="padding-top:40px;">
16
     <div class='dialysisPage' style="padding-top:40px;">
17
-      <printOne v-if="org_id != 10106" :list="list" :patient="patient" :order="order" :admin="admin"></printOne>
17
+      <printOne v-if="org_id != 10106 && org_id != 10215 && org_id != 0" :list="list" :patient="patient" :order="order" :admin="admin"></printOne>
18
       <printTwo v-if="org_id == 10106 && this.paramsObj.balance_accounts_type != 2" :info="info" :order_infos="order_infos" :p_admin="p_admin" :charge_admin="charge_admin"></printTwo>
18
       <printTwo v-if="org_id == 10106 && this.paramsObj.balance_accounts_type != 2" :info="info" :order_infos="order_infos" :p_admin="p_admin" :charge_admin="charge_admin"></printTwo>
19
       <print-three v-if="org_id == 10106 && this.paramsObj.balance_accounts_type == 2" :info="info" :order_infos="order_infos" :p_admin="p_admin" :charge_admin="charge_admin"></print-three>
19
       <print-three v-if="org_id == 10106 && this.paramsObj.balance_accounts_type == 2" :info="info" :order_infos="order_infos" :p_admin="p_admin" :charge_admin="charge_admin"></print-three>
20
+      <list-print-two v-if="org_id == 10215 || org_id == 0" :list="list" :patient="patient" :order="order" :admin="admin"></list-print-two>
21
+<!--      <list-print-two></list-print-two>-->
20
     </div>
22
     </div>
21
   </div>
23
   </div>
22
 </template>
24
 </template>
25
   import printOne from './listTemplate/printOne'
27
   import printOne from './listTemplate/printOne'
26
   import printTwo from './listTemplate/printTwo'
28
   import printTwo from './listTemplate/printTwo'
27
   // import printThree from './listTemplate/printThree'
29
   // import printThree from './listTemplate/printThree'
30
+  import print from "print-js";
28
 
31
 
29
   import { getHisOrderDetail,getPrivateExpensesOrder } from '@/api/his/his'
32
   import { getHisOrderDetail,getPrivateExpensesOrder } from '@/api/his/his'
30
   import { uParseTime } from '@/utils/tools'
33
   import { uParseTime } from '@/utils/tools'
31
   import axios from 'axios'
34
   import axios from 'axios'
32
   import PrintThree from './listTemplate/printThree'
35
   import PrintThree from './listTemplate/printThree'
36
+  import ListPrintTwo from './listTemplate/listPrintTwo'
33
 
37
 
34
   export default {
38
   export default {
35
     name: 'listPrint',
39
     name: 'listPrint',
36
     components: {
40
     components: {
41
+      ListPrintTwo,
37
       PrintThree,
42
       PrintThree,
38
       printOne,
43
       printOne,
39
       printTwo
44
       printTwo
74
 
79
 
75
     methods: {
80
     methods: {
76
       getTimes(time) {
81
       getTimes(time) {
77
-        return uParseTime(time, '{y}-{m}-{d} {h}:{i}')
82
+        return uParseTime(time, '{y}-{m}-{d}')
78
       },
83
       },
79
       getInfo(order_id) {
84
       getInfo(order_id) {
80
         let params = {
85
         let params = {
101
               console.log(infos)
106
               console.log(infos)
102
               if (infos.advice && infos.advice.id == 0 && infos.project && infos.project.id > 0) {
107
               if (infos.advice && infos.advice.id == 0 && infos.project && infos.project.id > 0) {
103
                 obj['p_time'] = this.getTimes(infos.project.prescription.ctime)
108
                 obj['p_time'] = this.getTimes(infos.project.prescription.ctime)
109
+                obj['feedetl_sn'] = infos.feedetl_sn
110
+
104
                 if(infos.project.type == 2){
111
                 if(infos.project.type == 2){
105
                   obj['name'] = infos.project.project.project_name
112
                   obj['name'] = infos.project.project.project_name
113
+                  obj['spec'] = ''
114
+                  obj['unit'] =  infos.project.project.unit
115
+
116
+
106
                 }else if (infos.project.type == 3){
117
                 }else if (infos.project.type == 3){
107
                   obj['name'] = infos.project.good_info.good_name
118
                   obj['name'] = infos.project.good_info.good_name
119
+                  obj['spec'] = infos.project.good_info.specification_name
120
+                  obj['unit'] = this.getGoodUnit(infos.project.good_info.good_unit)
121
+
108
                 }
122
                 }
109
-                obj['spec'] = 1
110
-                obj['unit'] = infos.project.unit
111
 
123
 
112
               }
124
               }
113
 
125
 
114
               if (infos.advice && infos.advice.id > 0 && infos.project && infos.project.id == 0) {
126
               if (infos.advice && infos.advice.id > 0 && infos.project && infos.project.id == 0) {
115
                 obj['p_time'] = this.getTimes(infos.advice.prescription.ctime)
127
                 obj['p_time'] = this.getTimes(infos.advice.prescription.ctime)
116
                 obj['name'] = infos.advice.advice_name
128
                 obj['name'] = infos.advice.advice_name
117
-                obj['spec'] = infos.advice.drug.drug_spec
118
-                obj['unit'] = infos.advice.drug.max_unit
129
+                obj['unit'] = infos.advice.drug.min_unit
130
+                obj['feedetl_sn'] =  infos.feedetl_sn
131
+
119
 
132
 
120
               }
133
               }
121
               this.list.push(obj)
134
               this.list.push(obj)
189
       },
202
       },
190
       printThisPage() {
203
       printThisPage() {
191
         if(this.org_id != 10106){
204
         if(this.org_id != 10106){
192
-          const style =
193
-          '@media print {.listTitle{font-size: 24px;text-align: center;font-weight: bold;margin-bottom: 10px;}.listInfo{display: flex;font-size: 16px;justify-content: space-between;margin: 10px 0;} .listTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 14px;border-color: #000;text-align:left;}.listTable tr td {padding: 0 5px;}.tableBottom{font-size: 16px;display: flex;margin-top: 20px;}.tableBottomOne{margin-right: 40px;}}'
194
-          printJS({
195
-            printable: 'list-print',
196
-            type: 'html',
197
-            style: style,
198
-            scanStyles: false
199
-          })
205
+          if(this.org_id == 10215 || this.org_id == 0){
206
+            const style =
207
+                '@media print {.allListTitle{font-size: 24px;text-align: center;font-weight: bold;margin-bottom: 10px;}.allListInfo{display: flex;font-size: 16px;justify-content: space-between;margin: 10px 0;} .allListTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 20px;font-size: 14px;border-color: #000;text-align:left;}.allListTable tr td {padding: 0 5px;}.tableBottom{font-size: 16px;display: flex;margin-top: 20px;}.tableBottomOne{margin-right: 40px;}}'
208
+            printJS({
209
+              printable: 'allList-print',
210
+              type: 'html',
211
+              style: style,
212
+              scanStyles: false
213
+            })
214
+
215
+
216
+          }else {
217
+            const style =
218
+                '@media print {.listTitle{font-size: 24px;text-align: center;font-weight: bold;margin-bottom: 10px;}.listInfo{display: flex;font-size: 16px;justify-content: space-between;margin: 10px 0;} .listTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 20px;font-size: 14px;border-color: #000;text-align:left;}.listTable tr td {padding: 0 5px;}.tableBottom{font-size: 16px;display: flex;margin-top: 10px;}.tableBottomOne{margin-right: 40px;}}'
219
+            printJS({
220
+              printable: 'list-print',
221
+              type: 'html',
222
+              style: style,
223
+              scanStyles: false
224
+            })
225
+          }
200
         }else{
226
         }else{
201
           const style =
227
           const style =
202
           '@media print {#statement-print{font-size:12px;width:800px;margin:0 auto;}.statementTitle{font-size: 22px;text-align: center;margin-bottom: 10px;}.statementTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 16px;border-color: #000;}}';
228
           '@media print {#statement-print{font-size:12px;width:800px;margin:0 auto;}.statementTitle{font-size: 22px;text-align: center;margin-bottom: 10px;}.statementTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 16px;border-color: #000;}}';
239
           }
265
           }
240
         })
266
         })
241
 
267
 
268
+      }, getGoodUnit(id) {
269
+        var goodUnit = this.$store.getters.good_unit
270
+        for (let i = 0; i < goodUnit.length; i++) {
271
+          if (goodUnit[i].id == id) {
272
+            return goodUnit[i].name
273
+          }
274
+        }
242
       },
275
       },
243
       getInfo10106(order_id) {
276
       getInfo10106(order_id) {
244
         if (this.$store.getters.xt_user.org_id == 3877 || this.$store.getters.xt_user.org_id == 9919 || this.$store.getters.xt_user.org_id == 4  || this.$store.getters.xt_user.org_id == 9538 || this.$store.getters.xt_user.org_id == 9671 ||  this.$store.getters.xt_user.org_id == 9674 || this.$store.getters.xt_user.org_id == 10106 || this.$store.getters.xt_user.org_id == 9990 ) {
277
         if (this.$store.getters.xt_user.org_id == 3877 || this.$store.getters.xt_user.org_id == 9919 || this.$store.getters.xt_user.org_id == 4  || this.$store.getters.xt_user.org_id == 9538 || this.$store.getters.xt_user.org_id == 9671 ||  this.$store.getters.xt_user.org_id == 9674 || this.$store.getters.xt_user.org_id == 10106 || this.$store.getters.xt_user.org_id == 9990 ) {

+ 180 - 0
src/xt_pages/outpatientCharges/listTemplate/listPrintTwo.vue View File

1
+<template>
2
+  <div id="allList-print" class="allList-print">
3
+      <div class="allListTitle">{{ $store.getters.xt_user.org.org_name }}费用清单</div>
4
+      <div class="allListInfo">
5
+        <div>患者姓名:{{ patient.name }}</div>
6
+        <div>性别:{{ patient.gender == 1 ? '男' : '女' }}</div>
7
+        <div>结算类型:{{order.is_medicine_insurance == 1 ?'医保':'自费'}}</div>
8
+        <div>发票号码:</div>
9
+      </div>
10
+
11
+    <div class="allListInfo">
12
+        <div>住院/门诊号:{{order.mdtrt_id}}</div>
13
+        <div>科室:血透</div>
14
+        <div>就诊流水号:{{order.mdtrt_id}}</div>
15
+        <div>总费用:{{order.medfee_sumamt}}</div>
16
+    </div>
17
+
18
+      <div class="allListInfo">
19
+
20
+      <div>个人支付:{{order.psn_part_amt}}</div>
21
+        <div>基金支付记账:{{order.fund_pay_sumamt}}</div>
22
+        <div>补充医疗支付记账:0.00</div>
23
+        <div>救助支付金额:{{order.maf_pay}}</div>
24
+      </div>
25
+      <table class="allListTable" border="1">
26
+        <tr>
27
+          <td style="width:5%">序号</td>
28
+          <td style="width:15%">处方日期</td>
29
+          <td style="width:10%">费用编号</td>
30
+          <td style="width:40%">费用名称/规格</td>
31
+          <td style="width:5%">单位</td>
32
+          <td style="width:5%">数量</td>
33
+          <td style="width:10%">单价</td>
34
+          <td style="width:10%">金额</td>
35
+        </tr>
36
+        <template v-for='(item,index) in list'>
37
+          <tr>
38
+            <td style="width:5%">{{index + 1}}</td>
39
+            <td style="width:15%">{{item.p_time}}</td>
40
+            <td style="width:10%">{{item.feedetl_sn.split("-")[2]}}</td>
41
+            <td style="width:40%">{{item.name}}/{{item.spec}}</td>
42
+            <td style="width:5%">{{item.unit}}</td>
43
+            <td style="width:5%">{{ item.count }}</td>
44
+            <td style="width:10%">{{ item.price }}</td>
45
+            <td style="width:10%">{{ (item.price * item.count).toFixed(2) }}</td>
46
+          </tr>
47
+        </template>
48
+      </table>
49
+
50
+    </div>
51
+</template>
52
+
53
+<script>
54
+import { uParseTime } from '@/utils/tools'
55
+
56
+export default {
57
+  props: {
58
+    list: {
59
+      type: Array,
60
+      default: function() {
61
+        return []
62
+      }
63
+    }, patient: {
64
+      type: Object,
65
+      default: function() {
66
+        return {}
67
+      }
68
+    }, order: {
69
+      type: Object,
70
+      default: function() {
71
+        return {}
72
+      }
73
+    }, admin: {
74
+      type: Object,
75
+      default: function() {
76
+        return {}
77
+      }
78
+    }, hospital: {
79
+      type: Object,
80
+      default: function() {
81
+        return {}
82
+      }
83
+
84
+    }
85
+  },
86
+  data() {
87
+    return {
88
+      page: 1,
89
+      pageArr: []
90
+    }
91
+  },
92
+  methods: {
93
+    getNowTime: function() {
94
+      let dateTime
95
+      let yy = new Date().getFullYear()
96
+      let mm = new Date().getMonth() + 1
97
+      let dd = new Date().getDate()
98
+      let hh = new Date().getHours()
99
+      let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes()
100
+          :
101
+          new Date().getMinutes()
102
+      let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds()
103
+          :
104
+          new Date().getSeconds()
105
+      dateTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss
106
+      return dateTime
107
+    },
108
+    getTimes(time) {
109
+      return uParseTime(time, '{y}-{m}-{d}')
110
+    }, getTotal: function(items) {
111
+      let total = 0
112
+      for (let i = 0; i < items.length; i++) {
113
+        total = total + (items[i].count * items[i].price).toFixed(2)
114
+      }
115
+      return total
116
+
117
+    },
118
+
119
+
120
+  },
121
+  watch: {
122
+    list: {
123
+      handler(newVal) {
124
+        // this.getPage()
125
+      },
126
+      deep: true
127
+    }
128
+  }
129
+}
130
+
131
+
132
+</script>
133
+
134
+<style lang="scss" scoped>
135
+.allList-print {
136
+  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
137
+  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
138
+  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
139
+  margin-bottom: 20px;
140
+  padding: 20px 10px;
141
+}
142
+
143
+.allListTitle {
144
+  font-size: 24px;
145
+  text-align: center;
146
+  font-weight: bold;
147
+  margin-bottom: 10px;
148
+}
149
+
150
+.allListInfo {
151
+  display: flex;
152
+  font-size: 16px;
153
+  justify-content: space-between;
154
+  margin: 10px 0;
155
+}
156
+
157
+.allListTable {
158
+  width: 100%;
159
+  text-align: center;
160
+  border-collapse: collapse;
161
+  line-height: 20px;
162
+  font-size: 14px;
163
+  border-color: #000;
164
+  text-align: left;
165
+}
166
+
167
+.allListTable tr td {
168
+  padding: 0 5px;
169
+}
170
+
171
+.tableBottom {
172
+  font-size: 16px;
173
+  display: flex;
174
+  margin-top: 20px;
175
+}
176
+
177
+.tableBottomOne {
178
+  margin-right: 40px;
179
+}
180
+</style>

+ 1 - 1
src/xt_pages/outpatientCharges/listTemplate/printOne.vue View File

153
     width: 100%;
153
     width: 100%;
154
     text-align: center;
154
     text-align: center;
155
     border-collapse: collapse;
155
     border-collapse: collapse;
156
-    line-height: 40px;
156
+    line-height: 20px;
157
     font-size: 14px;
157
     font-size: 14px;
158
     border-color: #000;
158
     border-color: #000;
159
     text-align: left;
159
     text-align: left;

+ 225 - 67
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue View File

46
           </el-button>
46
           </el-button>
47
         </div>
47
         </div>
48
         <div>
48
         <div>
49
-          <el-table  :data="patientTableData" :height="tableHeight" border style="width: 100%;"
49
+          <el-table :data="patientTableData" :height="tableHeight" border style="width: 100%;"
50
                     :row-style="{ color: '#303133' }"
50
                     :row-style="{ color: '#303133' }"
51
 
51
 
52
                     :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
52
                     :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
61
             </el-table-column>
61
             </el-table-column>
62
           </el-table>
62
           </el-table>
63
 
63
 
64
-<!--          <el-table v-else :data="monthChargePatientTableData" :height="tableHeight" border style="width: 100%;"-->
65
-<!--                    :row-style="{ color: '#303133' }"-->
66
-
67
-<!--                    :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"-->
68
-<!--                    highlight-current-row ref="tab"-->
69
-<!--                    @current-change="handleCurrentChange">-->
70
-<!--            <el-table-column align="center" prop="name" label="姓名" wdith='89'>-->
71
-<!--              <template slot-scope="scope">{{ scope.row.name }}</template>-->
72
-<!--            </el-table-column>-->
73
-<!--            <el-table-column align="center" prop="name" label="就诊号" width="110">-->
74
-<!--              <template slot-scope="scope">{{ scope.row.number ? scope.row.number : '' }}-->
75
-<!--              </template>-->
76
-<!--            </el-table-column>-->
77
-<!--          </el-table>-->
64
+          <!--          <el-table v-else :data="monthChargePatientTableData" :height="tableHeight" border style="width: 100%;"-->
65
+          <!--                    :row-style="{ color: '#303133' }"-->
66
+
67
+          <!--                    :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"-->
68
+          <!--                    highlight-current-row ref="tab"-->
69
+          <!--                    @current-change="handleCurrentChange">-->
70
+          <!--            <el-table-column align="center" prop="name" label="姓名" wdith='89'>-->
71
+          <!--              <template slot-scope="scope">{{ scope.row.name }}</template>-->
72
+          <!--            </el-table-column>-->
73
+          <!--            <el-table-column align="center" prop="name" label="就诊号" width="110">-->
74
+          <!--              <template slot-scope="scope">{{ scope.row.number ? scope.row.number : '' }}-->
75
+          <!--              </template>-->
76
+          <!--            </el-table-column>-->
77
+          <!--          </el-table>-->
78
 
78
 
79
         </div>
79
         </div>
80
       </div>
80
       </div>
85
 
85
 
86
 
86
 
87
           <div>
87
           <div>
88
+<!--            <el-button size="small"-->
89
+<!--                       @click="openZb(1)"-->
90
+<!--                       type="primary">登记-->
91
+<!--            </el-button>-->
92
+
93
+<!--            <el-button  size="small"-->
94
+<!--                       @click="openZb(2)"-->
95
+<!--                       type="primary">记账-->
96
+<!--            </el-button>-->
97
+
98
+<!--            <el-button   size="small"-->
99
+<!--                       @click="openZb(3)"-->
100
+<!--                       type="primary">撤销记账-->
101
+<!--            </el-button>-->
102
+
103
+
88
             <el-button v-loading="loadingone" size="small"
104
             <el-button v-loading="loadingone" size="small"
89
                        @click="open(6)"
105
                        @click="open(6)"
90
                        type="primary">挂号
106
                        type="primary">挂号
142
                           >
158
                           >
143
 
159
 
144
                             <el-button
160
                             <el-button
145
-                           su     v-if="radio == 1"
161
+                                v-if="radio == 1"
146
                                 size="small"
162
                                 size="small"
147
                                 @click="openDialog(item)"
163
                                 @click="openDialog(item)"
148
                                 type="primary"
164
                                 type="primary"
151
                             <div style="margin-bottom:10px;float: right">
167
                             <div style="margin-bottom:10px;float: right">
152
                               <div>
168
                               <div>
153
                                 <el-button
169
                                 <el-button
154
-                                    v-if="(hisPatientInfo.balance_accounts_type != 2 && hisPatientInfo.id > 0 &&  items.prescriptions[0].order.id == 0)"
170
+                                    v-if="(hisPatientInfo.id_card_type != 3 && hisPatientInfo.balance_accounts_type != 2 && hisPatientInfo.id > 0 &&  items.prescriptions[0].order.id == 0)"
155
                                     size="small"
171
                                     size="small"
156
                                     @click="open(8,items.med_type,items.prescriptions[0].order,items.prescriptions)"
172
                                     @click="open(8,items.med_type,items.prescriptions[0].order,items.prescriptions)"
157
                                     type="primary"
173
                                     type="primary"
381
                               </el-button>
397
                               </el-button>
382
 
398
 
383
                               <el-button
399
                               <el-button
384
-                                         v-if="(hisPatientInfo.id > 0 && items.curMonthPrescriptions.order.id == 0) || items.curMonthPrescriptions.order.order_status == 1 ||  items.curMonthPrescriptions.order.order_status == 3"
385
-                                         size="small"
386
-                                         @click="open(4,items.med_type,items.curMonthPrescriptions.order,items.month_prescriptions)"
387
-                                         type="primary">收费
400
+                                  v-if="(hisPatientInfo.id > 0 && items.curMonthPrescriptions.order.id == 0) || items.curMonthPrescriptions.order.order_status == 1 ||  items.curMonthPrescriptions.order.order_status == 3"
401
+                                  size="small"
402
+                                  @click="open(4,items.med_type,items.curMonthPrescriptions.order,items.month_prescriptions)"
403
+                                  type="primary">收费
388
                               </el-button>
404
                               </el-button>
389
                             </div>
405
                             </div>
390
                           </div>
406
                           </div>
575
                                 type="primary"
591
                                 type="primary"
576
                             >修改医疗类型
592
                             >修改医疗类型
577
                             </el-button>
593
                             </el-button>
578
-<!--                            <div style="margin-bottom:10px;float: right">-->
579
-<!--                              <div>-->
580
-<!--                                <el-button-->
581
-<!--                                    v-if="(hisPatientInfo.id > 0 &&  items.prescriptions[0].order.id == 0)"-->
582
-<!--                                    size="small"-->
583
-<!--                                    @click="open(8,items.med_type,items.prescriptions[0].order,items.prescriptions)"-->
584
-<!--                                    type="primary"-->
585
-<!--                                >预结算-->
586
-<!--                                </el-button>-->
587
-<!--                                <el-button-->
588
-<!--                                    v-if="items.curPrescriptions.order.order_status == 1 && hisPatientInfo.balance_accounts_type != 2"-->
589
-<!--                                    size="small"-->
590
-<!--                                    @click="open(11,items.med_type,items.prescriptions[0].order,items.prescriptions)"-->
591
-<!--                                    type="primary"-->
592
-<!--                                >撤销明细-->
593
-<!--                                </el-button>-->
594
-
595
-
596
-<!--                                <el-button v-loading="loadingtwo"-->
597
-<!--                                           v-if="(hisPatientInfo.id > 0 && items.curPrescriptions.order.id == 0) || items.curPrescriptions.order.order_status == 1 ||  items.curPrescriptions.order.order_status == 3"-->
598
-<!--                                           size="small"-->
599
-<!--                                           @click="open(4,items.med_type,items.curPrescriptions.order,items.prescriptions)"-->
600
-<!--                                           type="primary">收费-->
601
-<!--                                </el-button>-->
602
-<!--                              </div>-->
603
-<!--                            </div>-->
594
+                            <!--                            <div style="margin-bottom:10px;float: right">-->
595
+                            <!--                              <div>-->
596
+                            <!--                                <el-button-->
597
+                            <!--                                    v-if="(hisPatientInfo.id > 0 &&  items.prescriptions[0].order.id == 0)"-->
598
+                            <!--                                    size="small"-->
599
+                            <!--                                    @click="open(8,items.med_type,items.prescriptions[0].order,items.prescriptions)"-->
600
+                            <!--                                    type="primary"-->
601
+                            <!--                                >预结算-->
602
+                            <!--                                </el-button>-->
603
+                            <!--                                <el-button-->
604
+                            <!--                                    v-if="items.curPrescriptions.order.order_status == 1 && hisPatientInfo.balance_accounts_type != 2"-->
605
+                            <!--                                    size="small"-->
606
+                            <!--                                    @click="open(11,items.med_type,items.prescriptions[0].order,items.prescriptions)"-->
607
+                            <!--                                    type="primary"-->
608
+                            <!--                                >撤销明细-->
609
+                            <!--                                </el-button>-->
610
+
611
+
612
+                            <!--                                <el-button v-loading="loadingtwo"-->
613
+                            <!--                                           v-if="(hisPatientInfo.id > 0 && items.curPrescriptions.order.id == 0) || items.curPrescriptions.order.order_status == 1 ||  items.curPrescriptions.order.order_status == 3"-->
614
+                            <!--                                           size="small"-->
615
+                            <!--                                           @click="open(4,items.med_type,items.curPrescriptions.order,items.prescriptions)"-->
616
+                            <!--                                           type="primary">收费-->
617
+                            <!--                                </el-button>-->
618
+                            <!--                              </div>-->
619
+                            <!--                            </div>-->
604
                           </el-tab-pane>
620
                           </el-tab-pane>
605
 
621
 
606
 
622
 
746
         width="30%"
762
         width="30%"
747
     >
763
     >
748
       <span>是否修改医疗类型</span>
764
       <span>是否修改医疗类型</span>
749
-      <el-select v-if="this.$store.getters.xt_user.org_id == 10188 || this.$store.getters.xt_user.org_id == 10217" style="width:50%;" v-model="temp_med_type"
765
+      <el-select v-if="this.$store.getters.xt_user.org_id == 10188 || this.$store.getters.xt_user.org_id == 10217"
766
+                 style="width:50%;" v-model="temp_med_type"
750
                  placeholder="医疗类型" @change="changevalue">
767
                  placeholder="医疗类型" @change="changevalue">
751
         <el-option
768
         <el-option
752
             v-for="(item,index) in registerThree"
769
             v-for="(item,index) in registerThree"
756
         </el-option>
773
         </el-option>
757
       </el-select>
774
       </el-select>
758
 
775
 
759
-      <el-select v-if="this.$store.getters.xt_user.org_id != 10188 && this.$store.getters.xt_user.org_id != 10217" style="width:50%;" v-model="temp_med_type"
776
+      <el-select v-if="this.$store.getters.xt_user.org_id != 10188 && this.$store.getters.xt_user.org_id != 10217"
777
+                 style="width:50%;" v-model="temp_med_type"
760
                  placeholder="医疗类型" @change="changevalue">
778
                  placeholder="医疗类型" @change="changevalue">
761
         <el-option
779
         <el-option
762
             v-for="(item,index) in register"
780
             v-for="(item,index) in register"
855
   Refund,
873
   Refund,
856
   refundNumber,
874
   refundNumber,
857
   register,
875
   register,
858
-  upload,
859
-
876
+  upload
860
 } from '@/api/his/his'
877
 } from '@/api/his/his'
861
 import RegisterDialog from './components/registerDialog'
878
 import RegisterDialog from './components/registerDialog'
862
 import treatPrint from './treatPrint'
879
 import treatPrint from './treatPrint'
890
   },
907
   },
891
   data() {
908
   data() {
892
     return {
909
     return {
893
-      monthChargePatientTableData:[],
894
-      invoiceVisible:false,
895
-      invoiceParams:null,
910
+      monthChargePatientTableData: [],
911
+      invoiceVisible: false,
912
+      invoiceParams: null,
896
       temp_med_type: '',
913
       temp_med_type: '',
897
       dialogVisible: false,
914
       dialogVisible: false,
898
       pwdFormVisible: false,
915
       pwdFormVisible: false,
957
         { value: '1402', label: '门诊特殊病(1402)' },
974
         { value: '1402', label: '门诊特殊病(1402)' },
958
         { value: '0', label: '自费' }
975
         { value: '0', label: '自费' }
959
 
976
 
960
-
961
       ],
977
       ],
962
       register_two: [
978
       register_two: [
963
         { value: '11', label: '普通门诊' },
979
         { value: '11', label: '普通门诊' },
986
 
1002
 
987
       other_start_time_two: moment(new Date()).subtract(30, 'days').format('YYYY-MM-DD'),
1003
       other_start_time_two: moment(new Date()).subtract(30, 'days').format('YYYY-MM-DD'),
988
       other_end_time_two: moment(new Date()).add('year', 0).format('YYYY-MM-DD'),
1004
       other_end_time_two: moment(new Date()).add('year', 0).format('YYYY-MM-DD'),
989
-      adminUserOptions:[],
1005
+      adminUserOptions: [],
990
       curMonthPrescriptions: null,
1006
       curMonthPrescriptions: null,
991
       newCurMonthPrescriptions: null,
1007
       newCurMonthPrescriptions: null,
992
       big_month_prescriptions: [],
1008
       big_month_prescriptions: [],
1310
         }
1326
         }
1311
       })
1327
       })
1312
 
1328
 
1313
-
1314
-
1315
     },
1329
     },
1316
     changeEndTime(val) {
1330
     changeEndTime(val) {
1317
       const params = {
1331
       const params = {
2673
       if (tab == 'more') {
2687
       if (tab == 'more') {
2674
         return false
2688
         return false
2675
       }
2689
       }
2690
+    }, openZb(index) {
2691
+      switch (index) {
2692
+        case 1:
2693
+          if(this.patientInfo.id == 0){
2694
+            this.$message.error("请需要选择挂号的患者")
2695
+            return
2696
+          }
2697
+          if(this.big_prescriptions.length == 0){
2698
+            this.$message.error("处方不能为空")
2699
+            return
2700
+          }
2701
+          if(this.form.diagnosis.length == 0){
2702
+            this.$message.error("诊断不能为空")
2703
+            return
2704
+          }
2705
+          var that = this
2706
+          let obj = {
2707
+            patient_id: this.patientInfo.id,
2708
+            diagnosis_time: this.form.diagnosis_time,
2709
+            record_date: this.record_date,
2710
+            admin_user_id: this.$store.getters.xt_user.user.id,
2711
+            org_id: this.$store.getters.xt_user.org_id
2712
+
2713
+          }
2714
+          axios.get(process.env.BASE_API +'/coordinate/register', {
2715
+            params: obj
2716
+          })
2717
+              .then(function(response) {
2718
+                if (response.data.state == 0) {
2719
+                  that.$message.error(response.data.msg)
2720
+                  that.loadingtwo = false
2721
+                  return false
2722
+                } else {
2723
+                  if (response.data.data.failed_code == -10) {
2724
+                    that.$confirm(response.data.data.msg, '医保错误信息', {
2725
+                      confirmButtonText: '确 定',
2726
+                      type: 'warning'
2727
+                    }).then(() => {
2728
+
2729
+                    }).catch(() => {
2730
+                    })
2731
+
2732
+                  } else {
2733
+                    that.radio = 1
2734
+                    that.changeRadioAndPatient(1)
2735
+                    that.$message({ message: '挂号成功', type: 'success', duration: 5000 })
2736
+                  }
2737
+
2738
+                }
2739
+              })
2740
+              .catch(function(error) {
2741
+
2742
+              })
2743
+
2744
+          break
2745
+        case 2:
2746
+          var that = this
2747
+          var obj2 = {
2748
+            id: this.patientInfo.id,
2749
+            record_time: this.record_date,
2750
+            his_patient_id: this.hisPatientInfo.id,
2751
+            org_id: this.$store.getters.xt_user.org_id,
2752
+            p_type:14,
2753
+
2754
+          }
2755
+          obj2['diagnosis'] = this.form.diagnosis.join(',')
2756
+          obj2['sick_type'] = this.form.sick_type
2757
+          if (this.activeName == 'first') {
2758
+            obj2['settle_accounts_type'] = 1
2759
+          } else if (this.activeName == 'second') {
2760
+            obj2['start_time'] = this.other_start_time
2761
+            obj2['end_time'] = this.other_end_time
2762
+            obj2['settle_accounts_type'] = 2
2763
+          }
2764
+          axios.get(process.env.BASE_API  + '/coordinate/opKeepAccounts', {
2765
+            params: obj2
2766
+          })
2767
+              .then(function(response) {
2768
+                if (response.data.state == 0) {
2769
+                  that.$message.error(response.data.msg)
2770
+                  that.loadingtwo = false
2771
+                  return false
2772
+                } else {
2773
+                  if (response.data.data.failed_code == -10) {
2774
+                    that.$confirm(response.data.data.msg, '医保错误信息', {
2775
+                      confirmButtonText: '确 定',
2776
+                      type: 'warning'
2777
+                    }).then(() => {
2778
+
2779
+                    }).catch(() => {
2780
+                    })
2781
+
2782
+                  } else {
2783
+                    that.radio = 1
2784
+                    that.changeRadioAndPatient(1)
2785
+                    that.$message({ message: '记账成功', type: 'success', duration: 5000 })
2786
+                  }
2787
+
2788
+                }
2789
+              })
2790
+              .catch(function(error) {
2791
+
2792
+              })
2793
+
2794
+          break
2795
+        case 3:
2796
+          var that = this
2797
+          let obj3 = {
2798
+            order_id:this.order.id,
2799
+            admin_user_id: this.$store.getters.xt_user.user.id,
2800
+            org_id: this.$store.getters.xt_user.org_id
2801
+          }
2802
+          axios.get(process.env.BASE_API + '/coordinate/opCancelKeepAccounts', {
2803
+            params: obj3
2804
+          })
2805
+              .then(function(response) {
2806
+                if (response.data.state == 0) {
2807
+                  that.$message.error(response.data.msg)
2808
+                  that.loadingtwo = false
2809
+                  return false
2810
+                } else {
2811
+                  if (response.data.data.failed_code == -10) {
2812
+                    that.$confirm(response.data.data.msg, '医保错误信息', {
2813
+                      confirmButtonText: '确 定',
2814
+                      type: 'warning'
2815
+                    }).then(() => {
2816
+
2817
+                    }).catch(() => {
2818
+                    })
2819
+
2820
+                  } else {
2821
+                    that.radio = 1
2822
+                    that.changeRadioAndPatient(1)
2823
+                    that.$message({ message: '撤销记账成功', type: 'success', duration: 5000 })
2824
+                  }
2825
+
2826
+                }
2827
+              })
2828
+              .catch(function(error) {
2829
+
2830
+              })
2831
+
2832
+          break
2833
+
2834
+      }
2676
     },
2835
     },
2677
     open(index, med_type, order, prescriptions) {
2836
     open(index, med_type, order, prescriptions) {
2678
       this.other_prescriptions = prescriptions
2837
       this.other_prescriptions = prescriptions
2937
         // this.$refs.print.getInfo(this.order.id)
3096
         // this.$refs.print.getInfo(this.order.id)
2938
       } else if (index == 10) {
3097
       } else if (index == 10) {
2939
 
3098
 
2940
-
2941
         if (this.hisPatientInfo.balance_accounts_type == 2) {
3099
         if (this.hisPatientInfo.balance_accounts_type == 2) {
2942
           this.$confirm('是否退号', '退号', {
3100
           this.$confirm('是否退号', '退号', {
2943
             confirmButtonText: '确 定',
3101
             confirmButtonText: '确 定',
2960
           }).catch(() => {
3118
           }).catch(() => {
2961
           })
3119
           })
2962
         } else {
3120
         } else {
2963
-          if(this.order.id > 0){
2964
-            this.$message.error("该就诊号尚未撤销明细或者退费无法进行退号操作")
3121
+          if (this.$store.getters.xt_user.org_id == 10215 && this.order.id > 0) {
3122
+            this.$message.error('该就诊号尚未撤销明细或者退费无法进行退号操作')
2965
             return
3123
             return
2966
           }
3124
           }
2967
           var that = this
3125
           var that = this
3058
             .catch(function(error) {
3216
             .catch(function(error) {
3059
             })
3217
             })
3060
 
3218
 
3061
-      } else if(index == 30){
3219
+      } else if (index == 30) {
3062
 
3220
 
3063
         let paramsObj = {
3221
         let paramsObj = {
3064
           order_id: this.order.id,
3222
           order_id: this.order.id,
3572
         num = num.substring(0)
3730
         num = num.substring(0)
3573
       }
3731
       }
3574
       return parseFloat(num).toFixed(decimal)
3732
       return parseFloat(num).toFixed(decimal)
3575
-    },getMonthChargePatientList(){
3733
+    }, getMonthChargePatientList() {
3576
       let params = {
3734
       let params = {
3577
         'record_date': this.record_date,
3735
         'record_date': this.record_date,
3578
-        'start_time':this.other_start_time,
3579
-        'end_time':this.other_end_time,
3736
+        'start_time': this.other_start_time,
3737
+        'end_time': this.other_end_time
3580
       }
3738
       }
3581
       getChargeHisPatientList(params).then(response => {
3739
       getChargeHisPatientList(params).then(response => {
3582
         if (response.data.state == 0) {
3740
         if (response.data.state == 0) {
3593
     getPatientList() {
3751
     getPatientList() {
3594
       let params = {
3752
       let params = {
3595
         'record_date': this.record_date,
3753
         'record_date': this.record_date,
3596
-        'type': this.radio,
3754
+        'type': this.radio
3597
       }
3755
       }
3598
       getChargeHisPatientList(params).then(response => {
3756
       getChargeHisPatientList(params).then(response => {
3599
         if (response.data.state == 0) {
3757
         if (response.data.state == 0) {
4198
             } else {
4356
             } else {
4199
               this.form.p_type = 14
4357
               this.form.p_type = 14
4200
               this.form.sick_type = this.sick[0].id
4358
               this.form.sick_type = this.sick[0].id
4201
-              if (response.data.data.last_info.diagnoses.length == 0) {
4359
+              if (response.data.data.last_info.id == 0) {
4202
                 this.form.diagnosis = []
4360
                 this.form.diagnosis = []
4203
               } else {
4361
               } else {
4204
                 for (let i = 0; i < response.data.data.last_info.diagnosis.split(',').length; i++) {
4362
                 for (let i = 0; i < response.data.data.last_info.diagnosis.split(',').length; i++) {

+ 221 - 13
src/xt_pages/outpatientCharges/settlementTemplate/printOne.vue View File

24
         </div>
24
         </div>
25
         <div class="row">
25
         <div class="row">
26
             <div>医保编号<div style="width:120px;" class="under_line">{{ info.psn_no }}</div></div>
26
             <div>医保编号<div style="width:120px;" class="under_line">{{ info.psn_no }}</div></div>
27
-            <div>病案号<div style="width:120px;" class="under_line">{{ info.certno ? info.certno.substring(info.certno.length-6) : '' }}</div></div>
27
+            <div>病案号<div style="width:120px;" class="under_line">{{ info.psn_no ? info.psn_no : '' }}</div></div>
28
             <div>申报时间
28
             <div>申报时间
29
                 <div style="width:40px;" class="under_line">{{ info.setl_time ? info.setl_time.split(' ')[0].slice(0,4) : '' }}</div>年
29
                 <div style="width:40px;" class="under_line">{{ info.setl_time ? info.setl_time.split(' ')[0].slice(0,4) : '' }}</div>年
30
                 <div style="width:40px;" class="under_line">{{ info.setl_time ? info.setl_time.split(' ')[0].slice(5,7) : '' }}</div>月
30
                 <div style="width:40px;" class="under_line">{{ info.setl_time ? info.setl_time.split(' ')[0].slice(5,7) : '' }}</div>月
63
                             </div>
63
                             </div>
64
                             <div class="row">
64
                             <div class="row">
65
                                 <div class="inline_block">(年龄不足1周岁)年龄
65
                                 <div class="inline_block">(年龄不足1周岁)年龄
66
-                                    <div style="width:80px;" class="under_line"></div>天
66
+                                    <div style="width:80px;" class="under_line">{{info.age}}</div>天
67
                                 </div>
67
                                 </div>
68
                                 <div class="inline_block">民族
68
                                 <div class="inline_block">民族
69
-                                    <div style="width:80px;" class="under_line"></div>
69
+                                    <div style="width:80px;" class="under_line">{{getNaty(info.naty)}}</div>
70
                                 </div>
70
                                 </div>
71
                                 <div class="inline_block">患者证件类别
71
                                 <div class="inline_block">患者证件类别
72
                                     <div style="width:80px;" class="under_line">身份证</div>
72
                                     <div style="width:80px;" class="under_line">身份证</div>
115
                                     <div style="width:140px;" class="under_line"></div>
115
                                     <div style="width:140px;" class="under_line"></div>
116
                                 </div>
116
                                 </div>
117
                                 <div class="inline_block">电话
117
                                 <div class="inline_block">电话
118
-                                    <div style="width:80px;" class="under_line"></div>
118
+                                    <div style="width:80px;" class="under_line">{{info.patinet.phone}}</div>
119
                                 </div>
119
                                 </div>
120
                             </div>
120
                             </div>
121
                             <div class="row">
121
                             <div class="row">
122
-                                <div style="width:33%;">医保类型<div style="width:120px;" class="under_line"></div></div>
123
-                                <div style="width:33%;">特殊人员类型<div style="width:120px;" class="under_line"></div></div>
124
-                                <div style="width:33%;">参保地<div style="width:120px;" class="under_line"></div></div>
122
+                              <div v-if="info.insutype == '310'" style="width:33%;">医保类型<div style="width:120px;" class="under_line">职工基本医疗保险</div></div>
123
+                              <div v-if="info.insutype == '390'"  style="width:33%;">医保类型<div style="width:120px;" class="under_line">城乡居民基本医疗保险</div></div>
124
+                              <div  style="width:33%;">特殊人员类型<div style="width:120px;" class="under_line"></div></div>
125
+                              <div style="width:33%;">参保地<div style="width:120px;" class="under_line"></div></div>
125
                             </div>
126
                             </div>
126
                             <div class="row">
127
                             <div class="row">
127
                                 <div style="width:33%;">新生儿入院类型<div style="width:120px;" class="under_line"></div></div>
128
                                 <div style="width:33%;">新生儿入院类型<div style="width:120px;" class="under_line"></div></div>
391
                                     入院前<div style="width:40px;" class="under_line"></div>
392
                                     入院前<div style="width:40px;" class="under_line"></div>
392
 
393
 
393
                                     天<div style="width:40px;" class="under_line"></div>
394
                                     天<div style="width:40px;" class="under_line"></div>
394
-                                    
395
+
395
                                     小时<div style="width:40px;" class="under_line"></div>分钟
396
                                     小时<div style="width:40px;" class="under_line"></div>分钟
396
                                 </div>
397
                                 </div>
397
                             </div>
398
                             </div>
400
                                     入院前<div style="width:40px;" class="under_line"></div>
401
                                     入院前<div style="width:40px;" class="under_line"></div>
401
 
402
 
402
                                     天<div style="width:40px;" class="under_line"></div>
403
                                     天<div style="width:40px;" class="under_line"></div>
403
-                                    
404
+
404
                                     小时<div style="width:40px;" class="under_line"></div>分钟
405
                                     小时<div style="width:40px;" class="under_line"></div>分钟
405
                                 </div>
406
                                 </div>
406
                             </div>
407
                             </div>
470
                                 <div style="width:80px;" class="under_line"></div>
471
                                 <div style="width:80px;" class="under_line"></div>
471
                             </div>
472
                             </div>
472
                             <div>
473
                             <div>
473
-                                <label-box :isChecked="false" showValue="3.转社区,转卫生院机构,拟接收机构名称"></label-box> 
474
+                                <label-box :isChecked="false" showValue="3.转社区,转卫生院机构,拟接收机构名称"></label-box>
474
                                 <div style="width:80px;" class="under_line"></div>
475
                                 <div style="width:80px;" class="under_line"></div>
475
                                 拟接收机构代码
476
                                 拟接收机构代码
476
                                 <div style="width:80px;" class="under_line"></div>
477
                                 <div style="width:80px;" class="under_line"></div>
729
                                                 <td>......</td>
730
                                                 <td>......</td>
730
                                                 <td>&nbsp;</td>
731
                                                 <td>&nbsp;</td>
731
                                             </tr>
732
                                             </tr>
732
-                                            
733
+
733
                                         </tbody>
734
                                         </tbody>
734
                                     </table>
735
                                     </table>
735
                                 </div>
736
                                 </div>
753
                                                 <td style="width:36%">个人现金支付</td>
754
                                                 <td style="width:36%">个人现金支付</td>
754
                                                 <td>&nbsp;</td>
755
                                                 <td>&nbsp;</td>
755
                                             </tr>
756
                                             </tr>
756
-                                            
757
+
757
                                         </tbody>
758
                                         </tbody>
758
                                     </table>
759
                                     </table>
759
                                 </div>
760
                                 </div>
830
         }
831
         }
831
     },
832
     },
832
     methods:{
833
     methods:{
834
+      getNaty(naty){
835
+        switch (naty){
836
+          case "1":
837
+            return "汉族"
838
+            break
839
+          case "2":
840
+            return "蒙古族"
841
+
842
+            break
843
+          case "3":
844
+            return "回族"
845
+
846
+
847
+            break
848
+          case "4":
849
+            return "藏族"
850
+
851
+
852
+            break
853
+          case "5":
854
+            return "维吾尔族"
855
+
856
+            break
857
+          case "6":
858
+            return "苗族"
859
+
860
+            break
861
+          case "7":
862
+            return "彝族"
863
+
864
+            break
865
+          case "8":
866
+            return "壮族"
867
+
868
+            break
869
+          case "9":
870
+            return "布依族"
871
+
872
+            break
873
+          case "10":
874
+            return "朝鲜族"
875
+
876
+            break
877
+          case "11":
878
+            return "满族"
879
+
880
+            break
881
+          case "12":
882
+            return "侗族"
883
+
884
+            break
885
+          case "13":
886
+            return "瑶族"
887
+
888
+            break
889
+          case "14":
890
+            return "白族"
891
+
892
+            break
893
+          case "15":
894
+            return "土家族"
895
+
896
+            break
897
+          case "16":
898
+            return "哈尼族"
899
+            break
900
+          case "17":
901
+            return "哈萨克族"
902
+            break
903
+          case "18":
904
+            return "傣族"
905
+            break
906
+          case "19":
907
+            return "黎族"
908
+            break
909
+          case "20":
910
+            return "傈僳族"
911
+
912
+            break
913
+          case "21":
914
+            return "佤族"
915
+
916
+            break
917
+          case "22":
918
+            return "畲族"
919
+            break
920
+          case "23":
921
+            return "高山族"
922
+
923
+            break
924
+          case "24":
925
+            return "拉祜族"
926
+
927
+            break
928
+          case "25":
929
+            return "水族"
930
+            break
931
+          case "26":
932
+            return "东乡族"
933
+            break
934
+          case "27":
935
+            return "纳西族"
936
+            break
937
+          case "28":
938
+            return "景颇族"
939
+            break
940
+          case "29":
941
+            return "柯尔克孜族"
942
+            break
943
+          case "30":
944
+            return "土族"
945
+            break
946
+          case "31":
947
+            return "达斡尔族"
948
+            break
949
+          case "32":
950
+            return "仫佬族"
951
+            break
952
+          case "33":
953
+            return "羌族"
954
+            break
955
+          case "34":
956
+            return "布朗族"
957
+            break
958
+          case "35":
959
+            return "撒拉族"
960
+            break
961
+          case "36":
962
+            return "毛南族"
963
+            break
964
+          case "37":
965
+            return "仡佬族"
966
+            break
967
+          case "38":
968
+            return "锡伯族"
969
+            break
970
+          case "39":
971
+            return "阿昌族"
972
+            break
973
+          case "40":
974
+            return "普米族"
975
+            break
976
+          case "41":
977
+            return "塔吉克族"
978
+            break
979
+          case "42":
980
+            return "怒族"
981
+            break
982
+          case "43":
983
+            return "乌孜别克族"
984
+            break
985
+          case "44":
986
+            return "俄罗斯族"
987
+            break
988
+          case "45":
989
+            return "鄂温克族"
990
+
991
+            break
992
+          case "46":
993
+            return "德昂族"
994
+            break
995
+          case "47":
996
+            return "保安族"
997
+            break
998
+          case "48":
999
+            return "裕固族"
1000
+            break
1001
+          case "49":
1002
+            return "京族"
1003
+
1004
+            break
1005
+          case "50":
1006
+            return "塔塔尔族"
1007
+
1008
+            break
1009
+          case "51":
1010
+            return "独龙族"
1011
+
1012
+            break
1013
+          case "52":
1014
+            return "鄂伦春族"
1015
+
1016
+            break
1017
+          case "53":
1018
+            return "赫哲族"
1019
+
1020
+            break
1021
+          case "54":
1022
+            return "门巴族"
1023
+
1024
+            break
1025
+          case "55":
1026
+            return "珞巴族"
1027
+
1028
+            break
1029
+          case "56":
1030
+            return "基诺族"
1031
+            break
1032
+
1033
+
1034
+
1035
+
1036
+
1037
+
1038
+        }
1039
+
1040
+      },
833
       getNewAge(UUserCard) {
1041
       getNewAge(UUserCard) {
834
         if (UUserCard != null && UUserCard != '') {
1042
         if (UUserCard != null && UUserCard != '') {
835
             // 获取年龄
1043
             // 获取年龄
916
   padding: 6px 5px;
1124
   padding: 6px 5px;
917
   line-height: 16px;
1125
   line-height: 16px;
918
 }
1126
 }
919
-</style>
1127
+</style>

+ 5 - 3
src/xt_pages/outpatientCharges/statementPrint.vue View File

29
           :paramsObj="paramsObj"
29
           :paramsObj="paramsObj"
30
           :balanceAccounts="balanceAccounts"
30
           :balanceAccounts="balanceAccounts"
31
           v-if="
31
           v-if="
32
-            org_id == 10138 || org_id == 0 || org_id == 4 || org_id == 10278
32
+            org_id == 10138 || org_id == 4 || org_id == 10278
33
           "
33
           "
34
         ></printThree>
34
         ></printThree>
35
         <printFour
35
         <printFour
38
           :paramsObj="paramsObj"
38
           :paramsObj="paramsObj"
39
           :balanceAccounts="balanceAccounts"
39
           :balanceAccounts="balanceAccounts"
40
         ></printFour>
40
         ></printFour>
41
+<!--        <privateChargePrint  :info="info" v-if="org_id == 10215 && this.paramsObj.balance_accounts_type == 2"></privateChargePrint>-->
42
+
41
       </div>
43
       </div>
42
 <!--      <print-other :info="info" v-if="org_id == 9919"></print-other>-->
44
 <!--      <print-other :info="info" v-if="org_id == 9919"></print-other>-->
43
 <!--      <printOne :info=" info" v-if="org_id == 10215 && this.paramsObj.balance_accounts_type == 2"></printOne>-->
45
 <!--      <printOne :info=" info" v-if="org_id == 10215 && this.paramsObj.balance_accounts_type == 2"></printOne>-->
44
-      <privateChargePrint  :info="info" v-if="(org_id == 0 || org_id == 10215) && this.paramsObj.balance_accounts_type == 2"></privateChargePrint>
45
       <printOne :info="info" v-else></printOne>
46
       <printOne :info="info" v-else></printOne>
46
       <!-- 测试医保环境下表格样式放开以下这条 -->
47
       <!-- 测试医保环境下表格样式放开以下这条 -->
47
       <!-- <testVue :info="info" v-else></testVue> -->
48
       <!-- <testVue :info="info" v-else></testVue> -->
490
               console.log(111, this.balanceAccounts);
491
               console.log(111, this.balanceAccounts);
491
             }
492
             }
492
           });
493
           });
493
-        }else if (this.org_id == 10215 || this.org_id == 0) {
494
+        }else
495
+          if (this.org_id == 10215 || this.org_id == 0) {
494
 
496
 
495
           getPrivateExpensesOrder(params).then((response) => {
497
           getPrivateExpensesOrder(params).then((response) => {
496
             if (response.data.state == 0) {
498
             if (response.data.state == 0) {

+ 6 - 3
src/xt_pages/outpatientCharges/statementTemplate/printThree.vue View File

128
 
128
 
129
                             </div>
129
                             </div>
130
                             <div style="display:flex;flez-wrap:wrap;font-size:16px;">
130
                             <div style="display:flex;flez-wrap:wrap;font-size:16px;">
131
-                                <div style="width:33%;">个人支付金额:{{ info.psn_pay?info.psn_pay:0 }}元</div>
131
+                              <div style="width:33%;">医疗救助基金金额:{{info.maf_pay?info.maf_pay:0}}元</div>
132
+
133
+                              <div style="width:33%;">个人支付金额:{{ info.psn_pay?info.psn_pay:0 }}元</div>
132
                                 <div style="width:33%;">个人账户金额:{{info.balc >= 0 ? info.balc : 0 }}元</div>
134
                                 <div style="width:33%;">个人账户金额:{{info.balc >= 0 ? info.balc : 0 }}元</div>
133
                             </div>
135
                             </div>
134
                         </td>
136
                         </td>
149
         <div v-else id='prescription-print' class="prescription-print" style="position: relative;">
151
         <div v-else id='prescription-print' class="prescription-print" style="position: relative;">
150
             <img style="width:100%;height:80px" v-if="$store.getters.xt_user.org_id == 10138" src="https://kuyi.shengws.com/bailin/bltotle.jpg" alt="">
152
             <img style="width:100%;height:80px" v-if="$store.getters.xt_user.org_id == 10138" src="https://kuyi.shengws.com/bailin/bltotle.jpg" alt="">
151
             <img style="width:100%;height:80px" v-if="$store.getters.xt_user.org_id == 10278" src="https://kuyi.shengws.com/beierlog.png" alt="">
153
             <img style="width:100%;height:80px" v-if="$store.getters.xt_user.org_id == 10278" src="https://kuyi.shengws.com/beierlog.png" alt="">
152
-           
154
+
153
             <div class="printTitle" style="position: absolute;left: 40%;top: 50px;">门诊收费清单</div>
155
             <div class="printTitle" style="position: absolute;left: 40%;top: 50px;">门诊收费清单</div>
154
             <div style="display:flex;">
156
             <div style="display:flex;">
155
                 <div>单据号:<span style="display:inline-block;width:200px;">{{balanceAccounts.his.number ? balanceAccounts.his.number : ''}}</span>
157
                 <div>单据号:<span style="display:inline-block;width:200px;">{{balanceAccounts.his.number ? balanceAccounts.his.number : ''}}</span>
269
 
271
 
270
                             </div>
272
                             </div>
271
                             <div style="display:flex;flez-wrap:wrap;">
273
                             <div style="display:flex;flez-wrap:wrap;">
272
-                                <div style="width:33%;">
274
+                              <div style="width:33%;">医疗救助基金金额:0元</div>
275
+                              <div style="width:33%;">
273
                                     个人支付金额:{{balanceAccounts.order.medfee_sumamt?balanceAccounts.order.medfee_sumamt:0}}元
276
                                     个人支付金额:{{balanceAccounts.order.medfee_sumamt?balanceAccounts.order.medfee_sumamt:0}}元
274
                                 </div>
277
                                 </div>
275
                                 <div style="width:33%;">个人账户金额:0元</div>
278
                                 <div style="width:33%;">个人账户金额:0元</div>

+ 14 - 14
src/xt_pages/outpatientCharges/statementTemplate/privateChargePrint.vue View File

16
       </tr>
16
       </tr>
17
       <tr>
17
       <tr>
18
         <td width="90">就医登记号</td>
18
         <td width="90">就医登记号</td>
19
-        <td colspan="11"></td>
19
+        <td colspan="11">{{info.his.number}}</td>
20
       </tr>
20
       </tr>
21
       <tr>
21
       <tr>
22
         <td width="80">姓名</td>
22
         <td width="80">姓名</td>
23
-        <td width="80">{{info.patient.name}}</td>
23
+        <td width="80">{{info.his.name}}</td>
24
         <td width="80">性别</td>
24
         <td width="80">性别</td>
25
         <td width="50" v-if="info.patient.gender == 1">男</td>
25
         <td width="50" v-if="info.patient.gender == 1">男</td>
26
         <td width="50" v-if="info.patient.gender == 2">女</td>
26
         <td width="50" v-if="info.patient.gender == 2">女</td>
48
         <td>床号</td>
48
         <td>床号</td>
49
         <td></td>
49
         <td></td>
50
         <td>入院日期</td>
50
         <td>入院日期</td>
51
-        <td>{{info.setl_time ? info.setl_time.split(' ')[0] : ''}}</td>
51
+        <td>{{info.his.in_hosptial_time ? info.his.in_hosptial_time.split(' ')[0] : ''}}</td>
52
         <td>出院日期</td>
52
         <td>出院日期</td>
53
-        <td width="100">{{info.setl_time ? info.setl_time.split(' ')[0] : ''}}</td>
53
+        <td width="100">{{info.his.out_hosptial_time ? info.his.out_hosptial_time.split(' ')[0] : ''}}</td>
54
         <td>住院天数</td>
54
         <td>住院天数</td>
55
-        <td>{{getDay(info.setl_time.split(' ')[0],info.setl_time.split(' ')[0])}}</td>
55
+        <td>{{getDay(info.his.in_hosptial_time.split(' ')[0] ,info.his.out_hosptial_time.split(' ')[0])}}</td>
56
 
56
 
57
       </tr>
57
       </tr>
58
       <tr>
58
       <tr>
291
         return 1;
291
         return 1;
292
       }
292
       }
293
       var days=(endDate - startDate)/(1*24*60*60*1000);
293
       var days=(endDate - startDate)/(1*24*60*60*1000);
294
-      return  days;
294
+      return  days + 1;
295
 
295
 
296
     },
296
     },
297
     getNowTime: function () {
297
     getNowTime: function () {
299
       let yy = new Date().getFullYear();
299
       let yy = new Date().getFullYear();
300
       let mm = new Date().getMonth() + 1;
300
       let mm = new Date().getMonth() + 1;
301
       let dd = new Date().getDate();
301
       let dd = new Date().getDate();
302
-      let hh = new Date().getHours();
303
-      let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes()
304
-          :
305
-          new Date().getMinutes();
306
-      let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds()
307
-          :
308
-          new Date().getSeconds();
309
-      dateTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss;
302
+      // let hh = new Date().getHours();
303
+      // let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes()
304
+      //     :
305
+      //     new Date().getMinutes();
306
+      // let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds()
307
+      //     :
308
+      //     new Date().getSeconds();
309
+      dateTime = yy + '-' + mm + '-' + dd
310
       return dateTime
310
       return dateTime
311
     },
311
     },
312
 
312
 

+ 243 - 212
src/xt_pages/outpatientDoctorStation/batch_print_checkTemplate/printOne.vue View File

1
 <template>
1
 <template>
2
   <div id="prescriptionPrint" class="prescription-print">
2
   <div id="prescriptionPrint" class="prescription-print">
3
     <div
3
     <div
4
-      v-for="(i, index) in printData"
5
-      :key="index"
6
-      style="
4
+        v-for="(i, index) in printData"
5
+        :key="index"
6
+        style="
7
         box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27),
7
         box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27),
8
           0 0 40px rgba(0, 0, 0, 0.06) inset;
8
           0 0 40px rgba(0, 0, 0, 0.06) inset;
9
       "
9
       "
11
       <!--            <img style="width:100%;height:80px" v-if="org_id == 10138" src="https://kuyi.shengws.com/bailin/bltotle.jpg" alt="">-->
11
       <!--            <img style="width:100%;height:80px" v-if="org_id == 10138" src="https://kuyi.shengws.com/bailin/bltotle.jpg" alt="">-->
12
       <!--/*             <img style="width:100%;height:80px" v-if="org_id == 10278" src="https://kuyi.shengws.com/bailinbeier.png" alt="">*/-->
12
       <!--/*             <img style="width:100%;height:80px" v-if="org_id == 10278" src="https://kuyi.shengws.com/bailinbeier.png" alt="">*/-->
13
       <div
13
       <div
14
-        id="prescription-print"
15
-        class="prescription-print"
16
-        style="page-break-after: always"
17
-        v-for="(item, index) in i.prescriptions"
18
-        :key="index"
14
+          id="prescription-print"
15
+          class="prescription-print"
16
+          style="page-break-after: always"
17
+          v-for="(item, index) in i.new_prescriptions"
18
+          v-if="item.project.length > 0 && getTeam(i.new_prescriptions).length > 0"
19
+          :key="index"
19
       >
20
       >
20
         <div class="printTitle">检验申请单</div>
21
         <div class="printTitle">检验申请单</div>
21
 
22
 
22
         <div style="border: 1px solid #000">
23
         <div style="border: 1px solid #000">
23
           <div
24
           <div
24
-            style="
25
+              style="
25
               display: flex;
26
               display: flex;
26
               justify-content: space-between;
27
               justify-content: space-between;
27
               border-bottom: 1px solid #000;
28
               border-bottom: 1px solid #000;
33
             <div>
34
             <div>
34
               结算方式:{{
35
               结算方式:{{
35
                 i.his_patient.id != 0
36
                 i.his_patient.id != 0
36
-                  ? i.his_patient.balance_accounts_type == 1
37
-                    ? "医保"
38
-                    : "自费"
39
-                  : ""
37
+                    ? i.his_patient.balance_accounts_type == 1
38
+                        ? '医保'
39
+                        : '自费'
40
+                    : ''
40
               }}
41
               }}
41
             </div>
42
             </div>
42
             <div
43
             <div
43
-              v-for="item in getSingleTeam(i.prescriptions)"
44
-              :key="item"
45
-              style="margin-bottom: 10px"
44
+                v-for="item in getSingleTeam(i.new_prescriptions)"
45
+                :key="item"
46
+                style="margin-bottom: 10px"
46
             >
47
             >
47
               金额:{{ item }}
48
               金额:{{ item }}
48
             </div>
49
             </div>
49
           </div>
50
           </div>
50
           <div
51
           <div
51
-            style="
52
+              style="
52
               display: flex;
53
               display: flex;
53
               justify-content: space-between;
54
               justify-content: space-between;
54
               border-bottom: 1px solid #000;
55
               border-bottom: 1px solid #000;
70
                 <span v-if="i.gender == 2">女</span>
71
                 <span v-if="i.gender == 2">女</span>
71
               </span>
72
               </span>
72
             </div>
73
             </div>
73
-            <div>年龄:{{ i.age ? i.age : "" }}岁</div>
74
+            <div>年龄:{{ i.age ? i.age : '' }}岁</div>
74
           </div>
75
           </div>
75
           <!-- <div style="margin-bottom:20px;padding:10px 10px 0;">病史摘要:{{history.history_of_present_illness?history.history_of_present_illness:''}}</div> -->
76
           <!-- <div style="margin-bottom:20px;padding:10px 10px 0;">病史摘要:{{history.history_of_present_illness?history.history_of_present_illness:''}}</div> -->
76
           <!-- <div style="margin-bottom:20px;padding:0 10px;">体格检查:
77
           <!-- <div style="margin-bottom:20px;padding:0 10px;">体格检查:
86
             <div>检验项目:</div>
87
             <div>检验项目:</div>
87
             <div>
88
             <div>
88
               <div
89
               <div
89
-                v-for="item in getTeam(i.prescriptions)"
90
-                :key="item.id"
91
-                style="margin-bottom: 10px"
90
+                  v-for="item in getTeam(i.new_prescriptions)"
91
+                  :key="item.id"
92
+                  style="margin-bottom: 10px"
92
               >
93
               >
93
                 {{ item.team.project_team }}
94
                 {{ item.team.project_team }}
94
               </div>
95
               </div>
95
             </div>
96
             </div>
96
           </div>
97
           </div>
97
           <div
98
           <div
98
-            style="
99
+              style="
99
               display: flex;
100
               display: flex;
100
               justify-content: space-between;
101
               justify-content: space-between;
101
               border-top: 1px solid #000;
102
               border-top: 1px solid #000;
103
               padding: 0 10px;
104
               padding: 0 10px;
104
             "
105
             "
105
           >
106
           >
106
-            <div>开单医生:{{ i.info.doctor ? i.info.doctor : "" }}</div>
107
+            <div>开单医生:{{ i.info.doctor ? i.info.doctor : '' }}</div>
107
             <div>
108
             <div>
108
               开单日期:
109
               开单日期:
109
               {{
110
               {{
110
-                getTime(i.info.ctime) ? getTime(i.info.ctime).split(" ")[0] : ""
111
+                getTime(i.info.ctime) ? getTime(i.info.ctime).split(' ')[0] : ''
111
               }}
112
               }}
112
             </div>
113
             </div>
113
-            <div>医生签字:{{ i.info.doctor ? i.info.doctor : "" }}</div>
114
+            <div>医生签字:{{ i.info.doctor ? i.info.doctor : '' }}</div>
114
           </div>
115
           </div>
115
         </div>
116
         </div>
116
         <!--            <img style="width:100%;" v-if="org_id == 10138" src="https://kuyi.shengws.com/bailin/blend.jpg" alt="">-->
117
         <!--            <img style="width:100%;" v-if="org_id == 10138" src="https://kuyi.shengws.com/bailin/blend.jpg" alt="">-->
120
   </div>
121
   </div>
121
 </template>
122
 </template>
122
 <script>
123
 <script>
123
-import { jsGetAge, uParseTime } from "@/utils/tools";
124
-import { getAllDoctorList } from "@/api/project/project";
125
-import { getInitData } from "@/api/his/his";
124
+import { uParseTime } from '@/utils/tools'
125
+import { getAllDoctorList } from '@/api/project/project'
126
+import { getInitData } from '@/api/his/his'
127
+
126
 export default {
128
 export default {
127
   props: {
129
   props: {
128
-    printData: Array,
130
+    printData: Array
129
   },
131
   },
130
   data() {
132
   data() {
131
     return {
133
     return {
138
       department: [],
140
       department: [],
139
       prescriptions: [],
141
       prescriptions: [],
140
       projectList: [],
142
       projectList: [],
141
-      orgname: "",
143
+      orgname: '',
142
       diagnoses: [],
144
       diagnoses: [],
143
       pageArr: [],
145
       pageArr: [],
144
       faber: {},
146
       faber: {},
145
       total: 0,
147
       total: 0,
146
       projectPrint: [],
148
       projectPrint: [],
147
-      time: "",
148
-      doctor: "",
149
-      org_id: "",
149
+      time: '',
150
+      doctor: '',
151
+      org_id: '',
150
       singleProjectPrint: [],
152
       singleProjectPrint: [],
151
-      total_copy: [],
152
-    };
153
+      total_copy: []
154
+    }
153
   },
155
   },
154
 
156
 
155
   methods: {
157
   methods: {
156
     getAllDoctorList() {
158
     getAllDoctorList() {
157
       getAllDoctorList().then((response) => {
159
       getAllDoctorList().then((response) => {
158
         if (response.data.state == 1) {
160
         if (response.data.state == 1) {
159
-          var doctor = response.data.data.doctor;
161
+          var doctor = response.data.data.doctor
160
 
162
 
161
-          this.doctorList = doctor;
163
+          this.doctorList = doctor
162
         }
164
         }
163
-      });
165
+      })
164
     },
166
     },
165
     getDoctor(id) {
167
     getDoctor(id) {
166
-      var name = "";
168
+      var name = ''
167
       for (let i = 0; i < this.doctorList.length; i++) {
169
       for (let i = 0; i < this.doctorList.length; i++) {
168
         if (id == this.doctorList[i].admin_user_id) {
170
         if (id == this.doctorList[i].admin_user_id) {
169
-          name = this.doctorList[i].user_name;
171
+          name = this.doctorList[i].user_name
170
         }
172
         }
171
       }
173
       }
172
-      return name;
174
+      return name
175
+    }, unique_two(array) {
176
+      var res = []
177
+      for (var i = 0, arrayLen = array.length; i < arrayLen; i++) {
178
+        for (var j = 0, resLen = res.length; j < resLen; j++) {
179
+          if (array[i].team_id === res[j].team_id) {
180
+            break
181
+          }
182
+        }
183
+        if (j === resLen) {
184
+          res.push(array[i])
185
+        }
186
+      }
187
+      return res
173
     },
188
     },
174
     getTime(value, temp) {
189
     getTime(value, temp) {
175
       if (value != undefined) {
190
       if (value != undefined) {
176
-        return uParseTime(value, temp);
191
+        return uParseTime(value, temp)
177
       }
192
       }
178
-      return "";
193
+      return ''
179
     },
194
     },
180
 
195
 
181
     getTeam(prescriptions, isUpdate = false) {
196
     getTeam(prescriptions, isUpdate = false) {
182
-      let projectPrint = [];
197
+      let projectPrint = []
183
       prescriptions.forEach((item) => {
198
       prescriptions.forEach((item) => {
184
         // !此为修改前的处理方法,因考虑到可能有逻辑错误的存在故注释,若后续需求以这个为准可放开此条!
199
         // !此为修改前的处理方法,因考虑到可能有逻辑错误的存在故注释,若后续需求以这个为准可放开此条!
200
+        if (item.project.length > 0) {
201
+          item.project.map((it) => {
202
+            if (it.type == 2) {
203
+              if (it.project.cost_classify == 3) {
204
+                projectPrint.push(it)
205
+              }
206
+            }
207
+          })
208
+        }
185
         // if (item.project.length > 0) {
209
         // if (item.project.length > 0) {
186
         //   item.project.map((it) => {
210
         //   item.project.map((it) => {
187
-        //     if (it.type == 2) {
188
-        //       if (it.project.cost_classify == 3) {
189
-        //         projectPrint.push(it);
190
-        //       }
191
-        //     }
211
+        //     projectPrint.push(it);
192
         //   });
212
         //   });
193
         // }
213
         // }
194
-
195
-        if (item.project.length > 0) {
196
-          item.project.map((it) => {
197
-            projectPrint.push(it);
198
-          });
199
-        }
200
-      });
201
-
202
-      let data = [];
214
+      })
215
+      let data = []
216
+      console.log(projectPrint)
217
+      projectPrint =  this.unique_two(projectPrint)
203
       projectPrint.map((item) => {
218
       projectPrint.map((item) => {
204
-        console.log(item, "999");
219
+        // console.log(item, "999");
205
         if (item.team.id == 0) {
220
         if (item.team.id == 0) {
206
-          data.push(item);
221
+          data.push(item)
207
         } else {
222
         } else {
208
-          let status = data.some((it) => it.team.id == item.team.id);
223
+          let status = data.some((it) => it.team.id == item.team.id)
209
           if (!status) {
224
           if (!status) {
210
-            data.push(item);
225
+            data.push(item)
211
           }
226
           }
212
         }
227
         }
213
-      });
228
+      })
214
       if (isUpdate) {
229
       if (isUpdate) {
215
-        this.projectPrint = data;
230
+        this.projectPrint = data
216
       }
231
       }
217
-      return data;
232
+      return data
218
     },
233
     },
219
 
234
 
220
     // 计算金额(单独从上面的方法割开来,防止进入死循环)
235
     // 计算金额(单独从上面的方法割开来,防止进入死循环)
221
     getSingleTeam(prescriptions) {
236
     getSingleTeam(prescriptions) {
222
-      let projectPrint = [];
223
-      let total = 0;
237
+      let projectPrint = []
238
+      let total = 0
224
       prescriptions.map((item) => {
239
       prescriptions.map((item) => {
225
         if (item.project.length > 0) {
240
         if (item.project.length > 0) {
226
           item.project.map((it) => {
241
           item.project.map((it) => {
227
             if (it.type == 2) {
242
             if (it.type == 2) {
228
               if (it.project.cost_classify == 3) {
243
               if (it.project.cost_classify == 3) {
229
-                projectPrint.push(it);
230
-                total += it.project.price * parseInt(it.count);
244
+                projectPrint.push(it)
245
+                total += it.project.price * parseInt(it.count)
231
               }
246
               }
232
             }
247
             }
233
-          });
248
+          })
234
         }
249
         }
235
-      });
236
-      let total_copy = [];
237
-      total_copy.push(total.toFixed(2));
238
-      return total_copy;
250
+      })
251
+      let total_copy = []
252
+      total_copy.push(total.toFixed(2))
253
+      console.log(total_copy)
254
+      return total_copy
239
     },
255
     },
240
 
256
 
241
     getInitData() {
257
     getInitData() {
242
       getInitData().then((response) => {
258
       getInitData().then((response) => {
243
         if (response.data.state == 1) {
259
         if (response.data.state == 1) {
244
-          this.department = response.data.data.department;
245
-          this.diagnoses = response.data.data.diagnose.sort(this.compare("id"));
260
+          this.department = response.data.data.department
261
+          this.diagnoses = response.data.data.diagnose.sort(this.compare('id'))
246
         }
262
         }
247
-      });
263
+      })
248
     },
264
     },
249
     getDepart(id) {
265
     getDepart(id) {
250
-      var name = "";
266
+      var name = ''
251
       for (let i = 0; i < this.department.length; i++) {
267
       for (let i = 0; i < this.department.length; i++) {
252
         if (id == this.department[i].id) {
268
         if (id == this.department[i].id) {
253
-          name = this.department[i].name;
269
+          name = this.department[i].name
254
         }
270
         }
255
       }
271
       }
256
-      return name;
272
+      return name
257
     },
273
     },
258
     getTotalOne(id) {
274
     getTotalOne(id) {
259
-      var total = 0;
260
-      var addtotal = 0;
275
+      var total = 0
276
+      var addtotal = 0
261
       for (let i = 0; i < this.prescriptions.length; i++) {
277
       for (let i = 0; i < this.prescriptions.length; i++) {
262
         if (id == this.prescriptions[i].id) {
278
         if (id == this.prescriptions[i].id) {
263
           if (this.prescriptions[i].project != null) {
279
           if (this.prescriptions[i].project != null) {
264
             for (let a = 0; a < this.prescriptions[i].project.length; a++) {
280
             for (let a = 0; a < this.prescriptions[i].project.length; a++) {
265
               total =
281
               total =
266
-                total +
267
-                this.prescriptions[i].project[a].price *
268
-                  this.prescriptions[i].project[a].count;
282
+                  total +
283
+                  this.prescriptions[i].project[a].price *
284
+                  this.prescriptions[i].project[a].count
269
             }
285
             }
270
           }
286
           }
271
 
287
 
272
           if (this.prescriptions[i].additionalcharge != null) {
288
           if (this.prescriptions[i].additionalcharge != null) {
273
             for (
289
             for (
274
-              let a = 0;
275
-              a < this.prescriptions[i].additionalcharge.length;
276
-              a++
290
+                let a = 0;
291
+                a < this.prescriptions[i].additionalcharge.length;
292
+                a++
277
             ) {
293
             ) {
278
               addtotal =
294
               addtotal =
279
-                addtotal +
280
-                this.prescriptions[i].additionalcharge[a].price *
281
-                  this.prescriptions[i].additionalcharge[a].count;
295
+                  addtotal +
296
+                  this.prescriptions[i].additionalcharge[a].price *
297
+                  this.prescriptions[i].additionalcharge[a].count
282
             }
298
             }
283
           }
299
           }
284
-          addtotal = Math.floor(addtotal * 100) / 100;
300
+          addtotal = Math.floor(addtotal * 100) / 100
285
         }
301
         }
286
       }
302
       }
287
 
303
 
290
           if (this.prescriptions[i].advices != null) {
306
           if (this.prescriptions[i].advices != null) {
291
             for (let a = 0; a < this.prescriptions[i].advices.length; a++) {
307
             for (let a = 0; a < this.prescriptions[i].advices.length; a++) {
292
               total =
308
               total =
293
-                total +
294
-                this.prescriptions[i].advices[a].price *
295
-                  this.prescriptions[i].advices[a].prescribing_number;
309
+                  total +
310
+                  this.prescriptions[i].advices[a].price *
311
+                  this.prescriptions[i].advices[a].prescribing_number
296
             }
312
             }
297
           }
313
           }
298
 
314
 
299
           if (this.prescriptions[i].additionalcharge != null) {
315
           if (this.prescriptions[i].additionalcharge != null) {
300
             for (
316
             for (
301
-              let a = 0;
302
-              a < this.prescriptions[i].additionalcharge.length;
303
-              a++
317
+                let a = 0;
318
+                a < this.prescriptions[i].additionalcharge.length;
319
+                a++
304
             ) {
320
             ) {
305
               addtotal =
321
               addtotal =
306
-                addtotal +
307
-                this.prescriptions[i].additionalcharge[a].price *
308
-                  this.prescriptions[i].additionalcharge[a].count;
322
+                  addtotal +
323
+                  this.prescriptions[i].additionalcharge[a].price *
324
+                  this.prescriptions[i].additionalcharge[a].count
309
             }
325
             }
310
           }
326
           }
311
-          addtotal = Math.floor(addtotal * 100) / 100;
327
+          addtotal = Math.floor(addtotal * 100) / 100
312
         }
328
         }
313
       }
329
       }
314
 
330
 
315
-      return total + addtotal;
331
+      return total + addtotal
316
     },
332
     },
317
 
333
 
318
     getProjectName(id) {
334
     getProjectName(id) {
319
-      var project_name = "";
335
+      var project_name = ''
320
       for (let i = 0; i < this.projectList.length; i++) {
336
       for (let i = 0; i < this.projectList.length; i++) {
321
         if (id == this.projectList[i].id) {
337
         if (id == this.projectList[i].id) {
322
-          project_name = this.projectList[i].project_name;
338
+          project_name = this.projectList[i].project_name
323
         }
339
         }
324
       }
340
       }
325
-      return project_name;
341
+      return project_name
326
     },
342
     },
327
 
343
 
328
     getDiagnosis(ids) {
344
     getDiagnosis(ids) {
329
-      let newIds = ids.split(",").sort(function (a, b) {
330
-        return a - b;
331
-      });
345
+      let newIds = ids.split(',').sort(function(a, b) {
346
+        return a - b
347
+      })
332
 
348
 
333
-      let nameArr = [];
349
+      let nameArr = []
334
       for (let i = 0; i < this.diagnoses.length; i++) {
350
       for (let i = 0; i < this.diagnoses.length; i++) {
335
         if (newIds.indexOf(this.diagnoses[i].id.toString()) > -1) {
351
         if (newIds.indexOf(this.diagnoses[i].id.toString()) > -1) {
336
           // name += diagnoses[i].class_name + ' '
352
           // name += diagnoses[i].class_name + ' '
337
-          nameArr.push(this.diagnoses[i].class_name);
353
+          nameArr.push(this.diagnoses[i].class_name)
338
         }
354
         }
339
       }
355
       }
340
-      let newNameArr = [];
356
+      let newNameArr = []
341
       nameArr.map((item, index) => {
357
       nameArr.map((item, index) => {
342
-        if (item == "尿毒症") {
343
-          newNameArr.push(item);
344
-          nameArr.splice(index, 1, "");
358
+        if (item == '尿毒症') {
359
+          newNameArr.push(item)
360
+          nameArr.splice(index, 1, '')
345
         }
361
         }
346
-      });
347
-      newNameArr.push(...nameArr);
348
-      return newNameArr.join(" ");
362
+      })
363
+      newNameArr.push(...nameArr)
364
+      return newNameArr.join(' ')
349
     },
365
     },
350
 
366
 
351
     compare(property) {
367
     compare(property) {
352
-      return function (a, b) {
353
-        var value1 = a[property];
354
-        var value2 = b[property];
355
-        return value1 - value2; //升序排序
356
-      };
368
+      return function(a, b) {
369
+        var value1 = a[property]
370
+        var value2 = b[property]
371
+        return value1 - value2 //升序排序
372
+      }
357
     },
373
     },
358
     getPage() {
374
     getPage() {
359
-      this.page = 1;
360
-      this.pageArr = [];
375
+      this.page = 1
376
+      this.pageArr = []
361
 
377
 
362
       this.advicePrint.map((item) => {
378
       this.advicePrint.map((item) => {
363
-        let arr = [];
364
-        item.pageArr = [];
379
+        let arr = []
380
+        item.pageArr = []
365
         if (item.advices.length <= 5) {
381
         if (item.advices.length <= 5) {
366
-          this.page = 1;
367
-          arr.push(item.advices.length);
368
-          item.pageArr.push(arr);
382
+          this.page = 1
383
+          arr.push(item.advices.length)
384
+          item.pageArr.push(arr)
369
         } else if (item.advices.length > 5) {
385
         } else if (item.advices.length > 5) {
370
-          this.page = parseInt(item.advices.length / 5);
371
-          let num = item.advices.length % 5;
386
+          this.page = parseInt(item.advices.length / 5)
387
+          let num = item.advices.length % 5
372
           for (var i = 0; i < this.page; i++) {
388
           for (var i = 0; i < this.page; i++) {
373
-            item.pageArr.push([5]);
389
+            item.pageArr.push([5])
374
           }
390
           }
375
           if (num != 0) {
391
           if (num != 0) {
376
-            item.pageArr.push([num]);
392
+            item.pageArr.push([num])
377
           }
393
           }
378
         }
394
         }
379
-      });
395
+      })
380
       // console.log('this.pageArr',this.pageArr)
396
       // console.log('this.pageArr',this.pageArr)
381
     },
397
     },
382
     getName(list) {
398
     getName(list) {
383
-      console.log("list", list);
384
-      let new_list = [];
399
+      console.log('list', list)
400
+      let new_list = []
385
       for (let i = 0; i < list.length; i++) {
401
       for (let i = 0; i < list.length; i++) {
386
-        if (list[i].aac031 == "1") {
387
-          new_list.push(list[i]);
402
+        if (list[i].aac031 == '1') {
403
+          new_list.push(list[i])
388
         }
404
         }
389
       }
405
       }
390
 
406
 
391
       switch (new_list[0].bcc334) {
407
       switch (new_list[0].bcc334) {
392
-        case "A31001":
393
-          return "深圳医保1档";
394
-          break;
395
-        case "A31002":
396
-          return "深圳医保2档";
397
-
398
-          break;
399
-        case "A31003":
400
-          return "深圳医保3档";
401
-
402
-          break;
403
-        case "A31004":
404
-          return "二档(少儿)";
405
-
406
-          break;
407
-        case "A31005":
408
-          return "学生二档";
409
-
410
-          break;
411
-        case "A31006":
412
-          return "大学生二档";
413
-
414
-          break;
415
-        case "A32001":
416
-          return "在职公务员";
417
-          break;
418
-        case "A32002":
419
-          return "在职驻深公务员";
420
-
421
-          break;
422
-        case "A39301":
423
-          return "家属统筹医疗";
424
-
425
-          break;
426
-        case "A41001":
427
-          return "工伤在职";
428
-
429
-          break;
430
-        case "A51001":
431
-          return "生育在职";
432
-
433
-          break;
434
-        case "A52001":
435
-          return "生育医疗一档";
436
-
437
-          break;
438
-        case "A52002":
439
-          return "生育医疗一档";
440
-
441
-          break;
442
-        case "C31001":
443
-          return "一档医疗退休";
444
-
445
-          break;
446
-        case "C31002":
447
-          return "二档医疗退休";
448
-          break;
408
+        case 'A31001':
409
+          return '深圳医保1档'
410
+          break
411
+        case 'A31002':
412
+          return '深圳医保2档'
413
+
414
+          break
415
+        case 'A31003':
416
+          return '深圳医保3档'
417
+
418
+          break
419
+        case 'A31004':
420
+          return '二档(少儿)'
421
+
422
+          break
423
+        case 'A31005':
424
+          return '学生二档'
425
+
426
+          break
427
+        case 'A31006':
428
+          return '大学生二档'
429
+
430
+          break
431
+        case 'A32001':
432
+          return '在职公务员'
433
+          break
434
+        case 'A32002':
435
+          return '在职驻深公务员'
436
+
437
+          break
438
+        case 'A39301':
439
+          return '家属统筹医疗'
440
+
441
+          break
442
+        case 'A41001':
443
+          return '工伤在职'
444
+
445
+          break
446
+        case 'A51001':
447
+          return '生育在职'
448
+
449
+          break
450
+        case 'A52001':
451
+          return '生育医疗一档'
452
+
453
+          break
454
+        case 'A52002':
455
+          return '生育医疗一档'
456
+
457
+          break
458
+        case 'C31001':
459
+          return '一档医疗退休'
460
+
461
+          break
462
+        case 'C31002':
463
+          return '二档医疗退休'
464
+          break
449
       }
465
       }
450
-    },
466
+    }
451
   },
467
   },
452
   created() {
468
   created() {
453
     // this.getAllDoctorList()
469
     // this.getAllDoctorList()
454
-    this.getInitData();
470
+    this.getInitData()
455
     // this.getPrescriptionPrint()
471
     // this.getPrescriptionPrint()
456
     // this.getHisPatientDetail()
472
     // this.getHisPatientDetail()
457
     // this.getPatientCaseHistory()
473
     // this.getPatientCaseHistory()
458
-    var xtuser = this.$store.getters.xt_user;
459
-    this.orgname = xtuser.org.org_name;
460
-    this.org_id = this.$store.getters.xt_user.org_id;
474
+    var xtuser = this.$store.getters.xt_user
475
+    this.orgname = xtuser.org.org_name
476
+    this.org_id = this.$store.getters.xt_user.org_id
461
   },
477
   },
462
   watch: {
478
   watch: {
463
-    ids: function (val) {
464
-      this.ids = val;
465
-      this.getPrescriptionPrint();
466
-    },
479
+    ids: function(val) {
480
+      this.ids = val
481
+      this.getPrescriptionPrint()
482
+    }
467
     // printData: {
483
     // printData: {
468
     //   immediate: true,
484
     //   immediate: true,
469
     //   deep: true,
485
     //   deep: true,
474
     //     });
490
     //     });
475
     //   },
491
     //   },
476
     // },
492
     // },
477
-  },
478
-};
493
+  }
494
+}
479
 </script>
495
 </script>
480
 
496
 
481
 
497
 
482
 <style lang="scss" scoped>
498
 <style lang="scss" scoped>
483
 .prescription-print {
499
 .prescription-print {
484
-  // -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27),
485
-  //   0 0 60px rgba(0, 0, 0, 0.06) inset;
486
-  // -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27),
487
-  //   0 0 40px rgba(0, 0, 0, 0.06) inset;
488
-  // box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
500
+ /*-webkit-box-shadow: 0 1 px 4 px rgba(0, 0, 0, 0.27),*/
501
+/*/ / 0 0 60 px rgba(0, 0, 0, 0.06) inset;*/
502
+/*/ / -moz-box-shadow: 0 1 px 4 px rgba(0, 0, 0, 0.27),*/
503
+/*/ / 0 0 40 px rgba(0, 0, 0, 0.06) inset;*/
504
+/*/ / box-shadow: 0 1 px 4 px rgba(0, 0, 0, 0.27), 0 0 40 px rgba(0, 0, 0, 0.06) inset;*/
489
   margin-bottom: 20px;
505
   margin-bottom: 20px;
490
   padding: 20px 10px;
506
   padding: 20px 10px;
491
 }
507
 }
508
+
492
 .printTitle {
509
 .printTitle {
493
   font-size: 22px;
510
   font-size: 22px;
494
   text-align: center;
511
   text-align: center;
495
   font-weight: bold;
512
   font-weight: bold;
496
   margin-bottom: 10px;
513
   margin-bottom: 10px;
497
 }
514
 }
515
+
498
 .infoTitle {
516
 .infoTitle {
499
   display: flex;
517
   display: flex;
500
   margin-top: 10px;
518
   margin-top: 10px;
501
   line-height: 24px;
519
   line-height: 24px;
502
 }
520
 }
521
+
503
 .infoTitle div {
522
 .infoTitle div {
504
   width: 200px;
523
   width: 200px;
505
 }
524
 }
525
+
506
 .infoMain {
526
 .infoMain {
507
   display: flex;
527
   display: flex;
508
   flex-wrap: wrap;
528
   flex-wrap: wrap;
509
   margin-top: 10px;
529
   margin-top: 10px;
510
 }
530
 }
531
+
511
 .infoMain div {
532
 .infoMain div {
512
   width: 50%;
533
   width: 50%;
513
   line-height: 24px;
534
   line-height: 24px;
514
 }
535
 }
536
+
515
 .prescriptionBox {
537
 .prescriptionBox {
516
   padding: 0 10px;
538
   padding: 0 10px;
517
   min-height: 400px;
539
   min-height: 400px;
518
 }
540
 }
541
+
519
 .Rp {
542
 .Rp {
520
   font-size: 22px;
543
   font-size: 22px;
521
   font-weight: bold;
544
   font-weight: bold;
522
 }
545
 }
546
+
523
 .drugsBox {
547
 .drugsBox {
524
   padding-left: 40px;
548
   padding-left: 40px;
525
   margin-bottom: 10px;
549
   margin-bottom: 10px;
526
 }
550
 }
551
+
527
 .drugsBox div {
552
 .drugsBox div {
528
   line-height: 20px;
553
   line-height: 20px;
529
 }
554
 }
555
+
530
 .drugsOne {
556
 .drugsOne {
531
   line-height: 24px;
557
   line-height: 24px;
532
 }
558
 }
559
+
533
 .drugsOne span {
560
 .drugsOne span {
534
   margin-right: 20px;
561
   margin-right: 20px;
535
 }
562
 }
563
+
536
 .doctorBox {
564
 .doctorBox {
537
   display: flex;
565
   display: flex;
538
   justify-content: space-between;
566
   justify-content: space-between;
540
   line-height: 24px;
568
   line-height: 24px;
541
   border-bottom: 2px solid #000;
569
   border-bottom: 2px solid #000;
542
 }
570
 }
571
+
543
 .actionBar {
572
 .actionBar {
544
   display: flex;
573
   display: flex;
545
   justify-content: space-between;
574
   justify-content: space-between;
546
   line-height: 24px;
575
   line-height: 24px;
547
   padding: 0 10px;
576
   padding: 0 10px;
548
 }
577
 }
578
+
549
 .actionBar p {
579
 .actionBar p {
550
   width: 150px;
580
   width: 150px;
551
 }
581
 }
582
+
552
 .under_line {
583
 .under_line {
553
   display: inline-block;
584
   display: inline-block;
554
   border-bottom: 1px solid #000;
585
   border-bottom: 1px solid #000;

+ 365 - 0
src/xt_pages/outpatientDoctorStation/batch_print_template/batchPrintTwo.vue View File

1
+<template>
2
+  <div id='prescriptionPrint'>
3
+    <div v-for="(i, index) in printData" :key="index">
4
+      <div v-for="(item, index) in i.prescriptions" :key="index">
5
+        <div id='prescription-print' class="prescription-print" style="page-break-after: always;">
6
+          <div class="printTitle">{{orgname}}处方笺</div>
7
+          <div class="infoTitle">
8
+            <p>姓名:{{i.his_patient.id != 0 ? i.his_patient.name : i.name}}</p>
9
+            <p>性别:
10
+              <span v-if="i.gender == 1">男</span>
11
+              <span v-if="i.gender == 2">女</span>
12
+            </p>
13
+            <p>年龄:{{ i.his_patient.id != 0 ? getAge(i.his_patient) : i.age}}岁</p>
14
+          </div>
15
+          <div class="infoMain">
16
+            <div style="margin-bottom: 10px;">门诊号:{{ i.his_patient.id != 0 ? i.his_patient.number : ""}}</div>
17
+            <div style="margin-bottom: 10px;">科室:{{ i.info.id != 0
18
+                ? getDepart(i.info.departments)
19
+                : ""}}</div>
20
+            <div style="margin-bottom: 10px;">医保卡号:</div>
21
+            <div style="margin-bottom: 10px;">电话:{{i.phone}}</div>
22
+            <div>地址:{{i.home_address}}</div>
23
+            <div style="display:flex;width:50%;">临床诊断:{{getDiagnosis(i.info.diagnosis)}}</div>
24
+          </div>
25
+          <div class="prescriptionBox">
26
+            <div class="Rp">Rp:</div>
27
+            <div class="drugsBox" v-for="(it,index) in item.advices" :key="index">
28
+              <!-- <div class="drugsOne"><span style="font-weight:bold;">{{ index+1 + '.' }}</span>{{it.advice_name?it.advice_name:""}}&nbsp;&nbsp;{{it.single_dose}}{{it.single_dose_unit}}&nbsp;×&nbsp; {{it.prescribing_number}}{{it.prescribing_number_unit}}</div> -->
29
+              <div class="drugsOne"><span style="font-weight:bold;">{{ index+1 + '.' }}</span>{{it.advice_name?it.advice_name:""}}&nbsp;&nbsp;<span>用法:{{it.single_dose}}{{it.single_dose_unit}}</span>&nbsp;&nbsp;<span>{{it.execution_frequency}}&nbsp;{{it.delivery_way}}&nbsp;</span>&nbsp;&nbsp;<span>{{it.advice_desc}}</span></div>
30
+              <div style="margin-left:100px;"><span>{{it.drug.drug_spec}}&nbsp;×&nbsp; {{it.prescribing_number}}{{it.prescribing_number_unit}}</span></div>
31
+            </div>
32
+            <div class="drugsBox" v-for="(it,i) in item.additionalcharge" :key="i">
33
+              <div class="drugsOne">{{it.item_name?it.item_name:""}}:&nbsp;{{it.price}}元/{{it.count}}次</div>
34
+            </div>
35
+
36
+            <div class="drugsBox" v-for="(it,index) in item.project" :key="index">
37
+              <div class="drugsOne"><span style="font-weight:bold;">{{ index+1 + '.' }}</span>{{getProjectName(it.project_id)?getProjectName(it.project_id):""}}&nbsp;&nbsp;<span>用法:{{it.single_dose}}{{it.single_dose_unit}}</span>&nbsp;&nbsp;<span>{{it.delivery_way}}</span>&nbsp;&nbsp;<span>{{it.advice_desc}}</span></div>
38
+              <div style="margin-left:100px;"><span>{{it.single_dose}}{{it.single_dose_unit}}&nbsp;×&nbsp; {{it.count}}{{unit}}</span></div>
39
+            </div>
40
+            <div class="drugsBox" v-for="(it,i) in item.additionalcharge" :key="i">
41
+              <div class="drugsOne">{{it.project_id?it.project_id:""}}:&nbsp;{{it.price.toFixed(2)}}元/{{it.count}}次</div>
42
+            </div>
43
+            <div style="text-align:center;" >(以下空白)</div>
44
+
45
+          </div>
46
+          <div class="doctorBox">
47
+            <p>医师:{{item.doctor?item.doctor:""}}</p>
48
+            <p>日期:{{getTime(item.ctime)?getTime(item.ctime):""}}</p>
49
+          </div>
50
+          <div class="actionBar">
51
+            <!-- <p>审核:{{getDoctor(item.advices[0].checker)?getDoctor(item.advices[0].checker):""}}</p>
52
+            <p>配对:</p>
53
+            <p>核对:{{getDoctor(item.advices[0].checker)?getDoctor(item.advices[0].checker):""}}</p>
54
+            <p>发药:{{getDoctor(item.advices[0].execution_staff)?getDoctor(item.advices[0].execution_staff):""}}</p>
55
+            <p>药费:{{getTotalOne(item.id)?getTotalOne(item.id):0}}元</p> -->
56
+
57
+            <p>审核:</p>
58
+            <p>配对:</p>
59
+            <p>核对:</p>
60
+            <p>发药:</p>
61
+            药费:{{
62
+              getTotalOne(item.advices).toFixed(2)
63
+                  ? getTotalOne(item.advices).toFixed(2)
64
+                  : 0
65
+            }}元
66
+            <!--            <p>药费:551.2元</p>-->
67
+            <!--            <p>药费:466.2元</p>-->
68
+
69
+
70
+          </div>
71
+          <div style="page-break-after:always"></div>
72
+        </div>
73
+      </div>
74
+
75
+    </div>
76
+
77
+  </div>
78
+
79
+
80
+</template>
81
+<script>
82
+import { jsGetAge, uParseTime } from '@/utils/tools'
83
+import {getAllDoctorList,getPrescriptionPrint,getHisPatientDetail} from "@/api/project/project"
84
+import {getInitData} from "@/api/his/his"
85
+export default {
86
+    props:{
87
+      patient_id: String,
88
+      record_date: String,
89
+      prescription_id: String,
90
+      ids: String,
91
+      printData: Array,
92
+    },
93
+    data(){
94
+      return {
95
+        doctorList: [],
96
+        advicePrint: {},
97
+        patient: {},
98
+        tableData: [],
99
+        prescriptionInfo: [],
100
+        hisPatient: {},
101
+        department: [],
102
+        prescriptions: [],
103
+        projectList: [],
104
+        orgname: "",
105
+        diagnoses: [],
106
+        org_id: 0,
107
+      }
108
+    },
109
+   methods:{
110
+     getAge(patient){
111
+       var thisLen = patient.id_card_no.length
112
+       var birth = ''
113
+       if (thisLen == 15) {
114
+         birth = '19' + patient.id_card_no.substr(6, 6)
115
+       } else {
116
+         birth = patient.id_card_no.substr(6, 8)
117
+       }
118
+       var births =
119
+         birth.substr(0, 4) +
120
+         '-' +
121
+         birth.substr(4, 2) +
122
+         '-' +
123
+         birth.substr(6, 2)
124
+        return jsGetAge(births, '-')
125
+
126
+     },
127
+
128
+     getAllDoctorList(){
129
+      getAllDoctorList().then(response=>{
130
+        if(response.data.state == 1){
131
+               var doctor =  response.data.data.doctor
132
+
133
+               this.doctorList = doctor
134
+             }
135
+         })
136
+     },
137
+
138
+      getDoctor(id){
139
+        var name = ""
140
+        for(let i=0;i<this.doctorList.length;i++){
141
+          if(id == this.doctorList[i].admin_user_id){
142
+              name = this.doctorList[i].user_name
143
+          }
144
+        }
145
+        return name
146
+      },
147
+      getTime(value, temp) {
148
+        if (value != undefined) {
149
+            return uParseTime(value, temp)
150
+        }
151
+        return ''
152
+     },
153
+       getPrescriptionPrint(){
154
+         var params = {
155
+          // patient_id:this.patient_id,
156
+          // record_date:this.record_date,
157
+          // prescription_id:this.prescription_id,
158
+          patient_id:this.patient_id,
159
+          record_date:this.record_date,
160
+          prescription_id:this.prescription_id,
161
+          ids:this.ids,
162
+           p_type:2,
163
+
164
+         }
165
+        console.log("params",params)
166
+       getPrescriptionPrint(params).then(response=>{
167
+         if(response.data.state == 1){
168
+            var advicePrint =  response.data.data.advicePrint
169
+            console.log("adviceprint9999",advicePrint)
170
+            this.advicePrint = advicePrint
171
+            this.prescriptions = advicePrint
172
+            console.log("处方222222",this.prescriptions)
173
+            var hisPatient = response.data.data.hisPatient
174
+            console.log("hisPatient",hisPatient)
175
+            this.hisPatient = hisPatient
176
+            var projectlist =  response.data.data.projectlist
177
+            console.log("所有项目列表",projectlist)
178
+            this.projectList = projectlist
179
+          }
180
+       })
181
+     },
182
+     getHisPatientDetail(){
183
+          const params = {
184
+              patient_id:this.patient_id
185
+          }
186
+       getHisPatientDetail(params).then(response=>{
187
+          if(response.data.state == 1){
188
+             var hisPatient =  response.data.data.hisPatient
189
+             console.log("挂号病人",hisPatient)
190
+             this.hisPatient = hisPatient
191
+          }
192
+       })
193
+     },
194
+     getInitData(){
195
+       getInitData().then(response=>{
196
+          if(response.data.state == 1){
197
+            this.department = response.data.data.department
198
+            this.diagnoses = response.data.data.diagnose
199
+            console.log("争端",this.diagnoses)
200
+          }
201
+       })
202
+     },
203
+     getDepart(id){
204
+         var name = ""
205
+       for(let i=0;i<this.department.length;i++){
206
+           if(id == this.department[i].id){
207
+               name = this.department[i].name
208
+           }
209
+       }
210
+       return name
211
+     },
212
+    getTotalOne(id) {
213
+
214
+        var total = 0
215
+        var addtotal = 0
216
+        for (let i = 0; i < this.prescriptions.length; i++) {
217
+          if(id == this.prescriptions[i].id){
218
+            if (this.prescriptions[i].project != null) {
219
+              for (let a = 0; a < this.prescriptions[i].project.length; a++) {
220
+                total = total + this.prescriptions[i].project[a].price * this.prescriptions[i].project[a].count
221
+              }
222
+            }
223
+
224
+            if (this.prescriptions[i].additionalcharge != null) {
225
+              for (let a = 0; a < this.prescriptions[i].additionalcharge.length; a++) {
226
+                addtotal = addtotal + this.prescriptions[i].additionalcharge[a].price * this.prescriptions[i].additionalcharge[a].count
227
+              }
228
+            }
229
+              addtotal =  Math.floor(addtotal * 100) / 100
230
+        }
231
+
232
+       }
233
+
234
+      for (let i = 0; i < this.prescriptions.length; i++) {
235
+          if(id == this.prescriptions[i].id){
236
+            if (this.prescriptions[i].advices != null) {
237
+              for (let a = 0; a < this.prescriptions[i].advices.length; a++) {
238
+                total = total + this.prescriptions[i].advices[a].price * this.prescriptions[i].advices[a].prescribing_number
239
+              }
240
+            }
241
+
242
+            if (this.prescriptions[i].additionalcharge != null) {
243
+              for (let a = 0; a < this.prescriptions[i].additionalcharge.length; a++) {
244
+                addtotal = addtotal + this.prescriptions[i].additionalcharge[a].price * this.prescriptions[i].additionalcharge[a].count
245
+              }
246
+            }
247
+              addtotal =  Math.floor(addtotal * 100) / 100
248
+        }
249
+       }
250
+
251
+        return total + addtotal
252
+      },
253
+
254
+     getProjectName(id){
255
+        var project_name = ""
256
+        for(let i=0;i<this.projectList.length;i++){
257
+           if(id == this.projectList[i].id){
258
+               project_name = this.projectList[i].project_name
259
+           }
260
+        }
261
+        return project_name
262
+     },
263
+
264
+     getDiagnosis(id){
265
+       let arr = id.split(',')
266
+       var name = ""
267
+       for(let i=0;i<this.diagnoses.length;i++){
268
+         if(arr.indexOf(String(this.diagnoses[i].id)) > -1){
269
+           name += this.diagnoses[i].class_name + ' '
270
+         }
271
+       }
272
+       return name
273
+     }
274
+
275
+   },
276
+   created(){
277
+      this.getAllDoctorList()
278
+      this.getInitData()
279
+      this.getPrescriptionPrint()
280
+      this.getHisPatientDetail()
281
+      var xtuser = this.$store.getters.xt_user;
282
+      this.orgname = xtuser.org.org_name;
283
+
284
+   },
285
+   watch:{
286
+     ids:function(val){
287
+      this.ids = val
288
+      this.getPrescriptionPrint()
289
+    }
290
+   }
291
+}
292
+</script>
293
+
294
+
295
+<style lang="scss" scoped>
296
+.prescription-print{
297
+  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
298
+    -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
299
+    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
300
+    margin-bottom: 20px;
301
+    padding:20px 10px;
302
+}
303
+.printTitle{
304
+    font-size: 22px;
305
+    text-align: center;
306
+    font-weight: bold;
307
+}
308
+.infoTitle{
309
+    display: flex;
310
+    border-bottom: 2px solid #000;
311
+    margin-top:10px;
312
+    line-height: 24px;
313
+    padding:0 10px;
314
+}
315
+.infoTitle p{
316
+    width: 200px;
317
+}
318
+.infoMain{
319
+    display: flex;
320
+    flex-wrap: wrap;
321
+    border-bottom: 2px solid #000;
322
+    padding:0 10px;
323
+}
324
+.infoMain div{
325
+    width: 50%;
326
+    line-height: 24px;
327
+}
328
+.prescriptionBox{
329
+    padding:0 10px;
330
+    min-height:450px;
331
+}
332
+.Rp{
333
+    font-size: 22px;
334
+    font-weight: bold;
335
+}
336
+.drugsBox{
337
+    padding-left: 40px;
338
+    margin-bottom: 10px;
339
+}
340
+.drugsBox div{
341
+    line-height: 20px;
342
+}
343
+.drugsOne{
344
+    line-height: 24px;
345
+}
346
+.drugsOne span{
347
+    margin-right: 20px;
348
+}
349
+.doctorBox{
350
+    display: flex;
351
+    justify-content: space-between;
352
+    padding:0 10px;
353
+    line-height: 24px;
354
+    border-bottom: 2px solid #000;
355
+}
356
+.actionBar{
357
+    display: flex;
358
+    justify-content: space-between;
359
+    line-height: 24px;
360
+    padding:0 10px;
361
+}
362
+.actionBar p{
363
+    width:150px;
364
+}
365
+</style>

+ 11 - 9
src/xt_pages/outpatientDoctorStation/batch_print_template/index.vue View File

14
 
14
 
15
     <div class='dialysisPage' style="padding-top:40px;">
15
     <div class='dialysisPage' style="padding-top:40px;">
16
       <div v-if="org_id != 10138 && org_id != 10278">
16
       <div v-if="org_id != 10138 && org_id != 10278">
17
-        <printOne v-if="org_id != 10088 && org_id != 10215" :printData="printData"  :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
18
-        <printFour v-if="org_id == 10088" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printFour>
19
-        <printFive v-if="org_id == 10215" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printFive>
20
-      </div>
21
-      <div v-else>
22
-        <printThree v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printThree>
17
+        <printOne v-if="org_id != 10215" :printData="printData"  :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
18
+<!--        <batch-print-two v-if="org_id == 10088 || org_id == 0" :printData="printData"  :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></batch-print-two>-->
19
+<!--        <print-six v-if="org_id == 10088 || org_id == 0" :printData="printData"  :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></print-six>-->
20
+<!--        <printFour v-if="org_id == 10088 || org_id == 0"  :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printFour>-->
21
+<!--        <printFive v-if="org_id == 10215" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printFive>-->
23
       </div>
22
       </div>
23
+
24
     </div>
24
     </div>
25
   </div>
25
   </div>
26
 </template>
26
 </template>
36
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
36
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
37
 import print from "print-js";
37
 import print from "print-js";
38
 import printOne from "./printOne"
38
 import printOne from "./printOne"
39
-// import printThree from "./template/printThree"
40
-// import printFour from "./template/printFour"
41
-// import printFive from "./template/printFive"
39
+import printFour from "./batchPrintTwo"
42
 import { getAllDoctorList,getAllHisPatientList,getPrescriptionPrint } from "@/api/project/project"
40
 import { getAllDoctorList,getAllHisPatientList,getPrescriptionPrint } from "@/api/project/project"
41
+import PrintSix from '../template/printSix'
42
+import BatchPrintTwo from './batchPrintTwo'
43
 export default {
43
 export default {
44
   name: "dialysisPrintOrder",
44
   name: "dialysisPrintOrder",
45
   components: {
45
   components: {
46
+    BatchPrintTwo,
47
+    PrintSix,
46
     BreadCrumb,
48
     BreadCrumb,
47
     printOne
49
     printOne
48
   },
50
   },

+ 2 - 2
src/xt_pages/outpatientDoctorStation/batch_print_template/printOne.vue View File

43
             </div>
43
             </div>
44
             <div style="margin-bottom: 10px">
44
             <div style="margin-bottom: 10px">
45
               科室:{{
45
               科室:{{
46
-                i.his_patient.id != 0
47
-                  ? getDepart(i.his_patient.departments)
46
+                i.info.id != 0
47
+                  ? getDepart(i.info.departments)
48
                   : ""
48
                   : ""
49
               }}
49
               }}
50
             </div>
50
             </div>

+ 34 - 33
src/xt_pages/outpatientDoctorStation/batch_print_treatTemplate/index.vue View File

11
           >打印</el-button
11
           >打印</el-button
12
         >
12
         >
13
       </template> -->
13
       </template> -->
14
-            
14
+
15
       <div class='dialysisPage' style="padding-top:40px;">
15
       <div class='dialysisPage' style="padding-top:40px;">
16
-        <printOne v-if="org_id != 10138 && org_id != 10278" :printData="printData" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
17
-        <printTwo v-else :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printTwo>
16
+        <printOne v-if="org_id != 10138 && org_id != 10278 && org_id != 0" :printData="printData" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
17
+<!--        <printTwo v-else :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printTwo>-->
18
       </div>
18
       </div>
19
   </div>
19
   </div>
20
 </template>
20
 </template>
76
             scanStyles: false
76
             scanStyles: false
77
           });
77
           });
78
         },500)
78
         },500)
79
-        
80
-      }else{
79
+
80
+      }
81
+      else{
81
         const style =
82
         const style =
82
-        '@media print {#prescription-print{font-size:14px;}.prescription-print:last-child {page-break-after: auto;}.prescription-print{font-size: 14px;}.printTitle{font-size: 18px;text-align: center;font-weight: bold;}.infoTitle{display: flex;border-bottom: 2px solid #000;margin-top:5px;padding:0 10px;}.infoTitle div{width: 300px;margin-bottom:5px;}.infoMain{display: flex;flex-wrap: wrap;border-bottom: 2px solid #000;padding:0 10px;}.infoMain div{width: 50%;}.prescriptionBox{padding:0 10px;min-height:380px;}.Rp{font-size: 22px;font-weight: bold;line-height:1px;}.drugsBox{padding-left: 40px;margin-bottom: 10px;margin-bottom: 10px;}.drugsBox p{line-height: 1px;padding-bottom:10px !important;} .drugsOne{line-height: 1px;margin-bottom:10px !important;} .drugsOne span{margin-right: 20px;} .doctorBox{display: flex; justify-content: space-between; padding:0 10px; border-bottom: 2px solid #000;} .actionBar{display: flex; justify-content: space-between; padding:0 10px;margin:5px 0;} .actionBar div{width:150px;}}';
83
+        '@media print {#prescription-print{font-size:14px;page-break-after:always;}.prescription-print:last-child {page-break-after: auto;}.prescription-print{font-size: 14px;page-break-after:always;}.printTitle{font-size: 18px;text-align: center;font-weight: bold;}.infoTitle{display: flex;border-bottom: 2px solid #000;padding:0 10px;}.infoTitle div{width: 300px;margin-bottom:5px;}.infoMain{display: flex;flex-wrap: wrap;border-bottom: 2px solid #000;padding:0 10px;}.infoMain div{width: 50%;}.prescriptionBox{padding:0 10px;min-height:360px;}.doctor_style{border:none;}.doctor_style tr{page-break-inside:avoid;}.doctor_style tr td{border:1px solid #000}.Rp{font-size: 22px;font-weight: bold;line-height:1px;}.drugsBox{padding-left: 40px;margin-bottom: 10px;margin-bottom: 10px;}.drugsBox p{line-height: 1px;padding-bottom:10px !important;} .drugsOne{line-height: 1px;margin-bottom:10px !important;} .drugsOne span{margin-right: 20px;} .doctorBox{display: flex; justify-content: space-between; padding:0 10px; border-bottom: 2px solid #000;} .actionBar{display: flex; justify-content: space-between; padding:0 10px;margin:5px 0;} .actionBar div{width:150px;} .doctor_style{border: none} }';
83
         printJS({
84
         printJS({
84
           printable: "prescriptionPrint",
85
           printable: "prescriptionPrint",
85
           type: "html",
86
           type: "html",
87
           scanStyles: false
88
           scanStyles: false
88
         });
89
         });
89
       }
90
       }
90
-      
91
+
91
 
92
 
92
       // if (this.org_template_info.template_id == 1) {
93
       // if (this.org_template_info.template_id == 1) {
93
       //   printJS({
94
       //   printJS({
102
       getAllDoctorList().then(response=>{
103
       getAllDoctorList().then(response=>{
103
         if(response.data.state == 1){
104
         if(response.data.state == 1){
104
                var doctor =  response.data.data.doctor
105
                var doctor =  response.data.data.doctor
105
-               
106
+
106
                this.doctorList = doctor
107
                this.doctorList = doctor
107
              }
108
              }
108
-         })   
109
+         })
109
      },
110
      },
110
     getAllHisPatientList(){
111
     getAllHisPatientList(){
111
          const params = {
112
          const params = {
131
             // console.log(this.patientTableData[0])
132
             // console.log(this.patientTableData[0])
132
             // this.choosePatient(this.patientTableData[0])
133
             // this.choosePatient(this.patientTableData[0])
133
             this.cal_one = cal_one
134
             this.cal_one = cal_one
134
-            this.cal_two = cal_two   
135
+            this.cal_two = cal_two
135
          }
136
          }
136
       })
137
       })
137
     },
138
     },
138
 
139
 
139
     changePatient(row){
140
     changePatient(row){
140
-      console.log("row",row)
141
-      this.patient_id = row.patient_id
142
-      this.record_date = this.record_date
143
-      this.prescription_id = this.prescription_id
141
+      // console.log("row",row)
142
+      // this.patient_id = row.patient_id
143
+      // this.record_date = this.record_date
144
+      // this.prescription_id = this.prescription_id
144
       //   var params = {
145
       //   var params = {
145
       //     patient_id:row.patient_id,
146
       //     patient_id:row.patient_id,
146
       //     record_date:this.record_date,
147
       //     record_date:this.record_date,
165
     searchAction(){
166
     searchAction(){
166
 
167
 
167
     }
168
     }
168
-    
169
+
169
   },
170
   },
170
 
171
 
171
   created() {
172
   created() {
172
-    this.org_id = this.$store.getters.xt_user.org_id
173
-    this.getAllDoctorList()
174
-    var record_date = this.paramsObj.record
175
-    this.record_date = record_date
176
-    console.log("record_date",record_date)
177
-    this.prescription_id = this.paramsObj.prescription_id
178
-    this.patient_id = this.paramsObj.patient_id
179
-    this.ids = this.paramsObj.ids
180
-    this.getAllHisPatientList(record_date)
173
+    // this.org_id = this.$store.getters.xt_user.org_id
174
+    // this.getAllDoctorList()
175
+    // var record_date = this.paramsObj.record_date
176
+    // this.record_date = record_date
177
+    // console.log("record_date",record_date)
178
+    // this.prescription_id = this.paramsObj.prescription_id
179
+    // this.patient_id = this.paramsObj.patient_id
180
+    // this.ids = this.paramsObj.ids
181
+    // this.getAllHisPatientList(record_date)
181
   },
182
   },
182
   watch:{
183
   watch:{
183
     paramsObj:{//深度监听,可监听到对象、数组的变化
184
     paramsObj:{//深度监听,可监听到对象、数组的变化
184
       handler(val, oldVal){
185
       handler(val, oldVal){
185
-        this.paramsObj = val
186
-        this.patient_id = this.paramsObj.patient_id
187
-        var record_date = this.paramsObj.record
188
-        this.record_date = record_date
189
-        var prescription_id = this.paramsObj.prescription_id
190
-        this.prescription_id = prescription_id
191
-        this.ids = this.paramsObj.ids
192
-        
186
+        // this.paramsObj = val
187
+        // this.patient_id = this.paramsObj.patient_id
188
+        // var record_date = this.paramsObj.record
189
+        // this.record_date = record_date
190
+        // var prescription_id = this.paramsObj.prescription_id
191
+        // this.prescription_id = prescription_id
192
+        // this.ids = this.paramsObj.ids
193
+
193
       },
194
       },
194
       deep:true
195
       deep:true
195
     }
196
     }
362
   .dialysisPage::-webkit-scrollbar {
363
   .dialysisPage::-webkit-scrollbar {
363
     height: 15px;
364
     height: 15px;
364
   }
365
   }
365
-  
366
+
366
   .el-date-editor{
367
   .el-date-editor{
367
     .el-input__inner{
368
     .el-input__inner{
368
       padding-right:0px;
369
       padding-right:0px;

+ 456 - 452
src/xt_pages/outpatientDoctorStation/batch_print_treatTemplate/printOne.vue View File

1
 <template>
1
 <template>
2
-    <div id='prescriptionPrint'>
3
-      <div v-for="(i,index) in printData">
4
-        <div id='prescription-print' class="prescription-print" v-for="(item,index) in i.prescriptions" :key="index">
5
-
6
-            <div style="display:flex;justify-content: space-between;font-weight:bold;align-items:center;">
7
-                <div style="width:200px;display:flex;justify-content: space-between;font-weight:bold;">
8
-                    <span>费别</span>
9
-                    <span>自费</span>
10
-                    <span>公费</span>
11
-                    <span>保险</span>
12
-                    <span>其他</span>
13
-                </div>
14
-                <div>就诊日期:{{getTime(i.info.ctime,'{y}-{m}-{d}')}}</div>
15
-            </div>
16
-
17
-            <div class="printTitle">{{orgname}}</div>
18
-            <div class="printTitle">处方、治疗单</div>
19
-
20
-            <div class="infoTitle">
21
-                <div>门诊编号:</div>
22
-                <div>电脑号:</div>
23
-            </div>
24
-
25
-            <div class="infoMain">
26
-                <div style="margin-bottom: 10px;width:25%">姓名:{{i.name}}</div>
27
-                <div style="margin-bottom: 10px;width:25%">性别:
28
-                  <span >
2
+  <div id='prescriptionPrint'>
3
+    <div v-for="(i,index) in printData">
4
+      <div id='prescription-print' class="prescription-print" style="page-break-after:always;" v-for="(item,index) in i.prescriptions" :key="index" v-if="item.project.length > 0">
5
+        <div class="toptitle" style="display:flex;justify-content: space-between;font-weight:bold;align-items:center;">
6
+          <div  style="width:200px;display:flex;justify-content: space-between;font-weight:bold;">
7
+            <span>费别</span>
8
+            <span>自费</span>
9
+            <span>公费</span>
10
+            <span>保险</span>
11
+            <span>其他</span>
12
+          </div>
13
+          <div>就诊日期:{{ getTime(i.info.ctime, '{y}-{m}-{d}') }}</div>
14
+        </div>
15
+
16
+        <div class="printTitle">{{ orgname }}测试</div>
17
+        <div class="printTitle">处方、治疗单</div>
18
+
19
+        <div class="infoTitle">
20
+          <div>门诊编号:</div>
21
+          <div>电脑号:</div>
22
+        </div>
23
+
24
+        <div class="infoMain">
25
+          <div style="margin-bottom: 10px;width:25%">姓名:{{ i.name }}</div>
26
+          <div style="margin-bottom: 10px;width:25%">性别:
27
+            <span>
29
                     <span v-if="i.gender == 1">男</span>
28
                     <span v-if="i.gender == 1">男</span>
30
                     <span v-if="i.gender == 2">女</span>
29
                     <span v-if="i.gender == 2">女</span>
31
                   </span>
30
                   </span>
32
-                </div>
33
-                <div style="margin-bottom: 10px;width:25%">年龄:
34
-                    <span>{{i.his_patient.id != 0?getAge(i.his_patient):i.age}}</span>
35
-                </div>
36
-                <div style="margin-bottom: 10px;width:25%">参保类型:{{i.his_patient.id != 0?i.his_patient.social_type:''}}
37
-                </div>
38
-                <div style="margin-bottom: 10px;width:50%;">联系电话:{{i.his_patient.id != 0 ? i.his_patient.phone : i.phone}}</div>
39
-                <div style="width:50%;">地址:{{i.home_address}}</div>
40
-                <div style="width:100%;">诊断:{{getDiagnosis(i.info.diagnosis)}}</div>
41
-            </div>
42
-
43
-            <div class="prescriptionBox">
44
-                <table style="width:100%;text-align:center;line-height:25px;">
45
-                    <tr>
46
-                        <td>序号</td>
47
-                        <td>项目名称</td>
48
-                        <td>数量</td>
49
-                        <td>单位</td>
50
-                        <td>单价</td>
51
-                        <td>部位</td>
52
-                        <td>备注</td>
53
-                        <td>天数</td>
54
-                    </tr>
55
-                    <tr v-for="(it,index) in item.project" :key="index">
56
-                        <td>{{index+1}}</td>
57
-                        <td>{{it.type == 2 ? it.project.project_name : it.good_info.good_name}}</td>
58
-                        <td>{{it.count}}</td>
59
-                        <td>{{getUnit(it.unit)}}</td>
60
-                        <td>{{it.price.toFixed(2)}}</td>
61
-                        <td></td>
62
-                        <td>{{it.remark}}</td>
63
-                        <td>{{it.day}}</td>
64
-
65
-                    </tr>
66
-
67
-                    <tr v-for="(it,index) in item.advices" :key="index">
68
-                        <td>{{index+1}}</td>
69
-                        <td>{{it.advice_name?it.advice_name:''}}</td>
70
-                        <td>{{it.single_dose?it.single_dose:''}}</td>
71
-                        <td>{{it.single_dose_unit?it.single_dose_unit:''}}</td>
72
-                        <td>{{it.price.toFixed(2)}}</td>
73
-                        <td></td>
74
-                        <td>{{it.remark}}</td>
75
-                        <td>{{it.day}}</td>
76
-
77
-                    </tr>
78
-                </table>
79
-            </div>
80
-
81
-            <div class="infoTitle">
82
-                <div>开单医生:{{i.info.doctor?i.info.doctor:''}}</div>
83
-                <div>签章:</div>
84
-            </div>
85
-
86
-            <div class="actionBar">
87
-                <div>执行医生:{{i.info.doctor?i.info.doctor:''}}</div>
88
-                <div>费用:{{getTotalOne(item.project).toFixed(2)?getTotalOne(item.project).toFixed(2):''}}元</div>
89
-            </div>
90
-
91
-            <table style="width:100%;text-align:center;line-height:25px;border-collapse: collapse;" border="1">
92
-                <tr>
93
-                    <td style="width:16%;">治疗时间</td>
94
-                    <td style="width:16%;"></td>
95
-                    <td style="width:16%;"></td>
96
-                    <td style="width:16%;"></td>
97
-                    <td style="width:16%;"></td>
98
-                    <td style="width:16%;"></td>
99
-                </tr>
100
-                <tr>
101
-                    <td style="width:16%;">医生签字</td>
102
-                    <td style="width:16%;"></td>
103
-                    <td style="width:16%;"></td>
104
-                    <td style="width:16%;"></td>
105
-                    <td style="width:16%;"></td>
106
-                    <td style="width:16%;"></td>
107
-                </tr>
108
-                <tr>
109
-                    <td style="width:16px;">患者签字</td>
110
-                    <td style="width:16px;"></td>
111
-                    <td style="width:16px;"></td>
112
-                    <td style="width:16px;"></td>
113
-                    <td style="width:16px;"></td>
114
-                    <td style="width:16px;"></td>
115
-                </tr>
116
-            </table>
31
+          </div>
32
+          <div style="margin-bottom: 10px;width:25%">年龄:
33
+            <span>{{ i.his_patient.id != 0 ? getAge(i.his_patient) : i.age }}</span>
34
+          </div>
35
+          <div style="margin-bottom: 10px;width:25%" v-if="i.his_patient.id&&i.his_patient.social_type == 390 ">
36
+            参保类型:{{ '城乡居民基本医疗保险' }}
37
+          </div>
38
+          <div style="margin-bottom: 10px;width:25%" v-if="i.his_patient.id&&i.his_patient.social_type == 310 ">
39
+            参保类型:{{ '职工基本医疗保险' }}
40
+          </div>
41
+          <div style="margin-bottom: 10px;width:25%" v-else>参保类型:{{ '' }}</div>
42
+
43
+          <div style="margin-bottom: 10px;width:50%;">联系电话:{{ i.his_patient.id != 0 ? i.his_patient.phone : i.phone }}
44
+          </div>
45
+          <div style="width:50%;">地址:{{ i.home_address }}</div>
46
+          <div style="width:100%;">诊断:{{ getDiagnosis(i.info.diagnosis) }}</div>
117
         </div>
47
         </div>
118
 
48
 
49
+        <div class="prescriptionBox">
50
+          <table style="width:100%;text-align:center;line-height:25px;">
51
+            <tr>
52
+              <td>序号</td>
53
+              <td>项目名称</td>
54
+              <td>数量</td>
55
+              <td>单位</td>
56
+              <td>单价</td>
57
+              <td>部位</td>
58
+              <td>备注</td>
59
+              <td>天数</td>
60
+            </tr>
61
+            <tr v-for="(it,index) in item.project" :key="index">
62
+              <td>{{ index + 1 }}</td>
63
+              <td>{{ it.type == 2 ? it.project.project_name : it.good_info.good_name }}</td>
64
+              <td>{{ it.count }}</td>
65
+              <td>{{ getUnit(it.unit) }}</td>
66
+              <td>{{ it.price.toFixed(2) }}</td>
67
+              <td></td>
68
+              <td>{{ it.remark }}</td>
69
+              <td>{{ it.day }}</td>
70
+
71
+            </tr>
72
+
73
+            <tr v-for="(it,index) in item.advices" :key="index">
74
+              <td>{{ index + 1 }}</td>
75
+              <td>{{ it.advice_name ? it.advice_name : '' }}</td>
76
+              <td>{{ it.single_dose ? it.single_dose : '' }}</td>
77
+              <td>{{ it.single_dose_unit ? it.single_dose_unit : '' }}</td>
78
+              <td>{{ it.price.toFixed(2) }}</td>
79
+              <td></td>
80
+              <td>{{ it.remark }}</td>
81
+              <td>{{ it.day }}</td>
82
+
83
+            </tr>
84
+          </table>
85
+        </div>
119
 
86
 
120
-        <!-- <div id='prescriptionPrint'>
121
-
122
-            <div v-for="(item,index) in advicePrint" :key="index">
123
-                <div id='prescription-print' class="prescription-print" style="page-break-after: always;">
124
-                    <div style="display:flex;justify-content: space-between;font-weight:bold;">
125
-                        <div style="width:200px;display:flex;justify-content: space-between;font-weight:bold;">
126
-                            <span>费别</span>
127
-                            <span>自费</span>
128
-                            <span>公费</span>
129
-                            <span>保险</span>
130
-                            <span>其他</span>
131
-                        </div>
132
-                        <div>就诊日期:{{getTime(item.ctime)}}</div>
133
-                    </div>
134
-
135
-                    <div class="printTitle">血液透析中心</div>
136
-
137
-                    <div class="printTitle">处方、治疗单</div>
138
-
139
-                    <div class="infoTitle">
140
-                        <div>门诊编号:</div>
141
-                        <div>电脑号:</div>
142
-                    </div>
143
-
144
-                    <div class="infoMain">
145
-                        <div style="margin-bottom: 10px;width:25%">姓名:{{item.patient.name}}</div>
146
-                        <div style="margin-bottom: 10px;width:25%">性别:
147
-                            <span v-if="item.patient.gender == 1">男</span>
148
-                            <span v-if="item.patient.gender == 2">女</span>
149
-                        </div>
150
-                        <div style="margin-bottom: 10px;width:25%">年龄:
151
-                            <span>{{item.patient.age}}</span>
152
-                        </div>
153
-                        <div style="margin-bottom: 10px;width:25%">参保类型:</div>
154
-                        <div style="margin-bottom: 10px;width:50%;">联系电话:{{item.patient.phone}}</div>
155
-                        <div style="width:50%;">地址:{{item.patient.unit_address}}</div>
156
-                        <div style="width:100%;">诊断:{{item.patient.diagnose}}</div>
157
-                    </div>
158
-
159
-                    <div class="prescriptionBox">
160
-                        <table style="width:100%;text-align:center;line-height:25px;">
161
-                            <tr>
162
-                                <td>序号</td>
163
-                                <td>项目名称</td>
164
-                                <td>数量</td>
165
-                                <td>单位</td>
166
-                                <td>单价</td>
167
-                                <td>部位</td>
168
-                                <td>备注</td>
169
-                                <td>天数</td>
170
-                            </tr>
171
-                            <tr v-for="(it,index) in item.project" :key="index">
172
-                                <td>{{index+1}}</td>
173
-                                <td>{{getProjectName(it.project_id)}}</td>
174
-                                <td>{{it.single_dose}}</td>
175
-                                <td>{{getUnit(it.unit)}}</td>
176
-                                <td>{{it.price}}</td>
177
-                                <td></td>
178
-                                <td>{{it.remark}}</td>
179
-                                <td>{{it.day}}</td>
180
-
181
-                            </tr>
182
-                        </table>
183
-                    </div>
184
-                    <div class="infoTitle">
185
-                        <div>开单医生:{{getDoctor(item.doctor)?getDoctor(item.doctor):""}}</div>
186
-                        <div>签章:</div>
187
-                    </div>
188
-                    <div class="actionBar">
189
-                        <div>执行医生:{{getDoctor(item.doctor)?getDoctor(item.doctor):""}}</div>
190
-                        <div>费用:</div>
191
-                    </div>
192
-                    <table style="width:100%;text-align:center;line-height:25px;border-collapse: collapse;" border="1">
193
-                        <tr>
194
-                            <td style="width:16%;">治疗时间</td>
195
-                            <td style="width:16%;"></td>
196
-                            <td style="width:16%;"></td>
197
-                            <td style="width:16%;"></td>
198
-                            <td style="width:16%;"></td>
199
-                            <td style="width:16%;"></td>
200
-                        </tr>
201
-                        <tr>
202
-                            <td style="width:16%;">医生签字</td>
203
-                            <td style="width:16%;"></td>
204
-                            <td style="width:16%;"></td>
205
-                            <td style="width:16%;"></td>
206
-                            <td style="width:16%;"></td>
207
-                            <td style="width:16%;"></td>
208
-                        </tr>
209
-                        <tr>
210
-                            <td style="width:16px;">患者签字</td>
211
-                            <td style="width:16px;"></td>
212
-                            <td style="width:16px;"></td>
213
-                            <td style="width:16px;"></td>
214
-                            <td style="width:16px;"></td>
215
-                            <td style="width:16px;"></td>
216
-                        </tr>
217
-                    </table>
218
-                </div>
219
-
220
-            </div>
221
-
222
-        </div> -->
87
+        <div class="infoTitle">
88
+          <div>开单医生:{{ i.info.doctor ? i.info.doctor : '' }}</div>
89
+          <div>签章:</div>
90
+        </div>
91
+
92
+        <div class="actionBar">
93
+          <div>执行医生:{{ i.info.doctor ? i.info.doctor : '' }}</div>
94
+          <div>费用:{{ getTotalOne(item.project).toFixed(2) ? getTotalOne(item.project).toFixed(2) : '' }}元</div>
95
+        </div>
96
+
97
+        <table class="doctor_style" style="width:100%;text-align:center;line-height:25px;border-collapse: collapse;" border="1">
98
+          <tr >
99
+            <td style="width:16%;">治疗时间</td>
100
+            <td style="width:16%;"></td>
101
+            <td style="width:16%;"></td>
102
+            <td style="width:16%;"></td>
103
+            <td style="width:16%;"></td>
104
+            <td style="width:16%;"></td>
105
+          </tr>
106
+          <tr>
107
+            <td style="width:16%;">医生签字</td>
108
+            <td style="width:16%;"></td>
109
+            <td style="width:16%;"></td>
110
+            <td style="width:16%;"></td>
111
+            <td style="width:16%;"></td>
112
+            <td style="width:16%;"></td>
113
+          </tr>
114
+          <tr>
115
+            <td style="width:16px;">患者签字</td>
116
+            <td style="width:16px;"></td>
117
+            <td style="width:16px;"></td>
118
+            <td style="width:16px;"></td>
119
+            <td style="width:16px;"></td>
120
+            <td style="width:16px;"></td>
121
+          </tr>
122
+        </table>
223
       </div>
123
       </div>
124
+
125
+
126
+      <!-- <div id='prescriptionPrint'>
127
+
128
+          <div v-for="(item,index) in advicePrint" :key="index">
129
+              <div id='prescription-print' class="prescription-print" style="page-break-after: always;">
130
+                  <div style="display:flex;justify-content: space-between;font-weight:bold;">
131
+                      <div style="width:200px;display:flex;justify-content: space-between;font-weight:bold;">
132
+                          <span>费别</span>
133
+                          <span>自费</span>
134
+                          <span>公费</span>
135
+                          <span>保险</span>
136
+                          <span>其他</span>
137
+                      </div>
138
+                      <div>就诊日期:{{getTime(item.ctime)}}</div>
139
+                  </div>
140
+
141
+                  <div class="printTitle">血液透析中心</div>
142
+
143
+                  <div class="printTitle">处方、治疗单</div>
144
+
145
+                  <div class="infoTitle">
146
+                      <div>门诊编号:</div>
147
+                      <div>电脑号:</div>
148
+                  </div>
149
+
150
+                  <div class="infoMain">
151
+                      <div style="margin-bottom: 10px;width:25%">姓名:{{item.patient.name}}</div>
152
+                      <div style="margin-bottom: 10px;width:25%">性别:
153
+                          <span v-if="item.patient.gender == 1">男</span>
154
+                          <span v-if="item.patient.gender == 2">女</span>
155
+                      </div>
156
+                      <div style="margin-bottom: 10px;width:25%">年龄:
157
+                          <span>{{item.patient.age}}</span>
158
+                      </div>
159
+                      <div style="margin-bottom: 10px;width:25%">参保类型:</div>
160
+                      <div style="margin-bottom: 10px;width:50%;">联系电话:{{item.patient.phone}}</div>
161
+                      <div style="width:50%;">地址:{{item.patient.unit_address}}</div>
162
+                      <div style="width:100%;">诊断:{{item.patient.diagnose}}</div>
163
+                  </div>
164
+
165
+                  <div class="prescriptionBox">
166
+                      <table style="width:100%;text-align:center;line-height:25px;">
167
+                          <tr>
168
+                              <td>序号</td>
169
+                              <td>项目名称</td>
170
+                              <td>数量</td>
171
+                              <td>单位</td>
172
+                              <td>单价</td>
173
+                              <td>部位</td>
174
+                              <td>备注</td>
175
+                              <td>天数</td>
176
+                          </tr>
177
+                          <tr v-for="(it,index) in item.project" :key="index">
178
+                              <td>{{index+1}}</td>
179
+                              <td>{{getProjectName(it.project_id)}}</td>
180
+                              <td>{{it.single_dose}}</td>
181
+                              <td>{{getUnit(it.unit)}}</td>
182
+                              <td>{{it.price}}</td>
183
+                              <td></td>
184
+                              <td>{{it.remark}}</td>
185
+                              <td>{{it.day}}</td>
186
+
187
+                          </tr>
188
+                      </table>
189
+                  </div>
190
+                  <div class="infoTitle">
191
+                      <div>开单医生:{{getDoctor(item.doctor)?getDoctor(item.doctor):""}}</div>
192
+                      <div>签章:</div>
193
+                  </div>
194
+                  <div class="actionBar">
195
+                      <div>执行医生:{{getDoctor(item.doctor)?getDoctor(item.doctor):""}}</div>
196
+                      <div>费用:</div>
197
+                  </div>
198
+                  <table style="width:100%;text-align:center;line-height:25px;border-collapse: collapse;" border="1">
199
+                      <tr>
200
+                          <td style="width:16%;">治疗时间</td>
201
+                          <td style="width:16%;"></td>
202
+                          <td style="width:16%;"></td>
203
+                          <td style="width:16%;"></td>
204
+                          <td style="width:16%;"></td>
205
+                          <td style="width:16%;"></td>
206
+                      </tr>
207
+                      <tr>
208
+                          <td style="width:16%;">医生签字</td>
209
+                          <td style="width:16%;"></td>
210
+                          <td style="width:16%;"></td>
211
+                          <td style="width:16%;"></td>
212
+                          <td style="width:16%;"></td>
213
+                          <td style="width:16%;"></td>
214
+                      </tr>
215
+                      <tr>
216
+                          <td style="width:16px;">患者签字</td>
217
+                          <td style="width:16px;"></td>
218
+                          <td style="width:16px;"></td>
219
+                          <td style="width:16px;"></td>
220
+                          <td style="width:16px;"></td>
221
+                          <td style="width:16px;"></td>
222
+                      </tr>
223
+                  </table>
224
+              </div>
225
+
226
+          </div>
227
+
228
+      </div> -->
224
     </div>
229
     </div>
230
+  </div>
225
 </template>
231
 </template>
226
 <script>
232
 <script>
227
-  import { jsGetAge, uParseTime } from '@/utils/tools'
228
-  import { getAllDoctorList, getPrescriptionPrint } from '@/api/project/project'
229
-  import { getInitData } from '@/api/his/his'
230
-
231
-  export default {
232
-    props: {
233
-      patient_id: Number,
234
-      record_date: String,
235
-      prescription_id: Number,
236
-      ids: String,
237
-      printData:Array
238
-    },
239
-    data() {
240
-      return {
241
-        doctorList: [],
242
-        advicePrint: {},
243
-        patient: {},
244
-        tableData: [],
245
-        prescriptionInfo: [],
246
-        projectList: [],
247
-        prescriptions: [],
248
-        settlement:
233
+import { jsGetAge, uParseTime } from '@/utils/tools'
234
+import { getAllDoctorList, getPrescriptionPrint } from '@/api/project/project'
235
+import { getInitData } from '@/api/his/his'
236
+
237
+export default {
238
+  props: {
239
+    patient_id: Number,
240
+    record_date: String,
241
+    prescription_id: Number,
242
+    ids: String,
243
+    printData: Array
244
+  },
245
+  data() {
246
+    return {
247
+      doctorList: [],
248
+      advicePrint: {},
249
+      patient: {},
250
+      tableData: [],
251
+      prescriptionInfo: [],
252
+      projectList: [],
253
+      prescriptions: [],
254
+      settlement:
249
           [
255
           [
250
             { value: 1, label: '医保' },
256
             { value: 1, label: '医保' },
251
             { value: 2, label: '自费' },
257
             { value: 2, label: '自费' },
257
             { value: 8, label: '医保自费' }
263
             { value: 8, label: '医保自费' }
258
 
264
 
259
           ],
265
           ],
260
-        hisPatient: {},
261
-        diagnoses: []
262
-      }
263
-    },
266
+      hisPatient: {},
267
+      diagnoses: []
268
+    }
269
+  },
264
 
270
 
265
-    watch:{
266
-      printData:function(val){
267
-        console.log(val,'打印props')
271
+  watch: {
272
+    printData: function(val) {
273
+      console.log(val, '打印props')
274
+    }
275
+  },
276
+
277
+  methods: {
278
+    getAge(patient) {
279
+      var thisLen = patient.id_card_no.length
280
+      var birth = ''
281
+      if (thisLen == 15) {
282
+        birth = '19' + patient.id_card_no.substr(6, 6)
283
+      } else {
284
+        birth = patient.id_card_no.substr(6, 8)
268
       }
285
       }
269
-    },
270
-
271
-    methods: {
272
-      getAge(patient){
273
-        var thisLen = patient.id_card_no.length
274
-        var birth = ''
275
-        if (thisLen == 15) {
276
-          birth = '19' + patient.id_card_no.substr(6, 6)
277
-        } else {
278
-          birth = patient.id_card_no.substr(6, 8)
279
-        }
280
-        var births =
286
+      var births =
281
           birth.substr(0, 4) +
287
           birth.substr(0, 4) +
282
           '-' +
288
           '-' +
283
           birth.substr(4, 2) +
289
           birth.substr(4, 2) +
284
           '-' +
290
           '-' +
285
           birth.substr(6, 2)
291
           birth.substr(6, 2)
286
-        return jsGetAge(births, '-')
292
+      return jsGetAge(births, '-')
287
 
293
 
288
-      },
289
-      printThisPage() {
290
-        var ptime = Math.round(new Date().getTime() / 1000)
291
-        this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
294
+    },
295
+    printThisPage() {
296
+      var ptime = Math.round(new Date().getTime() / 1000)
297
+      this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
292
 
298
 
293
-        const style =
299
+      const style =
294
           '@media print {.printTitle{font-size: 22px;text-align: center;font-weight: bold;}.infoTitle{display: flex;margin-top:10px;line-height: 1px;padding:0 10px;}.infoTitle p{width: 200px;}.otherInfo{display: flex;margin-top:10px;padding:0 10px;}.otherInfo span{display:inline-block;}.recordTitle{display: flex;margin-top:10px;line-height: 24px;padding:0 10px;border-bottom: 2px solid #000;}.recordTitle p{width: 200px;}}'
300
           '@media print {.printTitle{font-size: 22px;text-align: center;font-weight: bold;}.infoTitle{display: flex;margin-top:10px;line-height: 1px;padding:0 10px;}.infoTitle p{width: 200px;}.otherInfo{display: flex;margin-top:10px;padding:0 10px;}.otherInfo span{display:inline-block;}.recordTitle{display: flex;margin-top:10px;line-height: 24px;padding:0 10px;border-bottom: 2px solid #000;}.recordTitle p{width: 200px;}}'
295
-        printJS({
296
-          printable: 'prescription-print',
297
-          type: 'html',
298
-          style: style,
299
-          scanStyles: false
300
-        })
301
-      },
302
-      getAllDoctorList() {
303
-        getAllDoctorList().then(response => {
304
-          if (response.data.state == 1) {
305
-            var doctor = response.data.data.doctor
306
-
307
-            this.doctorList = doctor
308
-          }
309
-        })
310
-      },
311
-
312
-      getDoctor(id) {
313
-        var name = ''
314
-        for (let i = 0; i < this.doctorList.length; i++) {
315
-          if (id == this.doctorList[i].admin_user_id) {
316
-            name = this.doctorList[i].user_name
317
-          }
318
-        }
319
-        return name
320
-      },
321
-      getTime(value, temp) {
322
-        if (value != undefined) {
323
-          return uParseTime(value, temp)
301
+      printJS({
302
+        printable: 'prescription-print',
303
+        type: 'html',
304
+        style: style,
305
+        scanStyles: false
306
+      })
307
+    },
308
+    getAllDoctorList() {
309
+      getAllDoctorList().then(response => {
310
+        if (response.data.state == 1) {
311
+          var doctor = response.data.data.doctor
312
+
313
+          this.doctorList = doctor
324
         }
314
         }
325
-        return ''
326
-      },
327
-      getPrescriptionPrint() {
328
-        var params = {
329
-          patient_id: this.patient_id,
330
-          record_date: this.record_date,
331
-          prescription_id: this.prescription_id,
332
-          ids: this.ids
315
+      })
316
+    },
317
+
318
+    getDoctor(id) {
319
+      var name = ''
320
+      for (let i = 0; i < this.doctorList.length; i++) {
321
+        if (id == this.doctorList[i].admin_user_id) {
322
+          name = this.doctorList[i].user_name
333
         }
323
         }
334
-        console.log('999999', params)
335
-        getPrescriptionPrint(params).then(response => {
336
-          if (response.data.state == 1) {
337
-            var advicePrint = response.data.data.advicePrint
338
-            console.log('adviceprint', advicePrint)
339
-            this.advicePrint = advicePrint
340
-            this.prescriptions = advicePrint
341
-            var projectlist = response.data.data.projectlist
342
-            console.log('所有项目列表', projectlist)
343
-            this.projectList = projectlist
344
-            this.hisPatient = response.data.data.hisPatient
324
+      }
325
+      return name
326
+    },
327
+    getTime(value, temp) {
328
+      if (value != undefined) {
329
+        return uParseTime(value, temp)
330
+      }
331
+      return ''
332
+    },
333
+    getPrescriptionPrint() {
334
+      var params = {
335
+        patient_id: this.patient_id,
336
+        record_date: this.record_date,
337
+        prescription_id: this.prescription_id,
338
+        ids: this.ids
339
+      }
340
+      console.log('999999', params)
341
+      getPrescriptionPrint(params).then(response => {
342
+        if (response.data.state == 1) {
343
+          var advicePrint = response.data.data.advicePrint
344
+          console.log('adviceprint', advicePrint)
345
+          this.advicePrint = advicePrint
346
+          this.prescriptions = advicePrint
347
+          var projectlist = response.data.data.projectlist
348
+          console.log('所有项目列表', projectlist)
349
+          this.projectList = projectlist
350
+          this.hisPatient = response.data.data.hisPatient
345
 
351
 
346
-          }
347
-        })
348
-      },
349
-      getProjectName(id) {
350
-        var project_name = ''
351
-        for (let i = 0; i < this.projectList.length; i++) {
352
-          if (id == this.projectList[i].id) {
353
-            project_name = this.projectList[i].project_name
354
-          }
355
         }
352
         }
356
-        return project_name
357
-      },
358
-      getUnit(id) {
359
-        var unit = ''
360
-        for (let i = 0; i < this.projectList.length; i++) {
361
-          if (id == this.projectList[i].id) {
362
-            unit = this.projectList[i].unit
363
-          }
353
+      })
354
+    },
355
+    getProjectName(id) {
356
+      var project_name = ''
357
+      for (let i = 0; i < this.projectList.length; i++) {
358
+        if (id == this.projectList[i].id) {
359
+          project_name = this.projectList[i].project_name
364
         }
360
         }
365
-        return unit
366
-      },
367
-
368
-      getTotalOne(project) {
369
-
370
-        let total = 0
371
-        project.map(item => {
372
-          total += item.price * item.count
373
-        })
374
-        return total
375
-      },
376
-      getInitData() {
377
-        getInitData().then(response => {
378
-          if (response.data.state == 1) {
379
-            this.diagnoses = response.data.data.diagnose
380
-            console.log('争端', this.diagnoses)
381
-          }
382
-        })
383
-      },
384
-      getDiagnosis(id) {
385
-      let id_ = id.split(",");
386
-      let nameArr = [];
387
-      let name = "";
361
+      }
362
+      return project_name
363
+    },
364
+    getUnit(id) {
365
+      var unit = ''
366
+      for (let i = 0; i < this.projectList.length; i++) {
367
+        if (id == this.projectList[i].id) {
368
+          unit = this.projectList[i].unit
369
+        }
370
+      }
371
+      return unit
372
+    },
373
+
374
+    getTotalOne(project) {
375
+
376
+      let total = 0
377
+      project.map(item => {
378
+        total += item.price * item.count
379
+      })
380
+      return total
381
+    },
382
+    getInitData() {
383
+      getInitData().then(response => {
384
+        if (response.data.state == 1) {
385
+          this.diagnoses = response.data.data.diagnose
386
+          console.log('争端', this.diagnoses)
387
+        }
388
+      })
389
+    },
390
+    getDiagnosis(id) {
391
+      let id_ = id.split(',')
392
+      let nameArr = []
393
+      let name = ''
388
       for (let i = 0; i < this.diagnoses.length; i++) {
394
       for (let i = 0; i < this.diagnoses.length; i++) {
389
         for (let j = 0; j < id_.length; j++) {
395
         for (let j = 0; j < id_.length; j++) {
390
           if (id_[j] == this.diagnoses[i].id) {
396
           if (id_[j] == this.diagnoses[i].id) {
391
-            nameArr[j] = this.diagnoses[i].class_name;
397
+            nameArr[j] = this.diagnoses[i].class_name
392
             name = nameArr.join(',')
398
             name = nameArr.join(',')
393
           }
399
           }
394
         }
400
         }
395
       }
401
       }
396
-      return name;
397
-      }
398
-    },
399
-    created() {
400
-      this.getInitData()
401
-      // this.getAllDoctorList()
402
-      // this.getPrescriptionPrint()
403
-      var xtuser = this.$store.getters.xt_user
404
-      this.orgname = xtuser.org.org_name
405
-
406
-    },
407
-    watch: {
408
-      // patient_id: function(val) {
409
-      //   console.log('101000010101010', this.patient_id, this.record_date, this.prescription_id)
410
-      //   //    this.getPrescriptionPrint()
411
-      // },
412
-      // ids: function(val) {
413
-      //   this.ids = val
414
-      //   console.log('this.idsids', this.ids)
415
-      //   this.getPrescriptionPrint()
416
-      // }
417
-    }
418
-  }
419
-</script>
420
-
421
-
422
-<style lang="scss" scoped>
423
-    .prescription-print {
424
-        -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
425
-        -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
426
-        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
427
-        margin-bottom: 20px;
428
-        padding: 20px 10px;
429
-    }
430
-
431
-    .prescription-print {
432
-        font-size: 14px;
433
-    }
434
-
435
-    .printTitle {
436
-        font-size: 18px;
437
-        text-align: center;
438
-        font-weight: bold;
439
-        margin-top: 10px;
440
-    }
441
-
442
-    .infoTitle {
443
-        display: flex;
444
-        border-bottom: 2px solid #000;
445
-        margin-top: 10px;
446
-        line-height: 24px;
447
-        padding: 0 10px;
448
-    }
449
-
450
-    .infoTitle div {
451
-        width: 300px;
402
+      return name
452
     }
403
     }
404
+  },
405
+  created() {
406
+    this.getInitData()
407
+    // this.getAllDoctorList()
408
+    // this.getPrescriptionPrint()
409
+    var xtuser = this.$store.getters.xt_user
410
+    this.orgname = xtuser.org.org_name
453
 
411
 
454
-    .infoMain {
455
-        display: flex;
456
-        flex-wrap: wrap;
457
-        border-bottom: 2px solid #000;
458
-        padding: 0 10px;
459
-    }
460
-
461
-    .infoMain div {
462
-        width: 50%;
463
-        line-height: 24px;
464
-    }
412
+  },
465
 
413
 
466
-    .prescriptionBox {
467
-        padding: 0 10px;
468
-        min-height: 600px;
469
-    }
470
-
471
-    .Rp {
472
-        font-size: 22px;
473
-        font-weight: bold;
474
-    }
475
-
476
-    .drugsBox {
477
-        padding-left: 40px;
478
-        margin-bottom: 10px;
479
-    }
480
-
481
-    .drugsBox p {
482
-        line-height: 30px;
483
-    }
484
-
485
-    .drugsOne {
486
-        line-height: 24px;
487
-    }
488
-
489
-    .drugsOne span {
490
-        margin-right: 20px;
491
-    }
414
+}
415
+</script>
492
 
416
 
493
-    .actionBar {
494
-        display: flex;
495
-        justify-content: space-between;
496
-        line-height: 24px;
497
-        padding: 0 10px;
498
-    }
499
 
417
 
500
-    .actionBar div {
501
-        width: 150px;
418
+<style lang="scss" scoped>
419
+.prescription-print {
420
+  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
421
+  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
422
+  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
423
+  margin-bottom: 20px;
424
+  padding: 20px 10px;
425
+}
426
+
427
+.prescription-print {
428
+  font-size: 14px;
429
+}
430
+
431
+.printTitle {
432
+  font-size: 18px;
433
+  text-align: center;
434
+  font-weight: bold;
435
+  margin-top: 10px;
436
+}
437
+
438
+.infoTitle {
439
+  display: flex;
440
+  border-bottom: 2px solid #000;
441
+  margin-top: 10px;
442
+  line-height: 24px;
443
+  padding: 0 10px;
444
+}
445
+
446
+.infoTitle div {
447
+  width: 300px;
448
+}
449
+
450
+.infoMain {
451
+  display: flex;
452
+  flex-wrap: wrap;
453
+  border-bottom: 2px solid #000;
454
+  padding: 0 10px;
455
+}
456
+
457
+.infoMain div {
458
+  width: 50%;
459
+  line-height: 24px;
460
+}
461
+
462
+.prescriptionBox {
463
+  padding: 0 10px;
464
+  min-height: 600px;
465
+}
466
+
467
+.Rp {
468
+  font-size: 22px;
469
+  font-weight: bold;
470
+}
471
+
472
+.drugsBox {
473
+  padding-left: 40px;
474
+  margin-bottom: 10px;
475
+}
476
+
477
+.drugsBox p {
478
+  line-height: 30px;
479
+}
480
+
481
+.drugsOne {
482
+  line-height: 24px;
483
+}
484
+
485
+.drugsOne span {
486
+  margin-right: 20px;
487
+}
488
+
489
+.actionBar {
490
+  display: flex;
491
+  justify-content: space-between;
492
+  line-height: 24px;
493
+  padding: 0 10px;
494
+}
495
+
496
+.actionBar div {
497
+  width: 150px;
498
+}
499
+.doctor_style {
500
+  tr{
501
+    page-break-inside:avoid;
502
+    td{
503
+      border: 1px solid #000;
502
     }
504
     }
505
+  }
506
+}
503
 </style>
507
 </style>

+ 9 - 9
src/xt_pages/outpatientDoctorStation/checkPrint.vue View File

11
           >打印</el-button
11
           >打印</el-button
12
         >
12
         >
13
       </template> -->
13
       </template> -->
14
-            
14
+
15
       <div class='dialysisPage' style="padding-top:40px;">
15
       <div class='dialysisPage' style="padding-top:40px;">
16
-        <printOne v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
16
+        <printOne :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
17
       </div>
17
       </div>
18
   </div>
18
   </div>
19
 </template>
19
 </template>
66
                 scanStyles: false
66
                 scanStyles: false
67
             });
67
             });
68
         },500)
68
         },500)
69
-        
69
+
70
     },
70
     },
71
     getAllDoctorList(){
71
     getAllDoctorList(){
72
       getAllDoctorList().then(response=>{
72
       getAllDoctorList().then(response=>{
73
         if(response.data.state == 1){
73
         if(response.data.state == 1){
74
                var doctor =  response.data.data.doctor
74
                var doctor =  response.data.data.doctor
75
-               
75
+
76
                this.doctorList = doctor
76
                this.doctorList = doctor
77
              }
77
              }
78
-         })   
78
+         })
79
      },
79
      },
80
     getAllHisPatientList(){
80
     getAllHisPatientList(){
81
          const params = {
81
          const params = {
101
             // console.log(this.patientTableData[0])
101
             // console.log(this.patientTableData[0])
102
             // this.choosePatient(this.patientTableData[0])
102
             // this.choosePatient(this.patientTableData[0])
103
             this.cal_one = cal_one
103
             this.cal_one = cal_one
104
-            this.cal_two = cal_two   
104
+            this.cal_two = cal_two
105
          }
105
          }
106
       })
106
       })
107
     },
107
     },
135
     searchAction(){
135
     searchAction(){
136
 
136
 
137
     }
137
     }
138
-    
138
+
139
   },
139
   },
140
 
140
 
141
   created() {
141
   created() {
159
         var prescription_id = this.paramsObj.prescription_id
159
         var prescription_id = this.paramsObj.prescription_id
160
         this.prescription_id = prescription_id
160
         this.prescription_id = prescription_id
161
         this.ids = this.paramsObj.ids
161
         this.ids = this.paramsObj.ids
162
-        
162
+
163
       },
163
       },
164
       deep:true
164
       deep:true
165
     }
165
     }
332
   .dialysisPage::-webkit-scrollbar {
332
   .dialysisPage::-webkit-scrollbar {
333
     height: 15px;
333
     height: 15px;
334
   }
334
   }
335
-  
335
+
336
   .el-date-editor{
336
   .el-date-editor{
337
     .el-input__inner{
337
     .el-input__inner{
338
       padding-right:0px;
338
       padding-right:0px;

File diff suppressed because it is too large
+ 583 - 441
src/xt_pages/outpatientDoctorStation/checkTemplate/printOne.vue


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

1870
           this.order_status = '已退费'
1870
           this.order_status = '已退费'
1871
         }
1871
         }
1872
 
1872
 
1873
+        if (this.curPrescriptions.order_status == 5) {
1874
+          this.order_status = '已记账'
1875
+        }
1876
+
1873
       },
1877
       },
1874
       clearData() {
1878
       clearData() {
1875
         this.curPrescriptions = []
1879
         this.curPrescriptions = []
2500
 
2504
 
2501
       },
2505
       },
2502
       removeTab(targetName) {
2506
       removeTab(targetName) {
2503
-        if (this.curPrescriptions.order_status == 2) {
2504
-          this.$message.error('该处方已经结算,无法删除')
2507
+        if (this.curPrescriptions.order_status == 2 || this.curPrescriptions.order_status == 5) {
2508
+          this.$message.error('该处方已经结算或者记账,无法删除')
2505
           return
2509
           return
2506
         }
2510
         }
2507
         this.$confirm('处方删除后不可恢复,是否确认删除', '删除', {
2511
         this.$confirm('处方删除后不可恢复,是否确认删除', '删除', {

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

123
         },
123
         },
124
         //获取历史数据历史模板
124
         //获取历史数据历史模板
125
         getlist(){
125
         getlist(){
126
-            
127
             const params = {
126
             const params = {
128
                keyword:this.search_input,
127
                keyword:this.search_input,
129
                start_time:this.start_time,
128
                start_time:this.start_time,
130
                end_time:this.end_time
129
                end_time:this.end_time
131
             }
130
             }
132
-         
133
           getHistoryTemplate(params).then(response=>{
131
           getHistoryTemplate(params).then(response=>{
134
             if(response.data.state == 1){
132
             if(response.data.state == 1){
135
               var template =  response.data.data.template
133
               var template =  response.data.data.template

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

275
         cb(results)
275
         cb(results)
276
       },
276
       },
277
       delAddition(index, addition) {
277
       delAddition(index, addition) {
278
-        if (this.prescription.order_status == 2) {
279
-          this.$message.error('该处方已经结算,无法删除')
278
+        if (this.prescription.order_status == 2 || this.prescription.order_status == 5) {
279
+          this.$message.error('该处方已经结算或记账,无法删除')
280
           return
280
           return
281
         }
281
         }
282
         this.$confirm('附加费删除后不可恢复,是否确认删除', '删除', {
282
         this.$confirm('附加费删除后不可恢复,是否确认删除', '删除', {
323
         })
323
         })
324
 
324
 
325
       }, deleteDrug: function(index, row) {
325
       }, deleteDrug: function(index, row) {
326
-        if (this.prescription.order_status == 2) {
327
-          this.$message.error('该处方已经结算,无法删除')
326
+        if (this.prescription.order_status == 2 ||  this.prescription.order_status ==5) {
327
+          this.$message.error('该处方已经结算或记账,无法删除')
328
           return
328
           return
329
         }
329
         }
330
         this.$confirm('药品删除后不可恢复,是否确认删除', '删除', {
330
         this.$confirm('药品删除后不可恢复,是否确认删除', '删除', {
394
         return name
394
         return name
395
       },
395
       },
396
       deleteProject(row, i) {
396
       deleteProject(row, i) {
397
-        if (this.prescription.order_status == 2) {
398
-          this.$message.error('该处方已经结算,无法删除')
397
+        if (this.prescription.order_status == 2  || this.prescription.order_status == 5) {
398
+          this.$message.error('该处方已经结算或记账,无法删除')
399
           return
399
           return
400
         }
400
         }
401
         this.$confirm('项目删除后不可恢复,是否确认删除', '删除', {
401
         this.$confirm('项目删除后不可恢复,是否确认删除', '删除', {

+ 9 - 5
src/xt_pages/outpatientDoctorStation/doctorDesk.vue View File

134
             <!-- <el-button size="small" ref="button_four"  @click="open(5)" type="primary" :disabled='prescriptions && prescriptions[0].advices && prescriptions[0].project ? prescriptions[0].advices.length == 0 && prescriptions[0].project.length == 0 : false'>存模板</el-button> -->
134
             <!-- <el-button size="small" ref="button_four"  @click="open(5)" type="primary" :disabled='prescriptions && prescriptions[0].advices && prescriptions[0].project ? prescriptions[0].advices.length == 0 && prescriptions[0].project.length == 0 : false'>存模板</el-button> -->
135
           </div>
135
           </div>
136
           <div class="mainCell fixedCell" style="float:right" v-if="titleType == '电子病历'">
136
           <div class="mainCell fixedCell" style="float:right" v-if="titleType == '电子病历'">
137
-            <el-button size="small" :loading="keepLoad" @click="opentwo(1)" type="primary">保存</el-button>
137
+            <el-button size="small" @click="opentwo(1)" type="primary">保存</el-button>
138
             <el-button size="small" @click="opentwo(2)" type="primary">打印</el-button>
138
             <el-button size="small" @click="opentwo(2)" type="primary">打印</el-button>
139
             <el-button size="small" @click="opentwo(3)" type="primary">病历调用</el-button>
139
             <el-button size="small" @click="opentwo(3)" type="primary">病历调用</el-button>
140
             <el-button size="small" @click="opentwo(4)" type="primary">存模板</el-button>
140
             <el-button size="small" @click="opentwo(4)" type="primary">存模板</el-button>
275
         <template>
275
         <template>
276
           <el-button
276
           <el-button
277
               style="float:right;"
277
               style="float:right;"
278
-              :loading="loading"
279
               size="small"
278
               size="small"
280
               icon="el-icon-printer"
279
               icon="el-icon-printer"
281
               @click="printThisPage"
280
               @click="printThisPage"
4507
           record: this.record_date,
4506
           record: this.record_date,
4508
           prescription_id: this.prescription_id,
4507
           prescription_id: this.prescription_id,
4509
           ids: ids1,
4508
           ids: ids1,
4510
-          patient_id: this.patientid
4509
+          patient_id: this.patientid,
4510
+          his_patient_id: this.hisPatientInfo.id,
4511
         }
4511
         }
4512
         this.paramsObj = obj1
4512
         this.paramsObj = obj1
4513
       }
4513
       }
4523
           record: this.record_date,
4523
           record: this.record_date,
4524
           prescription_id: this.prescription_id,
4524
           prescription_id: this.prescription_id,
4525
           ids: ids2,
4525
           ids: ids2,
4526
-          patient_id: this.patientid
4526
+          patient_id: this.patientid,
4527
+          his_patient_id: this.hisPatientInfo.id,
4528
+
4527
         }
4529
         }
4528
         this.paramsObj2 = obj2
4530
         this.paramsObj2 = obj2
4529
       }
4531
       }
4537
           record: this.record_date,
4539
           record: this.record_date,
4538
           prescription_id: this.prescription_id,
4540
           prescription_id: this.prescription_id,
4539
           ids: ids2,
4541
           ids: ids2,
4540
-          patient_id: this.patientid
4542
+          patient_id: this.patientid,
4543
+          his_patient_id: this.hisPatientInfo.id,
4544
+
4541
         }
4545
         }
4542
         this.paramsObj3 = obj3
4546
         this.paramsObj3 = obj3
4543
       }
4547
       }

+ 296 - 244
src/xt_pages/outpatientDoctorStation/pastInquiries.vue View File

6
     <div class="app-container">
6
     <div class="app-container">
7
       <div class="cell clearfix">
7
       <div class="cell clearfix">
8
         <el-input
8
         <el-input
9
-          size="small"
10
-          style="width: 150px"
11
-          v-model="keywords"
12
-          class="filter-item"
9
+            size="small"
10
+            style="width: 150px"
11
+            v-model="keywords"
12
+            class="filter-item"
13
         />
13
         />
14
         <el-button
14
         <el-button
15
-          size="small"
16
-          style="margin: 0 10px"
17
-          class="filter-item"
18
-          type="primary"
19
-          @click="searchAction"
20
-          >搜索
15
+            size="small"
16
+            style="margin: 0 10px"
17
+            class="filter-item"
18
+            type="primary"
19
+            @click="searchAction"
20
+        >搜索
21
         </el-button>
21
         </el-button>
22
         <el-date-picker
22
         <el-date-picker
23
-          v-model="record_date"
24
-          prefix-icon="el-icon-date"
25
-          @change="handleScheduleDateChange"
26
-          :editable="false"
27
-          :clearable="false"
28
-          style="width: 196px; margin-right: 10px"
29
-          type="date"
30
-          format="yyyy-MM-dd"
31
-          value-format="yyyy-MM-dd"
32
-          placeholder="选择日期时间"
33
-          align="right"
23
+            v-model="record_date"
24
+            prefix-icon="el-icon-date"
25
+            @change="handleScheduleDateChange"
26
+            :editable="false"
27
+            :clearable="false"
28
+            style="width: 196px; margin-right: 10px"
29
+            type="date"
30
+            format="yyyy-MM-dd"
31
+            value-format="yyyy-MM-dd"
32
+            placeholder="选择日期时间"
33
+            align="right"
34
         ></el-date-picker>
34
         ></el-date-picker>
35
         <el-button
35
         <el-button
36
-          size="small"
37
-          style="margin: 0 10px"
38
-          class="filter-item"
39
-          type="primary"
40
-          @click="batchPrint(1)"
41
-          >处方筏批量打印</el-button
36
+            size="small"
37
+            style="margin: 0 10px"
38
+            class="filter-item"
39
+            type="primary"
40
+            @click="batchPrint(1)"
41
+        >处方筏批量打印
42
+        </el-button
42
         >
43
         >
43
         <el-button
44
         <el-button
44
-          size="small"
45
-          style="margin: 0 10px"
46
-          class="filter-item"
47
-          type="primary"
48
-          @click="batchPrint(2)"
49
-          >治疗单批量打印</el-button
45
+            size="small"
46
+            style="margin: 0 10px"
47
+            class="filter-item"
48
+            type="primary"
49
+            @click="batchPrint(2)"
50
+        >治疗单批量打印
51
+        </el-button
50
         >
52
         >
51
         <el-button
53
         <el-button
52
-          size="small"
53
-          style="margin: 0 10px"
54
-          class="filter-item"
55
-          type="primary"
56
-          @click="batchPrint(3)"
57
-          >检验单批量打印</el-button
54
+            size="small"
55
+            style="margin: 0 10px"
56
+            class="filter-item"
57
+            type="primary"
58
+            @click="batchPrint(3)"
59
+        >检验单批量打印
60
+        </el-button
58
         >
61
         >
59
       </div>
62
       </div>
60
       <el-table
63
       <el-table
61
-        :data="tableData"
62
-        border
63
-        ref="table"
64
-        style="width: 100%"
65
-        :row-style="{ color: '#303133' }"
66
-        @selection-change="handleSelectionChange"
67
-        :header-cell-style="{
64
+          :data="tableData"
65
+          border
66
+          ref="table"
67
+          style="width: 100%"
68
+          :row-style="{ color: '#303133' }"
69
+          @selection-change="handleSelectionChange"
70
+          :header-cell-style="{
68
           backgroundColor: 'rgb(245, 247, 250)',
71
           backgroundColor: 'rgb(245, 247, 250)',
69
           color: '#606266',
72
           color: '#606266',
70
         }"
73
         }"
71
-        highlight-current-row
74
+          highlight-current-row
72
       >
75
       >
73
         <el-table-column
76
         <el-table-column
74
-          align="center"
75
-          type="selection"
76
-          width="55"
77
+            align="center"
78
+            type="selection"
79
+            width="55"
77
         ></el-table-column>
80
         ></el-table-column>
78
         <el-table-column
81
         <el-table-column
79
-          align="center"
80
-          label="序号"
81
-          width="60"
82
-          type="index"
82
+            align="center"
83
+            label="序号"
84
+            width="60"
85
+            type="index"
83
         ></el-table-column>
86
         ></el-table-column>
84
         <el-table-column align="center" prop="name" label="姓名" width="100">
87
         <el-table-column align="center" prop="name" label="姓名" width="100">
85
           <template slot-scope="scope">{{
88
           <template slot-scope="scope">{{
86
-            scope.row.patients ? scope.row.patients.name : ""
87
-          }}</template>
89
+              scope.row.patients ? scope.row.patients.name : ''
90
+            }}
91
+          </template>
88
         </el-table-column>
92
         </el-table-column>
89
         <el-table-column
93
         <el-table-column
90
-          align="center"
91
-          prop="name"
92
-          label="处方日期"
93
-          width="200"
94
+            align="center"
95
+            prop="name"
96
+            label="处方日期"
97
+            width="200"
94
         >
98
         >
95
           <template slot-scope="scope">
99
           <template slot-scope="scope">
96
-            {{ getTimes(scope.row.ctime) }}</template
100
+            {{ getTimes(scope.row.ctime) }}
101
+          </template
97
           >
102
           >
98
         </el-table-column>
103
         </el-table-column>
99
         <!--<el-table-column align="center" prop="name" label="患者类型">-->
104
         <!--<el-table-column align="center" prop="name" label="患者类型">-->
101
         <!--</el-table-column>-->
106
         <!--</el-table-column>-->
102
         <el-table-column align="center" prop="name" label="处方号">
107
         <el-table-column align="center" prop="name" label="处方号">
103
           <template slot-scope="scope">{{
108
           <template slot-scope="scope">{{
104
-            scope.row.prescription_number
105
-          }}</template>
109
+              scope.row.prescription_number
110
+            }}
111
+          </template>
106
         </el-table-column>
112
         </el-table-column>
107
         <el-table-column align="center" prop="name" label="开立医生">
113
         <el-table-column align="center" prop="name" label="开立医生">
108
           <template slot-scope="scope">{{ scope.row.doctor }}</template>
114
           <template slot-scope="scope">{{ scope.row.doctor }}</template>
109
         </el-table-column>
115
         </el-table-column>
110
         <el-table-column align="center" prop="name" label="诊断">
116
         <el-table-column align="center" prop="name" label="诊断">
111
           <template slot-scope="scope">{{
117
           <template slot-scope="scope">{{
112
-            getDiagnosis(scope.row.diagnosis)
113
-          }}</template>
118
+              getDiagnosis(scope.row.diagnosis)
119
+            }}
120
+          </template>
114
         </el-table-column>
121
         </el-table-column>
115
         <el-table-column align="center" prop="name" label="状态" width="100">
122
         <el-table-column align="center" prop="name" label="状态" width="100">
116
           <template slot-scope="scope">
123
           <template slot-scope="scope">
121
         <el-table-column align="center" prop="name" label="操作" width="100">
128
         <el-table-column align="center" prop="name" label="操作" width="100">
122
           <template slot-scope="scope">
129
           <template slot-scope="scope">
123
             <el-button
130
             <el-button
124
-              size="mini"
125
-              type="primary"
126
-              @click="handerShowDetail(scope.row)"
127
-              >详情</el-button
131
+                size="mini"
132
+                type="primary"
133
+                @click="handerShowDetail(scope.row)"
134
+            >详情
135
+            </el-button
128
             >
136
             >
129
           </template>
137
           </template>
130
         </el-table-column>
138
         </el-table-column>
131
       </el-table>
139
       </el-table>
132
       <el-pagination
140
       <el-pagination
133
-        @size-change="handleSizeChange"
134
-        @current-change="handleCurrentChange"
135
-        :page-sizes="[10, 50, 100]"
136
-        :page-size="10"
137
-        background
138
-        style="margin-top: 20px; float: right"
139
-        layout="total, sizes, prev, pager, next, jumper"
140
-        :total="total"
141
+          @size-change="handleSizeChange"
142
+          @current-change="handleCurrentChange"
143
+          :page-sizes="[10, 50, 100]"
144
+          :page-size="10"
145
+          background
146
+          style="margin-top: 20px; float: right"
147
+          layout="total, sizes, prev, pager, next, jumper"
148
+          :total="total"
141
       >
149
       >
142
       </el-pagination>
150
       </el-pagination>
143
       <inquiries-detail ref="inquiriesDetail"></inquiries-detail>
151
       <inquiries-detail ref="inquiriesDetail"></inquiries-detail>
144
       <el-dialog
152
       <el-dialog
145
-        class="centerDialog"
146
-        width="600px"
147
-        title="打印"
148
-        :visible.sync="innerVisible"
149
-        append-to-body
153
+          class="centerDialog"
154
+          width="600px"
155
+          title="打印"
156
+          :visible.sync="innerVisible"
157
+          append-to-body
150
       >
158
       >
151
         <template>
159
         <template>
152
           <el-button
160
           <el-button
153
-            style="float: right"
154
-            size="small"
155
-            icon="el-icon-printer"
156
-            @click="printThisPage(printData)"
157
-            type="primary"
158
-            >打印
161
+              style="float: right"
162
+              size="small"
163
+              icon="el-icon-printer"
164
+              @click="printThisPage(printData)"
165
+              type="primary"
166
+          >打印
159
           </el-button>
167
           </el-button>
160
         </template>
168
         </template>
161
         <div id="printMain">
169
         <div id="printMain">
162
           <print
170
           <print
163
-            ref="print"
164
-            v-if="printType == 1"
165
-            :printData="printData"
171
+              ref="print"
172
+              v-if="printType == 1"
173
+              :printData="printData"
166
           ></print>
174
           ></print>
167
           <treatPrint
175
           <treatPrint
168
-            ref="treatPrint"
169
-            v-if="printType == 2"
170
-            :printData="printData"
176
+              ref="treatPrint"
177
+              v-if="printType == 2"
178
+              :printData="printData"
171
           ></treatPrint>
179
           ></treatPrint>
172
           <checkPrint
180
           <checkPrint
173
-            ref="checkPrint"
174
-            v-if="printType == 3"
175
-            :printData="printData"
181
+              ref="checkPrint"
182
+              v-if="printType == 3"
183
+              :printData="printData"
176
           ></checkPrint>
184
           ></checkPrint>
177
         </div>
185
         </div>
178
       </el-dialog>
186
       </el-dialog>
181
 </template>
189
 </template>
182
 
190
 
183
 <script>
191
 <script>
184
-import BreadCrumb from "@/xt_pages/components/bread-crumb";
185
-import inquiriesDetail from "./components/inquiriesDetail";
186
-import { getHisPrescriptionList } from "@/api/his/his";
187
-import { uParseTime } from "@/utils/tools";
188
-import { getInitData, getBatchPrint } from "@/api/his/his";
189
-import print from "./batch_print_template/index";
190
-import treatPrint from "./batch_print_treatTemplate/index";
191
-import checkPrint from "./batch_print_checkTemplate/index";
192
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
193
+import inquiriesDetail from './components/inquiriesDetail'
194
+import { getBatchPrint, getHisPrescriptionList, getInitData } from '@/api/his/his'
195
+import { uParseTime } from '@/utils/tools'
196
+import print from './batch_print_template/index'
197
+import treatPrint from './batch_print_treatTemplate/index'
198
+import checkPrint from './batch_print_checkTemplate/index'
199
+
192
 export default {
200
 export default {
193
   components: {
201
   components: {
194
     BreadCrumb,
202
     BreadCrumb,
195
     inquiriesDetail,
203
     inquiriesDetail,
196
     print,
204
     print,
197
     treatPrint,
205
     treatPrint,
198
-    checkPrint,
206
+    checkPrint
199
   },
207
   },
200
   data() {
208
   data() {
201
     return {
209
     return {
202
-      keywords: "",
210
+      keywords: '',
203
       total: 0,
211
       total: 0,
204
-      record_date: "",
212
+      record_date: '',
205
       page: 1,
213
       page: 1,
206
       limit: 10,
214
       limit: 10,
207
       crumbs: [
215
       crumbs: [
208
-        { path: false, name: "门诊医生站" },
209
-        { path: false, name: "既往查询" },
216
+        { path: false, name: '门诊医生站' },
217
+        { path: false, name: '既往查询' }
210
       ],
218
       ],
211
       tableData: [],
219
       tableData: [],
212
       diagnoses: [],
220
       diagnoses: [],
214
       selecting_schs: [],
222
       selecting_schs: [],
215
       printData: [],
223
       printData: [],
216
       printType: 0,
224
       printType: 0,
217
-      org_id: "",
218
-    };
225
+      org_id: ''
226
+    }
219
   },
227
   },
220
   methods: {
228
   methods: {
221
     printThisPage(printData) {
229
     printThisPage(printData) {
222
       printData.forEach((item) => {
230
       printData.forEach((item) => {
223
         const print = new Promise((resolve, reject) => {
231
         const print = new Promise((resolve, reject) => {
224
           if (item.prescriptions.length != 0) {
232
           if (item.prescriptions.length != 0) {
225
-            resolve(item.prescriptions);
233
+            resolve(item.prescriptions)
226
           } else {
234
           } else {
227
-            reject(false);
235
+            reject(false)
228
           }
236
           }
229
-        });
237
+        })
230
         print
238
         print
231
-          .then((printData) => {
232
-            if (this.org_id == 10138) {
233
-              const style =
234
-                "@media print {#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;margin-top:10px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:350px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 88%;}}#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;margin-top:10px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:350px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 87%;}}}";
235
-              printJS({
236
-                printable: "printMain",
237
-                type: "html",
238
-                style: style,
239
-                scanStyles: false,
240
-              });
241
-            }
242
-            if (this.printType == 3) {
243
-              const style =
244
-                "@media print {html {zoom: 80%;}}#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}#prescriptionPrint div{box-shadow:none;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 20px;}.infoTitle{display: flex;margin-top:10px;line-height: 24px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}.NoCell{display: flex;justify-content: space-between;margin-bottom: 10px;}.underLine{display: inline-block;border-bottom: 1px solid #000;text-align: center;line-height: 24px;}.basicCell{display: flex;} .basicCell span{line-height: 24px;margin-bottom: 10px;}}";
245
-              printJS({
246
-                printable: "printMain",
247
-                type: "html",
248
-                style: style,
249
-                scanStyles: false,
250
-              });
251
-            } else {
252
-              const style =
253
-                "@media print {html {height: auto;margin: 0px;} #prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;border-bottom: 2px solid #000;margin-top:10px;line-height: 1px; padding:0 10px;}.infoTitle p{width: 200px;font-size:14px;}.infoMain{display: flex;flex-wrap: wrap;border-bottom: 2px solid #000;padding:0 10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 80%;}}#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 20px;}.infoTitle{display: flex;margin-top:10px;line-height: 24px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}.NoCell{display: flex;justify-content: space-between;margin-bottom: 10px;}.underLine{display: inline-block;border-bottom: 1px solid #000;text-align: center;line-height: 24px;}.basicCell{display: flex;} .basicCell span{line-height: 24px;margin-bottom: 10px;}}";
254
-              printJS({
255
-                printable: "printMain",
256
-                type: "html",
257
-                style: style,
258
-                scanStyles: false,
259
-              });
260
-            }
261
-          })
262
-          .catch((reject) => {});
263
-      });
239
+            .then((printData) => {
240
+              if (this.org_id == 10138) {
241
+                const style =
242
+                    '@media print {#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;margin-top:10px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:350px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 88%;}}#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;margin-top:10px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:350px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 87%;}}}'
243
+                printJS({
244
+                  printable: 'printMain',
245
+                  type: 'html',
246
+                  style: style,
247
+                  scanStyles: false
248
+                })
249
+              }
250
+              if (this.printType == 1) {
251
+                const style =
252
+                    '@media print {html {height: auto;margin: 0px;} #prescription-print{font-size:14px;border:1px solid white;margin-bottom:40px;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;border-bottom: 2px solid #000;margin-top:10px;line-height: 1px; padding:0 10px;}.infoTitle p{width: 200px;font-size:14px;}.infoMain{display: flex;flex-wrap: wrap;border-bottom: 2px solid #000;padding:0 10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 80%;}}#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 20px;}.infoTitle{display: flex;margin-top:10px;line-height: 24px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}.NoCell{display: flex;justify-content: space-between;margin-bottom: 10px;}.underLine{display: inline-block;border-bottom: 1px solid #000;text-align: center;line-height: 24px;}.basicCell{display: flex;} .basicCell span{line-height: 24px;margin-bottom: 10px;}}'
253
+                printJS({
254
+                  printable: 'printMain',
255
+                  type: 'html',
256
+                  style: style,
257
+                  scanStyles: false
258
+                })
259
+              }
260
+              if (this.printType == 2) {
261
+                const style =
262
+                    '@media print {html {height: auto;margin: 0px;} .printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;border-bottom: 2px solid #000;margin-top:10px;line-height: 1px; padding:0 10px;}.infoTitle p{width: 200px;font-size:14px;}.infoMain{display: flex;flex-wrap: wrap;border-bottom: 2px solid #000;padding:0 10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:360px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 80%;}}#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 20px;}.infoTitle{display: flex;margin-top:10px;line-height: 24px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}.NoCell{display: flex;justify-content: space-between;margin-bottom: 10px;}.underLine{display: inline-block;border-bottom: 1px solid #000;text-align: center;line-height: 24px;}.basicCell{display: flex;} .basicCell span{line-height: 24px;margin-bottom: 10px;}.doctor_style{border: none}.doctor_style tr{page-break-inside:avoid;}.doctor_style tr td{border: 1px solid #000;}}'
263
+                printJS({
264
+                  printable: 'printMain',
265
+                  type: 'html',
266
+                  style: style,
267
+                  scanStyles: false
268
+                })
269
+              }
270
+              if (this.printType == 3) {
271
+                const style =
272
+                    '@media print {html {zoom: 80%;}}#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}#prescriptionPrint div{box-shadow:none;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 20px;}.infoTitle{display: flex;margin-top:10px;line-height: 24px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}.NoCell{display: flex;justify-content: space-between;margin-bottom: 10px;}.underLine{display: inline-block;border-bottom: 1px solid #000;text-align: center;line-height: 24px;}.basicCell{display: flex;} .basicCell span{line-height: 24px;margin-bottom: 10px;}}'
273
+                printJS({
274
+                  printable: 'printMain',
275
+                  type: 'html',
276
+                  style: style,
277
+                  scanStyles: false
278
+                })
279
+              } 
280
+              // else {
281
+              //   const style =
282
+              //       '@media print {html {height: auto;margin: 0px;} #prescription-print{font-size:14px;border:1px solid white;margin-bottom:40px;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;border-bottom: 2px solid #000;margin-top:10px;line-height: 1px; padding:0 10px;}.infoTitle p{width: 200px;font-size:14px;}.infoMain{display: flex;flex-wrap: wrap;border-bottom: 2px solid #000;padding:0 10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 80%;}}#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 20px;}.infoTitle{display: flex;margin-top:10px;line-height: 24px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:450px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}.NoCell{display: flex;justify-content: space-between;margin-bottom: 10px;}.underLine{display: inline-block;border-bottom: 1px solid #000;text-align: center;line-height: 24px;}.basicCell{display: flex;} .basicCell span{line-height: 24px;margin-bottom: 10px;}}'
283
+              //   printJS({
284
+              //     printable: 'printMain',
285
+              //     type: 'html',
286
+              //     style: style,
287
+              //     scanStyles: false
288
+              //   })
289
+              // }
290
+            })
291
+            .catch((reject) => {
292
+            })
293
+      })
264
 
294
 
265
-      this.innerVisible = false;
295
+      this.innerVisible = false
266
       // this.$nextTick(() => {
296
       // this.$nextTick(() => {
267
       //   this.$refs.print.printThisPage()
297
       //   this.$refs.print.printThisPage()
268
       //   this.$refs.treatPrint.printThisPage()
298
       //   this.$refs.treatPrint.printThisPage()
271
     },
301
     },
272
 
302
 
273
     searchAction() {
303
     searchAction() {
274
-      this.page = 1;
275
-      this.limit = 10;
276
-      this.getHisPrescriptionList();
304
+      this.page = 1
305
+      this.limit = 10
306
+      this.getHisPrescriptionList()
277
     },
307
     },
278
     handleScheduleDateChange() {
308
     handleScheduleDateChange() {
279
-      this.page = 1;
280
-      this.limit = 10;
281
-      this.getHisPrescriptionList();
309
+      this.page = 1
310
+      this.limit = 10
311
+      this.getHisPrescriptionList()
282
     },
312
     },
283
     handleCurrentChange(page) {
313
     handleCurrentChange(page) {
284
-      this.page = page;
285
-      this.getHisPrescriptionList();
314
+      this.page = page
315
+      this.getHisPrescriptionList()
286
     },
316
     },
287
 
317
 
288
     handleSizeChange(limit) {
318
     handleSizeChange(limit) {
289
-      this.limit = limit;
290
-      this.getHisPrescriptionList();
319
+      this.limit = limit
320
+      this.getHisPrescriptionList()
291
     },
321
     },
292
     getTimes(time) {
322
     getTimes(time) {
293
-      return uParseTime(time, "{y}-{m}-{d} {h}:{i}:{s}");
323
+      return uParseTime(time, '{y}-{m}-{d} {h}:{i}:{s}')
294
     },
324
     },
295
     handerShowDetail(row) {
325
     handerShowDetail(row) {
296
       if (row.id == 0) {
326
       if (row.id == 0) {
297
-        this.$message.error("未就诊");
298
-        return;
327
+        this.$message.error('未就诊')
328
+        return
299
       }
329
       }
300
-      this.$refs.inquiriesDetail.show(row.id);
330
+      this.$refs.inquiriesDetail.show(row.id)
301
     },
331
     },
302
     getHisPrescriptionList() {
332
     getHisPrescriptionList() {
303
       let params = {
333
       let params = {
304
         record_date: this.record_date,
334
         record_date: this.record_date,
305
         page: this.page,
335
         page: this.page,
306
         limit: this.limit,
336
         limit: this.limit,
307
-        keywords: this.keywords,
308
-      };
337
+        keywords: this.keywords
338
+      }
309
       getHisPrescriptionList(params).then((response) => {
339
       getHisPrescriptionList(params).then((response) => {
310
         if (response.data.state == 0) {
340
         if (response.data.state == 0) {
311
-          this.$message.error(response.data.msg);
312
-          return false;
341
+          this.$message.error(response.data.msg)
342
+          return false
313
         } else {
343
         } else {
314
-          this.tableData = response.data.data.order;
315
-          this.total = response.data.data.total;
344
+          this.tableData = response.data.data.order
345
+          this.total = response.data.data.total
316
           this.$nextTick(() => {
346
           this.$nextTick(() => {
317
-            this.$refs.table.doLayout(); //解决表格错位
318
-          });
347
+            this.$refs.table.doLayout() //解决表格错位
348
+          })
319
         }
349
         }
320
-      });
350
+      })
321
     },
351
     },
322
     getInitData() {
352
     getInitData() {
323
       getInitData().then((response) => {
353
       getInitData().then((response) => {
324
         if (response.data.state == 0) {
354
         if (response.data.state == 0) {
325
-          this.$message.error(response.data.msg);
326
-          return false;
355
+          this.$message.error(response.data.msg)
356
+          return false
327
         } else {
357
         } else {
328
-          this.diagnoses = response.data.data.diagnose;
329
-          console.log("诊断列表", this.diagnoses);
358
+          this.diagnoses = response.data.data.diagnose
359
+          console.log('诊断列表', this.diagnoses)
330
         }
360
         }
331
-      });
361
+      })
332
     },
362
     },
333
     getDiagnosis(id) {
363
     getDiagnosis(id) {
334
-      let ids = id.split(",");
335
-      var name = "";
364
+      let ids = id.split(',')
365
+      var name = ''
336
       for (let i = 0; i < ids.length; i++) {
366
       for (let i = 0; i < ids.length; i++) {
337
         for (let b = 0; b < this.diagnoses.length; b++) {
367
         for (let b = 0; b < this.diagnoses.length; b++) {
338
           if (parseInt(ids[i]) == this.diagnoses[b].id) {
368
           if (parseInt(ids[i]) == this.diagnoses[b].id) {
339
             if (name.length == 0) {
369
             if (name.length == 0) {
340
-              name = this.diagnoses[b].class_name;
370
+              name = this.diagnoses[b].class_name
341
             } else {
371
             } else {
342
-              name = name + "," + this.diagnoses[b].class_name;
372
+              name = name + ',' + this.diagnoses[b].class_name
343
             }
373
             }
344
           }
374
           }
345
         }
375
         }
346
       }
376
       }
347
-      return name;
377
+      return name
348
     },
378
     },
349
     handleSelectionChange(val) {
379
     handleSelectionChange(val) {
350
-      this.selecting_schs = val;
380
+      this.selecting_schs = val
351
     },
381
     },
352
     batchPrint(type) {
382
     batchPrint(type) {
353
-      this.printType = type;
383
+      this.printType = type
354
       if (this.selecting_schs.length === 0) {
384
       if (this.selecting_schs.length === 0) {
355
-        this.$message.error("请至少选择一条需要打印的内容");
356
-        return false;
385
+        this.$message.error('请至少选择一条需要打印的内容')
386
+        return false
357
       } else {
387
       } else {
358
-        var sch_ids = [];
388
+        var sch_ids = []
359
         for (let index = 0; index < this.selecting_schs.length; index++) {
389
         for (let index = 0; index < this.selecting_schs.length; index++) {
360
-          sch_ids.push(this.selecting_schs[index].patient_id);
390
+          sch_ids.push(this.selecting_schs[index].patient_id)
361
         }
391
         }
362
         let params = {
392
         let params = {
363
           record_date: this.record_date,
393
           record_date: this.record_date,
364
-          patient_ids: sch_ids.join(","),
365
-          type: type,
366
-        };
394
+          patient_ids: sch_ids.join(','),
395
+          type: type
396
+        }
367
         getBatchPrint(params).then((res) => {
397
         getBatchPrint(params).then((res) => {
368
-          let Arr = res.data.data.patients;
369
-          let new_patients = [];
398
+          let Arr = res.data.data.patients
399
+
400
+
401
+          let new_patients = []
370
           if (type != 3) {
402
           if (type != 3) {
371
             Arr.forEach((i) => {
403
             Arr.forEach((i) => {
372
               if (i.prescriptions.length != 0) {
404
               if (i.prescriptions.length != 0) {
373
-                new_patients.push(i);
405
+                new_patients.push(i)
374
               }
406
               }
375
-            });
407
+            })
376
           } else {
408
           } else {
377
-            // 过滤检查单数据出来,筛选出有检查项目的单子,不显示没有检查项目的单子
378
             Arr.forEach((el) => {
409
             Arr.forEach((el) => {
379
-              el.prescriptions.forEach((o) => {
410
+              el.new_prescriptions.forEach((o) => {
380
                 o.project.forEach((i) => {
411
                 o.project.forEach((i) => {
381
-                  if (i.team.project_team != "") {
382
-                    new_patients.push(el);
412
+                  if (i.team.project_team != '') {
413
+                    new_patients.push(el)
383
                   }
414
                   }
384
-                });
385
-              });
386
-            });
387
-            let projectPrint = [];
415
+                })
416
+              })
417
+            })
418
+            let projectPrint = []
388
             new_patients.forEach((el) => {
419
             new_patients.forEach((el) => {
389
-              el.prescriptions.map((item) => {
420
+              el.new_prescriptions.map((item) => {
390
                 if (item.project.length > 0) {
421
                 if (item.project.length > 0) {
391
                   item.project.map((it) => {
422
                   item.project.map((it) => {
392
-                    // if (it.type == 2) {
393
-                    //   if (it.project.cost_classify == 3) {
394
-                    //     projectPrint.push(it);
395
-                    //   }
396
-                    // }
397
-                    projectPrint.push(it);
398
-                  });
423
+                    projectPrint.push(it)
424
+                  })
399
                 }
425
                 }
400
-              });
401
-            });
402
-            console.log(projectPrint, "projectPrint----去重前");
426
+              })
427
+            })
403
             // 数组去重
428
             // 数组去重
404
-            projectPrint = this.split_project(projectPrint);
429
+            projectPrint = this.split_project(projectPrint)
405
             // 配对
430
             // 配对
406
-            let data = [];
431
+            let data = []
407
             projectPrint.map((item) => {
432
             projectPrint.map((item) => {
408
               if (item.team.id == 0) {
433
               if (item.team.id == 0) {
409
-                data.push(item);
434
+                data.push(item)
410
               } else {
435
               } else {
411
-                if(item.team.project_team != ""){
436
+                if (item.team.project_team != '') {
412
                   new_patients.push(item)
437
                   new_patients.push(item)
413
                 }
438
                 }
414
               }
439
               }
415
-            });
440
+            })
441
+            new_patients = this.split_project_1(new_patients)
416
           }
442
           }
417
-
418
-          this.printData = new_patients;
419
-        });
443
+          this.printData = new_patients
444
+          console.log(this.printData, 'this.printData')
445
+        })
420
       }
446
       }
421
-      this.innerVisible = true;
447
+      this.innerVisible = true
422
     },
448
     },
423
-
449
+    // 外层去重方
424
     split_project(Arr) {
450
     split_project(Arr) {
425
-      let hash = {};
426
-      Arr = Arr.reduce((preVal, curVal) => {
427
-        hash[curVal.id] ? "" : (hash[curVal.id] = true && preVal.push(curVal));
428
-        return preVal;
429
-      }, []);
430
-      return Arr;
451
+      let hash = {}
452
+      let new_Arr = []
453
+      new_Arr = Arr.reduce((preVal, curVal) => {
454
+        hash[curVal.id] ? '' : (hash[curVal.id] = true && preVal.push(curVal))
455
+        return preVal
456
+      }, [])
457
+      Arr = new_Arr.reduce((preVal, curVal) => {
458
+        hash[curVal.team.project_team]
459
+            ? ''
460
+            : (hash[curVal.team.project_team] = true && preVal.push(curVal))
461
+        return preVal
462
+      }, [])
463
+      return Arr
431
     },
464
     },
465
+
466
+    // 内层去重
467
+    split_project_1(Arr) {
468
+      let hash = {}
469
+      let new_Arr = []
470
+      Arr = Arr.reduce((preVal, curVal) => {
471
+        hash[curVal.id] ? '' : (hash[curVal.id] = true && preVal.push(curVal))
472
+        return preVal
473
+      }, [])
474
+
475
+      Arr.forEach(el => {
476
+        if (el.name) {
477
+          new_Arr.push(el)
478
+        }
479
+      })
480
+
481
+      console.log(new_Arr, 'Arr')
482
+      return new_Arr
483
+    }
432
   },
484
   },
433
   created() {
485
   created() {
434
-    var nowDate = new Date();
435
-    var nowYear = nowDate.getFullYear();
436
-    var nowMonth = nowDate.getMonth() + 1;
437
-    var nowDay = nowDate.getDate();
486
+    var nowDate = new Date()
487
+    var nowYear = nowDate.getFullYear()
488
+    var nowMonth = nowDate.getMonth() + 1
489
+    var nowDay = nowDate.getDate()
438
     this.record_date =
490
     this.record_date =
439
-      nowYear +
440
-      "-" +
441
-      (nowMonth < 10 ? "0" + nowMonth : nowMonth) +
442
-      "-" +
443
-      (nowDay < 10 ? "0" + nowDay : nowDay);
491
+        nowYear +
492
+        '-' +
493
+        (nowMonth < 10 ? '0' + nowMonth : nowMonth) +
494
+        '-' +
495
+        (nowDay < 10 ? '0' + nowDay : nowDay)
444
 
496
 
445
-    this.org_id = this.$store.getters.xt_user.template_info.org_id;
497
+    this.org_id = this.$store.getters.xt_user.template_info.org_id
446
 
498
 
447
-    this.getHisPrescriptionList();
448
-    this.getInitData();
449
-  },
450
-};
499
+    this.getHisPrescriptionList()
500
+    this.getInitData()
501
+  }
502
+}
451
 </script>
503
 </script>

+ 13 - 55
src/xt_pages/outpatientDoctorStation/print.vue View File

19
  -->
19
  -->
20
     <div class="dialysisPage" style="padding-top: 40px">
20
     <div class="dialysisPage" style="padding-top: 40px">
21
       <div v-if="org_id != 10138 && org_id != 10278 && org_id != 10243 && org_id != 4 && org_id !=0">
21
       <div v-if="org_id != 10138 && org_id != 10278 && org_id != 10243 && org_id != 4 && org_id !=0">
22
+
22
         <printOne v-if="org_id != 10088 && org_id != 10215" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
23
         <printOne v-if="org_id != 10088 && org_id != 10215" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
23
 
24
 
24
-        <!--        <printSix-->
25
-<!--          v-if="org_id != 10088 && org_id != 10215"-->
26
-<!--          v-bind:childResponse="childResponse"-->
27
-<!--          :advicePrint="advicePrint"-->
28
-<!--          :ids="ids"-->
29
-<!--          :patient="patient"-->
30
-<!--          :hisPatient="hisPatient"-->
31
-<!--          :doctorPorject="doctorPorject"-->
32
-<!--          :patient_id="patient_id"-->
33
-<!--          :record_date="record_date"-->
34
-<!--          :prescription_id="prescription_id"-->
35
-<!--        ></printSix>-->
36
         <printFour
25
         <printFour
37
           v-if="org_id == 10088"
26
           v-if="org_id == 10088"
38
           v-bind:childResponse="childResponse"
27
           v-bind:childResponse="childResponse"
56
           :patient_id="patient_id"
45
           :patient_id="patient_id"
57
           :record_date="record_date"
46
           :record_date="record_date"
58
           :prescription_id="prescription_id"
47
           :prescription_id="prescription_id"
48
+          :his_patient_id ="his_patient_id"
59
         ></printFive>
49
         ></printFive>
60
 
50
 
61
         <!-- <printSix v-if="org_id != 10088 && org_id != 10215" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printSix> -->
51
         <!-- <printSix v-if="org_id != 10088 && org_id != 10215" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printSix> -->
75
       </div>
65
       </div>
76
       <div v-else>
66
       <div v-else>
77
         <printThree
67
         <printThree
78
-          v-bind:childResponse="childResponse"
79
           :advicePrint="advicePrint"
68
           :advicePrint="advicePrint"
80
           :ids="ids"
69
           :ids="ids"
81
           :patient="patient"
70
           :patient="patient"
91
 </template>
80
 </template>
92
 
81
 
93
 <script>
82
 <script>
94
-import { parseTime } from "@/utils";
95
-import { getDialysisRecord } from "@/api/dialysis";
96
-import { getDataConfig } from "@/utils/data";
97
-import { jsGetAge, uParseTime } from "@/utils/tools";
83
+import {  uParseTime } from "@/utils/tools";
98
 
84
 
99
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
85
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
100
 import print from "print-js";
86
 import print from "print-js";
106
 import {
92
 import {
107
   getAllDoctorList,
93
   getAllDoctorList,
108
   getAllHisPatientList,
94
   getAllHisPatientList,
109
-  getPrescriptionPrint,
110
 } from "@/api/project/project";
95
 } from "@/api/project/project";
111
 export default {
96
 export default {
112
   name: "dialysisPrintOrder",
97
   name: "dialysisPrintOrder",
136
       search_input: "",
121
       search_input: "",
137
       loading: false,
122
       loading: false,
138
       patient_id: "",
123
       patient_id: "",
124
+      his_patient_id:"",
139
       prescription_id: "",
125
       prescription_id: "",
140
       ids: "",
126
       ids: "",
141
       paramsObj: {},
127
       paramsObj: {},
225
       this.patient_id = row.patient_id;
211
       this.patient_id = row.patient_id;
226
       this.record_date = this.record_date;
212
       this.record_date = this.record_date;
227
       this.prescription_id = this.prescription_id;
213
       this.prescription_id = this.prescription_id;
228
-      console.log("row", row);
229
-      // var params = {
230
-      //   patient_id:row.patient_id,
231
-      //   record_date:this.record_date,
232
-      //   prescription_id:this.prescription_id,
233
-      // }
234
-      // getPrescriptionPrint(params).then(response=>{
235
-      //     if(response.data.state == 1){
236
-      //       var advicePrint =  response.data.data.advicePrint
237
-      //       console.log("adviceprint",advicePrint)
238
-      //       this.advicePrint = advicePrint
239
-      //       var patient =  response.data.data.patient
240
-      //       console.log("patient",patient)
241
-      //       this.patient = patient
242
-      //       //  var hisPatient =  response.data.data.hisPatient
243
-      //       // console.log("hispatient",hisPatient)
244
-      //       // this.hisPatient = hisPatient
245
-      //       var doctorPorject = response.data.data.doctorPorject
246
-      //       console.log("doctorporject",doctorPorject)
247
-      //       this.doctorPorject = doctorPorject
248
-      //     }
249
-      // })
214
+      this.his_patient_id = row.his_patient_id
215
+
250
     },
216
     },
251
     searchAction() {},
217
     searchAction() {},
252
   },
218
   },
253
 
219
 
254
   created() {
220
   created() {
255
-    this.org_id = this.$store.getters.xt_user.org_id;
256
-    console.log(this.org_id,'机构id')
257
-    this.getAllDoctorList();
258
-    var record_date = this.paramsObj.record;
259
-    this.record_date = record_date;
260
-    console.log("record_date", record_date);
261
-    var prescription_id = this.paramsObj.prescription_id;
262
-    this.prescription_id = prescription_id;
221
+    this.record_date =  this.paramsObj.record;
222
+    this.prescription_id =  this.paramsObj.prescription_id;
263
     this.patient_id = this.paramsObj.patient_id;
223
     this.patient_id = this.paramsObj.patient_id;
264
     this.ids = this.paramsObj.ids;
224
     this.ids = this.paramsObj.ids;
265
-    // var record_date = this.$route.query.record
266
-    // this.record_date = record_date
267
-    // console.log("record_date",record_date)
268
-    // var prescription_id = this.$route.query.prescription_id
269
-    // this.prescription_id = prescription_id
270
-    this.getAllHisPatientList(record_date);
225
+    this.org_id = this.$store.getters.xt_user.org_id;
226
+    this.his_patient_id = this.paramsObj.his_patient_id;
227
+    this.getAllDoctorList();
228
+    this.getAllHisPatientList(this.record_date);
271
   },
229
   },
272
   watch: {
230
   watch: {
273
     paramsObj: {
231
     paramsObj: {
275
       handler(val, oldVal) {
233
       handler(val, oldVal) {
276
         this.paramsObj = val;
234
         this.paramsObj = val;
277
         this.patient_id = this.paramsObj.patient_id;
235
         this.patient_id = this.paramsObj.patient_id;
236
+        this.his_patient_id = this.paramsObj.his_patient_id;
278
         var record_date = this.paramsObj.record;
237
         var record_date = this.paramsObj.record;
279
         this.record_date = record_date;
238
         this.record_date = record_date;
280
-        console.log("record_date", record_date);
281
         var prescription_id = this.paramsObj.prescription_id;
239
         var prescription_id = this.paramsObj.prescription_id;
282
         this.prescription_id = prescription_id;
240
         this.prescription_id = prescription_id;
283
         this.ids = this.paramsObj.ids;
241
         this.ids = this.paramsObj.ids;

+ 11 - 3
src/xt_pages/outpatientDoctorStation/template/printOne.vue View File

136
             >
136
             >
137
               {{ item.doctor }}
137
               {{ item.doctor }}
138
             </span>
138
             </span>
139
+            <span
140
+              style="width: 100px; display: inline-block"
141
+              v-else-if="doc_name != ''"
142
+            >
143
+              {{ doc_name }}
144
+            </span>
139
             <img
145
             <img
140
               style="height: 30px"
146
               style="height: 30px"
141
-              :src="setAdminUserES(item.creator)"
147
+              :src="setAdminUserES(item.creator,item.doctor)"
142
               alt=""
148
               alt=""
143
               srcset=""
149
               srcset=""
144
               v-else
150
               v-else
207
   },
213
   },
208
   data() {
214
   data() {
209
     return {
215
     return {
216
+      doc_name:"",
210
       doctorList: [],
217
       doctorList: [],
211
       advicePrint: {},
218
       advicePrint: {},
212
       patient: {},
219
       patient: {},
221
       org_id: 0,
228
       org_id: 0,
222
       operatorMaps: {},
229
       operatorMaps: {},
223
       operators: [],
230
       operators: [],
224
-      doctorList_1: []
231
+      doctorList_1: [],
225
     };
232
     };
226
   },
233
   },
227
   methods: {
234
   methods: {
228
     // 电子签名
235
     // 电子签名
229
-    setAdminUserES(id) {
236
+    setAdminUserES(id,name) {
230
       if (id == 0) {
237
       if (id == 0) {
231
         return "";
238
         return "";
232
       }
239
       }
233
       if (id in this.operatorMaps) {
240
       if (id in this.operatorMaps) {
234
         return this.operatorMaps[id].url;
241
         return this.operatorMaps[id].url;
235
       } else {
242
       } else {
243
+        this.doc_name = name
236
         return "";
244
         return "";
237
       }
245
       }
238
     },
246
     },

+ 3 - 1
src/xt_pages/outpatientDoctorStation/template/printThree.vue View File

98
             </div>
98
             </div>
99
             <div style="margin-bottom: 10px; display: flex">
99
             <div style="margin-bottom: 10px; display: flex">
100
               临床诊断:{{
100
               临床诊断:{{
101
-                item.info.diagnosis ? getDiagnosis(item.info.diagnosis) : ""
101
+                item.info ? getDiagnosis(item.info.diagnosis) : ""
102
               }}
102
               }}
103
             </div>
103
             </div>
104
             <div style="margin-bottom: 10px; display: flex">
104
             <div style="margin-bottom: 10px; display: flex">
256
     patient_id: Number,
256
     patient_id: Number,
257
     record_date: String,
257
     record_date: String,
258
     prescription_id: Number,
258
     prescription_id: Number,
259
+    his_patient_id:Number,
259
     ids: String,
260
     ids: String,
260
   },
261
   },
261
   data() {
262
   data() {
356
         patient_id: this.patient_id,
357
         patient_id: this.patient_id,
357
         record_date: this.record_date,
358
         record_date: this.record_date,
358
         prescription_id: this.prescription_id,
359
         prescription_id: this.prescription_id,
360
+        his_patient_id: this.his_patient_id,
359
         ids: this.ids,
361
         ids: this.ids,
360
         p_type: 2,
362
         p_type: 2,
361
       };
363
       };

+ 4 - 4
src/xt_pages/outpatientRegistration/registrationHistory.vue View File

257
                 start-placeholder="开始日期"
257
                 start-placeholder="开始日期"
258
                 end-placeholder="结束日期">
258
                 end-placeholder="结束日期">
259
                 </el-date-picker> -->
259
                 </el-date-picker> -->
260
-                <el-date-picker type="datetime" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
260
+                <el-date-picker type="datetime" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm"
261
                                 placeholder="选择时间" v-model="start_time" style="width:200px"
261
                                 placeholder="选择时间" v-model="start_time" style="width:200px"
262
                                 @change="changeStart"
262
                                 @change="changeStart"
263
                 >
263
                 >
264
                 </el-date-picker>
264
                 </el-date-picker>
265
                 -
265
                 -
266
-                <el-date-picker type="datetime" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
266
+                <el-date-picker type="datetime" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm"
267
                                 placeholder="选择时间" v-model="end_time" style="width:200px"
267
                                 placeholder="选择时间" v-model="end_time" style="width:200px"
268
                                 @change="changeEnd"
268
                                 @change="changeEnd"
269
                 >
269
                 >
488
           { value: 4, label: '免收诊金' },
488
           { value: 4, label: '免收诊金' },
489
           { value: 5, label: '专家' }
489
           { value: 5, label: '专家' }
490
         ],
490
         ],
491
-        start_time: moment().format('YYYY-MM-DD'),
492
-        end_time: moment().format('YYYY-MM-DD'),
491
+        start_time: moment().format('YYYY-MM-DD HH:mm'),
492
+        end_time: moment().format('YYYY-MM-DD HH:mm'),
493
         limit: 10,
493
         limit: 10,
494
         page: 1,
494
         page: 1,
495
         total: 0,
495
         total: 0,

+ 153 - 0
src/xt_pages/outpatientTool/components/detailStatistics.vue View File

1
+<template>
2
+  <div>
3
+    <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
4
+      <div>
5
+        <el-select size="small" v-model="item_type" placeholder="请选择"
6
+                   style="width:150px;margin-left:10px;" @change="changeItem">
7
+          <el-option
8
+              label="全部"
9
+              value="0">
10
+          </el-option>
11
+          <el-option
12
+              v-for="(item,index) in items"
13
+              :key="index"
14
+              :label="item.name"
15
+              :value="item.id">
16
+          </el-option>
17
+        </el-select>
18
+
19
+        <el-input
20
+            size="small"
21
+            style="width: 150px"
22
+            v-model="keywords"
23
+            class="filter-item"
24
+        />
25
+        <el-button
26
+            size="small"
27
+            style="margin: 0 10px"
28
+            class="filter-item"
29
+            type="primary"
30
+            @click="searchAction"
31
+        >搜索
32
+        </el-button>
33
+        <el-date-picker
34
+            v-model="chargeDate"
35
+            type="daterange"
36
+            value-format="yyyy-MM-dd"
37
+            range-separator="至"
38
+            start-placeholder="开始日期"
39
+            @change="changeDate"
40
+            end-placeholder="结束日期">
41
+        </el-date-picker>
42
+      </div>
43
+      <div>
44
+      </div>
45
+    </div>
46
+    <el-table :data="tableData" border :row-style="{ color: '#303133' }" ref="table"
47
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
48
+              show-summary
49
+              max-height="600"
50
+              v-loading="detail_loading"
51
+              highlight-current-row>
52
+      <el-table-column type="index" label="序号" width="60px" align="center"></el-table-column>
53
+      <el-table-column align="center" prop="name" label="处方日期">
54
+        <template slot-scope="scope">{{  }}</template>
55
+      </el-table-column>
56
+      <el-table-column align="center" prop="name" label="费用编码">
57
+        <template slot-scope="scope">{{scope.row.code}}</template>
58
+      </el-table-column>
59
+      <el-table-column align="center" prop="name" label="项目名称">
60
+        <template slot-scope="scope">{{scope.row.item_name}}</template>
61
+      </el-table-column>
62
+      <el-table-column align="center" prop="name" label="规格">
63
+        <template slot-scope="scope">{{scope.row.item_spec}}</template>
64
+      </el-table-column>
65
+      <el-table-column align="center" prop="name" label="数量">
66
+        <template slot-scope="scope">{{scope.row.count}}</template>
67
+      </el-table-column>
68
+      <el-table-column align="center" prop="name" label="单价">
69
+        <template slot-scope="scope">{{scope.row.price.toFixed(2)}}</template>
70
+      </el-table-column>
71
+      <el-table-column align="center" prop="name" label="金额">
72
+        <template slot-scope="scope">
73
+          <div>{{(scope.row.price.toFixed(2)*scope.row.count).toFixed(2)}}</div>
74
+        </template>
75
+      </el-table-column>
76
+
77
+    </el-table>
78
+  </div>
79
+
80
+  <!-- </div> -->
81
+</template>
82
+
83
+
84
+<script>
85
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
86
+import {  } from '@/api/his/his'
87
+const moment = require('moment')
88
+export default {
89
+  components: {
90
+    BreadCrumb
91
+
92
+  },
93
+  props: {
94
+    patient_id: {
95
+      type: Number,
96
+      default: 0
97
+    }
98
+  },
99
+
100
+  data() {
101
+
102
+    return {
103
+      detail_loading: false,
104
+      tempArr: [],
105
+      pos: 0,
106
+      search_input: '',
107
+
108
+      sameRowArr: [],
109
+      keywords: '',
110
+      tableData: [],
111
+      chargeDate: [moment(new Date()).add('year', 0).format('YYYY-MM-DD'), moment(new Date()).add('year', 0).format('YYYY-MM-DD')],
112
+      item_type: '0',
113
+      items: [
114
+        { id: 1, name: '药品' },
115
+        { id: 3, name: '耗材' },
116
+        { id: 2, name: '项目' }
117
+
118
+      ]
119
+
120
+    }
121
+  },
122
+  methods: {
123
+    searchAction(){
124
+
125
+
126
+    },
127
+    changeDate() {
128
+      this.getSummaryDetailList()
129
+    },
130
+    changeItem() {
131
+      this.getSummaryDetailList()
132
+    },
133
+    getSummaryDetailList() {
134
+      let start_time = this.chargeDate[0]
135
+      let end_time = this.chargeDate[1]
136
+      let params = {
137
+        patient_id:this.patient_id,
138
+        start_time: start_time,
139
+        end_time: end_time,
140
+        type: this.item_type,
141
+        keyword: this.keywords
142
+      }
143
+
144
+
145
+
146
+    },
147
+  },
148
+  created() {
149
+    this.getSummaryDetailList()
150
+
151
+  }
152
+}
153
+</script>

+ 156 - 0
src/xt_pages/outpatientTool/components/gatherStatistics.vue View File

1
+<template>
2
+  <div>
3
+    <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
4
+      <div>
5
+        <el-select size="small" v-model="item_type" placeholder="请选择"
6
+                   style="width:150px;margin-left:10px;" @change="changeItem">
7
+          <el-option
8
+              label="全部"
9
+              value="0">
10
+          </el-option>
11
+          <el-option
12
+              v-for="(item,index) in items"
13
+              :key="index"
14
+              :label="item.name"
15
+              :value="item.id">
16
+          </el-option>
17
+        </el-select>
18
+
19
+        <el-input
20
+            size="small"
21
+            style="width: 150px"
22
+            v-model="keywords"
23
+            class="filter-item"
24
+        />
25
+        <el-button
26
+            size="small"
27
+            style="margin: 0 10px"
28
+            class="filter-item"
29
+            type="primary"
30
+            @click="searchAction"
31
+        >搜索
32
+        </el-button>
33
+        <el-date-picker
34
+            v-model="chargeDate"
35
+            type="daterange"
36
+            value-format="yyyy-MM-dd"
37
+            range-separator="至"
38
+            start-placeholder="开始日期"
39
+            @change="changeDate"
40
+            end-placeholder="结束日期">
41
+        </el-date-picker>
42
+      </div>
43
+      <div>
44
+      </div>
45
+    </div>
46
+    <el-table :data="tableData" border :row-style="{ color: '#303133' }" ref="table"
47
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
48
+              show-summary
49
+              max-height="600"
50
+              v-loading="detail_loading"
51
+              highlight-current-row>
52
+      <el-table-column type="index" label="序号" width="60px" align="center"></el-table-column>
53
+      <el-table-column align="center" prop="name" label="处方日期">
54
+        <template slot-scope="scope">{{  }}</template>
55
+      </el-table-column>
56
+      <el-table-column align="center" prop="name" label="费用分类">
57
+        <template slot-scope="scope">{{scope.row.code}}</template>
58
+      </el-table-column>
59
+      <el-table-column align="center" prop="name" label="项目名称">
60
+        <template slot-scope="scope">{{scope.row.item_name}}</template>
61
+      </el-table-column>
62
+      <el-table-column align="center" prop="name" label="规格型号">
63
+        <template slot-scope="scope">{{scope.row.item_spec}}</template>
64
+      </el-table-column>
65
+      <el-table-column align="center" prop="name" label="数量">
66
+        <template slot-scope="scope">{{scope.row.count}}</template>
67
+      </el-table-column>
68
+      <el-table-column align="center" prop="name" label="单价">
69
+        <template slot-scope="scope">{{scope.row.price.toFixed(2)}}</template>
70
+      </el-table-column>
71
+      <el-table-column align="center" prop="name" label="金额">
72
+        <template slot-scope="scope">
73
+          <div>{{(scope.row.price.toFixed(2)*scope.row.count).toFixed(2)}}</div>
74
+        </template>
75
+      </el-table-column>
76
+      <el-table-column align="center" prop="name" label="医保类别">
77
+        <template slot-scope="scope"></template>
78
+      </el-table-column>
79
+
80
+    </el-table>
81
+  </div>
82
+
83
+  <!-- </div> -->
84
+</template>
85
+
86
+
87
+<script>
88
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
89
+import {  } from '@/api/his/his'
90
+const moment = require('moment')
91
+export default {
92
+  components: {
93
+    BreadCrumb
94
+
95
+  },
96
+  props: {
97
+    patient_id: {
98
+      type: Number,
99
+      default: 0
100
+    }
101
+  },
102
+
103
+  data() {
104
+
105
+    return {
106
+      detail_loading: false,
107
+      tempArr: [],
108
+      pos: 0,
109
+      search_input: '',
110
+
111
+      sameRowArr: [],
112
+      keywords: '',
113
+      tableData: [],
114
+      chargeDate: [moment(new Date()).add('year', 0).format('YYYY-MM-DD'), moment(new Date()).add('year', 0).format('YYYY-MM-DD')],
115
+      item_type: '0',
116
+      items: [
117
+        { id: 1, name: '药品' },
118
+        { id: 3, name: '耗材' },
119
+        { id: 2, name: '项目' }
120
+
121
+      ]
122
+
123
+    }
124
+  },
125
+  methods: {
126
+    searchAction(){
127
+
128
+
129
+    },
130
+    changeDate() {
131
+      this.getSummaryDetailList()
132
+    },
133
+    changeItem() {
134
+      this.getSummaryDetailList()
135
+    },
136
+    getSummaryDetailList() {
137
+      let start_time = this.chargeDate[0]
138
+      let end_time = this.chargeDate[1]
139
+      let params = {
140
+        patient_id:this.patient_id,
141
+        start_time: start_time,
142
+        end_time: end_time,
143
+        type: this.item_type,
144
+        keyword: this.keywords
145
+      }
146
+
147
+
148
+
149
+    },
150
+  },
151
+  created() {
152
+    this.getSummaryDetailList()
153
+
154
+  }
155
+}
156
+</script>

+ 341 - 0
src/xt_pages/outpatientTool/statistics.vue View File

1
+<template>
2
+  <div class="main-contain new-main-contain">
3
+    <div class="position">
4
+<!--      <bread-crumb :crumbs='crumbs'></bread-crumb>-->
5
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
6
+    </div>
7
+    <div class="app-container" style="display:flex;flex: 1;padding: 10px 20px 0px 20px;">
8
+      <div class="mainLeft">
9
+        <div>
10
+          <el-table  :data="patientTableData" :height="tableHeight" border style="width: 100%;"
11
+                     :row-style="{ color: '#303133' }"
12
+                     :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
13
+                     highlight-current-row ref="tab"
14
+                     @current-change="handleCurrentChange">
15
+            <el-table-column align="center" prop="name" label="姓名" wdith='89'>
16
+              <template slot-scope="scope">{{ scope.row.name }}</template>
17
+            </el-table-column>
18
+          </el-table>
19
+        </div>
20
+      </div>
21
+      <div class="mainRight">
22
+        <el-tabs v-model="titleType">
23
+          <el-tab-pane label="明细" name="明细"></el-tab-pane>
24
+          <el-tab-pane label="汇总" name="汇总"></el-tab-pane>
25
+        </el-tabs>
26
+        <detail-statistics v-if="titleType == '明细'" :patient_id="patient_id"></detail-statistics>
27
+        <gather-statistics v-if="titleType == '汇总'" :patient_id="patient_id"></gather-statistics>
28
+      </div>
29
+    </div>
30
+  </div>
31
+</template>
32
+
33
+<script>
34
+import {
35
+  GetAllPatients,
36
+} from '@/api/his/his_tools'
37
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
38
+
39
+import DetailStatistics from './components/detailStatistics'
40
+import GatherStatistics from './components/gatherStatistics'
41
+export default {
42
+  components: {
43
+    GatherStatistics,
44
+    DetailStatistics,
45
+    BreadCrumb,
46
+
47
+
48
+  },
49
+  data() {
50
+
51
+    return {
52
+      patientTableData:[],
53
+      tableHeight: 400,
54
+      crumbs: [
55
+        { path: false, name: 'His工具' },
56
+        { path: false, name: '明细汇总统计' }
57
+      ],
58
+      titleType: '明细',
59
+      patient_id:0
60
+    }
61
+  },
62
+  methods: {
63
+    getPatientList(){
64
+      GetAllPatients().then(response => {
65
+        if (response.data.state == 0) {
66
+          this.$message.error(response.data.msg)
67
+          return false
68
+        } else {
69
+          this.patientTableData = response.data.data.list
70
+          this.patient_id =  this.patientTableData[0].id
71
+        }
72
+      })
73
+    },
74
+    handleCurrentChange(row){
75
+      this.patient_id =  row.id
76
+
77
+    },
78
+
79
+  },
80
+  created() {
81
+    const tableHeight = document.body.clientHeight - 290
82
+    this.tableHeight = tableHeight
83
+    this.getPatientList()
84
+
85
+  },
86
+
87
+  mounted() {
88
+
89
+  },
90
+  watch: {}
91
+}
92
+</script>
93
+
94
+<style lang="scss" scoped>
95
+.new-main-contain {
96
+  height: 100%;
97
+  display: flex;
98
+  flex-direction: column;
99
+}
100
+
101
+.app-container {
102
+  height: 100%;
103
+}
104
+
105
+.mainCell {
106
+  height: 36px;
107
+  display: flex;
108
+  align-items: center;
109
+}
110
+
111
+.mainLeft {
112
+  width: 200px;
113
+  height: 100%;
114
+  display: flex;
115
+  flex-direction: column;
116
+
117
+.el-radio {
118
+  margin-right: 5px;
119
+}
120
+
121
+}
122
+.mainRight {
123
+  margin-left: 10px;
124
+  flex: 1;
125
+  height: 100%;
126
+  display: flex;
127
+  flex-direction: column;
128
+  overflow-y: auto;
129
+
130
+.cellSpan {
131
+  min-width: 80px;
132
+  display: inline-block;
133
+  margin-right: 10px;
134
+}
135
+
136
+}
137
+.mainCenter {
138
+  display: flex;
139
+  flex: 1;
140
+}
141
+
142
+.centerLeft {
143
+  flex: 1;
144
+  display: flex;
145
+  flex-direction: column;
146
+  position: relative;
147
+
148
+.el-form-item {
149
+  width: 32%;
150
+  margin-right: 1%;
151
+  float: left;
152
+}
153
+
154
+.el-form-item__label {
155
+  text-align: left;
156
+}
157
+
158
+}
159
+.backColor {
160
+  background: #f6f8f9;
161
+  height: 5px;
162
+  margin-bottom: 5px;
163
+}
164
+
165
+.tabsBox {
166
+  position: relative;
167
+  height: 76%;
168
+  overflow-y: auto;
169
+  margin-bottom: 60px;
170
+
171
+.el-tabs__item {
172
+  padding: 0 10px;
173
+}
174
+
175
+}
176
+.preTabs {
177
+  height: 100%;
178
+  display: flex;
179
+  flex-direction: column;
180
+
181
+.el-tabs__content {
182
+  flex: 1;
183
+  overflow-y: auto;
184
+}
185
+
186
+}
187
+
188
+.costBox {
189
+  width: 100%;
190
+  height: 60px;
191
+  background: #fff;
192
+  position: absolute;
193
+  bottom: 0;
194
+  display: flex;
195
+  align-items: center;
196
+}
197
+
198
+.addTab {
199
+  position: absolute;
200
+  right: 0;
201
+  top: 14px;
202
+  z-index: 20;
203
+}
204
+
205
+.centerRight {
206
+  width: 300px;
207
+  margin-left: 10px;
208
+  display: flex;
209
+  flex-direction: column;
210
+  position: relative;
211
+}
212
+
213
+.rightTab {
214
+  height: 40px;
215
+  width: 100%;
216
+  border: 1px solid #d2d2d2;
217
+  box-sizing: border-box;
218
+
219
+p {
220
+  width: 50%;
221
+  height: 40px;
222
+  line-height: 40px;
223
+  text-align: center;
224
+  background: #eee;
225
+  float: left;
226
+}
227
+
228
+> p:last-child {
229
+  border-left: 1px solid #d2d2d2;
230
+  float: right;
231
+}
232
+
233
+.activeP {
234
+  background: #409EFF;
235
+  color: #fff;
236
+}
237
+
238
+}
239
+.comfirmBox {
240
+  width: 100%;
241
+  height: 60px;
242
+  background: #fff;
243
+  position: absolute;
244
+  bottom: 0;
245
+  display: flex;
246
+  align-items: center;
247
+  justify-content: space-between;
248
+}
249
+
250
+.mainHeader {
251
+  width: 100%;
252
+  background: #fff;
253
+  position: fixed;
254
+  z-index: 100;
255
+  height: 36px;
256
+}
257
+
258
+.titleBox {
259
+  position: fixed;
260
+  z-index: 99;
261
+  background: #fff;
262
+}
263
+
264
+.fixedCell {
265
+  position: fixed;
266
+  z-index: 99;
267
+  right: 30px;
268
+  background: #fff;
269
+  width: 300px;
270
+  display: flex;
271
+  justify-content: space-between;
272
+}
273
+</style>
274
+
275
+<style lang="scss">
276
+.centerLeft {
277
+
278
+.el-form-item__label {
279
+  text-align: left;
280
+}
281
+
282
+}
283
+.tabsBox {
284
+
285
+.el-tabs__item {
286
+  padding: 0 10px;
287
+}
288
+
289
+.el-tabs--bottom .el-tabs--left > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom .el-tabs--right > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--border-card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top.el-tabs--border-card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2) {
290
+  padding: 0 10px;
291
+}
292
+
293
+.el-tabs--bottom .el-tabs--left > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom .el-tabs--right > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--border-card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--border-card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:last-child {
294
+  padding: 0 10px;
295
+}
296
+
297
+.el-tabs--card > .el-tabs__header .el-tabs__item.is-active.is-closable {
298
+  padding: 0 10px;
299
+}
300
+
301
+}
302
+.centerRight {
303
+
304
+.el-tabs__nav-scroll {
305
+  display: flex;
306
+}
307
+
308
+.el-tabs__nav {
309
+  margin: 0 auto;
310
+}
311
+
312
+.el-table th .cell, .el-table td .cell {
313
+  padding: 0 2px;
314
+}
315
+
316
+}
317
+.preTabs {
318
+
319
+.el-tabs__content {
320
+
321
+}
322
+
323
+}
324
+.rightTabs {
325
+  height: 100%;
326
+
327
+
328
+.el-tabs__content {
329
+
330
+}
331
+
332
+}
333
+.centerDialog {
334
+
335
+.el-dialog__body {
336
+  max-height: calc(100vh - 100px) !important;
337
+  padding: 0 20px;
338
+}
339
+
340
+}
341
+</style>

+ 41 - 3
src/xt_pages/qcd/indicatorControlAnalysis/weight.vue View File

89
               <line-chart :options="bar"></line-chart>
89
               <line-chart :options="bar"></line-chart>
90
 
90
 
91
             </div>
91
             </div>
92
-            <div class="tableTitle">统计表</div>
92
+              <div class="tableTitle">统计表</div>
93
+              <div style="float:right;margin-right:10px">
94
+               <el-button  size="small" type="primary" @click="toExport">导出</el-button>
95
+              </div>
93
             <div>
96
             <div>
94
 
97
 
95
               <el-table :data="tableData" style="width: 100%" border :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}">
98
               <el-table :data="tableData" style="width: 100%" border :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}">
165
                 @size-change="handleSizeChange"
168
                 @size-change="handleSizeChange"
166
                 @current-change="handleCurrentChange"
169
                 @current-change="handleCurrentChange"
167
                 :current-page="query.page"
170
                 :current-page="query.page"
168
-                :page-sizes="[10, 20, 50, 100]"
171
+                :page-sizes="[10, 20, 50, 100,500,1000,2000,5000]"
169
                 :page-size="10"
172
                 :page-size="10"
170
                 background
173
                 background
171
                 style="margin-top:20px;"
174
                 style="margin-top:20px;"
615
 
618
 
616
           }
619
           }
617
         })
620
         })
621
+      },
622
+    toExport(){
623
+      import('@/vendor/Export2Excel').then(excel => {
624
+        console.log("hhhh323223",this.tableData)
625
+        for(let i=0;i<this.tableData.length;i++){
626
+          this.tableData[i].assessment_date = this.getTime(this.tableData[i].assessment_date,'{y}-{m}-{d}')
627
+          this.tableData[i].name = this.tableData[i].patient.name
628
+          this.tableData[i].over_pluse =  this.tableData[i].weight_before -  this.tableData[i].last_after_weight
629
+        }
630
+       
631
+        const tHeader = ['日期', '姓名', '干体重','前次透后体重','透前体重','透后体重','体重增加']
632
+        const filterVal = ['assessment_date', 'name', 'dry_weight','last_after_weight','weight_before','weight_after','over_pluse']
633
+        console.log("table",this.tableData)
634
+      
635
+        const data = this.formatJson(filterVal, this.tableData)
636
+        excel.export_json_to_excel({
637
+          header: tHeader,
638
+          data,
639
+          filename: '患者体重'
640
+        })
641
+        this.downloadLoading = false
642
+     })
643
+    },
644
+    formatJson(filterVal, jsonData) {
645
+      return jsonData.map(v => filterVal.map(j => v[j]));
646
+    },
647
+    getTime(value, temp) {
648
+      if (value == 0) {
649
+        return "";
650
+      }
651
+      if (value != undefined) {
652
+        return uParseTime(value, temp);
618
       }
653
       }
619
-    }, created() {
654
+      return "";
655
+    },
656
+    },
657
+     created() {
620
       this.getCurrentOrgPatients()
658
       this.getCurrentOrgPatients()
621
       var date = new Date()
659
       var date = new Date()
622
       var year = date.getFullYear() //获取完整的年份(4位)
660
       var year = date.getFullYear() //获取完整的年份(4位)

+ 6 - 6
src/xt_pages/stock/detail/print.vue View File

52
                 <span v-if="type == 1"> {{ item.warehousing_count }}</span>
52
                 <span v-if="type == 1"> {{ item.warehousing_count }}</span>
53
                 <span v-if="type == 2"> 
53
                 <span v-if="type == 2"> 
54
                   <span  v-if="org_id == 3907 || org_id == 9919 || org_id == 9583">{{getStockCount(item.good_id) }}</span> 
54
                   <span  v-if="org_id == 3907 || org_id == 9919 || org_id == 9583">{{getStockCount(item.good_id) }}</span> 
55
-                   <span  v-if="org_id == 10265">{{getMySelfCount(item.good_id) }}</span>   
56
-                  <span v-if="org_id!=3907&&org_id!=10265&&org_id!=10285&&org_id!=9583">{{getStockCount(item.good_id) }}</span>
55
+                   <span  v-if="org_id == 10265 || org_id == 10215">{{getMySelfCount(item.good_id) }}</span>   
56
+                  <span v-if="org_id!=3907&&org_id!=10265&&org_id!=10285&&org_id!=9583&&org_id!=10215">{{getStockCount(item.good_id) }}</span>
57
                 </span>
57
                 </span>
58
                
58
                
59
                 <span v-if="type == 4"> {{ item.count }}</span>
59
                 <span v-if="type == 4"> {{ item.count }}</span>
77
                   <span v-if="org_id == 3907 || org_id ==9919">
77
                   <span v-if="org_id == 3907 || org_id ==9919">
78
                      {{(getStockCount(item.good_id) * item.buy_price).toFixed(2)}}
78
                      {{(getStockCount(item.good_id) * item.buy_price).toFixed(2)}}
79
                   </span>
79
                   </span>
80
-                  <span v-if="org_id == 10265">{{(getMySelfCount(item.good_id)*item.packing_price).toFixed(2)}}</span>
81
-                  <span v-if="org_id!=3907&&org_id!=10265&&org_id!=9919">{{(getStockCount(item.good_id) * item.packing_price).toFixed(2)}}</span>
80
+                  <span v-if="org_id == 10265 || org_id == 10215">{{(getMySelfCount(item.good_id)*item.packing_price).toFixed(2)}}</span>
81
+                  <span v-if="org_id!=3907&&org_id!=10265&&org_id!=9919&&org_id!=10215">{{(getStockCount(item.good_id) * item.packing_price).toFixed(2)}}</span>
82
                 </span>
82
                 </span>
83
                 <span v-if="type == 4">{{(item.count * item.price).toFixed(2)}}</span>
83
                 <span v-if="type == 4">{{(item.count * item.price).toFixed(2)}}</span>
84
               </td>
84
               </td>
100
                 <span v-if="type == 1">{{getWareInfoTotal().toFixed(2)}}</span> 
100
                 <span v-if="type == 1">{{getWareInfoTotal().toFixed(2)}}</span> 
101
                 <span v-if="type == 2">
101
                 <span v-if="type == 2">
102
                   <span v-if="org_id == 3907 || org_id == 9919">{{getWareOutTotalOne().toFixed(2)}}</span>
102
                   <span v-if="org_id == 3907 || org_id == 9919">{{getWareOutTotalOne().toFixed(2)}}</span>
103
-                  <span v-if="org_id == 10265">{{getWareOutTotalSix().toFixed(2)}}</span>
104
-                  <span v-if="org_id!=3907 && org_id!=9919 && org_id!=10265"> {{getWareOutTotal().toFixed(2)}}</span>
103
+                  <span v-if="org_id == 10265 || org_id == 10215">{{getWareOutTotalSix().toFixed(2)}}</span>
104
+                  <span v-if="org_id!=3907 && org_id!=9919 && org_id!=10265 && org_id!=10215"> {{getWareOutTotal().toFixed(2)}}</span>
105
                  </span> 
105
                  </span> 
106
                 <span v-if="type == 4">{{getWareOutTotal().toFixed(2)}}</span> 
106
                 <span v-if="type == 4">{{getWareOutTotal().toFixed(2)}}</span> 
107
               </td>
107
               </td>

+ 6 - 6
src/xt_pages/stock/detail/stockOutDetail.vue View File

338
               warehouse_out_time: 0
338
               warehouse_out_time: 0
339
             }
339
             }
340
           });
340
           });
341
-          console.log("cancelstockdate2332323322332332",this.cancelStockDate)
342
         }
341
         }
343
       });
342
       });
344
     },
343
     },
385
           }
384
           }
386
           
385
           
387
           this.tableDataList = response.data.data.list
386
           this.tableDataList = response.data.data.list
388
-           console.log("耗材出库数据323323323232232323232",this.tableDataList)
387
+          
389
           this.cancelStockDate.push({
388
           this.cancelStockDate.push({
390
             warehouse_out_order_number: "合计",
389
             warehouse_out_order_number: "合计",
391
             is_total: 1,
390
             is_total: 1,
744
       },
743
       },
745
 
744
 
746
     exportList(){
745
     exportList(){
747
-       console.log("哈哈哈",this.tableOut)
748
-      
749
        for(let i=0;i<this.tableOut.length;i++){
746
        for(let i=0;i<this.tableOut.length;i++){
750
         this.tableOut[i].index = i+1
747
         this.tableOut[i].index = i+1
751
         this.tableOut[i].good_name = this.tableOut[i].good_name
748
         this.tableOut[i].good_name = this.tableOut[i].good_name
756
           this.tableOut[i].packing_price = this.tableOut[i].buy_price
753
           this.tableOut[i].packing_price = this.tableOut[i].buy_price
757
         }else if(this.orgId == 10265){
754
         }else if(this.orgId == 10265){
758
           this.tableOut[i].total_price = (this.getMySelfCount(this.tableOut[i].good_id) * this.tableOut[i].retail_price).toFixed(2)
755
           this.tableOut[i].total_price = (this.getMySelfCount(this.tableOut[i].good_id) * this.tableOut[i].retail_price).toFixed(2)
756
+        }else if(this.orgId == 10215){
757
+          this.tableOut[i].total_price = (this.getMySelfCount(this.tableOut[i].good_id) * this.tableOut[i].retail_price).toFixed(2)
759
         }else{
758
         }else{
760
           this.tableOut[i].total_price = (this.getStockCount(this.tableOut[i].good_id) * this.tableOut[i].retail_price).toFixed(2)
759
           this.tableOut[i].total_price = (this.getStockCount(this.tableOut[i].good_id) * this.tableOut[i].retail_price).toFixed(2)
761
         }
760
         }
762
        
761
        
763
-        if(this.orgId  == 10265){
762
+        if(this.orgId  == 10265 || this.orgId ==10215 ){
764
         
763
         
765
          this.tableOut[i].out_count = this.getMySelfCount(this.tableOut[i].good_id)
764
          this.tableOut[i].out_count = this.getMySelfCount(this.tableOut[i].good_id)
766
-        }else{
765
+        }
766
+        if(this.orgId!=10265 && this.orgId !=10215){
767
           this.tableOut[i].out_count = this.getStockCount(this.tableOut[i].good_id)
767
           this.tableOut[i].out_count = this.getStockCount(this.tableOut[i].good_id)
768
         }
768
         }
769
        }
769
        }

+ 40 - 7
src/xt_pages/stock/drugs/components/drugOutDetail.vue View File

136
         </el-table-column>
136
         </el-table-column>
137
         <el-table-column label="数量" align="center">
137
         <el-table-column label="数量" align="center">
138
           <template slot-scope="scope">
138
           <template slot-scope="scope">
139
-            {{scope.row.count}}
139
+            {{scope.row.count}} 
140
+          </template>
141
+        </el-table-column>
142
+         <el-table-column label="单位" align="center">
143
+          <template slot-scope="scope">
144
+            {{scope.row.count_unit}} 
140
           </template>
145
           </template>
141
         </el-table-column>
146
         </el-table-column>
142
         <el-table-column label="总价" align="center">
147
         <el-table-column label="总价" align="center">
143
           <template slot-scope="scope">
148
           <template slot-scope="scope">
144
            <span v-if="org_id == 9919">{{(scope.row.last_price * scope.row.count).toFixed(2)}} </span> 
149
            <span v-if="org_id == 9919">{{(scope.row.last_price * scope.row.count).toFixed(2)}} </span> 
145
            <span v-else>
150
            <span v-else>
146
-             <span v-if="scope.row.price >0">{{(scope.row.last_price * scope.row.count).toFixed(2)}}</span>
147
-             <span v-if="scope.row.price  == 0">{{(getPrice(scope.row.drug_id)* scope.row.count).toFixed(2)}}</span>
151
+             <span v-if="scope.row.price >0">
152
+                <span v-if="scope.row.count >= scope.row.min_number">
153
+                 {{((scope.row.price * scope.row.count)/scope.row.min_number).toFixed(2)}}
154
+                </span>  
155
+                <span v-else>{{(scope.row.price * scope.row.count).toFixed(2)}}</span>
156
+              </span>
157
+             <span v-if="scope.row.price  == 0">
158
+               <span v-if="scope.row.count >=scope.row.min_number">
159
+                 {{((getPrice(scope.row.drug_id)* scope.row.count)/scope.row.min_number).toFixed(2)}}
160
+               </span> 
161
+               <span v-else>{{(getPrice(scope.row.drug_id)* scope.row.count).toFixed(2)}}</span>
162
+             </span>
148
            </span>
163
            </span>
149
             <!-- {{scope.row.total_price}} -->
164
             <!-- {{scope.row.total_price}} -->
150
           </template>
165
           </template>
562
        for(let i=0;i<this.tableData.length;i++){
577
        for(let i=0;i<this.tableData.length;i++){
563
          if(this.tableData[i].is_total == 0){
578
          if(this.tableData[i].is_total == 0){
564
             this.tableData[i].index = i+1
579
             this.tableData[i].index = i+1
565
-      
566
-            this.tableData[i].drugtype = this.getTypeList(this.tableData[i].drugtype)
580
+            if(this.tableData[i].drug_type == 1){
581
+              this.tableData[i].drugtype = "西药"
582
+            }
583
+            if(this.tableData[i].drug_type == 2){
584
+              this.tableData[i].drugtype = "草药"
585
+            }
586
+            if(this.tableData[i].drug_type == 3){
587
+              this.tableData[i].drugtype = "成药"
588
+            }
589
+            // this.tableData[i].drugtype = this.getTypeList(this.tableData[i].drugtype)
567
             this.tableData[i].specification_name = this.tableData[i].dose + this.tableData[i].dose_unit +"*" + this.tableData[i].min_number + this.tableData[i].min_unit +  "/" + this.tableData[i].max_unit
590
             this.tableData[i].specification_name = this.tableData[i].dose + this.tableData[i].dose_unit +"*" + this.tableData[i].min_number + this.tableData[i].min_unit +  "/" + this.tableData[i].max_unit
568
             this.tableData[i].time = this.getTime(this.tableData[i].ctime)
591
             this.tableData[i].time = this.getTime(this.tableData[i].ctime)
569
             this.tableData[i].user_name = this.getAdminUser(this.tableData[i].creater)
592
             this.tableData[i].user_name = this.getAdminUser(this.tableData[i].creater)
570
             if(this.org_id == 9671 || this.org_id == 9919){
593
             if(this.org_id == 9671 || this.org_id == 9919){
571
               this.tableData[i].total = (this.tableData[i].count * this.tableData[i].last_price)
594
               this.tableData[i].total = (this.tableData[i].count * this.tableData[i].last_price)
572
-              this.tableData[i].total_price = (this.tableData[i].count * this.tableData[i].last_price)
595
+              if(this.tableData[i].count >=this.tableData[i].min_number){
596
+               this.tableData[i].total_price = (this.tableData[i].count * this.tableData[i].last_price)/this.tableData[i].min_number
597
+              }else{
598
+                this.tableData[i].total_price = (this.tableData[i].count * this.tableData[i].last_price)
599
+              }
600
+              
573
             }else{
601
             }else{
574
               this.tableData[i].total = (this.tableData[i].count * this.tableData[i].price)
602
               this.tableData[i].total = (this.tableData[i].count * this.tableData[i].price)
575
-              this.tableData[i].total_price = (this.tableData[i].count * this.tableData[i].price)
603
+                if(this.tableData[i].count >=this.tableData[i].min_number){
604
+                  this.tableData[i].total_price = (this.tableData[i].count * this.tableData[i].price)/this.tableData[i].min_number
605
+              }else{
606
+                  this.tableData[i].total_price = (this.tableData[i].count * this.tableData[i].price)
607
+              }
608
+             
576
             }
609
             }
577
          }
610
          }
578
        }
611
        }

+ 3 - 3
src/xt_pages/stock/drugs/drugStockOutOrder.vue View File

222
               <span> {{getTotalCountOne(scope.row.drug_id,scope.row.min_number,scope.row.max_unit,scope.row.min_unit)}}</span>
222
               <span> {{getTotalCountOne(scope.row.drug_id,scope.row.min_number,scope.row.max_unit,scope.row.min_unit)}}</span>
223
             </template>
223
             </template>
224
           </el-table-column>
224
           </el-table-column>
225
-          <el-table-column label="出单价" align="center">
225
+          <el-table-column label="出单价" align="center">
226
             <template slot-scope="scope">
226
             <template slot-scope="scope">
227
               <span v-if="scope.row.price > 0"> {{scope.row.price}}</span>
227
               <span v-if="scope.row.price > 0"> {{scope.row.price}}</span>
228
               <span v-if="scope.row.price == 0"> {{scope.row.retail_price}}</span>
228
               <span v-if="scope.row.price == 0"> {{scope.row.retail_price}}</span>
235
           </el-table-column> -->
235
           </el-table-column> -->
236
           <el-table-column label="总价" align="center">
236
           <el-table-column label="总价" align="center">
237
             <template slot-scope="scope">
237
             <template slot-scope="scope">
238
-              <span v-if="scope.row.price > 0">{{getAllPriceOne(scope.row.drug_id,scope.row.price,scope.row.price).toFixed(2)}}</span>
239
-              <span v-if="scope.row.price == 0">{{getAllPriceOne(scope.row.drug_id,scope.row.retail_price,scope.row.min_price).toFixed(2)}}</span>
238
+              <span v-if="scope.row.price > 0">{{(getAllPriceOne(scope.row.drug_id,scope.row.price,scope.row.price/scope.row.min_number)/scope.row.min_number).toFixed(2)}}</span>
239
+              <span v-if="scope.row.price == 0">{{(getAllPriceOne(scope.row.drug_id,scope.row.retail_price,scope.row.min_price)/scope.row.min_number).toFixed(2)}}</span>
240
             </template>
240
             </template>
241
           </el-table-column>
241
           </el-table-column>
242
           <el-table-column label="生产厂家" align="center">
242
           <el-table-column label="生产厂家" align="center">

+ 2 - 4
src/xt_pages/stock/inventoryTransfer/index.vue View File

48
         </div>
48
         </div>
49
       </div>
49
       </div>
50
       <el-table
50
       <el-table
51
-        :row-style="changColor"
52
         :header-cell-style="{
51
         :header-cell-style="{
53
           backgroundColor: 'rgb(245, 247, 250)',
52
           backgroundColor: 'rgb(245, 247, 250)',
54
           color: '#606266',
53
           color: '#606266',
55
         }"
54
         }"
56
         :data="tableData"
55
         :data="tableData"
57
-        :class="signAndWeighBoxPatients"
58
         border
56
         border
59
         @selection-change="handleSelectionChange"
57
         @selection-change="handleSelectionChange"
60
       >
58
       >
61
-        >
59
+        
62
         <el-table-column type="selection" width="55"> </el-table-column>
60
         <el-table-column type="selection" width="55"> </el-table-column>
63
         <el-table-column label="单据编号" align="center">
61
         <el-table-column label="单据编号" align="center">
64
           <template slot-scope="scope">
62
           <template slot-scope="scope">
111
               >
109
               >
112
               </el-button>
110
               </el-button>
113
             </el-tooltip>
111
             </el-tooltip>
114
-
115
             <el-tooltip class="item" content="删除" placement="top-start">
112
             <el-tooltip class="item" content="删除" placement="top-start">
116
               <el-button
113
               <el-button
117
                 icon="el-icon-delete"
114
                 icon="el-icon-delete"
134
           </template>
131
           </template>
135
         </el-table-column>
132
         </el-table-column>
136
       </el-table>
133
       </el-table>
134
+
137
       <el-pagination
135
       <el-pagination
138
         @size-change="handleSizeChange"
136
         @size-change="handleSizeChange"
139
         @current-change="handleCurrentChange"
137
         @current-change="handleCurrentChange"

+ 4 - 4
src/xt_pages/stock/stockOutOrderEdit.vue View File

724
         }
724
         }
725
       getSingleOutOrderDetail(params).then(response=>{
725
       getSingleOutOrderDetail(params).then(response=>{
726
         if(response.data.state == 1){
726
         if(response.data.state == 1){
727
-          console.log("详情",response.data.data.list)
727
+         
728
           var dealerList = response.data.data.dealerList
728
           var dealerList = response.data.data.dealerList
729
           this.dealerList = dealerList
729
           this.dealerList = dealerList
730
           var manufacturerList = response.data.data.manufacturerList
730
           var manufacturerList = response.data.data.manufacturerList
731
-          // console.log("hhhhhhhhh",manufacturerList)
731
+         
732
           this.manufacturerList = manufacturerList
732
           this.manufacturerList = manufacturerList
733
           this.goodType = response.data.data.goodType
733
           this.goodType = response.data.data.goodType
734
           for (let i = 0; i < response.data.data.list.length; i++) {
734
           for (let i = 0; i < response.data.data.list.length; i++) {
760
         getStockBatchNumber(params).then(response=>{
760
         getStockBatchNumber(params).then(response=>{
761
           if(response.data.state == 1){
761
           if(response.data.state == 1){
762
             var list = response.data.data.list
762
             var list = response.data.data.list
763
-            console.log("list2243444",list)
763
+           
764
             this.numberList = list
764
             this.numberList = list
765
           }
765
           }
766
        })
766
        })
767
       },
767
       },
768
      changeNumberList(val,index){
768
      changeNumberList(val,index){
769
-       console.log("val232332323223232332",val,index)
769
+       
770
        for(let i=0;i<this.recordInfo.recordData.length;i++){
770
        for(let i=0;i<this.recordInfo.recordData.length;i++){
771
          if(index == i){
771
          if(index == i){
772
             this.recordInfo.recordData[i].warehouse_info_id = val.number
772
             this.recordInfo.recordData[i].warehouse_info_id = val.number

+ 0 - 0
src/xt_pages/stock/stockQuery.vue View File


Some files were not shown because too many files changed in this diff