index.ts 93 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047
  1. import { EnumRouterName } from '@/common/constants/enumRouterName';
  2. import { setLoadComplete } from '@/common/methods';
  3. import { getLoadIsComplete } from '@/common/methods/mixin';
  4. import Main from '@/layout/components/main.vue';
  5. import Layout from '@/layout/index.vue';
  6. import { globalDataRefresh } from '@/services/bus';
  7. import { isLogin, login } from '@/services/bus/login';
  8. import { localStorageUtil } from '@/utils/storage';
  9. import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router';
  10. import eventBus from '../utils/eventBus';
  11. const routes: Array<RouteRecordRaw> = [
  12. {
  13. path: '/login',
  14. name: 'login',
  15. component: () => import('@/views/account/login.vue'),
  16. },
  17. {
  18. path: '/logon',
  19. name: 'logon',
  20. component: () => import('@/views/account/logon.vue'),
  21. },
  22. {
  23. path: '/resetPassword',
  24. name: 'resetPassword',
  25. component: () => import('@/views/account/resetPassword.vue'),
  26. },
  27. {
  28. path: '/',
  29. component: Layout,
  30. props: true,
  31. redirect: '/login',
  32. children: [
  33. {
  34. path: '/home',
  35. name: 'home',
  36. component: () => import('@/views/home.vue'),
  37. },
  38. {
  39. path: '/futures',
  40. name: 'forward',
  41. component: () => import('@/views/market/forward/index.vue'),
  42. },
  43. {
  44. path: '/warehouse-trade',
  45. name: 'warehouseTrade',
  46. component: () => import('@/views/market/warehouseTrade/index.vue'),
  47. },
  48. {
  49. path: 'custom_info',
  50. name: 'custom_info',
  51. component: Main,
  52. meta: {
  53. requireAuth: true,
  54. },
  55. redirect: (to) => {
  56. return { name: 'custom_info_unsubmit' };
  57. },
  58. children: [
  59. {
  60. path: '/custom_info/custom_info_normal',
  61. name: 'custom_info_normal',
  62. component: () => import('@/views/information/custom/list/normal-use/index.vue'),
  63. meta: {
  64. requireAuth: true,
  65. },
  66. },
  67. {
  68. path: '/custom_info/custom_info_disabled',
  69. name: 'custom_info_disabled',
  70. component: () => import('@/views/information/custom/list/stop-use/index.vue'),
  71. meta: {
  72. requireAuth: true,
  73. },
  74. },
  75. {
  76. path: '/custom_info/custom_info_checkpending',
  77. name: 'custom_info_checkpending',
  78. component: () => import('@/views/information/custom/list/checkpending/index.vue'),
  79. meta: {
  80. requireAuth: true,
  81. },
  82. },
  83. {
  84. path: '/custom_info/custom_info_unsubmit',
  85. name: 'custom_info_unsubmit',
  86. component: () => import('@/views/information/custom/list/unsubmit/index.vue'),
  87. meta: {
  88. requireAuth: true,
  89. },
  90. },
  91. ],
  92. },
  93. {
  94. path: 'goods_info',
  95. name: 'goods_info',
  96. component: Main,
  97. meta: {
  98. requireAuth: true,
  99. },
  100. redirect: (to) => {
  101. return { name: 'goods_info_spot' };
  102. },
  103. children: [
  104. {
  105. path: '/goods_info/goods_info_spot',
  106. name: 'goods_info_spot',
  107. component: () => import('@/views/information/goods/list/spot-variety/index.vue'),
  108. meta: {
  109. requireAuth: true,
  110. },
  111. },
  112. {
  113. path: '/goods_info/goods_info_hedge',
  114. name: 'goods_info_hedge',
  115. component: () => import('@/views/information/goods/list/hedging-variety/index.vue'),
  116. meta: {
  117. requireAuth: true,
  118. },
  119. },
  120. ],
  121. },
  122. {
  123. path: '/spot_contract',
  124. name: 'spot_contract',
  125. component: Main,
  126. meta: {
  127. requireAuth: true,
  128. },
  129. redirect: (to) => {
  130. return { name: 'spot_contract_unsubmitted' };
  131. },
  132. children: [
  133. {
  134. path: '/spot_contract/spot_contract_unsubmitted',
  135. name: 'spot_contract_unsubmitted',
  136. component: () => import('@/views/information/spot-contract/list/unsubmitted/index.vue'),
  137. meta: {
  138. requireAuth: true,
  139. },
  140. },
  141. {
  142. path: '/spot_contract/spot_contract_checkpending',
  143. name: 'spot_contract_checkpending',
  144. component: () => import('@/views/information/spot-contract/list/checkpending/index.vue'),
  145. meta: {
  146. requireAuth: true,
  147. },
  148. },
  149. {
  150. path: '/spot_contract/spot_contract_performance',
  151. name: 'spot_contract_performance',
  152. component: () => import('@/views/information/spot-contract/list/performance/index.vue'),
  153. meta: {
  154. requireAuth: true,
  155. },
  156. },
  157. {
  158. path: '/spot_contract/spot_contract_finished',
  159. name: 'spot_contract_finished',
  160. component: () => import('@/views/information/spot-contract/list/finished/index.vue'),
  161. meta: {
  162. requireAuth: true,
  163. },
  164. },
  165. ],
  166. },
  167. {
  168. path: '/account_info',
  169. name: 'account_info',
  170. component: Main,
  171. meta: {
  172. requireAuth: true,
  173. },
  174. redirect: (to) => {
  175. return { name: 'account_info_business' };
  176. },
  177. children: [
  178. {
  179. path: '/account_info/account_info_business',
  180. name: 'account_info_business',
  181. component: () => import('@/views/information/account_info/list/account_info_business/index.vue'),
  182. meta: {
  183. requireAuth: true,
  184. },
  185. },
  186. {
  187. path: '/account_info/account_info_futures',
  188. name: 'account_info_futures',
  189. component: () => import('@/views/information/account_info/list/account_info_futures/index.vue'),
  190. meta: {
  191. requireAuth: true,
  192. },
  193. },
  194. {
  195. path: '/account_info/account_info_manager',
  196. name: 'account_info_manager',
  197. component: () => import('@/views/information/account_info/list/account_info_manager/index.vue'),
  198. meta: {
  199. requireAuth: true,
  200. },
  201. },
  202. {
  203. path: '/account_info/account_info_trade',
  204. name: 'account_info_trade',
  205. component: () => import('@/views/information/account_info/list/account_info_trade/index.vue'),
  206. meta: {
  207. requireAuth: true,
  208. },
  209. },
  210. ],
  211. },
  212. {
  213. path: '/warehouse_info',
  214. name: 'warehouse_info',
  215. component: Main,
  216. meta: {
  217. requireAuth: true,
  218. },
  219. redirect: (to) => {
  220. return { name: 'warehouse_info_normal' };
  221. },
  222. children: [
  223. {
  224. path: '/warehouse_info/warehouse_info_normal',
  225. name: 'warehouse_info_normal',
  226. component: () => import('@/views/information/warehouse-info/list/normal-use/index.vue'),
  227. meta: {
  228. requireAuth: true,
  229. },
  230. },
  231. {
  232. path: '/warehouse_info/warehouse_info_disabled',
  233. name: 'warehouse_info_disabled',
  234. component: () => import('@/views/information/warehouse-info/list/stop-use/index.vue'),
  235. meta: {
  236. requireAuth: true,
  237. },
  238. },
  239. ],
  240. },
  241. {
  242. path: '/outaccount_status',
  243. name: 'outaccount_status',
  244. component: () => import('@/views/search/outaccount_status/index.vue'),
  245. meta: {
  246. requireAuth: true,
  247. },
  248. },
  249. {
  250. path: '/inventory',
  251. name: 'inventory',
  252. component: Main,
  253. meta: {
  254. requireAuth: true,
  255. },
  256. redirect: (to) => {
  257. return { name: 'inventory_current' };
  258. },
  259. children: [
  260. {
  261. path: '/inventory/inventory_current',
  262. name: 'inventory_current',
  263. component: () => import('@/views/search/inventory/list/inventory_current/index.vue'),
  264. meta: {
  265. requireAuth: true,
  266. },
  267. },
  268. {
  269. path: '/inventory/inventory_applyrecord',
  270. name: 'inventory_applyrecord',
  271. component: () => import('@/views/search/inventory/list/inventory_applyrecord/index.vue'),
  272. meta: {
  273. requireAuth: true,
  274. },
  275. },
  276. ]
  277. },
  278. {
  279. path: '/purchase',
  280. name: 'purchase',
  281. component: Main,
  282. meta: {
  283. requireAuth: true,
  284. },
  285. redirect: { name: 'purchase_pending' },
  286. children: [
  287. {
  288. path: '/purchase/purchase_pending',
  289. name: 'purchase_pending',
  290. component: () => import('@/views/business/purchase/list/pending/index.vue'),
  291. meta: {
  292. requireAuth: true,
  293. },
  294. },
  295. {
  296. path: '/purchase/purchase_performance',
  297. name: 'purchase_performance',
  298. component: () => import('@/views/business/purchase/list/performance/index.vue'),
  299. meta: {
  300. requireAuth: true,
  301. },
  302. },
  303. {
  304. path: '/purchase/purchase_all',
  305. name: 'purchase_all',
  306. component: () => import('@/views/business/purchase/list/all/index.vue'),
  307. meta: {
  308. requireAuth: true,
  309. },
  310. },
  311. ],
  312. },
  313. {
  314. path: '/sell',
  315. name: 'sell',
  316. component: Main,
  317. meta: {
  318. requireAuth: true,
  319. },
  320. redirect: { name: 'sell_pending' },
  321. children: [
  322. {
  323. path: '/sell/sell_pending',
  324. name: 'sell_pending',
  325. component: () => import('@/views/business/sell/list/pending/index.vue'),
  326. meta: {
  327. requireAuth: true,
  328. },
  329. },
  330. {
  331. path: '/sell/sell_performance',
  332. name: 'sell_performance',
  333. component: () => import('@/views/business/sell/list/performance/index.vue'),
  334. meta: {
  335. requireAuth: true,
  336. },
  337. },
  338. {
  339. path: '/sell/sell_all',
  340. name: 'sell_all',
  341. component: () => import('@/views/business/sell/list/all/index.vue'),
  342. meta: {
  343. requireAuth: true,
  344. },
  345. },
  346. ],
  347. },
  348. {
  349. path: '/risk_parameter_settings',
  350. name: 'risk_parameter_settings',
  351. component: Main,
  352. meta: {
  353. requireAuth: true,
  354. },
  355. redirect: { name: 'risk_parameter_settings_sub' },
  356. children: [
  357. {
  358. path: '/risk_parameter_settings_sub/risk_parameter_settings_sub',
  359. name: 'risk_parameter_settings_sub',
  360. component: () => import('@/views/ping_an/risk_parameter_settings/index.vue'),
  361. meta: {
  362. requireAuth: true,
  363. },
  364. },
  365. ]
  366. },
  367. {
  368. path: '/futures_and_spot',
  369. name: 'futures_and_spot',
  370. component: Main,
  371. meta: {
  372. requireAuth: true,
  373. },
  374. redirect: { name: 'futures_and_spot_stof' },
  375. children: [
  376. {
  377. path: '/futures_and_spot/futures_and_spot_stof',
  378. name: 'futures_and_spot_stof',
  379. component: () => import('@/views/ping_an/futures_and_spot/futures_and_spot_stof/index.vue'),
  380. meta: {
  381. requireAuth: true,
  382. },
  383. },
  384. {
  385. path: '/futures_and_spot/futures_and_spot_ftos',
  386. name: 'futures_and_spot_ftos',
  387. component: () => import('@/views/ping_an/futures_and_spot/futures_and_spot_ftos/index.vue'),
  388. meta: {
  389. requireAuth: true,
  390. },
  391. },
  392. ]
  393. },
  394. {
  395. path: '/spot_price_management_p',
  396. name: 'spot_price_management_p',
  397. component: Main,
  398. meta: {
  399. requireAuth: true,
  400. },
  401. redirect: { name: 'spot_price_management_today' },
  402. children: [
  403. {
  404. path: '/spot_price_management_p/spot_price_management_today',
  405. name: 'spot_price_management_today',
  406. component: () => import('@/views/ping_an/spot_price_management/spot_price_management_today/index.vue'),
  407. meta: {
  408. requireAuth: true,
  409. },
  410. },
  411. {
  412. path: '/spot_price_management_p/spot_price_management_all',
  413. name: 'spot_price_management_all',
  414. component: () => import('@/views/ping_an/spot_price_management/spot_price_management_all/index.vue'),
  415. meta: {
  416. requireAuth: true,
  417. },
  418. },
  419. {
  420. path: '/spot_price_management_p/spot_price_management_pending',
  421. name: 'spot_price_management_pending',
  422. component: () => import('@/views/ping_an/spot_price_management/spot_price_management_pending/index.vue'),
  423. meta: {
  424. requireAuth: true,
  425. },
  426. },
  427. ]
  428. },
  429. {
  430. path: '/exposure',
  431. name: 'exposure',
  432. component: Main,
  433. meta: {
  434. requireAuth: true,
  435. },
  436. redirect: { name: 'exposure_realtime' },
  437. children: [
  438. {
  439. path: '/exposure/exposure_realtime',
  440. name: 'exposure_realtime',
  441. component: () => import('@/views/business/exposure/list/realTime/index.vue'),
  442. meta: {
  443. requireAuth: true,
  444. },
  445. },
  446. {
  447. path: '/exposure/exposure_spot',
  448. name: 'exposure_spot',
  449. component: () => import('@/views/business/exposure/list/spot/index.vue'),
  450. meta: {
  451. requireAuth: true,
  452. },
  453. },
  454. {
  455. path: '/exposure/exposure_futures',
  456. name: 'exposure_futures',
  457. component: () => import('@/views/business/exposure/list/futures/index.vue'),
  458. meta: {
  459. requireAuth: true,
  460. },
  461. },
  462. {
  463. path: '/exposure/exposure_history',
  464. name: 'exposure_history',
  465. component: () => import('@/views/business/exposure/list/history/index.vue'),
  466. meta: {
  467. requireAuth: true,
  468. },
  469. },
  470. ],
  471. },
  472. {
  473. path: '/plan',
  474. name: 'plan',
  475. component: Main,
  476. meta: {
  477. requireAuth: true,
  478. },
  479. redirect: { name: 'plan_uncommitted' },
  480. children: [
  481. {
  482. path: '/plan/plan_uncommitted',
  483. name: 'plan_uncommitted',
  484. component: () => import('@/views/business/plan/list/uncommitted/index.vue'),
  485. meta: {
  486. requireAuth: true,
  487. },
  488. },
  489. {
  490. path: '/plan/plan_audit',
  491. name: 'plan_audit',
  492. component: () => import('@/views/business/plan/list/audit/index.vue'),
  493. meta: {
  494. requireAuth: true,
  495. },
  496. },
  497. {
  498. path: '/plan/plan_running',
  499. name: 'plan_running',
  500. component: () => import('@/views/business/plan/list/running/index.vue'),
  501. meta: {
  502. requireAuth: true,
  503. },
  504. },
  505. ],
  506. },
  507. {
  508. path: 'review',
  509. name: 'business_review',
  510. component: Main,
  511. meta: {
  512. requireAuth: true,
  513. },
  514. redirect: { name: 'business_review_someprice' },
  515. children: [
  516. {
  517. path: '/business_review/business_review_someprice',
  518. name: 'business_review_someprice',
  519. component: () => import('@/views/manage/business-review/list/someprice/index.vue'),
  520. meta: {
  521. requireAuth: true,
  522. },
  523. },
  524. {
  525. path: '/business_review/business_review_settlement',
  526. name: 'business_review_settlement',
  527. component: () => import('@/views/manage/business-review/list/settlement/index.vue'),
  528. meta: {
  529. requireAuth: true,
  530. },
  531. },
  532. ]
  533. },
  534. {
  535. path: '/finance_review',
  536. name: 'finance_review',
  537. component: Main,
  538. meta: {
  539. requireAuth: true,
  540. },
  541. redirect: { name: 'finance_review_funds' },
  542. children: [
  543. {
  544. path: '/finance_review/finance_review_funds',
  545. name: 'finance_review_funds',
  546. component: () => import('@/views/manage/finance-review/list/funds/index.vue'),
  547. meta: {
  548. requireAuth: true,
  549. },
  550. },
  551. {
  552. path: '/finance_review/finance_review_invoice',
  553. name: 'finance_review_invoice',
  554. component: () => import('@/views/manage/finance-review/list/invoice/index.vue'),
  555. meta: {
  556. requireAuth: true,
  557. },
  558. },
  559. ]
  560. },
  561. {
  562. path: '/inventory_review',
  563. name: 'inventory_review',
  564. component: Main,
  565. meta: {
  566. requireAuth: true,
  567. },
  568. redirect: { name: 'inventory_review_checkin' },
  569. children: [
  570. {
  571. path: '/inventory_review/inventory_review_checkin',
  572. name: 'inventory_review_checkin',
  573. component: () => import('@/views/manage/inventory-review/list/checkin/index.vue'),
  574. meta: {
  575. requireAuth: true,
  576. },
  577. },
  578. {
  579. path: '/inventory_review/inventory_review_checkout',
  580. name: 'inventory_review_checkout',
  581. component: () => import('@/views/manage/inventory-review/list/checkout/index.vue'),
  582. meta: {
  583. requireAuth: true,
  584. },
  585. },
  586. ]
  587. },
  588. {
  589. path: '/exposure_report',
  590. name: 'exposure_report',
  591. component: Main,
  592. meta: {
  593. requireAuth: true,
  594. },
  595. redirect: { name: 'exposure_report_exposure' },
  596. children: [
  597. {
  598. path: '/exposure_report/exposure_report_exposure',
  599. name: 'exposure_report_exposure',
  600. component: () => import('@/views/report/exposure-report/list/exposure_report/index.vue'),
  601. meta: {
  602. requireAuth: true,
  603. },
  604. },
  605. ]
  606. },
  607. {
  608. path: '/finance_report',
  609. name: 'finance_report',
  610. component: Main,
  611. meta: {
  612. requireAuth: true,
  613. },
  614. redirect: { name: 'finance_report_finance' },
  615. children: [
  616. {
  617. path: '/finance_report/finance_report_finance',
  618. name: 'finance_report_finance',
  619. component: () => import('@/views/report/finance-report/list/finance_report_finance/index.vue'),
  620. meta: {
  621. requireAuth: true,
  622. },
  623. },
  624. ]
  625. },
  626. {
  627. path: '/inventory_report',
  628. name: 'inventory_report',
  629. component: Main,
  630. meta: {
  631. requireAuth: true,
  632. },
  633. redirect: { name: 'inventory_report_inventory_category' },
  634. children: [
  635. {
  636. path: '/inventory_report/inventory_report_inventory_category',
  637. name: 'inventory_report_inventory_category',
  638. component: () => import('@/views/report/inventory-report/list/category/index.vue'),
  639. meta: {
  640. requireAuth: true,
  641. },
  642. },
  643. {
  644. path: '/inventory_report/warehouse',
  645. name: 'inventory_report_warehouse',
  646. component: () => import('@/views/report/inventory-report/list/warehouse/index.vue'),
  647. meta: {
  648. requireAuth: true,
  649. },
  650. },
  651. ]
  652. },
  653. {
  654. path: '/spot_report',
  655. name: 'spot_report',
  656. component: Main,
  657. meta: {
  658. requireAuth: true,
  659. },
  660. redirect: { name: 'spot_report_spot' },
  661. children: [
  662. {
  663. path: '/spot_report/spot_report_spot',
  664. name: 'spot_report_spot',
  665. component: () => import('@/views/report/spot-report/list/spot_report/index.vue'),
  666. meta: {
  667. requireAuth: true,
  668. },
  669. },
  670. ]
  671. },
  672. {
  673. path: '/sum_pl_report',
  674. name: 'sum_pl_report',
  675. component: Main,
  676. meta: {
  677. requireAuth: true,
  678. },
  679. redirect: { name: 'sum_pl_report_sum_pl' },
  680. children: [
  681. {
  682. path: '/sum_pl_report/sum_pl_report_sum_pl',
  683. name: 'sum_pl_report_sum_pl',
  684. component: () => import('@/views/report/sum_pl_report/list/sum_pl_report/index.vue'),
  685. meta: {
  686. requireAuth: true,
  687. },
  688. },
  689. ]
  690. },
  691. {
  692. path: '/future_report',
  693. name: 'future_report',
  694. component: Main,
  695. meta: {
  696. requireAuth: true,
  697. },
  698. redirect: { name: 'future_report_future' },
  699. children: [
  700. {
  701. path: '/future_report/future_report_future',
  702. name: 'future_report_future',
  703. component: () => import('@/views/report/future_report/list/future_report/index.vue'),
  704. meta: {
  705. requireAuth: true,
  706. },
  707. },
  708. ]
  709. },
  710. {
  711. path: '/platinum_customer_info',
  712. name: 'platinum_customer_info',
  713. component: Main,
  714. meta: {
  715. requireAuth: true,
  716. },
  717. redirect: { name: 'platinum_custom_info_normal' },
  718. children: [
  719. {
  720. path: '/platinum_customer_info/platinum_custom_info_normal',
  721. name: 'platinum_custom_info_normal',
  722. component: () => import('@/views/platinum/platinum_customer_info/list/normal-use/index.vue'),
  723. meta: {
  724. requireAuth: true,
  725. },
  726. },
  727. {
  728. path: '/platinum_customer_info/platinum_customer_info_unsubmit',
  729. name: 'platinum_customer_info_unsubmit',
  730. component: () => import('@/views/platinum/platinum_customer_info/list/unsubmit/index.vue'),
  731. meta: {
  732. requireAuth: true,
  733. },
  734. },
  735. {
  736. path: '/platinum_customer_info/platinum_customer_info_stop',
  737. name: 'platinum_customer_info_stop',
  738. component: () => import('@/views/platinum/platinum_customer_info/list/stop-use/index.vue'),
  739. meta: {
  740. requireAuth: true,
  741. },
  742. },
  743. ]
  744. },
  745. {
  746. path: '/platinum_pick_query',
  747. name: 'platinum_pick_query',
  748. component: Main,
  749. meta: {
  750. requireAuth: true,
  751. },
  752. redirect: { name: 'platinum_pick_query_tab' },
  753. children: [
  754. {
  755. path: '/platinum_pick_query/platinum_pick_query_tab',
  756. name: 'platinum_pick_query_tab',
  757. component: () => import('@/views/platinum/platinum_pick_query/list/tab/index.vue'),
  758. meta: {
  759. requireAuth: true,
  760. },
  761. },
  762. ]
  763. },
  764. {
  765. path: '/platinum_recharge_withdrawal_review',
  766. name: 'platinum_recharge_withdrawal_review',
  767. component: Main,
  768. meta: {
  769. requireAuth: true,
  770. },
  771. redirect: { name: 'platinum_recharge_review_tab' },
  772. children: [
  773. {
  774. path: '/platinum_withdrawal_review_tab/platinum_recharge_review_tab',
  775. name: 'platinum_recharge_review_tab',
  776. component: () => import('@/views/platinum/platinum_recharge_withdrawal_review/list/recharge/index.vue'),
  777. meta: {
  778. requireAuth: true,
  779. },
  780. },
  781. {
  782. path: '/platinum_withdrawal_review_tab/platinum_withdrawal_review_tab',
  783. name: 'platinum_withdrawal_review_tab',
  784. component: () => import('@/views/platinum/platinum_recharge_withdrawal_review/list/withdrawal/index.vue'),
  785. meta: {
  786. requireAuth: true,
  787. },
  788. },
  789. ]
  790. },
  791. {
  792. path: '/platinum_fixed_investment_price_query',
  793. name: 'platinum_fixed_investment_price_query',
  794. component: Main,
  795. meta: {
  796. requireAuth: true,
  797. },
  798. redirect: { name: 'platinum_fixed_investment_price_query_tab' },
  799. children: [
  800. {
  801. path: '/platinum_fixed_investment_price_query/platinum_fixed_investment_price_query_tab',
  802. name: 'platinum_fixed_investment_price_query_tab',
  803. component: () => import('@/views/platinum/platinum_fixed_investment_price_query/list/tab/index.vue'),
  804. meta: {
  805. requireAuth: true,
  806. },
  807. },
  808. ]
  809. },
  810. {
  811. path: '/platinum_fixed_investment_query',
  812. name: 'platinum_fixed_investment_query',
  813. component: Main,
  814. meta: {
  815. requireAuth: true,
  816. },
  817. redirect: { name: 'platinum_fixed_investment_plan_query' },
  818. children: [
  819. {
  820. path: '/platinum_fixed_investment_plan_query/platinum_fixed_investment_plan_query',
  821. name: 'platinum_fixed_investment_plan_query',
  822. component: () => import('@/views/platinum/platinum_fixed_investment_query/list/plan/index.vue'),
  823. meta: {
  824. requireAuth: true,
  825. },
  826. },
  827. {
  828. path: '/platinum_fixed_investment_plan_query/platinum_fixed_investment_flow_query',
  829. name: 'platinum_fixed_investment_flow_query',
  830. component: () => import('@/views/platinum/platinum_fixed_investment_query/list/flow/index.vue'),
  831. meta: {
  832. requireAuth: true,
  833. },
  834. },
  835. ]
  836. },
  837. {
  838. path: '/platinum_document_query',
  839. name: 'platinum_document_query',
  840. component: Main,
  841. meta: {
  842. requireAuth: true,
  843. },
  844. redirect: { name: 'platinum_document_query_position' },
  845. children: [
  846. {
  847. path: '/platinum_document_query/platinum_document_query_position',
  848. name: 'platinum_document_query_position',
  849. component: () => import('@/views/platinum/platinum_document_query/list/position/index.vue'),
  850. meta: {
  851. requireAuth: true,
  852. },
  853. },
  854. {
  855. path: '/platinum_document_query/platinum_document_query_order',
  856. name: 'platinum_document_query_order',
  857. component: () => import('@/views/platinum/platinum_document_query/list/order/index.vue'),
  858. meta: {
  859. requireAuth: true,
  860. },
  861. },
  862. {
  863. path: '/platinum_document_query/platinum_document_query_waiting',
  864. name: 'platinum_document_query_waiting',
  865. component: () => import('@/views/platinum/platinum_document_query/list/waiting/index.vue'),
  866. meta: {
  867. requireAuth: true,
  868. },
  869. },
  870. {
  871. path: '/platinum_document_query/platinum_document_query_success',
  872. name: 'platinum_document_query_success',
  873. component: () => import('@/views/platinum/platinum_document_query/list/success/index.vue'),
  874. meta: {
  875. requireAuth: true,
  876. },
  877. },
  878. ]
  879. },
  880. {
  881. path: '/platinum_financing_information',
  882. name: 'platinum_financing_information',
  883. component: Main,
  884. meta: {
  885. requireAuth: true,
  886. },
  887. redirect: { name: 'platinum_financing_information_tab' },
  888. children: [
  889. {
  890. path: '/platinum_financing_information/platinum_financing_information_tab',
  891. name: 'platinum_financing_information_tab',
  892. component: () => import('@/views/platinum/platinum_financing_information/list/tab/index.vue'),
  893. meta: {
  894. requireAuth: true,
  895. },
  896. },
  897. ]
  898. },
  899. {
  900. path: '/platinum_agents_and_stores',
  901. name: 'platinum_agents_and_stores',
  902. component: Main,
  903. meta: {
  904. requireAuth: true,
  905. },
  906. redirect: { name: 'platinum_agents_and_stores_tab' },
  907. children: [
  908. {
  909. path: '/platinum_agents_and_stores/platinum_agents_and_stores_tab',
  910. name: 'platinum_agents_and_stores_tab',
  911. component: () => import('@/views/platinum/platinum_agents_and_stores/list/tab/index.vue'),
  912. meta: {
  913. requireAuth: true,
  914. },
  915. },
  916. ]
  917. },
  918. {
  919. path: '/platinum_agreement',
  920. name: 'platinum_agreement',
  921. component: Main,
  922. meta: {
  923. requireAuth: true,
  924. },
  925. redirect: { name: 'platinum_agreement_tab' },
  926. children: [
  927. {
  928. path: '/platinum_agreement/platinum_agreement_tab',
  929. name: 'platinum_agreement_tab',
  930. component: () => import('@/views/platinum/platinum_agreement/list/tab/index.vue'),
  931. meta: {
  932. requireAuth: true,
  933. },
  934. },
  935. ]
  936. },
  937. {
  938. path: '/platinum_capital_flow',
  939. name: 'platinum_capital_flow',
  940. component: Main,
  941. meta: {
  942. requireAuth: true,
  943. },
  944. redirect: { name: 'platinum_capital_flow_tab' },
  945. children: [
  946. {
  947. path: '/platinum_capital_flow_tab/platinum_capital_flow_tab',
  948. name: 'platinum_capital_flow_tab',
  949. component: () => import('@/views/platinum/platinum_capital_flow/platinum_capital_flow_tab/index.vue'),
  950. meta: {
  951. requireAuth: true,
  952. },
  953. },
  954. ]
  955. },
  956. {
  957. path: '/platinum_promotion_report',
  958. name: 'platinum_promotion_report',
  959. component: Main,
  960. meta: {
  961. requireAuth: true,
  962. },
  963. redirect: { name: 'platinum_promotion_report_tab' },
  964. children: [
  965. {
  966. path: '/platinum_promotion_report/platinum_promotion_report_tab',
  967. name: 'platinum_promotion_report_tab',
  968. component: () => import('@/views/platinum/platinum_promotion_report/platinum_promotion_report_tab/index.vue'),
  969. meta: {
  970. requireAuth: true,
  971. },
  972. },
  973. ]
  974. },
  975. {
  976. path: '/platinum_signing_settings',
  977. name: 'platinum_signing_settings',
  978. component: Main,
  979. meta: {
  980. requireAuth: true,
  981. },
  982. redirect: { name: 'platinum_signing_settings_tab' },
  983. children: [
  984. {
  985. path: '/platinum_signing_settings/platinum_signing_settings_tab',
  986. name: 'platinum_signing_settings_tab',
  987. component: () => import('@/views/platinum/platinum_signing_settings/index.vue'),
  988. meta: {
  989. requireAuth: true,
  990. },
  991. },
  992. ]
  993. },
  994. {
  995. path: '/platinum_team_settings',
  996. name: 'platinum_team_settings',
  997. component: Main,
  998. meta: {
  999. requireAuth: true,
  1000. },
  1001. redirect: { name: 'platinum_team_settings_tab' },
  1002. children: [
  1003. {
  1004. path: '/platinum_team_settings/platinum_team_settings_tab',
  1005. name: 'platinum_team_settings_tab',
  1006. component: () => import('@/views/platinum/platinum_team_settings/index.vue'),
  1007. meta: {
  1008. requireAuth: true,
  1009. },
  1010. },
  1011. ]
  1012. },
  1013. {
  1014. path: '/platinum_account_manager',
  1015. name: 'platinum_account_manager',
  1016. component: Main,
  1017. meta: {
  1018. requireAuth: true,
  1019. },
  1020. redirect: { name: 'platinum_account_manager_tab' },
  1021. children: [
  1022. {
  1023. path: '/platinum_account_manager/platinum_account_manager_tab',
  1024. name: 'platinum_account_manager_tab',
  1025. component: () => import('@/views/platinum/platinum_account_manager/index.vue'),
  1026. meta: {
  1027. requireAuth: true,
  1028. },
  1029. },
  1030. ]
  1031. },
  1032. {
  1033. path: '/trading_strategy_notes_sub',
  1034. name: 'trading_strategy_notes_sub',
  1035. component: Main,
  1036. meta: {
  1037. requireAuth: true,
  1038. },
  1039. redirect: { name: 'trading_strategy_notes' },
  1040. children: [
  1041. {
  1042. path: '/trading_strategy_notes_sub/trading_strategy_notes',
  1043. name: 'trading_strategy_notes',
  1044. component: () => import('@/views/ping_an/trading_strategy_notes_sub/trading_strategy_notes/index.vue'),
  1045. meta: {
  1046. requireAuth: true,
  1047. },
  1048. },
  1049. ]
  1050. },
  1051. {
  1052. path: '/goods_info_p',
  1053. name: 'goods_info_p',
  1054. component: Main,
  1055. meta: {
  1056. requireAuth: true,
  1057. },
  1058. redirect: { name: 'goods_info_p_spot' },
  1059. children: [
  1060. {
  1061. path: '/goods_info_p/goods_info_p_spot',
  1062. name: 'goods_info_p_spot',
  1063. component: () => import('@/views/ping_an/goods_info_p/goods_info_p_spot/index.vue'),
  1064. meta: {
  1065. requireAuth: true,
  1066. },
  1067. },
  1068. {
  1069. path: '/goods_info_p/goods_info_p_hedge',
  1070. name: 'goods_info_p_hedge',
  1071. component: () => import('@/views/ping_an/goods_info_p/goods_info_p_hedge/index.vue'),
  1072. meta: {
  1073. requireAuth: true,
  1074. },
  1075. },
  1076. ]
  1077. },
  1078. {
  1079. path: '/division_management',
  1080. name: 'division_management',
  1081. component: Main,
  1082. meta: {
  1083. requireAuth: true,
  1084. },
  1085. redirect: { name: 'division_management_sub' },
  1086. children: [
  1087. {
  1088. path: '/division_management/division_management_sub',
  1089. name: 'division_management_sub',
  1090. component: () => import('@/views/ping_an/division_management/division_management_sub/index.vue'),
  1091. meta: {
  1092. requireAuth: true,
  1093. },
  1094. },
  1095. ]
  1096. },
  1097. {
  1098. path: '/spot_execution_management',
  1099. name: 'spot_execution_management',
  1100. component: Main,
  1101. meta: {
  1102. requireAuth: true,
  1103. },
  1104. redirect: { name: 'spot_execution_management_all' },
  1105. children: [
  1106. {
  1107. path: '/spot_execution_management/spot_execution_management_all',
  1108. name: 'spot_execution_management_all',
  1109. component: () => import('@/views/ping_an/spot_execution_management/spot_execution_management_all/index.vue'),
  1110. meta: {
  1111. requireAuth: true,
  1112. },
  1113. },
  1114. {
  1115. path: '/spot_execution_management/spot_execution_management_pending',
  1116. name: 'spot_execution_management_pending',
  1117. component: () => import('@/views/ping_an/spot_execution_management/spot_execution_management_pending/index.vue'),
  1118. meta: {
  1119. requireAuth: true,
  1120. },
  1121. },
  1122. {
  1123. path: '/spot_execution_management/spot_execution_management_today',
  1124. name: 'spot_execution_management_today',
  1125. component: () => import('@/views/ping_an/spot_execution_management/spot_execution_management_today/index.vue'),
  1126. meta: {
  1127. requireAuth: true,
  1128. },
  1129. },
  1130. ]
  1131. },
  1132. {
  1133. path: '/transaction_main_body',
  1134. name: 'transaction_main_body',
  1135. component: Main,
  1136. meta: {
  1137. requireAuth: true,
  1138. },
  1139. redirect: { name: 'transaction_main_body_normal' },
  1140. children: [
  1141. {
  1142. path: '/transaction_main_body/transaction_main_body_normal',
  1143. name: 'transaction_main_body_normal',
  1144. component: () => import('@/views/ping_an/transaction_main_body/transaction_main_body_normal/index.vue'),
  1145. meta: {
  1146. requireAuth: true,
  1147. },
  1148. },
  1149. {
  1150. path: '/transaction_main_body/transaction_main_body_disabled',
  1151. name: 'transaction_main_body_disabled',
  1152. component: () => import('@/views/ping_an/transaction_main_body/transaction_main_body_disabled/index.vue'),
  1153. meta: {
  1154. requireAuth: true,
  1155. },
  1156. },
  1157. ]
  1158. },
  1159. {
  1160. path: '/futures_order_search',
  1161. name: 'futures_order_search',
  1162. component: Main,
  1163. meta: {
  1164. requireAuth: true,
  1165. },
  1166. redirect: { name: 'futures_order_search_tradepostion' },
  1167. children: [
  1168. {
  1169. path: '/futures_order_search/futures_order_search_tradepostion',
  1170. name: 'futures_order_search_tradepostion',
  1171. component: () => import('@/views/ping_an/futures_order_search/futures_order_search_tradepostion/index.vue'),
  1172. meta: {
  1173. requireAuth: true,
  1174. },
  1175. },
  1176. {
  1177. path: '/futures_order_search/futures_order_search_orderdetail',
  1178. name: 'futures_order_search_orderdetail',
  1179. component: () => import('@/views/ping_an/futures_order_search/futures_order_search_orderdetail/index.vue'),
  1180. meta: {
  1181. requireAuth: true,
  1182. },
  1183. },
  1184. {
  1185. path: '/futures_order_search/futures_order_search_tradedetail',
  1186. name: 'futures_order_search_tradedetail',
  1187. component: () => import('@/views/ping_an/futures_order_search/futures_order_search_tradedetail/index.vue'),
  1188. meta: {
  1189. requireAuth: true,
  1190. },
  1191. },
  1192. {
  1193. path: '/futures_order_search/futures_order_search_outtradedetail',
  1194. name: 'futures_order_search_outtradedetail',
  1195. component: () => import('@/views/ping_an/futures_order_search/futures_order_search_outtradedetail/index.vue'),
  1196. meta: {
  1197. requireAuth: true,
  1198. },
  1199. },
  1200. ]
  1201. },
  1202. {
  1203. path: '/provisional_pricing_info_sub',
  1204. name: 'provisional_pricing_info_sub',
  1205. component: Main,
  1206. meta: {
  1207. requireAuth: true,
  1208. },
  1209. redirect: { name: 'provisional_pricing_info' },
  1210. children: [
  1211. {
  1212. path: '/provisional_pricing_info_sub/provisional_pricing_info',
  1213. name: 'provisional_pricing_info',
  1214. component: () => import('@/views/ping_an/provisional_pricing_info_sub/provisional_pricing_info/index.vue'),
  1215. meta: {
  1216. requireAuth: true,
  1217. },
  1218. },
  1219. ]
  1220. },
  1221. {
  1222. path: '/query_of_opponent_details',
  1223. name: 'query_of_opponent_details',
  1224. component: Main,
  1225. meta: {
  1226. requireAuth: true,
  1227. },
  1228. redirect: { name: 'query_of_opponent_details_pricing' },
  1229. children: [
  1230. {
  1231. path: '/query_of_opponent_details/query_of_opponent_details_pricing',
  1232. name: 'query_of_opponent_details_pricing',
  1233. component: () => import('@/views/ping_an/query_of_opponent_details/query_of_opponent_details_pricing/index.vue'),
  1234. meta: {
  1235. requireAuth: true,
  1236. },
  1237. },
  1238. {
  1239. path: '/query_of_opponent_details/query_of_opponent_details_inout',
  1240. name: 'query_of_opponent_details_inout',
  1241. component: () => import('@/views/ping_an/query_of_opponent_details/query_of_opponent_details_inout/index.vue'),
  1242. meta: {
  1243. requireAuth: true,
  1244. },
  1245. },
  1246. {
  1247. path: '/query_of_opponent_details/query_of_opponent_details_futurestrading',
  1248. name: 'query_of_opponent_details_futurestrading',
  1249. component: () => import('@/views/ping_an/query_of_opponent_details/query_of_opponent_details_futurestrading/index.vue'),
  1250. meta: {
  1251. requireAuth: true,
  1252. },
  1253. },
  1254. ]
  1255. },
  1256. {
  1257. path: '/platinum_salesman_performance_report',
  1258. name: 'platinum_salesman_performance_report',
  1259. component: Main,
  1260. meta: {
  1261. requireAuth: true,
  1262. },
  1263. redirect: { name: 'platinum_salesman_performance_report_tab' },
  1264. children: [
  1265. {
  1266. path: '/platinum_salesman_performance_report/platinum_salesman_performance_report_tab',
  1267. name: 'platinum_salesman_performance_report_tab',
  1268. component: () => import('@/views/report/platinum_salesman_performance_report/platinum_salesman_performance_report_tab/index.vue'),
  1269. meta: {
  1270. requireAuth: true,
  1271. },
  1272. },
  1273. ]
  1274. },
  1275. {
  1276. path: '/platinum_customer_service_report',
  1277. name: 'platinum_customer_service_report',
  1278. component: Main,
  1279. meta: {
  1280. requireAuth: true,
  1281. },
  1282. redirect: { name: 'platinum_customer_service_report_reach_rate_report_tab' },
  1283. children: [
  1284. {
  1285. path: '/platinum_customer_service_report/platinum_customer_service_report_reach_rate_report_tab',
  1286. name: 'platinum_customer_service_report_reach_rate_report_tab',
  1287. component: () => import('@/views/report/platinum_customer_service_report/platinum_customer_service_report_reach_rate_report_tab/index.vue'),
  1288. meta: {
  1289. requireAuth: true,
  1290. },
  1291. },
  1292. {
  1293. path: '/platinum_customer_service_report/platinum_customer_service_report_team_annualized_performance_ranking_report_tab',
  1294. name: 'platinum_customer_service_report_team_annualized_performance_ranking_report_tab',
  1295. component: () => import('@/views/report/platinum_customer_service_report/platinum_customer_service_report_team_annualized_performance_ranking_report_tab/index.vue'),
  1296. meta: {
  1297. requireAuth: true,
  1298. },
  1299. },
  1300. {
  1301. path: '/platinum_customer_service_report/platinum_customer_service_report_personal_annualized_performance_ranking_report_tab',
  1302. name: 'platinum_customer_service_report_personal_annualized_performance_ranking_report_tab',
  1303. component: () => import('@/views/report/platinum_customer_service_report/platinum_customer_service_report_personal_annualized_performance_ranking_report_tab/index.vue'),
  1304. meta: {
  1305. requireAuth: true,
  1306. },
  1307. },
  1308. {
  1309. path: '/platinum_customer_service_report/platinum_customer_service_report_team_manager_annual_performance_ranking_report_tab',
  1310. name: 'platinum_customer_service_report_team_manager_annual_performance_ranking_report_tab',
  1311. component: () => import('@/views/report/platinum_customer_service_report/platinum_customer_service_report_team_manager_annual_performance_ranking_report_tab/index.vue'),
  1312. meta: {
  1313. requireAuth: true,
  1314. },
  1315. },
  1316. ]
  1317. },
  1318. {
  1319. path: '/platinum_asset_management_sale_report',
  1320. name: 'platinum_asset_management_sale_report',
  1321. component: Main,
  1322. meta: {
  1323. requireAuth: true,
  1324. },
  1325. redirect: { name: 'platinum_asset_management_sale_report_company_day_tab' },
  1326. children: [
  1327. {
  1328. path: '/platinum_asset_management_sale_report/platinum_asset_management_sale_report_company_day_tab',
  1329. name: 'platinum_asset_management_sale_report_company_day_tab',
  1330. component: () => import('@/views/report/platinum_asset_management_sale_report/platinum_asset_management_sale_report_company_day_tab/index.vue'),
  1331. meta: {
  1332. requireAuth: true,
  1333. },
  1334. },
  1335. {
  1336. path: '/platinum_asset_management_sale_report/platinum_asset_management_sale_report_company_week_tab',
  1337. name: 'platinum_asset_management_sale_report_company_week_tab',
  1338. component: () => import('@/views/report/platinum_asset_management_sale_report/platinum_asset_management_sale_report_company_week_tab/index.vue'),
  1339. meta: {
  1340. requireAuth: true,
  1341. },
  1342. },
  1343. {
  1344. path: '/platinum_asset_management_sale_report/platinum_asset_management_sale_report_company_month_tab',
  1345. name: 'platinum_asset_management_sale_report_company_month_tab',
  1346. component: () => import('@/views/report/platinum_asset_management_sale_report/platinum_asset_management_sale_report_company_month_tab/index.vue'),
  1347. meta: {
  1348. requireAuth: true,
  1349. },
  1350. },
  1351. {
  1352. path: '/platinum_asset_management_sale_report/platinum_precious_metal_sales_report_departmental_week_tab',
  1353. name: 'platinum_precious_metal_sales_report_departmental_week_tab',
  1354. component: () => import('@/views/report/platinum_asset_management_sale_report/platinum_precious_metal_sales_report_departmental_week_tab/index.vue'),
  1355. meta: {
  1356. requireAuth: true,
  1357. },
  1358. },
  1359. {
  1360. path: '/platinum_asset_management_sale_report/platinum_precious_metal_sales_report_departmental_month_tab',
  1361. name: 'platinum_precious_metal_sales_report_departmental_month_tab',
  1362. component: () => import('@/views/report/platinum_asset_management_sale_report/platinum_precious_metal_sales_report_departmental_month_tab/index.vue'),
  1363. meta: {
  1364. requireAuth: true,
  1365. },
  1366. },
  1367. {
  1368. path: '/platinum_asset_management_sale_report/platinum_precious_metal_sales_report_product_month_tab',
  1369. name: 'platinum_precious_metal_sales_report_product_month_tab',
  1370. component: () => import('@/views/report/platinum_asset_management_sale_report/platinum_precious_metal_sales_report_product_month_tab/index.vue'),
  1371. meta: {
  1372. requireAuth: true,
  1373. },
  1374. },
  1375. ]
  1376. },
  1377. {
  1378. path: '/platinum_precious_metal_sales_report',
  1379. name: 'platinum_precious_metal_sales_report',
  1380. component: Main,
  1381. meta: {
  1382. requireAuth: true,
  1383. },
  1384. redirect: { name: 'platinum_precious_metal_sales_report_company_tab' },
  1385. children: [
  1386. {
  1387. path: '/platinum_precious_metal_sales_report/platinum_precious_metal_sales_report_company_tab',
  1388. name: 'platinum_precious_metal_sales_report_company_tab',
  1389. component: () => import('@/views/report/platinum_precious_metal_sales_report/platinum_precious_metal_sales_report_company_tab/index.vue'),
  1390. meta: {
  1391. requireAuth: true,
  1392. },
  1393. },
  1394. {
  1395. path: '/platinum_precious_metal_sales_report/platinum_precious_metal_sales_report_departmental_tab',
  1396. name: 'platinum_precious_metal_sales_report_departmental_tab',
  1397. component: () => import('@/views/report/platinum_precious_metal_sales_report/platinum_precious_metal_sales_report_departmental_tab/index.vue'),
  1398. meta: {
  1399. requireAuth: true,
  1400. },
  1401. },
  1402. ]
  1403. },
  1404. {
  1405. path: '/platinum_financial_payment',
  1406. name: 'platinum_financial_payment',
  1407. component: Main,
  1408. meta: {
  1409. requireAuth: true,
  1410. },
  1411. redirect: { name: 'platinum_financial_payment_waiting_payment_tab' },
  1412. children: [
  1413. {
  1414. path: '/platinum_financial_payment/platinum_financial_payment_waiting_payment_tab',
  1415. name: 'platinum_financial_payment_waiting_payment_tab',
  1416. component: () => import('@/views/platinum/platinum_financial_payment/platinum_financial_payment_waiting_payment_tab/index.vue'),
  1417. meta: {
  1418. requireAuth: true,
  1419. },
  1420. },
  1421. {
  1422. path: '/platinum_financial_payment/platinum_financial_payment_in_waiting_payment_tab',
  1423. name: 'platinum_financial_payment_in_waiting_payment_tab',
  1424. component: () => import('@/views/platinum/platinum_financial_payment/platinum_financial_payment_in_waiting_payment_tab/index.vue'),
  1425. meta: {
  1426. requireAuth: true,
  1427. },
  1428. },
  1429. {
  1430. path: '/platinum_financial_payment/platinum_financial_payment_waiting_payment_cash_tab',
  1431. name: 'platinum_financial_payment_waiting_payment_cash_tab',
  1432. component: () => import('@/views/platinum/platinum_financial_payment/platinum_financial_payment_waiting_payment_cash_tab/index.vue'),
  1433. meta: {
  1434. requireAuth: true,
  1435. },
  1436. },
  1437. {
  1438. path: '/platinum_financial_payment/platinum_financial_payment_payment_tab',
  1439. name: 'platinum_financial_payment_payment_tab',
  1440. component: () => import('@/views/platinum/platinum_financial_payment/platinum_financial_payment_payment_tab/index.vue'),
  1441. meta: {
  1442. requireAuth: true,
  1443. },
  1444. },
  1445. {
  1446. path: '/platinum_financial_payment/platinum_financial_payment_all_tab',
  1447. name: 'platinum_financial_payment_all_tab',
  1448. component: () => import('@/views/platinum/platinum_financial_payment/platinum_financial_payment_all_tab/index.vue'),
  1449. meta: {
  1450. requireAuth: true,
  1451. },
  1452. },
  1453. ]
  1454. },
  1455. {
  1456. path: '/platinum_precious_metal_signing',
  1457. name: 'platinum_precious_metal_signing',
  1458. component: Main,
  1459. meta: {
  1460. requireAuth: true,
  1461. },
  1462. redirect: { name: 'platinum_precious_metal_signing_unsubmitted' },
  1463. children: [
  1464. {
  1465. path: '/platinum_precious_metal_signing/platinum_precious_metal_signing_unsubmitted',
  1466. name: 'platinum_precious_metal_signing_unsubmitted',
  1467. component: () => import('@/views/platinum/platinum_precious_metal_signing/platinum_precious_metal_signing_unsubmitted/index.vue'),
  1468. meta: {
  1469. requireAuth: true,
  1470. },
  1471. },
  1472. {
  1473. path: '/platinum_precious_metal_signing/platinum_precious_metal_signing_pending_review',
  1474. name: 'platinum_precious_metal_signing_pending_review',
  1475. component: () => import('@/views/platinum/platinum_precious_metal_signing/platinum_precious_metal_signing_pending_review/index.vue'),
  1476. meta: {
  1477. requireAuth: true,
  1478. },
  1479. },
  1480. {
  1481. path: '/platinum_precious_metal_signing/platinum_precious_metal_signing_repurchase_pending_review',
  1482. name: 'platinum_precious_metal_signing_repurchase_pending_review',
  1483. component: () => import('@/views/platinum/platinum_precious_metal_signing/platinum_precious_metal_signing_repurchase_pending_review/index.vue'),
  1484. meta: {
  1485. requireAuth: true,
  1486. },
  1487. },
  1488. {
  1489. path: '/platinum_precious_metal_signing/platinum_precious_metal_signing_normal',
  1490. name: 'platinum_precious_metal_signing_normal',
  1491. component: () => import('@/views/platinum/platinum_precious_metal_signing/platinum_precious_metal_signing_normal/index.vue'),
  1492. meta: {
  1493. requireAuth: true,
  1494. },
  1495. },
  1496. {
  1497. path: '/platinum_precious_metal_signing/platinum_precious_metal_signing_success',
  1498. name: 'platinum_precious_metal_signing_success',
  1499. component: () => import('@/views/platinum/platinum_precious_metal_signing/platinum_precious_metal_signing_success/index.vue'),
  1500. meta: {
  1501. requireAuth: true,
  1502. },
  1503. },
  1504. {
  1505. path: '/platinum_precious_metal_signing/platinum_precious_metal_signing_refunded',
  1506. name: 'platinum_precious_metal_signing_refunded',
  1507. component: () => import('@/views/platinum/platinum_precious_metal_signing/platinum_precious_metal_signing_refunded/index.vue'),
  1508. meta: {
  1509. requireAuth: true,
  1510. },
  1511. },
  1512. {
  1513. path: '/platinum_precious_metal_signing/platinum_precious_metal_signing_all',
  1514. name: 'platinum_precious_metal_signing_all',
  1515. component: () => import('@/views/platinum/platinum_precious_metal_signing/platinum_precious_metal_signing_all/index.vue'),
  1516. meta: {
  1517. requireAuth: true,
  1518. },
  1519. },
  1520. ]
  1521. },
  1522. {
  1523. path: '/platinum_asset_management_signing',
  1524. name: 'platinum_asset_management_signing',
  1525. component: Main,
  1526. meta: {
  1527. requireAuth: true,
  1528. },
  1529. redirect: { name: 'platinum_asset_management_signing_unsubmitted' },
  1530. children: [
  1531. {
  1532. path: '/platinum_asset_management_signing/platinum_asset_management_signing_unsubmitted',
  1533. name: 'platinum_asset_management_signing_unsubmitted',
  1534. component: () => import('@/views/platinum/platinum_asset_management_signing/platinum_asset_management_signing_unsubmitted/index.vue'),
  1535. meta: {
  1536. requireAuth: true,
  1537. },
  1538. },
  1539. {
  1540. path: '/platinum_asset_management_signing/platinum_asset_management_signing_pending_review',
  1541. name: 'platinum_asset_management_signing_pending_review',
  1542. component: () => import('@/views/platinum/platinum_asset_management_signing/platinum_asset_management_signing_pending_review/index.vue'),
  1543. meta: {
  1544. requireAuth: true,
  1545. },
  1546. },
  1547. {
  1548. path: '/platinum_asset_management_signing/platinum_asset_management_signing_finish',
  1549. name: 'platinum_asset_management_signing_finish',
  1550. component: () => import('@/views/platinum/platinum_asset_management_signing/platinum_asset_management_signing_finish/index.vue'),
  1551. meta: {
  1552. requireAuth: true,
  1553. },
  1554. },
  1555. {
  1556. path: '/platinum_asset_management_signing/platinum_asset_management_signing_normal',
  1557. name: 'platinum_asset_management_signing_normal',
  1558. component: () => import('@/views/platinum/platinum_asset_management_signing/platinum_asset_management_signing_normal/index.vue'),
  1559. meta: {
  1560. requireAuth: true,
  1561. },
  1562. },
  1563. ]
  1564. },
  1565. {
  1566. path: '/platinum_broker_management',
  1567. name: 'platinum_broker_management',
  1568. component: Main,
  1569. meta: {
  1570. requireAuth: true,
  1571. },
  1572. redirect: { name: 'platinum_broker_management_normal_tab' },
  1573. children: [
  1574. {
  1575. path: '/platinum_broker_management/platinum_broker_management_normal_tab',
  1576. name: 'platinum_broker_management_normal_tab',
  1577. component: () => import('@/views/platinum/platinum_broker_management/normal/index.vue'),
  1578. meta: {
  1579. requireAuth: true,
  1580. },
  1581. },
  1582. {
  1583. path: '/platinum_broker_management/platinum_broker_management_waiting_tab',
  1584. name: 'platinum_broker_management_waiting_tab',
  1585. component: () => import('@/views/platinum/platinum_broker_management/waiting/index.vue'),
  1586. meta: {
  1587. requireAuth: true,
  1588. },
  1589. },
  1590. {
  1591. path: '/platinum_broker_management/platinum_broker_management_refuse_tab',
  1592. name: 'platinum_broker_management_refuse_tab',
  1593. component: () => import('@/views/platinum/platinum_broker_management/refuse/index.vue'),
  1594. meta: {
  1595. requireAuth: true,
  1596. },
  1597. },
  1598. ]
  1599. },
  1600. {
  1601. path: '/spot_trade',
  1602. name: EnumRouterName.spot_trade,
  1603. component: Main,
  1604. meta: {
  1605. requireAuth: true,
  1606. },
  1607. redirect: { name: EnumRouterName.warehouse_receipt_trade, },
  1608. children: [
  1609. {
  1610. path: '/spot_trade/warehouse_receipt_trade',
  1611. name: EnumRouterName.warehouse_receipt_trade,
  1612. component: () => import('@/views/market/spot_trade/warehouse_receipt_trade/index.vue'),
  1613. meta: {
  1614. requireAuth: true,
  1615. },
  1616. children: [
  1617. {
  1618. path: '/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_floating_price',
  1619. name: EnumRouterName.warehouse_receipt_trade_floating_price,
  1620. component: () => import('@/views/market/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_floating_price/index.vue'),
  1621. meta: {
  1622. requireAuth: true,
  1623. },
  1624. },
  1625. {
  1626. path: '/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_price',
  1627. name: EnumRouterName.warehouse_receipt_trade_price,
  1628. component: () => import('@/views/market/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_price/index.vue'),
  1629. meta: {
  1630. requireAuth: true,
  1631. },
  1632. },
  1633. {
  1634. path: '/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_blocs',
  1635. name: 'warehouse_receipt_trade_blocs',
  1636. component: () => import('@/views/market/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_blocs/index.vue'),
  1637. meta: {
  1638. requireAuth: true,
  1639. },
  1640. },
  1641. ]
  1642. },
  1643. {
  1644. path: '/spot_trade/warehouse_pre_sale',
  1645. name: EnumRouterName.warehouse_pre_sale,
  1646. component: () => import('@/views/market/spot_trade/warehouse_pre_sale/index.vue'),
  1647. meta: {
  1648. requireAuth: true,
  1649. },
  1650. children: [
  1651. {
  1652. path: '/spot_trade/warehouse_pre_sale/warehouse_pre_sale_floating_price',
  1653. name: EnumRouterName.warehouse_pre_sale_floating_price,
  1654. component: () => import('@/views/market/spot_trade/warehouse_pre_sale/warehouse_pre_sale_floating_price/index.vue'),
  1655. meta: {
  1656. requireAuth: true,
  1657. },
  1658. },
  1659. {
  1660. path: '/spot_trade/warehouse_pre_sale/warehouse_pre_sale_price',
  1661. name: EnumRouterName.warehouse_pre_sale_price,
  1662. component: () => import('@/views/market/spot_trade/warehouse_pre_sale/warehouse_pre_sale_price/index.vue'),
  1663. meta: {
  1664. requireAuth: true,
  1665. },
  1666. },
  1667. {
  1668. path: '/spot_trade/warehouse_pre_sale/warehouse_pre_sale_blocs',
  1669. name: EnumRouterName.warehouse_pre_sale_blocs,
  1670. component: () => import('@/views/market/spot_trade/warehouse_pre_sale/warehouse_pre_sale_blocs/index.vue'),
  1671. meta: {
  1672. requireAuth: true,
  1673. },
  1674. },
  1675. ]
  1676. },
  1677. {
  1678. path: '/spot_trade/spot_trade_order_transaction',
  1679. name: EnumRouterName.spot_trade_order_transaction,
  1680. component: () => import('@/views/market/spot_trade/spot_trade_order_transaction/index.vue'),
  1681. meta: {
  1682. requireAuth: true,
  1683. },
  1684. children: [
  1685. {
  1686. path: '/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_basis_difference',
  1687. name: EnumRouterName.spot_trade_order_transaction_basis_difference,
  1688. component: () => import('@/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_basis_difference/index.vue'),
  1689. meta: {
  1690. requireAuth: true,
  1691. },
  1692. },
  1693. {
  1694. path: '/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_listing_transfer',
  1695. name: EnumRouterName.spot_trade_order_transaction_listing_transfer,
  1696. component: () => import('@/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_listing_transfer/index.vue'),
  1697. meta: {
  1698. requireAuth: true,
  1699. },
  1700. },
  1701. ]
  1702. },
  1703. {
  1704. path: '/spot_trade/spot_trade_reference_market',
  1705. name: EnumRouterName.spot_trade_reference_market,
  1706. component: () => import('@/views/market/spot_trade/spot_trade_reference_market/index.vue'),
  1707. meta: {
  1708. requireAuth: true,
  1709. },
  1710. }
  1711. ]
  1712. },
  1713. {
  1714. path: '/search_document_records',
  1715. name: EnumRouterName.search_document_records,
  1716. component: Main,
  1717. meta: {
  1718. requireAuth: true,
  1719. },
  1720. // redirect: { name: EnumRouterName.search_document_records, },
  1721. children: [
  1722. {
  1723. path: '/search_document_records/search_commodity_contract',
  1724. name: EnumRouterName.search_commodity_contract,
  1725. component: () => import('@/views/search/search_document_records/search_commodity_contract/index.vue'),
  1726. meta: {
  1727. requireAuth: true,
  1728. },
  1729. children: [
  1730. {
  1731. path: '/search_document_records/search_commodity_contract/search_document_records_contract_summary',
  1732. name: EnumRouterName.search_document_records_contract_summary,
  1733. component: () => import('@/views/search/search_document_records/search_commodity_contract/search_document_records_contract_summary/index.vue'),
  1734. meta: {
  1735. requireAuth: true,
  1736. },
  1737. },
  1738. {
  1739. path: '/search_document_records/search_commodity_contract/search_document_records_commission_record',
  1740. name: EnumRouterName.search_document_records_commission_record,
  1741. component: () => import('@/views/search/search_document_records/search_commodity_contract/search_document_records_commission_record/index.vue'),
  1742. meta: {
  1743. requireAuth: true,
  1744. },
  1745. },
  1746. {
  1747. path: '/search_document_records/search_commodity_contract/search_document_records_delivery_record',
  1748. name: EnumRouterName.search_document_records_delivery_record,
  1749. component: () => import('@/views/search/search_document_records/search_commodity_contract/search_document_records_delivery_record/index.vue'),
  1750. meta: {
  1751. requireAuth: true,
  1752. },
  1753. },
  1754. {
  1755. path: '/search_document_records/search_document_records/search_document_records_transaction_record',
  1756. name: EnumRouterName.search_document_records_transaction_record,
  1757. component: () => import('@/views/search/search_document_records/search_commodity_contract/search_document_records_transaction_record/index.vue'),
  1758. meta: {
  1759. requireAuth: true,
  1760. },
  1761. },
  1762. ]
  1763. },
  1764. {
  1765. path: '/search_document_records/search_pre_sale_warehouse_receipt',
  1766. name: EnumRouterName.search_pre_sale_warehouse_receipt,
  1767. component: () => import('@/views/search/search_document_records/search_pre_sale_warehouse_receipt/index.vue'),
  1768. meta: {
  1769. requireAuth: true,
  1770. },
  1771. children: [
  1772. {
  1773. path: '/search_document_records/search_pre_sale_warehouse_receipt/search_pre_sale_warehouse_receipt_commission_record',
  1774. name: EnumRouterName.search_pre_sale_warehouse_receipt_commission_record,
  1775. component: () => import('@/views/search/search_document_records/search_pre_sale_warehouse_receipt/search_pre_sale_warehouse_receipt_commission_record/index.vue'),
  1776. meta: {
  1777. requireAuth: true,
  1778. },
  1779. },
  1780. {
  1781. path: '/search_document_records/search_pre_sale_warehouse_receipt/search_pre_sale_warehouse_receipt_order_summary',
  1782. name: EnumRouterName.search_pre_sale_warehouse_receipt_order_summary,
  1783. component: () => import('@/views/search/search_document_records/search_pre_sale_warehouse_receipt/search_pre_sale_warehouse_receipt_order_summary/index.vue'),
  1784. meta: {
  1785. requireAuth: true,
  1786. },
  1787. },
  1788. {
  1789. path: '/search_document_records/search_pre_sale_warehouse_receipt/search_pre_sale_warehouse_receipt_protocol_specified_record',
  1790. name: EnumRouterName.search_pre_sale_warehouse_receipt_protocol_specified_record,
  1791. component: () => import('@/views/search/search_document_records/search_pre_sale_warehouse_receipt/search_pre_sale_warehouse_receipt_protocol_specified_record/index.vue'),
  1792. meta: {
  1793. requireAuth: true,
  1794. },
  1795. },
  1796. {
  1797. path: '/search_document_records/search_pre_sale_warehouse_receipt/search_pre_sale_warehouse_receipt_transaction_record',
  1798. name: EnumRouterName.search_pre_sale_warehouse_receipt_transaction_record,
  1799. component: () => import('@/views/search/search_document_records/search_pre_sale_warehouse_receipt/search_pre_sale_warehouse_receipt_transaction_record/index.vue'),
  1800. meta: {
  1801. requireAuth: true,
  1802. },
  1803. },
  1804. ]
  1805. },
  1806. {
  1807. path: '/search_document_records/search_spot_warrant',
  1808. name: EnumRouterName.search_spot_warrant,
  1809. component: () => import('@/views/search/search_document_records/search_spot_warrant/index.vue'),
  1810. meta: {
  1811. requireAuth: true,
  1812. },
  1813. children: [
  1814. {
  1815. path: '/search_document_records/search_spot_warrant/search_spot_warrant_transaction_record',
  1816. name: EnumRouterName.search_spot_warrant_transaction_record,
  1817. component: () => import('@/views/search/search_document_records/search_spot_warrant/search_spot_warrant_transaction_record/index.vue'),
  1818. meta: {
  1819. requireAuth: true,
  1820. },
  1821. },
  1822. {
  1823. path: '/search_document_records/search_spot_warrant/search_spot_warrant_protocol_specified_record',
  1824. name: EnumRouterName.search_spot_warrant_protocol_specified_record,
  1825. component: () => import('@/views/search/search_document_records/search_spot_warrant/search_spot_warrant_protocol_specified_record/index.vue'),
  1826. meta: {
  1827. requireAuth: true,
  1828. },
  1829. },
  1830. {
  1831. path: '/search_document_records/search_spot_warrant/search_spot_warrant_listing_record',
  1832. name: EnumRouterName.search_spot_warrant_listing_record,
  1833. component: () => import('@/views/search/search_document_records/search_spot_warrant/search_spot_warrant_listing_record/index.vue'),
  1834. meta: {
  1835. requireAuth: true,
  1836. },
  1837. },
  1838. {
  1839. path: '/search_document_records/search_spot_warrant/search_spot_warrant_warehouse_receipt_details',
  1840. name: EnumRouterName.search_spot_warrant_warehouse_receipt_details,
  1841. component: () => import('@/views/search/search_document_records/search_spot_warrant/search_spot_warrant_warehouse_receipt_details/index.vue'),
  1842. meta: {
  1843. requireAuth: true,
  1844. },
  1845. },
  1846. ]
  1847. },
  1848. ]
  1849. },
  1850. {
  1851. path: '/search_capital_flow',
  1852. name: EnumRouterName.search_capital_flow,
  1853. component: Main,
  1854. meta: {
  1855. requireAuth: true,
  1856. },
  1857. children: [
  1858. {
  1859. path: '/search_capital_flow/search_capital_flow_tab',
  1860. name: EnumRouterName.search_capital_flow_tab,
  1861. component: () => import('@/views/search/search_capital_flow/search_capital_flow_tab/index.vue'),
  1862. meta: {
  1863. requireAuth: true,
  1864. },
  1865. }
  1866. ]
  1867. },
  1868. {
  1869. path: '/search_financing_inquiry',
  1870. name: EnumRouterName.search_financing_inquiry,
  1871. component: Main,
  1872. meta: {
  1873. requireAuth: true,
  1874. },
  1875. children: [
  1876. {
  1877. path: '/search_financing_inquiry/search_financing_inquiry_apply_order',
  1878. name: EnumRouterName.search_financing_inquiry_apply_order,
  1879. component: () => import('@/views/search/search_financing_inquiry/search_financing_inquiry_apply_order/index.vue'),
  1880. meta: {
  1881. requireAuth: true,
  1882. },
  1883. },
  1884. {
  1885. path: '/search_financing_inquiry/search_financing_inquiry_contract',
  1886. name: EnumRouterName.search_financing_inquiry_contract,
  1887. component: () => import('@/views/search/search_financing_inquiry/search_financing_inquiry_contract/index.vue'),
  1888. meta: {
  1889. requireAuth: true,
  1890. },
  1891. }
  1892. ]
  1893. },
  1894. {
  1895. path: '/search_performance_query',
  1896. name: EnumRouterName.search_performance_query,
  1897. component: Main,
  1898. meta: {
  1899. requireAuth: true,
  1900. },
  1901. children: [
  1902. {
  1903. path: '/search_performance_query/search_performance_query_buy_performance',
  1904. name: EnumRouterName.search_performance_query_buy_performance,
  1905. component: () => import('@/views/search/search_performance_query/search_performance_query_buy_performance/index.vue'),
  1906. meta: {
  1907. requireAuth: true,
  1908. },
  1909. },
  1910. {
  1911. path: '/search_performance_query/search_performance_query_sell_performance',
  1912. name: EnumRouterName.search_performance_query_sell_performance,
  1913. component: () => import('@/views/search/search_performance_query/search_performance_query_sell_performance/index.vue'),
  1914. meta: {
  1915. requireAuth: true,
  1916. },
  1917. }
  1918. ]
  1919. },
  1920. {
  1921. path: '/search_pickup_query',
  1922. name: EnumRouterName.search_pickup_query,
  1923. component: Main,
  1924. meta: {
  1925. requireAuth: true,
  1926. },
  1927. children: [
  1928. {
  1929. path: '/search_pickup_query/search_pickup_query_tab',
  1930. name: EnumRouterName.search_pickup_query_tab,
  1931. component: () => import('@/views/search/search_pickup_query/search_pickup_query_tab/index.vue'),
  1932. meta: {
  1933. requireAuth: true,
  1934. },
  1935. }
  1936. ]
  1937. },
  1938. {
  1939. path: '/entry_of_spot_information_sub',
  1940. name: 'entry_of_spot_information_sub',
  1941. component: Main,
  1942. meta: {
  1943. requireAuth: true,
  1944. },
  1945. children: [
  1946. {
  1947. path: '/entry_of_spot_information_sub/entry_of_spot_information',
  1948. name: 'entry_of_spot_information',
  1949. component: () => import('@/views/hedging/entry_of_spot_information/index.vue'),
  1950. meta: {
  1951. requireAuth: true,
  1952. },
  1953. },
  1954. ]
  1955. },
  1956. {
  1957. path: '/spot_price_management',
  1958. name: EnumRouterName.spot_price_management,
  1959. component: Main,
  1960. meta: {
  1961. requireAuth: true,
  1962. },
  1963. children: [
  1964. {
  1965. path: '/spot_price_management/spot_price_management_disable',
  1966. name: EnumRouterName.spot_price_management_disable,
  1967. component: () => import('@/views/hedging/spot_price_management/spot_price_management_disable/index.vue'),
  1968. meta: {
  1969. requireAuth: true,
  1970. },
  1971. },
  1972. {
  1973. path: '/spot_price_management/spot_price_management_normal',
  1974. name: EnumRouterName.spot_price_management_normal,
  1975. component: () => import('@/views/hedging/spot_price_management/spot_price_management_normal/index.vue'),
  1976. meta: {
  1977. requireAuth: true,
  1978. },
  1979. },
  1980. ]
  1981. },
  1982. ],
  1983. },
  1984. {
  1985. path: '/test',
  1986. name: 'test',
  1987. component: () => import('@/views/test/index.vue'),
  1988. },
  1989. {
  1990. // VueRouter 匹配规则是从上往下 建议把*放最后
  1991. path: '/:pathMatch(.*)*',
  1992. name: '404',
  1993. component: () => import('@/views/error-page/404.vue'),
  1994. },
  1995. ];
  1996. const router = createRouter({
  1997. history: createWebHashHistory(),
  1998. routes,
  1999. });
  2000. // 路由拦截
  2001. router.beforeEach((to, from, next) => {
  2002. // 前往登录页时 直接走登出流程
  2003. if (to.fullPath === '/login') {
  2004. eventBus.$emit('logout');
  2005. next();
  2006. } else {
  2007. // 前往其他页 判断是否是登录状态
  2008. if (isLogin()) {
  2009. return next();
  2010. } else {
  2011. if (!getLoadIsComplete()) { // 没有加载对应的资料,表示第一次启动项目
  2012. console.log('to', to);
  2013. const { ACCOUNT, PASSWORD } = to.query
  2014. const name = to.name ? to.name : 'home'
  2015. if (ACCOUNT && PASSWORD) {
  2016. setLoadComplete(false)
  2017. globalDataRefresh().then(() => {
  2018. const { ACCOUNT, PASSWORD } = to.query
  2019. login(ACCOUNT as string, PASSWORD as string, [], true).then(res => {
  2020. setLoadComplete(true)
  2021. localStorageUtil.setItem('loginAccount', ACCOUNT); // 缓存登录账号
  2022. eventBus.$emit('loginSuccess', true);
  2023. next({ name })
  2024. }).catch(err => {
  2025. // 异常需要跳转到错误页面,让用户手动重试
  2026. console.log('err', err);
  2027. })
  2028. })
  2029. } else { // 跳转到登录页面
  2030. next()
  2031. }
  2032. } else { //
  2033. next()
  2034. }
  2035. }
  2036. }
  2037. });
  2038. export default router;