tableformbrsNew.vue 51 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003
  1. <template>
  2. <div class="data-table">
  3. <div :style="dataTableContentStyle" v-loading="loading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)" class="data-table-content">
  4. <template v-if="tableData.length && upid == 1">
  5. <el-table :data="tableData" style="width: 100%" height="calc(100vh - 180px)" ref="userTableData">
  6. <el-table-column :label="dataContent['airlineIataCd'] + '航司' + dataContent['outAirport'] + '航站国航行李BRS扫描数据统计表'">
  7. <el-table-column prop="timetype" label="日期">
  8. </el-table-column>
  9. <el-table-column label="离港数">
  10. <el-table-column prop="flights_out" label="航班(架次)" width="240">
  11. </el-table-column>
  12. <el-table-column prop="bags" label="行李(件数)" width="240">
  13. </el-table-column>
  14. <el-table-column prop="bags_rush" label="速运行李(件数)" width="240">
  15. </el-table-column>
  16. <el-table-column prop="shortage_number" label="短缺行李(件数)" width="240">
  17. <!-- <template slot-scope="scope">
  18. <span v-if="scope.row.shortage_number>0" class="BtnCol" @click="baggageClick(scope.row)">{{scope.row.shortage_number}}</span>
  19. <span v-else>{{scope.row.shortage_number}}</span>
  20. </template> -->
  21. </el-table-column>
  22. </el-table-column>
  23. <el-table-column label="扫描数">
  24. <el-table-column prop="flights_out_brs" label="航班(架次)">
  25. <template slot-scope="scope">
  26. <span v-if="scope.row.flights_out_brs>0" class="BtnCol" @click="flightsClick(scope.row)">{{scope.row.flights_out_brs}}</span>
  27. <span v-else>{{scope.row.flights_out_brs}}</span>
  28. </template>
  29. </el-table-column>
  30. <el-table-column prop="bags_brs" label="行李(件数)">
  31. </el-table-column>
  32. </el-table-column>
  33. <el-table-column label="扫描率">
  34. <el-table-column prop="ra_brsfly" label="航班">
  35. </el-table-column>
  36. <el-table-column prop="ra_brsbag" label="行李">
  37. </el-table-column>
  38. </el-table-column>
  39. </el-table-column>
  40. </el-table>
  41. </template>
  42. <template v-else-if="tableData.length && upid == 2">
  43. <el-table :data="tableData" style="width: 100%" height="calc(100vh - 260px)" ref="userTableDatard">
  44. <el-table-column label="Manual Load扫描数据统计表">
  45. <el-table-column prop="A" label="日期">
  46. </el-table-column>
  47. <el-table-column label="离港数">
  48. <el-table-column prop="totalfly" label="航班(架次)" width="240">
  49. </el-table-column>
  50. <el-table-column prop="totalbag" label="行李(件数)" width="240">
  51. </el-table-column>
  52. </el-table-column>
  53. <el-table-column label="扫描数">
  54. <el-table-column prop="starfly" label="航班(架次)">
  55. </el-table-column>
  56. <el-table-column prop="starbag" label="行李(件数)">
  57. </el-table-column>
  58. </el-table-column>
  59. <el-table-column label="扫描率">
  60. <el-table-column prop="ra_starfly" label="航班">
  61. </el-table-column>
  62. <el-table-column prop="ra_starbag" label="行李">
  63. </el-table-column>
  64. </el-table-column>
  65. </el-table-column>
  66. </el-table>
  67. </template>
  68. <template v-else-if="tableData.length && upid == 3">
  69. <el-table :data="tableData" style="width: 100%" height="calc(100vh - 260px)" ref="TableDatardrfid">
  70. <el-table-column label="航易行RFID扫描数据统计表">
  71. <el-table-column prop="A" label="日期">
  72. </el-table-column>
  73. <el-table-column label="离港数">
  74. <el-table-column prop="totalfly" label="航班(架次)" width="240">
  75. </el-table-column>
  76. <el-table-column prop="totalbag" label="行李(件数)" width="240">
  77. </el-table-column>
  78. </el-table-column>
  79. <el-table-column label="扫描数">
  80. <el-table-column prop="hyxfly" label="航班(架次)">
  81. </el-table-column>
  82. <el-table-column prop="hyxbag" label="行李(件数)">
  83. </el-table-column>
  84. </el-table-column>
  85. <el-table-column label="扫描率">
  86. <el-table-column prop="ra_hyxfly" label="航班">
  87. </el-table-column>
  88. <el-table-column prop="ra_hyxbag" label="行李">
  89. </el-table-column>
  90. </el-table-column>
  91. </el-table-column>
  92. </el-table>
  93. </template>
  94. <template v-else-if="tableData.length && upid == 4">
  95. <el-table ref="userTableDatas" :data="tableData" height="calc(100vh - 260px)" style="width: 100%" :show-summary="true" :summary-method="totalOutPrice" :cell-class-name="cellClass" @cell-click="cellClickHandler">
  96. <el-table-column prop="fd" label="日期">
  97. </el-table-column>
  98. <el-table-column label="中转行李流向">
  99. <el-table-column label="D-D" v-if="DD">
  100. <el-table-column prop="in_trans_fly_dd" label="进港中转航班数">
  101. </el-table-column>
  102. <el-table-column prop="out_trans_fly_dd" label="中转出航班数">
  103. </el-table-column>
  104. <el-table-column prop="need_trans_bag_dd" label="须中转行李数">
  105. </el-table-column>
  106. <el-table-column prop="finish_trans_bag_dd" label="完成中转行李数">
  107. </el-table-column>
  108. <el-table-column prop="notfinish_trans_bag_dd" label="未中转行李数">
  109. </el-table-column>
  110. <el-table-column prop="successlv_dd" label="转出成功率">
  111. </el-table-column>
  112. </el-table-column>
  113. <el-table-column label="D-I" v-if="DI">
  114. <el-table-column prop="in_trans_fly_di" label="进港中转航班数">
  115. </el-table-column>
  116. <el-table-column prop="out_trans_fly_di" label="中转出航班数">
  117. </el-table-column>
  118. <el-table-column prop="need_trans_bag_di" label="须中转行李数">
  119. </el-table-column>
  120. <el-table-column prop="finish_trans_bag_di" label="完成中转行李数">
  121. </el-table-column>
  122. <el-table-column prop="notfinish_trans_bag_di" label="未中转行李数">
  123. </el-table-column>
  124. <el-table-column prop="successlv_di" label="转出成功率">
  125. </el-table-column>
  126. </el-table-column>
  127. <el-table-column label="I-I" v-if="II">
  128. <el-table-column prop="in_trans_fly_ii" label="进港中转航班数">
  129. </el-table-column>
  130. <el-table-column prop="out_trans_fly_ii" label="中转出航班数">
  131. </el-table-column>
  132. <el-table-column prop="need_trans_bag_ii" label="须中转行李数">
  133. </el-table-column>
  134. <el-table-column prop="finish_trans_bag_ii" label="完成中转行李数">
  135. </el-table-column>
  136. <el-table-column prop="notfinish_trans_bag_ii" label="未中转行李数">
  137. </el-table-column>
  138. <el-table-column prop="successlv_ii" label="转出成功率">
  139. </el-table-column>
  140. </el-table-column>
  141. <el-table-column label="I-D" v-if="ID">
  142. <el-table-column prop="in_trans_fly_id" label="进港中转航班数">
  143. </el-table-column>
  144. <el-table-column prop="out_trans_fly_id" label="中转出航班数">
  145. </el-table-column>
  146. <el-table-column prop="need_trans_bag_id" label="须中转行李数">
  147. </el-table-column>
  148. <el-table-column prop="finish_trans_bag_id" label="完成中转行李数">
  149. </el-table-column>
  150. <el-table-column prop="notfinish_trans_bag_id" label="未中转行李数">
  151. </el-table-column>
  152. <el-table-column prop="successlv_id" label="转出成功率">
  153. </el-table-column>
  154. </el-table-column>
  155. </el-table-column>
  156. <el-table-column prop="a14" label="进港中转航班总数">
  157. </el-table-column>
  158. <el-table-column prop="a15" label="中转出航班数总数">
  159. </el-table-column>
  160. <el-table-column prop="a16" label="须中转行李数总数">
  161. </el-table-column>
  162. <el-table-column prop="a17" label="完成中转行李数总数">
  163. </el-table-column>
  164. <el-table-column prop="a19" label="未中转行李数总数">
  165. </el-table-column>
  166. <el-table-column prop="a18" label="转出成功率">
  167. </el-table-column>
  168. </el-table>
  169. </template>
  170. <template v-else-if="tableData.length && upid == 5">
  171. <el-table ref="transferTableData" :data="tableData" style="width: 100%" height="calc(100vh - 260px)" :show-summary="true" :summary-method="totalOutPrice" :cell-class-name="cellClass" @cell-click="cellClickHandler">
  172. <el-table-column prop="fd" label="日期">
  173. </el-table-column>
  174. <el-table-column label="D-D" v-if="DD">
  175. <el-table-column label="T2-T2" v-if="t1">
  176. <el-table-column prop="in_trans_fly_dd_22" label="进港中转航班数">
  177. </el-table-column>
  178. <el-table-column prop="out_trans_fly_dd_22" label="中转出航班数">
  179. </el-table-column>
  180. <el-table-column prop="need_trans_bag_dd_22" label="须中转行李数">
  181. </el-table-column>
  182. <el-table-column prop="finish_trans_bag_dd_22" label="完成中转行李数">
  183. </el-table-column>
  184. <el-table-column prop="notfinish_trans_bag_dd_22" label="未中转行李数">
  185. </el-table-column>
  186. <el-table-column prop="successlv_dd_22" label="转出成功率">
  187. </el-table-column>
  188. </el-table-column>
  189. <el-table-column label="T2-T3" v-if="t2">
  190. <el-table-column prop="in_trans_fly_dd_23" label="进港中转航班数">
  191. </el-table-column>
  192. <el-table-column prop="out_trans_fly_dd_23" label="中转出航班数">
  193. </el-table-column>
  194. <el-table-column prop="need_trans_bag_dd_23" label="须中转行李数">
  195. </el-table-column>
  196. <el-table-column prop="finish_trans_bag_dd_23" label="完成中转行李数">
  197. </el-table-column>
  198. <el-table-column prop="notfinish_trans_bag_dd_23" label="未中转行李数">
  199. </el-table-column>
  200. <el-table-column prop="successlv_dd_23" label="转出成功率">
  201. </el-table-column>
  202. </el-table-column>
  203. <el-table-column label="T3-T3" v-if="t3">
  204. <el-table-column prop="in_trans_fly_dd_33" label="进港中转航班数">
  205. </el-table-column>
  206. <el-table-column prop="out_trans_fly_dd_33" label="中转出航班数">
  207. </el-table-column>
  208. <el-table-column prop="need_trans_bag_dd_33" label="须中转行李数">
  209. </el-table-column>
  210. <el-table-column prop="finish_trans_bag_dd_33" label="完成中转行李数">
  211. </el-table-column>
  212. <el-table-column prop="notfinish_trans_bag_dd_33" label="未中转行李数">
  213. </el-table-column>
  214. <el-table-column prop="successlv_dd_33" label="转出成功率">
  215. </el-table-column>
  216. </el-table-column>
  217. <el-table-column label="T3-T2" v-if="t4">
  218. <el-table-column prop="in_trans_fly_dd_32" label="进港中转航班数">
  219. </el-table-column>
  220. <el-table-column prop="out_trans_fly_dd_32" label="中转出航班数">
  221. </el-table-column>
  222. <el-table-column prop="need_trans_bag_dd_32" label="须中转行李数">
  223. </el-table-column>
  224. <el-table-column prop="finish_trans_bag_dd_32" label="完成中转行李数">
  225. </el-table-column>
  226. <el-table-column prop="notfinish_trans_bag_dd_32" label="未中转行李数">
  227. </el-table-column>
  228. <el-table-column prop="successlv_dd_32" label="转出成功率">
  229. </el-table-column>
  230. </el-table-column>
  231. </el-table-column>
  232. <el-table-column label="D-I" v-if="DI">
  233. <el-table-column label="T2-T2" v-if="t1">
  234. <el-table-column prop="in_trans_fly_di_22" label="进港中转航班数">
  235. </el-table-column>
  236. <el-table-column prop="out_trans_fly_di_22" label="中转出航班数">
  237. </el-table-column>
  238. <el-table-column prop="need_trans_bag_di_22" label="须中转行李数">
  239. </el-table-column>
  240. <el-table-column prop="finish_trans_bag_di_22" label="完成中转行李数">
  241. </el-table-column>
  242. <el-table-column prop="notfinish_trans_bag_di_22" label="未中转行李数">
  243. </el-table-column>
  244. <el-table-column prop="successlv_di_22" label="转出成功率">
  245. </el-table-column>
  246. </el-table-column>
  247. <el-table-column label="T2-T3" v-if="t2">
  248. <el-table-column prop="in_trans_fly_di_23" label="进港中转航班数">
  249. </el-table-column>
  250. <el-table-column prop="out_trans_fly_di_23" label="中转出航班数">
  251. </el-table-column>
  252. <el-table-column prop="need_trans_bag_di_23" label="须中转行李数">
  253. </el-table-column>
  254. <el-table-column prop="finish_trans_bag_di_23" label="完成中转行李数">
  255. </el-table-column>
  256. <el-table-column prop="notfinish_trans_bag_di_23" label="未中转行李数">
  257. </el-table-column>
  258. <el-table-column prop="successlv_di_23" label="转出成功率">
  259. </el-table-column>
  260. </el-table-column>
  261. <el-table-column label="T3-T3" v-if="t3">
  262. <el-table-column prop="in_trans_fly_di_33" label="进港中转航班数">
  263. </el-table-column>
  264. <el-table-column prop="out_trans_fly_di_33" label="中转出航班数">
  265. </el-table-column>
  266. <el-table-column prop="need_trans_bag_di_33" label="须中转行李数">
  267. </el-table-column>
  268. <el-table-column prop="finish_trans_bag_di_33" label="完成中转行李数">
  269. </el-table-column>
  270. <el-table-column prop="notfinish_trans_bag_di_33" label="未中转行李数">
  271. </el-table-column>
  272. <el-table-column prop="successlv_di_33" label="转出成功率">
  273. </el-table-column>
  274. </el-table-column>
  275. <el-table-column label="T3-T2" v-if="t4">
  276. <el-table-column prop="in_trans_fly_di_32" label="进港中转航班数">
  277. </el-table-column>
  278. <el-table-column prop="out_trans_fly_di_32" label="中转出航班数">
  279. </el-table-column>
  280. <el-table-column prop="need_trans_bag_di_32" label="须中转行李数">
  281. </el-table-column>
  282. <el-table-column prop="finish_trans_bag_di_32" label="完成中转行李数">
  283. </el-table-column>
  284. <el-table-column prop="notfinish_trans_bag_di_32" label="未中转行李数">
  285. </el-table-column>
  286. <el-table-column prop="successlv_di_32" label="转出成功率">
  287. </el-table-column>
  288. </el-table-column>
  289. </el-table-column>
  290. <el-table-column label="I-I" v-if="II">
  291. <el-table-column label="T2-T2" v-if="t1">
  292. <el-table-column prop="in_trans_fly_ii_22" label="进港中转航班数">
  293. </el-table-column>
  294. <el-table-column prop="out_trans_fly_ii_22" label="中转出航班数">
  295. </el-table-column>
  296. <el-table-column prop="need_trans_bag_ii_22" label="须中转行李数">
  297. </el-table-column>
  298. <el-table-column prop="finish_trans_bag_ii_22" label="完成中转行李数">
  299. </el-table-column>
  300. <el-table-column prop="notfinish_trans_bag_ii_22" label="未中转行李数">
  301. </el-table-column>
  302. <el-table-column prop="successlv_ii_22" label="转出成功率">
  303. </el-table-column>
  304. </el-table-column>
  305. <el-table-column label="T2-T3" v-if="t2">
  306. <el-table-column prop="in_trans_fly_ii_23" label="进港中转航班数">
  307. </el-table-column>
  308. <el-table-column prop="out_trans_fly_ii_23" label="中转出航班数">
  309. </el-table-column>
  310. <el-table-column prop="need_trans_bag_ii_23" label="须中转行李数">
  311. </el-table-column>
  312. <el-table-column prop="finish_trans_bag_ii_23" label="完成中转行李数">
  313. </el-table-column>
  314. <el-table-column prop="notfinish_trans_bag_ii_23" label="未中转行李数">
  315. </el-table-column>
  316. <el-table-column prop="successlv_ii_23" label="转出成功率">
  317. </el-table-column>
  318. </el-table-column>
  319. <el-table-column label="T3-T3" v-if="t3">
  320. <el-table-column prop="in_trans_fly_ii_33" label="进港中转航班数">
  321. </el-table-column>
  322. <el-table-column prop="out_trans_fly_ii_33" label="中转出航班数">
  323. </el-table-column>
  324. <el-table-column prop="need_trans_bag_ii_33" label="须中转行李数">
  325. </el-table-column>
  326. <el-table-column prop="finish_trans_bag_ii_33" label="完成中转行李数">
  327. </el-table-column>
  328. <el-table-column prop="notfinish_trans_bag_ii_33" label="未中转行李数">
  329. </el-table-column>
  330. <el-table-column prop="successlv_ii_33" label="转出成功率">
  331. </el-table-column>
  332. </el-table-column>
  333. <el-table-column label="T3-T2" v-if="t4">
  334. <el-table-column prop="in_trans_fly_ii_32" label="进港中转航班数">
  335. </el-table-column>
  336. <el-table-column prop="out_trans_fly_ii_32" label="中转出航班数">
  337. </el-table-column>
  338. <el-table-column prop="need_trans_bag_ii_32" label="须中转行李数">
  339. </el-table-column>
  340. <el-table-column prop="finish_trans_bag_ii_32" label="完成中转行李数">
  341. </el-table-column>
  342. <el-table-column prop="notfinish_trans_bag_ii_32" label="未中转行李数">
  343. </el-table-column>
  344. <el-table-column prop="successlv_ii_32" label="转出成功率">
  345. </el-table-column>
  346. </el-table-column>
  347. </el-table-column>
  348. <el-table-column label="I-D" v-if="ID">
  349. <el-table-column label="T2-T2" v-if="t1">
  350. <el-table-column prop="in_trans_fly_id_22" label="进港中转航班数">
  351. </el-table-column>
  352. <el-table-column prop="out_trans_fly_id_22" label="中转出航班数">
  353. </el-table-column>
  354. <el-table-column prop="need_trans_bag_id_22" label="须中转行李数">
  355. </el-table-column>
  356. <el-table-column prop="finish_trans_bag_id_22" label="完成中转行李数">
  357. </el-table-column>
  358. <el-table-column prop="notfinish_trans_bag_id_22" label="未中转行李数">
  359. </el-table-column>
  360. <el-table-column prop="successlv_id_22" label="转出成功率">
  361. </el-table-column>
  362. </el-table-column>
  363. <el-table-column label="T2-T3" v-if="t2">
  364. <el-table-column prop="in_trans_fly_id_23" label="进港中转航班数">
  365. </el-table-column>
  366. <el-table-column prop="out_trans_fly_id_23" label="中转出航班数">
  367. </el-table-column>
  368. <el-table-column prop="need_trans_bag_id_23" label="须中转行李数">
  369. </el-table-column>
  370. <el-table-column prop="finish_trans_bag_id_23" label="完成中转行李数">
  371. </el-table-column>
  372. <el-table-column prop="notfinish_trans_bag_id_23" label="未中转行李数">
  373. </el-table-column>
  374. <el-table-column prop="successlv_id_23" label="转出成功率">
  375. </el-table-column>
  376. </el-table-column>
  377. <el-table-column label="T3-T3" v-if="t3">
  378. <el-table-column prop="in_trans_fly_id_33" label="进港中转航班数">
  379. </el-table-column>
  380. <el-table-column prop="out_trans_fly_id_33" label="中转出航班数">
  381. </el-table-column>
  382. <el-table-column prop="need_trans_bag_id_33" label="须中转行李数">
  383. </el-table-column>
  384. <el-table-column prop="finish_trans_bag_id_33" label="完成中转行李数">
  385. </el-table-column>
  386. <el-table-column prop="notfinish_trans_bag_id_33" label="未中转行李数">
  387. </el-table-column>
  388. <el-table-column prop="successlv_id_33" label="转出成功率">
  389. </el-table-column>
  390. </el-table-column>
  391. <el-table-column label="T3-T2" v-if="t4">
  392. <el-table-column prop="in_trans_fly_id_32" label="进港中转航班数">
  393. </el-table-column>
  394. <el-table-column prop="out_trans_fly_id_32" label="中转出航班数">
  395. </el-table-column>
  396. <el-table-column prop="need_trans_bag_id_32" label="须中转行李数">
  397. </el-table-column>
  398. <el-table-column prop="finish_trans_bag_id_32" label="完成中转行李数">
  399. </el-table-column>
  400. <el-table-column prop="notfinish_trans_bag_id_32" label="未中转行李数">
  401. </el-table-column>
  402. <el-table-column prop="successlv_id_32" label="转出成功率">
  403. </el-table-column>
  404. </el-table-column>
  405. </el-table-column>
  406. <el-table-column prop="a14" label="进港中转航班总数">
  407. </el-table-column>
  408. <el-table-column prop="a15" label="中转出航班数总数">
  409. </el-table-column>
  410. <el-table-column prop="a16" label="须中转行李数总数">
  411. </el-table-column>
  412. <el-table-column prop="a17" label="完成中转行李数总数">
  413. </el-table-column>
  414. <el-table-column prop="a19" label="未中转行李数总数">
  415. </el-table-column>
  416. <el-table-column prop="a18" label="转出成功率">
  417. </el-table-column>
  418. </el-table>
  419. </template>
  420. <template v-else-if="tableData.length && upid == 6">
  421. <el-table ref="transferBaggageTableData" :data="tableData" height="calc(100vh - 260px)" style="width: 100%" :show-summary="true">
  422. <el-table-column prop="a1" label="日期">
  423. </el-table-column>
  424. <el-table-column prop="a2" label="进港中转航班量">
  425. </el-table-column>
  426. <el-table-column prop="a3" label="中转行李件数">
  427. </el-table-column>
  428. <el-table-column prop="a4" label="未转出件数">
  429. </el-table-column>
  430. <el-table-column label="未转出件数分项">
  431. <el-table-column prop="a5" label="MCT时间紧">
  432. </el-table-column>
  433. <el-table-column prop="a6" label="过检设备原因">
  434. </el-table-column>
  435. <el-table-column prop="a7" label="混装">
  436. </el-table-column>
  437. <el-table-column prop="a8" label="布控">
  438. </el-table-column>
  439. <el-table-column prop="a9" label="等锥桶">
  440. </el-table-column>
  441. <el-table-column prop="a10" label="车辆故障">
  442. </el-table-column>
  443. <el-table-column prop="a11" label="货舱门/卡锁故障">
  444. </el-table-column>
  445. <el-table-column prop="a12" label="机位远">
  446. </el-table-column>
  447. <el-table-column prop="a13" label="未通过扫描">
  448. </el-table-column>
  449. <el-table-column prop="a14" label="BHS无记录">
  450. </el-table-column>
  451. <el-table-column prop="a15" label="分拣设备故障">
  452. </el-table-column>
  453. <el-table-column prop="a16" label="进港晚卸">
  454. </el-table-column>
  455. <el-table-column prop="a17" label="设备紧张">
  456. </el-table-column>
  457. <el-table-column prop="a18" label="导入晚">
  458. </el-table-column>
  459. <el-table-column prop="a19" label="正常传出未装机">
  460. </el-table-column>
  461. <el-table-column prop="a20" label="错传">
  462. </el-table-column>
  463. <el-table-column prop="a21" label="原因待定">
  464. </el-table-column>
  465. </el-table-column>
  466. </el-table>
  467. </template>
  468. <template v-else-if="tableData.length && upid == 7">
  469. <el-table ref="baggageProportionTableData" :data="tableData" height="calc(100vh - 260px)" style="width: 100%" :show-summary="true">
  470. <el-table-column prop="fd" label="日期">
  471. </el-table-column>
  472. <el-table-column label="总">
  473. <el-table-column prop="transferlv_all" label="中转行李百分比">
  474. </el-table-column>
  475. <el-table-column prop="total_bag_all" label="行李总件数">
  476. </el-table-column>
  477. <el-table-column prop="trans_bag_all" label="中转行李件数">
  478. </el-table-column>
  479. </el-table-column>
  480. <el-table-column label="国内">
  481. <el-table-column prop="transferlv_dom" label="中转行李百分比">
  482. </el-table-column>
  483. <el-table-column prop="total_bag_dom" label="行李总件数">
  484. </el-table-column>
  485. <el-table-column prop="trans_bag_dom" label="中转行李件数">
  486. </el-table-column>
  487. </el-table-column>
  488. <el-table-column label="国际">
  489. <el-table-column prop="transferlv_int" label="中转行李百分比">
  490. </el-table-column>
  491. <el-table-column prop="total_bag_int" label="行李总件数">
  492. </el-table-column>
  493. <el-table-column prop="trans_bag_int" label="中转行李件数">
  494. </el-table-column>
  495. </el-table-column>
  496. </el-table>
  497. </template>
  498. <template v-else-if="tableData.length && upid == 8">
  499. <el-table :data="tableData" style="width: 100%" height="calc(100vh - 260px)" :show-summary="true" ref="userTableDataelt">
  500. <el-table-column prop="time" label="日期">
  501. </el-table-column>
  502. <el-table-column prop="bpm" label="有BPM行李数量">
  503. </el-table-column>
  504. <el-table-column prop="bsm" label="总数量">
  505. </el-table-column>
  506. <el-table-column prop="lv" label="行李全流程跟踪服务水平(%)">
  507. </el-table-column>
  508. </el-table>
  509. </template>
  510. <template v-else-if="tableData.length && upid == 9">
  511. <el-table :data="tableData" style="width: 100%" :show-summary="true" height="calc(100vh - 260px)" :summary-method="totalOutPrice" ref="userTableDataelt1">
  512. <el-table-column prop="carrierFlightsDate" label="日期">
  513. </el-table-column>
  514. <el-table-column prop="carrierFlights" label="航班号">
  515. </el-table-column>
  516. <el-table-column prop="craftNo" label="机号">
  517. </el-table-column>
  518. <el-table-column prop="depstandCd" label="机位">
  519. </el-table-column>
  520. <el-table-column prop="agentNumber" label="确认账号">
  521. </el-table-column>
  522. <el-table-column prop="employeeID" label="员工号">
  523. </el-table-column>
  524. <el-table-column prop="luggages" label="行李件类">
  525. </el-table-column>
  526. </el-table>
  527. </template>
  528. <template v-else>
  529. <NoData image-width="auto" image-height="100%" />
  530. </template>
  531. </div>
  532. </div>
  533. </template>
  534. <script>
  535. import NoData from '@/components/nodata'
  536. import { TempQuery } from '@/api/temp'
  537. import { exportToExcel } from '@/utils/table'
  538. export default {
  539. props: {
  540. // 接口ID
  541. dataId: {
  542. type: [String, Number],
  543. default: '',
  544. },
  545. isloadings: {
  546. type: Number,
  547. },
  548. upid: {
  549. type: [String, Number],
  550. },
  551. dataContent: {
  552. default: () => [],
  553. },
  554. textShow: {
  555. type: Array,
  556. default: () => [],
  557. },
  558. textShowtp: {
  559. type: Array,
  560. default: () => [],
  561. },
  562. },
  563. data () {
  564. return {
  565. loading: false,
  566. page: 0,
  567. serviceId: null,
  568. rowTitle: '',
  569. tableCols: [], //表头数据
  570. tableData: [
  571. // {
  572. // date: "wnz(7月)",
  573. // name: "409",
  574. // province: "18946",
  575. // city: "409",
  576. // address: "18294",
  577. // zip: "100%",
  578. // cp: "96.56%",
  579. // },
  580. ],
  581. DD: true,
  582. DI: true,
  583. II: true,
  584. ID: true,
  585. t1: true,
  586. t2: true,
  587. t3: true,
  588. t4: true,
  589. }
  590. },
  591. components: {
  592. NoData,
  593. },
  594. watch: {
  595. dataContent: {
  596. handler (val) {
  597. if (val && val!=null) {
  598. this.getQuery()
  599. }
  600. },
  601. deep: true,
  602. },
  603. isloadings: {
  604. handler (val) {
  605. this.downFile()
  606. },
  607. },
  608. textShow: {
  609. handler (val) {
  610. if (val.length === 0) {
  611. this.DD = true
  612. this.DI = true
  613. this.II = true
  614. this.ID = true
  615. } else {
  616. this.DD = false
  617. this.DI = false
  618. this.II = false
  619. this.ID = false
  620. val.forEach(element => {
  621. if (element === 'D-D') {
  622. this.DD = true
  623. } else if (element === 'D-I') {
  624. this.DI = true
  625. } else if (element === 'I-I') {
  626. this.II = true
  627. } else if (element === 'I-D') {
  628. this.ID = true
  629. }
  630. });
  631. }
  632. },
  633. },
  634. textShowtp: {
  635. handler (val) {
  636. if (val.length === 0) {
  637. this.t1 = true
  638. this.t2 = true
  639. this.t3 = true
  640. this.t4 = true
  641. } else {
  642. this.t1 = false
  643. this.t2 = false
  644. this.t3 = false
  645. this.t4 = false
  646. val.forEach(element => {
  647. if (element === 'T2-T2') {
  648. this.t1 = true
  649. } else if (element === 'T2-T3') {
  650. this.t2 = true
  651. } else if (element === 'T3-T3') {
  652. this.t3 = true
  653. } else if (element === 'T3-T2') {
  654. this.t4 = true
  655. }
  656. });
  657. }
  658. },
  659. },
  660. },
  661. computed: {
  662. dataTableContentStyle () {
  663. const style = {}
  664. if (this.minHeight) {
  665. style['min-height'] = this.minHeight
  666. }
  667. if (this.tableHeight) {
  668. style['height'] = this.tableHeight
  669. }
  670. return style
  671. },
  672. },
  673. mounted () {
  674. // this.getQuery();
  675. },
  676. methods: {
  677. totalOutPrice (param) {
  678. const { columns, data } = param;
  679. const sums = [];
  680. columns.forEach((column, index) => {
  681. if (index === 0) {
  682. sums[index] = "合计";
  683. return;
  684. }
  685. const values = data.map((item) => Number(item[column.property]));
  686. if (
  687. column.property != "stand" &&
  688. column.property != "flightdate" &&
  689. column.property != "indexs" &&
  690. column.property != "flightNo" &&
  691. column.property != "line" &&
  692. column.property != "cargoCompany"
  693. ) {
  694. sums[index] = values.reduce((prev, curr) => {
  695. const value = Number(curr);
  696. if (!isNaN(value)) {
  697. return prev + curr;
  698. } else {
  699. return "";
  700. }
  701. }, 0);
  702. sums[index];
  703. }
  704. if (this.upid == 4) {
  705. sums[6] = (sums[4] * 100 / (sums[3] > 0 ? sums[3] : 1)).toFixed(2) + '%'
  706. sums[12] = (sums[10] * 100 / (sums[9] > 0 ? sums[9] : 1)).toFixed(2) + '%'
  707. sums[18] = (sums[16] * 100 / (sums[15] > 0 ? sums[15] : 1)).toFixed(2) + '%'
  708. sums[24] = (sums[22] * 100 / (sums[21] > 0 ? sums[21] : 1)).toFixed(2) + '%'
  709. sums[30] = (sums[28] * 100 / (sums[27] > 0 ? sums[27] : 1)).toFixed(2) + '%'
  710. }
  711. if (this.upid == 5) {
  712. // sums[6] = (sums[4] * 100 / sums[3]).toFixed(2) + '%'
  713. // sums[12] = (sums[10] * 100 / sums[9]).toFixed(2) + '%'
  714. // sums[18] = (sums[16] * 100 / sums[15]).toFixed(2) + '%'
  715. // sums[24] = (sums[22] * 100 / sums[21]).toFixed(2) + '%'
  716. // sums[30] = (sums[28] * 100 / sums[27]).toFixed(2) + '%'
  717. // sums[36] = (sums[34] * 100 / sums[33]).toFixed(2) + '%'
  718. // sums[42] = (sums[40] * 100 / sums[39]).toFixed(2) + '%'
  719. for (var i = 6; i < sums.length; i += 6) {
  720. sums[i] = (sums[i - 2] * 100 / (sums[i - 3] > 0 ? sums[i - 3] : 1)).toFixed(2) + '%'
  721. }
  722. // sums[6] = (sums[4] * 100 / (sums[3] > 0 ? sums[3] : 1)).toFixed(2) + '%'
  723. // sums[12] = (sums[10] * 100 / (sums[9] > 0 ? sums[9] : 1)).toFixed(2) + '%'
  724. // sums[18] = (sums[16] * 100 / (sums[15] > 0 ? sums[15] : 1)).toFixed(2) + '%'
  725. // sums[24] = (sums[22] * 100 / (sums[21] > 0 ? sums[21] : 1)).toFixed(2) + '%'
  726. // sums[30] = (sums[28] * 100 / (sums[27] > 0 ? sums[27] : 1)).toFixed(2) + '%'
  727. // sums[36] = (sums[34] * 100 / (sums[33] > 0 ? sums[33] : 1)).toFixed(2) + '%'
  728. // sums[42] = (sums[40] * 100 / (sums[39] > 0 ? sums[39] : 1)).toFixed(2) + '%'
  729. }
  730. if (this.upid == 9) {
  731. sums[0] = '合计:' + this.tableData.length
  732. sums[1] = '-'
  733. sums[2] = '-'
  734. sums[3] = '-'
  735. sums[4] = '-'
  736. sums[5] = '-'
  737. }
  738. });
  739. return sums;
  740. },
  741. //获取表格数据
  742. async getQuery () {
  743. try {
  744. this.loading = true
  745. if (this.upid === '9' || this.upid === '8' || this.upid === '7' || this.upid === '4' || this.upid === '5') {
  746. const { code, returnData } = await TempQuery({
  747. serviceId: Number(this.dataId),
  748. dataContent: this.dataContent,
  749. })
  750. if (code == 0) {
  751. this.tableData = returnData
  752. this.tableCols = returnData.columnSet
  753. this.serviceId = returnData.submitID
  754. this.loading = false
  755. if (this.upid == 4) {
  756. this.tableData.forEach(element => {
  757. element.successlv_dd = (element.finish_trans_bag_dd * 100 / (element.need_trans_bag_dd > 0 ? element.need_trans_bag_dd : 1)).toFixed(2) + '%'
  758. element.successlv_di = (element.finish_trans_bag_di * 100 / (element.need_trans_bag_di > 0 ? element.need_trans_bag_di : 1)).toFixed(2) + '%'
  759. element.successlv_ii = (element.finish_trans_bag_ii * 100 / (element.need_trans_bag_ii > 0 ? element.need_trans_bag_ii : 1)).toFixed(2) + '%'
  760. element.successlv_id = (element.finish_trans_bag_id * 100 / (element.need_trans_bag_id > 0 ? element.need_trans_bag_id : 1)).toFixed(2) + '%'
  761. element.a14 = (this.DD ? element.in_trans_fly_dd : 0) + (this.DI ? element.in_trans_fly_di : 0) + (this.II ? element.in_trans_fly_ii : 0) + (this.ID ? element.in_trans_fly_id : 0)
  762. element.a15 = (this.DD ? element.out_trans_fly_dd : 0) + (this.DI ? element.out_trans_fly_di : 0) + (this.II ? element.out_trans_fly_ii : 0) + (this.ID ? element.out_trans_fly_id : 0)
  763. element.a16 = (this.DD ? element.need_trans_bag_dd : 0) + (this.DI ? element.need_trans_bag_di : 0) + (this.II ? element.need_trans_bag_ii : 0) + (this.ID ? element.need_trans_bag_id : 0)
  764. element.a17 = (this.DD ? element.finish_trans_bag_dd : 0) + (this.DI ? element.finish_trans_bag_di : 0) + (this.II ? element.finish_trans_bag_ii : 0) + (this.ID ? element.finish_trans_bag_id : 0)
  765. element.a19 = (this.DD ? element.notfinish_trans_bag_dd : 0) + (this.DI ? element.notfinish_trans_bag_di : 0) + (this.II ? element.notfinish_trans_bag_ii : 0) + (this.ID ? element.notfinish_trans_bag_id : 0)
  766. element.a18 = (element.a17 * 100 / (element.a16 > 0 ? element.a16 : 0)).toFixed(2) + '%'
  767. });
  768. }
  769. else if (this.upid == 5) {
  770. this.tableData.forEach(element => {
  771. element.successlv_dd_22 = (element.finish_trans_bag_dd_22 * 100 / (element.need_trans_bag_dd_22 > 0 ? element.need_trans_bag_dd_22 : 1)).toFixed(2) + '%'
  772. element.successlv_dd_23 = (element.finish_trans_bag_dd_23 * 100 / (element.need_trans_bag_dd_23 > 0 ? element.need_trans_bag_dd_23 : 1)).toFixed(2) + '%'
  773. element.successlv_dd_33 = (element.finish_trans_bag_dd_33 * 100 / (element.need_trans_bag_dd_33 > 0 ? element.need_trans_bag_dd_33 : 1)).toFixed(2) + '%'
  774. element.successlv_dd_32 = (element.finish_trans_bag_dd_32 * 100 / (element.need_trans_bag_dd_32 > 0 ? element.need_trans_bag_dd_32 : 1)).toFixed(2) + '%'
  775. element.successlv_di_22 = (element.finish_trans_bag_di_22 * 100 / (element.need_trans_bag_di_22 > 0 ? element.need_trans_bag_di_22 : 1)).toFixed(2) + '%'
  776. element.successlv_di_23 = (element.finish_trans_bag_di_23 * 100 / (element.need_trans_bag_di_23 > 0 ? element.need_trans_bag_di_23 : 1)).toFixed(2) + '%'
  777. element.successlv_di_33 = (element.finish_trans_bag_di_33 * 100 / (element.need_trans_bag_di_33 > 0 ? element.need_trans_bag_di_33 : 1)).toFixed(2) + '%'
  778. element.successlv_di_32 = (element.finish_trans_bag_di_32 * 100 / (element.need_trans_bag_di_32 > 0 ? element.need_trans_bag_di_32 : 1)).toFixed(2) + '%'
  779. element.successlv_ii_22 = (element.finish_trans_bag_ii_22 * 100 / (element.need_trans_bag_ii_22 > 0 ? element.need_trans_bag_ii_22 : 1)).toFixed(2) + '%'
  780. element.successlv_ii_23 = (element.finish_trans_bag_ii_23 * 100 / (element.need_trans_bag_ii_23 > 0 ? element.need_trans_bag_ii_23 : 1)).toFixed(2) + '%'
  781. element.successlv_ii_33 = (element.finish_trans_bag_ii_33 * 100 / (element.need_trans_bag_ii_33 > 0 ? element.need_trans_bag_ii_33 : 1)).toFixed(2) + '%'
  782. element.successlv_ii_32 = (element.finish_trans_bag_ii_32 * 100 / (element.need_trans_bag_ii_32 > 0 ? element.need_trans_bag_ii_32 : 1)).toFixed(2) + '%'
  783. element.successlv_id_22 = (element.finish_trans_bag_id_22 * 100 / (element.need_trans_bag_id_22 > 0 ? element.need_trans_bag_id_22 : 1)).toFixed(2) + '%'
  784. element.successlv_id_23 = (element.finish_trans_bag_id_23 * 100 / (element.need_trans_bag_id_23 > 0 ? element.need_trans_bag_id_23 : 1)).toFixed(2) + '%'
  785. element.successlv_id_33 = (element.finish_trans_bag_id_33 * 100 / (element.need_trans_bag_id_33 > 0 ? element.need_trans_bag_id_33 : 1)).toFixed(2) + '%'
  786. element.successlv_id_32 = (element.finish_trans_bag_id_32 * 100 / (element.need_trans_bag_id_32 > 0 ? element.need_trans_bag_id_32 : 1)).toFixed(2) + '%'
  787. let t1DD = (this.t1 ? element.in_trans_fly_dd_22 : 0) + (this.t2 ? element.in_trans_fly_dd_23 : 0) + (this.t3 ? element.in_trans_fly_dd_33 : 0) + (this.t4 ? element.in_trans_fly_dd_32 : 0)
  788. let t1DI = (this.t1 ? element.in_trans_fly_di_22 : 0) + (this.t2 ? element.in_trans_fly_di_23 : 0) + (this.t3 ? element.in_trans_fly_di_23 : 0) + (this.t4 ? element.in_trans_fly_di_32 : 0)
  789. let t1II = (this.t1 ? element.in_trans_fly_ii_22 : 0) + (this.t2 ? element.in_trans_fly_ii_23 : 0) + (this.t3 ? element.in_trans_fly_ii_33 : 0) + (this.t4 ? element.in_trans_fly_ii_32 : 0)
  790. let t1ID = (this.t1 ? element.in_trans_fly_id_22 : 0) + (this.t2 ? element.in_trans_fly_id_23 : 0) + (this.t3 ? element.in_trans_fly_id_33 : 0) + (this.t4 ? element.in_trans_fly_id_32 : 0)
  791. element.a14 = (this.DD ? t1DD : 0) + (this.DI ? t1DI : 0) + (this.II ? t1II : 0) + (this.II ? t1ID : 0)
  792. let t2DD = (this.t1 ? element.out_trans_fly_dd_22 : 0) + (this.t2 ? element.out_trans_fly_dd_23 : 0) + (this.t3 ? element.out_trans_fly_dd_33 : 0) + (this.t4 ? element.out_trans_fly_dd_32 : 0)
  793. let t2DI = (this.t1 ? element.out_trans_fly_di_22 : 0) + (this.t2 ? element.out_trans_fly_di_23 : 0) + (this.t3 ? element.out_trans_fly_di_33 : 0) + (this.t4 ? element.out_trans_fly_di_32 : 0)
  794. let t2II = (this.t1 ? element.out_trans_fly_ii_22 : 0) + (this.t2 ? element.out_trans_fly_ii_23 : 0) + (this.t3 ? element.out_trans_fly_ii_33 : 0) + (this.t4 ? element.out_trans_fly_ii_32 : 0)
  795. let t2ID = (this.t1 ? element.out_trans_fly_id_22 : 0) + (this.t2 ? element.out_trans_fly_id_23 : 0) + (this.t3 ? element.out_trans_fly_id_33 : 0) + (this.t4 ? element.out_trans_fly_id_32 : 0)
  796. element.a15 = (this.DD ? t2DD : 0) + (this.DI ? t2DI : 0) + (this.II ? t2II : 0) + (this.II ? t2ID : 0)
  797. let t3DD = (this.t1 ? element.need_trans_bag_dd_22 : 0) + (this.t2 ? element.need_trans_bag_dd_23 : 0) + (this.t3 ? element.need_trans_bag_dd_33 : 0) + (this.t4 ? element.need_trans_bag_dd_32 : 0)
  798. let t3DI = (this.t1 ? element.need_trans_bag_di_22 : 0) + (this.t2 ? element.need_trans_bag_di_23 : 0) + (this.t3 ? element.need_trans_bag_di_33 : 0) + (this.t4 ? element.need_trans_bag_di_32 : 0)
  799. let t3II = (this.t1 ? element.need_trans_bag_ii_22 : 0) + (this.t2 ? element.need_trans_bag_ii_23 : 0) + (this.t3 ? element.need_trans_bag_ii_33 : 0) + (this.t4 ? element.need_trans_bag_ii_32 : 0)
  800. let t3ID = (this.t1 ? element.need_trans_bag_id_22 : 0) + (this.t2 ? element.need_trans_bag_id_23 : 0) + (this.t3 ? element.need_trans_bag_id_33 : 0) + (this.t4 ? element.need_trans_bag_id_32 : 0)
  801. element.a16 = (this.DD ? t3DD : 0) + (this.DI ? t3DI : 0) + (this.II ? t3II : 0) + (this.II ? t3ID : 0)
  802. let t4DD = (this.t1 ? element.finish_trans_bag_dd_22 : 0) + (this.t2 ? element.finish_trans_bag_dd_23 : 0) + (this.t3 ? element.finish_trans_bag_dd_33 : 0) + (this.t4 ? element.finish_trans_bag_dd_32 : 0)
  803. let t4DI = (this.t1 ? element.finish_trans_bag_di_22 : 0) + (this.t2 ? element.finish_trans_bag_di_23 : 0) + (this.t3 ? element.finish_trans_bag_di_33 : 0) + (this.t4 ? element.finish_trans_bag_di_32 : 0)
  804. let t4II = (this.t1 ? element.finish_trans_bag_ii_22 : 0) + (this.t2 ? element.finish_trans_bag_ii_23 : 0) + (this.t3 ? element.finish_trans_bag_ii_33 : 0) + (this.t4 ? element.finish_trans_bag_ii_32 : 0)
  805. let t4ID = (this.t1 ? element.finish_trans_bag_id_22 : 0) + (this.t2 ? element.finish_trans_bag_id_23 : 0) + (this.t3 ? element.finish_trans_bag_id_33 : 0) + (this.t4 ? element.finish_trans_bag_id_32 : 0)
  806. element.a17 = (this.DD ? t4DD : 0) + (this.DI ? t4DI : 0) + (this.II ? t4II : 0) + (this.II ? t4ID : 0)
  807. let t5DD = (this.t1 ? element.notfinish_trans_bag_dd_22 : 0) + (this.t2 ? element.notfinish_trans_bag_dd_23 : 0) + (this.t3 ? element.notfinish_trans_bag_dd_33 : 0) + (this.t4 ? element.notfinish_trans_bag_dd_32 : 0)
  808. let t5DI = (this.t1 ? element.notfinish_trans_bag_di_22 : 0) + (this.t2 ? element.notfinish_trans_bag_di_23 : 0) + (this.t3 ? element.notfinish_trans_bag_di_33 : 0) + (this.t4 ? element.notfinish_trans_bag_di_32 : 0)
  809. let t5II = (this.t1 ? element.notfinish_trans_bag_ii_22 : 0) + (this.t2 ? element.notfinish_trans_bag_ii_23 : 0) + (this.t3 ? element.notfinish_trans_bag_ii_33 : 0) + (this.t4 ? element.notfinish_trans_bag_ii_32 : 0)
  810. let t5ID = (this.t1 ? element.notfinish_trans_bag_id_22 : 0) + (this.t2 ? element.notfinish_trans_bag_id_23 : 0) + (this.t3 ? element.notfinish_trans_bag_id_33 : 0) + (this.t4 ? element.notfinish_trans_bag_id_32 : 0)
  811. element.a19 = (this.DD ? t5DD : 0) + (this.DI ? t5DI : 0) + (this.II ? t5II : 0) + (this.II ? t5ID : 0)
  812. element.a18 = (element.a17 * 100 / (element.a16 > 0 ? element.a16 : 0)).toFixed(2) + '%'
  813. });
  814. }
  815. else if (this.upid == 8) {
  816. this.tableData.forEach(element => {
  817. element.lv = element.lv.toFixed(2)
  818. element.time = this.dataContent['fd1,fd2'][0] + '至' + this.dataContent['fd1,fd2'][1]
  819. })
  820. }
  821. }
  822. } else {
  823. if(!this.dataContent.airlineIataCd && !this.dataContent.outAirport && !this.dataContent.takeoff_terminal || !this.dataContent.timetype){
  824. this.loading = false
  825. this.$message.error('查询条件不能为空')
  826. return
  827. }
  828. if(!this.dataContent.timetype){
  829. this.loading = false
  830. this.$message.error('查询时间维度不能为空')
  831. return
  832. }
  833. if(!this.dataContent['fd1,fd2']){
  834. this.loading = false
  835. this.$message.error('查询时间段不能为空')
  836. return
  837. }
  838. if(this.dataContent['fd1,fd2']){
  839. this.dataContent['fd1'] = this.dataContent['fd1,fd2'][0]
  840. this.dataContent['fd2'] = this.dataContent['fd1,fd2'][1]
  841. delete this.dataContent['fd1,fd2']
  842. }
  843. const { code, returnData } = await TempQuery({
  844. serviceId: Number(this.dataId),
  845. dataContent: this.dataContent,
  846. event:'0'
  847. })
  848. if (code == 0) {
  849. returnData.map(item => {
  850. let ra_brsfly = Number(item.flights_out_brs)/Number(item.flights_out)
  851. ra_brsfly = ra_brsfly * 100
  852. ra_brsfly =parseFloat(ra_brsfly.toFixed(2))
  853. item['ra_brsfly'] = ra_brsfly + '%'
  854. let ra_brsbag = Number(item.bags_brs)/Number(item.bags)
  855. ra_brsbag = ra_brsbag * 100
  856. ra_brsbag =parseFloat(ra_brsbag.toFixed(2))
  857. item['ra_brsbag'] = ra_brsbag + '%'
  858. })
  859. this.tableData = returnData
  860. this.tableCols = returnData.columnSet
  861. this.serviceId = returnData.submitID
  862. this.loading = false
  863. // setTimeout(() => {
  864. // this.initTableData();
  865. // this.loading = false;
  866. // }, 100);
  867. } else {
  868. this.page--
  869. this.loading = false
  870. this.$message.error('获取表格数据失败')
  871. }
  872. }
  873. } catch (error) {
  874. this.page--
  875. this.loading = false
  876. }
  877. },
  878. downFile () {
  879. if (this.upid == 1) {
  880. let tableName = this.dataContent['fd1'] +'至' + this.dataContent['fd2'] + this.dataContent['airlineIataCd'] + '航司' + this.dataContent['outAirport'] + '航站国航行李BRS扫描数据统计表'
  881. const table = this.$refs['userTableData'].$el.cloneNode(true)
  882. const fileName = `${tableName}.xlsx`
  883. exportToExcel(table, tableName, fileName, '', true)
  884. } else if (this.upid == 2) {
  885. let tableName = 'Manual Load扫描数据统计表'
  886. const table = this.$refs['userTableDatard'].$el.cloneNode(true)
  887. const fileName = `${tableName}.xlsx`
  888. exportToExcel(table, tableName, fileName, '', true)
  889. } else if (this.upid == 3) {
  890. let tableName = '航易行RFID扫描数据统计表'
  891. const table = this.$refs['TableDatardrfid'].$el.cloneNode(true)
  892. const fileName = `${tableName}.xlsx`
  893. exportToExcel(table, tableName, fileName, '', true)
  894. } else if (this.upid == 4) {
  895. let tableName = '中转四个流向统计表'
  896. const table = this.$refs['userTableDatas'].$el.cloneNode(true)
  897. const fileName = `${tableName}.xlsx`
  898. exportToExcel(table, tableName, fileName, '', true)
  899. } else if (this.upid == 5) {
  900. let tableName = '中转流向明细统计表'
  901. const table = this.$refs['transferTableData'].$el.cloneNode(true)
  902. const fileName = `${tableName}.xlsx`
  903. exportToExcel(table, tableName, fileName, '', true)
  904. } else if (this.upid == 6) {
  905. let tableName = '中转行李因素分析统计表'
  906. const table = this.$refs['transferBaggageTableData'].$el.cloneNode(true)
  907. const fileName = `${tableName}.xlsx`
  908. exportToExcel(table, tableName, fileName, '', true)
  909. } else if (this.upid == 7) {
  910. let tableName = '中转行李比例明细统计表'
  911. const table =
  912. this.$refs['baggageProportionTableData'].$el.cloneNode(true)
  913. const fileName = `${tableName}.xlsx`
  914. exportToExcel(table, tableName, fileName, '', true)
  915. } else if (this.upid == 8) {
  916. let tableName = '行李全流程服务水平百分比表'
  917. const table =
  918. this.$refs['userTableDataelt'].$el.cloneNode(true)
  919. const fileName = `${tableName}.xlsx`
  920. exportToExcel(table, tableName, fileName, '', true)
  921. } else {
  922. let tableName = '工作量统计'
  923. const table =
  924. this.$refs['userTableDataelt1'].$el.cloneNode(true)
  925. const fileName = `${tableName}.xlsx`
  926. exportToExcel(table, tableName, fileName, '', true)
  927. }
  928. },
  929. cellClass ({ row, column, rowIndex, columnIndex }) {
  930. const classes = []
  931. if (
  932. column.property.includes('trans_bag') &&
  933. row[column.property] &&
  934. Number(row[column.property])
  935. ) {
  936. classes.push('cell-click')
  937. }
  938. return classes.join(' ')
  939. },
  940. cellClickHandler (...payload) {
  941. this.$emit('cell-click', ...payload)
  942. },
  943. flightsClick(row){
  944. let data = {
  945. airlineIataCd:this.dataContent.airlineIataCd,
  946. fd1:this.dataContent.fd1,
  947. fd2:this.dataContent.fd2,
  948. outAirport:this.dataContent.outAirport,
  949. takeoff_terminal:this.dataContent.takeoff_terminal
  950. }
  951. if(this.dataContent.timetype == "day"){
  952. data.fd1 = row.timetype
  953. data.fd2 = row.timetype
  954. }
  955. this.$router.push({
  956. path: "/brsflightStatistics",
  957. query: data,
  958. });
  959. },
  960. baggageClick(row){
  961. let data = {
  962. airlineIataCd:this.dataContent.airlineIataCd,
  963. fd1:this.dataContent.fd1,
  964. fd2:this.dataContent.fd2,
  965. outAirport:this.dataContent.outAirport,
  966. takeoff_terminal:this.dataContent.takeoff_terminal
  967. }
  968. if(this.dataContent.timetype == "day"){
  969. data.fd1 = row.timetype
  970. data.fd2 = row.timetype
  971. }
  972. this.$router.push({
  973. path: "/brsbagsStatistics",
  974. query: data,
  975. });
  976. }
  977. },
  978. }
  979. </script>
  980. <style lang="scss" scoped>
  981. ::v-deep .el-table {
  982. .cell-click {
  983. cursor: pointer;
  984. color: #2d7cff;
  985. }
  986. .BtnCol{
  987. cursor: pointer;
  988. color: #2d7cff;
  989. }
  990. }
  991. </style>