useAirportTable.ts 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835
  1. import { Query } from '@/api/webApi'
  2. import { AnyColumn } from 'element-plus/es/components/table-v2/src/common'
  3. import { CommonData, CommonTableColumn } from '~/common'
  4. interface SimpleColumn {
  5. columnName: string
  6. columnLabel: string
  7. [x: string]: any
  8. }
  9. const columnGroupsMap: {
  10. [x: string]: {
  11. groupName: string
  12. children: SimpleColumn[]
  13. }[]
  14. } = {
  15. DepartureAirport: [
  16. {
  17. groupName: '航班相关',
  18. children: [
  19. {
  20. columnName: 'IATACode',
  21. columnLabel: '航司',
  22. needFilters: 1,
  23. fixed: true,
  24. },
  25. {
  26. columnName: 'flightNO',
  27. columnLabel: '航班号',
  28. needFilters: 1,
  29. fixed: true,
  30. },
  31. {
  32. columnName: 'flightDate',
  33. columnLabel: '执飞日期',
  34. width: 73,
  35. fixed: true,
  36. },
  37. {
  38. columnName: 'planDepartureTime',
  39. columnLabel: '起飞时间',
  40. width: 73,
  41. fixed: true,
  42. },
  43. {
  44. columnName: 'target',
  45. columnLabel: '目的站',
  46. needFilters: 1,
  47. fixed: true,
  48. },
  49. {
  50. columnName: 'takeOffStand',
  51. columnLabel: '停机位',
  52. fixed: true,
  53. },
  54. {
  55. columnName: 'lastflightNO',
  56. columnLabel: '前序航班',
  57. fixed: true,
  58. defaultHidden: true,
  59. },
  60. {
  61. columnName: 'acLandingTime',
  62. columnLabel: '实际降落\n时间',
  63. width: 73,
  64. },
  65. {
  66. columnName: 'jiahuo',
  67. columnLabel: '一个码标记',
  68. },
  69. ],
  70. },
  71. {
  72. groupName: '运单相关',
  73. children: [
  74. {
  75. columnName: 'speCargoInfo',
  76. columnLabel: '特货信息',
  77. },
  78. {
  79. columnName: 'preLoad',
  80. columnLabel: '运单申报\n(运单/件)',
  81. },
  82. // {
  83. // columnName: 'transIn',
  84. // columnLabel: '中转进\n(运单/件)',
  85. // },
  86. ],
  87. },
  88. {
  89. groupName: '货站相关',
  90. children: [
  91. {
  92. columnName: 'receiveSure',
  93. columnLabel: '收运核单\n(运单/件/重量)',
  94. },
  95. {
  96. columnName: 'receiveSureTime',
  97. columnLabel: '收运核单\n时间',
  98. },
  99. // {
  100. // columnName: 'receiveSure_No',
  101. // columnLabel: '核单不通过\n(运单/件/重量)',
  102. // },
  103. // {
  104. // columnName: 'receiveSureTime_No',
  105. // columnLabel: '核单不通过\n时间',
  106. // },
  107. {
  108. columnName: 'checks',
  109. columnLabel: '收运核查\n(拒运/查验)',
  110. },
  111. {
  112. columnName: 'checkTime',
  113. columnLabel: '收运核查\n时间',
  114. },
  115. {
  116. columnName: 'securityYes',
  117. columnLabel: '安检放行\n(运单/件)',
  118. },
  119. {
  120. columnName: 'securityTime',
  121. columnLabel: '安检放行\n时间',
  122. },
  123. {
  124. columnName: 'addCargo',
  125. columnLabel: '加货\n(运单/板卡/件/重量)',
  126. },
  127. {
  128. columnName: 'addCargoTime',
  129. columnLabel: '加货时间',
  130. },
  131. // {
  132. // columnName: 'wait',
  133. // columnLabel: '待运区\n(板卡/件)',
  134. // },
  135. // {
  136. // columnName: 'waitTime',
  137. // columnLabel: '待运区时间',
  138. // },
  139. {
  140. columnName: 'stowage',
  141. columnLabel: '预配载\n(板卡/件)',
  142. },
  143. {
  144. columnName: 'stowageTime',
  145. columnLabel: '预配载时间',
  146. },
  147. ],
  148. },
  149. {
  150. groupName: '地服相关',
  151. children: [
  152. // {
  153. // columnName: 'planJoinTime',
  154. // columnLabel: '计划交接\n时间',
  155. // },
  156. // {
  157. // columnName: 'requestDepotJoin',
  158. // columnLabel: '发起货站交接\n(板卡/件)',
  159. // },
  160. // {
  161. // columnName: 'requestDepotJoinTime',
  162. // columnLabel: '发起货站交接\n时间',
  163. // },
  164. // {
  165. // columnName: 'depotJoin',
  166. // columnLabel: '货站交接\n(板卡/件)',
  167. // },
  168. // {
  169. // columnName: 'depotJoinTime',
  170. // columnLabel: '货站交接\n时间',
  171. // },
  172. {
  173. columnName: 'resure',
  174. columnLabel: '交接复核\n(板卡/件)',
  175. },
  176. {
  177. columnName: 'resureTime',
  178. columnLabel: '交接复核\n时间',
  179. },
  180. // {
  181. // columnName: 'planeDown',
  182. // columnLabel: '机下交接\n(板卡/件)',
  183. // columnDescribe: '根据交接复核计算所得',
  184. // },
  185. {
  186. columnName: 'planeDownTime',
  187. columnLabel: '机下交接\n时间',
  188. },
  189. // {
  190. // columnName: 'loadPlaneSure',
  191. // columnLabel: '装机\n(板卡/件)',
  192. // },
  193. {
  194. columnName: 'loadPlaneSureTime',
  195. columnLabel: '装机完成\n时间',
  196. defaultHidden: true,
  197. },
  198. // {
  199. // columnName: 'loadPlane',
  200. // columnLabel: '关闭舱门\n(板卡/件)',
  201. // },
  202. {
  203. columnName: 'loadPlaneTime',
  204. columnLabel: '关闭舱门\n时间',
  205. },
  206. {
  207. columnName: 'register',
  208. columnLabel: '拉下登记\n(板卡/件)',
  209. },
  210. {
  211. columnName: 'pullRegisterTime',
  212. columnLabel: '拉下登记\n时间',
  213. },
  214. {
  215. columnName: 'pullSure',
  216. columnLabel: '拉回确认\n(板卡/件)',
  217. },
  218. {
  219. columnName: 'pullSureTime',
  220. columnLabel: '拉回确认\n时间',
  221. },
  222. {
  223. columnName: 'returns',
  224. columnLabel: '退运\n(板卡/件)',
  225. },
  226. {
  227. columnName: 'returnTime',
  228. columnLabel: '退运时间',
  229. },
  230. ],
  231. },
  232. ],
  233. ArrivalAirport: [
  234. {
  235. groupName: '航班相关',
  236. children: [
  237. {
  238. columnName: 'IATACode',
  239. columnLabel: '航司',
  240. needFilters: 1,
  241. },
  242. {
  243. columnName: 'flightNO',
  244. columnLabel: '航班号',
  245. needFilters: 1,
  246. },
  247. {
  248. columnName: 'flightDate',
  249. columnLabel: '执飞日期',
  250. },
  251. {
  252. columnName: 'planLandingTime',
  253. columnLabel: '降落时间',
  254. },
  255. {
  256. columnName: 'target',
  257. columnLabel: '航程',
  258. needFilters: 1,
  259. },
  260. {
  261. columnName: 'landingStand',
  262. columnLabel: '停机位',
  263. },
  264. {
  265. columnName: 'speCargoInfo',
  266. columnLabel: '特货信息',
  267. },
  268. // {
  269. // columnName: 'preUnLoad',
  270. // columnLabel: '预计卸载数\n(运单/件)',
  271. // },
  272. // {
  273. // columnName: 'transOut',
  274. // columnLabel: '中转出\n(运单/件)',
  275. // },
  276. // {
  277. // columnName: 'receiveDiff',
  278. // columnLabel: '收货差异\n(板卡/件)',
  279. // },
  280. ],
  281. },
  282. {
  283. groupName: '地服相关',
  284. children: [
  285. // {
  286. // columnName: 'unloadBill',
  287. // columnLabel: '卸机单\n(板/箱/卡)',
  288. // },
  289. // {
  290. // columnName: 'unloadBillTime',
  291. // columnLabel: '卸机单确认\n时间',
  292. // },
  293. {
  294. columnName: 'unLoad',
  295. columnLabel: '卸机\n(板/箱/卡)',
  296. },
  297. {
  298. columnName: 'unLoadTime',
  299. columnLabel: '卸机时间',
  300. },
  301. {
  302. columnName: 'planeDown',
  303. columnLabel: '库区到达\n(板/箱/卡)',
  304. },
  305. {
  306. columnName: 'planeDownTime_IN',
  307. columnLabel: '库区到达\n时间',
  308. },
  309. ],
  310. },
  311. {
  312. groupName: '货站相关',
  313. children: [
  314. {
  315. columnName: 'depotJoin',
  316. columnLabel: '货站交接\n(板/箱/卡)',
  317. },
  318. {
  319. columnName: 'depotJoinTime_IN',
  320. columnLabel: '货站交接\n时间',
  321. },
  322. {
  323. columnName: 'tally',
  324. columnLabel: '理货\n(运单/件/重量)',
  325. },
  326. {
  327. columnName: 'tallyTime_in',
  328. columnLabel: '理货时间',
  329. },
  330. {
  331. columnName: 'outWarehouse',
  332. columnLabel: '出库\n(批/运单/件)',
  333. },
  334. {
  335. columnName: 'outWarehouseTime',
  336. columnLabel: '出库时间',
  337. },
  338. ],
  339. },
  340. ],
  341. InternationalDepartureAirport: [
  342. {
  343. groupName: '航班相关',
  344. children: [
  345. {
  346. columnName: 'IATACode',
  347. columnLabel: '航司',
  348. needFilters: 1,
  349. fixed: true,
  350. },
  351. {
  352. columnName: 'flightNO',
  353. columnLabel: '航班号',
  354. needFilters: 1,
  355. fixed: true,
  356. },
  357. {
  358. columnName: 'flightDate',
  359. columnLabel: '执飞日期',
  360. width: 73,
  361. fixed: true,
  362. },
  363. {
  364. columnName: 'planDepartureTime',
  365. columnLabel: '起飞时间',
  366. width: 73,
  367. fixed: true,
  368. },
  369. {
  370. columnName: 'target',
  371. columnLabel: '目的站',
  372. needFilters: 1,
  373. fixed: true,
  374. },
  375. {
  376. columnName: 'takeOffStand',
  377. columnLabel: '停机位',
  378. fixed: true,
  379. },
  380. {
  381. columnName: 'lastflightNO',
  382. columnLabel: '前序航班',
  383. fixed: true,
  384. },
  385. {
  386. columnName: 'acLandingTime',
  387. columnLabel: '实际降落\n时间',
  388. width: 73,
  389. },
  390. {
  391. columnName: 'speCargoInfo',
  392. columnLabel: '特货信息',
  393. },
  394. // {
  395. // columnName: 'transIn',
  396. // columnLabel: '中转进\n(运单/件)',
  397. // },
  398. // {
  399. // columnName: 'returns1',
  400. // columnLabel: '退运\n(板卡/件)',
  401. // },
  402. ],
  403. },
  404. {
  405. groupName: '货站相关',
  406. children: [
  407. // {
  408. // columnName: 'preLoad',
  409. // columnLabel: '运单申报\n(运单/件)',
  410. // },
  411. {
  412. columnName: 'enterPark',
  413. columnLabel: '入园\n(运单/件)',
  414. },
  415. {
  416. columnName: 'enterParkTime',
  417. columnLabel: '入园时间',
  418. },
  419. {
  420. columnName: 'enterCustoms',
  421. columnLabel: '海关中控\n(运单/件)',
  422. defaultHidden: true,
  423. },
  424. {
  425. columnName: 'enterCustomsTime',
  426. columnLabel: '海关中控\n时间',
  427. defaultHidden: true,
  428. },
  429. {
  430. columnName: 'passCustoms',
  431. columnLabel: '海关放行\n(运单/件)',
  432. },
  433. {
  434. columnName: 'passCustomsTime',
  435. columnLabel: '海关放行\n时间',
  436. },
  437. // {
  438. // columnName: 'nopassCustoms',
  439. // columnLabel: '海关不通过\n(运单/件)',
  440. // },
  441. // {
  442. // columnName: 'nopassCustomsTime',
  443. // columnLabel: '海关不通过\n时间',
  444. // },
  445. {
  446. columnName: 'receiveSure1',
  447. columnLabel: '运抵货站\n(运单/件)',
  448. },
  449. {
  450. columnName: 'receiveSureTime',
  451. columnLabel: '运抵货站\n时间',
  452. },
  453. // {
  454. // columnName: 'returns2',
  455. // columnLabel: '退运\n(板卡/件)',
  456. // },
  457. // {
  458. // columnName: 'returnTime',
  459. // columnLabel: '退运时间',
  460. // },
  461. {
  462. columnName: 'securityYes',
  463. columnLabel: '安检放行\n(运单/件)',
  464. },
  465. {
  466. columnName: 'securityTime',
  467. columnLabel: '安检放行\n时间',
  468. },
  469. {
  470. columnName: 'receiveSure2',
  471. columnLabel: '收运核单\n(运单/件)',
  472. },
  473. {
  474. columnName: 'receiveSureResultTime',
  475. columnLabel: '收运核单\n时间',
  476. },
  477. // {
  478. // columnName: 'receiveSure_No',
  479. // columnLabel: '核单不通过\n(运单/件)',
  480. // },
  481. // {
  482. // columnName: 'receiveSureTime_No',
  483. // columnLabel: '核单不通过\n时间',
  484. // },
  485. {
  486. columnName: 'tally_out',
  487. columnLabel: '理货\n(板卡/运单/件)',
  488. },
  489. {
  490. columnName: 'tallyTime_out',
  491. columnLabel: '理货时间',
  492. },
  493. {
  494. columnName: 'planJoinTime',
  495. columnLabel: '计划交接\n时间',
  496. },
  497. // {
  498. // columnName: 'wait',
  499. // columnLabel: '待运区\n(板卡/件)',
  500. // },
  501. // {
  502. // columnName: 'waitTime',
  503. // columnLabel: '待运区\n时间',
  504. // },
  505. {
  506. columnName: 'stowage',
  507. columnLabel: '预配载\n(板卡/件)',
  508. },
  509. {
  510. columnName: 'stowageTime',
  511. columnLabel: '预配载时间',
  512. },
  513. {
  514. columnName: "concat(requestDepotJoinBoard,'/',requestDepotJoin)",
  515. columnLabel: '发起货站交接\n(板卡/件)',
  516. },
  517. {
  518. columnName: 'requestDepotJoinTime',
  519. columnLabel: '发起货站交接\n时间',
  520. },
  521. ],
  522. },
  523. {
  524. groupName: '地服相关',
  525. children: [
  526. // {
  527. // columnName: 'depotJoin',
  528. // columnLabel: '货站交接\n(板卡/件)',
  529. // },
  530. // {
  531. // columnName: 'depotJoinTime',
  532. // columnLabel: '货站交接\n时间',
  533. // },
  534. {
  535. columnName: 'resure',
  536. columnLabel: '交接复核\n(板卡/件)',
  537. },
  538. {
  539. columnName: 'resureTime',
  540. columnLabel: '交接复核\n时间',
  541. },
  542. // {
  543. // columnName: 'planeDown',
  544. // columnLabel: '机下交接\n(板卡/件)',
  545. // columnDescribe: '根据交接复核计算所得',
  546. // },
  547. {
  548. columnName: 'planeDownTime',
  549. columnLabel: '机下交接\n时间',
  550. },
  551. // {
  552. // columnName: "concat(loadPlaneSureBoard,'/',loadPlaneSure)",
  553. // columnLabel: '装机\n(板卡/件)',
  554. // },
  555. {
  556. columnName: 'loadPlaneSureTime',
  557. columnLabel: '装机完成\n时间',
  558. defaultHidden: true,
  559. },
  560. // {
  561. // columnName: 'loadPlane',
  562. // columnLabel: '关闭舱门\n(板卡/件)',
  563. // },
  564. {
  565. columnName: 'loadPlaneTime',
  566. columnLabel: '关闭舱门\n时间',
  567. },
  568. {
  569. columnName: 'register',
  570. columnLabel: '拉下登记\n(板卡/运单/件)',
  571. },
  572. {
  573. columnName: 'pullregisterTime',
  574. columnLabel: '拉下登记\n时间',
  575. },
  576. {
  577. columnName: 'pullSure',
  578. columnLabel: '拉回确认\n(板卡/件)',
  579. },
  580. {
  581. columnName: 'pullSureTime',
  582. columnLabel: '拉回确认\n时间',
  583. },
  584. ],
  585. },
  586. ],
  587. InternationalArrivalAirport: [
  588. {
  589. groupName: '航班相关',
  590. children: [
  591. {
  592. columnName: 'IATACode',
  593. columnLabel: '航司',
  594. needFilters: 1,
  595. },
  596. {
  597. columnName: 'flightNO',
  598. columnLabel: '航班号',
  599. needFilters: 1,
  600. },
  601. {
  602. columnName: 'flightDate',
  603. columnLabel: '执飞日期',
  604. },
  605. {
  606. columnName: 'planLandingTime',
  607. columnLabel: '降落时间',
  608. },
  609. {
  610. columnName: 'target',
  611. columnLabel: '航程',
  612. needFilters: 1,
  613. },
  614. {
  615. columnName: 'landingStand',
  616. columnLabel: '停机位',
  617. },
  618. {
  619. columnName: 'speCargoInfo',
  620. columnLabel: '特货信息',
  621. },
  622. // {
  623. // columnName: 'preUnLoad',
  624. // columnLabel: '预计卸载数\n(运单/件)',
  625. // },
  626. // {
  627. // columnName: 'transOut',
  628. // columnLabel: '中转出\n(运单/件)',
  629. // },
  630. // {
  631. // columnName: 'receiveDiff',
  632. // columnLabel: '收货差异\n(板卡/件)',
  633. // },
  634. ],
  635. },
  636. {
  637. groupName: '货站相关',
  638. children: [
  639. // {
  640. // columnName: 'unloadBill',
  641. // columnLabel: '卸机单\n(板/箱/卡)',
  642. // },
  643. // {
  644. // columnName: 'unloadBillTime',
  645. // columnLabel: '卸机时间',
  646. // },
  647. {
  648. columnName: 'unLoad',
  649. columnLabel: '卸机\n(板/箱/卡)',
  650. },
  651. {
  652. columnName: 'unLoadTime',
  653. columnLabel: '卸机时间',
  654. },
  655. {
  656. columnName: 'planeDown',
  657. columnLabel: '机下交接\n(板/箱/卡)',
  658. },
  659. {
  660. columnName: 'planeDownTime_IN',
  661. columnLabel: '机下交接\n时间',
  662. },
  663. ],
  664. },
  665. {
  666. groupName: '地服相关',
  667. children: [
  668. {
  669. columnName: 'depotJoin',
  670. columnLabel: '货站交接\n(板/箱/卡)',
  671. },
  672. {
  673. columnName: 'depotJoinTime_IN',
  674. columnLabel: '货站交接\n时间',
  675. },
  676. {
  677. columnName: 'tally',
  678. columnLabel: '理货\n(板卡/运单/件/重量)',
  679. },
  680. {
  681. columnName: 'tallyTime_in',
  682. columnLabel: '理货时间',
  683. },
  684. {
  685. columnName: "concat(passCustomsList_in,'/',passCustoms_in)",
  686. columnLabel: '海关放行\n(运单/件)',
  687. },
  688. {
  689. columnName: 'passCustomsTime_in',
  690. columnLabel: '海关放行\n时间',
  691. },
  692. {
  693. columnName: 'outWarehouse',
  694. columnLabel: '出库\n(批/运单/件)',
  695. },
  696. {
  697. columnName: 'outWarehouseTime',
  698. columnLabel: '出库时间',
  699. },
  700. // {
  701. // columnName: "concat(punishCustomsList_in,'/',punishCustoms_in)",
  702. // columnLabel: '海关罚没\n(运单/件)',
  703. // },
  704. // {
  705. // columnName: 'punishCustomsTime_in',
  706. // columnLabel: '海关罚没\n时间',
  707. // },
  708. ],
  709. },
  710. ],
  711. }
  712. const headerClassMap = {
  713. 航班相关: 'bg-yellow',
  714. 运单相关: 'bg-purple',
  715. 货站相关: 'bg-green',
  716. 地服相关: 'bg-cyan',
  717. }
  718. const computedWidth = (column: SimpleColumn) => {
  719. let width = 0
  720. column.columnLabel.split('\n').forEach(line => {
  721. const len = line.length
  722. let realLength = 0
  723. for (let i = 0; i < len; i++) {
  724. realLength += line.charCodeAt(i) > 255 ? 2 : 1
  725. }
  726. if (width < realLength * 8) {
  727. width = realLength * 8
  728. }
  729. })
  730. // 筛选/排序按钮宽度
  731. // if (column.needFilters || column.needSort) {
  732. // width += 8
  733. // }
  734. width += 8
  735. // border
  736. return width + 1
  737. }
  738. export function useAirportTable(name: string, formData: CommonData) {
  739. const tableColumns = ref<(CommonTableColumn & AnyColumn)[]>([])
  740. const tableData = ref<CommonData[]>([])
  741. const getTableColumns = () => {
  742. const groups = columnGroupsMap[name]
  743. tableColumns.value = groups.reduce(
  744. (columns: (CommonTableColumn & AnyColumn)[], group) => {
  745. group.children.forEach(column => {
  746. columns.push({
  747. key: column.columnName,
  748. dataKey: column.columnName,
  749. title: column.columnLabel,
  750. columnDescribe: '',
  751. dataType: '',
  752. listqueryTemplateID: null,
  753. needCount: null,
  754. needFilters: null,
  755. needGroup: null,
  756. needSearch: null,
  757. needShow: 1,
  758. needSort: 1,
  759. orderNumber: null,
  760. queryTemplateColumnSetID: null,
  761. queryTemplateID: null,
  762. width: computedWidth(column),
  763. flexGrow: 1,
  764. align: 'center',
  765. headerClass: headerClassMap[group.groupName] ?? '',
  766. groupName: group.groupName,
  767. ...column,
  768. })
  769. })
  770. return columns
  771. },
  772. []
  773. )
  774. }
  775. const getTableData = async () => {
  776. try {
  777. const {
  778. startDate,
  779. endDate,
  780. flightState,
  781. flightWarning,
  782. waybillType,
  783. } = formData
  784. const dataContent = [
  785. startDate,
  786. endDate,
  787. // flightState,
  788. // flightWarning
  789. ]
  790. // if (name.includes('International')) {
  791. // dataContent.push(waybillType)
  792. // }
  793. const {
  794. code,
  795. returnData: { columnSet, listValues },
  796. message,
  797. } = await Query<CommonData>({
  798. id: DATACONTENT_ID[name.slice(0, 1).toLowerCase() + name.slice(1)],
  799. dataContent,
  800. })
  801. if (Number(code) !== 0) {
  802. throw new Error(message || '失败')
  803. }
  804. // tableColumns.value = columnSet.map(column => ({
  805. // key: column.columnName,
  806. // dataKey: column.columnName,
  807. // title: column.columnLabel,
  808. // width: column.columnLabel.length * 50,
  809. // flexGrow: 1,
  810. // align: 'center',
  811. // ...column,
  812. // }))
  813. tableData.value = listValues.map(row => ({
  814. ...row,
  815. rowKey: `${row.IATACode}-${row.flightNO}-${row.flightDate}`,
  816. }))
  817. } catch (error) {
  818. console.error(error)
  819. }
  820. }
  821. onMounted(() => {
  822. getTableColumns()
  823. })
  824. return {
  825. tableColumns,
  826. tableData,
  827. getTableData,
  828. }
  829. }