@lovrabet/rabetbase-cli 2.4.3 → 2.4.4-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/index.js +1 -1
  20. package/lib/commands/app/list.js +1 -1
  21. package/lib/commands/app/members-list.js +1 -1
  22. package/lib/commands/app/remote-directory.js +1 -1
  23. package/lib/commands/app/shared.js +1 -1
  24. package/lib/commands/app-config/delete.js +1 -1
  25. package/lib/commands/app-config/get.js +1 -1
  26. package/lib/commands/app-config/index.js +1 -1
  27. package/lib/commands/app-config/list.js +1 -1
  28. package/lib/commands/app-config/set.js +1 -1
  29. package/lib/commands/app-config/shared.js +1 -1
  30. package/lib/commands/auth/index.js +1 -1
  31. package/lib/commands/bff/create.js +1 -1
  32. package/lib/commands/bff/delete.js +1 -1
  33. package/lib/commands/bff/detail.js +1 -1
  34. package/lib/commands/bff/index.js +1 -1
  35. package/lib/commands/bff/list.js +1 -1
  36. package/lib/commands/bff/pull.js +1 -1
  37. package/lib/commands/bff/push.js +1 -1
  38. package/lib/commands/bff/status.js +1 -1
  39. package/lib/commands/cli-skill/index.js +1 -1
  40. package/lib/commands/cli-update.js +1 -1
  41. package/lib/commands/codegen/index.js +1 -1
  42. package/lib/commands/codegen/sdk.js +1 -1
  43. package/lib/commands/codegen/sql.js +1 -1
  44. package/lib/commands/common/app-registry.js +1 -1
  45. package/lib/commands/common/app-selector.js +1 -1
  46. package/lib/commands/common/async-task.js +1 -1
  47. package/lib/commands/common/dry-run.js +1 -1
  48. package/lib/commands/common/flags.js +1 -1
  49. package/lib/commands/common/local-file.js +1 -1
  50. package/lib/commands/common/validate.js +1 -1
  51. package/lib/commands/config/get.js +1 -1
  52. package/lib/commands/config/index.js +1 -1
  53. package/lib/commands/config/list.js +1 -1
  54. package/lib/commands/config/set.js +1 -1
  55. package/lib/commands/config/shared.js +1 -1
  56. package/lib/commands/data/filter.js +1 -1
  57. package/lib/commands/data/getOne.js +1 -1
  58. package/lib/commands/data/index.js +1 -1
  59. package/lib/commands/data/shared.js +1 -1
  60. package/lib/commands/dataset/business-group-update.js +1 -1
  61. package/lib/commands/dataset/capability.js +1 -1
  62. package/lib/commands/dataset/delete.js +1 -1
  63. package/lib/commands/dataset/detail.js +1 -1
  64. package/lib/commands/dataset/extend-update.js +1 -1
  65. package/lib/commands/dataset/field-update.js +1 -1
  66. package/lib/commands/dataset/generate.js +1 -1
  67. package/lib/commands/dataset/index.js +1 -1
  68. package/lib/commands/dataset/list.js +1 -1
  69. package/lib/commands/dataset/operations.js +1 -1
  70. package/lib/commands/dataset/relation-audit.js +1 -1
  71. package/lib/commands/dataset/relation-create.js +1 -1
  72. package/lib/commands/dataset/relation-delete.js +1 -1
  73. package/lib/commands/dataset/relation-shared.js +1 -1
  74. package/lib/commands/dataset/relation-update.js +1 -1
  75. package/lib/commands/dataset/relations.js +1 -1
  76. package/lib/commands/dataset/rename.js +1 -1
  77. package/lib/commands/dataset/restore.js +1 -1
  78. package/lib/commands/db/analysis-batching.js +1 -1
  79. package/lib/commands/db/analyze-batch-plan.js +1 -1
  80. package/lib/commands/db/analyze-cancel.js +1 -1
  81. package/lib/commands/db/analyze-start.js +1 -1
  82. package/lib/commands/db/analyze-status.js +1 -1
  83. package/lib/commands/db/create.js +1 -1
  84. package/lib/commands/db/delete.js +1 -1
  85. package/lib/commands/db/detail.js +1 -1
  86. package/lib/commands/db/diff-refresh-start.d.ts +2 -0
  87. package/lib/commands/db/diff-refresh-start.js +1 -0
  88. package/lib/commands/db/diff-refresh-status.d.ts +2 -0
  89. package/lib/commands/db/diff-refresh-status.js +1 -0
  90. package/lib/commands/db/diff.js +1 -1
  91. package/lib/commands/db/index.js +1 -1
  92. package/lib/commands/db/list.js +1 -1
  93. package/lib/commands/db/shared.js +1 -1
  94. package/lib/commands/db/tables.js +1 -1
  95. package/lib/commands/db/test.js +1 -1
  96. package/lib/commands/db/update.js +1 -1
  97. package/lib/commands/doctor.js +1 -1
  98. package/lib/commands/file/index.js +1 -1
  99. package/lib/commands/init/index.js +1 -1
  100. package/lib/commands/issue/index.js +1 -1
  101. package/lib/commands/issue/nudge.js +1 -1
  102. package/lib/commands/issue/report.js +1 -1
  103. package/lib/commands/issue/shared.js +1 -1
  104. package/lib/commands/kb/create.js +1 -1
  105. package/lib/commands/kb/delete.js +1 -1
  106. package/lib/commands/kb/detail.js +1 -1
  107. package/lib/commands/kb/index.js +1 -1
  108. package/lib/commands/kb/list.js +1 -1
  109. package/lib/commands/kb/shared.js +1 -1
  110. package/lib/commands/kb/update.js +1 -1
  111. package/lib/commands/logs/index.js +1 -1
  112. package/lib/commands/menu/asset-update.js +1 -1
  113. package/lib/commands/menu/delete.js +1 -1
  114. package/lib/commands/menu/external-link-create.js +1 -1
  115. package/lib/commands/menu/external-link-update.js +1 -1
  116. package/lib/commands/menu/group-create.js +1 -1
  117. package/lib/commands/menu/group-update.js +1 -1
  118. package/lib/commands/menu/index.js +1 -1
  119. package/lib/commands/menu/list.js +1 -1
  120. package/lib/commands/menu/move.js +1 -1
  121. package/lib/commands/menu/regroup-start.js +1 -1
  122. package/lib/commands/menu/rename.js +1 -1
  123. package/lib/commands/menu/shared/compare-table.js +1 -1
  124. package/lib/commands/menu/shared/delete-plan.js +1 -1
  125. package/lib/commands/menu/shared/facts.js +1 -1
  126. package/lib/commands/menu/shared/index.js +1 -1
  127. package/lib/commands/menu/shared/inquirer.js +1 -1
  128. package/lib/commands/menu/shared/local-pages.js +1 -1
  129. package/lib/commands/menu/shared/logic.js +1 -1
  130. package/lib/commands/menu/shared/mutations.js +1 -1
  131. package/lib/commands/menu/shared/service.js +1 -1
  132. package/lib/commands/menu/shared/sync-core.js +1 -1
  133. package/lib/commands/menu/shared/update-core.js +1 -1
  134. package/lib/commands/menu/shared/valid-url.js +1 -1
  135. package/lib/commands/menu/sync.js +1 -1
  136. package/lib/commands/notification/config-create.d.ts +2 -0
  137. package/lib/commands/notification/config-create.js +1 -0
  138. package/lib/commands/notification/config-delete.d.ts +2 -0
  139. package/lib/commands/notification/config-delete.js +1 -0
  140. package/lib/commands/notification/config-list.js +1 -1
  141. package/lib/commands/notification/config-update.d.ts +2 -0
  142. package/lib/commands/notification/config-update.js +1 -0
  143. package/lib/commands/notification/index.js +1 -1
  144. package/lib/commands/notification/shared.d.ts +97 -0
  145. package/lib/commands/notification/shared.js +1 -0
  146. package/lib/commands/ocr/index.js +1 -1
  147. package/lib/commands/page/generate-start.js +1 -1
  148. package/lib/commands/page/generate-status.js +1 -1
  149. package/lib/commands/page/index.js +1 -1
  150. package/lib/commands/page/pull.js +1 -1
  151. package/lib/commands/page/push.js +1 -1
  152. package/lib/commands/page/react/create.js +1 -1
  153. package/lib/commands/page/react/detail.js +1 -1
  154. package/lib/commands/page/react/list.js +1 -1
  155. package/lib/commands/page/react/publish.js +1 -1
  156. package/lib/commands/page/react/shared.js +1 -1
  157. package/lib/commands/page/react/syntax.js +1 -1
  158. package/lib/commands/page/react/template.js +1 -1
  159. package/lib/commands/page/react/update.js +1 -1
  160. package/lib/commands/page/relation-audit.js +1 -1
  161. package/lib/commands/page/restore.js +1 -1
  162. package/lib/commands/page/shared.js +1 -1
  163. package/lib/commands/page/standard-page-status.js +1 -1
  164. package/lib/commands/page/sync.js +1 -1
  165. package/lib/commands/permit/index.js +1 -1
  166. package/lib/commands/permit/page-get.js +1 -1
  167. package/lib/commands/permit/page-set.js +1 -1
  168. package/lib/commands/permit/role-apis-set.js +1 -1
  169. package/lib/commands/permit/role-menus-set.js +1 -1
  170. package/lib/commands/permit/role-menus.js +1 -1
  171. package/lib/commands/permit/shared.js +1 -1
  172. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  173. package/lib/commands/project/create/format-elapsed.js +1 -1
  174. package/lib/commands/project/create/main.d.ts +1 -0
  175. package/lib/commands/project/create/main.js +1 -1
  176. package/lib/commands/project/create/materialize-project-template.d.ts +11 -0
  177. package/lib/commands/project/create/materialize-project-template.js +1 -0
  178. package/lib/commands/project/create/project-name.d.ts +2 -0
  179. package/lib/commands/project/create/project-name.js +1 -0
  180. package/lib/commands/project/create/project-template-archive.d.ts +6 -0
  181. package/lib/commands/project/create/project-template-archive.js +1 -0
  182. package/lib/commands/project/create/project-template-path.d.ts +1 -3
  183. package/lib/commands/project/create/project-template-path.js +1 -1
  184. package/lib/commands/project/create/use-copy-project-template.d.ts +2 -1
  185. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  186. package/lib/commands/project/create/use-format-code.js +1 -1
  187. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  188. package/lib/commands/project/index.js +1 -1
  189. package/lib/commands/project/upgrade.js +1 -1
  190. package/lib/commands/registry.js +1 -1
  191. package/lib/commands/role/create.js +1 -1
  192. package/lib/commands/role/delete.js +1 -1
  193. package/lib/commands/role/detail.js +1 -1
  194. package/lib/commands/role/index.js +1 -1
  195. package/lib/commands/role/list.js +1 -1
  196. package/lib/commands/role/shared.js +1 -1
  197. package/lib/commands/role/update.js +1 -1
  198. package/lib/commands/role/user-add.js +1 -1
  199. package/lib/commands/role/user-remove.js +1 -1
  200. package/lib/commands/role/user-resolve.js +1 -1
  201. package/lib/commands/run/index.js +1 -1
  202. package/lib/commands/schema.js +1 -1
  203. package/lib/commands/sql/create.js +1 -1
  204. package/lib/commands/sql/delete.js +1 -1
  205. package/lib/commands/sql/detail.js +1 -1
  206. package/lib/commands/sql/exec.js +1 -1
  207. package/lib/commands/sql/index.js +1 -1
  208. package/lib/commands/sql/list.js +1 -1
  209. package/lib/commands/sql/pull.js +1 -1
  210. package/lib/commands/sql/push.js +1 -1
  211. package/lib/commands/sql/shared.js +1 -1
  212. package/lib/commands/sql/status.js +1 -1
  213. package/lib/commands/sql/validate.js +1 -1
  214. package/lib/commands/task/index.js +1 -1
  215. package/lib/commands/task/status.js +1 -1
  216. package/lib/commands/tenant/index.js +1 -1
  217. package/lib/commands/tenant/members-list.js +1 -1
  218. package/lib/commands/tenant/shared.js +1 -1
  219. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  220. package/lib/commands/user-account/index.js +1 -1
  221. package/lib/commands/workspace/add.js +1 -1
  222. package/lib/commands/workspace/index.js +1 -1
  223. package/lib/commands/workspace/remove.js +1 -1
  224. package/lib/config/schema.js +1 -1
  225. package/lib/constant/cdn.d.ts +2 -0
  226. package/lib/constant/cdn.js +1 -1
  227. package/lib/constant/cli.js +1 -1
  228. package/lib/constant/defaults.js +1 -1
  229. package/lib/constant/domain.js +1 -1
  230. package/lib/constant/env.js +1 -1
  231. package/lib/constant/output.js +1 -1
  232. package/lib/constant/paths.js +1 -1
  233. package/lib/constant/risk.js +1 -1
  234. package/lib/context/app-resolver.js +1 -1
  235. package/lib/context/auth-resolver.js +1 -1
  236. package/lib/context/config-loader.js +1 -1
  237. package/lib/context.d.ts +1 -1
  238. package/lib/context.js +1 -1
  239. package/lib/core/alias-resolver.js +1 -1
  240. package/lib/core/api-client.d.ts +29 -2
  241. package/lib/core/api-client.js +1 -1
  242. package/lib/core/bff/config.js +1 -1
  243. package/lib/core/bff/file-system.js +1 -1
  244. package/lib/core/bff/hash.js +1 -1
  245. package/lib/core/bff/lock.js +1 -1
  246. package/lib/core/bff/utils.js +1 -1
  247. package/lib/core/db-resolver.js +1 -1
  248. package/lib/core/page/file-system.js +1 -1
  249. package/lib/core/page/hash.js +1 -1
  250. package/lib/core/page/lock.js +1 -1
  251. package/lib/core/sql-index-auditor.js +1 -1
  252. package/lib/core/sql-sync/config.js +1 -1
  253. package/lib/core/sql-sync/file-system.js +1 -1
  254. package/lib/core/sql-sync/hash.js +1 -1
  255. package/lib/core/sql-sync/lock.js +1 -1
  256. package/lib/core/sql-sync/utils.js +1 -1
  257. package/lib/core/sql-validator.js +1 -1
  258. package/lib/errors.js +1 -1
  259. package/lib/framework/build-all-flags.js +1 -1
  260. package/lib/framework/error-output.js +1 -1
  261. package/lib/framework/explicit-yes.js +1 -1
  262. package/lib/framework/flags.js +1 -1
  263. package/lib/framework/help.js +1 -1
  264. package/lib/framework/index.js +1 -1
  265. package/lib/framework/output.js +1 -1
  266. package/lib/framework/response.js +1 -1
  267. package/lib/framework/runner-alias.js +1 -1
  268. package/lib/framework/runner.js +1 -1
  269. package/lib/framework/schema-export.js +1 -1
  270. package/lib/framework/types.js +1 -1
  271. package/lib/generated/build-info.d.ts +4 -4
  272. package/lib/generated/build-info.js +1 -1
  273. package/lib/help.js +1 -1
  274. package/lib/postinstall.js +1 -1
  275. package/lib/runtime/confirmation.js +1 -1
  276. package/lib/runtime/event.js +1 -1
  277. package/lib/runtime/index.js +1 -1
  278. package/lib/runtime/queue.js +1 -1
  279. package/lib/runtime/resolve.js +1 -1
  280. package/lib/skills/builtin-skill.js +1 -1
  281. package/lib/skills/main.js +1 -1
  282. package/lib/skills/npx-skills-add.js +1 -1
  283. package/lib/skills/skill-presence.js +1 -1
  284. package/lib/telemetry/cli-command-trace.js +1 -1
  285. package/lib/telemetry/cli-help-trace.js +1 -1
  286. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  287. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  288. package/lib/telemetry/send-cli-trace-log.js +1 -1
  289. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  290. package/lib/utils/ai_config.js +1 -1
  291. package/lib/utils/apply-jq-filter.js +1 -1
  292. package/lib/utils/cdn-config.js +1 -1
  293. package/lib/utils/check-sdk-version.js +1 -1
  294. package/lib/utils/cli-version-check.js +1 -1
  295. package/lib/utils/cli-version-policy.d.ts +13 -0
  296. package/lib/utils/cli-version-policy.js +1 -1
  297. package/lib/utils/config.js +1 -1
  298. package/lib/utils/entity-with-id.js +1 -1
  299. package/lib/utils/file-utils.js +1 -1
  300. package/lib/utils/guides-cdn.js +1 -1
  301. package/lib/utils/http-client.js +1 -1
  302. package/lib/utils/is-non-interactive.js +1 -1
  303. package/lib/utils/logger.js +1 -1
  304. package/lib/utils/params.js +1 -1
  305. package/lib/utils/platform.js +1 -1
  306. package/lib/utils/rules-cdn.js +1 -1
  307. package/lib/utils/sleep.js +1 -1
  308. package/lib/utils/template-replacer.js +1 -1
  309. package/lib/utils/update-notice.js +1 -1
  310. package/lib/utils/version.js +1 -1
  311. package/lib/utils/with-active-cookie.js +1 -1
  312. package/lib/utils/write-cli-side-channel.js +1 -1
  313. package/package.json +9 -4
  314. package/skills/rabetbase/SKILL.md +33 -22
  315. package/skills/rabetbase/guides/backend-function.md +5 -3
  316. package/skills/rabetbase/guides/bff-creation-workflow.md +2 -2
  317. package/skills/rabetbase/guides/conflict-detection.md +2 -2
  318. package/skills/rabetbase/guides/database-connection-workflow.md +39 -5
  319. package/skills/rabetbase/guides/react-custom-page-workflow.md +16 -4
  320. package/skills/rabetbase/guides/sql-creation-workflow.md +4 -2
  321. package/skills/rabetbase/guides/sql-mybatis.md +2 -2
  322. package/skills/rabetbase/knowledge/page-schema/YtPage.md +3 -37
  323. package/skills/rabetbase/knowledge/react-page/generation-standards.md +14 -3
  324. package/skills/rabetbase/references/rabetbase-app-config.md +2 -2
  325. package/skills/rabetbase/references/rabetbase-bff-push.md +4 -5
  326. package/skills/rabetbase/references/rabetbase-bff-save.md +3 -3
  327. package/skills/rabetbase/references/rabetbase-config.md +2 -2
  328. package/skills/rabetbase/references/rabetbase-db-analyze.md +2 -2
  329. package/skills/rabetbase/references/rabetbase-db-detail.md +3 -0
  330. package/skills/rabetbase/references/rabetbase-db-diff-refresh.md +53 -0
  331. package/skills/rabetbase/references/rabetbase-db-diff.md +40 -21
  332. package/skills/rabetbase/references/rabetbase-db-list.md +1 -1
  333. package/skills/rabetbase/references/rabetbase-kb.md +5 -3
  334. package/skills/rabetbase/references/rabetbase-menu-asset-update.md +9 -10
  335. package/skills/rabetbase/references/rabetbase-menu-external-link-update.md +1 -3
  336. package/skills/rabetbase/references/rabetbase-menu-regroup-start.md +2 -3
  337. package/skills/rabetbase/references/rabetbase-notification-config-list.md +2 -2
  338. package/skills/rabetbase/references/rabetbase-notification-config-mutations.md +56 -0
  339. package/skills/rabetbase/references/rabetbase-page-react-detail.md +1 -1
  340. package/skills/rabetbase/references/rabetbase-page-react-list.md +1 -1
  341. package/skills/rabetbase/references/rabetbase-page-react-publish.md +2 -2
  342. package/skills/rabetbase/references/rabetbase-project-create.md +3 -0
  343. package/skills/rabetbase/references/rabetbase-run.md +1 -1
  344. package/skills/rabetbase/references/rabetbase-sql-create.md +1 -1
  345. package/skills/rabetbase/references/rabetbase-sql-push.md +3 -4
  346. package/skills/rabetbase/references/rabetbase-user-account.md +0 -1
  347. package/skills/rabetbase.manifest.json +5 -5
  348. package/templates/README.md +14 -2
  349. package/lib/commands/project/create/non-interactive.d.ts +0 -9
  350. package/lib/commands/project/create/non-interactive.js +0 -1
  351. package/lib/utils/copy-directory.d.ts +0 -1
  352. package/lib/utils/copy-directory.js +0 -1
  353. package/skills/rabetbase/knowledge/page-schema/LrSmartEcharts.md +0 -291
  354. package/skills/rabetbase/knowledge/page-schema/LrSmartStatistic.md +0 -223
  355. package/templates/projects/sub-app-react-demo/.prettierrc +0 -1
  356. package/templates/projects/sub-app-react-demo/CHANGELOG.md +0 -67
  357. package/templates/projects/sub-app-react-demo/README.md +0 -246
  358. package/templates/projects/sub-app-react-demo/docs/quick-start.md +0 -245
  359. package/templates/projects/sub-app-react-demo/index.html +0 -27
  360. package/templates/projects/sub-app-react-demo/package.json +0 -34
  361. package/templates/projects/sub-app-react-demo/public/logo.svg +0 -1
  362. package/templates/projects/sub-app-react-demo/public/vite.svg +0 -1
  363. package/templates/projects/sub-app-react-demo/src/api/api.ts +0 -26
  364. package/templates/projects/sub-app-react-demo/src/api/client.ts +0 -32
  365. package/templates/projects/sub-app-react-demo/src/components/demo-page-container/DemoPageContainer.module.css +0 -28
  366. package/templates/projects/sub-app-react-demo/src/components/demo-page-container/DemoPageContainer.tsx +0 -55
  367. package/templates/projects/sub-app-react-demo/src/layouts/MainLayout.tsx +0 -308
  368. package/templates/projects/sub-app-react-demo/src/main.tsx +0 -52
  369. package/templates/projects/sub-app-react-demo/src/pages/dashboard/index.tsx +0 -570
  370. package/templates/projects/sub-app-react-demo/src/pages/data-screen/index.tsx +0 -531
  371. package/templates/projects/sub-app-react-demo/src/pages/index.module.css +0 -500
  372. package/templates/projects/sub-app-react-demo/src/pages/index.tsx +0 -641
  373. package/templates/projects/sub-app-react-demo/src/pages/sdk-demo/index.tsx +0 -536
  374. package/templates/projects/sub-app-react-demo/src/pages/workbench/index.module.css +0 -295
  375. package/templates/projects/sub-app-react-demo/src/pages/workbench/index.tsx +0 -242
  376. package/templates/projects/sub-app-react-demo/src/router/index.tsx +0 -30
  377. package/templates/projects/sub-app-react-demo/src/style.css +0 -108
  378. package/templates/projects/sub-app-react-demo/src/utils/api.ts +0 -12
  379. package/templates/projects/sub-app-react-demo/src/vite-env.d.ts +0 -2
  380. package/templates/projects/sub-app-react-demo/tsconfig.json +0 -26
  381. package/templates/projects/sub-app-react-demo/vite.config.ts +0 -111
