index.ts 107 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287
  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: '/search_performance_template',
  609. name: 'search_performance_template',
  610. component: Main,
  611. meta: {
  612. requireAuth: true,
  613. },
  614. redirect: { name: 'search_performance_template_sub' },
  615. children: [
  616. {
  617. path: '/search_performance_template/search_performance_template_sub',
  618. name: 'search_performance_template_sub',
  619. component: () => import('@/views/search/search_performance_template/search_performance_template_sub/index.vue'),
  620. meta: {
  621. requireAuth: true,
  622. },
  623. },
  624. ]
  625. },
  626. {
  627. path: '/account_manager_agency',
  628. name: 'account_manager_agency',
  629. component: Main,
  630. meta: {
  631. requireAuth: true,
  632. },
  633. redirect: { name: 'account_manager_agency_sub' },
  634. children: [
  635. {
  636. path: '/account-manager-agency/account-manager-agency-sub',
  637. name: 'account_manager_agency_sub',
  638. component: () => import('@/views/account-manager/account-manager-agency/account-manager-agency-sub/index.vue'),
  639. meta: {
  640. requireAuth: true,
  641. },
  642. },
  643. ]
  644. },
  645. {
  646. path: '/finance_report',
  647. name: 'finance_report',
  648. component: Main,
  649. meta: {
  650. requireAuth: true,
  651. },
  652. redirect: { name: 'finance_report_finance' },
  653. children: [
  654. {
  655. path: '/finance_report/finance_report_finance',
  656. name: 'finance_report_finance',
  657. component: () => import('@/views/report/finance-report/list/finance_report_finance/index.vue'),
  658. meta: {
  659. requireAuth: true,
  660. },
  661. },
  662. ]
  663. },
  664. {
  665. path: '/inventory_report',
  666. name: 'inventory_report',
  667. component: Main,
  668. meta: {
  669. requireAuth: true,
  670. },
  671. redirect: { name: 'inventory_report_inventory_category' },
  672. children: [
  673. {
  674. path: '/inventory_report/inventory_report_inventory_category',
  675. name: 'inventory_report_inventory_category',
  676. component: () => import('@/views/report/inventory-report/list/category/index.vue'),
  677. meta: {
  678. requireAuth: true,
  679. },
  680. },
  681. {
  682. path: '/inventory_report/warehouse',
  683. name: 'inventory_report_warehouse',
  684. component: () => import('@/views/report/inventory-report/list/warehouse/index.vue'),
  685. meta: {
  686. requireAuth: true,
  687. },
  688. },
  689. ]
  690. },
  691. {
  692. path: '/spot_report',
  693. name: 'spot_report',
  694. component: Main,
  695. meta: {
  696. requireAuth: true,
  697. },
  698. redirect: { name: 'spot_report_spot' },
  699. children: [
  700. {
  701. path: '/spot_report/spot_report_spot',
  702. name: 'spot_report_spot',
  703. component: () => import('@/views/report/spot-report/list/spot_report/index.vue'),
  704. meta: {
  705. requireAuth: true,
  706. },
  707. },
  708. ]
  709. },
  710. {
  711. path: '/sum_pl_report',
  712. name: 'sum_pl_report',
  713. component: Main,
  714. meta: {
  715. requireAuth: true,
  716. },
  717. redirect: { name: 'sum_pl_report_sum_pl' },
  718. children: [
  719. {
  720. path: '/sum_pl_report/sum_pl_report_sum_pl',
  721. name: 'sum_pl_report_sum_pl',
  722. component: () => import('@/views/report/sum_pl_report/list/sum_pl_report/index.vue'),
  723. meta: {
  724. requireAuth: true,
  725. },
  726. },
  727. ]
  728. },
  729. {
  730. path: '/future_report',
  731. name: 'future_report',
  732. component: Main,
  733. meta: {
  734. requireAuth: true,
  735. },
  736. redirect: { name: 'future_report_future' },
  737. children: [
  738. {
  739. path: '/future_report/future_report_future',
  740. name: 'future_report_future',
  741. component: () => import('@/views/report/future_report/list/future_report/index.vue'),
  742. meta: {
  743. requireAuth: true,
  744. },
  745. },
  746. ]
  747. },
  748. {
  749. path: '/platinum_customer_info',
  750. name: 'platinum_customer_info',
  751. component: Main,
  752. meta: {
  753. requireAuth: true,
  754. },
  755. redirect: { name: 'platinum_custom_info_normal' },
  756. children: [
  757. {
  758. path: '/platinum_customer_info/platinum_custom_info_normal',
  759. name: 'platinum_custom_info_normal',
  760. component: () => import('@/views/platinum/platinum_customer_info/list/normal-use/index.vue'),
  761. meta: {
  762. requireAuth: true,
  763. },
  764. },
  765. {
  766. path: '/platinum_customer_info/platinum_customer_info_unsubmit',
  767. name: 'platinum_customer_info_unsubmit',
  768. component: () => import('@/views/platinum/platinum_customer_info/list/unsubmit/index.vue'),
  769. meta: {
  770. requireAuth: true,
  771. },
  772. },
  773. {
  774. path: '/platinum_customer_info/platinum_customer_info_stop',
  775. name: 'platinum_customer_info_stop',
  776. component: () => import('@/views/platinum/platinum_customer_info/list/stop-use/index.vue'),
  777. meta: {
  778. requireAuth: true,
  779. },
  780. },
  781. ]
  782. },
  783. {
  784. path: '/platinum_pick_query',
  785. name: 'platinum_pick_query',
  786. component: Main,
  787. meta: {
  788. requireAuth: true,
  789. },
  790. redirect: { name: 'platinum_pick_query_tab' },
  791. children: [
  792. {
  793. path: '/platinum_pick_query/platinum_pick_query_tab',
  794. name: 'platinum_pick_query_tab',
  795. component: () => import('@/views/platinum/platinum_pick_query/list/tab/index.vue'),
  796. meta: {
  797. requireAuth: true,
  798. },
  799. },
  800. ]
  801. },
  802. {
  803. path: '/platinum_recharge_withdrawal_review',
  804. name: 'platinum_recharge_withdrawal_review',
  805. component: Main,
  806. meta: {
  807. requireAuth: true,
  808. },
  809. redirect: { name: 'platinum_recharge_review_tab' },
  810. children: [
  811. {
  812. path: '/platinum_withdrawal_review_tab/platinum_recharge_review_tab',
  813. name: 'platinum_recharge_review_tab',
  814. component: () => import('@/views/platinum/platinum_recharge_withdrawal_review/list/recharge/index.vue'),
  815. meta: {
  816. requireAuth: true,
  817. },
  818. },
  819. {
  820. path: '/platinum_withdrawal_review_tab/platinum_withdrawal_review_tab',
  821. name: 'platinum_withdrawal_review_tab',
  822. component: () => import('@/views/platinum/platinum_recharge_withdrawal_review/list/withdrawal/index.vue'),
  823. meta: {
  824. requireAuth: true,
  825. },
  826. },
  827. ]
  828. },
  829. {
  830. path: '/platinum_fixed_investment_price_query',
  831. name: 'platinum_fixed_investment_price_query',
  832. component: Main,
  833. meta: {
  834. requireAuth: true,
  835. },
  836. redirect: { name: 'platinum_fixed_investment_price_query_tab' },
  837. children: [
  838. {
  839. path: '/platinum_fixed_investment_price_query/platinum_fixed_investment_price_query_tab',
  840. name: 'platinum_fixed_investment_price_query_tab',
  841. component: () => import('@/views/platinum/platinum_fixed_investment_price_query/list/tab/index.vue'),
  842. meta: {
  843. requireAuth: true,
  844. },
  845. },
  846. ]
  847. },
  848. {
  849. path: '/platinum_fixed_investment_query',
  850. name: 'platinum_fixed_investment_query',
  851. component: Main,
  852. meta: {
  853. requireAuth: true,
  854. },
  855. redirect: { name: 'platinum_fixed_investment_plan_query' },
  856. children: [
  857. {
  858. path: '/platinum_fixed_investment_plan_query/platinum_fixed_investment_plan_query',
  859. name: 'platinum_fixed_investment_plan_query',
  860. component: () => import('@/views/platinum/platinum_fixed_investment_query/list/plan/index.vue'),
  861. meta: {
  862. requireAuth: true,
  863. },
  864. },
  865. {
  866. path: '/platinum_fixed_investment_plan_query/platinum_fixed_investment_flow_query',
  867. name: 'platinum_fixed_investment_flow_query',
  868. component: () => import('@/views/platinum/platinum_fixed_investment_query/list/flow/index.vue'),
  869. meta: {
  870. requireAuth: true,
  871. },
  872. },
  873. ]
  874. },
  875. {
  876. path: '/platinum_document_query',
  877. name: 'platinum_document_query',
  878. component: Main,
  879. meta: {
  880. requireAuth: true,
  881. },
  882. redirect: { name: 'platinum_document_query_position' },
  883. children: [
  884. {
  885. path: '/platinum_document_query/platinum_document_query_position',
  886. name: 'platinum_document_query_position',
  887. component: () => import('@/views/platinum/platinum_document_query/list/position/index.vue'),
  888. meta: {
  889. requireAuth: true,
  890. },
  891. },
  892. {
  893. path: '/platinum_document_query/platinum_document_query_order',
  894. name: 'platinum_document_query_order',
  895. component: () => import('@/views/platinum/platinum_document_query/list/order/index.vue'),
  896. meta: {
  897. requireAuth: true,
  898. },
  899. },
  900. {
  901. path: '/platinum_document_query/platinum_document_query_waiting',
  902. name: 'platinum_document_query_waiting',
  903. component: () => import('@/views/platinum/platinum_document_query/list/waiting/index.vue'),
  904. meta: {
  905. requireAuth: true,
  906. },
  907. },
  908. {
  909. path: '/platinum_document_query/platinum_document_query_success',
  910. name: 'platinum_document_query_success',
  911. component: () => import('@/views/platinum/platinum_document_query/list/success/index.vue'),
  912. meta: {
  913. requireAuth: true,
  914. },
  915. },
  916. ]
  917. },
  918. {
  919. path: '/platinum_financing_information',
  920. name: 'platinum_financing_information',
  921. component: Main,
  922. meta: {
  923. requireAuth: true,
  924. },
  925. redirect: { name: 'platinum_financing_information_tab' },
  926. children: [
  927. {
  928. path: '/platinum_financing_information/platinum_financing_information_tab',
  929. name: 'platinum_financing_information_tab',
  930. component: () => import('@/views/platinum/platinum_financing_information/list/tab/index.vue'),
  931. meta: {
  932. requireAuth: true,
  933. },
  934. },
  935. ]
  936. },
  937. {
  938. path: '/platinum_agents_and_stores',
  939. name: 'platinum_agents_and_stores',
  940. component: Main,
  941. meta: {
  942. requireAuth: true,
  943. },
  944. redirect: { name: 'platinum_agents_and_stores_tab' },
  945. children: [
  946. {
  947. path: '/platinum_agents_and_stores/platinum_agents_and_stores_tab',
  948. name: 'platinum_agents_and_stores_tab',
  949. component: () => import('@/views/platinum/platinum_agents_and_stores/list/tab/index.vue'),
  950. meta: {
  951. requireAuth: true,
  952. },
  953. },
  954. ]
  955. },
  956. {
  957. path: '/platinum_agreement',
  958. name: 'platinum_agreement',
  959. component: Main,
  960. meta: {
  961. requireAuth: true,
  962. },
  963. redirect: { name: 'platinum_agreement_tab' },
  964. children: [
  965. {
  966. path: '/platinum_agreement/platinum_agreement_tab',
  967. name: 'platinum_agreement_tab',
  968. component: () => import('@/views/platinum/platinum_agreement/list/tab/index.vue'),
  969. meta: {
  970. requireAuth: true,
  971. },
  972. },
  973. ]
  974. },
  975. {
  976. path: '/platinum_capital_flow',
  977. name: 'platinum_capital_flow',
  978. component: Main,
  979. meta: {
  980. requireAuth: true,
  981. },
  982. redirect: { name: 'platinum_capital_flow_tab' },
  983. children: [
  984. {
  985. path: '/platinum_capital_flow_tab/platinum_capital_flow_tab',
  986. name: 'platinum_capital_flow_tab',
  987. component: () => import('@/views/platinum/platinum_capital_flow/platinum_capital_flow_tab/index.vue'),
  988. meta: {
  989. requireAuth: true,
  990. },
  991. },
  992. ]
  993. },
  994. {
  995. path: '/platinum_promotion_report',
  996. name: 'platinum_promotion_report',
  997. component: Main,
  998. meta: {
  999. requireAuth: true,
  1000. },
  1001. redirect: { name: 'platinum_promotion_report_tab' },
  1002. children: [
  1003. {
  1004. path: '/platinum_promotion_report/platinum_promotion_report_tab',
  1005. name: 'platinum_promotion_report_tab',
  1006. component: () => import('@/views/platinum/platinum_promotion_report/platinum_promotion_report_tab/index.vue'),
  1007. meta: {
  1008. requireAuth: true,
  1009. },
  1010. },
  1011. ]
  1012. },
  1013. {
  1014. path: '/platinum_signing_settings',
  1015. name: 'platinum_signing_settings',
  1016. component: Main,
  1017. meta: {
  1018. requireAuth: true,
  1019. },
  1020. redirect: { name: 'platinum_signing_settings_tab' },
  1021. children: [
  1022. {
  1023. path: '/platinum_signing_settings/platinum_signing_settings_tab',
  1024. name: 'platinum_signing_settings_tab',
  1025. component: () => import('@/views/platinum/platinum_signing_settings/index.vue'),
  1026. meta: {
  1027. requireAuth: true,
  1028. },
  1029. },
  1030. ]
  1031. },
  1032. {
  1033. path: '/platinum_team_settings',
  1034. name: 'platinum_team_settings',
  1035. component: Main,
  1036. meta: {
  1037. requireAuth: true,
  1038. },
  1039. redirect: { name: 'platinum_team_settings_tab' },
  1040. children: [
  1041. {
  1042. path: '/platinum_team_settings/platinum_team_settings_tab',
  1043. name: 'platinum_team_settings_tab',
  1044. component: () => import('@/views/platinum/platinum_team_settings/index.vue'),
  1045. meta: {
  1046. requireAuth: true,
  1047. },
  1048. },
  1049. ]
  1050. },
  1051. {
  1052. path: '/platinum_account_manager',
  1053. name: 'platinum_account_manager',
  1054. component: Main,
  1055. meta: {
  1056. requireAuth: true,
  1057. },
  1058. redirect: { name: 'platinum_account_manager_tab' },
  1059. children: [
  1060. {
  1061. path: '/platinum_account_manager/platinum_account_manager_tab',
  1062. name: 'platinum_account_manager_tab',
  1063. component: () => import('@/views/platinum/platinum_account_manager/index.vue'),
  1064. meta: {
  1065. requireAuth: true,
  1066. },
  1067. },
  1068. ]
  1069. },
  1070. {
  1071. path: '/trading_strategy_notes_sub',
  1072. name: 'trading_strategy_notes_sub',
  1073. component: Main,
  1074. meta: {
  1075. requireAuth: true,
  1076. },
  1077. redirect: { name: 'trading_strategy_notes' },
  1078. children: [
  1079. {
  1080. path: '/trading_strategy_notes_sub/trading_strategy_notes',
  1081. name: 'trading_strategy_notes',
  1082. component: () => import('@/views/ping_an/trading_strategy_notes_sub/trading_strategy_notes/index.vue'),
  1083. meta: {
  1084. requireAuth: true,
  1085. },
  1086. },
  1087. ]
  1088. },
  1089. {
  1090. path: '/goods_info_p',
  1091. name: 'goods_info_p',
  1092. component: Main,
  1093. meta: {
  1094. requireAuth: true,
  1095. },
  1096. redirect: { name: 'goods_info_p_spot' },
  1097. children: [
  1098. {
  1099. path: '/goods_info_p/goods_info_p_spot',
  1100. name: 'goods_info_p_spot',
  1101. component: () => import('@/views/ping_an/goods_info_p/goods_info_p_spot/index.vue'),
  1102. meta: {
  1103. requireAuth: true,
  1104. },
  1105. },
  1106. {
  1107. path: '/goods_info_p/goods_info_p_hedge',
  1108. name: 'goods_info_p_hedge',
  1109. component: () => import('@/views/ping_an/goods_info_p/goods_info_p_hedge/index.vue'),
  1110. meta: {
  1111. requireAuth: true,
  1112. },
  1113. },
  1114. ]
  1115. },
  1116. {
  1117. path: '/division_management',
  1118. name: 'division_management',
  1119. component: Main,
  1120. meta: {
  1121. requireAuth: true,
  1122. },
  1123. redirect: { name: 'division_management_sub' },
  1124. children: [
  1125. {
  1126. path: '/division_management/division_management_sub',
  1127. name: 'division_management_sub',
  1128. component: () => import('@/views/ping_an/division_management/division_management_sub/index.vue'),
  1129. meta: {
  1130. requireAuth: true,
  1131. },
  1132. },
  1133. ]
  1134. },
  1135. {
  1136. path: '/spot_execution_management',
  1137. name: 'spot_execution_management',
  1138. component: Main,
  1139. meta: {
  1140. requireAuth: true,
  1141. },
  1142. redirect: { name: 'spot_execution_management_all' },
  1143. children: [
  1144. {
  1145. path: '/spot_execution_management/spot_execution_management_all',
  1146. name: 'spot_execution_management_all',
  1147. component: () => import('@/views/ping_an/spot_execution_management/spot_execution_management_all/index.vue'),
  1148. meta: {
  1149. requireAuth: true,
  1150. },
  1151. },
  1152. {
  1153. path: '/spot_execution_management/spot_execution_management_pending',
  1154. name: 'spot_execution_management_pending',
  1155. component: () => import('@/views/ping_an/spot_execution_management/spot_execution_management_pending/index.vue'),
  1156. meta: {
  1157. requireAuth: true,
  1158. },
  1159. },
  1160. {
  1161. path: '/spot_execution_management/spot_execution_management_today',
  1162. name: 'spot_execution_management_today',
  1163. component: () => import('@/views/ping_an/spot_execution_management/spot_execution_management_today/index.vue'),
  1164. meta: {
  1165. requireAuth: true,
  1166. },
  1167. },
  1168. ]
  1169. },
  1170. {
  1171. path: '/transaction_main_body',
  1172. name: 'transaction_main_body',
  1173. component: Main,
  1174. meta: {
  1175. requireAuth: true,
  1176. },
  1177. redirect: { name: 'transaction_main_body_normal' },
  1178. children: [
  1179. {
  1180. path: '/transaction_main_body/transaction_main_body_normal',
  1181. name: 'transaction_main_body_normal',
  1182. component: () => import('@/views/ping_an/transaction_main_body/transaction_main_body_normal/index.vue'),
  1183. meta: {
  1184. requireAuth: true,
  1185. },
  1186. },
  1187. {
  1188. path: '/transaction_main_body/transaction_main_body_disabled',
  1189. name: 'transaction_main_body_disabled',
  1190. component: () => import('@/views/ping_an/transaction_main_body/transaction_main_body_disabled/index.vue'),
  1191. meta: {
  1192. requireAuth: true,
  1193. },
  1194. },
  1195. ]
  1196. },
  1197. {
  1198. path: '/futures_order_search',
  1199. name: 'futures_order_search',
  1200. component: Main,
  1201. meta: {
  1202. requireAuth: true,
  1203. },
  1204. redirect: { name: 'futures_order_search_tradepostion' },
  1205. children: [
  1206. {
  1207. path: '/futures_order_search/futures_order_search_tradepostion',
  1208. name: 'futures_order_search_tradepostion',
  1209. component: () => import('@/views/ping_an/futures_order_search/futures_order_search_tradepostion/index.vue'),
  1210. meta: {
  1211. requireAuth: true,
  1212. },
  1213. },
  1214. {
  1215. path: '/futures_order_search/futures_order_search_orderdetail',
  1216. name: 'futures_order_search_orderdetail',
  1217. component: () => import('@/views/ping_an/futures_order_search/futures_order_search_orderdetail/index.vue'),
  1218. meta: {
  1219. requireAuth: true,
  1220. },
  1221. },
  1222. {
  1223. path: '/futures_order_search/futures_order_search_tradedetail',
  1224. name: 'futures_order_search_tradedetail',
  1225. component: () => import('@/views/ping_an/futures_order_search/futures_order_search_tradedetail/index.vue'),
  1226. meta: {
  1227. requireAuth: true,
  1228. },
  1229. },
  1230. {
  1231. path: '/futures_order_search/futures_order_search_outtradedetail',
  1232. name: 'futures_order_search_outtradedetail',
  1233. component: () => import('@/views/ping_an/futures_order_search/futures_order_search_outtradedetail/index.vue'),
  1234. meta: {
  1235. requireAuth: true,
  1236. },
  1237. },
  1238. ]
  1239. },
  1240. {
  1241. path: '/provisional_pricing_info_sub',
  1242. name: 'provisional_pricing_info_sub',
  1243. component: Main,
  1244. meta: {
  1245. requireAuth: true,
  1246. },
  1247. redirect: { name: 'provisional_pricing_info' },
  1248. children: [
  1249. {
  1250. path: '/provisional_pricing_info_sub/provisional_pricing_info',
  1251. name: 'provisional_pricing_info',
  1252. component: () => import('@/views/ping_an/provisional_pricing_info_sub/provisional_pricing_info/index.vue'),
  1253. meta: {
  1254. requireAuth: true,
  1255. },
  1256. },
  1257. ]
  1258. },
  1259. {
  1260. path: '/query_of_opponent_details',
  1261. name: 'query_of_opponent_details',
  1262. component: Main,
  1263. meta: {
  1264. requireAuth: true,
  1265. },
  1266. redirect: { name: 'query_of_opponent_details_pricing' },
  1267. children: [
  1268. {
  1269. path: '/query_of_opponent_details/query_of_opponent_details_pricing',
  1270. name: 'query_of_opponent_details_pricing',
  1271. component: () => import('@/views/ping_an/query_of_opponent_details/query_of_opponent_details_pricing/index.vue'),
  1272. meta: {
  1273. requireAuth: true,
  1274. },
  1275. },
  1276. {
  1277. path: '/query_of_opponent_details/query_of_opponent_details_inout',
  1278. name: 'query_of_opponent_details_inout',
  1279. component: () => import('@/views/ping_an/query_of_opponent_details/query_of_opponent_details_inout/index.vue'),
  1280. meta: {
  1281. requireAuth: true,
  1282. },
  1283. },
  1284. {
  1285. path: '/query_of_opponent_details/query_of_opponent_details_futurestrading',
  1286. name: 'query_of_opponent_details_futurestrading',
  1287. component: () => import('@/views/ping_an/query_of_opponent_details/query_of_opponent_details_futurestrading/index.vue'),
  1288. meta: {
  1289. requireAuth: true,
  1290. },
  1291. },
  1292. ]
  1293. },
  1294. {
  1295. path: '/platinum_salesman_performance_report',
  1296. name: 'platinum_salesman_performance_report',
  1297. component: Main,
  1298. meta: {
  1299. requireAuth: true,
  1300. },
  1301. redirect: { name: 'platinum_salesman_performance_report_tab' },
  1302. children: [
  1303. {
  1304. path: '/platinum_salesman_performance_report/platinum_salesman_performance_report_tab',
  1305. name: 'platinum_salesman_performance_report_tab',
  1306. component: () => import('@/views/report/platinum_salesman_performance_report/platinum_salesman_performance_report_tab/index.vue'),
  1307. meta: {
  1308. requireAuth: true,
  1309. },
  1310. },
  1311. ]
  1312. },
  1313. {
  1314. path: '/platinum_customer_service_report',
  1315. name: 'platinum_customer_service_report',
  1316. component: Main,
  1317. meta: {
  1318. requireAuth: true,
  1319. },
  1320. redirect: { name: 'platinum_customer_service_report_reach_rate_report_tab' },
  1321. children: [
  1322. {
  1323. path: '/platinum_customer_service_report/platinum_customer_service_report_reach_rate_report_tab',
  1324. name: 'platinum_customer_service_report_reach_rate_report_tab',
  1325. component: () => import('@/views/report/platinum_customer_service_report/platinum_customer_service_report_reach_rate_report_tab/index.vue'),
  1326. meta: {
  1327. requireAuth: true,
  1328. },
  1329. },
  1330. {
  1331. path: '/platinum_customer_service_report/platinum_customer_service_report_team_annualized_performance_ranking_report_tab',
  1332. name: 'platinum_customer_service_report_team_annualized_performance_ranking_report_tab',
  1333. component: () => import('@/views/report/platinum_customer_service_report/platinum_customer_service_report_team_annualized_performance_ranking_report_tab/index.vue'),
  1334. meta: {
  1335. requireAuth: true,
  1336. },
  1337. },
  1338. {
  1339. path: '/platinum_customer_service_report/platinum_customer_service_report_personal_annualized_performance_ranking_report_tab',
  1340. name: 'platinum_customer_service_report_personal_annualized_performance_ranking_report_tab',
  1341. component: () => import('@/views/report/platinum_customer_service_report/platinum_customer_service_report_personal_annualized_performance_ranking_report_tab/index.vue'),
  1342. meta: {
  1343. requireAuth: true,
  1344. },
  1345. },
  1346. {
  1347. path: '/platinum_customer_service_report/platinum_customer_service_report_team_manager_annual_performance_ranking_report_tab',
  1348. name: 'platinum_customer_service_report_team_manager_annual_performance_ranking_report_tab',
  1349. component: () => import('@/views/report/platinum_customer_service_report/platinum_customer_service_report_team_manager_annual_performance_ranking_report_tab/index.vue'),
  1350. meta: {
  1351. requireAuth: true,
  1352. },
  1353. },
  1354. ]
  1355. },
  1356. {
  1357. path: '/platinum_asset_management_sale_report',
  1358. name: 'platinum_asset_management_sale_report',
  1359. component: Main,
  1360. meta: {
  1361. requireAuth: true,
  1362. },
  1363. redirect: { name: 'platinum_asset_management_sale_report_company_day_tab' },
  1364. children: [
  1365. {
  1366. path: '/platinum_asset_management_sale_report/platinum_asset_management_sale_report_company_day_tab',
  1367. name: 'platinum_asset_management_sale_report_company_day_tab',
  1368. component: () => import('@/views/report/platinum_asset_management_sale_report/platinum_asset_management_sale_report_company_day_tab/index.vue'),
  1369. meta: {
  1370. requireAuth: true,
  1371. },
  1372. },
  1373. {
  1374. path: '/platinum_asset_management_sale_report/platinum_asset_management_sale_report_company_week_tab',
  1375. name: 'platinum_asset_management_sale_report_company_week_tab',
  1376. component: () => import('@/views/report/platinum_asset_management_sale_report/platinum_asset_management_sale_report_company_week_tab/index.vue'),
  1377. meta: {
  1378. requireAuth: true,
  1379. },
  1380. },
  1381. {
  1382. path: '/platinum_asset_management_sale_report/platinum_asset_management_sale_report_company_month_tab',
  1383. name: 'platinum_asset_management_sale_report_company_month_tab',
  1384. component: () => import('@/views/report/platinum_asset_management_sale_report/platinum_asset_management_sale_report_company_month_tab/index.vue'),
  1385. meta: {
  1386. requireAuth: true,
  1387. },
  1388. },
  1389. {
  1390. path: '/platinum_asset_management_sale_report/platinum_precious_metal_sales_report_departmental_week_tab',
  1391. name: 'platinum_precious_metal_sales_report_departmental_week_tab',
  1392. component: () => import('@/views/report/platinum_asset_management_sale_report/platinum_precious_metal_sales_report_departmental_week_tab/index.vue'),
  1393. meta: {
  1394. requireAuth: true,
  1395. },
  1396. },
  1397. {
  1398. path: '/platinum_asset_management_sale_report/platinum_precious_metal_sales_report_departmental_month_tab',
  1399. name: 'platinum_precious_metal_sales_report_departmental_month_tab',
  1400. component: () => import('@/views/report/platinum_asset_management_sale_report/platinum_precious_metal_sales_report_departmental_month_tab/index.vue'),
  1401. meta: {
  1402. requireAuth: true,
  1403. },
  1404. },
  1405. {
  1406. path: '/platinum_asset_management_sale_report/platinum_precious_metal_sales_report_product_month_tab',
  1407. name: 'platinum_precious_metal_sales_report_product_month_tab',
  1408. component: () => import('@/views/report/platinum_asset_management_sale_report/platinum_precious_metal_sales_report_product_month_tab/index.vue'),
  1409. meta: {
  1410. requireAuth: true,
  1411. },
  1412. },
  1413. ]
  1414. },
  1415. {
  1416. path: '/platinum_precious_metal_sales_report',
  1417. name: 'platinum_precious_metal_sales_report',
  1418. component: Main,
  1419. meta: {
  1420. requireAuth: true,
  1421. },
  1422. redirect: { name: 'platinum_precious_metal_sales_report_company_tab' },
  1423. children: [
  1424. {
  1425. path: '/platinum_precious_metal_sales_report/platinum_precious_metal_sales_report_company_tab',
  1426. name: 'platinum_precious_metal_sales_report_company_tab',
  1427. component: () => import('@/views/report/platinum_precious_metal_sales_report/platinum_precious_metal_sales_report_company_tab/index.vue'),
  1428. meta: {
  1429. requireAuth: true,
  1430. },
  1431. },
  1432. {
  1433. path: '/platinum_precious_metal_sales_report/platinum_precious_metal_sales_report_departmental_tab',
  1434. name: 'platinum_precious_metal_sales_report_departmental_tab',
  1435. component: () => import('@/views/report/platinum_precious_metal_sales_report/platinum_precious_metal_sales_report_departmental_tab/index.vue'),
  1436. meta: {
  1437. requireAuth: true,
  1438. },
  1439. },
  1440. ]
  1441. },
  1442. {
  1443. path: '/platinum_financial_payment',
  1444. name: 'platinum_financial_payment',
  1445. component: Main,
  1446. meta: {
  1447. requireAuth: true,
  1448. },
  1449. redirect: { name: 'platinum_financial_payment_waiting_payment_tab' },
  1450. children: [
  1451. {
  1452. path: '/platinum_financial_payment/platinum_financial_payment_waiting_payment_tab',
  1453. name: 'platinum_financial_payment_waiting_payment_tab',
  1454. component: () => import('@/views/platinum/platinum_financial_payment/platinum_financial_payment_waiting_payment_tab/index.vue'),
  1455. meta: {
  1456. requireAuth: true,
  1457. },
  1458. },
  1459. {
  1460. path: '/platinum_financial_payment/platinum_financial_payment_in_waiting_payment_tab',
  1461. name: 'platinum_financial_payment_in_waiting_payment_tab',
  1462. component: () => import('@/views/platinum/platinum_financial_payment/platinum_financial_payment_in_waiting_payment_tab/index.vue'),
  1463. meta: {
  1464. requireAuth: true,
  1465. },
  1466. },
  1467. {
  1468. path: '/platinum_financial_payment/platinum_financial_payment_waiting_payment_cash_tab',
  1469. name: 'platinum_financial_payment_waiting_payment_cash_tab',
  1470. component: () => import('@/views/platinum/platinum_financial_payment/platinum_financial_payment_waiting_payment_cash_tab/index.vue'),
  1471. meta: {
  1472. requireAuth: true,
  1473. },
  1474. },
  1475. {
  1476. path: '/platinum_financial_payment/platinum_financial_payment_payment_tab',
  1477. name: 'platinum_financial_payment_payment_tab',
  1478. component: () => import('@/views/platinum/platinum_financial_payment/platinum_financial_payment_payment_tab/index.vue'),
  1479. meta: {
  1480. requireAuth: true,
  1481. },
  1482. },
  1483. {
  1484. path: '/platinum_financial_payment/platinum_financial_payment_all_tab',
  1485. name: 'platinum_financial_payment_all_tab',
  1486. component: () => import('@/views/platinum/platinum_financial_payment/platinum_financial_payment_all_tab/index.vue'),
  1487. meta: {
  1488. requireAuth: true,
  1489. },
  1490. },
  1491. ]
  1492. },
  1493. {
  1494. path: '/platinum_precious_metal_signing',
  1495. name: 'platinum_precious_metal_signing',
  1496. component: Main,
  1497. meta: {
  1498. requireAuth: true,
  1499. },
  1500. redirect: { name: 'platinum_precious_metal_signing_unsubmitted' },
  1501. children: [
  1502. {
  1503. path: '/platinum_precious_metal_signing/platinum_precious_metal_signing_unsubmitted',
  1504. name: 'platinum_precious_metal_signing_unsubmitted',
  1505. component: () => import('@/views/platinum/platinum_precious_metal_signing/platinum_precious_metal_signing_unsubmitted/index.vue'),
  1506. meta: {
  1507. requireAuth: true,
  1508. },
  1509. },
  1510. {
  1511. path: '/platinum_precious_metal_signing/platinum_precious_metal_signing_pending_review',
  1512. name: 'platinum_precious_metal_signing_pending_review',
  1513. component: () => import('@/views/platinum/platinum_precious_metal_signing/platinum_precious_metal_signing_pending_review/index.vue'),
  1514. meta: {
  1515. requireAuth: true,
  1516. },
  1517. },
  1518. {
  1519. path: '/platinum_precious_metal_signing/platinum_precious_metal_signing_repurchase_pending_review',
  1520. name: 'platinum_precious_metal_signing_repurchase_pending_review',
  1521. component: () => import('@/views/platinum/platinum_precious_metal_signing/platinum_precious_metal_signing_repurchase_pending_review/index.vue'),
  1522. meta: {
  1523. requireAuth: true,
  1524. },
  1525. },
  1526. {
  1527. path: '/platinum_precious_metal_signing/platinum_precious_metal_signing_normal',
  1528. name: 'platinum_precious_metal_signing_normal',
  1529. component: () => import('@/views/platinum/platinum_precious_metal_signing/platinum_precious_metal_signing_normal/index.vue'),
  1530. meta: {
  1531. requireAuth: true,
  1532. },
  1533. },
  1534. {
  1535. path: '/platinum_precious_metal_signing/platinum_precious_metal_signing_success',
  1536. name: 'platinum_precious_metal_signing_success',
  1537. component: () => import('@/views/platinum/platinum_precious_metal_signing/platinum_precious_metal_signing_success/index.vue'),
  1538. meta: {
  1539. requireAuth: true,
  1540. },
  1541. },
  1542. {
  1543. path: '/platinum_precious_metal_signing/platinum_precious_metal_signing_refunded',
  1544. name: 'platinum_precious_metal_signing_refunded',
  1545. component: () => import('@/views/platinum/platinum_precious_metal_signing/platinum_precious_metal_signing_refunded/index.vue'),
  1546. meta: {
  1547. requireAuth: true,
  1548. },
  1549. },
  1550. {
  1551. path: '/platinum_precious_metal_signing/platinum_precious_metal_signing_all',
  1552. name: 'platinum_precious_metal_signing_all',
  1553. component: () => import('@/views/platinum/platinum_precious_metal_signing/platinum_precious_metal_signing_all/index.vue'),
  1554. meta: {
  1555. requireAuth: true,
  1556. },
  1557. },
  1558. ]
  1559. },
  1560. {
  1561. path: '/platinum_asset_management_signing',
  1562. name: 'platinum_asset_management_signing',
  1563. component: Main,
  1564. meta: {
  1565. requireAuth: true,
  1566. },
  1567. redirect: { name: 'platinum_asset_management_signing_unsubmitted' },
  1568. children: [
  1569. {
  1570. path: '/platinum_asset_management_signing/platinum_asset_management_signing_unsubmitted',
  1571. name: 'platinum_asset_management_signing_unsubmitted',
  1572. component: () => import('@/views/platinum/platinum_asset_management_signing/platinum_asset_management_signing_unsubmitted/index.vue'),
  1573. meta: {
  1574. requireAuth: true,
  1575. },
  1576. },
  1577. {
  1578. path: '/platinum_asset_management_signing/platinum_asset_management_signing_pending_review',
  1579. name: 'platinum_asset_management_signing_pending_review',
  1580. component: () => import('@/views/platinum/platinum_asset_management_signing/platinum_asset_management_signing_pending_review/index.vue'),
  1581. meta: {
  1582. requireAuth: true,
  1583. },
  1584. },
  1585. {
  1586. path: '/platinum_asset_management_signing/platinum_asset_management_signing_finish',
  1587. name: 'platinum_asset_management_signing_finish',
  1588. component: () => import('@/views/platinum/platinum_asset_management_signing/platinum_asset_management_signing_finish/index.vue'),
  1589. meta: {
  1590. requireAuth: true,
  1591. },
  1592. },
  1593. {
  1594. path: '/platinum_asset_management_signing/platinum_asset_management_signing_normal',
  1595. name: 'platinum_asset_management_signing_normal',
  1596. component: () => import('@/views/platinum/platinum_asset_management_signing/platinum_asset_management_signing_normal/index.vue'),
  1597. meta: {
  1598. requireAuth: true,
  1599. },
  1600. },
  1601. ]
  1602. },
  1603. {
  1604. path: '/platinum_broker_management',
  1605. name: 'platinum_broker_management',
  1606. component: Main,
  1607. meta: {
  1608. requireAuth: true,
  1609. },
  1610. redirect: { name: 'platinum_broker_management_normal_tab' },
  1611. children: [
  1612. {
  1613. path: '/platinum_broker_management/platinum_broker_management_normal_tab',
  1614. name: 'platinum_broker_management_normal_tab',
  1615. component: () => import('@/views/platinum/platinum_broker_management/normal/index.vue'),
  1616. meta: {
  1617. requireAuth: true,
  1618. },
  1619. },
  1620. {
  1621. path: '/platinum_broker_management/platinum_broker_management_waiting_tab',
  1622. name: 'platinum_broker_management_waiting_tab',
  1623. component: () => import('@/views/platinum/platinum_broker_management/waiting/index.vue'),
  1624. meta: {
  1625. requireAuth: true,
  1626. },
  1627. },
  1628. {
  1629. path: '/platinum_broker_management/platinum_broker_management_refuse_tab',
  1630. name: 'platinum_broker_management_refuse_tab',
  1631. component: () => import('@/views/platinum/platinum_broker_management/refuse/index.vue'),
  1632. meta: {
  1633. requireAuth: true,
  1634. },
  1635. },
  1636. ]
  1637. },
  1638. {
  1639. path: '/spot_trade',
  1640. name: EnumRouterName.spot_trade,
  1641. component: Main,
  1642. meta: {
  1643. requireAuth: true,
  1644. },
  1645. redirect: { name: EnumRouterName.warehouse_receipt_trade, },
  1646. children: [
  1647. {
  1648. path: '/spot_trade/warehouse_receipt_trade',
  1649. name: EnumRouterName.warehouse_receipt_trade,
  1650. component: () => import('@/views/market/spot_trade/warehouse_receipt_trade/index.vue'),
  1651. meta: {
  1652. requireAuth: true,
  1653. },
  1654. children: [
  1655. {
  1656. path: '/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_floating_price',
  1657. name: EnumRouterName.warehouse_receipt_trade_floating_price,
  1658. component: () => import('@/views/market/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_floating_price/index.vue'),
  1659. meta: {
  1660. requireAuth: true,
  1661. },
  1662. },
  1663. {
  1664. path: '/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_price',
  1665. name: EnumRouterName.warehouse_receipt_trade_price,
  1666. component: () => import('@/views/market/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_price/index.vue'),
  1667. meta: {
  1668. requireAuth: true,
  1669. },
  1670. },
  1671. {
  1672. path: '/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_blocs',
  1673. name: 'warehouse_receipt_trade_blocs',
  1674. component: () => import('@/views/market/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_blocs/index.vue'),
  1675. meta: {
  1676. requireAuth: true,
  1677. },
  1678. },
  1679. {
  1680. path: '/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_designate',
  1681. name: 'warehouse_receipt_trade_designate',
  1682. component: () => import('@/views/market/spot_trade/warehouse_receipt_trade/warehouse_receipt_trade_designate/index.vue'),
  1683. meta: {
  1684. requireAuth: true,
  1685. },
  1686. },
  1687. ]
  1688. },
  1689. {
  1690. path: '/spot_trade/warehouse_pre_sale',
  1691. name: EnumRouterName.warehouse_pre_sale,
  1692. component: () => import('@/views/market/spot_trade/warehouse_pre_sale/index.vue'),
  1693. meta: {
  1694. requireAuth: true,
  1695. },
  1696. children: [
  1697. {
  1698. path: '/spot_trade/warehouse_pre_sale/warehouse_pre_sale_floating_price',
  1699. name: EnumRouterName.warehouse_pre_sale_floating_price,
  1700. component: () => import('@/views/market/spot_trade/warehouse_pre_sale/warehouse_pre_sale_floating_price/index.vue'),
  1701. meta: {
  1702. requireAuth: true,
  1703. },
  1704. },
  1705. {
  1706. path: '/spot_trade/warehouse_pre_sale/warehouse_pre_sale_price',
  1707. name: EnumRouterName.warehouse_pre_sale_price,
  1708. component: () => import('@/views/market/spot_trade/warehouse_pre_sale/warehouse_pre_sale_price/index.vue'),
  1709. meta: {
  1710. requireAuth: true,
  1711. },
  1712. },
  1713. {
  1714. path: '/spot_trade/warehouse_pre_sale/warehouse_pre_sale_blocs',
  1715. name: EnumRouterName.warehouse_pre_sale_blocs,
  1716. component: () => import('@/views/market/spot_trade/warehouse_pre_sale/warehouse_pre_sale_blocs/index.vue'),
  1717. meta: {
  1718. requireAuth: true,
  1719. },
  1720. },
  1721. {
  1722. path: '/spot_trade/warehouse_pre_sale/warehouse_pre_sale_designate',
  1723. name: 'warehouse_pre_sale_designate',
  1724. component: () => import('@/views/market/spot_trade/warehouse_pre_sale/warehouse_pre_sale_designate/index.vue'),
  1725. meta: {
  1726. requireAuth: true,
  1727. },
  1728. },
  1729. ]
  1730. },
  1731. {
  1732. path: '/spot_trade/spot_trade_order_transaction',
  1733. name: EnumRouterName.spot_trade_order_transaction,
  1734. component: () => import('@/views/market/spot_trade/spot_trade_order_transaction/index.vue'),
  1735. meta: {
  1736. requireAuth: true,
  1737. },
  1738. children: [
  1739. {
  1740. path: '/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_basis_difference',
  1741. name: EnumRouterName.spot_trade_order_transaction_basis_difference,
  1742. component: () => import('@/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_basis_difference/index.vue'),
  1743. meta: {
  1744. requireAuth: true,
  1745. },
  1746. },
  1747. {
  1748. path: '/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_listing_transfer',
  1749. name: EnumRouterName.spot_trade_order_transaction_listing_transfer,
  1750. component: () => import('@/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_listing_transfer/index.vue'),
  1751. meta: {
  1752. requireAuth: true,
  1753. },
  1754. },
  1755. {
  1756. path: '/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_swap',
  1757. name: 'spot_trade_order_transaction_swap',
  1758. component: () => import('@/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_swap/index.vue'),
  1759. meta: {
  1760. requireAuth: true,
  1761. },
  1762. },
  1763. ]
  1764. },
  1765. {
  1766. path: '/spot_trade/spot_trade_reference_market',
  1767. name: EnumRouterName.spot_trade_reference_market,
  1768. component: () => import('@/views/market/spot_trade/spot_trade_reference_market/index.vue'),
  1769. meta: {
  1770. requireAuth: true,
  1771. },
  1772. }
  1773. ]
  1774. },
  1775. {
  1776. path: '/search_document_records',
  1777. name: EnumRouterName.search_document_records,
  1778. component: Main,
  1779. meta: {
  1780. requireAuth: true,
  1781. },
  1782. // redirect: { name: EnumRouterName.search_document_records, },
  1783. children: [
  1784. {
  1785. path: '/search_document_records/search_commodity_contract',
  1786. name: EnumRouterName.search_commodity_contract,
  1787. component: () => import('@/views/search/search_document_records/search_commodity_contract/index.vue'),
  1788. meta: {
  1789. requireAuth: true,
  1790. },
  1791. children: [
  1792. {
  1793. path: '/search_document_records/search_commodity_contract/search_document_records_contract_summary',
  1794. name: EnumRouterName.search_document_records_contract_summary,
  1795. component: () => import('@/views/search/search_document_records/search_commodity_contract/search_document_records_contract_summary/index.vue'),
  1796. meta: {
  1797. requireAuth: true,
  1798. },
  1799. },
  1800. {
  1801. path: '/search_document_records/search_commodity_contract/search_document_records_commission_record',
  1802. name: EnumRouterName.search_document_records_commission_record,
  1803. component: () => import('@/views/search/search_document_records/search_commodity_contract/search_document_records_commission_record/index.vue'),
  1804. meta: {
  1805. requireAuth: true,
  1806. },
  1807. },
  1808. {
  1809. path: '/search_document_records/search_commodity_contract/search_document_records_delivery_record',
  1810. name: EnumRouterName.search_document_records_delivery_record,
  1811. component: () => import('@/views/search/search_document_records/search_commodity_contract/search_document_records_delivery_record/index.vue'),
  1812. meta: {
  1813. requireAuth: true,
  1814. },
  1815. },
  1816. {
  1817. path: '/search_document_records/search_document_records/search_document_records_transaction_record',
  1818. name: EnumRouterName.search_document_records_transaction_record,
  1819. component: () => import('@/views/search/search_document_records/search_commodity_contract/search_document_records_transaction_record/index.vue'),
  1820. meta: {
  1821. requireAuth: true,
  1822. },
  1823. },
  1824. ]
  1825. },
  1826. {
  1827. path: '/search_document_records/search_pre_sale_warehouse_receipt',
  1828. name: EnumRouterName.search_pre_sale_warehouse_receipt,
  1829. component: () => import('@/views/search/search_document_records/search_pre_sale_warehouse_receipt/index.vue'),
  1830. meta: {
  1831. requireAuth: true,
  1832. },
  1833. children: [
  1834. {
  1835. path: '/search_document_records/search_pre_sale_warehouse_receipt/search_pre_sale_warehouse_receipt_commission_record',
  1836. name: EnumRouterName.search_pre_sale_warehouse_receipt_commission_record,
  1837. component: () => import('@/views/search/search_document_records/search_pre_sale_warehouse_receipt/search_pre_sale_warehouse_receipt_commission_record/index.vue'),
  1838. meta: {
  1839. requireAuth: true,
  1840. },
  1841. },
  1842. {
  1843. path: '/search_document_records/search_pre_sale_warehouse_receipt/search_pre_sale_warehouse_receipt_order_summary',
  1844. name: EnumRouterName.search_pre_sale_warehouse_receipt_order_summary,
  1845. component: () => import('@/views/search/search_document_records/search_pre_sale_warehouse_receipt/search_pre_sale_warehouse_receipt_order_summary/index.vue'),
  1846. meta: {
  1847. requireAuth: true,
  1848. },
  1849. },
  1850. {
  1851. path: '/search_document_records/search_pre_sale_warehouse_receipt/search_pre_sale_warehouse_receipt_protocol_specified_record',
  1852. name: EnumRouterName.search_pre_sale_warehouse_receipt_protocol_specified_record,
  1853. component: () => import('@/views/search/search_document_records/search_pre_sale_warehouse_receipt/search_pre_sale_warehouse_receipt_protocol_specified_record/index.vue'),
  1854. meta: {
  1855. requireAuth: true,
  1856. },
  1857. },
  1858. {
  1859. path: '/search_document_records/search_pre_sale_warehouse_receipt/search_pre_sale_warehouse_receipt_transaction_record',
  1860. name: EnumRouterName.search_pre_sale_warehouse_receipt_transaction_record,
  1861. component: () => import('@/views/search/search_document_records/search_pre_sale_warehouse_receipt/search_pre_sale_warehouse_receipt_transaction_record/index.vue'),
  1862. meta: {
  1863. requireAuth: true,
  1864. },
  1865. },
  1866. ]
  1867. },
  1868. {
  1869. path: '/search_document_records/search_spot_warrant',
  1870. name: EnumRouterName.search_spot_warrant,
  1871. component: () => import('@/views/search/search_document_records/search_spot_warrant/index.vue'),
  1872. meta: {
  1873. requireAuth: true,
  1874. },
  1875. children: [
  1876. {
  1877. path: '/search_document_records/search_spot_warrant/search_spot_warrant_transaction_record',
  1878. name: EnumRouterName.search_spot_warrant_transaction_record,
  1879. component: () => import('@/views/search/search_document_records/search_spot_warrant/search_spot_warrant_transaction_record/index.vue'),
  1880. meta: {
  1881. requireAuth: true,
  1882. },
  1883. },
  1884. {
  1885. path: '/search_document_records/search_spot_warrant/search_spot_warrant_protocol_specified_record',
  1886. name: EnumRouterName.search_spot_warrant_protocol_specified_record,
  1887. component: () => import('@/views/search/search_document_records/search_spot_warrant/search_spot_warrant_protocol_specified_record/index.vue'),
  1888. meta: {
  1889. requireAuth: true,
  1890. },
  1891. },
  1892. {
  1893. path: '/search_document_records/search_spot_warrant/search_spot_warrant_listing_record',
  1894. name: EnumRouterName.search_spot_warrant_listing_record,
  1895. component: () => import('@/views/search/search_document_records/search_spot_warrant/search_spot_warrant_listing_record/index.vue'),
  1896. meta: {
  1897. requireAuth: true,
  1898. },
  1899. },
  1900. {
  1901. path: '/search_document_records/search_spot_warrant/search_spot_warrant_warehouse_receipt_details',
  1902. name: EnumRouterName.search_spot_warrant_warehouse_receipt_details,
  1903. component: () => import('@/views/search/search_document_records/search_spot_warrant/search_spot_warrant_warehouse_receipt_details/index.vue'),
  1904. meta: {
  1905. requireAuth: true,
  1906. },
  1907. },
  1908. ]
  1909. },
  1910. ]
  1911. },
  1912. {
  1913. path: '/search_capital_flow',
  1914. name: EnumRouterName.search_capital_flow,
  1915. component: Main,
  1916. meta: {
  1917. requireAuth: true,
  1918. },
  1919. children: [
  1920. {
  1921. path: '/search_capital_flow/search_capital_flow_tab',
  1922. name: EnumRouterName.search_capital_flow_tab,
  1923. component: () => import('@/views/search/search_capital_flow/search_capital_flow_tab/index.vue'),
  1924. meta: {
  1925. requireAuth: true,
  1926. },
  1927. children: [
  1928. {
  1929. path: '/search_capital_flow_tab_today',
  1930. name: 'search_capital_flow_tab_today',
  1931. component: () => import('@/views/search/search_capital_flow/search_capital_flow_tab/search_capital_flow_tab_today/index.vue'),
  1932. meta: {
  1933. requireAuth: true,
  1934. },
  1935. },
  1936. {
  1937. path: '/search_capital_flow_tab_history',
  1938. name: 'search_capital_flow_tab_history',
  1939. component: () => import('@/views/search/search_capital_flow/search_capital_flow_tab/search_capital_flow_tab_history/index.vue'),
  1940. meta: {
  1941. requireAuth: true,
  1942. },
  1943. },
  1944. ]
  1945. }
  1946. ]
  1947. },
  1948. {
  1949. path: '/search_document_records_commission_record_sub',
  1950. name: 'search_document_records_commission_record_sub',
  1951. component: Main,
  1952. meta: {
  1953. requireAuth: true,
  1954. },
  1955. children: [
  1956. {
  1957. path: '/search_document_records_commodity_contract',
  1958. name: 'search_document_records_commodity_contract',
  1959. component: () => import('@/views/search/search_document_records_commission_record_sub/search_document_records_commodity_contract/index.vue'),
  1960. meta: {
  1961. requireAuth: true,
  1962. },
  1963. children: [
  1964. {
  1965. path: '/search_document_records_commodity_contract_today',
  1966. name: 'search_document_records_commodity_contract_today',
  1967. component: () => import('@/views/search/search_document_records_commission_record_sub/search_document_records_commodity_contract/search_document_records_done_commodity_contract_today/index.vue'),
  1968. meta: {
  1969. requireAuth: true,
  1970. },
  1971. },
  1972. {
  1973. path: '/search_document_records_commodity_contract_history',
  1974. name: 'search_document_records_commodity_contract_history',
  1975. component: () => import('@/views/search/search_document_records_commission_record_sub/search_document_records_commodity_contract/search_document_records_done_commodity_contract_history/index.vue'),
  1976. meta: {
  1977. requireAuth: true,
  1978. },
  1979. },
  1980. ]
  1981. },
  1982. {
  1983. path: '/search_document_records_spot_warrant',
  1984. name: 'search_document_records_spot_warrant',
  1985. component: () => import('@/views/search/search_document_records_commission_record_sub/search_document_records_spot_warrant/index.vue'),
  1986. meta: {
  1987. requireAuth: true,
  1988. },
  1989. children: [
  1990. {
  1991. path: '/search_document_records_spot_warrant_today',
  1992. name: 'search_document_records_spot_warrant_today',
  1993. component: () => import('@/views/search/search_document_records_commission_record_sub/search_document_records_spot_warrant/search_document_records_spot_warrant_today/index.vue'),
  1994. meta: {
  1995. requireAuth: true,
  1996. },
  1997. },
  1998. {
  1999. path: '/search_document_records_spot_warrant_history',
  2000. name: 'search_document_records_spot_warrant_history',
  2001. component: () => import('@/views/search/search_document_records_commission_record_sub/search_document_records_spot_warrant/search_document_records_spot_warrant_history/index.vue'),
  2002. meta: {
  2003. requireAuth: true,
  2004. },
  2005. },
  2006. ]
  2007. },
  2008. ]
  2009. },
  2010. {
  2011. path: '/search_document_records_done',
  2012. name: 'search_document_records_done',
  2013. component: Main,
  2014. meta: {
  2015. requireAuth: true,
  2016. },
  2017. children: [
  2018. {
  2019. path: '/search_document_records_done_commodity_contract',
  2020. name: 'search_document_records_done_commodity_contract',
  2021. component: () => import('@/views/search/search_document_records_done/search_document_records_done_commodity_contract/index.vue'),
  2022. meta: {
  2023. requireAuth: true,
  2024. },
  2025. children: [
  2026. {
  2027. path: '/search_document_records_done_commodity_contract_today',
  2028. name: 'search_document_records_done_commodity_contract_today',
  2029. component: () => import('@/views/search/search_document_records_done/search_document_records_done_commodity_contract/search_document_records_done_commodity_contract_today/index.vue'),
  2030. meta: {
  2031. requireAuth: true,
  2032. },
  2033. },
  2034. {
  2035. path: '/search_document_records_done_commodity_contract_history',
  2036. name: 'search_document_records_done_commodity_contract_history',
  2037. component: () => import('@/views/search/search_document_records_done/search_document_records_done_commodity_contract/search_document_records_done_commodity_contract_history/index.vue'),
  2038. meta: {
  2039. requireAuth: true,
  2040. },
  2041. },
  2042. ]
  2043. },
  2044. {
  2045. path: '/search_document_records_done_search_spot_warrant',
  2046. name: 'search_document_records_done_search_spot_warrant',
  2047. component: () => import('@/views/search/search_document_records_done/search_document_records_done_search_spot_warrant/index.vue'),
  2048. meta: {
  2049. requireAuth: true,
  2050. },
  2051. children: [
  2052. {
  2053. path: '/search_document_records_done_search_spot_warrant_today',
  2054. name: 'search_document_records_done_search_spot_warrant_today',
  2055. component: () => import('@/views/search/search_document_records_done/search_document_records_done_search_spot_warrant/search_document_records_done_search_spot_warrant_today/index.vue'),
  2056. meta: {
  2057. requireAuth: true,
  2058. },
  2059. },
  2060. {
  2061. path: '/search_document_records_done_search_spot_warrant_history',
  2062. name: 'search_document_records_done_search_spot_warrant_history',
  2063. component: () => import('@/views/search/search_document_records_done/search_document_records_done_search_spot_warrant/search_document_records_done_search_spot_warrant_history/index.vue'),
  2064. meta: {
  2065. requireAuth: true,
  2066. },
  2067. },
  2068. ]
  2069. },
  2070. ]
  2071. },
  2072. {
  2073. path: '/search_financing_inquiry',
  2074. name: EnumRouterName.search_financing_inquiry,
  2075. component: Main,
  2076. meta: {
  2077. requireAuth: true,
  2078. },
  2079. children: [
  2080. {
  2081. path: '/search_financing_inquiry/search_financing_inquiry_apply_order',
  2082. name: EnumRouterName.search_financing_inquiry_apply_order,
  2083. component: () => import('@/views/search/search_financing_inquiry/search_financing_inquiry_apply_order/index.vue'),
  2084. meta: {
  2085. requireAuth: true,
  2086. },
  2087. },
  2088. {
  2089. path: '/search_financing_inquiry/search_financing_inquiry_contract',
  2090. name: EnumRouterName.search_financing_inquiry_contract,
  2091. component: () => import('@/views/search/search_financing_inquiry/search_financing_inquiry_contract/index.vue'),
  2092. meta: {
  2093. requireAuth: true,
  2094. },
  2095. }
  2096. ]
  2097. },
  2098. {
  2099. path: '/search_performance_query',
  2100. name: EnumRouterName.search_performance_query,
  2101. component: Main,
  2102. meta: {
  2103. requireAuth: true,
  2104. },
  2105. children: [
  2106. {
  2107. path: '/search_performance_query/search_performance_query_buy_performance',
  2108. name: EnumRouterName.search_performance_query_buy_performance,
  2109. component: () => import('@/views/search/search_performance_query/search_performance_query_buy_performance/index.vue'),
  2110. meta: {
  2111. requireAuth: true,
  2112. },
  2113. children: [
  2114. {
  2115. path: '/search_performance_query_buy_performance_done',
  2116. name: 'search_performance_query_buy_performance_done',
  2117. component: () => import('@/views/search/search_performance_query/search_performance_query_buy_performance/search_performance_query_buy_performance_done/index.vue'),
  2118. meta: {
  2119. requireAuth: true,
  2120. },
  2121. },
  2122. {
  2123. path: '/search_performance_query_buy_performance_unsuccess',
  2124. name: 'search_performance_query_buy_performance_unsuccess',
  2125. component: () => import('@/views/search/search_performance_query/search_performance_query_buy_performance/search_performance_query_buy_performance_unsuccess/index.vue'),
  2126. meta: {
  2127. requireAuth: true,
  2128. },
  2129. },
  2130. ]
  2131. },
  2132. {
  2133. path: '/search_performance_query/search_performance_query_sell_performance',
  2134. name: EnumRouterName.search_performance_query_sell_performance,
  2135. component: () => import('@/views/search/search_performance_query/search_performance_query_sell_performance/index.vue'),
  2136. meta: {
  2137. requireAuth: true,
  2138. },
  2139. children: [
  2140. {
  2141. path: '/search_performance_query_sell_performance_done',
  2142. name: 'search_performance_query_sell_performance_done',
  2143. component: () => import('@/views/search/search_performance_query/search_performance_query_sell_performance/search_performance_query_sell_performance_done/index.vue'),
  2144. meta: {
  2145. requireAuth: true,
  2146. },
  2147. },
  2148. {
  2149. path: '/search_performance_query_sell_performance_unsuccess',
  2150. name: 'search_performance_query_sell_performance_unsuccess',
  2151. component: () => import('@/views/search/search_performance_query/search_performance_query_sell_performance/search_performance_query_sell_performance_unsuccess/index.vue'),
  2152. meta: {
  2153. requireAuth: true,
  2154. },
  2155. },
  2156. ]
  2157. }
  2158. ]
  2159. },
  2160. {
  2161. path: '/search_pickup_query',
  2162. name: EnumRouterName.search_pickup_query,
  2163. component: Main,
  2164. meta: {
  2165. requireAuth: true,
  2166. },
  2167. children: [
  2168. {
  2169. path: '/search_pickup_query/search_pickup_query_tab',
  2170. name: EnumRouterName.search_pickup_query_tab,
  2171. component: () => import('@/views/search/search_pickup_query/search_pickup_query_tab/index.vue'),
  2172. meta: {
  2173. requireAuth: true,
  2174. },
  2175. }
  2176. ]
  2177. },
  2178. {
  2179. path: '/entry_of_spot_information_sub',
  2180. name: 'entry_of_spot_information_sub',
  2181. component: Main,
  2182. meta: {
  2183. requireAuth: true,
  2184. },
  2185. children: [
  2186. {
  2187. path: '/entry_of_spot_information_sub/entry_of_spot_information',
  2188. name: 'entry_of_spot_information',
  2189. component: () => import('@/views/hedging/entry_of_spot_information/index.vue'),
  2190. meta: {
  2191. requireAuth: true,
  2192. },
  2193. },
  2194. ]
  2195. },
  2196. {
  2197. path: '/spot_price_management',
  2198. name: EnumRouterName.spot_price_management,
  2199. component: Main,
  2200. meta: {
  2201. requireAuth: true,
  2202. },
  2203. children: [
  2204. {
  2205. path: '/spot_price_management/spot_price_management_disable',
  2206. name: EnumRouterName.spot_price_management_disable,
  2207. component: () => import('@/views/hedging/spot_price_management/spot_price_management_disable/index.vue'),
  2208. meta: {
  2209. requireAuth: true,
  2210. },
  2211. },
  2212. {
  2213. path: '/spot_price_management/spot_price_management_normal',
  2214. name: EnumRouterName.spot_price_management_normal,
  2215. component: () => import('@/views/hedging/spot_price_management/spot_price_management_normal/index.vue'),
  2216. meta: {
  2217. requireAuth: true,
  2218. },
  2219. },
  2220. ]
  2221. },
  2222. ],
  2223. },
  2224. {
  2225. path: '/test',
  2226. name: 'test',
  2227. component: () => import('@/views/test/index.vue'),
  2228. },
  2229. {
  2230. // VueRouter 匹配规则是从上往下 建议把*放最后
  2231. path: '/:pathMatch(.*)*',
  2232. name: '404',
  2233. component: () => import('@/views/error-page/404.vue'),
  2234. },
  2235. ];
  2236. const router = createRouter({
  2237. history: createWebHashHistory(),
  2238. routes,
  2239. });
  2240. // 路由拦截
  2241. router.beforeEach((to, from, next) => {
  2242. // 前往登录页时 直接走登出流程
  2243. if (to.fullPath === '/login') {
  2244. eventBus.$emit('logout');
  2245. next();
  2246. } else {
  2247. // 前往其他页 判断是否是登录状态
  2248. if (isLogin()) {
  2249. return next();
  2250. } else {
  2251. if (!getLoadIsComplete()) { // 没有加载对应的资料,表示第一次启动项目
  2252. console.log('to', to);
  2253. const { ACCOUNT, PASSWORD } = to.query
  2254. const name = to.name ? to.name : 'home'
  2255. if (ACCOUNT && PASSWORD) {
  2256. setLoadComplete(false)
  2257. globalDataRefresh().then(() => {
  2258. const { ACCOUNT, PASSWORD } = to.query
  2259. login(ACCOUNT as string, PASSWORD as string, [], true).then(res => {
  2260. setLoadComplete(true)
  2261. localStorageUtil.setItem('loginAccount', ACCOUNT); // 缓存登录账号
  2262. eventBus.$emit('loginSuccess', true);
  2263. next({ name })
  2264. }).catch(err => {
  2265. // 异常需要跳转到错误页面,让用户手动重试
  2266. console.log('err', err);
  2267. })
  2268. })
  2269. } else { // 跳转到登录页面
  2270. next()
  2271. }
  2272. } else { //
  2273. next()
  2274. }
  2275. }
  2276. }
  2277. });
  2278. export default router;