adspecs 0.1.12

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 (1578) hide show
  1. package/.adspecs/extensions/.registry +30 -0
  2. package/.adspecs/extensions/git/README.md +100 -0
  3. package/.adspecs/extensions/git/commands/adspecs.git.commit.md +48 -0
  4. package/.adspecs/extensions/git/commands/adspecs.git.feature.md +67 -0
  5. package/.adspecs/extensions/git/commands/adspecs.git.initialize.md +49 -0
  6. package/.adspecs/extensions/git/commands/adspecs.git.remote.md +45 -0
  7. package/.adspecs/extensions/git/commands/adspecs.git.validate.md +49 -0
  8. package/.adspecs/extensions/git/config-template.yml +62 -0
  9. package/.adspecs/extensions/git/extension.yml +140 -0
  10. package/.adspecs/extensions/git/git-config.yml +62 -0
  11. package/.adspecs/extensions/git/scripts/bash/auto-commit.sh +140 -0
  12. package/.adspecs/extensions/git/scripts/bash/create-new-feature.sh +453 -0
  13. package/.adspecs/extensions/git/scripts/bash/git-common.sh +54 -0
  14. package/.adspecs/extensions/git/scripts/bash/initialize-repo.sh +54 -0
  15. package/.adspecs/extensions/git/scripts/powershell/auto-commit.ps1 +169 -0
  16. package/.adspecs/extensions/git/scripts/powershell/create-new-feature.ps1 +403 -0
  17. package/.adspecs/extensions/git/scripts/powershell/git-common.ps1 +51 -0
  18. package/.adspecs/extensions/git/scripts/powershell/initialize-repo.ps1 +69 -0
  19. package/.adspecs/extensions.yml +165 -0
  20. package/.adspecs/feature.json +16 -0
  21. package/.adspecs/feature.yml +28 -0
  22. package/.adspecs/project.json +8 -0
  23. package/.adspecs/scripts/bash/check-prerequisites.sh +195 -0
  24. package/.adspecs/scripts/bash/common.sh +640 -0
  25. package/.adspecs/scripts/bash/create-new-feature.sh +301 -0
  26. package/.adspecs/scripts/bash/setup-plan.sh +84 -0
  27. package/.adspecs/scripts/bash/setup-tasks.sh +91 -0
  28. package/.adspecs/scripts/powershell/check-prerequisites.ps1 +149 -0
  29. package/.adspecs/scripts/powershell/common.ps1 +545 -0
  30. package/.adspecs/scripts/powershell/create-new-feature.ps1 +237 -0
  31. package/.adspecs/scripts/powershell/setup-plan.ps1 +64 -0
  32. package/.adspecs/scripts/powershell/setup-tasks.ps1 +70 -0
  33. package/.adspecs/scripts/python/check_prerequisites.py +207 -0
  34. package/.adspecs/scripts/python/common.py +210 -0
  35. package/.adspecs/templates/01-/344/270/232/345/212/241/351/234/200/346/261/202/345/210/206/346/236/220/346/250/241/346/235/277.md +228 -0
  36. package/.adspecs/templates/02-/344/272/247/345/223/201/351/234/200/346/261/202/350/257/264/346/230/216/344/271/246/346/250/241/346/235/277.md +623 -0
  37. package/.adspecs/templates/03-/347/263/273/347/273/237/350/256/276/350/256/241/346/250/241/346/235/277.md +1878 -0
  38. package/.adspecs/templates/04-/345/211/215/347/253/257/345/212/237/350/203/275/350/256/276/350/256/241/346/250/241/346/235/277.md +176 -0
  39. package/.adspecs/templates/05-/345/220/216/347/253/257/344/273/273/345/212/241/346/270/205/345/215/225/346/250/241/346/235/277.md +724 -0
  40. package/.adspecs/templates/05b-/345/211/215/347/253/257/344/273/273/345/212/241/346/270/205/345/215/225/346/250/241/346/235/277.md +492 -0
  41. package/.adspecs/templates/06-/344/273/243/347/240/201/350/257/204/345/256/241/346/212/245/345/221/212/346/250/241/346/235/277.md +1012 -0
  42. package/.adspecs/templates/07-/345/215/225/345/205/203/346/265/213/350/257/225/346/212/245/345/221/212/346/250/241/346/235/277.md +694 -0
  43. package/.adspecs/templates/08-/347/263/273/347/273/237/351/233/206/346/210/220/346/265/213/350/257/225/346/212/245/345/221/212/346/250/241/346/235/277.md +1098 -0
  44. package/.adspecs/templates/09-/346/200/247/350/203/275/346/265/213/350/257/225/346/212/245/345/221/212/346/250/241/346/235/277.md +610 -0
  45. package/.adspecs/templates/10-/345/256/211/345/205/250/346/243/200/346/237/245/346/270/205/345/215/225.md +912 -0
  46. package/.adspecs/templates/11-/344/273/243/347/240/201/350/264/250/351/207/217/346/240/207/345/207/206.md +753 -0
  47. package/.adspecs/templates/13-/346/265/213/350/257/225/347/224/250/344/276/213/346/250/241/346/235/277.md +543 -0
  48. package/.adspecs/templates/14-/351/234/200/346/261/202/350/277/275/346/272/257/347/237/251/351/230/265/346/250/241/346/235/277.md +225 -0
  49. package/.adspecs/templates/15-/344/270/232/345/212/241/345/212/237/350/203/275/346/236/266/346/236/204/346/226/207/346/241/243/346/250/241/346/235/277.md +168 -0
  50. package/.adspecs/templates/16-/347/263/273/347/273/237/346/236/266/346/236/204/350/256/276/350/256/241/346/250/241/346/235/277.md +608 -0
  51. package/.adspecs/templates/17-/345/255/220/346/250/241/345/235/227/344/276/235/350/265/226/345/205/263/347/263/273/346/250/241/346/235/277.md +308 -0
  52. package/.adspecs/templates/18-/347/273/237/344/270/200/346/225/260/346/215/256/346/250/241/345/236/213/346/250/241/346/235/277.md +297 -0
  53. package/.adspecs/templates/19-/351/241/271/347/233/256/347/233/256/345/275/225/347/273/223/346/236/204/346/250/241/346/235/277.md +468 -0
  54. package/.adspecs/templates/20-/345/267/245/344/275/234/350/257/264/346/230/216/344/271/246SOW/346/250/241/346/235/277.md +372 -0
  55. package/.adspecs/templates/21-/344/270/232/345/212/241/346/226/271/346/241/210/346/250/241/346/235/277.md +661 -0
  56. package/.adspecs/workflows/adspecs/workflow.yml +82 -0
  57. package/.adspecs/workflows/workflow-registry.json +13 -0
  58. package/.claude-plugin/marketplace.json +23 -0
  59. package/.claude-plugin/plugin.json +14 -0
  60. package/.qoder-plugin/plugin.json +21 -0
  61. package/CHANGELOG.md +1 -0
  62. package/CLAUDE.md +207 -0
  63. package/INSTALL.md +134 -0
  64. package/LICENSE +201 -0
  65. package/README.md +605 -0
  66. package/bin/adspecs.js +126 -0
  67. package/hooks/commit-queue.js +245 -0
  68. package/hooks/hooks.json +63 -0
  69. package/hooks/session-start.js +44 -0
  70. package/hooks/wiki-queue.js +127 -0
  71. package/package.json +61 -0
  72. package/references/ant6-front-standard/01-/345/237/272/347/241/200/350/247/204/350/214/203.md +181 -0
  73. package/references/ant6-front-standard/02-/347/273/204/344/273/266/350/247/204/350/214/203.md +189 -0
  74. package/references/ant6-front-standard/03-/345/210/227/350/241/250/350/247/204/350/214/203.md +147 -0
  75. package/references/ant6-front-standard/04-/350/241/250/345/215/225/350/247/204/350/214/203.md +312 -0
  76. package/references/ant6-front-standard/05-/345/211/215/347/253/257/347/274/226/347/240/201/350/247/204/350/214/203.md +1443 -0
  77. package/references/ant6-front-standard/05-/350/267/257/347/224/261/347/212/266/346/200/201/346/216/245/345/217/243/350/247/204/350/214/203.md +175 -0
  78. package/references/ant6-front-standard/06-/345/233/275/351/231/205/345/214/226/350/247/204/350/214/203.md +126 -0
  79. package/references/ant6-front-standard/07-/345/255/227/345/205/270/346/235/203/351/231/220/350/247/204/350/214/203.md +71 -0
  80. package/references/ant6-front-standard/08-/346/200/247/350/203/275/350/264/250/351/207/217/350/247/204/350/214/203.md +91 -0
  81. package/references/ant6-front-standard/09-/345/270/270/350/247/201/351/227/256/351/242/230/350/247/204/350/214/203.md +87 -0
  82. package/references/ant6-front-standard/index.md +100 -0
  83. package/references/ant6-front-standard/vue/350/277/201/347/247/273/345/210/260react/350/247/204/350/214/203.md +37 -0
  84. package/references/antd-front-demo/.env +15 -0
  85. package/references/antd-front-demo/.env.production +7 -0
  86. package/references/antd-front-demo/eslint.config.js +23 -0
  87. package/references/antd-front-demo/index.html +16 -0
  88. package/references/antd-front-demo/package-lock.json +6603 -0
  89. package/references/antd-front-demo/package.json +53 -0
  90. package/references/antd-front-demo/public/favicon.svg +4 -0
  91. package/references/antd-front-demo/public/mockServiceWorker.js +361 -0
  92. package/references/antd-front-demo/src/App.tsx +68 -0
  93. package/references/antd-front-demo/src/api/aps/coil.ts +42 -0
  94. package/references/antd-front-demo/src/api/aps/order.ts +42 -0
  95. package/references/antd-front-demo/src/api/aps/param.ts +19 -0
  96. package/references/antd-front-demo/src/api/aps/plan.ts +30 -0
  97. package/references/antd-front-demo/src/api/aps/task.ts +31 -0
  98. package/references/antd-front-demo/src/api/auth.ts +41 -0
  99. package/references/antd-front-demo/src/api/mdm/codeRule.ts +23 -0
  100. package/references/antd-front-demo/src/api/mdm/coding-system.ts +130 -0
  101. package/references/antd-front-demo/src/api/system/dept.ts +38 -0
  102. package/references/antd-front-demo/src/api/system/dict-data.ts +42 -0
  103. package/references/antd-front-demo/src/api/system/dict-type.ts +35 -0
  104. package/references/antd-front-demo/src/api/system/menu.ts +38 -0
  105. package/references/antd-front-demo/src/api/system/post.ts +15 -0
  106. package/references/antd-front-demo/src/api/system/role.ts +42 -0
  107. package/references/antd-front-demo/src/api/system/user.ts +48 -0
  108. package/references/antd-front-demo/src/components/Access/index.tsx +14 -0
  109. package/references/antd-front-demo/src/components/DictTag/index.tsx +29 -0
  110. package/references/antd-front-demo/src/components/Footer/index.tsx +35 -0
  111. package/references/antd-front-demo/src/components/Icon/iconMap.ts +131 -0
  112. package/references/antd-front-demo/src/components/Icon/index.tsx +62 -0
  113. package/references/antd-front-demo/src/hooks/useAccess.ts +5 -0
  114. package/references/antd-front-demo/src/i18n/index.ts +22 -0
  115. package/references/antd-front-demo/src/layouts/AdminLayout/Header.tsx +137 -0
  116. package/references/antd-front-demo/src/layouts/AdminLayout/Sidebar.tsx +103 -0
  117. package/references/antd-front-demo/src/layouts/AdminLayout/StyleSettings.tsx +165 -0
  118. package/references/antd-front-demo/src/layouts/AdminLayout/index.tsx +25 -0
  119. package/references/antd-front-demo/src/locales/en-US/aps/coil.ts +18 -0
  120. package/references/antd-front-demo/src/locales/en-US/aps/order.ts +27 -0
  121. package/references/antd-front-demo/src/locales/en-US/aps/param.ts +32 -0
  122. package/references/antd-front-demo/src/locales/en-US/aps/plan.ts +33 -0
  123. package/references/antd-front-demo/src/locales/en-US/aps/task.ts +33 -0
  124. package/references/antd-front-demo/src/locales/en-US/common.ts +27 -0
  125. package/references/antd-front-demo/src/locales/en-US/components/upload.ts +12 -0
  126. package/references/antd-front-demo/src/locales/en-US/dashboard.ts +18 -0
  127. package/references/antd-front-demo/src/locales/en-US/header.ts +27 -0
  128. package/references/antd-front-demo/src/locales/en-US/login.ts +42 -0
  129. package/references/antd-front-demo/src/locales/en-US/mdm/codeRule.ts +20 -0
  130. package/references/antd-front-demo/src/locales/en-US/mdm/coding-system-state-flow.ts +28 -0
  131. package/references/antd-front-demo/src/locales/en-US/mdm/coding-system.ts +139 -0
  132. package/references/antd-front-demo/src/locales/en-US/menu.ts +18 -0
  133. package/references/antd-front-demo/src/locales/en-US/profile.ts +38 -0
  134. package/references/antd-front-demo/src/locales/en-US/system/dept.ts +20 -0
  135. package/references/antd-front-demo/src/locales/en-US/system/dict.ts +30 -0
  136. package/references/antd-front-demo/src/locales/en-US/system/menu.ts +28 -0
  137. package/references/antd-front-demo/src/locales/en-US/system/role.ts +18 -0
  138. package/references/antd-front-demo/src/locales/en-US/system/user.ts +29 -0
  139. package/references/antd-front-demo/src/locales/zh-CN/aps/coil.ts +18 -0
  140. package/references/antd-front-demo/src/locales/zh-CN/aps/order.ts +27 -0
  141. package/references/antd-front-demo/src/locales/zh-CN/aps/param.ts +32 -0
  142. package/references/antd-front-demo/src/locales/zh-CN/aps/plan.ts +33 -0
  143. package/references/antd-front-demo/src/locales/zh-CN/aps/task.ts +33 -0
  144. package/references/antd-front-demo/src/locales/zh-CN/common.ts +27 -0
  145. package/references/antd-front-demo/src/locales/zh-CN/components/upload.ts +12 -0
  146. package/references/antd-front-demo/src/locales/zh-CN/dashboard.ts +18 -0
  147. package/references/antd-front-demo/src/locales/zh-CN/header.ts +27 -0
  148. package/references/antd-front-demo/src/locales/zh-CN/login.ts +42 -0
  149. package/references/antd-front-demo/src/locales/zh-CN/mdm/codeRule.ts +20 -0
  150. package/references/antd-front-demo/src/locales/zh-CN/mdm/coding-system-state-flow.ts +28 -0
  151. package/references/antd-front-demo/src/locales/zh-CN/mdm/coding-system.ts +154 -0
  152. package/references/antd-front-demo/src/locales/zh-CN/menu.ts +18 -0
  153. package/references/antd-front-demo/src/locales/zh-CN/profile.ts +38 -0
  154. package/references/antd-front-demo/src/locales/zh-CN/system/dept.ts +20 -0
  155. package/references/antd-front-demo/src/locales/zh-CN/system/dict.ts +30 -0
  156. package/references/antd-front-demo/src/locales/zh-CN/system/menu.ts +28 -0
  157. package/references/antd-front-demo/src/locales/zh-CN/system/role.ts +18 -0
  158. package/references/antd-front-demo/src/locales/zh-CN/system/user.ts +29 -0
  159. package/references/antd-front-demo/src/main.tsx +18 -0
  160. package/references/antd-front-demo/src/mocks/browser.ts +10 -0
  161. package/references/antd-front-demo/src/mocks/data/aps.ts +255 -0
  162. package/references/antd-front-demo/src/mocks/data/index.ts +382 -0
  163. package/references/antd-front-demo/src/mocks/handlers/apsCoil.ts +151 -0
  164. package/references/antd-front-demo/src/mocks/handlers/apsOrder.ts +166 -0
  165. package/references/antd-front-demo/src/mocks/handlers/apsParam.ts +71 -0
  166. package/references/antd-front-demo/src/mocks/handlers/apsPlan.ts +98 -0
  167. package/references/antd-front-demo/src/mocks/handlers/apsTask.ts +249 -0
  168. package/references/antd-front-demo/src/mocks/handlers/auth.ts +244 -0
  169. package/references/antd-front-demo/src/mocks/handlers/codeRule.ts +141 -0
  170. package/references/antd-front-demo/src/mocks/handlers/coding-system.ts +256 -0
  171. package/references/antd-front-demo/src/mocks/handlers/dept.ts +154 -0
  172. package/references/antd-front-demo/src/mocks/handlers/dict.ts +297 -0
  173. package/references/antd-front-demo/src/mocks/handlers/image.ts +13 -0
  174. package/references/antd-front-demo/src/mocks/handlers/index.ts +33 -0
  175. package/references/antd-front-demo/src/mocks/handlers/menu.ts +132 -0
  176. package/references/antd-front-demo/src/mocks/handlers/post.ts +19 -0
  177. package/references/antd-front-demo/src/mocks/handlers/role.ts +184 -0
  178. package/references/antd-front-demo/src/mocks/handlers/user.ts +223 -0
  179. package/references/antd-front-demo/src/pages/aps/coil/components/CoilDrawer.tsx +141 -0
  180. package/references/antd-front-demo/src/pages/aps/coil/index.tsx +209 -0
  181. package/references/antd-front-demo/src/pages/aps/optimization/index.tsx +192 -0
  182. package/references/antd-front-demo/src/pages/aps/order/components/OrderDrawer.tsx +251 -0
  183. package/references/antd-front-demo/src/pages/aps/order/index.tsx +273 -0
  184. package/references/antd-front-demo/src/pages/aps/param/index.tsx +153 -0
  185. package/references/antd-front-demo/src/pages/aps/plan/components/CuttingPlanVisualization.tsx +821 -0
  186. package/references/antd-front-demo/src/pages/aps/plan/index.tsx +254 -0
  187. package/references/antd-front-demo/src/pages/aps/task/index.tsx +190 -0
  188. package/references/antd-front-demo/src/pages/dashboard/index.tsx +67 -0
  189. package/references/antd-front-demo/src/pages/error/404/index.tsx +25 -0
  190. package/references/antd-front-demo/src/pages/login/components/ForgetPasswordForm.tsx +101 -0
  191. package/references/antd-front-demo/src/pages/login/components/LoginForm.tsx +83 -0
  192. package/references/antd-front-demo/src/pages/login/components/RegisterForm.tsx +69 -0
  193. package/references/antd-front-demo/src/pages/login/components/index.ts +3 -0
  194. package/references/antd-front-demo/src/pages/login/index.module.css +62 -0
  195. package/references/antd-front-demo/src/pages/login/index.tsx +60 -0
  196. package/references/antd-front-demo/src/pages/mdm/coding-system/approval/index.tsx +227 -0
  197. package/references/antd-front-demo/src/pages/mdm/coding-system/code-log/index.tsx +103 -0
  198. package/references/antd-front-demo/src/pages/mdm/coding-system/code-mapping/components/CodeMappingDrawer.tsx +120 -0
  199. package/references/antd-front-demo/src/pages/mdm/coding-system/code-mapping/index.tsx +170 -0
  200. package/references/antd-front-demo/src/pages/mdm/coding-system/code-rule/components/CodeRuleDrawer.tsx +235 -0
  201. package/references/antd-front-demo/src/pages/mdm/coding-system/code-rule/index.tsx +204 -0
  202. package/references/antd-front-demo/src/pages/mdm/coding-system/state-flow/index.tsx +101 -0
  203. package/references/antd-front-demo/src/pages/mdm/coding-system/sync/index.tsx +151 -0
  204. package/references/antd-front-demo/src/pages/mdm/coding-system/variable-dict/components/VariableDictDrawer.tsx +108 -0
  205. package/references/antd-front-demo/src/pages/mdm/coding-system/variable-dict/index.tsx +163 -0
  206. package/references/antd-front-demo/src/pages/profile/index.tsx +136 -0
  207. package/references/antd-front-demo/src/pages/system/dept/components/DeptDrawer.tsx +157 -0
  208. package/references/antd-front-demo/src/pages/system/dept/index.tsx +224 -0
  209. package/references/antd-front-demo/src/pages/system/dict/components/DictDataDrawer.tsx +243 -0
  210. package/references/antd-front-demo/src/pages/system/dict/components/DictTypeModal.tsx +102 -0
  211. package/references/antd-front-demo/src/pages/system/dict/index.tsx +162 -0
  212. package/references/antd-front-demo/src/pages/system/menu/components/MenuDrawer.tsx +215 -0
  213. package/references/antd-front-demo/src/pages/system/menu/index.tsx +236 -0
  214. package/references/antd-front-demo/src/pages/system/role/components/RoleDrawer.tsx +118 -0
  215. package/references/antd-front-demo/src/pages/system/role/index.tsx +142 -0
  216. package/references/antd-front-demo/src/pages/system/user/components/DeptTree.tsx +71 -0
  217. package/references/antd-front-demo/src/pages/system/user/components/UserDrawer.tsx +197 -0
  218. package/references/antd-front-demo/src/pages/system/user/index.tsx +189 -0
  219. package/references/antd-front-demo/src/router/authGuard.tsx +67 -0
  220. package/references/antd-front-demo/src/router/dynamicRoutes.tsx +179 -0
  221. package/references/antd-front-demo/src/router/index.tsx +105 -0
  222. package/references/antd-front-demo/src/setupTests.ts +1 -0
  223. package/references/antd-front-demo/src/stores/useAppStore.ts +43 -0
  224. package/references/antd-front-demo/src/stores/useAuthStore.ts +78 -0
  225. package/references/antd-front-demo/src/stores/useDictStore.ts +41 -0
  226. package/references/antd-front-demo/src/types/api.ts +17 -0
  227. package/references/antd-front-demo/src/types/aps/coil.ts +42 -0
  228. package/references/antd-front-demo/src/types/aps/order.ts +63 -0
  229. package/references/antd-front-demo/src/types/aps/param.ts +48 -0
  230. package/references/antd-front-demo/src/types/aps/plan.ts +59 -0
  231. package/references/antd-front-demo/src/types/aps/task.ts +66 -0
  232. package/references/antd-front-demo/src/types/auth.ts +81 -0
  233. package/references/antd-front-demo/src/types/mdm/codeRule.ts +43 -0
  234. package/references/antd-front-demo/src/types/mdm/coding-system.ts +187 -0
  235. package/references/antd-front-demo/src/utils/formatTime.ts +68 -0
  236. package/references/antd-front-demo/src/utils/menuConverter.ts +113 -0
  237. package/references/antd-front-demo/src/utils/messageHolder.ts +14 -0
  238. package/references/antd-front-demo/src/utils/permission.ts +18 -0
  239. package/references/antd-front-demo/src/utils/request.ts +165 -0
  240. package/references/antd-front-demo/src/utils/token.ts +91 -0
  241. package/references/antd-front-demo/tsconfig.app.json +30 -0
  242. package/references/antd-front-demo/tsconfig.json +7 -0
  243. package/references/antd-front-demo/tsconfig.node.json +24 -0
  244. package/references/antd-front-demo/vite.config.ts +30 -0
  245. package/references/ecp-end-standard/ES/344/275/277/347/224/250/350/247/204/350/214/203.md +231 -0
  246. package/references/ecp-end-standard/IdToName/344/275/277/347/224/250/350/247/204/350/214/203.md +148 -0
  247. package/references/ecp-end-standard/Liquibase /346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/347/256/241/347/220/206/350/247/204/350/214/203.md" +197 -0
  248. package/references/ecp-end-standard/Redis/344/275/277/347/224/250/350/247/204/350/214/203.md +78 -0
  249. package/references/ecp-end-standard/index.md +63 -0
  250. package/references/ecp-end-standard//345/210/206/345/270/203/345/274/217/351/224/201/350/247/204/350/214/203.md +65 -0
  251. package/references/ecp-end-standard//345/220/216/347/253/257/345/210/206/345/261/202/345/274/200/345/217/221/344/270/216/346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/350/247/204/350/214/203.md +385 -0
  252. package/references/ecp-end-standard//345/244/232/350/257/255/350/250/200/345/217/212/345/205/250/345/261/200/345/274/202/345/270/270/345/244/204/347/220/206/350/247/204/350/214/203.md +442 -0
  253. package/references/ecp-end-standard//346/226/207/344/273/266/344/270/255/345/277/203/344/275/277/347/224/250/350/247/204/350/214/203.md +278 -0
  254. package/references/ecp-end-standard//346/265/201/347/250/213/344/270/255/345/277/203/346/216/245/345/205/245/350/247/204/350/214/203.md +464 -0
  255. package/references/ecp-end-standard//347/274/226/347/240/201/350/207/252/345/212/250/347/224/237/346/210/220/350/247/204/350/214/203.md +69 -0
  256. package/references/ecp-end-standard//351/200/232/347/224/250/345/267/245/345/205/267/347/261/273/344/275/277/347/224/250/350/247/204/350/214/203.md +189 -0
  257. package/references/front-demo/.claude/rules/INDEX.md +54 -0
  258. package/references/front-demo/.claude/rules/api-i18n-rules.md +65 -0
  259. package/references/front-demo/.claude/rules/gushen-components.md +174 -0
  260. package/references/front-demo/.claude/rules/page-development-rules.md +262 -0
  261. package/references/front-demo/.claude/rules/page-template-index.md +374 -0
  262. package/references/front-demo/.claude/rules/project-overview.md +48 -0
  263. package/references/front-demo/.claude/skills/generate-vue3-page/SKILL.md +145 -0
  264. package/references/front-demo/.editorconfig +9 -0
  265. package/references/front-demo/.gitattributes +1 -0
  266. package/references/front-demo/.playwright-mcp/page-2026-06-10T08-21-21-503Z.yml +7 -0
  267. package/references/front-demo/.playwright-mcp/page-2026-06-10T10-02-33-237Z.yml +4 -0
  268. package/references/front-demo/.prettierrc.json +6 -0
  269. package/references/front-demo/README.md +39 -0
  270. package/references/front-demo/app-startup.png +0 -0
  271. package/references/front-demo/auto-imports.d.ts +10 -0
  272. package/references/front-demo/build-log.txt +214 -0
  273. package/references/front-demo/claude.md +62 -0
  274. package/references/front-demo/components.d.ts +95 -0
  275. package/references/front-demo/env.d.ts +1 -0
  276. package/references/front-demo/eslint.config.ts +22 -0
  277. package/references/front-demo/index.html +22 -0
  278. package/references/front-demo/package.json +77 -0
  279. package/references/front-demo/public/apiurls.js +70 -0
  280. package/references/front-demo/public/config.js +93 -0
  281. package/references/front-demo/public/favicon.ico +0 -0
  282. package/references/front-demo/src/App.vue +117 -0
  283. package/references/front-demo/src/api/app.ts +316 -0
  284. package/references/front-demo/src/api/attachment.ts +30 -0
  285. package/references/front-demo/src/api/base-exception/index.ts +87 -0
  286. package/references/front-demo/src/api/collect/index.ts +37 -0
  287. package/references/front-demo/src/api/comment/index.ts +44 -0
  288. package/references/front-demo/src/api/dashboard/index.ts +83 -0
  289. package/references/front-demo/src/api/dataImport.ts +97 -0
  290. package/references/front-demo/src/api/dingding/index.ts +43 -0
  291. package/references/front-demo/src/api/export.ts +25 -0
  292. package/references/front-demo/src/api/forecast/forecast-order.ts +42 -0
  293. package/references/front-demo/src/api/forecast/forecastChangeOrder.ts +54 -0
  294. package/references/front-demo/src/api/forecast/forecastConfig.ts +30 -0
  295. package/references/front-demo/src/api/forecast/forecastOrder.ts +78 -0
  296. package/references/front-demo/src/api/home/index.ts +78 -0
  297. package/references/front-demo/src/api/letters/index.ts +93 -0
  298. package/references/front-demo/src/api/login.ts +140 -0
  299. package/references/front-demo/src/api/mdmCustomer/index.ts +77 -0
  300. package/references/front-demo/src/api/menu/index.ts +79 -0
  301. package/references/front-demo/src/api/multi-login/index.ts +36 -0
  302. package/references/front-demo/src/api/personalInformation/index.ts +9 -0
  303. package/references/front-demo/src/api/portal/index.ts +95 -0
  304. package/references/front-demo/src/api/practice/index.ts +32 -0
  305. package/references/front-demo/src/api/product-master-data/__tests__/product.spec.ts +114 -0
  306. package/references/front-demo/src/api/product-master-data/product.ts +158 -0
  307. package/references/front-demo/src/api/reset-password/index.ts +16 -0
  308. package/references/front-demo/src/api/system-manage/dataImport/index.ts +87 -0
  309. package/references/front-demo/src/api/system-manage/menu/index.ts +34 -0
  310. package/references/front-demo/src/api/system-manage/reverse-authorization/index.ts +18 -0
  311. package/references/front-demo/src/api/testMenu/demo1/index.ts +14 -0
  312. package/references/front-demo/src/api/testMenu/demo2/index.ts +0 -0
  313. package/references/front-demo/src/api/testMenu/leaveApplication/index.ts +53 -0
  314. package/references/front-demo/src/api/testMenu/testDemo/index.ts +66 -0
  315. package/references/front-demo/src/api/update/index.ts +43 -0
  316. package/references/front-demo/src/api/worktable/agenda.ts +19 -0
  317. package/references/front-demo/src/api/worktable/approved.ts +32 -0
  318. package/references/front-demo/src/api/worktable/entrusted.ts +92 -0
  319. package/references/front-demo/src/api/worktable/myProcess.ts +48 -0
  320. package/references/front-demo/src/api/worktable/startTask.ts +56 -0
  321. package/references/front-demo/src/api/worktable/tobeRead.ts +28 -0
  322. package/references/front-demo/src/api/wx-work/index.ts +43 -0
  323. package/references/front-demo/src/assets/images/404.png +0 -0
  324. package/references/front-demo/src/assets/images/404_cloud.png +0 -0
  325. package/references/front-demo/src/assets/images/compact_layout.png +0 -0
  326. package/references/front-demo/src/assets/images/dingding.png +0 -0
  327. package/references/front-demo/src/assets/images/feishu.png +0 -0
  328. package/references/front-demo/src/assets/images/hover.png +0 -0
  329. package/references/front-demo/src/assets/images/login_background.jpg +0 -0
  330. package/references/front-demo/src/assets/images/login_banner.jpg +0 -0
  331. package/references/front-demo/src/assets/images/logo.png +0 -0
  332. package/references/front-demo/src/assets/images/noData.png +0 -0
  333. package/references/front-demo/src/assets/images/no_data.png +0 -0
  334. package/references/front-demo/src/assets/images/normal_layout.png +0 -0
  335. package/references/front-demo/src/assets/images/qiyeweixin.png +0 -0
  336. package/references/front-demo/src/assets/images/sider-open.png +0 -0
  337. package/references/front-demo/src/assets/images/vertical.png +0 -0
  338. package/references/front-demo/src/assets/png/pass.png +0 -0
  339. package/references/front-demo/src/components/ActionButtons.vue +193 -0
  340. package/references/front-demo/src/components/GsIcon/index.ts +7 -0
  341. package/references/front-demo/src/components/GsIcon/index.vue +47 -0
  342. package/references/front-demo/src/components/GsIconDialog/icons.ts +2167 -0
  343. package/references/front-demo/src/components/GsIconDialog/index.ts +7 -0
  344. package/references/front-demo/src/components/GsIconDialog/index.vue +856 -0
  345. package/references/front-demo/src/components/GsUpload/GsOverloadText.vue +68 -0
  346. package/references/front-demo/src/components/GsUpload/attachmentList.vue +241 -0
  347. package/references/front-demo/src/components/GsUpload/copper.vue +117 -0
  348. package/references/front-demo/src/components/GsUpload/imgUpload.vue +382 -0
  349. package/references/front-demo/src/components/GsUpload/index.vue +468 -0
  350. package/references/front-demo/src/components/GsUpload/preview.vue +44 -0
  351. package/references/front-demo/src/components/GsUpload/utils.ts +151 -0
  352. package/references/front-demo/src/components/StatusTag.vue +110 -0
  353. package/references/front-demo/src/components/SvgIcon/index.ts +7 -0
  354. package/references/front-demo/src/components/SvgIcon/index.vue +39 -0
  355. package/references/front-demo/src/components/UploadImg/index.ts +7 -0
  356. package/references/front-demo/src/components/UploadImg/index.vue +292 -0
  357. package/references/front-demo/src/components/global-register.ts +25 -0
  358. package/references/front-demo/src/components/utils/index.ts +12 -0
  359. package/references/front-demo/src/config/index.js +64 -0
  360. package/references/front-demo/src/core/initMain.ts +97 -0
  361. package/references/front-demo/src/hooks/useApsSchedule.ts +79 -0
  362. package/references/front-demo/src/hooks/useForecastOrderForm.ts +139 -0
  363. package/references/front-demo/src/hooks/usePagination.ts +40 -0
  364. package/references/front-demo/src/hooks/useRoleBasedVisibility.ts +35 -0
  365. package/references/front-demo/src/icons/index.ts +6 -0
  366. package/references/front-demo/src/icons/svg/AssessmentInfo.svg +1 -0
  367. package/references/front-demo/src/icons/svg/BasicConfig.svg +1 -0
  368. package/references/front-demo/src/icons/svg/DataEase.svg +86 -0
  369. package/references/front-demo/src/icons/svg/PDF.svg +1 -0
  370. package/references/front-demo/src/icons/svg/account_box.svg +5 -0
  371. package/references/front-demo/src/icons/svg/add.svg +1 -0
  372. package/references/front-demo/src/icons/svg/alert.svg +8 -0
  373. package/references/front-demo/src/icons/svg/alertlist.svg +18 -0
  374. package/references/front-demo/src/icons/svg/all-msg.svg +1 -0
  375. package/references/front-demo/src/icons/svg/analysis.svg +1 -0
  376. package/references/front-demo/src/icons/svg/app.svg +1 -0
  377. package/references/front-demo/src/icons/svg/assPersonnel.svg +1 -0
  378. package/references/front-demo/src/icons/svg/assessment.svg +1 -0
  379. package/references/front-demo/src/icons/svg/bar-horizontal.svg +1 -0
  380. package/references/front-demo/src/icons/svg/bar-stack-horizontal.svg +1 -0
  381. package/references/front-demo/src/icons/svg/bar-stack.svg +1 -0
  382. package/references/front-demo/src/icons/svg/bar.svg +1 -0
  383. package/references/front-demo/src/icons/svg/basicalgorithm.svg +1 -0
  384. package/references/front-demo/src/icons/svg/battery.svg +1 -0
  385. package/references/front-demo/src/icons/svg/bbgl.svg +1 -0
  386. package/references/front-demo/src/icons/svg/bell.svg +5 -0
  387. package/references/front-demo/src/icons/svg/bfcx.svg +1 -0
  388. package/references/front-demo/src/icons/svg/bjqd.svg +1 -0
  389. package/references/front-demo/src/icons/svg/bjxhtj.svg +1 -0
  390. package/references/front-demo/src/icons/svg/bjxhxq.svg +1 -0
  391. package/references/front-demo/src/icons/svg/bmll.svg +1 -0
  392. package/references/front-demo/src/icons/svg/bmtl.svg +1 -0
  393. package/references/front-demo/src/icons/svg/bqcj.svg +1 -0
  394. package/references/front-demo/src/icons/svg/bqmbgl.svg +1 -0
  395. package/references/front-demo/src/icons/svg/buddle-map.svg +1 -0
  396. package/references/front-demo/src/icons/svg/bug.svg +1 -0
  397. package/references/front-demo/src/icons/svg/bygd.svg +1 -0
  398. package/references/front-demo/src/icons/svg/bz.svg +1 -0
  399. package/references/front-demo/src/icons/svg/bzgl.svg +1 -0
  400. package/references/front-demo/src/icons/svg/characteristics.svg +1 -0
  401. package/references/front-demo/src/icons/svg/chart-mix.svg +1 -0
  402. package/references/front-demo/src/icons/svg/checkbox-checked.svg +5 -0
  403. package/references/front-demo/src/icons/svg/checkimage.svg +1 -0
  404. package/references/front-demo/src/icons/svg/ck.svg +1 -0
  405. package/references/front-demo/src/icons/svg/classifymark.svg +1 -0
  406. package/references/front-demo/src/icons/svg/closeEyes.svg +15 -0
  407. package/references/front-demo/src/icons/svg/club.svg +1 -0
  408. package/references/front-demo/src/icons/svg/collector.svg +1 -0
  409. package/references/front-demo/src/icons/svg/collectormanage.svg +1 -0
  410. package/references/front-demo/src/icons/svg/crkdcx.svg +1 -0
  411. package/references/front-demo/src/icons/svg/dashboard-collector.svg +38 -0
  412. package/references/front-demo/src/icons/svg/dashboard-device.svg +40 -0
  413. package/references/front-demo/src/icons/svg/dashboard-gateway.svg +38 -0
  414. package/references/front-demo/src/icons/svg/dashboard-warning.svg +40 -0
  415. package/references/front-demo/src/icons/svg/dashboard.svg +1 -0
  416. package/references/front-demo/src/icons/svg/database.svg +1 -0
  417. package/references/front-demo/src/icons/svg/dataset-task.svg +1 -0
  418. package/references/front-demo/src/icons/svg/datasource.svg +1 -0
  419. package/references/front-demo/src/icons/svg/db.svg +1 -0
  420. package/references/front-demo/src/icons/svg/ddgl.svg +1 -0
  421. package/references/front-demo/src/icons/svg/ddycjk.svg +1 -0
  422. package/references/front-demo/src/icons/svg/default.svg +1 -0
  423. package/references/front-demo/src/icons/svg/definition.svg +1 -0
  424. package/references/front-demo/src/icons/svg/depassessment.svg +1 -0
  425. package/references/front-demo/src/icons/svg/dept.svg +1 -0
  426. package/references/front-demo/src/icons/svg/device.svg +1 -0
  427. package/references/front-demo/src/icons/svg/devicebig.svg +1 -0
  428. package/references/front-demo/src/icons/svg/devicegroup.svg +1 -0
  429. package/references/front-demo/src/icons/svg/devicelist.svg +1 -0
  430. package/references/front-demo/src/icons/svg/devicemanage.svg +1 -0
  431. package/references/front-demo/src/icons/svg/deviceparam.svg +1 -0
  432. package/references/front-demo/src/icons/svg/devicetype.svg +1 -0
  433. package/references/front-demo/src/icons/svg/diagnose.svg +1 -0
  434. package/references/front-demo/src/icons/svg/diagnoseresult.svg +1 -0
  435. package/references/front-demo/src/icons/svg/distribution.svg +1 -0
  436. package/references/front-demo/src/icons/svg/doc.svg +1 -0
  437. package/references/front-demo/src/icons/svg/docs.svg +1 -0
  438. package/references/front-demo/src/icons/svg/dqby.svg +1 -0
  439. package/references/front-demo/src/icons/svg/dqbydb.svg +1 -0
  440. package/references/front-demo/src/icons/svg/dqbygc.svg +1 -0
  441. package/references/front-demo/src/icons/svg/dqbygd.svg +1 -0
  442. package/references/front-demo/src/icons/svg/dqbyjh.svg +1 -0
  443. package/references/front-demo/src/icons/svg/ds-api.svg +1 -0
  444. package/references/front-demo/src/icons/svg/ds-custom.svg +1 -0
  445. package/references/front-demo/src/icons/svg/ds-db.svg +1 -0
  446. package/references/front-demo/src/icons/svg/ds-excel.svg +1 -0
  447. package/references/front-demo/src/icons/svg/ds-sql.svg +1 -0
  448. package/references/front-demo/src/icons/svg/ds-union.svg +1 -0
  449. package/references/front-demo/src/icons/svg/dxjdb.svg +1 -0
  450. package/references/front-demo/src/icons/svg/dxjgc.svg +1 -0
  451. package/references/front-demo/src/icons/svg/dxjgd.svg +1 -0
  452. package/references/front-demo/src/icons/svg/dxjjh.svg +1 -0
  453. package/references/front-demo/src/icons/svg/dy.svg +1 -0
  454. package/references/front-demo/src/icons/svg/earth.svg +5 -0
  455. package/references/front-demo/src/icons/svg/echart-fullscreen.svg +1 -0
  456. package/references/front-demo/src/icons/svg/echart-nomalscreen.svg +1 -0
  457. package/references/front-demo/src/icons/svg/edit.svg +1 -0
  458. package/references/front-demo/src/icons/svg/email-task.svg +1 -0
  459. package/references/front-demo/src/icons/svg/envelop.svg +5 -0
  460. package/references/front-demo/src/icons/svg/equalizer.svg +5 -0
  461. package/references/front-demo/src/icons/svg/example.svg +1 -0
  462. package/references/front-demo/src/icons/svg/exclamationmark.svg +1 -0
  463. package/references/front-demo/src/icons/svg/exclamationmark2.svg +1 -0
  464. package/references/front-demo/src/icons/svg/exit-fullscreen.svg +1 -0
  465. package/references/front-demo/src/icons/svg/eye-open.svg +1 -0
  466. package/references/front-demo/src/icons/svg/eye.svg +1 -0
  467. package/references/front-demo/src/icons/svg/fav.svg +1 -0
  468. package/references/front-demo/src/icons/svg/field_location.svg +1 -0
  469. package/references/front-demo/src/icons/svg/field_text.svg +1 -0
  470. package/references/front-demo/src/icons/svg/field_time.svg +1 -0
  471. package/references/front-demo/src/icons/svg/field_value.svg +1 -0
  472. package/references/front-demo/src/icons/svg/folder.svg +1 -0
  473. package/references/front-demo/src/icons/svg/form.svg +1 -0
  474. package/references/front-demo/src/icons/svg/fullscreen.svg +1 -0
  475. package/references/front-demo/src/icons/svg/funnel.svg +1 -0
  476. package/references/front-demo/src/icons/svg/gateway.svg +1 -0
  477. package/references/front-demo/src/icons/svg/gatewaymanage.svg +16 -0
  478. package/references/front-demo/src/icons/svg/gauge.svg +1 -0
  479. package/references/front-demo/src/icons/svg/gdgl.svg +1 -0
  480. package/references/front-demo/src/icons/svg/gdll.svg +1 -0
  481. package/references/front-demo/src/icons/svg/gdtl.svg +1 -0
  482. package/references/front-demo/src/icons/svg/gdwcqk.svg +1 -0
  483. package/references/front-demo/src/icons/svg/gdwcxq.svg +1 -0
  484. package/references/front-demo/src/icons/svg/gnwz.svg +1 -0
  485. package/references/front-demo/src/icons/svg/gs-add.svg +14 -0
  486. package/references/front-demo/src/icons/svg/gs-change.svg +18 -0
  487. package/references/front-demo/src/icons/svg/gs-choose-icon.svg +23 -0
  488. package/references/front-demo/src/icons/svg/gs-close.svg +15 -0
  489. package/references/front-demo/src/icons/svg/gs-delete.svg +19 -0
  490. package/references/front-demo/src/icons/svg/gs-down.svg +12 -0
  491. package/references/front-demo/src/icons/svg/gs-edit.svg +23 -0
  492. package/references/front-demo/src/icons/svg/gs-edit2.svg +18 -0
  493. package/references/front-demo/src/icons/svg/gs-page.svg +14 -0
  494. package/references/front-demo/src/icons/svg/gs-resize.svg +12 -0
  495. package/references/front-demo/src/icons/svg/gs-select.svg +15 -0
  496. package/references/front-demo/src/icons/svg/gzbx.svg +1 -0
  497. package/references/front-demo/src/icons/svg/gzgd.svg +1 -0
  498. package/references/front-demo/src/icons/svg/gzk.svg +1 -0
  499. package/references/front-demo/src/icons/svg/gzzd.svg +1 -0
  500. package/references/front-demo/src/icons/svg/head.svg +13 -0
  501. package/references/front-demo/src/icons/svg/iconfont.svg +71 -0
  502. package/references/front-demo/src/icons/svg/im_message.svg +1 -0
  503. package/references/front-demo/src/icons/svg/indexdefine.svg +1 -0
  504. package/references/front-demo/src/icons/svg/inner-join.svg +1 -0
  505. package/references/front-demo/src/icons/svg/international.svg +1 -0
  506. package/references/front-demo/src/icons/svg/jcsj.svg +1 -0
  507. package/references/front-demo/src/icons/svg/jhjxgd.svg +1 -0
  508. package/references/front-demo/src/icons/svg/jilu.svg +1 -0
  509. package/references/front-demo/src/icons/svg/jldw.svg +1 -0
  510. package/references/front-demo/src/icons/svg/jscsfp.svg +1 -0
  511. package/references/front-demo/src/icons/svg/jscswh.svg +1 -0
  512. package/references/front-demo/src/icons/svg/kccx.svg +1 -0
  513. package/references/front-demo/src/icons/svg/kcpd.svg +1 -0
  514. package/references/front-demo/src/icons/svg/konwledgelist.svg +1 -0
  515. package/references/front-demo/src/icons/svg/kucun.svg +1 -0
  516. package/references/front-demo/src/icons/svg/language.svg +1 -0
  517. package/references/front-demo/src/icons/svg/left-join.svg +1 -0
  518. package/references/front-demo/src/icons/svg/leftBack.svg +15 -0
  519. package/references/front-demo/src/icons/svg/line-stack.svg +1 -0
  520. package/references/front-demo/src/icons/svg/line.svg +1 -0
  521. package/references/front-demo/src/icons/svg/link.svg +1 -0
  522. package/references/front-demo/src/icons/svg/liquid.svg +1 -0
  523. package/references/front-demo/src/icons/svg/list.svg +5 -0
  524. package/references/front-demo/src/icons/svg/location2.svg +5 -0
  525. package/references/front-demo/src/icons/svg/lock_closed.svg +1 -0
  526. package/references/front-demo/src/icons/svg/lock_open.svg +1 -0
  527. package/references/front-demo/src/icons/svg/logo.svg +32 -0
  528. package/references/front-demo/src/icons/svg/map.svg +1 -0
  529. package/references/front-demo/src/icons/svg/map_old.svg +1 -0
  530. package/references/front-demo/src/icons/svg/menu.svg +1 -0
  531. package/references/front-demo/src/icons/svg/message.svg +1 -0
  532. package/references/front-demo/src/icons/svg/messaged.svg +1 -0
  533. package/references/front-demo/src/icons/svg/meter.svg +5 -0
  534. package/references/front-demo/src/icons/svg/mobile.svg +5 -0
  535. package/references/front-demo/src/icons/svg/model.svg +1 -0
  536. package/references/front-demo/src/icons/svg/money.svg +1 -0
  537. package/references/front-demo/src/icons/svg/more_v.svg +1 -0
  538. package/references/front-demo/src/icons/svg/msg-setting.svg +1 -0
  539. package/references/front-demo/src/icons/svg/mttr&mtbf.svg +1 -0
  540. package/references/front-demo/src/icons/svg/multiplemp.svg +1 -0
  541. package/references/front-demo/src/icons/svg/myassessment.svg +1 -0
  542. package/references/front-demo/src/icons/svg/nested.svg +1 -0
  543. package/references/front-demo/src/icons/svg/new-message.svg +5 -0
  544. package/references/front-demo/src/icons/svg/no-join.svg +1 -0
  545. package/references/front-demo/src/icons/svg/normal-fx.svg +1 -0
  546. package/references/front-demo/src/icons/svg/notification.svg +1 -0
  547. package/references/front-demo/src/icons/svg/openEyes.svg +12 -0
  548. package/references/front-demo/src/icons/svg/openai.svg +1 -0
  549. package/references/front-demo/src/icons/svg/panel.svg +1 -0
  550. package/references/front-demo/src/icons/svg/password.svg +1 -0
  551. package/references/front-demo/src/icons/svg/people.svg +1 -0
  552. package/references/front-demo/src/icons/svg/peoples.svg +1 -0
  553. package/references/front-demo/src/icons/svg/pie-rose.svg +1 -0
  554. package/references/front-demo/src/icons/svg/pie.svg +1 -0
  555. package/references/front-demo/src/icons/svg/plus.svg +5 -0
  556. package/references/front-demo/src/icons/svg/podcast.svg +5 -0
  557. package/references/front-demo/src/icons/svg/preview.svg +1 -0
  558. package/references/front-demo/src/icons/svg/qrcode.svg +5 -0
  559. package/references/front-demo/src/icons/svg/radar.svg +1 -0
  560. package/references/front-demo/src/icons/svg/readed-msg.svg +1 -0
  561. package/references/front-demo/src/icons/svg/remove.svg +1 -0
  562. package/references/front-demo/src/icons/svg/rhdb.svg +1 -0
  563. package/references/front-demo/src/icons/svg/rhgc.svg +1 -0
  564. package/references/front-demo/src/icons/svg/rhgd.svg +1 -0
  565. package/references/front-demo/src/icons/svg/right-join.svg +1 -0
  566. package/references/front-demo/src/icons/svg/role.svg +1 -0
  567. package/references/front-demo/src/icons/svg/rulelist.svg +1 -0
  568. package/references/front-demo/src/icons/svg/runconfig.svg +1 -0
  569. package/references/front-demo/src/icons/svg/sbgzlbb.svg +1 -0
  570. package/references/front-demo/src/icons/svg/sbqy.svg +1 -0
  571. package/references/front-demo/src/icons/svg/sbrhjh.svg +1 -0
  572. package/references/front-demo/src/icons/svg/sbwhl.svg +1 -0
  573. package/references/front-demo/src/icons/svg/scatter.svg +1 -0
  574. package/references/front-demo/src/icons/svg/scene.svg +1 -0
  575. package/references/front-demo/src/icons/svg/shoppingCard.svg +1 -0
  576. package/references/front-demo/src/icons/svg/shouqi.svg +13 -0
  577. package/references/front-demo/src/icons/svg/singlemp.svg +1 -0
  578. package/references/front-demo/src/icons/svg/size.svg +1 -0
  579. package/references/front-demo/src/icons/svg/slimHead.svg +12 -0
  580. package/references/front-demo/src/icons/svg/sort-asc.svg +1 -0
  581. package/references/front-demo/src/icons/svg/sort-desc.svg +1 -0
  582. package/references/front-demo/src/icons/svg/standard.svg +1 -0
  583. package/references/front-demo/src/icons/svg/star.svg +1 -0
  584. package/references/front-demo/src/icons/svg/stats-bars.svg +5 -0
  585. package/references/front-demo/src/icons/svg/suffix-obj.svg +1 -0
  586. package/references/front-demo/src/icons/svg/sys-tools.svg +1 -0
  587. package/references/front-demo/src/icons/svg/system.svg +1 -0
  588. package/references/front-demo/src/icons/svg/table-info.svg +1 -0
  589. package/references/front-demo/src/icons/svg/table-normal.svg +1 -0
  590. package/references/front-demo/src/icons/svg/table-pivot.svg +1 -0
  591. package/references/front-demo/src/icons/svg/table.svg +1 -0
  592. package/references/front-demo/src/icons/svg/taizhang.svg +1 -0
  593. package/references/front-demo/src/icons/svg/task.svg +1 -0
  594. package/references/front-demo/src/icons/svg/tenant.svg +1 -0
  595. package/references/front-demo/src/icons/svg/text.svg +1 -0
  596. package/references/front-demo/src/icons/svg/tjqq.svg +1 -0
  597. package/references/front-demo/src/icons/svg/tree-company.svg +1 -0
  598. package/references/front-demo/src/icons/svg/tree-department.svg +1 -0
  599. package/references/front-demo/src/icons/svg/tree-device.svg +1 -0
  600. package/references/front-demo/src/icons/svg/tree-organization.svg +1 -0
  601. package/references/front-demo/src/icons/svg/tree.svg +1 -0
  602. package/references/front-demo/src/icons/svg/treemap.svg +1 -0
  603. package/references/front-demo/src/icons/svg/undefinedata.svg +1 -0
  604. package/references/front-demo/src/icons/svg/unread-msg.svg +1 -0
  605. package/references/front-demo/src/icons/svg/user-check.svg +6 -0
  606. package/references/front-demo/src/icons/svg/user.svg +1 -0
  607. package/references/front-demo/src/icons/svg/users.svg +6 -0
  608. package/references/front-demo/src/icons/svg/warn-tre.svg +1 -0
  609. package/references/front-demo/src/icons/svg/waterfall.svg +1 -0
  610. package/references/front-demo/src/icons/svg/wdgzt.svg +1 -0
  611. package/references/front-demo/src/icons/svg/wdlc.svg +1 -0
  612. package/references/front-demo/src/icons/svg/web-msg.svg +1 -0
  613. package/references/front-demo/src/icons/svg/wlbm.svg +1 -0
  614. package/references/front-demo/src/icons/svg/wlfl.svg +1 -0
  615. package/references/front-demo/src/icons/svg/wlgl.svg +1 -0
  616. package/references/front-demo/src/icons/svg/word-cloud.svg +1 -0
  617. package/references/front-demo/src/icons/svg/wtsp.svg +1 -0
  618. package/references/front-demo/src/icons/svg/wxdb.svg +1 -0
  619. package/references/front-demo/src/icons/svg/wxgc.svg +1 -0
  620. package/references/front-demo/src/icons/svg/xiaoxi.svg +13 -0
  621. package/references/front-demo/src/icons/svg/xyldr.svg +1 -0
  622. package/references/front-demo/src/icons/svg/ysp.svg +1 -0
  623. package/references/front-demo/src/icons/svg/yxgl.svg +1 -0
  624. package/references/front-demo/src/icons/svg/zcfbjzttj.svg +1 -0
  625. package/references/front-demo/src/icons/svg/zcfl.svg +1 -0
  626. package/references/front-demo/src/icons/svg/zcgl.svg +1 -0
  627. package/references/front-demo/src/icons/svg/zclk.svg +1 -0
  628. package/references/front-demo/src/icons/svg/zcll.svg +1 -0
  629. package/references/front-demo/src/icons/svg/zclx.svg +1 -0
  630. package/references/front-demo/src/icons/svg/zcpd.svg +1 -0
  631. package/references/front-demo/src/icons/svg/zctjbb.svg +1 -0
  632. package/references/front-demo/src/icons/svg/zcz.svg +1 -0
  633. package/references/front-demo/src/icons/svg/zhankai.svg +13 -0
  634. package/references/front-demo/src/icons/svg/zichan.svg +1 -0
  635. package/references/front-demo/src/icons/svg/zxck.svg +1 -0
  636. package/references/front-demo/src/icons/svg/zxrk.svg +1 -0
  637. package/references/front-demo/src/lang/element-lang.ts +26 -0
  638. package/references/front-demo/src/lang/en-us.ts +146 -0
  639. package/references/front-demo/src/lang/hu-hu.ts +1141 -0
  640. package/references/front-demo/src/lang/index.ts +108 -0
  641. package/references/front-demo/src/lang/modules/button/en-us.ts +158 -0
  642. package/references/front-demo/src/lang/modules/button/zh-cn.ts +157 -0
  643. package/references/front-demo/src/lang/modules/button/zh-tw.ts +157 -0
  644. package/references/front-demo/src/lang/modules/customizeTable/en-us.ts +56 -0
  645. package/references/front-demo/src/lang/modules/customizeTable/zh-cn.ts +55 -0
  646. package/references/front-demo/src/lang/modules/customizeTable/zh-tw.ts +55 -0
  647. package/references/front-demo/src/lang/modules/exportData/en-us.ts +19 -0
  648. package/references/front-demo/src/lang/modules/exportData/zh-cn.ts +19 -0
  649. package/references/front-demo/src/lang/modules/exportData/zh-tw.ts +19 -0
  650. package/references/front-demo/src/lang/modules/exportHistroy/en-us.ts +10 -0
  651. package/references/front-demo/src/lang/modules/exportHistroy/zh-cn.ts +10 -0
  652. package/references/front-demo/src/lang/modules/exportHistroy/zh-tw.ts +10 -0
  653. package/references/front-demo/src/lang/modules/forecast-order/en-us.ts +412 -0
  654. package/references/front-demo/src/lang/modules/forecast-order/zh-cn.ts +413 -0
  655. package/references/front-demo/src/lang/modules/forecast-order/zh-tw.ts +410 -0
  656. package/references/front-demo/src/lang/modules/gsReport/en-us.ts +41 -0
  657. package/references/front-demo/src/lang/modules/gsReport/zh-cn.ts +41 -0
  658. package/references/front-demo/src/lang/modules/gsReport/zh-tw.ts +41 -0
  659. package/references/front-demo/src/lang/modules/gsUploadFile/en-us.ts +10 -0
  660. package/references/front-demo/src/lang/modules/gsUploadFile/zh-cn.ts +10 -0
  661. package/references/front-demo/src/lang/modules/gsUploadFile/zh-tw.ts +10 -0
  662. package/references/front-demo/src/lang/modules/home/en-us.ts +19 -0
  663. package/references/front-demo/src/lang/modules/home/zh-cn.ts +19 -0
  664. package/references/front-demo/src/lang/modules/home/zh-tw.ts +19 -0
  665. package/references/front-demo/src/lang/modules/importData/en-us.ts +42 -0
  666. package/references/front-demo/src/lang/modules/importData/zh-cn.ts +42 -0
  667. package/references/front-demo/src/lang/modules/importData/zh-tw.ts +42 -0
  668. package/references/front-demo/src/lang/modules/importHistroy/en-us.ts +9 -0
  669. package/references/front-demo/src/lang/modules/importHistroy/zh-cn.ts +9 -0
  670. package/references/front-demo/src/lang/modules/importHistroy/zh-tw.ts +9 -0
  671. package/references/front-demo/src/lang/modules/js/en-us.ts +63 -0
  672. package/references/front-demo/src/lang/modules/js/zh-cn.ts +60 -0
  673. package/references/front-demo/src/lang/modules/js/zh-tw.ts +60 -0
  674. package/references/front-demo/src/lang/modules/letters/en-us.ts +21 -0
  675. package/references/front-demo/src/lang/modules/letters/zh-cn.ts +22 -0
  676. package/references/front-demo/src/lang/modules/letters/zh-tw.ts +22 -0
  677. package/references/front-demo/src/lang/modules/login/en-us.ts +68 -0
  678. package/references/front-demo/src/lang/modules/login/zh-cn.ts +64 -0
  679. package/references/front-demo/src/lang/modules/login/zh-tw.ts +64 -0
  680. package/references/front-demo/src/lang/modules/mdmCustomer/en-us.ts +81 -0
  681. package/references/front-demo/src/lang/modules/mdmCustomer/zh-cn.ts +92 -0
  682. package/references/front-demo/src/lang/modules/mdmCustomer/zh-tw.ts +81 -0
  683. package/references/front-demo/src/lang/modules/menu/en-us.ts +429 -0
  684. package/references/front-demo/src/lang/modules/menu/zh-cn.ts +423 -0
  685. package/references/front-demo/src/lang/modules/menu/zh-tw.ts +423 -0
  686. package/references/front-demo/src/lang/modules/message/en-us.ts +4 -0
  687. package/references/front-demo/src/lang/modules/message/zh-cn.ts +4 -0
  688. package/references/front-demo/src/lang/modules/message/zh-tw.ts +4 -0
  689. package/references/front-demo/src/lang/modules/otherLang/en-us.ts +63 -0
  690. package/references/front-demo/src/lang/modules/otherLang/zh-cn.ts +60 -0
  691. package/references/front-demo/src/lang/modules/otherLang/zh-tw.ts +58 -0
  692. package/references/front-demo/src/lang/modules/person/en-us.ts +27 -0
  693. package/references/front-demo/src/lang/modules/person/zh-cn.ts +27 -0
  694. package/references/front-demo/src/lang/modules/person/zh-tw.ts +27 -0
  695. package/references/front-demo/src/lang/modules/product-master-data/en-us.ts +65 -0
  696. package/references/front-demo/src/lang/modules/product-master-data/zh-cn.ts +82 -0
  697. package/references/front-demo/src/lang/modules/product-master-data/zh-tw.ts +82 -0
  698. package/references/front-demo/src/lang/modules/source_data/en-us.ts +49 -0
  699. package/references/front-demo/src/lang/modules/source_data/zh-cn.ts +41 -0
  700. package/references/front-demo/src/lang/modules/source_data/zh-tw.ts +41 -0
  701. package/references/front-demo/src/lang/modules/theme/en-us.ts +22 -0
  702. package/references/front-demo/src/lang/modules/theme/zh-cn.ts +22 -0
  703. package/references/front-demo/src/lang/modules/theme/zh-tw.ts +23 -0
  704. package/references/front-demo/src/lang/modules/third/en-us.ts +10 -0
  705. package/references/front-demo/src/lang/modules/third/zh-cn.ts +9 -0
  706. package/references/front-demo/src/lang/modules/third/zh-tw.ts +9 -0
  707. package/references/front-demo/src/lang/modules/toast/en-us.ts +21 -0
  708. package/references/front-demo/src/lang/modules/toast/zh-cn.ts +21 -0
  709. package/references/front-demo/src/lang/modules/toast/zh-tw.ts +21 -0
  710. package/references/front-demo/src/lang/modules/uploadDocument/en-us.ts +6 -0
  711. package/references/front-demo/src/lang/modules/uploadDocument/zh-cn.ts +6 -0
  712. package/references/front-demo/src/lang/modules/uploadDocument/zh-tw.ts +6 -0
  713. package/references/front-demo/src/lang/utils.ts +20 -0
  714. package/references/front-demo/src/lang/vi-vn.ts +1140 -0
  715. package/references/front-demo/src/lang/zh-cn.ts +180 -0
  716. package/references/front-demo/src/lang/zh-tw.ts +147 -0
  717. package/references/front-demo/src/main.ts +25 -0
  718. package/references/front-demo/src/mock/forecast/index.ts +1 -0
  719. package/references/front-demo/src/mock/forecast/router.ts +824 -0
  720. package/references/front-demo/src/mock/forecast/seed.ts +577 -0
  721. package/references/front-demo/src/mock/index.ts +74 -0
  722. package/references/front-demo/src/mock/mdmCustomer/index.ts +1 -0
  723. package/references/front-demo/src/mock/mdmCustomer/router.ts +468 -0
  724. package/references/front-demo/src/mock/mdmCustomer/seed.ts +359 -0
  725. package/references/front-demo/src/mock/platform/router.ts +119 -0
  726. package/references/front-demo/src/mock/platform/seed.ts +145 -0
  727. package/references/front-demo/src/mock/storage.ts +55 -0
  728. package/references/front-demo/src/permission.ts +448 -0
  729. package/references/front-demo/src/plugins/i18n.ts +3 -0
  730. package/references/front-demo/src/plugins/pinia.ts +7 -0
  731. package/references/front-demo/src/qiankun.js +114 -0
  732. package/references/front-demo/src/router/index.ts +132 -0
  733. package/references/front-demo/src/router/modules/forecast-order.ts +68 -0
  734. package/references/front-demo/src/store/index.ts +43 -0
  735. package/references/front-demo/src/store/modules/app/actions.ts +137 -0
  736. package/references/front-demo/src/store/modules/app/getters.ts +16 -0
  737. package/references/front-demo/src/store/modules/app/index.ts +52 -0
  738. package/references/front-demo/src/store/modules/app/mutations.ts +108 -0
  739. package/references/front-demo/src/store/modules/forecast-order/__tests__/forecastOrderDetailStore.spec.ts +379 -0
  740. package/references/front-demo/src/store/modules/forecast-order/__tests__/forecastOrderListStore.spec.ts +297 -0
  741. package/references/front-demo/src/store/modules/forecast-order/changeOrderFormStore.ts +245 -0
  742. package/references/front-demo/src/store/modules/forecast-order/configStore.ts +157 -0
  743. package/references/front-demo/src/store/modules/forecast-order/forecastOrderDetailStore.ts +243 -0
  744. package/references/front-demo/src/store/modules/forecast-order/forecastOrderFormStore.ts +281 -0
  745. package/references/front-demo/src/store/modules/forecast-order/forecastOrderListStore.ts +101 -0
  746. package/references/front-demo/src/store/modules/forecast-order/index.ts +5 -0
  747. package/references/front-demo/src/store/modules/mdmCustomer/__tests__/customerStore.spec.ts +206 -0
  748. package/references/front-demo/src/store/modules/mdmCustomer/customerStore.ts +303 -0
  749. package/references/front-demo/src/store/modules/permission/actions.ts +11 -0
  750. package/references/front-demo/src/store/modules/permission/getters.ts +5 -0
  751. package/references/front-demo/src/store/modules/permission/index.ts +14 -0
  752. package/references/front-demo/src/store/modules/permission/mutations.ts +13 -0
  753. package/references/front-demo/src/store/modules/product-master-data/__tests__/productListStore.spec.ts +378 -0
  754. package/references/front-demo/src/store/modules/product-master-data/productListStore.ts +333 -0
  755. package/references/front-demo/src/store/modules/tagsView/actions.ts +87 -0
  756. package/references/front-demo/src/store/modules/tagsView/getters.ts +6 -0
  757. package/references/front-demo/src/store/modules/tagsView/index.ts +18 -0
  758. package/references/front-demo/src/store/modules/tagsView/mutations.ts +118 -0
  759. package/references/front-demo/src/store/modules/theme/actions.ts +77 -0
  760. package/references/front-demo/src/store/modules/theme/getters.ts +10 -0
  761. package/references/front-demo/src/store/modules/theme/index.ts +27 -0
  762. package/references/front-demo/src/store/modules/theme/mutations.ts +28 -0
  763. package/references/front-demo/src/store/modules/user/actions.ts +243 -0
  764. package/references/front-demo/src/store/modules/user/getters.ts +10 -0
  765. package/references/front-demo/src/store/modules/user/index.ts +44 -0
  766. package/references/front-demo/src/store/modules/user/mutations.ts +104 -0
  767. package/references/front-demo/src/store/piniaToVuex/index.ts +283 -0
  768. package/references/front-demo/src/stores/counter.ts +12 -0
  769. package/references/front-demo/src/styles/element-plus.scss +937 -0
  770. package/references/front-demo/src/styles/global.scss +826 -0
  771. package/references/front-demo/src/styles/iconfont/demo.css +539 -0
  772. package/references/front-demo/src/styles/iconfont/iconfont.css +68 -0
  773. package/references/front-demo/src/styles/iconfont/iconfont.js +63 -0
  774. package/references/front-demo/src/styles/iconfont/iconfont.ttf +0 -0
  775. package/references/front-demo/src/styles/index.scss +116 -0
  776. package/references/front-demo/src/styles/mixin.scss +78 -0
  777. package/references/front-demo/src/styles/theme/black/content-management.scss +11 -0
  778. package/references/front-demo/src/styles/theme/black/dynamic-report.scss +31 -0
  779. package/references/front-demo/src/styles/theme/black/form-design.scss +181 -0
  780. package/references/front-demo/src/styles/theme/black/open-api.scss +118 -0
  781. package/references/front-demo/src/styles/theme/black/platform.scss +57 -0
  782. package/references/front-demo/src/styles/theme/black/process-manage.scss +48 -0
  783. package/references/front-demo/src/styles/theme/black/rent-mannage.scss +8 -0
  784. package/references/front-demo/src/styles/theme/black/schedule.scss +45 -0
  785. package/references/front-demo/src/styles/theme/black/service-management.scss +14 -0
  786. package/references/front-demo/src/styles/theme/black/system-manage.scss +144 -0
  787. package/references/front-demo/src/styles/theme/black.scss +1642 -0
  788. package/references/front-demo/src/styles/theme/default/index.scss +1 -0
  789. package/references/front-demo/src/styles/theme/default/menu.scss +199 -0
  790. package/references/front-demo/src/styles/transition.scss +107 -0
  791. package/references/front-demo/src/styles/variables.scss +66 -0
  792. package/references/front-demo/src/types/forecast-order/api.ts +44 -0
  793. package/references/front-demo/src/types/forecast-order/enums.ts +122 -0
  794. package/references/front-demo/src/types/forecast-order/forecastChangeOrder.ts +40 -0
  795. package/references/front-demo/src/types/forecast-order/forecastOrder.ts +98 -0
  796. package/references/front-demo/src/types/forecast-order/index.ts +43 -0
  797. package/references/front-demo/src/types/mdmCustomer/api.ts +26 -0
  798. package/references/front-demo/src/types/mdmCustomer/customer.ts +75 -0
  799. package/references/front-demo/src/types/product-master-data/api.ts +27 -0
  800. package/references/front-demo/src/types/product-master-data/product.ts +58 -0
  801. package/references/front-demo/src/utils/ArrayExtension.ts +175 -0
  802. package/references/front-demo/src/utils/app-mixin.ts +50 -0
  803. package/references/front-demo/src/utils/areas.ts +1712 -0
  804. package/references/front-demo/src/utils/auth.ts +336 -0
  805. package/references/front-demo/src/utils/base64.ts +231 -0
  806. package/references/front-demo/src/utils/browser-helper.ts +39 -0
  807. package/references/front-demo/src/utils/bus.ts +35 -0
  808. package/references/front-demo/src/utils/deprecated-utils.ts +116 -0
  809. package/references/front-demo/src/utils/errorHandler.ts +61 -0
  810. package/references/front-demo/src/utils/events.ts +59 -0
  811. package/references/front-demo/src/utils/forecastOrderActions.ts +117 -0
  812. package/references/front-demo/src/utils/i18nHelper.ts +24 -0
  813. package/references/front-demo/src/utils/index.ts +819 -0
  814. package/references/front-demo/src/utils/name-auth.ts +97 -0
  815. package/references/front-demo/src/utils/onlyMsgBox.ts +38 -0
  816. package/references/front-demo/src/utils/pinyinList.ts +417 -0
  817. package/references/front-demo/src/utils/request-utils.ts +277 -0
  818. package/references/front-demo/src/utils/request.ts +146 -0
  819. package/references/front-demo/src/utils/routeHelper.ts +66 -0
  820. package/references/front-demo/src/utils/statusTagHelper.ts +55 -0
  821. package/references/front-demo/src/utils/storage.ts +80 -0
  822. package/references/front-demo/src/utils/theme.ts +192 -0
  823. package/references/front-demo/src/utils/toPinYin.ts +34 -0
  824. package/references/front-demo/src/utils/tool.ts +7103 -0
  825. package/references/front-demo/src/utils/utilsFn.ts +73 -0
  826. package/references/front-demo/src/utils/validate.ts +110 -0
  827. package/references/front-demo/src/utils/watermark.ts +161 -0
  828. package/references/front-demo/src/utils/watermarkcompact.ts +180 -0
  829. package/references/front-demo/src/utils/wordRender.ts +100 -0
  830. package/references/front-demo/src/utils/ws.ts +42 -0
  831. package/references/front-demo/src/views/404.vue +245 -0
  832. package/references/front-demo/src/views/CollectButton/demand.vue +39 -0
  833. package/references/front-demo/src/views/CollectButton/dialog.vue +178 -0
  834. package/references/front-demo/src/views/CollectButton/index.vue +306 -0
  835. package/references/front-demo/src/views/FlowCharts/FormDemo.vue +236 -0
  836. package/references/front-demo/src/views/FlowCharts/components/ListDetailButton/index.vue +36 -0
  837. package/references/front-demo/src/views/FlowCharts/leaveApplication.vue +56 -0
  838. package/references/front-demo/src/views/FlowCharts/testForm.vue +56 -0
  839. package/references/front-demo/src/views/Password/index.vue +148 -0
  840. package/references/front-demo/src/views/authorize/components/ForgetPassword.vue +309 -0
  841. package/references/front-demo/src/views/authorize/components/FormLogin/components/VerificationDialog.vue +297 -0
  842. package/references/front-demo/src/views/authorize/components/FormLogin/index.vue +649 -0
  843. package/references/front-demo/src/views/authorize/index.vue +149 -0
  844. package/references/front-demo/src/views/dynamic-form/index.vue +42 -0
  845. package/references/front-demo/src/views/forecast-order/ChangeOrderEdit.vue +113 -0
  846. package/references/front-demo/src/views/forecast-order/ForecastOrderDetail.vue +732 -0
  847. package/references/front-demo/src/views/forecast-order/ForecastOrderEdit.vue +179 -0
  848. package/references/front-demo/src/views/forecast-order/__tests__/ChangeOrderEdit.spec.ts +157 -0
  849. package/references/front-demo/src/views/forecast-order/__tests__/ForecastOrderDetail.spec.ts +230 -0
  850. package/references/front-demo/src/views/forecast-order/__tests__/ForecastOrderE2E.spec.ts +607 -0
  851. package/references/front-demo/src/views/forecast-order/__tests__/ForecastOrderEdit.spec.ts +283 -0
  852. package/references/front-demo/src/views/forecast-order/__tests__/ForecastOrderList.spec.ts +428 -0
  853. package/references/front-demo/src/views/forecast-order/__tests__/Selectors.spec.ts +209 -0
  854. package/references/front-demo/src/views/forecast-order/components/ApproveChangeDialog.vue +165 -0
  855. package/references/front-demo/src/views/forecast-order/components/ChangeForm.vue +235 -0
  856. package/references/front-demo/src/views/forecast-order/components/CustomerSelector.vue +165 -0
  857. package/references/front-demo/src/views/forecast-order/components/ForecastOrderForm.vue +299 -0
  858. package/references/front-demo/src/views/forecast-order/components/ProductSelector.vue +167 -0
  859. package/references/front-demo/src/views/forecast-order/components/ReplyDialog.vue +170 -0
  860. package/references/front-demo/src/views/forecast-order/components/StatusFlowBar.vue +156 -0
  861. package/references/front-demo/src/views/forecast-order/components/TransferFoDialog.vue +97 -0
  862. package/references/front-demo/src/views/forecast-order/config/index.vue +205 -0
  863. package/references/front-demo/src/views/forecast-order/index.vue +539 -0
  864. package/references/front-demo/src/views/home-page/WorkTable.vue +116 -0
  865. package/references/front-demo/src/views/home-page/index.vue +14 -0
  866. package/references/front-demo/src/views/layout/Frame.vue +75 -0
  867. package/references/front-demo/src/views/layout/Layout.vue +186 -0
  868. package/references/front-demo/src/views/layout/MiddleView.vue +29 -0
  869. package/references/front-demo/src/views/layout/components/AppMain.vue +302 -0
  870. package/references/front-demo/src/views/layout/components/CompactTools/index.vue +59 -0
  871. package/references/front-demo/src/views/layout/components/Navbar/components/AVue.vue +34 -0
  872. package/references/front-demo/src/views/layout/components/Navbar/components/Gpt.vue +51 -0
  873. package/references/front-demo/src/views/layout/components/Navbar/components/Help.vue +52 -0
  874. package/references/front-demo/src/views/layout/components/Navbar/components/Locale.vue +143 -0
  875. package/references/front-demo/src/views/layout/components/Navbar/components/Message.vue +495 -0
  876. package/references/front-demo/src/views/layout/components/Navbar/components/NavbarMenu.vue +196 -0
  877. package/references/front-demo/src/views/layout/components/Navbar/components/Personal.vue +308 -0
  878. package/references/front-demo/src/views/layout/components/Navbar/components/Portal.vue +34 -0
  879. package/references/front-demo/src/views/layout/components/Navbar/components/SystemChange.vue +133 -0
  880. package/references/front-demo/src/views/layout/components/Navbar/components/Tablet.vue +206 -0
  881. package/references/front-demo/src/views/layout/components/Navbar/components/TenantChange.vue +186 -0
  882. package/references/front-demo/src/views/layout/components/Navbar/components/Theme.vue +429 -0
  883. package/references/front-demo/src/views/layout/components/Navbar/index.vue +220 -0
  884. package/references/front-demo/src/views/layout/components/Sidebar/components/CustomSliderMenu.vue +267 -0
  885. package/references/front-demo/src/views/layout/components/Sidebar/components/FetchMenuItem.vue +45 -0
  886. package/references/front-demo/src/views/layout/components/Sidebar/components/MenuItem.vue +135 -0
  887. package/references/front-demo/src/views/layout/components/Sidebar/components/MenuSearch.vue +102 -0
  888. package/references/front-demo/src/views/layout/components/Sidebar/components/SubMenu.js +190 -0
  889. package/references/front-demo/src/views/layout/components/Sidebar/components/SubMenu.vue +125 -0
  890. package/references/front-demo/src/views/layout/components/Sidebar/components/ToggleSidebar.vue +51 -0
  891. package/references/front-demo/src/views/layout/components/Sidebar/index.vue +464 -0
  892. package/references/front-demo/src/views/layout/components/TagsView.vue +683 -0
  893. package/references/front-demo/src/views/layout/components/chatGPT/image/chatgpt.png +0 -0
  894. package/references/front-demo/src/views/layout/components/chatGPT/image/knowledge_IT.png +0 -0
  895. package/references/front-demo/src/views/layout/components/chatGPT/image/knowledge_gushen.png +0 -0
  896. package/references/front-demo/src/views/layout/components/chatGPT/image/pmo_background.png +0 -0
  897. package/references/front-demo/src/views/layout/components/chatGPT/image/smile.png +0 -0
  898. package/references/front-demo/src/views/layout/components/chatGPT/image/stop.svg +1 -0
  899. package/references/front-demo/src/views/layout/components/chatGPT/image/titleIcon.png +0 -0
  900. package/references/front-demo/src/views/layout/components/chatGPT/index.js +7 -0
  901. package/references/front-demo/src/views/layout/components/chatGPT/index.vue +517 -0
  902. package/references/front-demo/src/views/layout/components/chatGPT/styles/index.scss +360 -0
  903. package/references/front-demo/src/views/layout/components/chatGPT/utils/gpt.js +29 -0
  904. package/references/front-demo/src/views/layout/components/chatGPT/utils/index.js +70 -0
  905. package/references/front-demo/src/views/layout/components/index.js +6 -0
  906. package/references/front-demo/src/views/layout/mixin/ResizeHandler.js +28 -0
  907. package/references/front-demo/src/views/layout/utils/dynamicFormHelper.js +44 -0
  908. package/references/front-demo/src/views/layout/utils/scroll.js +89 -0
  909. package/references/front-demo/src/views/letters/config/gridConfig.js +59 -0
  910. package/references/front-demo/src/views/letters/index.vue +401 -0
  911. package/references/front-demo/src/views/login/ForgetPassword.vue +425 -0
  912. package/references/front-demo/src/views/login/FormLogin.vue +1222 -0
  913. package/references/front-demo/src/views/login/ScanLogin.vue +256 -0
  914. package/references/front-demo/src/views/login/index.vue +432 -0
  915. package/references/front-demo/src/views/mdmCustomer/__tests__/CustomerList.spec.ts +90 -0
  916. package/references/front-demo/src/views/mdmCustomer/components/AddressFormDialog.vue +95 -0
  917. package/references/front-demo/src/views/mdmCustomer/components/ConfirmDialog.vue +37 -0
  918. package/references/front-demo/src/views/mdmCustomer/components/CustomerDetailDrawer.vue +118 -0
  919. package/references/front-demo/src/views/mdmCustomer/components/CustomerFormDialog.vue +254 -0
  920. package/references/front-demo/src/views/mdmCustomer/index.vue +397 -0
  921. package/references/front-demo/src/views/person-info/components/information.vue +99 -0
  922. package/references/front-demo/src/views/person-info/index.vue +28 -0
  923. package/references/front-demo/src/views/product-master-data/__tests__/ProductFormDialog.spec.ts +246 -0
  924. package/references/front-demo/src/views/product-master-data/__tests__/ProductList.spec.ts +423 -0
  925. package/references/front-demo/src/views/product-master-data/components/ConfirmDialog.vue +69 -0
  926. package/references/front-demo/src/views/product-master-data/components/ProductDetailDrawer.vue +140 -0
  927. package/references/front-demo/src/views/product-master-data/components/ProductFormDialog.vue +198 -0
  928. package/references/front-demo/src/views/product-master-data/index.vue +384 -0
  929. package/references/front-demo/src/views/sso/login/index.vue +128 -0
  930. package/references/front-demo/src/views/sso/multi-login/index.vue +95 -0
  931. package/references/front-demo/src/views/third-login/index.vue +73 -0
  932. package/references/front-demo/src/views/third-view.vue +86 -0
  933. package/references/front-demo/tsconfig.app.json +12 -0
  934. package/references/front-demo/tsconfig.json +11 -0
  935. package/references/front-demo/tsconfig.node.json +19 -0
  936. package/references/front-demo/vite.config.ts +56 -0
  937. package/references/front-demo/vitest.config.ts +35 -0
  938. package/references/python-end-standard/01-Python/345/220/216/347/253/257/347/274/226/347/240/201/350/247/204/350/214/203.md +372 -0
  939. package/references/python-end-standard/02-/346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/344/270/216/344/275/277/347/224/250/350/247/204/350/214/203.md +226 -0
  940. package/references/python-end-standard/03-Celery/345/274/202/346/255/245/344/273/273/345/212/241/350/247/204/350/214/203.md +237 -0
  941. package/references/python-end-standard/04-Redis/344/275/277/347/224/250/350/247/204/350/214/203.md +231 -0
  942. package/references/python-end-standard/index.md +12 -0
  943. package/references/web-ui/.editorconfig +9 -0
  944. package/references/web-ui/.gitattributes +1 -0
  945. package/references/web-ui/.prettierrc.json +6 -0
  946. package/references/web-ui/README.md +39 -0
  947. package/references/web-ui/auto-imports.d.ts +10 -0
  948. package/references/web-ui/components.d.ts +78 -0
  949. package/references/web-ui/env.d.ts +1 -0
  950. package/references/web-ui/eslint.config.ts +22 -0
  951. package/references/web-ui/index.html +22 -0
  952. package/references/web-ui/package.json +57 -0
  953. package/references/web-ui/public/apiurls.js +69 -0
  954. package/references/web-ui/public/config.js +93 -0
  955. package/references/web-ui/public/favicon.ico +0 -0
  956. package/references/web-ui/src/App.vue +117 -0
  957. package/references/web-ui/src/api/app.ts +298 -0
  958. package/references/web-ui/src/api/attachment.ts +30 -0
  959. package/references/web-ui/src/api/base-exception/index.ts +87 -0
  960. package/references/web-ui/src/api/collect/index.ts +37 -0
  961. package/references/web-ui/src/api/comment/index.ts +44 -0
  962. package/references/web-ui/src/api/dashboard/index.ts +83 -0
  963. package/references/web-ui/src/api/dataImport.ts +97 -0
  964. package/references/web-ui/src/api/dingding/index.ts +43 -0
  965. package/references/web-ui/src/api/export.ts +25 -0
  966. package/references/web-ui/src/api/home/index.ts +78 -0
  967. package/references/web-ui/src/api/iotBaseRole/index.ts +32 -0
  968. package/references/web-ui/src/api/iotBaseSystem/index.ts +32 -0
  969. package/references/web-ui/src/api/letters/index.ts +93 -0
  970. package/references/web-ui/src/api/login.ts +140 -0
  971. package/references/web-ui/src/api/menu/index.ts +79 -0
  972. package/references/web-ui/src/api/multi-login/index.ts +36 -0
  973. package/references/web-ui/src/api/personalInformation/index.ts +9 -0
  974. package/references/web-ui/src/api/portal/index.ts +95 -0
  975. package/references/web-ui/src/api/practice/index.ts +32 -0
  976. package/references/web-ui/src/api/reset-password/index.ts +16 -0
  977. package/references/web-ui/src/api/system-manage/dataImport/index.ts +87 -0
  978. package/references/web-ui/src/api/system-manage/menu/index.ts +34 -0
  979. package/references/web-ui/src/api/system-manage/reverse-authorization/index.ts +18 -0
  980. package/references/web-ui/src/api/testMenu/demo1/index.ts +14 -0
  981. package/references/web-ui/src/api/testMenu/demo2/index.ts +0 -0
  982. package/references/web-ui/src/api/testMenu/leaveApplication/index.ts +53 -0
  983. package/references/web-ui/src/api/testMenu/testDemo/index.ts +66 -0
  984. package/references/web-ui/src/api/update/index.ts +43 -0
  985. package/references/web-ui/src/api/worktable/agenda.ts +19 -0
  986. package/references/web-ui/src/api/worktable/approved.ts +32 -0
  987. package/references/web-ui/src/api/worktable/entrusted.ts +92 -0
  988. package/references/web-ui/src/api/worktable/myProcess.ts +48 -0
  989. package/references/web-ui/src/api/worktable/startTask.ts +56 -0
  990. package/references/web-ui/src/api/worktable/tobeRead.ts +28 -0
  991. package/references/web-ui/src/api/wx-work/index.ts +43 -0
  992. package/references/web-ui/src/assets/images/404.png +0 -0
  993. package/references/web-ui/src/assets/images/404_cloud.png +0 -0
  994. package/references/web-ui/src/assets/images/compact_layout.png +0 -0
  995. package/references/web-ui/src/assets/images/dingding.png +0 -0
  996. package/references/web-ui/src/assets/images/feishu.png +0 -0
  997. package/references/web-ui/src/assets/images/hover.png +0 -0
  998. package/references/web-ui/src/assets/images/login_background.jpg +0 -0
  999. package/references/web-ui/src/assets/images/login_banner.jpg +0 -0
  1000. package/references/web-ui/src/assets/images/logo.png +0 -0
  1001. package/references/web-ui/src/assets/images/noData.png +0 -0
  1002. package/references/web-ui/src/assets/images/no_data.png +0 -0
  1003. package/references/web-ui/src/assets/images/normal_layout.png +0 -0
  1004. package/references/web-ui/src/assets/images/qiyeweixin.png +0 -0
  1005. package/references/web-ui/src/assets/images/sider-open.png +0 -0
  1006. package/references/web-ui/src/assets/images/vertical.png +0 -0
  1007. package/references/web-ui/src/assets/png/pass.png +0 -0
  1008. package/references/web-ui/src/components/GsIcon/index.ts +7 -0
  1009. package/references/web-ui/src/components/GsIcon/index.vue +47 -0
  1010. package/references/web-ui/src/components/GsIconDialog/icons.ts +2167 -0
  1011. package/references/web-ui/src/components/GsIconDialog/index.ts +7 -0
  1012. package/references/web-ui/src/components/GsIconDialog/index.vue +856 -0
  1013. package/references/web-ui/src/components/GsUpload/GsOverloadText.vue +68 -0
  1014. package/references/web-ui/src/components/GsUpload/attachmentList.vue +241 -0
  1015. package/references/web-ui/src/components/GsUpload/copper.vue +117 -0
  1016. package/references/web-ui/src/components/GsUpload/imgUpload.vue +382 -0
  1017. package/references/web-ui/src/components/GsUpload/index.vue +468 -0
  1018. package/references/web-ui/src/components/GsUpload/preview.vue +44 -0
  1019. package/references/web-ui/src/components/GsUpload/utils.ts +151 -0
  1020. package/references/web-ui/src/components/SvgIcon/index.ts +7 -0
  1021. package/references/web-ui/src/components/SvgIcon/index.vue +39 -0
  1022. package/references/web-ui/src/components/UploadImg/index.ts +7 -0
  1023. package/references/web-ui/src/components/UploadImg/index.vue +292 -0
  1024. package/references/web-ui/src/components/global-register.ts +31 -0
  1025. package/references/web-ui/src/components/utils/index.ts +12 -0
  1026. package/references/web-ui/src/config/index.js +64 -0
  1027. package/references/web-ui/src/core/initMain.ts +89 -0
  1028. package/references/web-ui/src/icons/index.ts +5 -0
  1029. package/references/web-ui/src/icons/svg/AssessmentInfo.svg +1 -0
  1030. package/references/web-ui/src/icons/svg/BasicConfig.svg +1 -0
  1031. package/references/web-ui/src/icons/svg/DataEase.svg +86 -0
  1032. package/references/web-ui/src/icons/svg/PDF.svg +1 -0
  1033. package/references/web-ui/src/icons/svg/account_box.svg +5 -0
  1034. package/references/web-ui/src/icons/svg/add.svg +1 -0
  1035. package/references/web-ui/src/icons/svg/alert.svg +8 -0
  1036. package/references/web-ui/src/icons/svg/alertlist.svg +18 -0
  1037. package/references/web-ui/src/icons/svg/all-msg.svg +1 -0
  1038. package/references/web-ui/src/icons/svg/analysis.svg +1 -0
  1039. package/references/web-ui/src/icons/svg/app.svg +1 -0
  1040. package/references/web-ui/src/icons/svg/assPersonnel.svg +1 -0
  1041. package/references/web-ui/src/icons/svg/assessment.svg +1 -0
  1042. package/references/web-ui/src/icons/svg/bar-horizontal.svg +1 -0
  1043. package/references/web-ui/src/icons/svg/bar-stack-horizontal.svg +1 -0
  1044. package/references/web-ui/src/icons/svg/bar-stack.svg +1 -0
  1045. package/references/web-ui/src/icons/svg/bar.svg +1 -0
  1046. package/references/web-ui/src/icons/svg/basicalgorithm.svg +1 -0
  1047. package/references/web-ui/src/icons/svg/battery.svg +1 -0
  1048. package/references/web-ui/src/icons/svg/bbgl.svg +1 -0
  1049. package/references/web-ui/src/icons/svg/bell.svg +5 -0
  1050. package/references/web-ui/src/icons/svg/bfcx.svg +1 -0
  1051. package/references/web-ui/src/icons/svg/bjqd.svg +1 -0
  1052. package/references/web-ui/src/icons/svg/bjxhtj.svg +1 -0
  1053. package/references/web-ui/src/icons/svg/bjxhxq.svg +1 -0
  1054. package/references/web-ui/src/icons/svg/bmll.svg +1 -0
  1055. package/references/web-ui/src/icons/svg/bmtl.svg +1 -0
  1056. package/references/web-ui/src/icons/svg/bqcj.svg +1 -0
  1057. package/references/web-ui/src/icons/svg/bqmbgl.svg +1 -0
  1058. package/references/web-ui/src/icons/svg/buddle-map.svg +1 -0
  1059. package/references/web-ui/src/icons/svg/bug.svg +1 -0
  1060. package/references/web-ui/src/icons/svg/bygd.svg +1 -0
  1061. package/references/web-ui/src/icons/svg/bz.svg +1 -0
  1062. package/references/web-ui/src/icons/svg/bzgl.svg +1 -0
  1063. package/references/web-ui/src/icons/svg/characteristics.svg +1 -0
  1064. package/references/web-ui/src/icons/svg/chart-mix.svg +1 -0
  1065. package/references/web-ui/src/icons/svg/checkbox-checked.svg +5 -0
  1066. package/references/web-ui/src/icons/svg/checkimage.svg +1 -0
  1067. package/references/web-ui/src/icons/svg/ck.svg +1 -0
  1068. package/references/web-ui/src/icons/svg/classifymark.svg +1 -0
  1069. package/references/web-ui/src/icons/svg/closeEyes.svg +15 -0
  1070. package/references/web-ui/src/icons/svg/club.svg +1 -0
  1071. package/references/web-ui/src/icons/svg/collector.svg +1 -0
  1072. package/references/web-ui/src/icons/svg/collectormanage.svg +1 -0
  1073. package/references/web-ui/src/icons/svg/crkdcx.svg +1 -0
  1074. package/references/web-ui/src/icons/svg/dashboard-collector.svg +38 -0
  1075. package/references/web-ui/src/icons/svg/dashboard-device.svg +40 -0
  1076. package/references/web-ui/src/icons/svg/dashboard-gateway.svg +38 -0
  1077. package/references/web-ui/src/icons/svg/dashboard-warning.svg +40 -0
  1078. package/references/web-ui/src/icons/svg/dashboard.svg +1 -0
  1079. package/references/web-ui/src/icons/svg/database.svg +1 -0
  1080. package/references/web-ui/src/icons/svg/dataset-task.svg +1 -0
  1081. package/references/web-ui/src/icons/svg/datasource.svg +1 -0
  1082. package/references/web-ui/src/icons/svg/db.svg +1 -0
  1083. package/references/web-ui/src/icons/svg/ddgl.svg +1 -0
  1084. package/references/web-ui/src/icons/svg/ddycjk.svg +1 -0
  1085. package/references/web-ui/src/icons/svg/default.svg +1 -0
  1086. package/references/web-ui/src/icons/svg/definition.svg +1 -0
  1087. package/references/web-ui/src/icons/svg/depassessment.svg +1 -0
  1088. package/references/web-ui/src/icons/svg/dept.svg +1 -0
  1089. package/references/web-ui/src/icons/svg/device.svg +1 -0
  1090. package/references/web-ui/src/icons/svg/devicebig.svg +1 -0
  1091. package/references/web-ui/src/icons/svg/devicegroup.svg +1 -0
  1092. package/references/web-ui/src/icons/svg/devicelist.svg +1 -0
  1093. package/references/web-ui/src/icons/svg/devicemanage.svg +1 -0
  1094. package/references/web-ui/src/icons/svg/deviceparam.svg +1 -0
  1095. package/references/web-ui/src/icons/svg/devicetype.svg +1 -0
  1096. package/references/web-ui/src/icons/svg/diagnose.svg +1 -0
  1097. package/references/web-ui/src/icons/svg/diagnoseresult.svg +1 -0
  1098. package/references/web-ui/src/icons/svg/distribution.svg +1 -0
  1099. package/references/web-ui/src/icons/svg/doc.svg +1 -0
  1100. package/references/web-ui/src/icons/svg/docs.svg +1 -0
  1101. package/references/web-ui/src/icons/svg/dqby.svg +1 -0
  1102. package/references/web-ui/src/icons/svg/dqbydb.svg +1 -0
  1103. package/references/web-ui/src/icons/svg/dqbygc.svg +1 -0
  1104. package/references/web-ui/src/icons/svg/dqbygd.svg +1 -0
  1105. package/references/web-ui/src/icons/svg/dqbyjh.svg +1 -0
  1106. package/references/web-ui/src/icons/svg/ds-api.svg +1 -0
  1107. package/references/web-ui/src/icons/svg/ds-custom.svg +1 -0
  1108. package/references/web-ui/src/icons/svg/ds-db.svg +1 -0
  1109. package/references/web-ui/src/icons/svg/ds-excel.svg +1 -0
  1110. package/references/web-ui/src/icons/svg/ds-sql.svg +1 -0
  1111. package/references/web-ui/src/icons/svg/ds-union.svg +1 -0
  1112. package/references/web-ui/src/icons/svg/dxjdb.svg +1 -0
  1113. package/references/web-ui/src/icons/svg/dxjgc.svg +1 -0
  1114. package/references/web-ui/src/icons/svg/dxjgd.svg +1 -0
  1115. package/references/web-ui/src/icons/svg/dxjjh.svg +1 -0
  1116. package/references/web-ui/src/icons/svg/dy.svg +1 -0
  1117. package/references/web-ui/src/icons/svg/earth.svg +5 -0
  1118. package/references/web-ui/src/icons/svg/echart-fullscreen.svg +1 -0
  1119. package/references/web-ui/src/icons/svg/echart-nomalscreen.svg +1 -0
  1120. package/references/web-ui/src/icons/svg/edit.svg +1 -0
  1121. package/references/web-ui/src/icons/svg/email-task.svg +1 -0
  1122. package/references/web-ui/src/icons/svg/envelop.svg +5 -0
  1123. package/references/web-ui/src/icons/svg/equalizer.svg +5 -0
  1124. package/references/web-ui/src/icons/svg/example.svg +1 -0
  1125. package/references/web-ui/src/icons/svg/exclamationmark.svg +1 -0
  1126. package/references/web-ui/src/icons/svg/exclamationmark2.svg +1 -0
  1127. package/references/web-ui/src/icons/svg/exit-fullscreen.svg +1 -0
  1128. package/references/web-ui/src/icons/svg/eye-open.svg +1 -0
  1129. package/references/web-ui/src/icons/svg/eye.svg +1 -0
  1130. package/references/web-ui/src/icons/svg/fav.svg +1 -0
  1131. package/references/web-ui/src/icons/svg/field_location.svg +1 -0
  1132. package/references/web-ui/src/icons/svg/field_text.svg +1 -0
  1133. package/references/web-ui/src/icons/svg/field_time.svg +1 -0
  1134. package/references/web-ui/src/icons/svg/field_value.svg +1 -0
  1135. package/references/web-ui/src/icons/svg/folder.svg +1 -0
  1136. package/references/web-ui/src/icons/svg/form.svg +1 -0
  1137. package/references/web-ui/src/icons/svg/fullscreen.svg +1 -0
  1138. package/references/web-ui/src/icons/svg/funnel.svg +1 -0
  1139. package/references/web-ui/src/icons/svg/gateway.svg +1 -0
  1140. package/references/web-ui/src/icons/svg/gatewaymanage.svg +16 -0
  1141. package/references/web-ui/src/icons/svg/gauge.svg +1 -0
  1142. package/references/web-ui/src/icons/svg/gdgl.svg +1 -0
  1143. package/references/web-ui/src/icons/svg/gdll.svg +1 -0
  1144. package/references/web-ui/src/icons/svg/gdtl.svg +1 -0
  1145. package/references/web-ui/src/icons/svg/gdwcqk.svg +1 -0
  1146. package/references/web-ui/src/icons/svg/gdwcxq.svg +1 -0
  1147. package/references/web-ui/src/icons/svg/gnwz.svg +1 -0
  1148. package/references/web-ui/src/icons/svg/gs-add.svg +14 -0
  1149. package/references/web-ui/src/icons/svg/gs-change.svg +18 -0
  1150. package/references/web-ui/src/icons/svg/gs-choose-icon.svg +23 -0
  1151. package/references/web-ui/src/icons/svg/gs-close.svg +15 -0
  1152. package/references/web-ui/src/icons/svg/gs-delete.svg +19 -0
  1153. package/references/web-ui/src/icons/svg/gs-down.svg +12 -0
  1154. package/references/web-ui/src/icons/svg/gs-edit.svg +23 -0
  1155. package/references/web-ui/src/icons/svg/gs-edit2.svg +18 -0
  1156. package/references/web-ui/src/icons/svg/gs-page.svg +14 -0
  1157. package/references/web-ui/src/icons/svg/gs-resize.svg +12 -0
  1158. package/references/web-ui/src/icons/svg/gs-select.svg +15 -0
  1159. package/references/web-ui/src/icons/svg/gzbx.svg +1 -0
  1160. package/references/web-ui/src/icons/svg/gzgd.svg +1 -0
  1161. package/references/web-ui/src/icons/svg/gzk.svg +1 -0
  1162. package/references/web-ui/src/icons/svg/gzzd.svg +1 -0
  1163. package/references/web-ui/src/icons/svg/head.svg +13 -0
  1164. package/references/web-ui/src/icons/svg/iconfont.svg +71 -0
  1165. package/references/web-ui/src/icons/svg/im_message.svg +1 -0
  1166. package/references/web-ui/src/icons/svg/indexdefine.svg +1 -0
  1167. package/references/web-ui/src/icons/svg/inner-join.svg +1 -0
  1168. package/references/web-ui/src/icons/svg/international.svg +1 -0
  1169. package/references/web-ui/src/icons/svg/jcsj.svg +1 -0
  1170. package/references/web-ui/src/icons/svg/jhjxgd.svg +1 -0
  1171. package/references/web-ui/src/icons/svg/jilu.svg +1 -0
  1172. package/references/web-ui/src/icons/svg/jldw.svg +1 -0
  1173. package/references/web-ui/src/icons/svg/jscsfp.svg +1 -0
  1174. package/references/web-ui/src/icons/svg/jscswh.svg +1 -0
  1175. package/references/web-ui/src/icons/svg/kccx.svg +1 -0
  1176. package/references/web-ui/src/icons/svg/kcpd.svg +1 -0
  1177. package/references/web-ui/src/icons/svg/konwledgelist.svg +1 -0
  1178. package/references/web-ui/src/icons/svg/kucun.svg +1 -0
  1179. package/references/web-ui/src/icons/svg/language.svg +1 -0
  1180. package/references/web-ui/src/icons/svg/left-join.svg +1 -0
  1181. package/references/web-ui/src/icons/svg/leftBack.svg +15 -0
  1182. package/references/web-ui/src/icons/svg/line-stack.svg +1 -0
  1183. package/references/web-ui/src/icons/svg/line.svg +1 -0
  1184. package/references/web-ui/src/icons/svg/link.svg +1 -0
  1185. package/references/web-ui/src/icons/svg/liquid.svg +1 -0
  1186. package/references/web-ui/src/icons/svg/list.svg +5 -0
  1187. package/references/web-ui/src/icons/svg/location2.svg +5 -0
  1188. package/references/web-ui/src/icons/svg/lock_closed.svg +1 -0
  1189. package/references/web-ui/src/icons/svg/lock_open.svg +1 -0
  1190. package/references/web-ui/src/icons/svg/logo.svg +32 -0
  1191. package/references/web-ui/src/icons/svg/map.svg +1 -0
  1192. package/references/web-ui/src/icons/svg/map_old.svg +1 -0
  1193. package/references/web-ui/src/icons/svg/menu.svg +1 -0
  1194. package/references/web-ui/src/icons/svg/message.svg +1 -0
  1195. package/references/web-ui/src/icons/svg/messaged.svg +1 -0
  1196. package/references/web-ui/src/icons/svg/meter.svg +5 -0
  1197. package/references/web-ui/src/icons/svg/mobile.svg +5 -0
  1198. package/references/web-ui/src/icons/svg/model.svg +1 -0
  1199. package/references/web-ui/src/icons/svg/money.svg +1 -0
  1200. package/references/web-ui/src/icons/svg/more_v.svg +1 -0
  1201. package/references/web-ui/src/icons/svg/msg-setting.svg +1 -0
  1202. package/references/web-ui/src/icons/svg/mttr&mtbf.svg +1 -0
  1203. package/references/web-ui/src/icons/svg/multiplemp.svg +1 -0
  1204. package/references/web-ui/src/icons/svg/myassessment.svg +1 -0
  1205. package/references/web-ui/src/icons/svg/nested.svg +1 -0
  1206. package/references/web-ui/src/icons/svg/new-message.svg +5 -0
  1207. package/references/web-ui/src/icons/svg/no-join.svg +1 -0
  1208. package/references/web-ui/src/icons/svg/normal-fx.svg +1 -0
  1209. package/references/web-ui/src/icons/svg/notification.svg +1 -0
  1210. package/references/web-ui/src/icons/svg/openEyes.svg +12 -0
  1211. package/references/web-ui/src/icons/svg/openai.svg +1 -0
  1212. package/references/web-ui/src/icons/svg/panel.svg +1 -0
  1213. package/references/web-ui/src/icons/svg/password.svg +1 -0
  1214. package/references/web-ui/src/icons/svg/people.svg +1 -0
  1215. package/references/web-ui/src/icons/svg/peoples.svg +1 -0
  1216. package/references/web-ui/src/icons/svg/pie-rose.svg +1 -0
  1217. package/references/web-ui/src/icons/svg/pie.svg +1 -0
  1218. package/references/web-ui/src/icons/svg/plus.svg +5 -0
  1219. package/references/web-ui/src/icons/svg/podcast.svg +5 -0
  1220. package/references/web-ui/src/icons/svg/preview.svg +1 -0
  1221. package/references/web-ui/src/icons/svg/qrcode.svg +5 -0
  1222. package/references/web-ui/src/icons/svg/radar.svg +1 -0
  1223. package/references/web-ui/src/icons/svg/readed-msg.svg +1 -0
  1224. package/references/web-ui/src/icons/svg/remove.svg +1 -0
  1225. package/references/web-ui/src/icons/svg/rhdb.svg +1 -0
  1226. package/references/web-ui/src/icons/svg/rhgc.svg +1 -0
  1227. package/references/web-ui/src/icons/svg/rhgd.svg +1 -0
  1228. package/references/web-ui/src/icons/svg/right-join.svg +1 -0
  1229. package/references/web-ui/src/icons/svg/role.svg +1 -0
  1230. package/references/web-ui/src/icons/svg/rulelist.svg +1 -0
  1231. package/references/web-ui/src/icons/svg/runconfig.svg +1 -0
  1232. package/references/web-ui/src/icons/svg/sbgzlbb.svg +1 -0
  1233. package/references/web-ui/src/icons/svg/sbqy.svg +1 -0
  1234. package/references/web-ui/src/icons/svg/sbrhjh.svg +1 -0
  1235. package/references/web-ui/src/icons/svg/sbwhl.svg +1 -0
  1236. package/references/web-ui/src/icons/svg/scatter.svg +1 -0
  1237. package/references/web-ui/src/icons/svg/scene.svg +1 -0
  1238. package/references/web-ui/src/icons/svg/shoppingCard.svg +1 -0
  1239. package/references/web-ui/src/icons/svg/shouqi.svg +13 -0
  1240. package/references/web-ui/src/icons/svg/singlemp.svg +1 -0
  1241. package/references/web-ui/src/icons/svg/size.svg +1 -0
  1242. package/references/web-ui/src/icons/svg/slimHead.svg +12 -0
  1243. package/references/web-ui/src/icons/svg/sort-asc.svg +1 -0
  1244. package/references/web-ui/src/icons/svg/sort-desc.svg +1 -0
  1245. package/references/web-ui/src/icons/svg/standard.svg +1 -0
  1246. package/references/web-ui/src/icons/svg/star.svg +1 -0
  1247. package/references/web-ui/src/icons/svg/stats-bars.svg +5 -0
  1248. package/references/web-ui/src/icons/svg/suffix-obj.svg +1 -0
  1249. package/references/web-ui/src/icons/svg/sys-tools.svg +1 -0
  1250. package/references/web-ui/src/icons/svg/system.svg +1 -0
  1251. package/references/web-ui/src/icons/svg/table-info.svg +1 -0
  1252. package/references/web-ui/src/icons/svg/table-normal.svg +1 -0
  1253. package/references/web-ui/src/icons/svg/table-pivot.svg +1 -0
  1254. package/references/web-ui/src/icons/svg/table.svg +1 -0
  1255. package/references/web-ui/src/icons/svg/taizhang.svg +1 -0
  1256. package/references/web-ui/src/icons/svg/task.svg +1 -0
  1257. package/references/web-ui/src/icons/svg/tenant.svg +1 -0
  1258. package/references/web-ui/src/icons/svg/text.svg +1 -0
  1259. package/references/web-ui/src/icons/svg/tjqq.svg +1 -0
  1260. package/references/web-ui/src/icons/svg/tree-company.svg +1 -0
  1261. package/references/web-ui/src/icons/svg/tree-department.svg +1 -0
  1262. package/references/web-ui/src/icons/svg/tree-device.svg +1 -0
  1263. package/references/web-ui/src/icons/svg/tree-organization.svg +1 -0
  1264. package/references/web-ui/src/icons/svg/tree.svg +1 -0
  1265. package/references/web-ui/src/icons/svg/treemap.svg +1 -0
  1266. package/references/web-ui/src/icons/svg/undefinedata.svg +1 -0
  1267. package/references/web-ui/src/icons/svg/unread-msg.svg +1 -0
  1268. package/references/web-ui/src/icons/svg/user-check.svg +6 -0
  1269. package/references/web-ui/src/icons/svg/user.svg +1 -0
  1270. package/references/web-ui/src/icons/svg/users.svg +6 -0
  1271. package/references/web-ui/src/icons/svg/warn-tre.svg +1 -0
  1272. package/references/web-ui/src/icons/svg/waterfall.svg +1 -0
  1273. package/references/web-ui/src/icons/svg/wdgzt.svg +1 -0
  1274. package/references/web-ui/src/icons/svg/wdlc.svg +1 -0
  1275. package/references/web-ui/src/icons/svg/web-msg.svg +1 -0
  1276. package/references/web-ui/src/icons/svg/wlbm.svg +1 -0
  1277. package/references/web-ui/src/icons/svg/wlfl.svg +1 -0
  1278. package/references/web-ui/src/icons/svg/wlgl.svg +1 -0
  1279. package/references/web-ui/src/icons/svg/word-cloud.svg +1 -0
  1280. package/references/web-ui/src/icons/svg/wtsp.svg +1 -0
  1281. package/references/web-ui/src/icons/svg/wxdb.svg +1 -0
  1282. package/references/web-ui/src/icons/svg/wxgc.svg +1 -0
  1283. package/references/web-ui/src/icons/svg/xiaoxi.svg +13 -0
  1284. package/references/web-ui/src/icons/svg/xyldr.svg +1 -0
  1285. package/references/web-ui/src/icons/svg/ysp.svg +1 -0
  1286. package/references/web-ui/src/icons/svg/yxgl.svg +1 -0
  1287. package/references/web-ui/src/icons/svg/zcfbjzttj.svg +1 -0
  1288. package/references/web-ui/src/icons/svg/zcfl.svg +1 -0
  1289. package/references/web-ui/src/icons/svg/zcgl.svg +1 -0
  1290. package/references/web-ui/src/icons/svg/zclk.svg +1 -0
  1291. package/references/web-ui/src/icons/svg/zcll.svg +1 -0
  1292. package/references/web-ui/src/icons/svg/zclx.svg +1 -0
  1293. package/references/web-ui/src/icons/svg/zcpd.svg +1 -0
  1294. package/references/web-ui/src/icons/svg/zctjbb.svg +1 -0
  1295. package/references/web-ui/src/icons/svg/zcz.svg +1 -0
  1296. package/references/web-ui/src/icons/svg/zhankai.svg +13 -0
  1297. package/references/web-ui/src/icons/svg/zichan.svg +1 -0
  1298. package/references/web-ui/src/icons/svg/zxck.svg +1 -0
  1299. package/references/web-ui/src/icons/svg/zxrk.svg +1 -0
  1300. package/references/web-ui/src/lang/element-lang.ts +26 -0
  1301. package/references/web-ui/src/lang/en-us.ts +146 -0
  1302. package/references/web-ui/src/lang/hu-hu.ts +1141 -0
  1303. package/references/web-ui/src/lang/index.ts +109 -0
  1304. package/references/web-ui/src/lang/iotBaseRole/en-us.ts +28 -0
  1305. package/references/web-ui/src/lang/iotBaseRole/zh-cn.ts +28 -0
  1306. package/references/web-ui/src/lang/iotBaseSystem/en-us.ts +35 -0
  1307. package/references/web-ui/src/lang/iotBaseSystem/zh-cn.ts +35 -0
  1308. package/references/web-ui/src/lang/modules/button/en-us.ts +158 -0
  1309. package/references/web-ui/src/lang/modules/button/zh-cn.ts +157 -0
  1310. package/references/web-ui/src/lang/modules/button/zh-tw.ts +157 -0
  1311. package/references/web-ui/src/lang/modules/customizeTable/en-us.ts +56 -0
  1312. package/references/web-ui/src/lang/modules/customizeTable/zh-cn.ts +55 -0
  1313. package/references/web-ui/src/lang/modules/customizeTable/zh-tw.ts +55 -0
  1314. package/references/web-ui/src/lang/modules/exportData/en-us.ts +19 -0
  1315. package/references/web-ui/src/lang/modules/exportData/zh-cn.ts +19 -0
  1316. package/references/web-ui/src/lang/modules/exportData/zh-tw.ts +19 -0
  1317. package/references/web-ui/src/lang/modules/exportHistroy/en-us.ts +10 -0
  1318. package/references/web-ui/src/lang/modules/exportHistroy/zh-cn.ts +10 -0
  1319. package/references/web-ui/src/lang/modules/exportHistroy/zh-tw.ts +10 -0
  1320. package/references/web-ui/src/lang/modules/gsReport/en-us.ts +41 -0
  1321. package/references/web-ui/src/lang/modules/gsReport/zh-cn.ts +41 -0
  1322. package/references/web-ui/src/lang/modules/gsReport/zh-tw.ts +41 -0
  1323. package/references/web-ui/src/lang/modules/gsUploadFile/en-us.ts +10 -0
  1324. package/references/web-ui/src/lang/modules/gsUploadFile/zh-cn.ts +10 -0
  1325. package/references/web-ui/src/lang/modules/gsUploadFile/zh-tw.ts +10 -0
  1326. package/references/web-ui/src/lang/modules/home/en-us.ts +19 -0
  1327. package/references/web-ui/src/lang/modules/home/zh-cn.ts +19 -0
  1328. package/references/web-ui/src/lang/modules/home/zh-tw.ts +19 -0
  1329. package/references/web-ui/src/lang/modules/importData/en-us.ts +42 -0
  1330. package/references/web-ui/src/lang/modules/importData/zh-cn.ts +42 -0
  1331. package/references/web-ui/src/lang/modules/importData/zh-tw.ts +42 -0
  1332. package/references/web-ui/src/lang/modules/importHistroy/en-us.ts +9 -0
  1333. package/references/web-ui/src/lang/modules/importHistroy/zh-cn.ts +9 -0
  1334. package/references/web-ui/src/lang/modules/importHistroy/zh-tw.ts +9 -0
  1335. package/references/web-ui/src/lang/modules/js/en-us.ts +63 -0
  1336. package/references/web-ui/src/lang/modules/js/zh-cn.ts +60 -0
  1337. package/references/web-ui/src/lang/modules/js/zh-tw.ts +60 -0
  1338. package/references/web-ui/src/lang/modules/letters/en-us.ts +21 -0
  1339. package/references/web-ui/src/lang/modules/letters/zh-cn.ts +22 -0
  1340. package/references/web-ui/src/lang/modules/letters/zh-tw.ts +22 -0
  1341. package/references/web-ui/src/lang/modules/login/en-us.ts +68 -0
  1342. package/references/web-ui/src/lang/modules/login/zh-cn.ts +64 -0
  1343. package/references/web-ui/src/lang/modules/login/zh-tw.ts +64 -0
  1344. package/references/web-ui/src/lang/modules/menu/en-us.ts +429 -0
  1345. package/references/web-ui/src/lang/modules/menu/zh-cn.ts +423 -0
  1346. package/references/web-ui/src/lang/modules/menu/zh-tw.ts +423 -0
  1347. package/references/web-ui/src/lang/modules/message/en-us.ts +4 -0
  1348. package/references/web-ui/src/lang/modules/message/zh-cn.ts +4 -0
  1349. package/references/web-ui/src/lang/modules/message/zh-tw.ts +4 -0
  1350. package/references/web-ui/src/lang/modules/otherLang/en-us.ts +63 -0
  1351. package/references/web-ui/src/lang/modules/otherLang/zh-cn.ts +60 -0
  1352. package/references/web-ui/src/lang/modules/otherLang/zh-tw.ts +58 -0
  1353. package/references/web-ui/src/lang/modules/person/en-us.ts +27 -0
  1354. package/references/web-ui/src/lang/modules/person/zh-cn.ts +27 -0
  1355. package/references/web-ui/src/lang/modules/person/zh-tw.ts +27 -0
  1356. package/references/web-ui/src/lang/modules/source_data/en-us.ts +49 -0
  1357. package/references/web-ui/src/lang/modules/source_data/zh-cn.ts +41 -0
  1358. package/references/web-ui/src/lang/modules/source_data/zh-tw.ts +41 -0
  1359. package/references/web-ui/src/lang/modules/theme/en-us.ts +22 -0
  1360. package/references/web-ui/src/lang/modules/theme/zh-cn.ts +22 -0
  1361. package/references/web-ui/src/lang/modules/theme/zh-tw.ts +23 -0
  1362. package/references/web-ui/src/lang/modules/third/en-us.ts +10 -0
  1363. package/references/web-ui/src/lang/modules/third/zh-cn.ts +9 -0
  1364. package/references/web-ui/src/lang/modules/third/zh-tw.ts +9 -0
  1365. package/references/web-ui/src/lang/modules/toast/en-us.ts +21 -0
  1366. package/references/web-ui/src/lang/modules/toast/zh-cn.ts +21 -0
  1367. package/references/web-ui/src/lang/modules/toast/zh-tw.ts +21 -0
  1368. package/references/web-ui/src/lang/modules/uploadDocument/en-us.ts +6 -0
  1369. package/references/web-ui/src/lang/modules/uploadDocument/zh-cn.ts +6 -0
  1370. package/references/web-ui/src/lang/modules/uploadDocument/zh-tw.ts +6 -0
  1371. package/references/web-ui/src/lang/utils.ts +20 -0
  1372. package/references/web-ui/src/lang/vi-vn.ts +1140 -0
  1373. package/references/web-ui/src/lang/zh-cn.ts +180 -0
  1374. package/references/web-ui/src/lang/zh-tw.ts +147 -0
  1375. package/references/web-ui/src/main.ts +25 -0
  1376. package/references/web-ui/src/permission.ts +407 -0
  1377. package/references/web-ui/src/plugins/i18n.ts +3 -0
  1378. package/references/web-ui/src/plugins/pinia.ts +7 -0
  1379. package/references/web-ui/src/qiankun.js +114 -0
  1380. package/references/web-ui/src/router/index.ts +119 -0
  1381. package/references/web-ui/src/store/index.ts +43 -0
  1382. package/references/web-ui/src/store/modules/app/actions.ts +137 -0
  1383. package/references/web-ui/src/store/modules/app/getters.ts +17 -0
  1384. package/references/web-ui/src/store/modules/app/index.ts +52 -0
  1385. package/references/web-ui/src/store/modules/app/mutations.ts +108 -0
  1386. package/references/web-ui/src/store/modules/permission/actions.ts +11 -0
  1387. package/references/web-ui/src/store/modules/permission/getters.ts +5 -0
  1388. package/references/web-ui/src/store/modules/permission/index.ts +14 -0
  1389. package/references/web-ui/src/store/modules/permission/mutations.ts +13 -0
  1390. package/references/web-ui/src/store/modules/tagsView/actions.ts +87 -0
  1391. package/references/web-ui/src/store/modules/tagsView/getters.ts +6 -0
  1392. package/references/web-ui/src/store/modules/tagsView/index.ts +18 -0
  1393. package/references/web-ui/src/store/modules/tagsView/mutations.ts +118 -0
  1394. package/references/web-ui/src/store/modules/theme/actions.ts +38 -0
  1395. package/references/web-ui/src/store/modules/theme/getters.ts +10 -0
  1396. package/references/web-ui/src/store/modules/theme/index.ts +26 -0
  1397. package/references/web-ui/src/store/modules/theme/mutations.ts +28 -0
  1398. package/references/web-ui/src/store/modules/user/actions.ts +243 -0
  1399. package/references/web-ui/src/store/modules/user/getters.ts +10 -0
  1400. package/references/web-ui/src/store/modules/user/index.ts +44 -0
  1401. package/references/web-ui/src/store/modules/user/mutations.ts +104 -0
  1402. package/references/web-ui/src/store/piniaToVuex/index.ts +179 -0
  1403. package/references/web-ui/src/stores/counter.ts +12 -0
  1404. package/references/web-ui/src/styles/element-plus.scss +937 -0
  1405. package/references/web-ui/src/styles/global.scss +826 -0
  1406. package/references/web-ui/src/styles/iconfont/demo.css +539 -0
  1407. package/references/web-ui/src/styles/iconfont/iconfont.css +68 -0
  1408. package/references/web-ui/src/styles/iconfont/iconfont.js +63 -0
  1409. package/references/web-ui/src/styles/iconfont/iconfont.ttf +0 -0
  1410. package/references/web-ui/src/styles/index.scss +116 -0
  1411. package/references/web-ui/src/styles/mixin.scss +78 -0
  1412. package/references/web-ui/src/styles/theme/black/content-management.scss +11 -0
  1413. package/references/web-ui/src/styles/theme/black/dynamic-report.scss +31 -0
  1414. package/references/web-ui/src/styles/theme/black/form-design.scss +181 -0
  1415. package/references/web-ui/src/styles/theme/black/open-api.scss +118 -0
  1416. package/references/web-ui/src/styles/theme/black/platform.scss +57 -0
  1417. package/references/web-ui/src/styles/theme/black/process-manage.scss +48 -0
  1418. package/references/web-ui/src/styles/theme/black/rent-mannage.scss +8 -0
  1419. package/references/web-ui/src/styles/theme/black/schedule.scss +45 -0
  1420. package/references/web-ui/src/styles/theme/black/service-management.scss +14 -0
  1421. package/references/web-ui/src/styles/theme/black/system-manage.scss +144 -0
  1422. package/references/web-ui/src/styles/theme/black.scss +1642 -0
  1423. package/references/web-ui/src/styles/theme/default/index.scss +1 -0
  1424. package/references/web-ui/src/styles/theme/default/menu.scss +199 -0
  1425. package/references/web-ui/src/styles/transition.scss +107 -0
  1426. package/references/web-ui/src/styles/variables.scss +66 -0
  1427. package/references/web-ui/src/utils/ArrayExtension.ts +175 -0
  1428. package/references/web-ui/src/utils/app-mixin.ts +50 -0
  1429. package/references/web-ui/src/utils/areas.ts +1712 -0
  1430. package/references/web-ui/src/utils/auth.ts +329 -0
  1431. package/references/web-ui/src/utils/base64.ts +231 -0
  1432. package/references/web-ui/src/utils/browser-helper.ts +39 -0
  1433. package/references/web-ui/src/utils/bus.ts +35 -0
  1434. package/references/web-ui/src/utils/deprecated-utils.ts +116 -0
  1435. package/references/web-ui/src/utils/events.ts +59 -0
  1436. package/references/web-ui/src/utils/index.ts +790 -0
  1437. package/references/web-ui/src/utils/name-auth.ts +97 -0
  1438. package/references/web-ui/src/utils/onlyMsgBox.ts +38 -0
  1439. package/references/web-ui/src/utils/pinyinList.ts +417 -0
  1440. package/references/web-ui/src/utils/request-utils.ts +277 -0
  1441. package/references/web-ui/src/utils/request.ts +100 -0
  1442. package/references/web-ui/src/utils/routeHelper.ts +66 -0
  1443. package/references/web-ui/src/utils/storage.ts +80 -0
  1444. package/references/web-ui/src/utils/theme.ts +192 -0
  1445. package/references/web-ui/src/utils/toPinYin.ts +34 -0
  1446. package/references/web-ui/src/utils/tool.ts +7103 -0
  1447. package/references/web-ui/src/utils/utilsFn.ts +73 -0
  1448. package/references/web-ui/src/utils/validate.ts +110 -0
  1449. package/references/web-ui/src/utils/watermark.ts +161 -0
  1450. package/references/web-ui/src/utils/watermarkcompact.ts +180 -0
  1451. package/references/web-ui/src/utils/wordRender.ts +100 -0
  1452. package/references/web-ui/src/utils/ws.ts +42 -0
  1453. package/references/web-ui/src/views/404.vue +245 -0
  1454. package/references/web-ui/src/views/CollectButton/demand.vue +39 -0
  1455. package/references/web-ui/src/views/CollectButton/dialog.vue +178 -0
  1456. package/references/web-ui/src/views/CollectButton/index.vue +306 -0
  1457. package/references/web-ui/src/views/FlowCharts/FormDemo.vue +236 -0
  1458. package/references/web-ui/src/views/FlowCharts/components/ListDetailButton/index.vue +36 -0
  1459. package/references/web-ui/src/views/FlowCharts/leaveApplication.vue +56 -0
  1460. package/references/web-ui/src/views/FlowCharts/testForm.vue +56 -0
  1461. package/references/web-ui/src/views/Password/index.vue +147 -0
  1462. package/references/web-ui/src/views/authorize/components/ForgetPassword.vue +309 -0
  1463. package/references/web-ui/src/views/authorize/components/FormLogin/components/VerificationDialog.vue +297 -0
  1464. package/references/web-ui/src/views/authorize/components/FormLogin/index.vue +649 -0
  1465. package/references/web-ui/src/views/authorize/index.vue +149 -0
  1466. package/references/web-ui/src/views/dynamic-form/index.vue +42 -0
  1467. package/references/web-ui/src/views/home-page/WorkTable.vue +116 -0
  1468. package/references/web-ui/src/views/home-page/index.vue +14 -0
  1469. package/references/web-ui/src/views/iotBaseRole/AddDrawer.vue +320 -0
  1470. package/references/web-ui/src/views/iotBaseRole/EditTable.vue +373 -0
  1471. package/references/web-ui/src/views/iotBaseRole/index.vue +313 -0
  1472. package/references/web-ui/src/views/iotBaseSystem/AddDrawer.vue +305 -0
  1473. package/references/web-ui/src/views/iotBaseSystem/index.vue +385 -0
  1474. package/references/web-ui/src/views/layout/Frame.vue +75 -0
  1475. package/references/web-ui/src/views/layout/Layout.vue +186 -0
  1476. package/references/web-ui/src/views/layout/MiddleView.vue +29 -0
  1477. package/references/web-ui/src/views/layout/components/AppMain.vue +302 -0
  1478. package/references/web-ui/src/views/layout/components/CompactTools/index.vue +59 -0
  1479. package/references/web-ui/src/views/layout/components/Navbar/components/AVue.vue +34 -0
  1480. package/references/web-ui/src/views/layout/components/Navbar/components/Gpt.vue +49 -0
  1481. package/references/web-ui/src/views/layout/components/Navbar/components/Help.vue +52 -0
  1482. package/references/web-ui/src/views/layout/components/Navbar/components/Locale.vue +99 -0
  1483. package/references/web-ui/src/views/layout/components/Navbar/components/Message.vue +495 -0
  1484. package/references/web-ui/src/views/layout/components/Navbar/components/NavbarMenu.vue +196 -0
  1485. package/references/web-ui/src/views/layout/components/Navbar/components/Personal.vue +308 -0
  1486. package/references/web-ui/src/views/layout/components/Navbar/components/Portal.vue +34 -0
  1487. package/references/web-ui/src/views/layout/components/Navbar/components/SystemChange.vue +133 -0
  1488. package/references/web-ui/src/views/layout/components/Navbar/components/Tablet.vue +206 -0
  1489. package/references/web-ui/src/views/layout/components/Navbar/components/TenantChange.vue +186 -0
  1490. package/references/web-ui/src/views/layout/components/Navbar/components/Theme.vue +367 -0
  1491. package/references/web-ui/src/views/layout/components/Navbar/index.vue +181 -0
  1492. package/references/web-ui/src/views/layout/components/Sidebar/components/CustomSliderMenu.vue +267 -0
  1493. package/references/web-ui/src/views/layout/components/Sidebar/components/FetchMenuItem.vue +45 -0
  1494. package/references/web-ui/src/views/layout/components/Sidebar/components/MenuItem.vue +135 -0
  1495. package/references/web-ui/src/views/layout/components/Sidebar/components/MenuSearch.vue +74 -0
  1496. package/references/web-ui/src/views/layout/components/Sidebar/components/SubMenu.js +190 -0
  1497. package/references/web-ui/src/views/layout/components/Sidebar/components/SubMenu.vue +125 -0
  1498. package/references/web-ui/src/views/layout/components/Sidebar/components/ToggleSidebar.vue +51 -0
  1499. package/references/web-ui/src/views/layout/components/Sidebar/index.vue +464 -0
  1500. package/references/web-ui/src/views/layout/components/TagsView.vue +683 -0
  1501. package/references/web-ui/src/views/layout/components/chatGPT/image/chatgpt.png +0 -0
  1502. package/references/web-ui/src/views/layout/components/chatGPT/image/knowledge_IT.png +0 -0
  1503. package/references/web-ui/src/views/layout/components/chatGPT/image/knowledge_gushen.png +0 -0
  1504. package/references/web-ui/src/views/layout/components/chatGPT/image/pmo_background.png +0 -0
  1505. package/references/web-ui/src/views/layout/components/chatGPT/image/smile.png +0 -0
  1506. package/references/web-ui/src/views/layout/components/chatGPT/image/stop.svg +1 -0
  1507. package/references/web-ui/src/views/layout/components/chatGPT/image/titleIcon.png +0 -0
  1508. package/references/web-ui/src/views/layout/components/chatGPT/index.js +7 -0
  1509. package/references/web-ui/src/views/layout/components/chatGPT/index.vue +517 -0
  1510. package/references/web-ui/src/views/layout/components/chatGPT/styles/index.scss +360 -0
  1511. package/references/web-ui/src/views/layout/components/chatGPT/utils/gpt.js +29 -0
  1512. package/references/web-ui/src/views/layout/components/chatGPT/utils/index.js +70 -0
  1513. package/references/web-ui/src/views/layout/components/index.js +6 -0
  1514. package/references/web-ui/src/views/layout/mixin/ResizeHandler.js +28 -0
  1515. package/references/web-ui/src/views/layout/utils/dynamicFormHelper.js +44 -0
  1516. package/references/web-ui/src/views/layout/utils/scroll.js +89 -0
  1517. package/references/web-ui/src/views/letters/config/gridConfig.js +59 -0
  1518. package/references/web-ui/src/views/letters/index.vue +401 -0
  1519. package/references/web-ui/src/views/login/ForgetPassword.vue +425 -0
  1520. package/references/web-ui/src/views/login/FormLogin.vue +1219 -0
  1521. package/references/web-ui/src/views/login/ScanLogin.vue +256 -0
  1522. package/references/web-ui/src/views/login/index.vue +432 -0
  1523. package/references/web-ui/src/views/person-info/components/information.vue +99 -0
  1524. package/references/web-ui/src/views/person-info/index.vue +28 -0
  1525. package/references/web-ui/src/views/sso/login/index.vue +128 -0
  1526. package/references/web-ui/src/views/sso/multi-login/index.vue +95 -0
  1527. package/references/web-ui/src/views/third-login/index.vue +73 -0
  1528. package/references/web-ui/src/views/third-view.vue +86 -0
  1529. package/references/web-ui/tsconfig.app.json +12 -0
  1530. package/references/web-ui/tsconfig.json +11 -0
  1531. package/references/web-ui/tsconfig.node.json +19 -0
  1532. package/references/web-ui/vite.config.ts +42 -0
  1533. package/references/yudaocloud-end-standard/04-Java/345/220/216/347/253/257/347/274/226/347/240/201/350/247/204/350/214/203.md +1095 -0
  1534. package/references/yudaocloud-end-standard/index.md +12 -0
  1535. package/scripts/postinstall.js +107 -0
  1536. package/scripts/sync-version.js +109 -0
  1537. package/skills/.claude/.wiki-update-queue +26 -0
  1538. package/skills/adspecs-adversarial-review/SKILL.md +486 -0
  1539. package/skills/adspecs-analyze/SKILL.md +573 -0
  1540. package/skills/adspecs-architecture-planning/SKILL.md +875 -0
  1541. package/skills/adspecs-biz-blueprint/SKILL.md +554 -0
  1542. package/skills/adspecs-clarify/SKILL.md +299 -0
  1543. package/skills/adspecs-export-word/SKILL.md +498 -0
  1544. package/skills/adspecs-export-word/references/md-to-docx.js +862 -0
  1545. package/skills/adspecs-export-word/references/package-lock.json +220 -0
  1546. package/skills/adspecs-export-word/references/package.json +10 -0
  1547. package/skills/adspecs-front-spec/SKILL.md +502 -0
  1548. package/skills/adspecs-front-tasks/SKILL.md +611 -0
  1549. package/skills/adspecs-git-commit/SKILL.md +53 -0
  1550. package/skills/adspecs-new-requirement/SKILL.md +608 -0
  1551. package/skills/adspecs-plan/SKILL.md +429 -0
  1552. package/skills/adspecs-prd/SKILL.md +404 -0
  1553. package/skills/adspecs-requirement-research/02-/351/234/200/346/261/202/346/235/245/346/272/220/344/270/216/351/207/207/351/233/206/350/256/260/345/275/225.md +85 -0
  1554. package/skills/adspecs-requirement-research/SKILL.md +184 -0
  1555. package/skills/adspecs-tasks/SKILL.md +630 -0
  1556. package/skills/adspecs-update-status/SKILL.md +382 -0
  1557. package/skills/adspecs-utest/SKILL.md +390 -0
  1558. package/skills/adspecs-write-planning-report/SKILL.md +93 -0
  1559. package/skills/adspecs-write-roadmap/SKILL.md +83 -0
  1560. package/skills/adspecs-write-sow/SKILL.md +351 -0
  1561. package/skills/project-init/SKILL.md +1289 -0
  1562. package/skills/sie-front-code-review/SKILL.md +152 -0
  1563. package/skills/wiki-update/SKILL.md +232 -0
  1564. package/src/commands/doctor.js +197 -0
  1565. package/src/commands/init.js +83 -0
  1566. package/src/commands/plugin.js +145 -0
  1567. package/src/commands/update.js +87 -0
  1568. package/src/lib/area-scanner.js +129 -0
  1569. package/src/lib/copier.js +104 -0
  1570. package/src/lib/dir-utils.js +133 -0
  1571. package/src/lib/json-merge.js +114 -0
  1572. package/src/lib/paths-defaults.js +37 -0
  1573. package/src/lib/prompts.js +345 -0
  1574. package/src/lib/readme-gen.js +143 -0
  1575. package/src/lib/report.js +327 -0
  1576. package/src/lib/scaffolder.js +518 -0
  1577. package/src/lib/short-name.js +36 -0
  1578. package/src/utils.js +80 -0