@@ -1,570 +0,0 @@
1
- import React from "react";
2
- import {
3
- Row,
4
- Col,
5
- Card,
6
- Statistic,
7
- Typography,
8
- Table,
9
- Progress,
10
- Space,
11
- Alert,
12
- } from "antd";
13
- import { ArrowUpOutlined, ArrowDownOutlined } from "@ant-design/icons";
14
- import ReactECharts from "echarts-for-react";
15
- import DemoPageContainer from "@/components/demo-page-container/DemoPageContainer";
16
-
17
- const { Title } = Typography;
18
-
19
- const Dashboard: React.FC = () => {
20
- // 模拟数据
21
- const topCardsData = [
22
- { title: "个人销售成交额", value: 120565, color: "#5B8FF9", unit: "" },
23
- { title: "成交订单数", value: 352100, color: "#FF6B6B", unit: "" },
24
- { title: "分销商收入", value: 596850, color: "#FFB800", unit: "" },
25
- { title: "个人销售成交额", value: 7982991, color: "#5AD8A6", unit: "" },
26
- { title: "分销商收入", value: 27890.0, color: "#999", unit: "" },
27
- ];
28
-
29
- // 市场占率折线图配置
30
- const marketShareOption = {
31
- title: {
32
- text: "市场占率",
33
- left: 20,
34
- top: 10,
35
- textStyle: { fontSize: 16, fontWeight: "bold" },
36
- },
37
- tooltip: { trigger: "axis" },
38
- legend: { data: ["商场一", "商场二"], right: 20, top: 10 },
39
- grid: { left: 40, right: 40, bottom: 40, top: 60 },
40
- xAxis: {
41
- type: "category",
42
- data: ["数据1", "数据2", "数据3", "数据4", "数据5", "数据6"],
43
- },
44
- yAxis: { type: "value" },
45
- series: [
46
- {
47
- name: "商场一",
48
- type: "line",
49
- data: [620, 750, 900, 620, 450, 400],
50
- smooth: true,
51
- lineStyle: { color: "#5B8FF9" },
52
- areaStyle: { color: "rgba(91, 143, 249, 0.1)" },
53
- },
54
- {
55
- name: "商场二",
56
- type: "line",
57
- data: [650, 600, 400, 800, 300, 250],
58
- smooth: true,
59
- lineStyle: { color: "#5AD8A6" },
60
- areaStyle: { color: "rgba(90, 216, 166, 0.1)" },
61
- },
62
- ],
63
- };
64
-
65
- // 市场数据柱状图配置
66
- const marketDataOption = {
67
- title: {
68
- text: "市场数据",
69
- left: 20,
70
- top: 10,
71
- textStyle: { fontSize: 16, fontWeight: "bold" },
72
- },
73
- tooltip: { trigger: "axis" },
74
- legend: { data: ["商场一", "商场二"], right: 20, top: 10 },
75
- grid: { left: 40, right: 40, bottom: 40, top: 60 },
76
- xAxis: {
77
- type: "category",
78
- data: ["数据1", "数据2", "数据3", "数据4", "数据5", "数据6"],
79
- },
80
- yAxis: { type: "value" },
81
- series: [
82
- {
83
- name: "商场一",
84
- type: "bar",
85
- data: [400, 500, 900, 200, 300, 600],
86
- itemStyle: { color: "#5B8FF9" },
87
- },
88
- {
89
- name: "商场二",
90
- type: "bar",
91
- data: [300, 800, 400, 500, 400, 500],
92
- itemStyle: { color: "#5AD8A6" },
93
- },
94
- ],
95
- };
96
-
97
- // 客户转换漏斗图配置
98
- const funnelOption = {
99
- title: {
100
- text: "客户转换漏斗",
101
- left: "center",
102
- top: 10,
103
- textStyle: { fontSize: 16, fontWeight: "bold" },
104
- },
105
- tooltip: { trigger: "item", formatter: "{a} <br/>{b} : {c}%" },
106
- series: [
107
- {
108
- name: "客户转换",
109
- type: "funnel",
110
- left: "10%",
111
- top: "60",
112
- width: "80%",
113
- height: "60%",
114
- data: [
115
- { value: 10, name: "商场二", itemStyle: { color: "#5AD8A6" } },
116
- { value: 10, name: "商场一", itemStyle: { color: "#5B8FF9" } },
117
- { value: 10, name: "商场三", itemStyle: { color: "#FFB800" } },
118
- { value: 10, name: "商场四", itemStyle: { color: "#FF6B6B" } },
119
- { value: 10, name: "商场五", itemStyle: { color: "#9270CA" } },
120
- ],
121
- label: { show: true, position: "inside" },
122
- },
123
- ],
124
- };
125
-
126
- // 客户分布饼图配置
127
- const pieOption = {
128
- title: {
129
- text: "客户分布",
130
- left: "center",
131
- top: 10,
132
- textStyle: { fontSize: 16, fontWeight: "bold" },
133
- },
134
- tooltip: { trigger: "item" },
135
- legend: { orient: "vertical", right: 20, top: "middle" },
136
- series: [
137
- {
138
- name: "客户分布",
139
- type: "pie",
140
- radius: ["50%", "70%"],
141
- center: ["40%", "60%"],
142
- data: [
143
- { value: 20, name: "商场二", itemStyle: { color: "#5B8FF9" } },
144
- { value: 20, name: "商场一", itemStyle: { color: "#FF6B6B" } },
145
- { value: 20, name: "商场三", itemStyle: { color: "#FFB800" } },
146
- { value: 30, name: "商场四", itemStyle: { color: "#5AD8A6" } },
147
- { value: 10, name: "商场五", itemStyle: { color: "#9270CA" } },
148
- ],
149
- },
150
- ],
151
- };
152
-
153
- // 市场趋势面积图配置
154
- const trendOption = {
155
- title: {
156
- text: "市场趋势",
157
- left: 20,
158
- top: 10,
159
- textStyle: { fontSize: 16, fontWeight: "bold" },
160
- },
161
- tooltip: { trigger: "axis" },
162
- grid: { left: 40, right: 40, bottom: 40, top: 60 },
163
- xAxis: {
164
- type: "category",
165
- data: ["数据1", "数据2", "数据3", "数据4", "数据5", "数据6"],
166
- },
167
- yAxis: { type: "value" },
168
- series: [
169
- {
170
- type: "line",
171
- data: [400, 350, 300, 622, 400, 700],
172
- smooth: true,
173
- areaStyle: {
174
- color: {
175
- type: "linear",
176
- x: 0,
177
- y: 0,
178
- x2: 0,
179
- y2: 1,
180
- colorStops: [
181
- { offset: 0, color: "rgba(255, 107, 107, 0.8)" },
182
- { offset: 1, color: "rgba(255, 107, 107, 0.1)" },
183
- ],
184
- },
185
- },
186
- lineStyle: { color: "#FF6B6B" },
187
- },
188
- ],
189
- };
190
-
191
- // 销售明细表格数据
192
- const salesDetailData = [
193
- {
194
- key: "1",
195
- name: "用户满意度",
196
- branch: "45122",
197
- city: "广州",
198
- status: "已装",
199
- },
200
- {
201
- key: "2",
202
- name: "用户满意度",
203
- branch: "43122",
204
- city: "广州",
205
- status: "已装",
206
- },
207
- {
208
- key: "3",
209
- name: "用户满意度",
210
- branch: "45122",
211
- city: "广州",
212
- status: "已装",
213
- },
214
- {
215
- key: "4",
216
- name: "用户满意度",
217
- branch: "45122",
218
- city: "广州",
219
- status: "已装",
220
- },
221
- {
222
- key: "5",
223
- name: "用户满意度",
224
- branch: "45122",
225
- city: "广州",
226
- status: "已装",
227
- },
228
- {
229
- key: "6",
230
- name: "用户满意度",
231
- branch: "45122",
232
- city: "广州",
233
- status: "已装",
234
- },
235
- {
236
- key: "7",
237
- name: "用户满意度",
238
- branch: "45122",
239
- city: "广州",
240
- status: "已装",
241
- },
242
- {
243
- key: "8",
244
- name: "用户满意度",
245
- branch: "45122",
246
- city: "广州",
247
- status: "已装",
248
- },
249
- ];
250
-
251
- const salesColumns = [
252
- { title: "分销商用户名", dataIndex: "name", key: "name" },
253
- { title: "分销商名称", dataIndex: "branch", key: "branch" },
254
- { title: "分销商等级", dataIndex: "city", key: "city" },
255
- { title: "覆盖地域", dataIndex: "status", key: "status" },
256
- ];
257
-
258
- return (
259
- <DemoPageContainer>
260
- {/* 顶部提示信息 */}
261
- <Alert
262
- message="Dashboard 展示页面"
263
- description="本页面为静态页面,用于展示 Dashboard 数据可视化效果,未使用任何 API 接口"
264
- type="info"
265
- showIcon
266
- style={{ marginBottom: "16px" }}
267
- />
268
-
269
- {/* 顶部数据卡片 */}
270
- <Row gutter={16} style={{ marginBottom: "16px" }}>
271
- <Col span={4}>
272
- <div
273
- style={{
274
- padding: "20px",
275
- backgroundColor: "#fafafa",
276
- borderRadius: "8px",
277
- }}
278
- >
279
- <Statistic
280
- title="个人销售成交额"
281
- value={120565}
282
- valueStyle={{ color: "#5B8FF9", fontSize: "20px" }}
283
- />
284
- </div>
285
- </Col>
286
- <Col span={4}>
287
- <div
288
- style={{
289
- padding: "20px",
290
- backgroundColor: "#fafafa",
291
- borderRadius: "8px",
292
- }}
293
- >
294
- <Statistic
295
- title="成交订单数"
296
- value={352100}
297
- valueStyle={{ color: "#FF6B6B", fontSize: "20px" }}
298
- />
299
- </div>
300
- </Col>
301
- <Col span={4}>
302
- <div
303
- style={{
304
- padding: "20px",
305
- backgroundColor: "#fafafa",
306
- borderRadius: "8px",
307
- }}
308
- >
309
- <Statistic
310
- title="分销商收入"
311
- value={596850}
312
- valueStyle={{ color: "#FFB800", fontSize: "20px" }}
313
- />
314
- </div>
315
- </Col>
316
- <Col span={4}>
317
- <div
318
- style={{
319
- padding: "20px",
320
- backgroundColor: "#fafafa",
321
- borderRadius: "8px",
322
- }}
323
- >
324
- <Statistic
325
- title="个人销售成交额"
326
- value={7982991}
327
- valueStyle={{ color: "#5AD8A6", fontSize: "20px" }}
328
- />
329
- </div>
330
- </Col>
331
- <Col span={8}>
332
- <div
333
- style={{
334
- padding: "20px",
335
- backgroundColor: "#fafafa",
336
- borderRadius: "8px",
337
- }}
338
- >
339
- <Statistic
340
- title="分销商收入"
341
- value={27890.0}
342
- valueStyle={{ color: "#999", fontSize: "24px" }}
343
- suffix={<ArrowUpOutlined style={{ color: "#52C41A" }} />}
344
- />
345
- </div>
346
- </Col>
347
- </Row>
348
-
349
- {/* 第二行 - 图表区域 */}
350
- <Row gutter={16} style={{ marginBottom: "16px" }}>
351
- <Col span={8}>
352
- <div
353
- style={{
354
- padding: "16px",
355
- backgroundColor: "#fafafa",
356
- borderRadius: "8px",
357
- height: "400px",
358
- }}
359
- >
360
- <ReactECharts
361
- option={marketShareOption}
362
- style={{ height: "360px" }}
363
- />
364
- </div>
365
- </Col>
366
- <Col span={4}>
367
- <div
368
- style={{
369
- display: "flex",
370
- flexDirection: "column",
371
- height: "400px",
372
- gap: "16px",
373
- }}
374
- >
375
- <div
376
- style={{
377
- padding: "16px",
378
- backgroundColor: "#fafafa",
379
- borderRadius: "8px",
380
- flex: 1,
381
- }}
382
- >
383
- <div
384
- style={{
385
- fontSize: "16px",
386
- fontWeight: "bold",
387
- marginBottom: "12px",
388
- color: "#333",
389
- }}
390
- >
391
- 个人销售额
392
- </div>
393
- <Statistic
394
- value={352100}
395
- valueStyle={{ color: "#5B8FF9", fontSize: "28px" }}
396
- suffix={
397
- <div
398
- style={{
399
- display: "inline-flex",
400
- alignItems: "center",
401
- gap: "4px",
402
- }}
403
- >
404
- <span style={{ color: "#52C41A", fontSize: "14px" }}>
405
- +85%
406
- </span>
407
- <ArrowUpOutlined style={{ color: "#52C41A" }} />
408
- </div>
409
- }
410
- />
411
- <div
412
- style={{ marginTop: "8px", color: "#999", fontSize: "12px" }}
413
- >
414
- 目标完成:4,825,000
415
- </div>
416
- </div>
417
- <div
418
- style={{
419
- padding: "16px",
420
- backgroundColor: "#fafafa",
421
- borderRadius: "8px",
422
- flex: 1,
423
- }}
424
- >
425
- <div
426
- style={{
427
- fontSize: "16px",
428
- fontWeight: "bold",
429
- marginBottom: "12px",
430
- color: "#333",
431
- }}
432
- >
433
- 本月目标销售额
434
- </div>
435
- <Statistic
436
- value={7982991}
437
- valueStyle={{ color: "#FF6B6B", fontSize: "28px" }}
438
- suffix={
439
- <div
440
- style={{
441
- display: "inline-flex",
442
- alignItems: "center",
443
- gap: "4px",
444
- }}
445
- >
446
- <span style={{ color: "#52C41A", fontSize: "14px" }}>
447
- +21%
448
- </span>
449
- <ArrowUpOutlined style={{ color: "#52C41A" }} />
450
- </div>
451
- }
452
- />
453
- <div
454
- style={{ marginTop: "8px", color: "#999", fontSize: "12px" }}
455
- >
456
- 目标完成:33,555,000
457
- </div>
458
- </div>
459
- </div>
460
- </Col>
461
- <Col span={12}>
462
- <div
463
- style={{
464
- padding: "16px",
465
- backgroundColor: "#fafafa",
466
- borderRadius: "8px",
467
- height: "400px",
468
- }}
469
- >
470
- <ReactECharts
471
- option={marketDataOption}
472
- style={{ height: "360px" }}
473
- />
474
- </div>
475
- </Col>
476
- </Row>
477
-
478
- {/* 第三行 - 底部图表 */}
479
- <Row gutter={16}>
480
- <Col span={6}>
481
- <div
482
- style={{
483
- padding: "16px",
484
- backgroundColor: "#fafafa",
485
- borderRadius: "8px",
486
- height: "350px",
487
- }}
488
- >
489
- <ReactECharts option={funnelOption} style={{ height: "310px" }} />
490
- </div>
491
- </Col>
492
- <Col span={6}>
493
- <div
494
- style={{
495
- padding: "16px",
496
- backgroundColor: "#fafafa",
497
- borderRadius: "8px",
498
- height: "350px",
499
- }}
500
- >
501
- <ReactECharts option={pieOption} style={{ height: "310px" }} />
502
- </div>
503
- </Col>
504
- <Col span={6}>
505
- <div
506
- style={{
507
- padding: "16px",
508
- backgroundColor: "#fafafa",
509
- borderRadius: "8px",
510
- height: "350px",
511
- }}
512
- >
513
- <ReactECharts option={trendOption} style={{ height: "310px" }} />
514
- </div>
515
- </Col>
516
- <Col span={6}>
517
- <div
518
- style={{
519
- padding: "12px",
520
- backgroundColor: "#fafafa",
521
- borderRadius: "8px",
522
- height: "350px",
523
- }}
524
- >
525
- <div
526
- style={{
527
- display: "flex",
528
- justifyContent: "space-between",
529
- alignItems: "center",
530
- marginBottom: "12px",
531
- }}
532
- >
533
- <span
534
- style={{ fontSize: "16px", fontWeight: "bold", color: "#333" }}
535
- >
536
- 销售明细
537
- </span>
538
- <div style={{ fontSize: "12px", color: "#999" }}>
539
- 1-20 共 41 条 &lt; &gt;
540
- </div>
541
- </div>
542
- <div style={{ height: "280px", overflow: "hidden" }}>
543
- <Table
544
- dataSource={salesDetailData}
545
- columns={salesColumns.map((col) => ({
546
- ...col,
547
- width:
548
- col.key === "name"
549
- ? 60
550
- : col.key === "branch"
551
- ? 50
552
- : col.key === "city"
553
- ? 40
554
- : 40,
555
- }))}
556
- size="small"
557
- pagination={false}
558
- scroll={{ y: 250, x: "max-content" }}
559
- style={{ fontSize: "11px" }}
560
- showHeader={true}
561
- />
562
- </div>
563
- </div>
564
- </Col>
565
- </Row>
566
- </DemoPageContainer>
567
- );
568
- };
569
-
570
- export default Dashboard;