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

listPrint.vue 31KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915
  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. <div class='dialysisPage' style="padding-top:40px;">
  16. <printOne v-if=" org_id != 10106&&org_id != 10215&&org_id != 10265 && org_id!=9675 && org_id!=10485 " :list="list" :patient="patient" :order="order" :admin="admin"></printOne>
  17. <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. <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. <!-- <list-print-two v-if="org_id == 10215 || org_id==9675" :list="list" :patient="patient" :order="order" :admin="admin"></list-print-two>-->
  20. <list-print-three v-if="org_id == 10215 || org_id==9675 || org_id ==10485" :list="list" :patient="patient" :order="order" :admin="admin"></list-print-three>
  21. <print-two10265 v-if="org_id == 10265 " :list="list" :patient="patient" :order="order" :admin="admin" :hospital_record="hospital_record"></print-two10265>
  22. </div>
  23. </div>
  24. </template>
  25. <script>
  26. import printOne from './listTemplate/printOne'
  27. import printTwo from './listTemplate/printTwo'
  28. // import printThree from './listTemplate/printThree'
  29. import print from "print-js";
  30. import { getHisOrderDetail,getPrivateExpensesOrder } from '@/api/his/his'
  31. import { uParseTime } from '@/utils/tools'
  32. import axios from 'axios'
  33. import PrintThree from './listTemplate/printThree'
  34. import ListPrintTwo from './listTemplate/listPrintTwo'
  35. import PrintTwo10265 from "./listTemplate/printTwo10265";
  36. import ListPrintThree from "./listTemplate/listPrintThree";
  37. export default {
  38. name: 'listPrint',
  39. components: {
  40. ListPrintThree,
  41. PrintTwo10265,
  42. ListPrintTwo,
  43. PrintThree,
  44. printOne,
  45. printTwo
  46. },
  47. props: {
  48. paramsObj: Object
  49. },
  50. data() {
  51. return {
  52. list: [],
  53. patient:{},
  54. order:{},
  55. admin:{},
  56. order_infos:null,
  57. info:null,
  58. p_admin:{},
  59. charge_admin:{},
  60. org_id:'',
  61. hospital_record:{}
  62. }
  63. },
  64. created() {
  65. this.getInfo(this.paramsObj.id)
  66. this.org_id = this.$store.getters.xt_user.org_id
  67. if(this.org_id == 10106){
  68. if(this.paramsObj.balance_accounts_type == 2){
  69. this.getInfoPrivateExpenses10106(this.paramsObj.id)
  70. }else{
  71. this.getInfo10106(this.paramsObj.id)
  72. }
  73. }
  74. },
  75. methods: {
  76. getTimes(time) {
  77. return uParseTime(time, '{y}-{m}-{d}')
  78. },
  79. getInfo(order_id) {
  80. let params = {
  81. id: order_id
  82. }
  83. getHisOrderDetail(params).then(response => {
  84. if (response.data.state == 0) {
  85. this.$message.error(response.data.msg)
  86. return false
  87. } else {
  88. if(this.org_id == 10265){
  89. this.order = response.data.data.order
  90. this.patient = response.data.data.patient
  91. this.admin = response.data.data.admin_info
  92. this.hospital_record = response.data.data.hospital_record
  93. //获取所有项目类型进行去重
  94. let med_chrgitm_types = []
  95. for (let i = 0; i < response.data.data.order_info.length; i++) {
  96. med_chrgitm_types.push(response.data.data.order_info[i].med_chrgitm_type)
  97. }
  98. const obj = {}
  99. med_chrgitm_types = med_chrgitm_types.reduce((cur, next) => {
  100. obj[next] ? '' : obj[next] = true && cur.push(next)
  101. return cur
  102. }, []) // 设置cur默认类型为数组,并且初始值为空的数组
  103. let tempOrderInfo = []
  104. for (let i = 0; i < med_chrgitm_types.length; i++) {
  105. let obj = {
  106. details: [],
  107. med_chrgitm_name:this.getType(med_chrgitm_types[i]),
  108. jiaTotal:0,
  109. total:0,
  110. yiTotal:0,
  111. noMedicineTotal:0,
  112. bingTotal:0,
  113. otherTotal:0,
  114. sort:0,
  115. }
  116. if(med_chrgitm_types[i] == '09'){
  117. obj.sort = 99
  118. } else if(med_chrgitm_types[i] == '05'){
  119. obj.sort = 98
  120. } else if(med_chrgitm_types[i] == '08'){
  121. obj.sort = 97
  122. }else if(med_chrgitm_types[i] == '03'){
  123. obj.sort = 96
  124. }
  125. let tempDetails = []
  126. for (let b = 0; b < response.data.data.order_info.length; b++) {
  127. if (med_chrgitm_types[i] == response.data.data.order_info[b].med_chrgitm_type) {
  128. tempDetails.push(response.data.data.order_info[b])
  129. }
  130. }
  131. obj.total = this.getTotal(tempDetails)
  132. obj.jiaTotal = this.getJiaTotal(tempDetails,this.hospital_record.balance_accounts_type)
  133. obj.yiTotal = this.getYiTotal(tempDetails,this.hospital_record.balance_accounts_type)
  134. obj.noMedicineTotal = this.getNoMedicineTotal(tempDetails)
  135. obj.bingTotal = this.getBingTotal(tempDetails)
  136. obj.otherTotal = this.getOtherTotal(tempDetails)
  137. obj.details = this.set10265NewData(tempDetails)
  138. this.list.push(obj)
  139. }
  140. this.list.sort((a,b) => a.sort < b.sort ? 1 : a.sort > b.sort ? -1 : 0)
  141. console.log(this.list,'sssss')
  142. }else{
  143. this.order = response.data.data.order
  144. this.patient = response.data.data.patient
  145. this.admin = response.data.data.admin_info
  146. for (let i = 0; i < response.data.data.order_info.length; i++) {
  147. var infos = response.data.data.order_info[i]
  148. let obj = {
  149. med_chrgitm_type: this.getType(infos.med_chrgitm_type),
  150. price: infos.pric.toFixed(4),
  151. count: infos.cnt
  152. }
  153. if (infos.advice && infos.advice.id == 0 && infos.project && infos.project.id > 0) {
  154. obj['p_time'] = this.getTimes(infos.project.prescription.ctime)
  155. obj['feedetl_sn'] = infos.feedetl_sn
  156. if(infos.project.type == 2){
  157. obj['name'] = infos.project.project.project_name
  158. obj['code'] = infos.project.project.medical_code
  159. obj['spec'] = ''
  160. obj['unit'] = infos.project.project.unit
  161. obj['is_total']= 0
  162. }else if (infos.project.type == 3){
  163. obj['name'] = infos.project.good_info.good_name
  164. obj['spec'] = ""
  165. obj['code'] = infos.project.good_info.medical_insurance_number
  166. obj['unit'] = infos.project.good_info.packing_unit
  167. obj['is_total']= 0
  168. }
  169. }
  170. if (infos.advice && infos.advice.id > 0 && infos.project && infos.project.id == 0) {
  171. obj['p_time'] = this.getTimes(infos.advice.prescription.ctime)
  172. obj['name'] = infos.advice.drug.drug_name
  173. obj['code'] = infos.advice.drug.medical_insurance_number
  174. obj['unit'] = infos.advice.prescribing_number_unit
  175. obj['feedetl_sn'] = infos.feedetl_sn
  176. obj['spec'] = infos.advice.drug.dose + infos.advice.drug.dose_unit+"*" + infos.advice.drug.min_number + infos.advice.drug.min_unit+"/"+infos.advice.drug.max_unit
  177. obj['is_total']= 0
  178. // v-if="scope.row.min_unit != scope.row.dose_unit">{{ scope.row.dose }}{{ scope.row.dose_unit }}&nbsp;* &nbsp;</span>{{ scope.row.min_number }}{{ scope.row.min_unit }}/{{ scope.row.max_unit }}
  179. }
  180. this.list.push(obj)
  181. this.list.sort(function(a, b) {
  182. return b.p_time < a.p_time ? 1 : -1
  183. })
  184. }
  185. let newObj = {}
  186. newObj['name'] = "合计"
  187. newObj['count']= 1
  188. newObj['price']= this.order.medfee_sumamt.toFixed(2)
  189. newObj['is_total']= 1
  190. this.list.push(newObj)
  191. }
  192. }
  193. })
  194. },
  195. getJiaTotal(items){
  196. console.log(items)
  197. let total = 0
  198. for(let i = 0; i < items.length; i++){
  199. if(items[i].chrgitm_lv == "01") {
  200. total = parseFloat(total) + (parseFloat(items[i].cnt) * parseFloat(items[i].pric))
  201. }
  202. }
  203. return total.toFixed(2)
  204. },getYiTotal(items){
  205. let total = 0
  206. for(let i = 0; i < items.length; i++){
  207. if(items[i].chrgitm_lv == "02") {
  208. total = parseFloat(total) + (parseFloat(items[i].cnt) * parseFloat(items[i].pric))
  209. // total = Number(total) + Number((parseFloat(items[i].count) * parseFloat(items[i].price)).toFixed(2))
  210. }
  211. }
  212. return total.toFixed(2)
  213. },getNoMedicineTotal(items){
  214. let total = 0
  215. for(let i = 0; i < items.length; i++){
  216. total = parseFloat(total) + (parseFloat(items[i].cnt) * parseFloat(items[i].pric))
  217. }
  218. return total.toFixed(2)
  219. },getBingTotal(items){
  220. let total = 0
  221. for(let i = 0; i < items.length; i++){
  222. if(items[i].chrgitm_lv == "03") {
  223. total = parseFloat(total) + (parseFloat(items[i].cnt) * parseFloat(items[i].pric))
  224. // total = Number(total) + Number((parseFloat(items[i].count) * parseFloat(items[i].price)).toFixed(2))
  225. }
  226. }
  227. return total.toFixed(2)
  228. },getOtherTotal(items){
  229. // let total = 0
  230. // for(let i = 0; i < items.length; i++){
  231. // total = Number(total) + Number((parseFloat(items[i].count) * parseFloat(items[i].price)).toFixed(2))
  232. // }
  233. // return total.toFixed(2)
  234. },getTotal:function(items){
  235. let total = 0
  236. for(let i = 0; i < items.length; i++){
  237. total = Number(total) + Number(parseFloat(items[i].cnt) * parseFloat(items[i].pric))
  238. }
  239. return total.toFixed(2)
  240. },
  241. setNewData(details) {
  242. let drug_ids = []
  243. let project_ids = []
  244. for (let i = 0; i < details.length; i++) {
  245. if (details[i].advice && details[i].advice.id > 0 && details[i].advice.prescription && details[i].advice.prescription.type == 1) { //药品
  246. let obj = {
  247. id: details[i].advice.drug_id,
  248. price: details[i].advice.price,
  249. lv: details[i].chrgitm_lv,
  250. }
  251. drug_ids.push(obj)
  252. } else if (details[i].project && details[i].project.id > 0 && details[i].project.prescription && details[i].project.prescription.type == 2) { //项目
  253. let obj = {
  254. id: details[i].project.project_id,
  255. price: details[i].project.price,
  256. lv: details[i].chrgitm_lv,
  257. }
  258. project_ids.push(obj)
  259. }
  260. }
  261. //
  262. // console.log('old ids')
  263. // console.log(drug_ids)
  264. // console.log(project_ids)
  265. // console.log('old ids')
  266. let new_drug_ids = this.unique(drug_ids)
  267. let new_project_ids = this.unique(project_ids)
  268. let list = []
  269. console.log('ids')
  270. console.log(new_drug_ids)
  271. console.log(new_project_ids)
  272. console.log('ids')
  273. if (new_drug_ids.length > 0 && new_project_ids.length == 0) {
  274. for (let i = 0; i < new_drug_ids.length; i++) {
  275. let obj = {}
  276. let count = 0
  277. for (let a = 0; a < details.length; a++) {
  278. if (new_drug_ids[i].id == details[a].advice.drug_id && new_drug_ids[i].price == details[a].advice.price ) {
  279. obj['name'] = details[a].advice.advice_name
  280. // obj['spec'] = details[a].advice.drug.drug_spec
  281. obj['spec'] = details[a].advice.drug.dose + details[a].advice.drug.dose_unit+"*" + details[a].advice.drug.min_number + details[a].advice.drug.min_unit+"/"+ details[a].advice.drug.max_unit
  282. obj['unit'] = details[a].advice.prescribing_number_unit
  283. obj['medicine_insurance_kind'] = this.getMedicineInsuranceType(details[a].chrgitm_lv)
  284. obj['med_chrgitm_type'] = this.getType(details[a].med_chrgitm_type)
  285. obj['price'] = parseFloat(details[a].pric)
  286. obj['is_total'] = 2
  287. count = count + details[a].cnt
  288. }
  289. }
  290. obj['count'] = count
  291. list.push(obj)
  292. }
  293. }
  294. if (new_drug_ids.length == 0 && new_project_ids.length > 0) {
  295. for (let i = 0; i < new_project_ids.length; i++) {
  296. let obj = {}
  297. let count = 0
  298. for (let a = 0; a < details.length; a++) {
  299. if (new_project_ids[i].id == details[a].project.project_id && new_project_ids[i].price == details[a].project.price) {
  300. if( details[a].project.type == 2){
  301. obj['name'] = details[a].project.project.project_name
  302. obj['spec'] = ''
  303. obj['unit'] = details[a].project.project.unit
  304. }else if(details[a].project.type == 3){
  305. obj['name'] = details[a].project.good_info.good_name
  306. obj['spec'] = ''
  307. obj['unit'] = details[a].project.good_info.packing_unit
  308. }
  309. obj['medicine_insurance_kind'] = this.getMedicineInsuranceType(details[a].chrgitm_lv)
  310. obj['med_chrgitm_type'] = this.getType(details[a].med_chrgitm_type)
  311. obj['price'] = parseFloat(details[a].pric)
  312. obj['is_total'] = 2
  313. count = count + details[a].cnt
  314. }
  315. }
  316. obj['count'] = count
  317. list.push(obj)
  318. }
  319. }
  320. return list
  321. },
  322. set10265NewData(details) {
  323. let drug_ids = []
  324. let project_ids = []
  325. for (let i = 0; i < details.length; i++) {
  326. if (details[i].advice && details[i].advice.id > 0 && details[i].advice.prescription && details[i].advice.prescription.type == 1) { //药品
  327. let obj = {
  328. id: details[i].advice.drug_id,
  329. price: details[i].advice.price,
  330. lv: details[i].chrgitm_lv,
  331. }
  332. drug_ids.push(obj)
  333. } else if (details[i].project && details[i].project.id > 0 && details[i].project.prescription && details[i].project.prescription.type == 2) { //项目
  334. let obj = {
  335. id: details[i].project.project_id,
  336. price: details[i].project.price,
  337. lv: details[i].chrgitm_lv,
  338. }
  339. project_ids.push(obj)
  340. }
  341. }
  342. //
  343. // console.log('old ids')
  344. // console.log(drug_ids)
  345. // console.log(project_ids)
  346. // console.log('old ids')
  347. let new_drug_ids = this.unique10265(drug_ids)
  348. let new_project_ids = this.unique10265(project_ids)
  349. let list = []
  350. console.log('ids')
  351. console.log(new_drug_ids)
  352. console.log(new_project_ids)
  353. console.log('ids')
  354. if (new_drug_ids.length > 0 && new_project_ids.length == 0) {
  355. for (let i = 0; i < new_drug_ids.length; i++) {
  356. let obj = {}
  357. let count = 0
  358. for (let a = 0; a < details.length; a++) {
  359. if (new_drug_ids[i].id == details[a].advice.drug_id && new_drug_ids[i].price == details[a].advice.price && new_drug_ids[i].lv == details[a].chrgitm_lv) {
  360. obj['name'] = details[a].advice.advice_name
  361. // obj['spec'] = details[a].advice.drug.drug_spec
  362. obj['spec'] = details[a].advice.drug.dose + details[a].advice.drug.dose_unit+"*" + details[a].advice.drug.min_number + details[a].advice.drug.min_unit+"/"+ details[a].advice.drug.max_unit
  363. obj['unit'] = details[a].advice.prescribing_number_unit
  364. obj['medicine_insurance_kind'] = this.getMedicineInsuranceType(details[a].chrgitm_lv)
  365. obj['med_chrgitm_type'] = this.getType(details[a].med_chrgitm_type)
  366. obj['price'] = parseFloat(details[a].pric)
  367. obj['is_total'] = 2
  368. count = count + details[a].cnt
  369. }
  370. }
  371. obj['count'] = count
  372. list.push(obj)
  373. }
  374. }
  375. if (new_drug_ids.length == 0 && new_project_ids.length > 0) {
  376. for (let i = 0; i < new_project_ids.length; i++) {
  377. let obj = {}
  378. let count = 0
  379. for (let a = 0; a < details.length; a++) {
  380. if (new_project_ids[i].id == details[a].project.project_id && new_project_ids[i].price == details[a].project.price && new_project_ids[i].lv == details[a].chrgitm_lv) {
  381. if( details[a].project.type == 2){
  382. obj['name'] = details[a].project.project.project_name
  383. obj['spec'] = ''
  384. obj['unit'] = details[a].project.project.unit
  385. }else if(details[a].project.type == 3){
  386. obj['name'] = details[a].project.good_info.good_name
  387. obj['spec'] = ''
  388. obj['unit'] = details[a].project.good_info.packing_unit
  389. }
  390. obj['medicine_insurance_kind'] = this.getMedicineInsuranceType(details[a].chrgitm_lv)
  391. obj['med_chrgitm_type'] = this.getType(details[a].med_chrgitm_type)
  392. obj['price'] = parseFloat(details[a].pric)
  393. obj['is_total'] = 2
  394. count = count + details[a].cnt
  395. }
  396. }
  397. obj['count'] = count
  398. list.push(obj)
  399. }
  400. }
  401. return list
  402. },
  403. getType(med_chrgitm_type) {
  404. switch (med_chrgitm_type) {
  405. case '01':
  406. return '床位费'
  407. break
  408. case '02':
  409. return '诊察费'
  410. break
  411. case '03':
  412. return '检查费'
  413. break
  414. case '04':
  415. return '化验费'
  416. break
  417. case '05':
  418. return '治疗费'
  419. break
  420. case '06':
  421. return '手术费'
  422. break
  423. case '07':
  424. return '护理费'
  425. break
  426. case '08':
  427. return '材料费'
  428. break
  429. case '09':
  430. return '西药费'
  431. break
  432. case '10':
  433. return '中药饮片费'
  434. break
  435. case '11':
  436. return '中成药费'
  437. break
  438. case '12':
  439. return '一般诊疗费'
  440. break
  441. case '13':
  442. return '挂号费'
  443. break
  444. case '14':
  445. return '其他费'
  446. break
  447. case '0':
  448. return '其他费'
  449. break
  450. }
  451. },
  452. getMedicineInsuranceType(type) {
  453. switch (type) {
  454. case "01":
  455. return '甲类'
  456. break
  457. case "02":
  458. return '乙类'
  459. break
  460. case "03":
  461. return '丙类'
  462. break
  463. }
  464. },
  465. unique(array) {
  466. // res用来存储结果
  467. var res = []
  468. for (var i = 0, arrayLen = array.length; i < arrayLen; i++) {
  469. for (var j = 0, resLen = res.length; j < resLen; j++) {
  470. if (array[i].id === res[j].id && array[i].price === res[j].price) {
  471. break
  472. }
  473. }
  474. // 如果array[i]是唯一的,那么执行完循环,j等于resLen
  475. if (j === resLen) {
  476. res.push(array[i])
  477. }
  478. }
  479. return res
  480. },
  481. unique10265(array) {
  482. // res用来存储结果
  483. var res = []
  484. for (var i = 0, arrayLen = array.length; i < arrayLen; i++) {
  485. for (var j = 0, resLen = res.length; j < resLen; j++) {
  486. if (array[i].id === res[j].id && array[i].price === res[j].price && array[i].lv === res[j].lv) {
  487. break
  488. }
  489. }
  490. // 如果array[i]是唯一的,那么执行完循环,j等于resLen
  491. if (j === resLen) {
  492. res.push(array[i])
  493. }
  494. }
  495. return res
  496. },
  497. printThisPage() {
  498. if(this.org_id != 10106){
  499. if(this.org_id == 10215 || this.org_id == 9675 || this.org_id == 0 || this.org_id == 10485){
  500. const style =
  501. '@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;} .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;} .allListTable{border: none;width: 100%;text-align: center;border-collapse: collapse;line-height: 20px;font-size: 14px;border-color: #000;text-align:left;} .allListTable tr{page-break-inside:avoid;} .allListTable tr td {padding: 0 5px;border: 1px solid #000;}.tableBottom{font-size: 16px;display: flex;margin-top: 20px;}.tableBottomOne{margin-right: 40px;}}'
  502. printJS({
  503. printable: 'allList-print',
  504. type: 'html',
  505. style: style,
  506. scanStyles: false
  507. })
  508. }else {
  509. const style =
  510. '@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: 12px;display: flex;margin-top: 10px;}.tableBottomOne{margin-right: 20px;}}'
  511. printJS({
  512. printable: 'list-print',
  513. type: 'html',
  514. style: style,
  515. scanStyles: false
  516. })
  517. }
  518. }else{
  519. const style =
  520. '@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;}}';
  521. printJS({
  522. printable: "statement-print",
  523. type: "html",
  524. style: style,
  525. scanStyles: false
  526. });
  527. }
  528. // if (this.org_template_info.template_id == 1) {
  529. // printJS({
  530. // printable: "dialysis-print-box",
  531. // type: "html",
  532. // style: style,
  533. // scanStyles: false
  534. // });
  535. // }
  536. },getInfoPrivateExpenses10106(order_id){
  537. let params = {
  538. order_id: order_id,
  539. admin_user_id:this.$store.getters.xt_user.user.id
  540. }
  541. getPrivateExpensesOrder(params).then(response => {
  542. if (response.data.state == 0) {
  543. this.$message.error(response.data.msg)
  544. return false
  545. } else {
  546. this.info = response.data.data.info
  547. this.info['org_name'] = response.data.data.org_name
  548. this.info['date'] = response.data.data.date
  549. this.info['number'] = response.data.data.number
  550. this.info['name'] = response.data.data.name
  551. this.p_admin = response.data.data.printor_admin
  552. this.charge_admin = response.data.data.charge_admin
  553. this.order_infos = response.data.data
  554. }
  555. })
  556. }, getGoodUnit(id) {
  557. var goodUnit = this.$store.getters.good_unit
  558. for (let i = 0; i < goodUnit.length; i++) {
  559. if (goodUnit[i].id == id) {
  560. return goodUnit[i].name
  561. }
  562. }
  563. },
  564. getInfo10106(order_id) {
  565. 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 ) {
  566. var that = this
  567. axios.get('http://127.0.0.1:9532/api/settle/query', {
  568. params: {
  569. order_id: order_id,
  570. admin_user_id:that.$store.getters.xt_user.user.id
  571. }
  572. })
  573. .then(function (response) {
  574. if (response.data.state == 0) {
  575. this.$message.error(response.data.msg)
  576. return false
  577. } else {
  578. console.log("logloglog")
  579. console.log(response.data.data.info)
  580. that.info = response.data.data.info
  581. that.p_admin = response.data.data.printor_admin
  582. that.charge_admin = response.data.data.charge_admin
  583. that.order_infos = response.data.data
  584. console.log(that.info)
  585. that.info['bed_cost_total'] = response.data.data.bedCostTotal
  586. that.info['bed_cost_self_total'] = response.data.data.bedCostSelfTotal
  587. that.info['bed_cost_part_self_total'] = response.data.data.bedCostPartSelfTotal
  588. that.info['operation_cost_total'] = response.data.data.operationCostTotal
  589. that.info['operation_cost_self_total'] = response.data.data.operationCostSelfTotal
  590. that.info['operation_cost_part_self_total'] = response.data.data.operationCostPartSelfTotal
  591. that.info['other_cost_total'] = response.data.data.otherCostTotal
  592. that.info['other_cost_self_total'] = response.data.data.otherCostSelfTotal
  593. that.info['other_cost_part_self_total'] = response.data.data.otherCostPartSelfTotal
  594. that.info['material_cost_total'] = response.data.data.materialCostTotal
  595. that.info['material_cost_self_total'] = response.data.data.materialCostSelfTotal
  596. that.info['material_cost_part_self_total'] = response.data.data.materialCostPartSelfTotal
  597. that.info['western_medicine_cost_total'] = response.data.data.westernMedicineCostTotal
  598. that.info['western_medicine_cost_self_total'] = response.data.data.westernMedicineCostSelfTotal
  599. that.info['western_medicine_cost_part_self_total'] = response.data.data.westernMedicineCostPartSelfTotal
  600. that.info['chinese_traditional_medicine_cost_total'] = response.data.data.chineseTraditionalMedicineCostTotal
  601. that.info['chinese_traditional_medicine_cost_self_total'] = response.data.data.chineseTraditionalMedicineCostSelfTotal
  602. that.info['chinese_traditional_medicine_cost_part_self_total'] = response.data.data.chineseTraditionalMedicineCostPartSelfTotal
  603. that.info['check_cost_total'] = response.data.data.checkCostTotal
  604. that.info['check_cost_self_total'] = response.data.data.checkCostSelfTotal
  605. that.info['check_cost_part_self_total'] = response.data.data.checkCostPartSelfTotal
  606. that.info['laboratory_cost_total'] = response.data.data.laboratoryCostTotal
  607. that.info['laboratory_cost_self_total'] = response.data.data.laboratoryCostSelfTotal
  608. that.info['laboratory_cost_part_self_total'] = response.data.data.laboratoryCostPartSelfTotal
  609. that.info['treat_cost_total'] = response.data.data.treatCostTotal
  610. that.info['treat_cost_self_total'] = response.data.data.treatCostSelfTotal
  611. that.info['treat_cost_part_self_total'] = response.data.data.treatCostPartSelfTotal
  612. console.log(this.info)
  613. }
  614. })
  615. .catch(function (error) {
  616. });
  617. }
  618. }
  619. }
  620. }
  621. </script>
  622. <style>
  623. .dialysis-print-order {
  624. width: 960px;
  625. margin: 0 auto;
  626. }
  627. .dialysis-print-order .order-yy-name {
  628. margin: auto;
  629. text-align: center;
  630. font-size: 20px;
  631. letter-spacing: 5px;
  632. }
  633. .dialysis-print-order .order-title {
  634. margin: auto;
  635. font-weight: 600;
  636. text-align: center;
  637. font-size: 22px;
  638. padding: 10px;
  639. }
  640. .dialysis-print-order .table-box {
  641. width: 100%;
  642. line-height: 23px;
  643. font-size: 14px;
  644. }
  645. .dialysis-print-order .print-table {
  646. width: 100%;
  647. text-align: center;
  648. border-collapse: collapse;
  649. line-height: 40px;
  650. font-size: 14px;
  651. border-color: #000;
  652. }
  653. .dialysis-print-order .print-table-no {
  654. width: 100%;
  655. text-align: center;
  656. border-collapse: collapse;
  657. font-size: 14px;
  658. }
  659. .dialysis-print-order .under-line {
  660. border-bottom: 1px solid #999;
  661. width: 95%;
  662. text-align: center;
  663. margin-left: 2px;
  664. }
  665. .dialysis-print-order .title-box {
  666. text-align: center;
  667. font-size: 16px;
  668. }
  669. .dialysis-print-order .radio-lebel-box {
  670. font-weight: 400;
  671. cursor: pointer;
  672. }
  673. .dialysis-print-order .radio-no {
  674. opacity: 0;
  675. outline: none;
  676. position: absolute;
  677. margin: 0;
  678. width: 0;
  679. height: 0;
  680. z-index: -1;
  681. }
  682. .dialysis-print-order .radio-inner {
  683. white-space: nowrap;
  684. cursor: pointer;
  685. outline: none;
  686. display: inline-block;
  687. line-height: 1;
  688. position: relative;
  689. vertical-align: middle;
  690. }
  691. .dialysis-print-order .radio-fang {
  692. display: inline-block;
  693. position: relative;
  694. border: 1px solid #000;
  695. box-sizing: border-box;
  696. width: 14px;
  697. height: 14px;
  698. background-color: #fff;
  699. z-index: 1;
  700. transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
  701. background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);
  702. }
  703. .dialysis-print-order .is-checked-radio::after {
  704. content: "√";
  705. font-size: 15px;
  706. }
  707. .dialysis-print-order .print-table-no tr td {
  708. padding: 8px 5px;
  709. line-height: 25px;
  710. }
  711. .dialysis-print-order .print-table tr td {
  712. padding: 1px 1px;
  713. /*line-height: 25px;*/
  714. }
  715. .es-img {
  716. height: 30px;
  717. }
  718. .advice-name {
  719. text-align: left;
  720. }
  721. .advice-children {
  722. display: flex;
  723. }
  724. .title-box-pro {
  725. border: 0 #fff;
  726. line-height: 25px;
  727. height: 25px;
  728. text-align: left;
  729. padding-left: 10px !important;
  730. }
  731. .title-box-pro-tr {
  732. border: 0 #fff;
  733. }
  734. .text-align-left {
  735. text-align: left !important;
  736. padding-left: 10px !important;
  737. font-size: 14px !important;
  738. line-height: 25px;
  739. }
  740. .print-table-tr-new td {
  741. line-height: 20px !important;
  742. }
  743. .border-top-solid {
  744. border: solid 1px #000;
  745. }
  746. .print-template-two tr {
  747. line-height: 30px;
  748. }
  749. .table-box1 {
  750. border: 1px solid #000;
  751. width: 100%;
  752. line-height: 30px;
  753. font-size: 14px;
  754. border-collapse: collapse;
  755. }
  756. .table-box1 tr {
  757. border-bottom: 1px solid #000;
  758. }
  759. </style>
  760. <style lang="scss">
  761. .newContainer {
  762. .dialysisPage::-webkit-scrollbar {
  763. height: 15px;
  764. }
  765. .el-date-editor {
  766. .el-input__inner {
  767. padding-right: 0px;
  768. }
  769. }
  770. .el-table td, .el-table th {
  771. text-align: center;
  772. }
  773. }
  774. .newContainer::-webkit-scrollbar {
  775. height: 15px !important;
  776. }
  777. </style>