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

scheduleTablePrint.vue 47KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100
  1. <template>
  2. <div>
  3. <el-button style="float:right;" type="primary" @click="printAction">打印</el-button>
  4. <!-- <el-button type="primary" @click="printAction">打印</el-button>-->
  5. <div class="print_main_content">
  6. <table v-if="$route.query.week_date ==''" id="scheduleTable" class="scheduleTable" border="1" cellspacing="0">
  7. <tr>
  8. <td rowspan="2">分区</td>
  9. <td rowspan="2">机号</td>
  10. <td colspan="3">周一({{ weekTitle[0] }})</td>
  11. <td colspan="3">周二({{ weekTitle[1] }})</td>
  12. <td colspan="3">周三({{ weekTitle[2] }})</td>
  13. <td colspan="3">周四({{ weekTitle[3] }})</td>
  14. <td colspan="3">周五({{ weekTitle[4] }})</td>
  15. <td colspan="3">周六({{ weekTitle[5] }})</td>
  16. <td colspan="3">周日({{ weekTitle[6] }})</td>
  17. <td rowspan="2">总数</td>
  18. </tr>
  19. <tr>
  20. <td>上午</td>
  21. <td>下午</td>
  22. <td>晚上</td>
  23. <td>上午</td>
  24. <td>下午</td>
  25. <td>晚上</td>
  26. <td>上午</td>
  27. <td>下午</td>
  28. <td>晚上</td>
  29. <td>上午</td>
  30. <td>下午</td>
  31. <td>晚上</td>
  32. <td>上午</td>
  33. <td>下午</td>
  34. <td>晚上</td>
  35. <td>上午</td>
  36. <td>下午</td>
  37. <td>晚上</td>
  38. <td>上午</td>
  39. <td>下午</td>
  40. <td>晚上</td>
  41. </tr>
  42. <tr v-for="(item,index) in scheduleZone" :key="index">
  43. <td style="min-width:40px;">{{ item.area }}</td>
  44. <td style="min-width:40px;">{{ item.cut }}</td>
  45. <td style="min-width:40px;">
  46. <span v-if="item.Mon_M.patient_id">
  47. <span>{{ item.Mon_M.patient }}</span>
  48. <span>{{ item.Mon_M.mode_name }}</span>
  49. </span>
  50. </td>
  51. <td style="min-width:40px;">
  52. <span v-if="item.Mon_A.patient_id">
  53. <span>{{ item.Mon_A.patient }}</span>
  54. <span>{{ item.Mon_A.mode_name }}</span>
  55. </span>
  56. </td>
  57. <td style="min-width:40px;">
  58. <span v-if="item.Mon_N.patient_id">
  59. <span>{{ item.Mon_N.patient }}</span>
  60. <span>{{ item.Mon_N.mode_name }}</span>
  61. </span>
  62. </td>
  63. <td style="min-width:40px;">
  64. <span v-if="item.Tue_M.patient_id">
  65. <span>{{ item.Tue_M.patient }}</span>
  66. <span>{{ item.Tue_M.mode_name }}</span>
  67. </span>
  68. </td>
  69. <td style="min-width:40px;">
  70. <span v-if="item.Tue_A.patient_id">
  71. <span>{{ item.Tue_A.patient }}</span>
  72. <span>{{ item.Tue_A.mode_name }}</span>
  73. </span>
  74. </td>
  75. <td style="min-width:40px;">
  76. <span v-if="item.Tue_N.patient_id">
  77. <span>{{ item.Tue_N.patient }}</span>
  78. <span>{{ item.Tue_N.mode_name }}</span>
  79. </span>
  80. </td>
  81. <td style="min-width:40px;">
  82. <span v-if="item.Wed_M.patient_id">
  83. <span>{{ item.Wed_M.patient }}</span>
  84. <span>{{ item.Wed_M.mode_name }}</span>
  85. </span>
  86. </td>
  87. <td style="min-width:40px;">
  88. <span v-if="item.Wed_A.patient_id">
  89. <span>{{ item.Wed_A.patient }}</span>
  90. <span>{{ item.Wed_A.mode_name }}</span>
  91. </span>
  92. </td>
  93. <td style="min-width:40px;">
  94. <span v-if="item.Wed_N.patient_id">
  95. <span>{{ item.Wed_N.patient }}</span>
  96. <span>{{ item.Wed_N.mode_name }}</span>
  97. </span>
  98. </td>
  99. <td style="min-width:40px;">
  100. <span v-if="item.Thurs_M.patient_id">
  101. <span>{{ item.Thurs_M.patient }}</span>
  102. <span>{{ item.Thurs_M.mode_name }}</span>
  103. </span>
  104. </td>
  105. <td style="min-width:40px;">
  106. <span v-if="item.Thurs_A.patient_id">
  107. <span>{{ item.Thurs_A.patient }}</span>
  108. <span>{{ item.Thurs_A.mode_name }}</span>
  109. </span>
  110. </td>
  111. <td style="min-width:40px;">
  112. <span v-if="item.Thurs_N.patient_id">
  113. <span>{{ item.Thurs_N.patient }}</span>
  114. <span>{{ item.Thurs_N.mode_name }}</span>
  115. </span>
  116. </td>
  117. <td style="min-width:40px;">
  118. <span v-if="item.Fri_M.patient_id">
  119. <span>{{ item.Fri_M.patient }}</span>
  120. <span>{{ item.Fri_M.mode_name }}</span>
  121. </span>
  122. </td>
  123. <td style="min-width:40px;">
  124. <span v-if="item.Fri_A.patient_id">
  125. <span>{{ item.Fri_A.patient }}</span>
  126. <span>{{ item.Fri_A.mode_name }}</span>
  127. </span>
  128. </td>
  129. <td style="min-width:40px;">
  130. <span v-if="item.Fri_N.patient_id">
  131. <span>{{ item.Fri_N.patient }}</span>
  132. <span>{{ item.Sat_M.mode_name }}</span>
  133. </span>
  134. </td>
  135. <td style="min-width:40px;">
  136. <span v-if="item.Sat_M.patient_id">
  137. <span>{{ item.Sat_M.patient }}</span>
  138. <span>{{ item.Sat_M.mode_name }}</span>
  139. </span>
  140. </td>
  141. <td style="min-width:40px;">
  142. <span v-if="item.Sat_A.patient_id">
  143. <span>{{ item.Sat_A.patient }}</span>
  144. <span>{{ item.Sat_A.mode_name }}</span>
  145. </span>
  146. </td>
  147. <td style="min-width:40px;">
  148. <span v-if="item.Sat_N.patient_id">
  149. <span>{{ item.Sat_N.patient }}</span>
  150. <span>{{ item.Sat_N.mode_name }}</span>
  151. </span>
  152. </td>
  153. <td style="min-width:40px;">
  154. <span v-if="item.Sun_M.patient_id">
  155. <span>{{ item.Sun_M.patient }}</span>
  156. <span>{{ item.Sun_M.mode_name }}</span>
  157. </span>
  158. </td>
  159. <td style="min-width:40px;">
  160. <span v-if="item.Sun_A.patient_id">
  161. <span>{{ item.Sun_A.patient }}</span>
  162. <span>{{ item.Sun_A.mode_name }}</span>
  163. </span>
  164. </td>
  165. <td style="min-width:40px;">
  166. <span v-if="item.Sun_N.patient_id">
  167. <span>{{ item.Sun_N.patient }}</span>
  168. <span>{{ item.Sun_N.mode_name }}</span>
  169. </span>
  170. </td>
  171. <td>{{item.total}}</td>
  172. </tr>
  173. </table>
  174. <!-- 选择天数打印 -->
  175. <table
  176. v-if="$route.query.week_date !=''"
  177. id="scheduleTable" class="scheduleTable"
  178. border="1" cellspacing="0"
  179. style="margin: auto;"
  180. >
  181. <tr>
  182. <td rowspan="2">分区</td>
  183. <td rowspan="2">机号</td>
  184. <td colspan="3" v-if="$route.query.week_date =='周一'">周一({{ weekTitle[0] }})</td>
  185. <td colspan="3" v-if="$route.query.week_date =='周二'">周二({{ weekTitle[1] }})</td>
  186. <td colspan="3" v-if="$route.query.week_date =='周三'">周三({{ weekTitle[2] }})</td>
  187. <td colspan="3" v-if="$route.query.week_date =='周四'">周四({{ weekTitle[3] }})</td>
  188. <td colspan="3" v-if="$route.query.week_date =='周五'">周五({{ weekTitle[4] }})</td>
  189. <td colspan="3" v-if="$route.query.week_date =='周六'">周六({{ weekTitle[5] }})</td>
  190. <td colspan="3" v-if="$route.query.week_date =='周日'">周日({{ weekTitle[6] }})</td>
  191. <td rowspan="2">总数</td>
  192. </tr>
  193. <tr v-for="index in week_date.length" :key="index">
  194. <td>上午</td>
  195. <td>下午</td>
  196. <td>晚上</td>
  197. </tr>
  198. <tr v-for="(item,index) in scheduleZone" :key="index">
  199. <td style="min-width:180px;">{{ item.area }}</td>
  200. <td style="min-width:180px;">{{ item.cut }}</td>
  201. <td style="min-width:180px;" v-if="$route.query.week_date =='周一'">
  202. <span v-if="item.Mon_M.patient_id ">
  203. <span>{{ item.Mon_M.patient }}</span>
  204. <span>{{ item.Mon_M.mode_name }}</span>
  205. </span>
  206. </td>
  207. <td style="min-width:180px;" v-if="$route.query.week_date =='周一'">
  208. <span v-if="item.Mon_A.patient_id ">
  209. <span>{{ item.Mon_A.patient }}</span>
  210. <span>{{ item.Mon_A.mode_name }}</span>
  211. </span>
  212. </td>
  213. <td style="min-width:180px;" v-if="$route.query.week_date =='周一'">
  214. <span v-if="item.Mon_N.patient_id ">
  215. <span>{{ item.Mon_N.patient }}</span>
  216. <span>{{ item.Mon_N.mode_name }}</span>
  217. </span>
  218. </td>
  219. <td style="min-width:180px;" v-if="$route.query.week_date =='周二'">
  220. <span v-if="item.Tue_M.patient_id">
  221. <span>{{ item.Tue_M.patient }}</span>
  222. <span>{{ item.Tue_M.mode_name }}</span>
  223. </span>
  224. </td>
  225. <td style="min-width:180px;" v-if="$route.query.week_date =='周二'">
  226. <span v-if="item.Tue_A.patient_id ">
  227. <span>{{ item.Tue_A.patient }}</span>
  228. <span>{{ item.Tue_A.mode_name }}</span>
  229. </span>
  230. </td>
  231. <td style="min-width:180px;" v-if="$route.query.week_date =='周二'">
  232. <span v-if="item.Tue_N.patient_id ">
  233. <span>{{ item.Tue_N.patient }}</span>
  234. <span>{{ item.Tue_N.mode_name }}</span>
  235. </span>
  236. </td>
  237. <td style="min-width:180px;" v-if="$route.query.week_date =='周三'">
  238. <span v-if="item.Wed_M.patient_id ">
  239. <span>{{ item.Wed_M.patient }}</span>
  240. <span>{{ item.Wed_M.mode_name }}</span>
  241. </span>
  242. </td>
  243. <td style="min-width:180px;" v-if="$route.query.week_date =='周三'">
  244. <span v-if="item.Wed_A.patient_id ">
  245. <span>{{ item.Wed_A.patient }}</span>
  246. <span>{{ item.Wed_A.mode_name }}</span>
  247. </span>
  248. </td>
  249. <td style="min-width:180px;" v-if="$route.query.week_date =='周三'">
  250. <span v-if="item.Wed_N.patient_id ">
  251. <span>{{ item.Wed_N.patient }}</span>
  252. <span>{{ item.Wed_N.mode_name }}</span>
  253. </span>
  254. </td>
  255. <td style="min-width:180px;" v-if="$route.query.week_date =='周四'">
  256. <span v-if="item.Thurs_M.patient_id ">
  257. <span>{{ item.Thurs_M.patient }}</span>
  258. <span>{{ item.Thurs_M.mode_name }}</span>
  259. </span>
  260. </td>
  261. <td style="min-width:180px;" v-if="$route.query.week_date =='周四'">
  262. <span v-if="item.Thurs_A.patient_id ">
  263. <span>{{ item.Thurs_A.patient }}</span>
  264. <span>{{ item.Thurs_A.mode_name }}</span>
  265. </span>
  266. </td>
  267. <td style="min-width:180px;" v-if="$route.query.week_date =='周四'">
  268. <span v-if="item.Thurs_N.patient_id ">
  269. <span>{{ item.Thurs_N.patient }}</span>
  270. <span>{{ item.Thurs_N.mode_name }}</span>
  271. </span>
  272. </td>
  273. <td style="min-width:180px;" v-if="$route.query.week_date =='周五'">
  274. <span v-if="item.Fri_M.patient_id">
  275. <span>{{ item.Fri_M.patient }}</span>
  276. <span>{{ item.Fri_M.mode_name }}</span>
  277. </span>
  278. </td>
  279. <td style="min-width:180px;" v-if="$route.query.week_date =='周五'">
  280. <span v-if="item.Fri_A.patient_id ">
  281. <span>{{ item.Fri_A.patient }}</span>
  282. <span>{{ item.Fri_A.mode_name }}</span>
  283. </span>
  284. </td>
  285. <td style="min-width:180px;" v-if="$route.query.week_date =='周五'">
  286. <span v-if="item.Fri_N.patient_id ">
  287. <span>{{ item.Fri_N.patient }}</span>
  288. <span>{{ item.Sat_M.mode_name }}</span>
  289. </span>
  290. </td>
  291. <td style="min-width:180px;" v-if="$route.query.week_date =='周六'">
  292. <span v-if="item.Sat_M.patient_id ">
  293. <span>{{ item.Sat_M.patient }}</span>
  294. <span>{{ item.Sat_M.mode_name }}</span>
  295. </span>
  296. </td>
  297. <td style="min-width:180px;" v-if="$route.query.week_date =='周六'">
  298. <span v-if="item.Sat_A.patient_id ">
  299. <span>{{ item.Sat_A.patient }}</span>
  300. <span>{{ item.Sat_A.mode_name }}</span>
  301. </span>
  302. </td>
  303. <td style="min-width:180px;" v-if="$route.query.week_date =='周六'">
  304. <span v-if="item.Sat_N.patient_id ">
  305. <span>{{ item.Sat_N.patient }}</span>
  306. <span>{{ item.Sat_N.mode_name }}</span>
  307. </span>
  308. </td>
  309. <td style="min-width:180px;" v-if="$route.query.week_date =='周日'">
  310. <span v-if="item.Sun_M.patient_id ">
  311. <span>{{ item.Sun_M.patient }}</span>
  312. <span>{{ item.Sun_M.mode_name }}</span>
  313. </span>
  314. </td>
  315. <td style="min-width:180px;" v-if="$route.query.week_date =='周日'">
  316. <span v-if="item.Sun_A.patient_id ">
  317. <span>{{ item.Sun_A.patient }}</span>
  318. <span>{{ item.Sun_A.mode_name }}</span>
  319. </span>
  320. </td>
  321. <td style="min-width:180px;" v-if="$route.query.week_date =='周日'">
  322. <span v-if="item.Sun_N.patient_id ">
  323. <span>{{ item.Sun_N.patient }}</span>
  324. <span>{{ item.Sun_N.mode_name }}</span>
  325. </span>
  326. </td>
  327. <td style="min-width:60px;">{{item.total}}</td>
  328. </tr>
  329. </table>
  330. </div>
  331. </div>
  332. </template>
  333. <script>
  334. import {getSchedulesTwo,getWeekPanelsOne,getPatientSheduleCount,getAllZones} from "@/api/schedule";
  335. import print from 'print-js'
  336. export default {
  337. props:{
  338. scheduleZoneProp: {
  339. type: Array,
  340. dafault: []
  341. },
  342. },
  343. data(){
  344. return{
  345. schedule_type:'',
  346. partition_id:'',
  347. theType:2,
  348. scheduleZone:[],
  349. weekTitle:[],
  350. scheduleZoneRow: [],
  351. partitions: {},
  352. theWeek: {
  353. historyWeek: 0,
  354. lastWeek: 0,
  355. thisWeek: 0,
  356. nextWeek: 0,
  357. nextTwoWeek: 0
  358. },
  359. scheduleCountList:[],
  360. total:0,
  361. zones:[],
  362. zoneIdList:[],
  363. strArr:"",
  364. week_date:"",
  365. }
  366. },
  367. created(){
  368. this.getAllZones()
  369. this.modeOptions = this.$store.getters.treatment_mode;
  370. this.partition_id = this.$route.query.partition_id
  371. var newList = []
  372. var arr = this.$route.query.week_date
  373. console.log('1234325431',this.$route.query);
  374. if(arr!=""){
  375. var newArr = arr.split(",")
  376. if(newArr!=null&&newArr.length > 0){
  377. for(let i=0;i<newArr.length;i++){
  378. if(newArr[i] == "周一"){
  379. newList.push(1)
  380. }
  381. if(newArr[i] == "周二"){
  382. newList.push(2)
  383. }
  384. if(newArr[i] == "周三"){
  385. newList.push(3)
  386. }
  387. if(newArr[i] == "周四"){
  388. newList.push(4)
  389. }
  390. if(newArr[i] == "周五"){
  391. newList.push(5)
  392. }
  393. if(newArr[i] == "周六"){
  394. newList.push(6)
  395. }
  396. if(newArr[i] == "周日"){
  397. newList.push(7)
  398. }
  399. }
  400. this.week_date = newList.join(",")
  401. }
  402. }else{
  403. newList = [1,2,3,4,5,6,7]
  404. this.week_date = newList.join(",")
  405. }
  406. },
  407. methods:{
  408. getAllZones(){
  409. getAllZones().then(response=>{
  410. if(response.data.state == 1){
  411. var zones = response.data.data.zones
  412. for(let i=0;i<zones.length;i++){
  413. this.zoneIdList.push(zones[i].id)
  414. }
  415. this.zones.push(...zones)
  416. var strArr = this.zoneIdList.join(",")
  417. this.strArr = strArr
  418. this.getWeekPanels()
  419. //统计患者排班数量
  420. this.getPatientSheduleCount()
  421. }
  422. })
  423. },
  424. getWeekPanels() {
  425. this.scheduleZone = []
  426. var partionStr = this.partition_id
  427. var arr = this.zoneIdList.join(',')
  428. var str = ""
  429. if(partionStr == 0){
  430. str = arr
  431. }
  432. if(partionStr != 0){
  433. str = partionStr
  434. }
  435. getWeekPanelsOne(1,str).then(response => {
  436. if (response.data.state == 0) {
  437. return false
  438. }
  439. var partitions = response.data.data.partitions
  440. console.log("分区",partitions)
  441. this.theWeek.historyWeek = this.theWeek.thisWeek - 2
  442. this.theWeek.thisWeek = response.data.data.theWeek
  443. this.theWeek.lastWeek = this.theWeek.thisWeek - 1
  444. this.theWeek.nextWeek = this.theWeek.thisWeek + 1
  445. this.theWeek.nextTwoWeek = this.theWeek.thisWeek + 2
  446. var that = this
  447. if (partitions.length > 0) {
  448. partitions.forEach(function(partition) {
  449. if (partition.jihaos.length == 0) {
  450. return false
  451. }
  452. that.scheduleZoneRow.push(partition.jihaos.length)
  453. that.partitions[partition.id] = partition
  454. partition.jihaos.forEach(function(jihao) {
  455. var thisPa = {
  456. area: partition.name,
  457. zone_id: partition.id,
  458. zone_type: partition.type,
  459. cut: jihao.number,
  460. jihao_id: jihao.id,
  461. sort:jihao.sort,
  462. Mon_M: {
  463. schedule_id: 0,
  464. mode_id: 0,
  465. mode_name: '',
  466. patient_id: 0,
  467. patient: ''
  468. },
  469. Mon_A: {
  470. schedule_id: 0,
  471. mode_id: 0,
  472. mode_name: '',
  473. patient_id: 0,
  474. patient: ''
  475. },
  476. Mon_N: {
  477. schedule_id: 0,
  478. mode_id: 0,
  479. mode_name: '',
  480. patient_id: 0,
  481. patient: ''
  482. },
  483. Tue_M: {
  484. schedule_id: 0,
  485. mode_id: 0,
  486. mode_name: '',
  487. patient_id: 0,
  488. patient: ''
  489. },
  490. Tue_A: {
  491. schedule_id: 0,
  492. mode_id: 0,
  493. mode_name: '',
  494. patient_id: 0,
  495. patient: ''
  496. },
  497. Tue_N: {
  498. schedule_id: 0,
  499. mode_id: 0,
  500. mode_name: '',
  501. patient_id: 0,
  502. patient: ''
  503. },
  504. Wed_M: {
  505. schedule_id: 0,
  506. mode_id: 0,
  507. mode_name: '',
  508. patient_id: 0,
  509. patient: ''
  510. },
  511. Wed_A: {
  512. schedule_id: 0,
  513. mode_id: 0,
  514. mode_name: '',
  515. patient_id: 0,
  516. patient: ''
  517. },
  518. Wed_N: {
  519. schedule_id: 0,
  520. mode_id: 0,
  521. mode_name: '',
  522. patient_id: 0,
  523. patient: ''
  524. },
  525. Thurs_M: {
  526. schedule_id: 0,
  527. mode_id: 0,
  528. mode_name: '',
  529. patient_id: 0,
  530. patient: ''
  531. },
  532. Thurs_A: {
  533. schedule_id: 0,
  534. mode_id: 0,
  535. mode_name: '',
  536. patient_id: 0,
  537. patient: ''
  538. },
  539. Thurs_N: {
  540. schedule_id: 0,
  541. mode_id: 0,
  542. mode_name: '',
  543. patient_id: 0,
  544. patient: ''
  545. },
  546. Fri_M: {
  547. schedule_id: 0,
  548. mode_id: 0,
  549. mode_name: '',
  550. patient_id: 0,
  551. patient: ''
  552. },
  553. Fri_A: {
  554. schedule_id: 0,
  555. mode_id: 0,
  556. mode_name: '',
  557. patient_id: 0,
  558. patient: ''
  559. },
  560. Fri_N: {
  561. schedule_id: 0,
  562. mode_id: 0,
  563. mode_name: '',
  564. patient_id: 0,
  565. patient: ''
  566. },
  567. Sat_M: {
  568. schedule_id: 0,
  569. mode_id: 0,
  570. mode_name: '',
  571. patient_id: 0,
  572. patient: ''
  573. },
  574. Sat_A: {
  575. schedule_id: 0,
  576. mode_id: 0,
  577. mode_name: '',
  578. patient_id: 0,
  579. patient: ''
  580. },
  581. Sat_N: {
  582. schedule_id: 0,
  583. mode_id: 0,
  584. mode_name: '',
  585. patient_id: 0,
  586. patient: ''
  587. },
  588. Sun_A: {
  589. schedule_id: 0,
  590. mode_id: 0,
  591. mode_name: '',
  592. patient_id: 0,
  593. patient: ''
  594. },
  595. Sun_N: {
  596. schedule_id: 0,
  597. mode_id: 0,
  598. mode_name: '',
  599. patient_id: 0,
  600. patient: ''
  601. },
  602. Sun_M: {
  603. schedule_id: 0,
  604. mode_id: 0,
  605. mode_name: '',
  606. patient_id: 0,
  607. patient: ''
  608. },
  609. total: 0
  610. }
  611. that.scheduleZone.push(thisPa)
  612. })
  613. })
  614. }
  615. this.getSchedules()
  616. })
  617. },
  618. getSchedules() {
  619. var theType = 2;
  620. if(this.$route.query.weekTime == "historyWeek"){
  621. theType =0
  622. }
  623. if(this.$route.query.weekTime == "lastWeek"){
  624. theType = 1
  625. }
  626. if(this.$route.query.weekTime == "thisWeek"){
  627. theType = 2
  628. }
  629. if(this.$route.query.weekTime == "nextWeek"){
  630. theType = 3
  631. }
  632. if(this.$route.query.weekTime == "nextTwoWeek"){
  633. theType = 4
  634. }
  635. var partionStr = this.partition_id
  636. var arr = this.zoneIdList.join(',')
  637. var str = ""
  638. if(partionStr == 0){
  639. str = arr
  640. }
  641. if(partionStr != 0){
  642. str = partionStr
  643. }
  644. console.log("week_day=",this.week_date)
  645. const params = {
  646. weekTime:theType,
  647. patitionid:str,
  648. schedule_type:this.schedule_type,
  649. week_date:this.week_date,
  650. }
  651. console.log("param23232323wo",params)
  652. getSchedulesTwo(params).then(response => {
  653. if (response.data.state == 1) {
  654. this.weekTitle = response.data.data.weekTitle;
  655. this.weekDays = response.data.data.days;
  656. this.toDay = response.data.data.today;
  657. var theSchedules = response.data.data.schdules;
  658. var that = this;
  659. that.scheduleZone.forEach(function(zone, index) {
  660. that.scheduleZone[index].Mon_M = {
  661. mode_id: 0,
  662. mode_name: "",
  663. patient_id: 0,
  664. patient: ""
  665. };
  666. that.scheduleZone[index].Mon_A = {
  667. mode_id: 0,
  668. mode_name: "",
  669. patient_id: 0,
  670. patient: ""
  671. };
  672. that.scheduleZone[index].Mon_N = {
  673. mode_id: 0,
  674. mode_name: "",
  675. patient_id: 0,
  676. patient: ""
  677. };
  678. that.scheduleZone[index].Tue_M = {
  679. mode_id: 0,
  680. mode_name: "",
  681. patient_id: 0,
  682. patient: ""
  683. };
  684. that.scheduleZone[index].Tue_A = {
  685. mode_id: 0,
  686. mode_name: "",
  687. patient_id: 0,
  688. patient: ""
  689. };
  690. that.scheduleZone[index].Tue_N = {
  691. mode_id: 0,
  692. mode_name: "",
  693. patient_id: 0,
  694. patient: ""
  695. };
  696. that.scheduleZone[index].Wed_M = {
  697. mode_id: 0,
  698. mode_name: "",
  699. patient_id: 0,
  700. patient: ""
  701. };
  702. that.scheduleZone[index].Wed_A = {
  703. mode_id: 0,
  704. mode_name: "",
  705. patient_id: 0,
  706. patient: ""
  707. };
  708. that.scheduleZone[index].Wed_N = {
  709. mode_id: 0,
  710. mode_name: "",
  711. patient_id: 0,
  712. patient: ""
  713. };
  714. that.scheduleZone[index].Thurs_M = {
  715. mode_id: 0,
  716. mode_name: "",
  717. patient_id: 0,
  718. patient: ""
  719. };
  720. that.scheduleZone[index].Thurs_A = {
  721. mode_id: 0,
  722. mode_name: "",
  723. patient_id: 0,
  724. patient: ""
  725. };
  726. that.scheduleZone[index].Thurs_N = {
  727. mode_id: 0,
  728. mode_name: "",
  729. patient_id: 0,
  730. patient: ""
  731. };
  732. that.scheduleZone[index].Fri_M = {
  733. mode_id: 0,
  734. mode_name: "",
  735. patient_id: 0,
  736. patient: ""
  737. };
  738. that.scheduleZone[index].Fri_A = {
  739. mode_id: 0,
  740. mode_name: "",
  741. patient_id: 0,
  742. patient: ""
  743. };
  744. that.scheduleZone[index].Fri_N = {
  745. mode_id: 0,
  746. mode_name: "",
  747. patient_id: 0,
  748. patient: ""
  749. };
  750. that.scheduleZone[index].Sat_M = {
  751. mode_id: 0,
  752. mode_name: "",
  753. patient_id: 0,
  754. patient: ""
  755. };
  756. that.scheduleZone[index].Sat_A = {
  757. mode_id: 0,
  758. mode_name: "",
  759. patient_id: 0,
  760. patient: ""
  761. };
  762. that.scheduleZone[index].Sat_N = {
  763. mode_id: 0,
  764. mode_name: "",
  765. patient_id: 0,
  766. patient: ""
  767. };
  768. that.scheduleZone[index].Sun_A = {
  769. mode_id: 0,
  770. mode_name: "",
  771. patient_id: 0,
  772. patient: ""
  773. };
  774. that.scheduleZone[index].Sun_N = {
  775. mode_id: 0,
  776. mode_name: "",
  777. patient_id: 0,
  778. patient: ""
  779. };
  780. that.scheduleZone[index].Sun_M = {
  781. mode_id: 0,
  782. mode_name: "",
  783. patient_id: 0,
  784. patient: ""
  785. };
  786. that.scheduleZone[index].total = 0;
  787. if (response.data.data.schdules.length > 0) {
  788. theSchedules.forEach(function(schedule, sindex) {
  789. if (zone.jihao_id == schedule.bed_id) {
  790. // if(zone.zone_id == schedule.partition_id && zone.jihao_id == schedule.bed_id) {
  791. var weekPath = that.weekPath(
  792. schedule.schedule_week,
  793. schedule.schedule_type
  794. );
  795. if (weekPath.length == 2) {
  796. // console.log(schedule);
  797. var weekPathKey = weekPath[0] + "_" + weekPath[1];
  798. that.scheduleZone[index][weekPathKey] = {
  799. schedule_id: schedule.id,
  800. mode_id: schedule.mode_id,
  801. patient_id: schedule.patient_id,
  802. patient: schedule.patient,
  803. patient_contagions: schedule.patient_contagions,
  804. mode_name:
  805. typeof that.modeOptions[schedule.mode_id] ===
  806. "undefined"
  807. ? ""
  808. : that.modeOptions[schedule.mode_id].name
  809. };
  810. that.scheduleZone[index].total += 1;
  811. }
  812. }
  813. });
  814. }
  815. });
  816. var newArr= [{"area":"总数","cut":0,"Fri_A":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Fri_M":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Fri_N":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Mon_A":{mode_id:0,mode_name:"",patient:"",patient_id:"1"},"Mon_M":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Mon_N":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Sat_A":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Sat_M":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Sat_N":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Sun_A":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Sun_M":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Sun_N":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Thurs_A":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Thurs_M":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Thurs_N":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Tue_A":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Tue_M":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Tue_N":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Wed_A":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Wed_M":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"Wed_N":{mode_id:0,mode_name:"",patient:"0",patient_id:"1"},"jihao_id":"","total":"","zone_id":"","zone_type":"","sort":""}]
  817. for(let i=0;i<newArr.length;i++){
  818. for(let j=0;j<this.scheduleCountList.length;j++){
  819. newArr[i].cut = this.total
  820. //礼拜一上午
  821. if(this.scheduleCountList[j].schedule_week == 1 && this.scheduleCountList[j].schedule_type == 1){
  822. newArr[i].Mon_M.patient = this.scheduleCountList[j].Count
  823. }
  824. //礼拜一下午
  825. if(this.scheduleCountList[j].schedule_week == 1 && this.scheduleCountList[j].schedule_type == 2){
  826. newArr[i].Mon_A.patient = this.scheduleCountList[j].Count
  827. }
  828. //礼拜一晚上
  829. if(this.scheduleCountList[j].schedule_week == 1 && this.scheduleCountList[j].schedule_type == 3){
  830. newArr[i].Mon_N.patient = this.scheduleCountList[j].Count
  831. }
  832. //礼拜二上午
  833. if(this.scheduleCountList[j].schedule_week == 2 && this.scheduleCountList[j].schedule_type == 1){
  834. newArr[i].Tue_M.patient = this.scheduleCountList[j].Count
  835. }
  836. //礼拜二下午
  837. if(this.scheduleCountList[j].schedule_week == 2 && this.scheduleCountList[j].schedule_type == 2){
  838. newArr[i].Tue_A.patient = this.scheduleCountList[j].Count
  839. }
  840. //礼拜二晚上
  841. if(this.scheduleCountList[j].schedule_week == 2 && this.scheduleCountList[j].schedule_type == 3){
  842. newArr[i].Tue_N.patient = this.scheduleCountList[j].Count
  843. }
  844. //礼拜三上午
  845. if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 1){
  846. newArr[i].Wed_M.patient = this.scheduleCountList[j].Count
  847. }
  848. //礼拜三下午
  849. if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 2){
  850. newArr[i].Wed_A.patient = this.scheduleCountList[j].Count
  851. }
  852. //礼拜三晚上
  853. if(this.scheduleCountList[j].schedule_week == 3 && this.scheduleCountList[j].schedule_type == 3){
  854. newArr[i].Wed_N.patient = this.scheduleCountList[j].Count
  855. }
  856. //礼拜四上午
  857. if(this.scheduleCountList[j].schedule_week == 4 && this.scheduleCountList[j].schedule_type == 1){
  858. newArr[i].Thurs_M.patient = this.scheduleCountList[j].Count
  859. }
  860. //礼拜四下午
  861. if(this.scheduleCountList[j].schedule_week == 4 && this.scheduleCountList[j].schedule_type == 2){
  862. newArr[i].Thurs_A.patient = this.scheduleCountList[j].Count
  863. }
  864. //礼拜四晚上
  865. if(this.scheduleCountList[j].schedule_week == 4 && this.scheduleCountList[j].schedule_type == 3){
  866. newArr[i].Thurs_N.patient = this.scheduleCountList[j].Count
  867. }
  868. //礼拜五上午
  869. if(this.scheduleCountList[j].schedule_week == 5 && this.scheduleCountList[j].schedule_type == 1){
  870. newArr[i].Fri_M.patient = this.scheduleCountList[j].Count
  871. }
  872. //礼拜五下午
  873. if(this.scheduleCountList[j].schedule_week == 5 && this.scheduleCountList[j].schedule_type == 2){
  874. newArr[i].Fri_A.patient = this.scheduleCountList[j].Count
  875. }
  876. //礼拜五晚上
  877. if(this.scheduleCountList[j].schedule_week == 5 && this.scheduleCountList[j].schedule_type == 3){
  878. newArr[i].Fri_N.patient = this.scheduleCountList[j].Count
  879. }
  880. //礼拜六上午
  881. if(this.scheduleCountList[j].schedule_week == 6 && this.scheduleCountList[j].schedule_type == 1){
  882. newArr[i].Sat_M.patient = this.scheduleCountList[j].Count
  883. }
  884. //礼拜六下午
  885. if(this.scheduleCountList[j].schedule_week == 6 && this.scheduleCountList[j].schedule_type == 2){
  886. newArr[i].Sat_A.patient = this.scheduleCountList[j].Count
  887. }
  888. //礼拜六晚上
  889. if(this.scheduleCountList[j].schedule_week == 6 && this.scheduleCountList[j].schedule_type == 3){
  890. newArr[i].Sat_N.patient = this.scheduleCountList[j].Count
  891. }
  892. //礼拜日上午
  893. if(this.scheduleCountList[j].schedule_week == 7 && this.scheduleCountList[j].schedule_type == 1){
  894. newArr[i].Sun_M.patient = this.scheduleCountList[j].Count
  895. }
  896. //礼拜日下午
  897. if(this.scheduleCountList[j].schedule_week == 7 && this.scheduleCountList[j].schedule_type == 2){
  898. newArr[i].Sun_A.patient = this.scheduleCountList[j].Count
  899. }
  900. //礼拜日晚上
  901. if(this.scheduleCountList[j].schedule_week == 7 && this.scheduleCountList[j].schedule_type == 3){
  902. newArr[i].Sun_N.patient = this.scheduleCountList[j].Count
  903. }
  904. }
  905. }
  906. console.log("newArr222222222",newArr)
  907. that.scheduleZone.push(...newArr)
  908. for(let i=0;i<that.scheduleZone.length;i++){
  909. if(that.scheduleZone[i].area == "总数"){
  910. that.scheduleZone[i].sort = 999999
  911. }
  912. }
  913. that.scheduleZone.sort(this.compare('sort'))
  914. console.log('总数据77777777777',that.scheduleZone)
  915. } else {
  916. this.$message.error("网络错误");
  917. return false;
  918. }
  919. });
  920. },
  921. weekPath(week, schedule_type) {
  922. var weekArr = {
  923. 1: "Mon",
  924. 2: "Tue",
  925. 3: "Wed",
  926. 4: "Thurs",
  927. 5: "Fri",
  928. 6: "Sat",
  929. 7: "Sun"
  930. };
  931. var typeArr = { 1: "M", 2: "A", 3: "N" };
  932. if (
  933. typeof weekArr[week] === "undefined" ||
  934. typeof typeArr[schedule_type] === "undefined"
  935. ) {
  936. return [];
  937. }
  938. return [weekArr[week], typeArr[schedule_type]];
  939. },
  940. printAction: function() {
  941. const style = '@media print { #scheduleTable{font-size:14px;} .scheduleTable tr td{text-align: center;padding: 5px 0px;min-width:40px;}}'
  942. // const style = '@media print { #scheduleTable{font-size:14px;} .scheduleTable tr td{text-align: center;padding: 5px;min-width:40px;}}'
  943. printJS({
  944. printable: 'scheduleTable',
  945. type: 'html',
  946. documentTitle: ' ',
  947. style: style,
  948. scanStyles: false
  949. })
  950. },
  951. getPatientSheduleCount(){
  952. var theType = 2;
  953. if(this.$route.query.weekTime == "historyWeek"){
  954. theType =0
  955. }
  956. if(this.$route.query.weekTime == "lastWeek"){
  957. theType = 1
  958. }
  959. if(this.$route.query.weekTime == "thisWeek"){
  960. theType = 2
  961. }
  962. if(this.$route.query.weekTime == "nextWeek"){
  963. theType = 3
  964. }
  965. if(this.$route.query.weekTime == "nextTwoWeek"){
  966. theType = 4
  967. }
  968. var partionStr = this.partition_id
  969. console.log("partionStr",partionStr)
  970. var arr = this.zoneIdList.join(',')
  971. var str = ""
  972. if(partionStr == 0){
  973. str = arr
  974. }
  975. if(partionStr != 0){
  976. str = partionStr
  977. }
  978. var params = {
  979. weekTime:theType,
  980. partition_id:str,
  981. }
  982. getPatientSheduleCount(params).then(response=>{
  983. if(response.data.state == 1){
  984. var list = response.data.data.list
  985. console.log("list22222",list)
  986. console.log('asdfgfffffff',response.data.data);
  987. this.scheduleCountList = list
  988. var total = response.data.data.total
  989. console.log("totalw222",total)
  990. this.total = total
  991. }
  992. })
  993. },
  994. compare (property) {
  995. return function (a, b) {
  996. var value1 = a[property]
  997. var value2 = b[property]
  998. return value1 - value2
  999. }
  1000. },
  1001. }
  1002. }
  1003. </script>
  1004. <style lang="scss" scoped>
  1005. // .print_main_content{
  1006. // width: 960px;
  1007. // margin: 0 auto;
  1008. // }
  1009. td{
  1010. text-align: center;
  1011. padding: 5px;
  1012. }
  1013. </style>