index.ts 86 KB

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