order.js 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. /**
  2. * 通用订单组件布局
  3. * @param custom
  4. */
  5. function commonOrder(custom = {}) {
  6. const defaultLayout = {
  7. head: () => import('@/views/order/components/common/head.vue'),
  8. title: () => import('@/views/order/components/common/title.vue'),
  9. info: () => import('@/views/order/components/common/info.vue'),
  10. offers: () => import('@/views/order/components/common/offers.vue'),
  11. form: () => import('@/views/order/components/common/form.vue'),
  12. adsense: () => import('@/views/order/components/common/adsense.vue'),
  13. desc: () => import('@/views/order/components/common/desc.vue'),
  14. footer: () => import('@/views/order/components/common/footer.vue')
  15. }
  16. return Object.assign(defaultLayout, custom)
  17. }
  18. export default [
  19. // 原购买附件下载包\原购买采购单位画像包
  20. {
  21. path: '/free/filePack/buy',
  22. redirect: (to) => {
  23. if (to.query.type === '1') {
  24. return '/order/buyer-pack'
  25. } else {
  26. return '/order/file-pack'
  27. }
  28. }
  29. },
  30. // 购买
  31. {
  32. path: '/order',
  33. name: 'order',
  34. component: () => import('@/views/order/layout.vue'),
  35. children: [
  36. {
  37. path: 'file-pack',
  38. meta: {
  39. title: '附件下载包充值'
  40. },
  41. components: commonOrder({
  42. info: () => import('@/views/order/components/resource-pack/info.vue')
  43. }),
  44. children: [
  45. {
  46. path: '',
  47. meta: {
  48. title: '附件下载包充值',
  49. 'buy-tip': '附件下载',
  50. pack: '附件',
  51. productId: 114
  52. },
  53. components: {
  54. 'buy-tip': () =>
  55. import('@/views/order/components/resource-pack/buy-tip.vue')
  56. }
  57. }
  58. ]
  59. },
  60. {
  61. path: 'buyer-pack',
  62. meta: {
  63. title: '采购单位画像包充值'
  64. },
  65. components: commonOrder({
  66. info: () => import('@/views/order/components/resource-pack/info.vue')
  67. }),
  68. children: [
  69. {
  70. path: '',
  71. meta: {
  72. title: '采购单位画像包充值',
  73. 'buy-tip': '采购单位画像',
  74. pack: '画像',
  75. productId: 115
  76. },
  77. components: {
  78. 'buy-tip': () =>
  79. import('@/views/order/components/resource-pack/buy-tip.vue')
  80. }
  81. }
  82. ]
  83. },
  84. {
  85. path: 'big-member',
  86. alias: '/big/pc/page/buy_commit',
  87. name: 'buy-big-member',
  88. meta: {
  89. title: '购买大会员',
  90. productId: 104
  91. },
  92. components: commonOrder({
  93. info: () => import('@/views/order/components/big-member/info.vue'),
  94. desc: () => import('@/views/order/components/big-member/desc.vue')
  95. }),
  96. children: [
  97. {
  98. path: 'big-member',
  99. alias: '/big/pc/page/buy_commit',
  100. name: 'buy-big-member',
  101. meta: {
  102. title: '购买大会员',
  103. productId: 104
  104. },
  105. components: {
  106. 'buy-tip': () =>
  107. import('@/views/order/components/big-member/buy-tip.vue')
  108. }
  109. }
  110. ]
  111. },
  112. {
  113. path: 'course',
  114. meta: {
  115. title: '购买课程',
  116. productId: 111
  117. },
  118. components: commonOrder({
  119. info: () => import('@/views/order/components/course/info.vue')
  120. }),
  121. children: [
  122. {
  123. path: '',
  124. meta: {
  125. title: '购买课程',
  126. productId: 111
  127. },
  128. components: {
  129. 'buy-tip': () =>
  130. import('@/views/order/components/course/buy-tip.vue')
  131. }
  132. }
  133. ]
  134. },
  135. {
  136. path: 'data-export/:id',
  137. alias: ['/front/dataExport/toCreateOrderPage/:id'],
  138. components: commonOrder({
  139. title: () => import('@/views/order/components/data-export/title.vue'),
  140. info: () => import('@/views/order/components/data-export/info.vue'),
  141. form: () => import('@/views/order/components/data-export/form.vue'),
  142. footer: () =>
  143. import('@/views/order/components/data-export/footer.vue')
  144. }),
  145. children: [
  146. {
  147. path: '',
  148. name: 'buy-data-export',
  149. meta: {
  150. title: '数据导出',
  151. productId: 102
  152. },
  153. components: {
  154. 'buy-tip': () =>
  155. import('@/views/order/components/data-export/buy-tip.vue')
  156. }
  157. }
  158. ]
  159. },
  160. {
  161. path: 'svip',
  162. alias: ['/free/svip/buy'],
  163. name: 'buy-svip',
  164. meta: {
  165. title: '超级订阅',
  166. productId: 101
  167. },
  168. components: commonOrder({
  169. title: () =>
  170. import('@/views/order/components/vipsubscribe/title.vue'),
  171. info: () => import('@/views/order/components/vipsubscribe/info.vue'),
  172. desc: () => import('@/views/vipsubscribe/components/Contrast.vue'),
  173. adsense: () =>
  174. import('@/views/order/components/vipsubscribe/adsense.vue')
  175. }),
  176. children: [
  177. {
  178. path: '',
  179. meta: {
  180. title: '超级订阅',
  181. productId: 101
  182. },
  183. components: {
  184. 'buy-tip': () =>
  185. import('@/views/order/components/vipsubscribe/buy-tip.vue')
  186. }
  187. }
  188. ]
  189. },
  190. {
  191. path: 'data-pack',
  192. alias: '/front/dataPack/createOrder',
  193. components: commonOrder({
  194. info: () => import('@/views/order/components/data-pack/info.vue')
  195. }),
  196. children: [
  197. {
  198. path: '',
  199. alias: '/front/dataPack/createOrder',
  200. name: 'buy-data-pack',
  201. meta: {
  202. title: '充值数据流量包',
  203. productId: 112
  204. },
  205. components: {
  206. 'buy-tip': () =>
  207. import('@/views/order/components/data-pack/buy-tip.vue')
  208. }
  209. }
  210. ]
  211. },
  212. {
  213. path: 'doc-member',
  214. name: 'doc-member',
  215. meta: {
  216. title: '剑鱼文库会员',
  217. productId: 118
  218. },
  219. components: commonOrder({
  220. title: () => import('@/views/order/components/doc-member/title.vue'),
  221. info: () => import('@/views/order/components/doc-member/info.vue'),
  222. adsense: () => import('@/views/order/components/doc-member/adsense.vue')
  223. }),
  224. children: [
  225. {
  226. path: '',
  227. meta: {
  228. title: '剑鱼文库会员',
  229. productId: 118
  230. },
  231. components: {
  232. 'buy-tip': () =>
  233. import('@/views/order/components/doc-member/buy-tip.vue')
  234. }
  235. }
  236. ]
  237. },
  238. {
  239. path: 'download-pack',
  240. meta: {
  241. title: '报告下载包充值'
  242. },
  243. components: commonOrder({
  244. title: () => import('@/views/order/components/download-pack/title.vue'),
  245. info: () => import('@/views/order/components/download-pack/info.vue'),
  246. footer: () => import('@/views/order/components/download-pack/footer.vue')
  247. }),
  248. children: [
  249. {
  250. path: 'market',
  251. meta: {
  252. title: '市场分析定制报告下载包充值',
  253. pack: '市场分析定制报告',
  254. productId: 203
  255. },
  256. components: {
  257. 'buy-tip': () =>
  258. import('@/views/order/components/download-pack/buy-tip.vue')
  259. }
  260. },
  261. {
  262. path: 'ent',
  263. meta: {
  264. title: '企业中标分析报告下载包充值',
  265. pack: '企业中标分析报告',
  266. productId: 201
  267. },
  268. components: {
  269. 'buy-tip': () =>
  270. import('@/views/order/components/download-pack/buy-tip.vue')
  271. }
  272. },
  273. {
  274. path: 'prop',
  275. meta: {
  276. title: '业主采购分析报告下载包充值',
  277. pack: '业主采购分析报告',
  278. productId: 202
  279. },
  280. components: {
  281. 'buy-tip': () =>
  282. import('@/views/order/components/download-pack/buy-tip.vue')
  283. }
  284. }
  285. ]
  286. },
  287. {
  288. path: 'credit-report',
  289. components: commonOrder({
  290. info: () => import('@/views/order/components/credit-report/info.vue')
  291. }),
  292. children: [
  293. {
  294. path: '',
  295. meta: {
  296. title: '购买投标企业信用报告',
  297. productId: 150
  298. },
  299. components: {
  300. 'buy-tip': () =>
  301. import('@/views/order/components/credit-report/buy-tip.vue')
  302. }
  303. }
  304. ]
  305. },
  306. ]
  307. }
  308. ]