Elizabeth's proactive approach involves introducing urinal toilet attachment , an ingenious concept that optimizes space and functionality.

allSummary_print.vue 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. <template>
  2. <div class="main-contain">
  3. <div class="position">
  4. <bread-crumb :crumbs="crumbs"></bread-crumb>
  5. <el-row style="float:right;">
  6. <el-col :span="24">
  7. <el-button size="small" icon="el-icon-printer" type="primary" @click="printAction">打印</el-button>
  8. </el-col>
  9. </el-row>
  10. </div>
  11. <div class="app-container" style="background-color: white;">
  12. <div id="print_content">
  13. <div class="print_main_content">
  14. <div class="order_title_panl">
  15. <span class="main_title">汇总统计表</span>
  16. </div>
  17. <div style="display:flex;justify-content: space-between;margin-bottom:10px;">
  18. <p>打印单日期:{{print_date}}</p>
  19. </div>
  20. <div class="table_panel">
  21. <table class="table">
  22. <thead>
  23. <tr>
  24. <td>姓名</td>
  25. <td>透析模式</td>
  26. <td width="120" v-for="(item,index) in tableName" :key="index">
  27. {{item.type_name}}
  28. </td>
  29. <td>
  30. 抗凝剂(首剂)(维持)(总量)
  31. </td>
  32. </tr>
  33. </thead>
  34. <tbody>
  35. <tr v-for="(it,i) in tableData" :key="i">
  36. <td>{{it.patient.name}}</td>
  37. <td>{{it.treatment_mode.name}}</td>
  38. <td v-for="(item,index) in tableName" :key="index"
  39. >{{getCount(it.patient.id,item.good_id)}}
  40. </td>
  41. <td>
  42. <span>
  43. <span v-if="getAnticoagulant(it.patient.id) == 0"></span>
  44. <span v-if="getAnticoagulant(it.patient.id) == 1">无肝素</span>
  45. <span v-if="getAnticoagulant(it.patient.id) == 2">普通肝素</span>
  46. <span v-if="getAnticoagulant(it.patient.id) == 3">低分子肝素</span>
  47. <span v-if="getAnticoagulant(it.patient.id) == 4">阿加曲班</span>
  48. <span v-if="getAnticoagulant(it.patient.id) == 5">枸橼酸钠</span>
  49. <span v-if="getAnticoagulant(it.patient.id) == 6">低分子肝素钙</span>
  50. <span v-if="getAnticoagulant(it.patient.id) == 7">低分子肝素钠</span>
  51. <span v-if="getAnticoagulant(it.patient.id) == 8">依诺肝素</span>
  52. <span v-if="getAnticoagulant(it.patient.id) == 9">达肝素</span>
  53. <span v-if="getAnticoagulant(it.patient.id) == 10">体外抗凝</span>
  54. </span>
  55. <span>
  56. {{getAnticoagulantShouji(it.patient.id)?getAnticoagulantShouji(it.patient.id):''}}
  57. <span v-if="getAnticoagulant(it.patient.id) == 1 && getAnticoagulantShouji(it.patient.id)!=''">mg</span>
  58. <span v-if="getAnticoagulant(it.patient.id) == 2 && getAnticoagulantShouji(it.patient.id)!=''">iu/h</span>
  59. <span v-if="getAnticoagulant(it.patient.id) == 3 && getAnticoagulantShouji(it.patient.id)!=''">iu</span>
  60. <span v-if="getAnticoagulant(it.patient.id) == 4 && getAnticoagulantShouji(it.patient.id)!=''">mg</span>
  61. <span v-if="getAnticoagulant(it.patient.id)== 5 && getAnticoagulantShouji(it.patient.id)!=''">mg</span>
  62. <span v-if="getAnticoagulant(it.patient.id) == 6 && getAnticoagulantShouji(it.patient.id)!=''">iu</span>
  63. <span v-if="getAnticoagulant(it.patient.id) == 7 && getAnticoagulantShouji(it.patient.id)!=''">iu</span>
  64. <span v-if="getAnticoagulant(it.patient.id) == 8 && getAnticoagulantShouji(it.patient.id)!=''">iu</span>
  65. <span v-if="getAnticoagulant(it.patient.id) == 9 &&getAnticoagulantShouji(it.patient.id)!=''">iu</span>
  66. <span v-if="getAnticoagulant(it.patient.id) == 10 && getAnticoagulantShouji(it.patient.id)!=''">mg</span>
  67. </span>
  68. <span>
  69. {{getAnticoagulantWeichi(it.patient.id)?getAnticoagulantWeichi(it.patient.id):''}}
  70. <span v-if="getAnticoagulant(it.patient.id) == 1 && getAnticoagulantWeichi(it.patient.id)!=''">mg/h</span>
  71. <span v-if="getAnticoagulant(it.patient.id) == 2 && getAnticoagulantWeichi(it.patient.id)!=''">iu/h</span>
  72. <span v-if="getAnticoagulant(it.patient.id) == 3 && getAnticoagulantWeichi(it.patient.id)!=''">iu/h</span>
  73. <span v-if="getAnticoagulant(it.patient.id) == 4 && getAnticoagulantWeichi(it.patient.id)!=''">mg/h</span>
  74. <span v-if="getAnticoagulant(it.patient.id) == 5 && getAnticoagulantWeichi(it.patient.id)!=''">ml/h</span>
  75. <span v-if="getAnticoagulant(it.patient.id) == 6 && getAnticoagulantWeichi(it.patient.id)!=''">iu/h</span>
  76. <span v-if="getAnticoagulant(it.patient.id) == 7 && getAnticoagulantWeichi(it.patient.id)!=''">iu/h</span>
  77. <span v-if="getAnticoagulant(it.patient.id) == 8 && getAnticoagulantWeichi(it.patient.id)!=''">iu/h</span>
  78. <span v-if="getAnticoagulant(it.patient.id) == 9 && getAnticoagulantWeichi(it.patient.id)!=''">iu/h</span>
  79. <span v-if="getAnticoagulant(it.patient.id) == 10 && getAnticoagulantWeichi(it.patient.id)!=''">mg</span>
  80. </span>
  81. <span>
  82. {{getAnticoagulantZongliang(it.patient.id)?getAnticoagulantZongliang(it.patient.id):''}}
  83. <span v-if="getAnticoagulant(it.patient.id) == 1 && getAnticoagulantZongliang(it.patient.id)!=''">mg</span>
  84. <span v-if="getAnticoagulant(it.patient.id) == 2 && getAnticoagulantZongliang(it.patient.id)!=''">iu</span>
  85. <span v-if="getAnticoagulant(it.patient.id) == 3 && getAnticoagulantZongliang(it.patient.id)!=''">iu</span>
  86. <span v-if="getAnticoagulant(it.patient.id)== 4 && getAnticoagulantZongliang(it.patient.id)!=''">mg</span>
  87. <span v-if="getAnticoagulant(it.patient.id) == 5 && getAnticoagulantZongliang(it.patient.id)!=''">mg</span>
  88. <span v-if="getAnticoagulant(it.patient.id) == 6 && getAnticoagulantZongliang(it.patient.id)!=''">iu/h</span>
  89. <span v-if="getAnticoagulant(it.patient.id) == 7 && getAnticoagulantZongliang(it.patient.id)!=''">iu</span>
  90. <span v-if="getAnticoagulant(it.patient.id) == 8 && getAnticoagulantZongliang(it.patient.id)!=''">iu</span>
  91. <span v-if="getAnticoagulant(it.patient.id) == 9 && getAnticoagulantZongliang(it.patient.id)!=''">iu/h</span>
  92. <span v-if="getAnticoagulant(it.patient.id) == 10 && getAnticoagulantZongliang(it.patient.id)!=''">mg</span>
  93. </span>
  94. </td>
  95. </tr>
  96. </tbody>
  97. </table>
  98. </div>
  99. </div>
  100. </div>
  101. </div>
  102. </div>
  103. </template>
  104. <script>
  105. import BreadCrumb from '@/xt_pages/components/bread-crumb'
  106. import print from 'print-js'
  107. import {getBatchCollection,getAllMaterial} from "@/api/consumable"
  108. const moment = require('moment')
  109. export default {
  110. components:{
  111. BreadCrumb
  112. },
  113. data(){
  114. return{
  115. crumbs: [
  116. { path: false, name: '耗材药品' },
  117. { path: false, name: '汇总打印' }
  118. ],
  119. tableName:[],
  120. consuMables:[],
  121. tableData:[],
  122. print_date:"",
  123. start_time:"",
  124. prescriptionList:[],
  125. reduceList:[],
  126. }
  127. },
  128. methods:{
  129. printAction: function() {
  130. const style = '@media print { .print_main_content { background-color: white; width:960px; margin:0 auto; padding: 0 0 20px 0; } .order_title_panl { text-align: center; } .main_title { font-size: 18px; line-height: 40px; font-weight: 500; } .table_panel { } .table { width: 100%; border: 1px solid; border-collapse: collapse; padding: 2px; } thead tr td { border: 1px solid; text-align: center; font-size: 20px; padding: 15px 5px; } tbody tr td { border: 1px solid; text-align: center; font-size: 18px; padding: 10px 5px; } .proj { padding: 5px 0; text-align: left; } .proj_title { font-size: 16px; font-weight: 500; line-height: 25px; } .proj_item { font-size: 15px; line-height: 20px; } .zone_name { font-weight: 500; } }'
  131. printJS({
  132. printable: 'print_content',
  133. type: 'html',
  134. documentTitle: ' ',
  135. style: style,
  136. scanStyles: false
  137. })
  138. },
  139. getAllMaterial(){
  140. var startime = moment(new Date()).add('year',0).format("YYYY-MM-DD")
  141. this.start_time = startime
  142. const params = {
  143. startime:this.start_time
  144. }
  145. getAllMaterial(params).then(response=>{
  146. if(response.data.state == 1){
  147. var material = response.data.data.material
  148. this.tableName = material
  149. }
  150. })
  151. },
  152. getCount(patientid,goodid){
  153. var count = 0
  154. for(let i=0;i<this.reduceList.length;i++){
  155. if(patientid == this.reduceList[i].patient_id && goodid == this.reduceList[i].good_id){
  156. count = this.reduceList[i].count
  157. }
  158. }
  159. return count
  160. },
  161. getAnticoagulant(id){
  162. var anticoagulant = ""
  163. for(let i=0;i<this.prescriptionList.length;i++){
  164. if(this.prescriptionList[i].patient_id == id){
  165. anticoagulant = this.prescriptionList[i].anticoagulant
  166. }
  167. }
  168. return anticoagulant
  169. },
  170. getAnticoagulantShouji(id){
  171. var shouji = ""
  172. for(let i=0;i<this.prescriptionList.length;i++){
  173. if(this.prescriptionList[i].patient_id == id){
  174. shouji = this.prescriptionList[i].anticoagulant_shouji
  175. }
  176. }
  177. return shouji
  178. },
  179. getAnticoagulantWeichi(id){
  180. var weichi = ""
  181. for(let i=0;i<this.prescriptionList.length;i++){
  182. if(this.prescriptionList[i].patient_id == id){
  183. weichi = this.prescriptionList[i].anticoagulant_weichi
  184. }
  185. return weichi
  186. }
  187. },
  188. getAnticoagulantZongliang(id){
  189. var zongliang = ""
  190. for(let i=0;i<this.prescriptionList.length;i++){
  191. if(this.prescriptionList[i].patient_id == id){
  192. zongliang = this.prescriptionList[i].anticoagulant_zongliang
  193. }
  194. }
  195. return zongliang
  196. }
  197. },
  198. created(){
  199. var startime = moment(new Date()).add('year',0).format("YYYY-MM-DD")
  200. this.print_date = startime
  201. //获取今日所有耗材
  202. this.getAllMaterial()
  203. },
  204. mounted(){
  205. var ids = this.$store.getters.temp_params.batch_print_dialysis_record_ids
  206. var start = this.$route.query.start
  207. this.start_time = start
  208. const params = {
  209. startime:this.start_time,
  210. ids:ids.join(',')
  211. }
  212. //获取汇总打印
  213. getBatchCollection(params).then(response=>{
  214. if(response.data.state == 1){
  215. var schedule = response.data.data.schedule
  216. this.tableData = schedule
  217. var consumables = response.data.data.consumables
  218. this.consuMables = consumables
  219. var prescripiton = response.data.data.prescripiton
  220. this.prescriptionList = prescripiton
  221. var reducelist = response.data.data.reducelist
  222. this.reduceList = reducelist
  223. }
  224. })
  225. }
  226. }
  227. </script>
  228. <style rel="stylesheet/scss" lang="scss" scoped>
  229. .print_main_content {
  230. background-color: white;
  231. max-width: 1500px;
  232. margin: 0 auto;
  233. padding: 0 0 20px 0;
  234. .order_title_panl {
  235. text-align: center;
  236. .main_title {
  237. font-size: 18px;
  238. line-height: 40px;
  239. font-weight: 500;
  240. }
  241. }
  242. .table_panel {
  243. .table {
  244. width: 100%;
  245. border: 1px solid;
  246. border-collapse: collapse;
  247. padding: 2px;
  248. thead {
  249. tr {
  250. td {
  251. border: 1px solid;
  252. text-align: center;
  253. font-size: 20px;
  254. padding: 15px 5px;
  255. }
  256. }
  257. }
  258. tbody {
  259. tr {
  260. td {
  261. border: 1px solid;
  262. text-align: center;
  263. font-size: 18px;
  264. padding: 10px 5px;
  265. .proj {
  266. padding: 5px 0;
  267. text-align: left;
  268. .proj_title {
  269. font-size: 16px;
  270. font-weight: 500;
  271. line-height: 25px;
  272. }
  273. .proj_item {
  274. font-size: 15px;
  275. line-height: 20px;
  276. .zone_name {
  277. font-weight: 500;
  278. }
  279. }
  280. }
  281. }
  282. }
  283. }
  284. }
  285. }
  286. }
  287. </style>