@@ -0,0 +1,724 @@
1
+ ---
2
+
3
+ description: "ECP 平台功能实现的 TDD 任务列表模板"
4
+ ---
5
+
6
+ ### 修订记录
7
+
8
+ | 版本号 | 修订日期 | 修订人 | 修订内容 |
9
+ | ------ | -------- | ------ | -------- |
10
+ | v2.0 | 2026-06-13 | AI | ECP 平台专项改造:通用 Python 模板 → ECP Java Maven 三模块 TDD 模板。新增 ECP 任务类型速查表(17 种)、ECP 编码规范检查清单(10 条)、TDD 执行指南(RED→GREEN→REFACTOR)。Phase 1-10 全部替换为 M06-01 销售预测单真实示例(Entity/DTO/DAO/Service/Controller/Feign/枚举/i18n)。格式扩展:新增 `[TDD]` 标记。路径约定替换为 ECP 三模块结构。与 adspecs-tasks skill §ECP 平台编码规范完全对齐 |
11
+ | v1.0 | 2026-06-12 | AI | 初始版本:通用 spec-kit 任务模板(Python 示例),含 Phase 1~5+N、依赖关系、并行策略 |
12
+
13
+ # 任务清单:[功能名称]
14
+
15
+ **设计文档来源**:
16
+ - 系统设计文档:`docs/30-system-design/{crm|mom}/[功能名]_system-design.md`(必读,由 `adspecs-plan` 产出,包含 OOA+OOD 13 章节统一设计)
17
+ - PRD 文档:`docs/20-prd/{crm|mom}/[模块]/[需求规格说明书].md`(可选,用户故事验收场景参考)
18
+ - 建表 SQL:`docs/30-system-design/{crm|mom}/[功能名]_schema.sql`(可选,DDL 直接可用)
19
+
20
+ **前置条件**:
21
+ - 调用 `/adspecs-tasks` 前,必须已完成 `/adspecs-plan` 产出的 `_system-design.md`
22
+ - 系统设计文档必须包含:§1 需求映射、§2 实体+DTO+Ro、§3 数据模型(含 MyBatis XML)、§4 Service 设计、§5 Controller 端点、§6 枚举+校验、§7 异常+消息码、§13 代码结构
23
+
24
+ **TDD 约定**:本模板遵循 `test-driven-development` skill 的"测试先行"原则——所有实现任务之前必须先有失败的测试任务。模板中的样本任务包含 `[TDD]` 标记的测试任务。
25
+
26
+ **组织方式**:任务按用户故事分组(设计文档 §1.1.1),以支持每个故事的独立 TDD 实现和独立测试。
27
+
28
+ ---
29
+
30
+ ## 任务格式:`- [ ] [TaskID] [P?] [TDD?] [Story?] 描述 + 精确文件路径`
31
+
32
+ **格式组成**:
33
+
34
+ | 元素 | 说明 |
35
+ |------|------|
36
+ | `- [ ]` | Markdown 复选框(始终存在) |
37
+ | `[TaskID]` | 全局递增序号:T001, T002, T003... |
38
+ | `[P]` | 可并行执行标记(操作不同文件,无未完成依赖) |
39
+ | `[TDD]` | 测试任务标记(Service 层单元测试 / Controller 层集成测试),**必须在同故事实现任务之前完成且验证失败** |
40
+ | `[Story]` | 用户故事标签:[US1], [US2]...(对应设计文档 §1.1.1)。Phase 1/2/Final 无此标签 |
41
+ | 描述 + 文件路径 | 明确操作描述 + 从三模块根开始的完整文件路径。多文件任务可分行列出路径 |
42
+
43
+ **格式示例(ECP)**:
44
+
45
+ ```text
46
+ ✅ 正确:
47
+ - [ ] T012 [TDD] [US1] 编写提交预测单 Service 单元测试(含正常+提前期拦截+MOQ警告),测试文件:
48
+ 3103-sales-forecast-application/src/test/java/com/sie/gushen/salesforecast/model/service/impl/ForecastOrderServiceTest.java
49
+ - [ ] T013 [US1] 创建 ForecastOrderEntity(extends BaseEntity<ForecastOrderEntity>, @TableName(`forecast_order`), IdType.ASSIGN_ID),文件:
50
+ 3103-sales-forecast-model/src/main/java/com/sie/gushen/salesforecast/model/entity/ForecastOrderEntity.java
51
+ - [ ] T014 [P] [US1] 创建 ForecastOrderDto(extends ReqeustCommonDataBean, 含 saveForecastOrder/updateForecastOrder 校验分组),文件:
52
+ 3103-sales-forecast-api/src/main/java/com/sie/gushen/salesforecast/api/dto/ForecastOrderDto.java
53
+
54
+ ❌ 错误:
55
+ - [ ] 创建 ForecastOrder 实体(缺少 TaskID + 文件路径 + Story 标签)
56
+ - T001 [US1] 创建 Entity(缺少复选框 + 精确文件路径)
57
+ - [ ] T001 [US1] 创建 Entity(缺少文件路径)
58
+ - [ ] T010 [US1] 实现提交预测单 Service 方法(故事阶段内未先写 [TDD] 测试,违反 TDD 规则)
59
+ - [ ] T020 [TDD] [US1] 测试提交(描述模糊,文件路径缺失)
60
+ ```
61
+
62
+ ---
63
+
64
+ ## ECP 三模块路径约定
65
+
66
+ > 来源:CLAUDE.md §"Repository Overview" + 设计文档 §1.2(模块定位)
67
+
68
+ ECP 后端采用 Maven 三模块结构,所有文件路径从服务根目录开始:
69
+
70
+ ```
71
+ {port}-{service}/ # 服务根目录,如 3103-sales-forecast/
72
+ ├── {port}-{service}-api/ # 契约层:Feign Client 接口 + DTO
73
+ │ └── src/main/java/com/sie/gushen/{service}/api/
74
+ │ ├── client/ # @FeignClient 接口
75
+ │ └── dto/ # DTO(extends ReqeustCommonDataBean,注意平台拼写)
76
+ ├── {port}-{service}-model/ # 数据层:Entity + DAO + XML + Ro
77
+ │ ├── src/main/java/com/sie/gushen/{service}/model/
78
+ │ │ ├── entity/ # Entity(extends BaseEntity<T>)
79
+ │ │ │ └── readonly/ # Ro(implements Serializable)
80
+ │ │ └── dao/ # DAO 接口 + MyBatis XML 同包
81
+ │ └── src/main/resources/liquibase/mysql/{service}/ # Liquibase
82
+ └── {port}-{service}-application/ # 实现层:Service + Controller + Config + Consumer + i18n
83
+ ├── src/main/java/com/sie/gushen/{service}/
84
+ │ ├── {Service}Application.java # 启动类(extends CommonApplication)
85
+ │ ├── api/controller/ # Controller(extends CommonAbstractService)
86
+ │ ├── model/service/ # Service 接口(II{Entity})+ 实现(extends BaseCommonServer)
87
+ │ ├── app/consume/ # Kafka Consumer
88
+ │ └── infra/
89
+ │ ├── config/ # DataSource / MybatisPlus / SpringDoc
90
+ │ ├── constant/ # ResponseMsgCode 常量
91
+ │ ├── enumeration/ # 枚举类
92
+ │ ├── interceptor/ # @CheckToken 拦截器
93
+ │ └── utils/ # 工具类
94
+ └── src/main/resources/config/ # i18n 7 文件
95
+ ```
96
+
97
+ **变量替换**:
98
+ - `{port}`:微服务端口号,如 `3103`
99
+ - `{service}`:服务名(kebab-case),如 `sales-forecast`
100
+ - 包路径中转化为 camelCase:`com.sie.gushen.[camelService]`,如 `com.sie.gushen.salesforecast`
101
+
102
+ ---
103
+
104
+ ## ECP 任务类型速查表
105
+
106
+ > 每个任务描述中必须包含正确的 ECP 父类/接口/注解。此表同时作为 `adspecs-tasks` skill 生成任务时的文件路径映射。
107
+
108
+ | 任务类型 | ECP 父类/接口 | 关键注解/约定 | 所在模块 | 文件路径模式 |
109
+ |---------|--------------|-------------|---------|-------------|
110
+ | **Entity** | `extends BaseEntity<Entity>` | `@TableName(``table``)`, `@TableId(type=ASSIGN_ID)`, 所有字段 `@TableField` + `@Schema` | `-model` | `model/entity/XxxEntity.java` |
111
+ | **DTO** | `extends ReqeustCommonDataBean` | 校验分组内部接口(`saveXxx`/`updateXxx`),日期 `@JSONField(format="yyyy-MM-dd HH:mm:ss")`,消息码 `{port}_{table}_{三位序号}` | `-api` | `api/dto/XxxDto.java` |
112
+ | **Ro** | `implements Serializable` | `serialVersionUID`, 手动声明所有字段, `@Schema`, 日期 `@DateTimeFormat @JsonFormat` | `-model` | `model/entity/readonly/XxxRo.java` |
113
+ | **DAO 接口** | `extends BaseCommonDAO_HI<Entity>` | `@Component("xxxDAO")` | `-model` | `model/dao/XxxDAO.java` |
114
+ | **DAO XML** | — | `resultMap` 含所有字段+审计字段, `Base_Column_List`, `WHERE delete_flag=0`, 禁止 QueryWrapper | `-model` | `model/dao/XxxDAO.xml`(同包路径) |
115
+ | **Service 接口** | `extends IBaseCommon<Entity>` | 命名 `II{Entity}`(双I前缀) | `-application` | `model/service/IIXxx.java` |
116
+ | **Service 实现** | `extends BaseCommonServer<Entity>` | `@Component("xxxService")`, `@Autowired`, Save→FastJSON, Update→SpringBeanUtils, 异常在Service抛出 | `-application` | `model/service/impl/XxxService.java` |
117
+ | **Controller** | `extends CommonAbstractService` | `@Tag`, `@RestController`, `@RequestMapping("/xxx")`, 重写 `getBaseCommonServer()`, 所有端点 `@CheckToken` | `-application` | `api/controller/XxxController.java` |
118
+ | **Feign Client** | `@FeignClient` 接口 | 放入 `-api/client/` | `-api` | `api/client/XxxClient.java` |
119
+ | **枚举** | 普通 `enum` | 存储值 `String`, `infra/enumeration/` | `-application` | `infra/enumeration/XxxEnum.java` |
120
+ | **消息码** | `enum ResponseMsgCode` | 格式 `{port}_{table}_{三位序号}`, 字段校验 001~005, 业务异常 006+ | `-application` | `infra/constant/ResponseMsgCode.java` |
121
+ | **Kafka Consumer** | `@Configuration` + `Consumer<String>` Bean | Bean name 必须匹配 YAML 中 `spring.cloud.stream.function.definition` | `-application` | `app/consume/XxxConsumer.java` |
122
+ | **i18n** | 7 个 `.properties` | default/zh_CN/zh_TW/en_US/vi_VN/th_TH/hu_HU,每个文件含该语言实际内容 | `-application` | `resources/config/{port}-{service}-application[_locale].properties` |
123
+ | **Liquibase** | 3 文件 | master.xml → version.xml → DDL.sql | `-model` | `resources/liquibase/mysql/{service}/` |
124
+ | **工具类** | 普通 `class` | Hutool 优先, SLF4J 日志 | `-application` | `infra/utils/XxxUtils.java` |
125
+ | **配置类** | `@Configuration` | DataSourceConfig / MybatisPlusConfig(分页+乐观锁)/ SpringDocConfig | `-application` | `infra/config/XxxConfig.java` |
126
+ | **启动类** | `extends CommonApplication` | `@SpringBootApplication`, `@EnableDiscoveryClient`, `@EnableFeignClients`, `@MapperScan`, `@ComponentScan` | `-application` | `{Service}Application.java` |
127
+
128
+ ---
129
+
130
+ <!--
131
+ ============================================================================
132
+ 重要提示:以下任务是**模板示例**,展示了 ECP 平台使用 M06-01 销售预测单的真实类名和路径。
133
+
134
+ /adspecs-tasks 命令将根据以下内容替换为实际任务:
135
+ - 系统设计文档 §1.1.1 中的用户故事(及其优先级 P1、P2...)
136
+ - 系统设计文档 §2 中的实体/DTO/Ro 清单
137
+ - 系统设计文档 §3 中的数据模型与 MyBatis 映射
138
+ - 系统设计文档 §4 中的 Service 方法与业务行为
139
+ - 系统设计文档 §5 中的 Controller 端点
140
+ - 系统设计文档 §6 中的枚举定义
141
+ - 系统设计文档 §7 中的异常与消息码
142
+ - 系统设计文档 §13 中的完整目录树(~45 文件)
143
+
144
+ 每个生成的任务必须:
145
+ - 包含精确的 ECP 三模块文件路径
146
+ - 遵循 TDD 测试先行顺序([TDD] 标记的任务在实现任务之前)
147
+ - 包含正确的 ECP 父类/接口(见 §ECP 任务类型速查表)
148
+ - 通过 §ECP 编码规范检查清单 的 10 条校验
149
+ ============================================================================
150
+ -->
151
+
152
+ ---
153
+
154
+ ## Phase 1:环境搭建(共享基础设施)
155
+
156
+ **目的**:Maven 三模块项目初始化与基础结构搭建
157
+
158
+ - [ ] T001 创建 Maven 三模块 parent POM(`com.sie.irradiator:sie-irradiator:3.0.2`),定义 `{port}-{service}-api` / `{port}-{service}-model` / `{port}-{service}-application` 三个 module,文件:
159
+ `{port}-{service}/pom.xml`
160
+ - [ ] T002 [P] 创建 `{port}-{service}-api` 模块 POM + 目录结构(`com/sie/gushen/{service}/api/client/`, `api/dto/`),文件:
161
+ `{port}-{service}-api/pom.xml`
162
+ - [ ] T003 [P] 创建 `{port}-{service}-model` 模块 POM + 目录结构(`model/entity/`, `model/entity/readonly/`, `model/dao/`),文件:
163
+ `{port}-{service}-model/pom.xml`
164
+ - [ ] T004 [P] 创建 `{port}-{service}-application` 模块 POM + 目录结构(`api/controller/`, `model/service/impl/`, `infra/config/`, `infra/constant/`, `infra/enumeration/`, `infra/utils/`, `app/consume/`),文件:
165
+ `{port}-{service}-application/pom.xml`
166
+ - [ ] T005 创建启动类 `{Service}Application`(`extends CommonApplication`,注解 `@SpringBootApplication`(排除 DataSource/HibernateJpa)、`@EnableDiscoveryClient`、`@EnableFeignClients`、`@MapperScan`、`@ComponentScan`),文件:
167
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/{Service}Application.java`
168
+ - [ ] T006 [P] 创建 `application.yml` 基础配置(server.port、spring.datasource、mybatis-plus.mapper-locations、spring.cloud.stream 等),文件:
169
+ `{port}-{service}-application/src/main/resources/application.yml`
170
+
171
+ **检查点**:Maven 三模块结构就绪,`mvn clean compile` 可通过
172
+
173
+ ---
174
+
175
+ ## Phase 2:基础设施(阻塞性前置依赖)
176
+
177
+ **目的**:枚举、消息码、数据库 DDL、基础配置等被所有用户故事依赖的底层构件
178
+
179
+ **⚠️ 关键**:在此阶段完成之前,不得开始任何用户故事的工作
180
+
181
+ ### 2.1 枚举类(所有枚举可并行创建)
182
+
183
+ - [ ] T007 [P] 创建 `ForecastOrderStatusEnum`(9 状态:DRAFT/SUBMITTED/REJECTED/ACCEPTED/SCHEDULED/PARTIAL_CONVERTED/FULLY_CONVERTED/RELEASED/CANCELLED),文件:
184
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/infra/enumeration/ForecastOrderStatusEnum.java`
185
+ - [ ] T008 [P] 创建 `ChangeOrderStatusEnum`(5 状态:DRAFT/SUBMITTED/REJECTED/CHANGED/VOIDED),文件:
186
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/infra/enumeration/ChangeOrderStatusEnum.java`
187
+ - [ ] T009 [P] 创建 `DomesticForeignEnum`(DOMESTIC 内销 / FOREIGN 外销),文件:
188
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/infra/enumeration/DomesticForeignEnum.java`
189
+ - [ ] T010 [P] 创建 `ProductTypeEnum`(STANDARD 标品 / NON_STANDARD 非标),文件:
190
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/infra/enumeration/ProductTypeEnum.java`
191
+ - [ ] T011 [P] 创建 `TransferStatusEnum`(PENDING 待转单 / TRANSFERRED 已转单 / RELEASED 已释放),文件:
192
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/infra/enumeration/TransferStatusEnum.java`
193
+ - [ ] T012 [P] 创建 `QuantityUnitEnum`(KG 公斤 / TON 吨),文件:
194
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/infra/enumeration/QuantityUnitEnum.java`
195
+ - [ ] T013 [P] 创建 `DeliveryLocationEnum`(SHANGHAI 上海 / CHONGQING 重庆),文件:
196
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/infra/enumeration/DeliveryLocationEnum.java`
197
+
198
+ ### 2.2 消息码与配置
199
+
200
+ - [ ] T014 创建 `ResponseMsgCode` 枚举常量类(字段校验 001~005 + 业务异常 006~017,消息码格式 `{port}_{table}_{三位序号}`),文件:
201
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/infra/constant/ResponseMsgCode.java`
202
+ - [ ] T015 [P] 创建 `MybatisPlusConfig`(分页插件 `PaginationInnerInterceptor` + 乐观锁插件 `OptimisticLockerInnerInterceptor`),文件:
203
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/infra/config/MybatisPlusConfig.java`
204
+ - [ ] T016 [P] 创建 `DataSourceConfig`(数据源配置),文件:
205
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/infra/config/DataSourceConfig.java`
206
+ - [ ] T017 [P] 创建 `SpringDocConfig`(API 文档配置),文件:
207
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/infra/config/SpringDocConfig.java`
208
+ - [ ] T018 创建工具类 `ForecastUtils`(强制转FO时间计算:`requiredWarehouseDate - N天`;提报提前期校验:`requiredWarehouseDate >= now + leadTimeDays`),文件:
209
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/infra/utils/ForecastUtils.java`
210
+
211
+ ### 2.3 Liquibase 数据库迁移
212
+
213
+ - [ ] T019 创建 Liquibase `master.xml`(入口文件,引用版本 XML),文件:
214
+ `{port}-{service}-model/src/main/resources/liquibase/mysql/{service}/master.xml`
215
+ - [ ] T020 创建 Liquibase `v1.0.xml`(版本变更日志,包含 changeSet),文件:
216
+ `{port}-{service}-model/src/main/resources/liquibase/mysql/{service}/v1.0.xml`
217
+ - [ ] T021 创建 DDL SQL(`forecast_order` 表 35+ 字段 + 6 索引 + `forecast_change_order` 表 20+ 字段 + 3 索引,含全部审计字段),文件:
218
+ `{port}-{service}-model/src/main/resources/liquibase/mysql/{service}/ddl/DDL_1.0_YYYYMMDD.sql`
219
+
220
+ **检查点**:基础设施就绪——所有枚举可编译,Liquibase DDL 可执行建表,现在可以并行开始用户故事的 TDD 实现
221
+
222
+ ---
223
+
224
+ ## Phase 3:US-01 — 创建并提报预测单(优先级:P1)🎯 MVP 起点
225
+
226
+ **目标**:销售人员能针对某客户某物料创建预测单,填写 CTCT 编码(自动回填物料+客户信息)、销售需求量、要求成品入库时间,保存草稿或提交至计划部门评审
227
+
228
+ **独立测试**:登录销售人员账号 → 输入 CTCT 编码 → 填写需求量 5000kg + 入库时间 +35 天 → 点击提交 → 验证预测单进入"已提交"状态且生成单号
229
+
230
+ **来源**:设计文档 §1.1.1 US-01, §4.1 行为 1-2, §5.1 端点 1-7, §12.1 TC1, §12.2 TC1
231
+
232
+ ### 用户故事 1 的 TDD 测试(先写,确保失败后再实现)
233
+
234
+ > ⚠️ **TDD 铁律**:在编写任何实现代码之前,先编写以下测试并验证它们**因功能缺失而失败**。
235
+
236
+ - [ ] T022 [TDD] [US1] 编写 `ForecastOrderService` 提交预测单测试(正常场景:CTCT 有效,需求量 5000kg,入库时间+35 天 → 状态=已提交,生成单号),测试文件:
237
+ `{port}-{service}-application/src/test/java/com/sie/gushen/{service}/model/service/impl/ForecastOrderServiceTest.java`
238
+ - [ ] T023 [TDD] [P] [US1] 编写 `ForecastOrderService` 提交预测单异常测试(提报提前期不满足 → 抛出 `GushenRuntimeException("3103_forecast_order_007")`),测试文件:同上
239
+ - [ ] T024 [TDD] [P] [US1] 编写 `ForecastOrderService` 提交预测单边界测试(需求量=MOQ 正常通过;需求量<MOQ 警告但通过;保税手册余量不足 → 抛出异常),测试文件:同上
240
+ - [ ] T025 [TDD] [P] [US1] 编写 `ForecastOrderService` 保存草稿测试(部分字段可空,状态=草稿,单号=null),测试文件:同上
241
+ - [ ] T026 [TDD] [US1] 编写 `ForecastOrderController` 保存/提交端点集成测试(POST `/forecast-order/save` → 200 + 草稿返回;POST `/forecast-order/submit` → 200 + 已提交),测试文件:
242
+ `{port}-{service}-application/src/test/java/com/sie/gushen/{service}/api/controller/ForecastOrderControllerTest.java`
243
+
244
+ ### 用户故事 1 的实现(测试验证失败后开始)
245
+
246
+ - [ ] T027 [US1] 创建 `ForecastOrderEntity`(`extends BaseEntity<ForecastOrderEntity>`, `@TableName(``forecast_order``)`, `@TableId(type=ASSIGN_ID)`, 35+ 字段全带 `@TableField` + `@Schema`),文件:
247
+ `{port}-{service}-model/src/main/java/com/sie/gushen/{service}/model/entity/ForecastOrderEntity.java`
248
+ - [ ] T028 [P] [US1] 创建 `ForecastOrderDto`(`extends ReqeustCommonDataBean`,含 `saveForecastOrder`/`updateForecastOrder` 校验分组内部接口,日期 `@JSONField(format="yyyy-MM-dd HH:mm:ss")`),文件:
249
+ `{port}-{service}-api/src/main/java/com/sie/gushen/{service}/api/dto/ForecastOrderDto.java`
250
+ - [ ] T029 [P] [US1] 创建 `ForecastOrderEntityRo`(`implements Serializable` + `serialVersionUID`,手动声明所有 Entity 字段 + 审计字段 + `List<ForecastChangeOrderEntity> forecastChangeOrderList`),文件:
251
+ `{port}-{service}-model/src/main/java/com/sie/gushen/{service}/model/entity/readonly/ForecastOrderEntityRo.java`
252
+ - [ ] T030 [US1] 创建 `ForecastOrderDAO` 接口 + `ForecastOrderDAO.xml`(`extends BaseCommonDAO_HI<ForecastOrderEntity>`, `@Component("forecastOrderDAO")`, `BaseResultMap` 含全字段+审计, `Base_Column_List`, `BASE_QUERY_CONDITION` 支持多条件筛选, `findPagination` 含 `WHERE delete_flag=0`),文件:
253
+ `{port}-{service}-model/src/main/java/com/sie/gushen/{service}/model/dao/ForecastOrderDAO.java`
254
+ `{port}-{service}-model/src/main/java/com/sie/gushen/{service}/model/dao/ForecastOrderDAO.xml`
255
+ - [ ] T031 [US1] 创建 `IIForecastOrder` Service 接口(`extends IBaseCommon<ForecastOrderEntity>`,定义 `saveForecastOrder`/`updateForecastOrder`/`submitForecastOrder`/`findById`/`findPagination` 方法签名),文件:
256
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/model/service/IIForecastOrder.java`
257
+ - [ ] T032 [US1] 实现 `ForecastOrderService`(`extends BaseCommonServer<ForecastOrderEntity>`, `@Component("forecastOrderService")`, `@Autowired ForecastOrderDAO`):
258
+ - `saveForecastOrder(dto)`:FastJSON `JSONObject.parseObject(JSONObject.toJSONString(dto), Entity.class)`,设置初始状态 DRAFT,transferredQty=0
259
+ - `updateForecastOrder(dto)`:校验仅草稿/已驳回可编辑 → Spring `BeanUtils.copyProperties(dto, entity, "createdBy", "creationDate", "versionNum")`
260
+ - `submitForecastOrder(id)`:BR-01 提报提前期校验(拦截)→ BR-02 MOQ 校验(警告)→ `AutoCodeRuleService.generate` 生成单号 → 状态→已提交 → 计算 forceFoDate
261
+ - `findById(id)`:含变更单子表列表组装 ForecastOrderEntityRo
262
+ - `findPagination(dto, pageIndex, pageRows, orderByBean)`:`BeanUtil.beanToMap` → `Condition.getPage` → DAO 分页查询
263
+ 文件:`{port}-{service}-application/src/main/java/com/sie/gushen/{service}/model/service/impl/ForecastOrderService.java`
264
+ - [ ] T033 [US1] 创建 `ForecastOrderController`(`extends CommonAbstractService`, `@Tag`, `@RestController`, `@RequestMapping("/forecast-order")`, 重写 `getBaseCommonServer()`, `@Autowired IIForecastOrder`):
265
+ - `GET /get-id` → `forecastOrderService.findById(id)`
266
+ - `POST /find-pagination` → `forecastOrderService.findPagination(dto, pageIndex, pageRows, orderByBean)`
267
+ - `POST /save` → 参数空校验 → `forecastOrderService.saveForecastOrder(dto)`
268
+ - `POST /update` → 参数空校验 → `forecastOrderService.updateForecastOrder(dto)`(仅草稿/已驳回)
269
+ - `POST /submit` → `forecastOrderService.submitForecastOrder(id)`
270
+ 文件:`{port}-{service}-application/src/main/java/com/sie/gushen/{service}/api/controller/ForecastOrderController.java`
271
+ - [ ] T034 [US1] 创建 `CtctClient` Feign 接口(`@FeignClient`, `GET /p01/ctct/query?ctctCode={code}` → CTCT物料+客户聚合信息),文件:
272
+ `{port}-{service}-api/src/main/java/com/sie/gushen/{service}/api/client/CtctClient.java`
273
+
274
+ **检查点**:[TDD] 所有测试由红变绿,用户故事 1 可独立运行:创建草稿 → 填写完整 → 提交 → 生成单号 → 状态=已提交
275
+
276
+ ---
277
+
278
+ ## Phase 4:US-02 — 计划部门评审预测单(优先级:P1)
279
+
280
+ **目标**:计划部门人员查看已提交的预测单,执行接收(填写计划建议量、答复入库时间、答复意见)或驳回(填写驳回原因)
281
+
282
+ **独立测试**:登录计划部门人员账号 → 进入待评审列表 → 对一条预测单执行"接收"并填写答复 → 验证状态变更为"计划接收";对另一条执行"驳回" → 验证状态变更为"已驳回"
283
+
284
+ **来源**:设计文档 §1.1.1 US-02, §4.1 行为 4-5, §5.1 端点 9-10, §12.1 TC1
285
+
286
+ ### 用户故事 2 的 TDD 测试
287
+
288
+ - [ ] T035 [TDD] [US2] 编写 `ForecastOrderService` 接收预测单测试(状态=已提交 → 填写答复 → 状态=计划接收,记录 replyTime),测试文件:同 ForecastOrderServiceTest.java
289
+ - [ ] T036 [TDD] [P] [US2] 编写 `ForecastOrderService` 驳回预测单测试(状态=已提交 → 填写驳回原因 → 状态=已驳回),测试文件:同上
290
+ - [ ] T037 [TDD] [P] [US2] 编写 `ForecastOrderService` 评审状态校验测试(非已提交状态 → 抛出 `GushenRuntimeException("3103_forecast_order_013")`),测试文件:同上
291
+ - [ ] T038 [TDD] [US2] 编写 `ForecastOrderController` 接收/驳回端点集成测试(POST `/forecast-order/accept` → 200;POST `/forecast-order/reject` → 200),测试文件:同 ForecastOrderControllerTest.java
292
+
293
+ ### 用户故事 2 的实现
294
+
295
+ - [ ] T039 [US2] 扩展 `IIForecastOrder` 接口:新增 `acceptForecastOrder(id, dto)` / `rejectForecastOrder(id, dto)` 方法签名
296
+ - [ ] T040 [US2] 扩展 `ForecastOrderService`:
297
+ - `acceptForecastOrder(id, dto)`:校验状态=已提交 → 设置 planSuggestQty/replyWarehouseDate/replyComment/replyTime → 状态→计划接收
298
+ - `rejectForecastOrder(id, dto)`:校验状态=已提交 → 设置 replyComment → 状态→已驳回
299
+ - [ ] T041 [US2] 扩展 `ForecastOrderController`:
300
+ - `POST /accept` → `forecastOrderService.acceptForecastOrder(id, dto)`
301
+ - `POST /reject` → `forecastOrderService.rejectForecastOrder(id, dto)`
302
+
303
+ **检查点**:计划部门可接收/驳回预测单,TDD 测试红→绿
304
+
305
+ ---
306
+
307
+ ## Phase 5:US-09 + US-08 — 撤回/取消/删除预测单(优先级:P1+P2)
308
+
309
+ **目标**:销售人员撤回已提交/计划接收(未排产)的预测单;取消有单号草稿/已驳回预测单;物理删除无单号草稿
310
+
311
+ **独立测试**:已提交预测单 → 撤回 → 状态=草稿;有单号草稿 → 取消 → 状态=取消;无单号草稿 → 删除 → 物理删除
312
+
313
+ **来源**:设计文档 §1.1.1 US-08+US-09, §4.1 行为 3+9+10, §5.1 端点 5+7+8, §12.2 TC2
314
+
315
+ ### 用户故事 5 的 TDD 测试
316
+
317
+ - [ ] T042 [TDD] [US5] 编写撤回预测单测试(已提交→草稿、计划接收未排产→草稿),测试文件:同 ForecastOrderServiceTest.java
318
+ - [ ] T043 [TDD] [P] [US5] 编写撤回阻止测试(已排产→抛出 `GushenRuntimeException("3103_forecast_order_010")`),测试文件:同上
319
+ - [ ] T044 [TDD] [P] [US5] 编写取消/删除测试(有单号草稿→取消终态;无单号草稿→物理删除;有单号不可物理删除→异常),测试文件:同上
320
+
321
+ ### 用户故事 5 的实现
322
+
323
+ - [ ] T045 [US5] 扩展 `ForecastOrderService`:
324
+ - `withdrawForecastOrder(id)`:状态=已提交→草稿;状态=计划接收且 scheduleConfirmTime=null→草稿;否则抛异常
325
+ - `cancelForecastOrder(id)`:状态∈{草稿(有单号), 已驳回}→取消终态
326
+ - `deleteForecastOrder(id)`:状态=草稿且单号=null→物理删除;否则抛出 `GushenRuntimeException("3103_forecast_order_016")`
327
+ - [ ] T046 [US5] 扩展 `ForecastOrderController`:
328
+ - `POST /withdraw` → `forecastOrderService.withdrawForecastOrder(id)`
329
+ - `POST /cancel` → `forecastOrderService.cancelForecastOrder(id)`
330
+ - `GET /delete` → `forecastOrderService.deleteForecastOrder(id)`
331
+
332
+ **检查点**:撤回/取消/删除功能正常,TDD 测试红→绿
333
+
334
+ ---
335
+
336
+ ## Phase 6:US-04 — 预测单转履约单(FO)(优先级:P1)
337
+
338
+ **目标**:销售人员将已排产(全部或部分)预测单数量转为 FO,全部转完自动关闭
339
+
340
+ **独立测试**:已排产待转单 → 选择 SO 行项目 → 输入转单量 5000kg → 全部转单 → 状态=已全部转单完成
341
+
342
+ **来源**:设计文档 §1.1.1 US-04, §4.1 行为 7, §5.1 端点 12, §12.1 TC1
343
+
344
+ ### 用户故事 4 的 TDD 测试
345
+
346
+ - [ ] T047 [TDD] [US4] 编写转 FO 测试(全部转:状态→已全部转单完成+剩余归零;部分转:状态→已部分转单+剩余扣减),测试文件:同 ForecastOrderServiceTest.java
347
+ - [ ] T048 [TDD] [P] [US4] 编写转 FO 异常测试(转单量>剩余→异常、状态非法→异常),测试文件:同上
348
+ - [ ] T049 [TDD] [US4] 编写转 FO 端点集成测试(POST `/forecast-order/transfer-to-fo` → 200),测试文件:同 ForecastOrderControllerTest.java
349
+
350
+ ### 用户故事 4 的实现
351
+
352
+ - [ ] T050 [P] [US4] 创建 `TransferToFoDto`(`extends ReqeustCommonDataBean`,字段:forecastOrderId + soLineItemId + transferQty),文件:
353
+ `{port}-{service}-api/src/main/java/com/sie/gushen/{service}/api/dto/TransferToFoDto.java`
354
+ - [ ] T051 [US4] 扩展 `ForecastOrderService.transferToFO(dto)`:校验状态∈{已排产待转单,已部分转单} → 校验转单量≤剩余 → Feign 调用 FO 模块创建 → 更新 transferredQty/remainingQty/状态
355
+ - [ ] T052 [US4] 创建 `FoClient` Feign 接口(`POST /fo/create` → 返回 foOrderNo),文件:
356
+ `{port}-{service}-api/src/main/java/com/sie/gushen/{service}/api/client/FoClient.java`
357
+ - [ ] T053 [P] [US4] 创建 `SoClient` Feign 接口(SO 行项目查询),文件:
358
+ `{port}-{service}-api/src/main/java/com/sie/gushen/{service}/api/client/SoClient.java`
359
+ - [ ] T054 [US4] 扩展 `ForecastOrderController`:`POST /transfer-to-fo` → `forecastOrderService.transferToFO(dto)`
360
+
361
+ **检查点**:转 FO 功能正常,Feign 联调通过,TDD 测试红→绿
362
+
363
+ ---
364
+
365
+ ## Phase 7:US-03 — 查看 APS 排产反馈信息(优先级:P1)
366
+
367
+ **目标**:APS 系统排产完成后通知本模块(状态→已排产待转单);销售人员在详情页查看排产进度
368
+
369
+ **独立测试**:模拟 APS 发送排产确认通知 → 状态变更为"已排产待转单"→ 详情页展示排产进度
370
+
371
+ **来源**:设计文档 §1.1.1 US-03, §4.1 行为 6, §5.1 端点 11, §9.2 消费事件, §12.1 TC1
372
+
373
+ ### 用户故事 3 的 TDD 测试
374
+
375
+ - [ ] T055 [TDD] [US3] 编写 APS 排产确认测试(状态=计划接收 → 收到通知 → 状态=已排产待转单,乐观锁校验),测试文件:同 ForecastOrderServiceTest.java
376
+ - [ ] T056 [TDD] [P] [US3] 编写排产确认并发冲突测试(撤回与排产确认竞争 → version_num 冲突 → 后到者拒绝),测试文件:同上
377
+
378
+ ### 用户故事 3 的实现
379
+
380
+ - [ ] T057 [P] [US3] 创建 `ScheduleConfirmDto`(字段:forecastOrderNo + confirmTime),文件:
381
+ `{port}-{service}-api/src/main/java/com/sie/gushen/{service}/api/dto/ScheduleConfirmDto.java`
382
+ - [ ] T058 [US3] 扩展 `ForecastOrderService.scheduleConfirm(forecastOrderNo, confirmTime)`:查询 → 校验状态=计划接收 → 乐观锁 version_num → 状态→已排产待转单 → 记录 scheduleConfirmTime
383
+ - [ ] T059 [US3] 扩展 `ForecastOrderController`:`POST /schedule-confirm` → `forecastOrderService.scheduleConfirm(dto.getForecastOrderNo(), dto.getConfirmTime())`
384
+ - [ ] T060 [P] [US3] 创建 `ApsScheduleConfirmConsumer`(如果采用 Kafka 入站,`@Configuration`, `Consumer<String>` Bean,Bean name 匹配 `spring.cloud.stream.function.definition`),文件:
385
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/app/consume/ApsScheduleConfirmConsumer.java`
386
+ - [ ] T061 [P] [US3] 创建 `ApsClient` Feign 接口(`GET /aps/schedule/progress?forecastOrderNo={no}` → 排产进度),文件:
387
+ `{port}-{service}-api/src/main/java/com/sie/gushen/{service}/api/client/ApsClient.java`
388
+
389
+ **检查点**:APS 排产确认通知 → 状态变更;详情页展示排产进度
390
+
391
+ ---
392
+
393
+ ## Phase 8:US-05 — 通过变更单修改预测单(优先级:P1)
394
+
395
+ **目标**:对已排产预测单发起变更申请(客户/入库时间/保税手册/释放资源),提交流程审批,审批通过后联动更新预测单字段
396
+
397
+ **独立测试**:已排产预测单 → 新增变更单填写变更后入库时间 → 提交 → 审批通过 → 验证预测单入库时间联动更新
398
+
399
+ **来源**:设计文档 §1.1.1 US-05, §4.1 行为 13-18, §5.1 端点 15-23, §12.2 TC4-5
400
+
401
+ ### 用户故事 8 的 TDD 测试
402
+
403
+ - [ ] T062 [TDD] [US8] 编写变更单新增+审批通过联动测试(库时间变更→预测单入库时间更新;客户变更→客户信息联动;释放资源→需求量扣减+剩余重算),测试文件:
404
+ `{port}-{service}-application/src/test/java/com/sie/gushen/{service}/model/service/impl/ForecastChangeOrderServiceTest.java`
405
+ - [ ] T063 [TDD] [P] [US8] 编写变更单异常测试(并发控制→异常、CTCT校验失败→异常、非标释放→异常、释放量超限→异常、手册余量不足→异常),测试文件:同上
406
+ - [ ] T064 [TDD] [P] [US8] 编写变更单审批驳回测试(已提交→已驳回;驳回后可重新编辑提交),测试文件:同上
407
+ - [ ] T065 [TDD] [US8] 编写变更单删除/作废测试(草稿→物理删除;已提交→仅可作废不可物理删除),测试文件:同上
408
+
409
+ ### 用户故事 8 的实现
410
+
411
+ - [ ] T066 [US8] 创建 `ForecastChangeOrderEntity`(`extends BaseEntity<ForecastChangeOrderEntity>`, `@TableName(``forecast_change_order``)`, 20+ 字段含快照字段+变更字段+审批字段),文件:
412
+ `{port}-{service}-model/src/main/java/com/sie/gushen/{service}/model/entity/ForecastChangeOrderEntity.java`
413
+ - [ ] T067 [P] [US8] 创建 `ForecastChangeOrderDto`(`extends ReqeustCommonDataBean`,含 `saveForecastChangeOrder`/`updateForecastChangeOrder` 分组,按需填写字段),文件:
414
+ `{port}-{service}-api/src/main/java/com/sie/gushen/{service}/api/dto/ForecastChangeOrderDto.java`
415
+ - [ ] T068 [P] [US8] 创建 `ApproveDto`(`extends ReqeustCommonDataBean`,字段:changeOrderId + approvalComment),文件:
416
+ `{port}-{service}-api/src/main/java/com/sie/gushen/{service}/api/dto/ApproveDto.java`
417
+ - [ ] T069 [US8] 创建 `ForecastChangeOrderDAO` 接口 + XML(`extends BaseCommonDAO_HI`, `@Component`, `findListByForecastOrderId` + `findIncompleteByForecastOrderId`,含 `WHERE delete_flag=0`),文件:
418
+ `{port}-{service}-model/src/main/java/com/sie/gushen/{service}/model/dao/ForecastChangeOrderDAO.java`
419
+ `{port}-{service}-model/src/main/java/com/sie/gushen/{service}/model/dao/ForecastChangeOrderDAO.xml`
420
+ - [ ] T070 [US8] 创建 `IIForecastChangeOrder` Service 接口(`extends IBaseCommon<ForecastChangeOrderEntity>`),文件:
421
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/model/service/IIForecastChangeOrder.java`
422
+ - [ ] T071 [US8] 实现 `ForecastChangeOrderService`(`extends BaseCommonServer<ForecastChangeOrderEntity>`, `@Component`):
423
+ - `saveForecastChangeOrder(dto)`:BR-10 并发控制 → 自动快照原始预测单信息 → 状态=DRAFT
424
+ - `submitForecastChangeOrder(id)`:BR-05 CTCT校验 / BR-12 手册余量 / BR-13 释放量≤剩余 / BR-03 非标不可释放 → 生成单号 → 状态=已提交
425
+ - `approveForecastChangeOrder(id, comment)`:状态=已提交 → **原子操作**:变更单状态+预测单联动更新(入库时间/客户/手册/释放量)
426
+ - `rejectForecastChangeOrder(id, comment)`:状态=已提交 → 状态=已驳回
427
+ - `withdrawForecastChangeOrder(id)`:状态=已提交 → 状态=草稿
428
+ - `voidForecastChangeOrder(id)`:状态∈{草稿,已提交,已驳回} → 状态=已作废
429
+ - `deleteForecastChangeOrder(id)`:状态∈{草稿,已驳回} → 物理删除
430
+ 文件:`{port}-{service}-application/src/main/java/com/sie/gushen/{service}/model/service/impl/ForecastChangeOrderService.java`
431
+ - [ ] T072 [US8] 创建 `ForecastChangeOrderController`(`extends CommonAbstractService`, `@RequestMapping("/forecast-change-order")`, 9 个端点),文件:
432
+ `{port}-{service}-application/src/main/java/com/sie/gushen/{service}/api/controller/ForecastChangeOrderController.java`
433
+ - [ ] T073 [P] [US8] 创建 `BondedManualClient` Feign 接口(P03 保税手册查询),文件:
434
+ `{port}-{service}-api/src/main/java/com/sie/gushen/{service}/api/client/BondedManualClient.java`
435
+
436
+ **检查点**:变更单全流程通过——新增→提交→审批通过→预测单联动更新,原子操作验证通过
437
+
438
+ ---
439
+
440
+ ## Phase 9:US-06 + US-07 — 多维度概览 + 强制释放(优先级:P2)
441
+
442
+ **目标**:提供按时间/客户/品种维度的预测单概览视图;定时任务对标品超期未转单自动强制释放
443
+
444
+ **来源**:设计文档 §1.1.1 US-06+US-07, §4.1 行为 11-12, §5.1 端点 13-14
445
+
446
+ ### 用户故事 9 的 TDD 测试
447
+
448
+ - [ ] T074 [TDD] [US9] 编写概览聚合查询测试(按时间/客户/品种维度查询 → 返回聚合数据),测试文件:同 ForecastOrderServiceTest.java
449
+ - [ ] T075 [TDD] [P] [US9] 编写强制释放测试(标品+超期+已排产待转单+已转单=0→状态=已释放;已转单>0→状态=已全部转单完成;非标不触发),测试文件:同上
450
+
451
+ ### 用户故事 9 的实现
452
+
453
+ - [ ] T076 [US9] 扩展 `ForecastOrderDAO.xml`:新增 `findOverview` 聚合查询 SQL(GROUP BY + 聚合函数)
454
+ - [ ] T077 [US9] 扩展 `ForecastOrderService`:
455
+ - `findOverview(params)`:调用 DAO 聚合查询
456
+ - `forceRelease()`:查询标品+超期+状态∈{已排产待转单,已部分转单} → 已转单>0→已全部转单完成;已转单=0→已释放
457
+ - [ ] T078 [US9] 扩展 `ForecastOrderController`:
458
+ - `POST /overview` → `forecastOrderService.findOverview(params)`
459
+ - `POST /force-release` → `forecastOrderService.forceRelease()`(系统级 Token)
460
+
461
+ **检查点**:概览视图可用,强制释放定时任务可触发
462
+
463
+ ---
464
+
465
+ ## Phase 10:US-10 — 系统配置管理(优先级:P2)
466
+
467
+ **目标**:系统管理员配置提报提前期天数(1~365)和强制转FO天数 N(1~90),Redis 缓存加速
468
+
469
+ **来源**:设计文档 §1.1.1 US-10, §8.1 缓存策略
470
+
471
+ - [ ] T079 [TDD] [US10] 编写配置读写测试(读取缓存命中 → 返回;写入 → 双写 Redis+DB),测试文件:同 ForecastOrderServiceTest.java
472
+ - [ ] T080 [US10] 扩展 `ForecastOrderService`:`getLeadTimeConfig()` + `updateLeadTimeConfig(days)` / `getForceFoDaysConfig()` + `updateForceFoDaysConfig(days)`(通过 `ServerConfigConmonUtil` + `DawnRedis` 实现)
473
+ - [ ] T081 [US10] 扩展 `ForecastOrderController`:配置管理端点
474
+
475
+ ---
476
+
477
+ ## Final Phase:集成与收尾
478
+
479
+ **目的**:跨故事的质量保证、国际化、文档与合规验证
480
+
481
+ ### 集成测试
482
+
483
+ - [ ] T082 [TDD] 编写端到端集成测试(创建→提交→接收→排产确认→转FO 全流程),文件:
484
+ `{port}-{service}-application/src/test/java/com/sie/gushen/{service}/integration/ForecastOrderE2ETest.java`
485
+ - [ ] T083 [TDD] [P] 编写变更单审批联动端到端测试(变更入库时间→审批→预测单联动),文件:同上
486
+
487
+ ### i18n 国际化(7 文件)
488
+
489
+ - [ ] T084 [P] 创建 `{port}-{service}-application.properties`(默认中文,Unicode 转义),含所有消息码(字段校验 001~005 + 业务异常 006~017),文件:
490
+ `{port}-{service}-application/src/main/resources/config/{port}-{service}-application.properties`
491
+ - [ ] T085 [P] 创建 `{port}-{service}-application_zh_CN.properties`(简体中文),文件:同上目录
492
+ - [ ] T086 [P] 创建 `{port}-{service}-application_zh_TW.properties`(繁体中文),文件:同上目录
493
+ - [ ] T087 [P] 创建 `{port}-{service}-application_en_US.properties`(英文),文件:同上目录
494
+ - [ ] T088 [P] 创建 `{port}-{service}-application_vi_VN.properties`(越南语),文件:同上目录
495
+ - [ ] T089 [P] 创建 `{port}-{service}-application_th_TH.properties`(泰语),文件:同上目录
496
+ - [ ] T090 [P] 创建 `{port}-{service}-application_hu_HU.properties`(匈牙利语),文件:同上目录
497
+
498
+ ### 代码评审与安全
499
+
500
+ - [ ] T091 执行 ECP 编码规范 10 条合规检查(对照 §ECP 编码规范检查清单,逐条确认)
501
+ - [ ] T092 安全清单验证(所有端点 `@CheckToken`、权限矩阵 §5.4 逐项检查、敏感操作二次确认、SQL 注入防范)
502
+ - [ ] T093 代码评审(按 `.adspecs/templates/06-代码评审报告模板.md` 执行)
503
+
504
+ ### 文档与构建
505
+
506
+ - [ ] T094 `mvn clean -U package` 构建验证(三模块编译通过 + 单元测试全绿)
507
+ - [ ] T095 API 文档完善(SpringDoc 注解 → Swagger UI 可访问,按 `.adspecs/templates/03-系统设计模板.md` 中的 SpringDocConfig 配置)
508
+
509
+ ---
510
+
511
+ ## 依赖关系与执行顺序
512
+
513
+ ### 阶段依赖
514
+
515
+ | 阶段 | 依赖 | 说明 |
516
+ |------|------|------|
517
+ | Phase 1(环境搭建) | 无 | 可立即开始 |
518
+ | Phase 2(基础设施) | Phase 1 完成 | **阻塞所有用户故事** |
519
+ | Phase 3(US-01 创建提报) | Phase 2 完成 | P1 MVP 起点,US-04/05/08/09 依赖其实体 |
520
+ | Phase 4(US-02 评审) | Phase 2 + Phase 3 实体 | 可独立并行(不同 Service 方法,同一实体) |
521
+ | Phase 5(US-09/08 撤回取消) | Phase 2 + Phase 3 实体 | 可独立并行 |
522
+ | Phase 6(US-04 转FO) | Phase 2 + Phase 3 实体 | 依赖 ForecastOrderEntity |
523
+ | Phase 7(US-03 排产) | Phase 2 + Phase 3 实体 | 可独立并行 |
524
+ | Phase 8(US-05 变更) | Phase 2 + Phase 3 + 子表实体 | 依赖 ForecastOrderEntity + ForecastChangeOrderEntity |
525
+ | Phase 9(US-06/07 概览释放) | Phase 2 + Phase 3 实体 | P2 优先级,可在 P1 完成后开始 |
526
+ | Phase 10(US-10 配置) | Phase 2 | P2 优先级,与 P1 故事独立 |
527
+ | Final Phase | 所有目标用户故事完成 | 集成测试需全功能就绪 |
528
+
529
+ ### 用户故事间依赖
530
+
531
+ - **US-01(P1)**:Phase 3,创建 ForecastOrderEntity + Service + Controller,是所有 P1 故事的基础。**阻塞:无**
532
+ - **US-02(P1)**:Phase 4,仅新增 Service 方法,可与 US-01 并行(同 Service 类,不同方法)。**阻塞:ForecastOrderEntity 创建完成**
533
+ - **US-09+US-08(P1+P2)**:Phase 5,仅新增 Service 方法,可独立并行。**阻塞:ForecastOrderEntity + Service 基本方法完成**
534
+ - **US-04(P1)**:Phase 6,新增 DTO + Feign Client + Service 方法。**阻塞:ForecastOrderEntity + Service**
535
+ - **US-03(P1)**:Phase 7,新增 DTO + Consumer + Feign Client。**阻塞:ForecastOrderEntity + Service**
536
+ - **US-05(P1)**:Phase 8,新增 Entity + DTO + DAO + Service + Controller,变更量最大。**阻塞:ForecastOrderEntity(主表)**
537
+ - **US-06+US-07(P2)**:Phase 9,P2 可最后实现。**阻塞:P1 故事完成**
538
+ - **US-10(P2)**:Phase 10,P2 独立于业务故事。**阻塞:Phase 2**
539
+
540
+ ### 每个用户故事内部的 TDD 执行顺序
541
+
542
+ ```
543
+ [STOP] 确认 Phase 2 基础设施已就绪
544
+
545
+ [TDD] 编写 Service 层单元测试(正常 + 异常 + 边界)→ mvn test → 确认失败 ❌
546
+
547
+ [TDD] 编写 Controller 层集成测试 → mvn test → 确认失败 ❌
548
+
549
+ 创建 Entity(extends BaseEntity, @TableName, @TableField+@Schema, IdType.ASSIGN_ID)
550
+
551
+ 创建 DTO(extends ReqeustCommonDataBean, 校验分组, @JSONField)
552
+
553
+ 创建 Ro(implements Serializable, 手动字段, @Schema)
554
+
555
+ 创建 DAO 接口 + XML(extends BaseCommonDAO_HI, resultMap, Base_Column_List, WHERE delete_flag=0)
556
+
557
+ 创建 Service 接口 + 实现(Save→FastJSON, Update→SpringBeanUtils, 异常在Service抛出)
558
+
559
+ 创建 Controller(extends CommonAbstractService, @CheckToken, ResponseData 包装)
560
+
561
+ 创建 Feign Client(@FeignClient 接口,放入 -api/client/)
562
+
563
+ [TDD] 重新运行测试 → mvn test → 全部通过 ✅
564
+
565
+ [REFACTOR] 提取公共逻辑、优化命名、清理重复代码 → 保持测试绿
566
+ ```
567
+
568
+ **并行加速**:标记 `[P]` 的 Entity/DTO/Ro/DAO 可同时创建(互不依赖),Service 实现必须在 DAO 完成后。
569
+
570
+ ### 并行机会
571
+
572
+ - **Phase 2**:所有 7 个枚举类可并行创建(T007~T013)
573
+ - **Phase 2**:Liquibase 3 文件可串行(依赖顺序),但与枚举/配置可并行
574
+ - **Phase 2**:消息码与配置类可并行(T014~T018)
575
+ - **Phase 3**:Entity + DTO + Ro 可并行(T027~T029),Service 接口+DAO 可并行(T030~T031)
576
+ - **跨故事并行**:Phase 3~8 中,US-02/US-03/US-04/US-05/US-09 可在 US-01 Entity 完成后并行推进(各自独立的 Controller 方法或独立子表)
577
+ - **Final Phase**:7 个 i18n 文件可完全并行(T084~T090)
578
+
579
+ ---
580
+
581
+ ## 并行示例:US-01 创建并提报预测单
582
+
583
+ ```bash
584
+ # Step 1: 先编写所有测试(并行)→ 确保失败
585
+ Task T022: "[TDD] 编写提交预测单测试(正常场景)"
586
+ Task T023: "[TDD] 编写提交预测单异常测试(提前期拦截)"
587
+ Task T024: "[TDD] 编写提交预测单边界测试(MOQ/手册余量)"
588
+ Task T025: "[TDD] 编写保存草稿测试"
589
+ Task T026: "[TDD] 编写 Controller 集成测试"
590
+
591
+ # 所有测试验证失败后 ↓
592
+
593
+ # Step 2: 并行创建 Entity + DTO + Ro(互不依赖)
594
+ Task T027: "创建 ForecastOrderEntity.java"
595
+ Task T028: "创建 ForecastOrderDto.java"
596
+ Task T029: "创建 ForecastOrderEntityRo.java"
597
+
598
+ # Step 3: 并行创建 DAO + Service 接口(都依赖 Entity)
599
+ Task T030: "创建 ForecastOrderDAO.java + ForecastOrderDAO.xml"
600
+ Task T031: "创建 IIForecastOrder.java"
601
+
602
+ # Step 4: Service 实现(依赖 DAO + Service 接口)
603
+ Task T032: "实现 ForecastOrderService.java"
604
+
605
+ # Step 5: Controller + Feign Client 可并行
606
+ Task T033: "创建 ForecastOrderController.java"
607
+ Task T034: "创建 CtctClient.java"
608
+
609
+ # 运行测试 → 全部通过 ✅
610
+ ```
611
+
612
+ ---
613
+
614
+ ## 实现策略
615
+
616
+ ### MVP 优先(P1 用户故事:US-01 + US-02 + US-09 + US-04 + US-03 + US-05)
617
+
618
+ 1. Phase 1:Maven 三模块环境搭建
619
+ 2. Phase 2:基础设施(枚举 + Liquibase + 消息码 + 配置)**← 关键阻塞点**
620
+ 3. Phase 3:US-01 创建并提报预测单 **← MVP 核心**
621
+ 4. Phase 4:US-02 计划部门评审(并行追加)
622
+ 5. Phase 5:US-09+US-08 撤回/取消/删除(并行追加)
623
+ 6. Phase 6:US-04 转履约单(FO)(并行追加)
624
+ 7. Phase 7:US-03 APS 排产反馈(并行追加)
625
+ 8. Phase 8:US-05 变更单修改预测单(并行追加)
626
+ 9. **STOP & VALIDATE**:全部 P1 故事端到端测试通过
627
+ 10. P1 MVP 就绪 → 部署/演示
628
+
629
+ ### 增量交付
630
+
631
+ 1. Phase 1+2 → 基础就绪
632
+ 2. Phase 3 → US-01 可独立测试 → 部署(MVP 最小可交付!)
633
+ 3. Phase 4+5+6+7+8 → 逐个追加 P1 故事 → 每个故事独立测试 → 增量部署
634
+ 4. Phase 9+10 → P2 故事追加
635
+ 5. Final Phase → 集成收尾
636
+
637
+ ### 团队并行策略
638
+
639
+ 1. 团队共同完成 Phase 1+2(环境搭建 + 基础设施)
640
+ 2. Phase 2 完成后:
641
+ - **开发者 A**:Phase 3(US-01 创建提报)**← 最高优先级,产出核心 Entity**
642
+ - **开发者 B**:Phase 2 的 Liquibase + 配置类
643
+ 3. US-01 Entity 完成后:
644
+ - **开发者 A**:Phase 8(US-05 变更单,子表工作量大)
645
+ - **开发者 B**:Phase 4+5+6+7(US-02/09/04/03,同一主表 Service 的不同方法)
646
+ 4. P1 全部完成 → 开发者 A+B 共同完成 Phase 9+10(P2 故事)+ Final Phase
647
+
648
+ ---
649
+
650
+ ## ECP 编码规范检查清单
651
+
652
+ > 生成 tasks.md 时必须逐条确认。此清单与 `adspecs-tasks` skill §ECP 平台编码规范完全对齐。
653
+
654
+ | # | 规范 | 检查项 | 通过 |
655
+ |---|------|--------|------|
656
+ | 1 | **Entity** | `extends BaseEntity<Entity>`, `@TableName(``table``)`, 所有字段 `@TableField` + `@Schema`, `IdType.ASSIGN_ID`,审计字段继承不重复 | ☐ |
657
+ | 2 | **DTO** | `extends ReqeustCommonDataBean`(注意拼写),校验分组内部接口(`save/update`),`@JSONField(format)`,消息码格式 `{port}_{table}_{三位序号}` | ☐ |
658
+ | 3 | **DAO** | `extends BaseCommonDAO_HI<Entity>`, `@Component("xxxDAO")`,XML 同包,`resultMap` 含全字段+审计,所有 SELECT 含 `WHERE delete_flag = 0` | ☐ |
659
+ | 4 | **禁止 QueryWrapper** | 所有 DB 操作通过 MyBatis XML,任务描述中无 QueryWrapper/LambdaQueryWrapper 字样 | ☐ |
660
+ | 5 | **Service** | 接口 `II{Entity}` extends `IBaseCommon<Entity>`,实现 `@Component("xxxService")` extends `BaseCommonServer<Entity>`, Save→FastJSON, Update→SpringBeanUtils | ☐ |
661
+ | 6 | **Controller** | `extends CommonAbstractService`,重写 `getBaseCommonServer()`,`@CheckToken`, `ResponseData<T>` 包装 | ☐ |
662
+ | 7 | **Ro** | `implements Serializable` + `serialVersionUID`,手动字段,`@DateTimeFormat @JsonFormat`,置于 `model/entity/readonly/` | ☐ |
663
+ | 8 | **异常** | 异常在 Service 层抛出,Controller 仅参数空校验,消息码枚举禁止硬编码 | ☐ |
664
+ | 9 | **i18n** | 7 个 `.properties`(default/zh_CN/zh_TW/en_US/vi_VN/th_TH/hu_HU),每个含该语言实际内容 | ☐ |
665
+ | 10 | **注入与工具** | `@Autowired` 注入,FastJSON 序列化,Hutool 优先,SLF4J 日志 | ☐ |
666
+
667
+ ---
668
+
669
+ ## TDD 执行指南
670
+
671
+ > 本模板任务顺序与 `test-driven-development` skill 的 RED→GREEN→REFACTOR 循环完全对齐。
672
+
673
+ ### RED 阶段:编写测试并验证失败
674
+
675
+ ```bash
676
+ # 1. 按 [TDD] 标记的任务编写测试代码
677
+ # 2. 运行并确认失败
678
+ mvn test -Dtest=ForecastOrderServiceTest
679
+
680
+ # 预期输出:Tests run: 5, Failures: 5(功能未实现,预期失败)
681
+ # 如果测试通过 → 测试缺陷,修测试
682
+ # 如果测试报错(非失败) → 编译错误/依赖缺失,修环境
683
+ ```
684
+
685
+ ### GREEN 阶段:最小代码使测试通过
686
+
687
+ ```
688
+ 按 TDD 任务之后的实现任务顺序:
689
+ Entity → DTO → Ro → DAO+XML → Service → Controller → Feign Client
690
+
691
+ 每完成一个实现任务:
692
+ mvn test -Dtest=ForecastOrderServiceTest # 逐步变绿
693
+
694
+ Service 实现完成后 → 全部测试应变绿 ✅
695
+ ```
696
+
697
+ ### REFACTOR 阶段:清理与优化
698
+
699
+ ```bash
700
+ # 所有测试通过后:
701
+ - 提取重复的校验逻辑到工具类
702
+ - 优化命名(方法名/变量名与业务一致)
703
+ - 添加日志注解(关键操作 @Slf4j)
704
+ - 运行全量测试确认不破坏
705
+ mvn test # 必须全绿
706
+ ```
707
+
708
+ ---
709
+
710
+ ## 注意事项
711
+
712
+ - `[P]` 任务 = 操作不同文件,无未完成依赖,可并行执行
713
+ - `[TDD]` 任务 = 测试任务,**必须在同故事的实现任务之前编写并通过失败验证**
714
+ - `[Story]` 标签将任务映射到设计文档 §1.1.1 中的具体用户故事,支持全链路追溯
715
+ - **所有文件路径必须精确到三模块**(`{port}-{service}-api/model/application/`)
716
+ - **ECP 编码规范 10 条是硬性约束**,违反任一条 = 任务不合格
717
+ - **Save 用 FastJSON**:`JSONObject.parseObject(JSONObject.toJSONString(dto), Entity.class)`
718
+ - **Update 用 Spring BeanUtils**:`BeanUtils.copyProperties(dto, entity, "createdBy", "creationDate", "versionNum")`
719
+ - **WHERE delete_flag = 0**:所有 MyBatis XML SELECT 语句必须包含
720
+ - **消息码禁止硬编码**:所有异常和校验信息引用 `ResponseMsgCode` 枚举
721
+ - **异常在 Service 层抛出**:Controller 仅做参数空校验返回 `ResponseData.fail()`
722
+ - 每个任务或逻辑分组后建议 git commit
723
+ - 可在任何检查点停下验证故事的独立可用性
724
+ - 避免:模糊任务、同文件冲突、跨故事强耦合、违反 TDD 顺序(实现先于测试)