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.
- package/.adspecs/extensions/.registry +30 -0
- package/.adspecs/extensions/git/README.md +100 -0
- package/.adspecs/extensions/git/commands/adspecs.git.commit.md +48 -0
- package/.adspecs/extensions/git/commands/adspecs.git.feature.md +67 -0
- package/.adspecs/extensions/git/commands/adspecs.git.initialize.md +49 -0
- package/.adspecs/extensions/git/commands/adspecs.git.remote.md +45 -0
- package/.adspecs/extensions/git/commands/adspecs.git.validate.md +49 -0
- package/.adspecs/extensions/git/config-template.yml +62 -0
- package/.adspecs/extensions/git/extension.yml +140 -0
- package/.adspecs/extensions/git/git-config.yml +62 -0
- package/.adspecs/extensions/git/scripts/bash/auto-commit.sh +140 -0
- package/.adspecs/extensions/git/scripts/bash/create-new-feature.sh +453 -0
- package/.adspecs/extensions/git/scripts/bash/git-common.sh +54 -0
- package/.adspecs/extensions/git/scripts/bash/initialize-repo.sh +54 -0
- package/.adspecs/extensions/git/scripts/powershell/auto-commit.ps1 +169 -0
- package/.adspecs/extensions/git/scripts/powershell/create-new-feature.ps1 +403 -0
- package/.adspecs/extensions/git/scripts/powershell/git-common.ps1 +51 -0
- package/.adspecs/extensions/git/scripts/powershell/initialize-repo.ps1 +69 -0
- package/.adspecs/extensions.yml +165 -0
- package/.adspecs/feature.json +16 -0
- package/.adspecs/feature.yml +28 -0
- package/.adspecs/project.json +8 -0
- package/.adspecs/scripts/bash/check-prerequisites.sh +195 -0
- package/.adspecs/scripts/bash/common.sh +640 -0
- package/.adspecs/scripts/bash/create-new-feature.sh +301 -0
- package/.adspecs/scripts/bash/setup-plan.sh +84 -0
- package/.adspecs/scripts/bash/setup-tasks.sh +91 -0
- package/.adspecs/scripts/powershell/check-prerequisites.ps1 +149 -0
- package/.adspecs/scripts/powershell/common.ps1 +545 -0
- package/.adspecs/scripts/powershell/create-new-feature.ps1 +237 -0
- package/.adspecs/scripts/powershell/setup-plan.ps1 +64 -0
- package/.adspecs/scripts/powershell/setup-tasks.ps1 +70 -0
- package/.adspecs/scripts/python/check_prerequisites.py +207 -0
- package/.adspecs/scripts/python/common.py +210 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/.adspecs/workflows/adspecs/workflow.yml +82 -0
- package/.adspecs/workflows/workflow-registry.json +13 -0
- package/.claude-plugin/marketplace.json +23 -0
- package/.claude-plugin/plugin.json +14 -0
- package/.qoder-plugin/plugin.json +21 -0
- package/CHANGELOG.md +1 -0
- package/CLAUDE.md +207 -0
- package/INSTALL.md +134 -0
- package/LICENSE +201 -0
- package/README.md +605 -0
- package/bin/adspecs.js +126 -0
- package/hooks/commit-queue.js +245 -0
- package/hooks/hooks.json +63 -0
- package/hooks/session-start.js +44 -0
- package/hooks/wiki-queue.js +127 -0
- package/package.json +61 -0
- package/references/ant6-front-standard/01-/345/237/272/347/241/200/350/247/204/350/214/203.md +181 -0
- package/references/ant6-front-standard/02-/347/273/204/344/273/266/350/247/204/350/214/203.md +189 -0
- package/references/ant6-front-standard/03-/345/210/227/350/241/250/350/247/204/350/214/203.md +147 -0
- package/references/ant6-front-standard/04-/350/241/250/345/215/225/350/247/204/350/214/203.md +312 -0
- 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
- 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
- package/references/ant6-front-standard/06-/345/233/275/351/231/205/345/214/226/350/247/204/350/214/203.md +126 -0
- 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
- 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
- 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
- package/references/ant6-front-standard/index.md +100 -0
- package/references/ant6-front-standard/vue/350/277/201/347/247/273/345/210/260react/350/247/204/350/214/203.md +37 -0
- package/references/antd-front-demo/.env +15 -0
- package/references/antd-front-demo/.env.production +7 -0
- package/references/antd-front-demo/eslint.config.js +23 -0
- package/references/antd-front-demo/index.html +16 -0
- package/references/antd-front-demo/package-lock.json +6603 -0
- package/references/antd-front-demo/package.json +53 -0
- package/references/antd-front-demo/public/favicon.svg +4 -0
- package/references/antd-front-demo/public/mockServiceWorker.js +361 -0
- package/references/antd-front-demo/src/App.tsx +68 -0
- package/references/antd-front-demo/src/api/aps/coil.ts +42 -0
- package/references/antd-front-demo/src/api/aps/order.ts +42 -0
- package/references/antd-front-demo/src/api/aps/param.ts +19 -0
- package/references/antd-front-demo/src/api/aps/plan.ts +30 -0
- package/references/antd-front-demo/src/api/aps/task.ts +31 -0
- package/references/antd-front-demo/src/api/auth.ts +41 -0
- package/references/antd-front-demo/src/api/mdm/codeRule.ts +23 -0
- package/references/antd-front-demo/src/api/mdm/coding-system.ts +130 -0
- package/references/antd-front-demo/src/api/system/dept.ts +38 -0
- package/references/antd-front-demo/src/api/system/dict-data.ts +42 -0
- package/references/antd-front-demo/src/api/system/dict-type.ts +35 -0
- package/references/antd-front-demo/src/api/system/menu.ts +38 -0
- package/references/antd-front-demo/src/api/system/post.ts +15 -0
- package/references/antd-front-demo/src/api/system/role.ts +42 -0
- package/references/antd-front-demo/src/api/system/user.ts +48 -0
- package/references/antd-front-demo/src/components/Access/index.tsx +14 -0
- package/references/antd-front-demo/src/components/DictTag/index.tsx +29 -0
- package/references/antd-front-demo/src/components/Footer/index.tsx +35 -0
- package/references/antd-front-demo/src/components/Icon/iconMap.ts +131 -0
- package/references/antd-front-demo/src/components/Icon/index.tsx +62 -0
- package/references/antd-front-demo/src/hooks/useAccess.ts +5 -0
- package/references/antd-front-demo/src/i18n/index.ts +22 -0
- package/references/antd-front-demo/src/layouts/AdminLayout/Header.tsx +137 -0
- package/references/antd-front-demo/src/layouts/AdminLayout/Sidebar.tsx +103 -0
- package/references/antd-front-demo/src/layouts/AdminLayout/StyleSettings.tsx +165 -0
- package/references/antd-front-demo/src/layouts/AdminLayout/index.tsx +25 -0
- package/references/antd-front-demo/src/locales/en-US/aps/coil.ts +18 -0
- package/references/antd-front-demo/src/locales/en-US/aps/order.ts +27 -0
- package/references/antd-front-demo/src/locales/en-US/aps/param.ts +32 -0
- package/references/antd-front-demo/src/locales/en-US/aps/plan.ts +33 -0
- package/references/antd-front-demo/src/locales/en-US/aps/task.ts +33 -0
- package/references/antd-front-demo/src/locales/en-US/common.ts +27 -0
- package/references/antd-front-demo/src/locales/en-US/components/upload.ts +12 -0
- package/references/antd-front-demo/src/locales/en-US/dashboard.ts +18 -0
- package/references/antd-front-demo/src/locales/en-US/header.ts +27 -0
- package/references/antd-front-demo/src/locales/en-US/login.ts +42 -0
- package/references/antd-front-demo/src/locales/en-US/mdm/codeRule.ts +20 -0
- package/references/antd-front-demo/src/locales/en-US/mdm/coding-system-state-flow.ts +28 -0
- package/references/antd-front-demo/src/locales/en-US/mdm/coding-system.ts +139 -0
- package/references/antd-front-demo/src/locales/en-US/menu.ts +18 -0
- package/references/antd-front-demo/src/locales/en-US/profile.ts +38 -0
- package/references/antd-front-demo/src/locales/en-US/system/dept.ts +20 -0
- package/references/antd-front-demo/src/locales/en-US/system/dict.ts +30 -0
- package/references/antd-front-demo/src/locales/en-US/system/menu.ts +28 -0
- package/references/antd-front-demo/src/locales/en-US/system/role.ts +18 -0
- package/references/antd-front-demo/src/locales/en-US/system/user.ts +29 -0
- package/references/antd-front-demo/src/locales/zh-CN/aps/coil.ts +18 -0
- package/references/antd-front-demo/src/locales/zh-CN/aps/order.ts +27 -0
- package/references/antd-front-demo/src/locales/zh-CN/aps/param.ts +32 -0
- package/references/antd-front-demo/src/locales/zh-CN/aps/plan.ts +33 -0
- package/references/antd-front-demo/src/locales/zh-CN/aps/task.ts +33 -0
- package/references/antd-front-demo/src/locales/zh-CN/common.ts +27 -0
- package/references/antd-front-demo/src/locales/zh-CN/components/upload.ts +12 -0
- package/references/antd-front-demo/src/locales/zh-CN/dashboard.ts +18 -0
- package/references/antd-front-demo/src/locales/zh-CN/header.ts +27 -0
- package/references/antd-front-demo/src/locales/zh-CN/login.ts +42 -0
- package/references/antd-front-demo/src/locales/zh-CN/mdm/codeRule.ts +20 -0
- package/references/antd-front-demo/src/locales/zh-CN/mdm/coding-system-state-flow.ts +28 -0
- package/references/antd-front-demo/src/locales/zh-CN/mdm/coding-system.ts +154 -0
- package/references/antd-front-demo/src/locales/zh-CN/menu.ts +18 -0
- package/references/antd-front-demo/src/locales/zh-CN/profile.ts +38 -0
- package/references/antd-front-demo/src/locales/zh-CN/system/dept.ts +20 -0
- package/references/antd-front-demo/src/locales/zh-CN/system/dict.ts +30 -0
- package/references/antd-front-demo/src/locales/zh-CN/system/menu.ts +28 -0
- package/references/antd-front-demo/src/locales/zh-CN/system/role.ts +18 -0
- package/references/antd-front-demo/src/locales/zh-CN/system/user.ts +29 -0
- package/references/antd-front-demo/src/main.tsx +18 -0
- package/references/antd-front-demo/src/mocks/browser.ts +10 -0
- package/references/antd-front-demo/src/mocks/data/aps.ts +255 -0
- package/references/antd-front-demo/src/mocks/data/index.ts +382 -0
- package/references/antd-front-demo/src/mocks/handlers/apsCoil.ts +151 -0
- package/references/antd-front-demo/src/mocks/handlers/apsOrder.ts +166 -0
- package/references/antd-front-demo/src/mocks/handlers/apsParam.ts +71 -0
- package/references/antd-front-demo/src/mocks/handlers/apsPlan.ts +98 -0
- package/references/antd-front-demo/src/mocks/handlers/apsTask.ts +249 -0
- package/references/antd-front-demo/src/mocks/handlers/auth.ts +244 -0
- package/references/antd-front-demo/src/mocks/handlers/codeRule.ts +141 -0
- package/references/antd-front-demo/src/mocks/handlers/coding-system.ts +256 -0
- package/references/antd-front-demo/src/mocks/handlers/dept.ts +154 -0
- package/references/antd-front-demo/src/mocks/handlers/dict.ts +297 -0
- package/references/antd-front-demo/src/mocks/handlers/image.ts +13 -0
- package/references/antd-front-demo/src/mocks/handlers/index.ts +33 -0
- package/references/antd-front-demo/src/mocks/handlers/menu.ts +132 -0
- package/references/antd-front-demo/src/mocks/handlers/post.ts +19 -0
- package/references/antd-front-demo/src/mocks/handlers/role.ts +184 -0
- package/references/antd-front-demo/src/mocks/handlers/user.ts +223 -0
- package/references/antd-front-demo/src/pages/aps/coil/components/CoilDrawer.tsx +141 -0
- package/references/antd-front-demo/src/pages/aps/coil/index.tsx +209 -0
- package/references/antd-front-demo/src/pages/aps/optimization/index.tsx +192 -0
- package/references/antd-front-demo/src/pages/aps/order/components/OrderDrawer.tsx +251 -0
- package/references/antd-front-demo/src/pages/aps/order/index.tsx +273 -0
- package/references/antd-front-demo/src/pages/aps/param/index.tsx +153 -0
- package/references/antd-front-demo/src/pages/aps/plan/components/CuttingPlanVisualization.tsx +821 -0
- package/references/antd-front-demo/src/pages/aps/plan/index.tsx +254 -0
- package/references/antd-front-demo/src/pages/aps/task/index.tsx +190 -0
- package/references/antd-front-demo/src/pages/dashboard/index.tsx +67 -0
- package/references/antd-front-demo/src/pages/error/404/index.tsx +25 -0
- package/references/antd-front-demo/src/pages/login/components/ForgetPasswordForm.tsx +101 -0
- package/references/antd-front-demo/src/pages/login/components/LoginForm.tsx +83 -0
- package/references/antd-front-demo/src/pages/login/components/RegisterForm.tsx +69 -0
- package/references/antd-front-demo/src/pages/login/components/index.ts +3 -0
- package/references/antd-front-demo/src/pages/login/index.module.css +62 -0
- package/references/antd-front-demo/src/pages/login/index.tsx +60 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/approval/index.tsx +227 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/code-log/index.tsx +103 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/code-mapping/components/CodeMappingDrawer.tsx +120 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/code-mapping/index.tsx +170 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/code-rule/components/CodeRuleDrawer.tsx +235 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/code-rule/index.tsx +204 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/state-flow/index.tsx +101 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/sync/index.tsx +151 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/variable-dict/components/VariableDictDrawer.tsx +108 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/variable-dict/index.tsx +163 -0
- package/references/antd-front-demo/src/pages/profile/index.tsx +136 -0
- package/references/antd-front-demo/src/pages/system/dept/components/DeptDrawer.tsx +157 -0
- package/references/antd-front-demo/src/pages/system/dept/index.tsx +224 -0
- package/references/antd-front-demo/src/pages/system/dict/components/DictDataDrawer.tsx +243 -0
- package/references/antd-front-demo/src/pages/system/dict/components/DictTypeModal.tsx +102 -0
- package/references/antd-front-demo/src/pages/system/dict/index.tsx +162 -0
- package/references/antd-front-demo/src/pages/system/menu/components/MenuDrawer.tsx +215 -0
- package/references/antd-front-demo/src/pages/system/menu/index.tsx +236 -0
- package/references/antd-front-demo/src/pages/system/role/components/RoleDrawer.tsx +118 -0
- package/references/antd-front-demo/src/pages/system/role/index.tsx +142 -0
- package/references/antd-front-demo/src/pages/system/user/components/DeptTree.tsx +71 -0
- package/references/antd-front-demo/src/pages/system/user/components/UserDrawer.tsx +197 -0
- package/references/antd-front-demo/src/pages/system/user/index.tsx +189 -0
- package/references/antd-front-demo/src/router/authGuard.tsx +67 -0
- package/references/antd-front-demo/src/router/dynamicRoutes.tsx +179 -0
- package/references/antd-front-demo/src/router/index.tsx +105 -0
- package/references/antd-front-demo/src/setupTests.ts +1 -0
- package/references/antd-front-demo/src/stores/useAppStore.ts +43 -0
- package/references/antd-front-demo/src/stores/useAuthStore.ts +78 -0
- package/references/antd-front-demo/src/stores/useDictStore.ts +41 -0
- package/references/antd-front-demo/src/types/api.ts +17 -0
- package/references/antd-front-demo/src/types/aps/coil.ts +42 -0
- package/references/antd-front-demo/src/types/aps/order.ts +63 -0
- package/references/antd-front-demo/src/types/aps/param.ts +48 -0
- package/references/antd-front-demo/src/types/aps/plan.ts +59 -0
- package/references/antd-front-demo/src/types/aps/task.ts +66 -0
- package/references/antd-front-demo/src/types/auth.ts +81 -0
- package/references/antd-front-demo/src/types/mdm/codeRule.ts +43 -0
- package/references/antd-front-demo/src/types/mdm/coding-system.ts +187 -0
- package/references/antd-front-demo/src/utils/formatTime.ts +68 -0
- package/references/antd-front-demo/src/utils/menuConverter.ts +113 -0
- package/references/antd-front-demo/src/utils/messageHolder.ts +14 -0
- package/references/antd-front-demo/src/utils/permission.ts +18 -0
- package/references/antd-front-demo/src/utils/request.ts +165 -0
- package/references/antd-front-demo/src/utils/token.ts +91 -0
- package/references/antd-front-demo/tsconfig.app.json +30 -0
- package/references/antd-front-demo/tsconfig.json +7 -0
- package/references/antd-front-demo/tsconfig.node.json +24 -0
- package/references/antd-front-demo/vite.config.ts +30 -0
- package/references/ecp-end-standard/ES/344/275/277/347/224/250/350/247/204/350/214/203.md +231 -0
- package/references/ecp-end-standard/IdToName/344/275/277/347/224/250/350/247/204/350/214/203.md +148 -0
- 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
- package/references/ecp-end-standard/Redis/344/275/277/347/224/250/350/247/204/350/214/203.md +78 -0
- package/references/ecp-end-standard/index.md +63 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/references/front-demo/.claude/rules/INDEX.md +54 -0
- package/references/front-demo/.claude/rules/api-i18n-rules.md +65 -0
- package/references/front-demo/.claude/rules/gushen-components.md +174 -0
- package/references/front-demo/.claude/rules/page-development-rules.md +262 -0
- package/references/front-demo/.claude/rules/page-template-index.md +374 -0
- package/references/front-demo/.claude/rules/project-overview.md +48 -0
- package/references/front-demo/.claude/skills/generate-vue3-page/SKILL.md +145 -0
- package/references/front-demo/.editorconfig +9 -0
- package/references/front-demo/.gitattributes +1 -0
- package/references/front-demo/.playwright-mcp/page-2026-06-10T08-21-21-503Z.yml +7 -0
- package/references/front-demo/.playwright-mcp/page-2026-06-10T10-02-33-237Z.yml +4 -0
- package/references/front-demo/.prettierrc.json +6 -0
- package/references/front-demo/README.md +39 -0
- package/references/front-demo/app-startup.png +0 -0
- package/references/front-demo/auto-imports.d.ts +10 -0
- package/references/front-demo/build-log.txt +214 -0
- package/references/front-demo/claude.md +62 -0
- package/references/front-demo/components.d.ts +95 -0
- package/references/front-demo/env.d.ts +1 -0
- package/references/front-demo/eslint.config.ts +22 -0
- package/references/front-demo/index.html +22 -0
- package/references/front-demo/package.json +77 -0
- package/references/front-demo/public/apiurls.js +70 -0
- package/references/front-demo/public/config.js +93 -0
- package/references/front-demo/public/favicon.ico +0 -0
- package/references/front-demo/src/App.vue +117 -0
- package/references/front-demo/src/api/app.ts +316 -0
- package/references/front-demo/src/api/attachment.ts +30 -0
- package/references/front-demo/src/api/base-exception/index.ts +87 -0
- package/references/front-demo/src/api/collect/index.ts +37 -0
- package/references/front-demo/src/api/comment/index.ts +44 -0
- package/references/front-demo/src/api/dashboard/index.ts +83 -0
- package/references/front-demo/src/api/dataImport.ts +97 -0
- package/references/front-demo/src/api/dingding/index.ts +43 -0
- package/references/front-demo/src/api/export.ts +25 -0
- package/references/front-demo/src/api/forecast/forecast-order.ts +42 -0
- package/references/front-demo/src/api/forecast/forecastChangeOrder.ts +54 -0
- package/references/front-demo/src/api/forecast/forecastConfig.ts +30 -0
- package/references/front-demo/src/api/forecast/forecastOrder.ts +78 -0
- package/references/front-demo/src/api/home/index.ts +78 -0
- package/references/front-demo/src/api/letters/index.ts +93 -0
- package/references/front-demo/src/api/login.ts +140 -0
- package/references/front-demo/src/api/mdmCustomer/index.ts +77 -0
- package/references/front-demo/src/api/menu/index.ts +79 -0
- package/references/front-demo/src/api/multi-login/index.ts +36 -0
- package/references/front-demo/src/api/personalInformation/index.ts +9 -0
- package/references/front-demo/src/api/portal/index.ts +95 -0
- package/references/front-demo/src/api/practice/index.ts +32 -0
- package/references/front-demo/src/api/product-master-data/__tests__/product.spec.ts +114 -0
- package/references/front-demo/src/api/product-master-data/product.ts +158 -0
- package/references/front-demo/src/api/reset-password/index.ts +16 -0
- package/references/front-demo/src/api/system-manage/dataImport/index.ts +87 -0
- package/references/front-demo/src/api/system-manage/menu/index.ts +34 -0
- package/references/front-demo/src/api/system-manage/reverse-authorization/index.ts +18 -0
- package/references/front-demo/src/api/testMenu/demo1/index.ts +14 -0
- package/references/front-demo/src/api/testMenu/demo2/index.ts +0 -0
- package/references/front-demo/src/api/testMenu/leaveApplication/index.ts +53 -0
- package/references/front-demo/src/api/testMenu/testDemo/index.ts +66 -0
- package/references/front-demo/src/api/update/index.ts +43 -0
- package/references/front-demo/src/api/worktable/agenda.ts +19 -0
- package/references/front-demo/src/api/worktable/approved.ts +32 -0
- package/references/front-demo/src/api/worktable/entrusted.ts +92 -0
- package/references/front-demo/src/api/worktable/myProcess.ts +48 -0
- package/references/front-demo/src/api/worktable/startTask.ts +56 -0
- package/references/front-demo/src/api/worktable/tobeRead.ts +28 -0
- package/references/front-demo/src/api/wx-work/index.ts +43 -0
- package/references/front-demo/src/assets/images/404.png +0 -0
- package/references/front-demo/src/assets/images/404_cloud.png +0 -0
- package/references/front-demo/src/assets/images/compact_layout.png +0 -0
- package/references/front-demo/src/assets/images/dingding.png +0 -0
- package/references/front-demo/src/assets/images/feishu.png +0 -0
- package/references/front-demo/src/assets/images/hover.png +0 -0
- package/references/front-demo/src/assets/images/login_background.jpg +0 -0
- package/references/front-demo/src/assets/images/login_banner.jpg +0 -0
- package/references/front-demo/src/assets/images/logo.png +0 -0
- package/references/front-demo/src/assets/images/noData.png +0 -0
- package/references/front-demo/src/assets/images/no_data.png +0 -0
- package/references/front-demo/src/assets/images/normal_layout.png +0 -0
- package/references/front-demo/src/assets/images/qiyeweixin.png +0 -0
- package/references/front-demo/src/assets/images/sider-open.png +0 -0
- package/references/front-demo/src/assets/images/vertical.png +0 -0
- package/references/front-demo/src/assets/png/pass.png +0 -0
- package/references/front-demo/src/components/ActionButtons.vue +193 -0
- package/references/front-demo/src/components/GsIcon/index.ts +7 -0
- package/references/front-demo/src/components/GsIcon/index.vue +47 -0
- package/references/front-demo/src/components/GsIconDialog/icons.ts +2167 -0
- package/references/front-demo/src/components/GsIconDialog/index.ts +7 -0
- package/references/front-demo/src/components/GsIconDialog/index.vue +856 -0
- package/references/front-demo/src/components/GsUpload/GsOverloadText.vue +68 -0
- package/references/front-demo/src/components/GsUpload/attachmentList.vue +241 -0
- package/references/front-demo/src/components/GsUpload/copper.vue +117 -0
- package/references/front-demo/src/components/GsUpload/imgUpload.vue +382 -0
- package/references/front-demo/src/components/GsUpload/index.vue +468 -0
- package/references/front-demo/src/components/GsUpload/preview.vue +44 -0
- package/references/front-demo/src/components/GsUpload/utils.ts +151 -0
- package/references/front-demo/src/components/StatusTag.vue +110 -0
- package/references/front-demo/src/components/SvgIcon/index.ts +7 -0
- package/references/front-demo/src/components/SvgIcon/index.vue +39 -0
- package/references/front-demo/src/components/UploadImg/index.ts +7 -0
- package/references/front-demo/src/components/UploadImg/index.vue +292 -0
- package/references/front-demo/src/components/global-register.ts +25 -0
- package/references/front-demo/src/components/utils/index.ts +12 -0
- package/references/front-demo/src/config/index.js +64 -0
- package/references/front-demo/src/core/initMain.ts +97 -0
- package/references/front-demo/src/hooks/useApsSchedule.ts +79 -0
- package/references/front-demo/src/hooks/useForecastOrderForm.ts +139 -0
- package/references/front-demo/src/hooks/usePagination.ts +40 -0
- package/references/front-demo/src/hooks/useRoleBasedVisibility.ts +35 -0
- package/references/front-demo/src/icons/index.ts +6 -0
- package/references/front-demo/src/icons/svg/AssessmentInfo.svg +1 -0
- package/references/front-demo/src/icons/svg/BasicConfig.svg +1 -0
- package/references/front-demo/src/icons/svg/DataEase.svg +86 -0
- package/references/front-demo/src/icons/svg/PDF.svg +1 -0
- package/references/front-demo/src/icons/svg/account_box.svg +5 -0
- package/references/front-demo/src/icons/svg/add.svg +1 -0
- package/references/front-demo/src/icons/svg/alert.svg +8 -0
- package/references/front-demo/src/icons/svg/alertlist.svg +18 -0
- package/references/front-demo/src/icons/svg/all-msg.svg +1 -0
- package/references/front-demo/src/icons/svg/analysis.svg +1 -0
- package/references/front-demo/src/icons/svg/app.svg +1 -0
- package/references/front-demo/src/icons/svg/assPersonnel.svg +1 -0
- package/references/front-demo/src/icons/svg/assessment.svg +1 -0
- package/references/front-demo/src/icons/svg/bar-horizontal.svg +1 -0
- package/references/front-demo/src/icons/svg/bar-stack-horizontal.svg +1 -0
- package/references/front-demo/src/icons/svg/bar-stack.svg +1 -0
- package/references/front-demo/src/icons/svg/bar.svg +1 -0
- package/references/front-demo/src/icons/svg/basicalgorithm.svg +1 -0
- package/references/front-demo/src/icons/svg/battery.svg +1 -0
- package/references/front-demo/src/icons/svg/bbgl.svg +1 -0
- package/references/front-demo/src/icons/svg/bell.svg +5 -0
- package/references/front-demo/src/icons/svg/bfcx.svg +1 -0
- package/references/front-demo/src/icons/svg/bjqd.svg +1 -0
- package/references/front-demo/src/icons/svg/bjxhtj.svg +1 -0
- package/references/front-demo/src/icons/svg/bjxhxq.svg +1 -0
- package/references/front-demo/src/icons/svg/bmll.svg +1 -0
- package/references/front-demo/src/icons/svg/bmtl.svg +1 -0
- package/references/front-demo/src/icons/svg/bqcj.svg +1 -0
- package/references/front-demo/src/icons/svg/bqmbgl.svg +1 -0
- package/references/front-demo/src/icons/svg/buddle-map.svg +1 -0
- package/references/front-demo/src/icons/svg/bug.svg +1 -0
- package/references/front-demo/src/icons/svg/bygd.svg +1 -0
- package/references/front-demo/src/icons/svg/bz.svg +1 -0
- package/references/front-demo/src/icons/svg/bzgl.svg +1 -0
- package/references/front-demo/src/icons/svg/characteristics.svg +1 -0
- package/references/front-demo/src/icons/svg/chart-mix.svg +1 -0
- package/references/front-demo/src/icons/svg/checkbox-checked.svg +5 -0
- package/references/front-demo/src/icons/svg/checkimage.svg +1 -0
- package/references/front-demo/src/icons/svg/ck.svg +1 -0
- package/references/front-demo/src/icons/svg/classifymark.svg +1 -0
- package/references/front-demo/src/icons/svg/closeEyes.svg +15 -0
- package/references/front-demo/src/icons/svg/club.svg +1 -0
- package/references/front-demo/src/icons/svg/collector.svg +1 -0
- package/references/front-demo/src/icons/svg/collectormanage.svg +1 -0
- package/references/front-demo/src/icons/svg/crkdcx.svg +1 -0
- package/references/front-demo/src/icons/svg/dashboard-collector.svg +38 -0
- package/references/front-demo/src/icons/svg/dashboard-device.svg +40 -0
- package/references/front-demo/src/icons/svg/dashboard-gateway.svg +38 -0
- package/references/front-demo/src/icons/svg/dashboard-warning.svg +40 -0
- package/references/front-demo/src/icons/svg/dashboard.svg +1 -0
- package/references/front-demo/src/icons/svg/database.svg +1 -0
- package/references/front-demo/src/icons/svg/dataset-task.svg +1 -0
- package/references/front-demo/src/icons/svg/datasource.svg +1 -0
- package/references/front-demo/src/icons/svg/db.svg +1 -0
- package/references/front-demo/src/icons/svg/ddgl.svg +1 -0
- package/references/front-demo/src/icons/svg/ddycjk.svg +1 -0
- package/references/front-demo/src/icons/svg/default.svg +1 -0
- package/references/front-demo/src/icons/svg/definition.svg +1 -0
- package/references/front-demo/src/icons/svg/depassessment.svg +1 -0
- package/references/front-demo/src/icons/svg/dept.svg +1 -0
- package/references/front-demo/src/icons/svg/device.svg +1 -0
- package/references/front-demo/src/icons/svg/devicebig.svg +1 -0
- package/references/front-demo/src/icons/svg/devicegroup.svg +1 -0
- package/references/front-demo/src/icons/svg/devicelist.svg +1 -0
- package/references/front-demo/src/icons/svg/devicemanage.svg +1 -0
- package/references/front-demo/src/icons/svg/deviceparam.svg +1 -0
- package/references/front-demo/src/icons/svg/devicetype.svg +1 -0
- package/references/front-demo/src/icons/svg/diagnose.svg +1 -0
- package/references/front-demo/src/icons/svg/diagnoseresult.svg +1 -0
- package/references/front-demo/src/icons/svg/distribution.svg +1 -0
- package/references/front-demo/src/icons/svg/doc.svg +1 -0
- package/references/front-demo/src/icons/svg/docs.svg +1 -0
- package/references/front-demo/src/icons/svg/dqby.svg +1 -0
- package/references/front-demo/src/icons/svg/dqbydb.svg +1 -0
- package/references/front-demo/src/icons/svg/dqbygc.svg +1 -0
- package/references/front-demo/src/icons/svg/dqbygd.svg +1 -0
- package/references/front-demo/src/icons/svg/dqbyjh.svg +1 -0
- package/references/front-demo/src/icons/svg/ds-api.svg +1 -0
- package/references/front-demo/src/icons/svg/ds-custom.svg +1 -0
- package/references/front-demo/src/icons/svg/ds-db.svg +1 -0
- package/references/front-demo/src/icons/svg/ds-excel.svg +1 -0
- package/references/front-demo/src/icons/svg/ds-sql.svg +1 -0
- package/references/front-demo/src/icons/svg/ds-union.svg +1 -0
- package/references/front-demo/src/icons/svg/dxjdb.svg +1 -0
- package/references/front-demo/src/icons/svg/dxjgc.svg +1 -0
- package/references/front-demo/src/icons/svg/dxjgd.svg +1 -0
- package/references/front-demo/src/icons/svg/dxjjh.svg +1 -0
- package/references/front-demo/src/icons/svg/dy.svg +1 -0
- package/references/front-demo/src/icons/svg/earth.svg +5 -0
- package/references/front-demo/src/icons/svg/echart-fullscreen.svg +1 -0
- package/references/front-demo/src/icons/svg/echart-nomalscreen.svg +1 -0
- package/references/front-demo/src/icons/svg/edit.svg +1 -0
- package/references/front-demo/src/icons/svg/email-task.svg +1 -0
- package/references/front-demo/src/icons/svg/envelop.svg +5 -0
- package/references/front-demo/src/icons/svg/equalizer.svg +5 -0
- package/references/front-demo/src/icons/svg/example.svg +1 -0
- package/references/front-demo/src/icons/svg/exclamationmark.svg +1 -0
- package/references/front-demo/src/icons/svg/exclamationmark2.svg +1 -0
- package/references/front-demo/src/icons/svg/exit-fullscreen.svg +1 -0
- package/references/front-demo/src/icons/svg/eye-open.svg +1 -0
- package/references/front-demo/src/icons/svg/eye.svg +1 -0
- package/references/front-demo/src/icons/svg/fav.svg +1 -0
- package/references/front-demo/src/icons/svg/field_location.svg +1 -0
- package/references/front-demo/src/icons/svg/field_text.svg +1 -0
- package/references/front-demo/src/icons/svg/field_time.svg +1 -0
- package/references/front-demo/src/icons/svg/field_value.svg +1 -0
- package/references/front-demo/src/icons/svg/folder.svg +1 -0
- package/references/front-demo/src/icons/svg/form.svg +1 -0
- package/references/front-demo/src/icons/svg/fullscreen.svg +1 -0
- package/references/front-demo/src/icons/svg/funnel.svg +1 -0
- package/references/front-demo/src/icons/svg/gateway.svg +1 -0
- package/references/front-demo/src/icons/svg/gatewaymanage.svg +16 -0
- package/references/front-demo/src/icons/svg/gauge.svg +1 -0
- package/references/front-demo/src/icons/svg/gdgl.svg +1 -0
- package/references/front-demo/src/icons/svg/gdll.svg +1 -0
- package/references/front-demo/src/icons/svg/gdtl.svg +1 -0
- package/references/front-demo/src/icons/svg/gdwcqk.svg +1 -0
- package/references/front-demo/src/icons/svg/gdwcxq.svg +1 -0
- package/references/front-demo/src/icons/svg/gnwz.svg +1 -0
- package/references/front-demo/src/icons/svg/gs-add.svg +14 -0
- package/references/front-demo/src/icons/svg/gs-change.svg +18 -0
- package/references/front-demo/src/icons/svg/gs-choose-icon.svg +23 -0
- package/references/front-demo/src/icons/svg/gs-close.svg +15 -0
- package/references/front-demo/src/icons/svg/gs-delete.svg +19 -0
- package/references/front-demo/src/icons/svg/gs-down.svg +12 -0
- package/references/front-demo/src/icons/svg/gs-edit.svg +23 -0
- package/references/front-demo/src/icons/svg/gs-edit2.svg +18 -0
- package/references/front-demo/src/icons/svg/gs-page.svg +14 -0
- package/references/front-demo/src/icons/svg/gs-resize.svg +12 -0
- package/references/front-demo/src/icons/svg/gs-select.svg +15 -0
- package/references/front-demo/src/icons/svg/gzbx.svg +1 -0
- package/references/front-demo/src/icons/svg/gzgd.svg +1 -0
- package/references/front-demo/src/icons/svg/gzk.svg +1 -0
- package/references/front-demo/src/icons/svg/gzzd.svg +1 -0
- package/references/front-demo/src/icons/svg/head.svg +13 -0
- package/references/front-demo/src/icons/svg/iconfont.svg +71 -0
- package/references/front-demo/src/icons/svg/im_message.svg +1 -0
- package/references/front-demo/src/icons/svg/indexdefine.svg +1 -0
- package/references/front-demo/src/icons/svg/inner-join.svg +1 -0
- package/references/front-demo/src/icons/svg/international.svg +1 -0
- package/references/front-demo/src/icons/svg/jcsj.svg +1 -0
- package/references/front-demo/src/icons/svg/jhjxgd.svg +1 -0
- package/references/front-demo/src/icons/svg/jilu.svg +1 -0
- package/references/front-demo/src/icons/svg/jldw.svg +1 -0
- package/references/front-demo/src/icons/svg/jscsfp.svg +1 -0
- package/references/front-demo/src/icons/svg/jscswh.svg +1 -0
- package/references/front-demo/src/icons/svg/kccx.svg +1 -0
- package/references/front-demo/src/icons/svg/kcpd.svg +1 -0
- package/references/front-demo/src/icons/svg/konwledgelist.svg +1 -0
- package/references/front-demo/src/icons/svg/kucun.svg +1 -0
- package/references/front-demo/src/icons/svg/language.svg +1 -0
- package/references/front-demo/src/icons/svg/left-join.svg +1 -0
- package/references/front-demo/src/icons/svg/leftBack.svg +15 -0
- package/references/front-demo/src/icons/svg/line-stack.svg +1 -0
- package/references/front-demo/src/icons/svg/line.svg +1 -0
- package/references/front-demo/src/icons/svg/link.svg +1 -0
- package/references/front-demo/src/icons/svg/liquid.svg +1 -0
- package/references/front-demo/src/icons/svg/list.svg +5 -0
- package/references/front-demo/src/icons/svg/location2.svg +5 -0
- package/references/front-demo/src/icons/svg/lock_closed.svg +1 -0
- package/references/front-demo/src/icons/svg/lock_open.svg +1 -0
- package/references/front-demo/src/icons/svg/logo.svg +32 -0
- package/references/front-demo/src/icons/svg/map.svg +1 -0
- package/references/front-demo/src/icons/svg/map_old.svg +1 -0
- package/references/front-demo/src/icons/svg/menu.svg +1 -0
- package/references/front-demo/src/icons/svg/message.svg +1 -0
- package/references/front-demo/src/icons/svg/messaged.svg +1 -0
- package/references/front-demo/src/icons/svg/meter.svg +5 -0
- package/references/front-demo/src/icons/svg/mobile.svg +5 -0
- package/references/front-demo/src/icons/svg/model.svg +1 -0
- package/references/front-demo/src/icons/svg/money.svg +1 -0
- package/references/front-demo/src/icons/svg/more_v.svg +1 -0
- package/references/front-demo/src/icons/svg/msg-setting.svg +1 -0
- package/references/front-demo/src/icons/svg/mttr&mtbf.svg +1 -0
- package/references/front-demo/src/icons/svg/multiplemp.svg +1 -0
- package/references/front-demo/src/icons/svg/myassessment.svg +1 -0
- package/references/front-demo/src/icons/svg/nested.svg +1 -0
- package/references/front-demo/src/icons/svg/new-message.svg +5 -0
- package/references/front-demo/src/icons/svg/no-join.svg +1 -0
- package/references/front-demo/src/icons/svg/normal-fx.svg +1 -0
- package/references/front-demo/src/icons/svg/notification.svg +1 -0
- package/references/front-demo/src/icons/svg/openEyes.svg +12 -0
- package/references/front-demo/src/icons/svg/openai.svg +1 -0
- package/references/front-demo/src/icons/svg/panel.svg +1 -0
- package/references/front-demo/src/icons/svg/password.svg +1 -0
- package/references/front-demo/src/icons/svg/people.svg +1 -0
- package/references/front-demo/src/icons/svg/peoples.svg +1 -0
- package/references/front-demo/src/icons/svg/pie-rose.svg +1 -0
- package/references/front-demo/src/icons/svg/pie.svg +1 -0
- package/references/front-demo/src/icons/svg/plus.svg +5 -0
- package/references/front-demo/src/icons/svg/podcast.svg +5 -0
- package/references/front-demo/src/icons/svg/preview.svg +1 -0
- package/references/front-demo/src/icons/svg/qrcode.svg +5 -0
- package/references/front-demo/src/icons/svg/radar.svg +1 -0
- package/references/front-demo/src/icons/svg/readed-msg.svg +1 -0
- package/references/front-demo/src/icons/svg/remove.svg +1 -0
- package/references/front-demo/src/icons/svg/rhdb.svg +1 -0
- package/references/front-demo/src/icons/svg/rhgc.svg +1 -0
- package/references/front-demo/src/icons/svg/rhgd.svg +1 -0
- package/references/front-demo/src/icons/svg/right-join.svg +1 -0
- package/references/front-demo/src/icons/svg/role.svg +1 -0
- package/references/front-demo/src/icons/svg/rulelist.svg +1 -0
- package/references/front-demo/src/icons/svg/runconfig.svg +1 -0
- package/references/front-demo/src/icons/svg/sbgzlbb.svg +1 -0
- package/references/front-demo/src/icons/svg/sbqy.svg +1 -0
- package/references/front-demo/src/icons/svg/sbrhjh.svg +1 -0
- package/references/front-demo/src/icons/svg/sbwhl.svg +1 -0
- package/references/front-demo/src/icons/svg/scatter.svg +1 -0
- package/references/front-demo/src/icons/svg/scene.svg +1 -0
- package/references/front-demo/src/icons/svg/shoppingCard.svg +1 -0
- package/references/front-demo/src/icons/svg/shouqi.svg +13 -0
- package/references/front-demo/src/icons/svg/singlemp.svg +1 -0
- package/references/front-demo/src/icons/svg/size.svg +1 -0
- package/references/front-demo/src/icons/svg/slimHead.svg +12 -0
- package/references/front-demo/src/icons/svg/sort-asc.svg +1 -0
- package/references/front-demo/src/icons/svg/sort-desc.svg +1 -0
- package/references/front-demo/src/icons/svg/standard.svg +1 -0
- package/references/front-demo/src/icons/svg/star.svg +1 -0
- package/references/front-demo/src/icons/svg/stats-bars.svg +5 -0
- package/references/front-demo/src/icons/svg/suffix-obj.svg +1 -0
- package/references/front-demo/src/icons/svg/sys-tools.svg +1 -0
- package/references/front-demo/src/icons/svg/system.svg +1 -0
- package/references/front-demo/src/icons/svg/table-info.svg +1 -0
- package/references/front-demo/src/icons/svg/table-normal.svg +1 -0
- package/references/front-demo/src/icons/svg/table-pivot.svg +1 -0
- package/references/front-demo/src/icons/svg/table.svg +1 -0
- package/references/front-demo/src/icons/svg/taizhang.svg +1 -0
- package/references/front-demo/src/icons/svg/task.svg +1 -0
- package/references/front-demo/src/icons/svg/tenant.svg +1 -0
- package/references/front-demo/src/icons/svg/text.svg +1 -0
- package/references/front-demo/src/icons/svg/tjqq.svg +1 -0
- package/references/front-demo/src/icons/svg/tree-company.svg +1 -0
- package/references/front-demo/src/icons/svg/tree-department.svg +1 -0
- package/references/front-demo/src/icons/svg/tree-device.svg +1 -0
- package/references/front-demo/src/icons/svg/tree-organization.svg +1 -0
- package/references/front-demo/src/icons/svg/tree.svg +1 -0
- package/references/front-demo/src/icons/svg/treemap.svg +1 -0
- package/references/front-demo/src/icons/svg/undefinedata.svg +1 -0
- package/references/front-demo/src/icons/svg/unread-msg.svg +1 -0
- package/references/front-demo/src/icons/svg/user-check.svg +6 -0
- package/references/front-demo/src/icons/svg/user.svg +1 -0
- package/references/front-demo/src/icons/svg/users.svg +6 -0
- package/references/front-demo/src/icons/svg/warn-tre.svg +1 -0
- package/references/front-demo/src/icons/svg/waterfall.svg +1 -0
- package/references/front-demo/src/icons/svg/wdgzt.svg +1 -0
- package/references/front-demo/src/icons/svg/wdlc.svg +1 -0
- package/references/front-demo/src/icons/svg/web-msg.svg +1 -0
- package/references/front-demo/src/icons/svg/wlbm.svg +1 -0
- package/references/front-demo/src/icons/svg/wlfl.svg +1 -0
- package/references/front-demo/src/icons/svg/wlgl.svg +1 -0
- package/references/front-demo/src/icons/svg/word-cloud.svg +1 -0
- package/references/front-demo/src/icons/svg/wtsp.svg +1 -0
- package/references/front-demo/src/icons/svg/wxdb.svg +1 -0
- package/references/front-demo/src/icons/svg/wxgc.svg +1 -0
- package/references/front-demo/src/icons/svg/xiaoxi.svg +13 -0
- package/references/front-demo/src/icons/svg/xyldr.svg +1 -0
- package/references/front-demo/src/icons/svg/ysp.svg +1 -0
- package/references/front-demo/src/icons/svg/yxgl.svg +1 -0
- package/references/front-demo/src/icons/svg/zcfbjzttj.svg +1 -0
- package/references/front-demo/src/icons/svg/zcfl.svg +1 -0
- package/references/front-demo/src/icons/svg/zcgl.svg +1 -0
- package/references/front-demo/src/icons/svg/zclk.svg +1 -0
- package/references/front-demo/src/icons/svg/zcll.svg +1 -0
- package/references/front-demo/src/icons/svg/zclx.svg +1 -0
- package/references/front-demo/src/icons/svg/zcpd.svg +1 -0
- package/references/front-demo/src/icons/svg/zctjbb.svg +1 -0
- package/references/front-demo/src/icons/svg/zcz.svg +1 -0
- package/references/front-demo/src/icons/svg/zhankai.svg +13 -0
- package/references/front-demo/src/icons/svg/zichan.svg +1 -0
- package/references/front-demo/src/icons/svg/zxck.svg +1 -0
- package/references/front-demo/src/icons/svg/zxrk.svg +1 -0
- package/references/front-demo/src/lang/element-lang.ts +26 -0
- package/references/front-demo/src/lang/en-us.ts +146 -0
- package/references/front-demo/src/lang/hu-hu.ts +1141 -0
- package/references/front-demo/src/lang/index.ts +108 -0
- package/references/front-demo/src/lang/modules/button/en-us.ts +158 -0
- package/references/front-demo/src/lang/modules/button/zh-cn.ts +157 -0
- package/references/front-demo/src/lang/modules/button/zh-tw.ts +157 -0
- package/references/front-demo/src/lang/modules/customizeTable/en-us.ts +56 -0
- package/references/front-demo/src/lang/modules/customizeTable/zh-cn.ts +55 -0
- package/references/front-demo/src/lang/modules/customizeTable/zh-tw.ts +55 -0
- package/references/front-demo/src/lang/modules/exportData/en-us.ts +19 -0
- package/references/front-demo/src/lang/modules/exportData/zh-cn.ts +19 -0
- package/references/front-demo/src/lang/modules/exportData/zh-tw.ts +19 -0
- package/references/front-demo/src/lang/modules/exportHistroy/en-us.ts +10 -0
- package/references/front-demo/src/lang/modules/exportHistroy/zh-cn.ts +10 -0
- package/references/front-demo/src/lang/modules/exportHistroy/zh-tw.ts +10 -0
- package/references/front-demo/src/lang/modules/forecast-order/en-us.ts +412 -0
- package/references/front-demo/src/lang/modules/forecast-order/zh-cn.ts +413 -0
- package/references/front-demo/src/lang/modules/forecast-order/zh-tw.ts +410 -0
- package/references/front-demo/src/lang/modules/gsReport/en-us.ts +41 -0
- package/references/front-demo/src/lang/modules/gsReport/zh-cn.ts +41 -0
- package/references/front-demo/src/lang/modules/gsReport/zh-tw.ts +41 -0
- package/references/front-demo/src/lang/modules/gsUploadFile/en-us.ts +10 -0
- package/references/front-demo/src/lang/modules/gsUploadFile/zh-cn.ts +10 -0
- package/references/front-demo/src/lang/modules/gsUploadFile/zh-tw.ts +10 -0
- package/references/front-demo/src/lang/modules/home/en-us.ts +19 -0
- package/references/front-demo/src/lang/modules/home/zh-cn.ts +19 -0
- package/references/front-demo/src/lang/modules/home/zh-tw.ts +19 -0
- package/references/front-demo/src/lang/modules/importData/en-us.ts +42 -0
- package/references/front-demo/src/lang/modules/importData/zh-cn.ts +42 -0
- package/references/front-demo/src/lang/modules/importData/zh-tw.ts +42 -0
- package/references/front-demo/src/lang/modules/importHistroy/en-us.ts +9 -0
- package/references/front-demo/src/lang/modules/importHistroy/zh-cn.ts +9 -0
- package/references/front-demo/src/lang/modules/importHistroy/zh-tw.ts +9 -0
- package/references/front-demo/src/lang/modules/js/en-us.ts +63 -0
- package/references/front-demo/src/lang/modules/js/zh-cn.ts +60 -0
- package/references/front-demo/src/lang/modules/js/zh-tw.ts +60 -0
- package/references/front-demo/src/lang/modules/letters/en-us.ts +21 -0
- package/references/front-demo/src/lang/modules/letters/zh-cn.ts +22 -0
- package/references/front-demo/src/lang/modules/letters/zh-tw.ts +22 -0
- package/references/front-demo/src/lang/modules/login/en-us.ts +68 -0
- package/references/front-demo/src/lang/modules/login/zh-cn.ts +64 -0
- package/references/front-demo/src/lang/modules/login/zh-tw.ts +64 -0
- package/references/front-demo/src/lang/modules/mdmCustomer/en-us.ts +81 -0
- package/references/front-demo/src/lang/modules/mdmCustomer/zh-cn.ts +92 -0
- package/references/front-demo/src/lang/modules/mdmCustomer/zh-tw.ts +81 -0
- package/references/front-demo/src/lang/modules/menu/en-us.ts +429 -0
- package/references/front-demo/src/lang/modules/menu/zh-cn.ts +423 -0
- package/references/front-demo/src/lang/modules/menu/zh-tw.ts +423 -0
- package/references/front-demo/src/lang/modules/message/en-us.ts +4 -0
- package/references/front-demo/src/lang/modules/message/zh-cn.ts +4 -0
- package/references/front-demo/src/lang/modules/message/zh-tw.ts +4 -0
- package/references/front-demo/src/lang/modules/otherLang/en-us.ts +63 -0
- package/references/front-demo/src/lang/modules/otherLang/zh-cn.ts +60 -0
- package/references/front-demo/src/lang/modules/otherLang/zh-tw.ts +58 -0
- package/references/front-demo/src/lang/modules/person/en-us.ts +27 -0
- package/references/front-demo/src/lang/modules/person/zh-cn.ts +27 -0
- package/references/front-demo/src/lang/modules/person/zh-tw.ts +27 -0
- package/references/front-demo/src/lang/modules/product-master-data/en-us.ts +65 -0
- package/references/front-demo/src/lang/modules/product-master-data/zh-cn.ts +82 -0
- package/references/front-demo/src/lang/modules/product-master-data/zh-tw.ts +82 -0
- package/references/front-demo/src/lang/modules/source_data/en-us.ts +49 -0
- package/references/front-demo/src/lang/modules/source_data/zh-cn.ts +41 -0
- package/references/front-demo/src/lang/modules/source_data/zh-tw.ts +41 -0
- package/references/front-demo/src/lang/modules/theme/en-us.ts +22 -0
- package/references/front-demo/src/lang/modules/theme/zh-cn.ts +22 -0
- package/references/front-demo/src/lang/modules/theme/zh-tw.ts +23 -0
- package/references/front-demo/src/lang/modules/third/en-us.ts +10 -0
- package/references/front-demo/src/lang/modules/third/zh-cn.ts +9 -0
- package/references/front-demo/src/lang/modules/third/zh-tw.ts +9 -0
- package/references/front-demo/src/lang/modules/toast/en-us.ts +21 -0
- package/references/front-demo/src/lang/modules/toast/zh-cn.ts +21 -0
- package/references/front-demo/src/lang/modules/toast/zh-tw.ts +21 -0
- package/references/front-demo/src/lang/modules/uploadDocument/en-us.ts +6 -0
- package/references/front-demo/src/lang/modules/uploadDocument/zh-cn.ts +6 -0
- package/references/front-demo/src/lang/modules/uploadDocument/zh-tw.ts +6 -0
- package/references/front-demo/src/lang/utils.ts +20 -0
- package/references/front-demo/src/lang/vi-vn.ts +1140 -0
- package/references/front-demo/src/lang/zh-cn.ts +180 -0
- package/references/front-demo/src/lang/zh-tw.ts +147 -0
- package/references/front-demo/src/main.ts +25 -0
- package/references/front-demo/src/mock/forecast/index.ts +1 -0
- package/references/front-demo/src/mock/forecast/router.ts +824 -0
- package/references/front-demo/src/mock/forecast/seed.ts +577 -0
- package/references/front-demo/src/mock/index.ts +74 -0
- package/references/front-demo/src/mock/mdmCustomer/index.ts +1 -0
- package/references/front-demo/src/mock/mdmCustomer/router.ts +468 -0
- package/references/front-demo/src/mock/mdmCustomer/seed.ts +359 -0
- package/references/front-demo/src/mock/platform/router.ts +119 -0
- package/references/front-demo/src/mock/platform/seed.ts +145 -0
- package/references/front-demo/src/mock/storage.ts +55 -0
- package/references/front-demo/src/permission.ts +448 -0
- package/references/front-demo/src/plugins/i18n.ts +3 -0
- package/references/front-demo/src/plugins/pinia.ts +7 -0
- package/references/front-demo/src/qiankun.js +114 -0
- package/references/front-demo/src/router/index.ts +132 -0
- package/references/front-demo/src/router/modules/forecast-order.ts +68 -0
- package/references/front-demo/src/store/index.ts +43 -0
- package/references/front-demo/src/store/modules/app/actions.ts +137 -0
- package/references/front-demo/src/store/modules/app/getters.ts +16 -0
- package/references/front-demo/src/store/modules/app/index.ts +52 -0
- package/references/front-demo/src/store/modules/app/mutations.ts +108 -0
- package/references/front-demo/src/store/modules/forecast-order/__tests__/forecastOrderDetailStore.spec.ts +379 -0
- package/references/front-demo/src/store/modules/forecast-order/__tests__/forecastOrderListStore.spec.ts +297 -0
- package/references/front-demo/src/store/modules/forecast-order/changeOrderFormStore.ts +245 -0
- package/references/front-demo/src/store/modules/forecast-order/configStore.ts +157 -0
- package/references/front-demo/src/store/modules/forecast-order/forecastOrderDetailStore.ts +243 -0
- package/references/front-demo/src/store/modules/forecast-order/forecastOrderFormStore.ts +281 -0
- package/references/front-demo/src/store/modules/forecast-order/forecastOrderListStore.ts +101 -0
- package/references/front-demo/src/store/modules/forecast-order/index.ts +5 -0
- package/references/front-demo/src/store/modules/mdmCustomer/__tests__/customerStore.spec.ts +206 -0
- package/references/front-demo/src/store/modules/mdmCustomer/customerStore.ts +303 -0
- package/references/front-demo/src/store/modules/permission/actions.ts +11 -0
- package/references/front-demo/src/store/modules/permission/getters.ts +5 -0
- package/references/front-demo/src/store/modules/permission/index.ts +14 -0
- package/references/front-demo/src/store/modules/permission/mutations.ts +13 -0
- package/references/front-demo/src/store/modules/product-master-data/__tests__/productListStore.spec.ts +378 -0
- package/references/front-demo/src/store/modules/product-master-data/productListStore.ts +333 -0
- package/references/front-demo/src/store/modules/tagsView/actions.ts +87 -0
- package/references/front-demo/src/store/modules/tagsView/getters.ts +6 -0
- package/references/front-demo/src/store/modules/tagsView/index.ts +18 -0
- package/references/front-demo/src/store/modules/tagsView/mutations.ts +118 -0
- package/references/front-demo/src/store/modules/theme/actions.ts +77 -0
- package/references/front-demo/src/store/modules/theme/getters.ts +10 -0
- package/references/front-demo/src/store/modules/theme/index.ts +27 -0
- package/references/front-demo/src/store/modules/theme/mutations.ts +28 -0
- package/references/front-demo/src/store/modules/user/actions.ts +243 -0
- package/references/front-demo/src/store/modules/user/getters.ts +10 -0
- package/references/front-demo/src/store/modules/user/index.ts +44 -0
- package/references/front-demo/src/store/modules/user/mutations.ts +104 -0
- package/references/front-demo/src/store/piniaToVuex/index.ts +283 -0
- package/references/front-demo/src/stores/counter.ts +12 -0
- package/references/front-demo/src/styles/element-plus.scss +937 -0
- package/references/front-demo/src/styles/global.scss +826 -0
- package/references/front-demo/src/styles/iconfont/demo.css +539 -0
- package/references/front-demo/src/styles/iconfont/iconfont.css +68 -0
- package/references/front-demo/src/styles/iconfont/iconfont.js +63 -0
- package/references/front-demo/src/styles/iconfont/iconfont.ttf +0 -0
- package/references/front-demo/src/styles/index.scss +116 -0
- package/references/front-demo/src/styles/mixin.scss +78 -0
- package/references/front-demo/src/styles/theme/black/content-management.scss +11 -0
- package/references/front-demo/src/styles/theme/black/dynamic-report.scss +31 -0
- package/references/front-demo/src/styles/theme/black/form-design.scss +181 -0
- package/references/front-demo/src/styles/theme/black/open-api.scss +118 -0
- package/references/front-demo/src/styles/theme/black/platform.scss +57 -0
- package/references/front-demo/src/styles/theme/black/process-manage.scss +48 -0
- package/references/front-demo/src/styles/theme/black/rent-mannage.scss +8 -0
- package/references/front-demo/src/styles/theme/black/schedule.scss +45 -0
- package/references/front-demo/src/styles/theme/black/service-management.scss +14 -0
- package/references/front-demo/src/styles/theme/black/system-manage.scss +144 -0
- package/references/front-demo/src/styles/theme/black.scss +1642 -0
- package/references/front-demo/src/styles/theme/default/index.scss +1 -0
- package/references/front-demo/src/styles/theme/default/menu.scss +199 -0
- package/references/front-demo/src/styles/transition.scss +107 -0
- package/references/front-demo/src/styles/variables.scss +66 -0
- package/references/front-demo/src/types/forecast-order/api.ts +44 -0
- package/references/front-demo/src/types/forecast-order/enums.ts +122 -0
- package/references/front-demo/src/types/forecast-order/forecastChangeOrder.ts +40 -0
- package/references/front-demo/src/types/forecast-order/forecastOrder.ts +98 -0
- package/references/front-demo/src/types/forecast-order/index.ts +43 -0
- package/references/front-demo/src/types/mdmCustomer/api.ts +26 -0
- package/references/front-demo/src/types/mdmCustomer/customer.ts +75 -0
- package/references/front-demo/src/types/product-master-data/api.ts +27 -0
- package/references/front-demo/src/types/product-master-data/product.ts +58 -0
- package/references/front-demo/src/utils/ArrayExtension.ts +175 -0
- package/references/front-demo/src/utils/app-mixin.ts +50 -0
- package/references/front-demo/src/utils/areas.ts +1712 -0
- package/references/front-demo/src/utils/auth.ts +336 -0
- package/references/front-demo/src/utils/base64.ts +231 -0
- package/references/front-demo/src/utils/browser-helper.ts +39 -0
- package/references/front-demo/src/utils/bus.ts +35 -0
- package/references/front-demo/src/utils/deprecated-utils.ts +116 -0
- package/references/front-demo/src/utils/errorHandler.ts +61 -0
- package/references/front-demo/src/utils/events.ts +59 -0
- package/references/front-demo/src/utils/forecastOrderActions.ts +117 -0
- package/references/front-demo/src/utils/i18nHelper.ts +24 -0
- package/references/front-demo/src/utils/index.ts +819 -0
- package/references/front-demo/src/utils/name-auth.ts +97 -0
- package/references/front-demo/src/utils/onlyMsgBox.ts +38 -0
- package/references/front-demo/src/utils/pinyinList.ts +417 -0
- package/references/front-demo/src/utils/request-utils.ts +277 -0
- package/references/front-demo/src/utils/request.ts +146 -0
- package/references/front-demo/src/utils/routeHelper.ts +66 -0
- package/references/front-demo/src/utils/statusTagHelper.ts +55 -0
- package/references/front-demo/src/utils/storage.ts +80 -0
- package/references/front-demo/src/utils/theme.ts +192 -0
- package/references/front-demo/src/utils/toPinYin.ts +34 -0
- package/references/front-demo/src/utils/tool.ts +7103 -0
- package/references/front-demo/src/utils/utilsFn.ts +73 -0
- package/references/front-demo/src/utils/validate.ts +110 -0
- package/references/front-demo/src/utils/watermark.ts +161 -0
- package/references/front-demo/src/utils/watermarkcompact.ts +180 -0
- package/references/front-demo/src/utils/wordRender.ts +100 -0
- package/references/front-demo/src/utils/ws.ts +42 -0
- package/references/front-demo/src/views/404.vue +245 -0
- package/references/front-demo/src/views/CollectButton/demand.vue +39 -0
- package/references/front-demo/src/views/CollectButton/dialog.vue +178 -0
- package/references/front-demo/src/views/CollectButton/index.vue +306 -0
- package/references/front-demo/src/views/FlowCharts/FormDemo.vue +236 -0
- package/references/front-demo/src/views/FlowCharts/components/ListDetailButton/index.vue +36 -0
- package/references/front-demo/src/views/FlowCharts/leaveApplication.vue +56 -0
- package/references/front-demo/src/views/FlowCharts/testForm.vue +56 -0
- package/references/front-demo/src/views/Password/index.vue +148 -0
- package/references/front-demo/src/views/authorize/components/ForgetPassword.vue +309 -0
- package/references/front-demo/src/views/authorize/components/FormLogin/components/VerificationDialog.vue +297 -0
- package/references/front-demo/src/views/authorize/components/FormLogin/index.vue +649 -0
- package/references/front-demo/src/views/authorize/index.vue +149 -0
- package/references/front-demo/src/views/dynamic-form/index.vue +42 -0
- package/references/front-demo/src/views/forecast-order/ChangeOrderEdit.vue +113 -0
- package/references/front-demo/src/views/forecast-order/ForecastOrderDetail.vue +732 -0
- package/references/front-demo/src/views/forecast-order/ForecastOrderEdit.vue +179 -0
- package/references/front-demo/src/views/forecast-order/__tests__/ChangeOrderEdit.spec.ts +157 -0
- package/references/front-demo/src/views/forecast-order/__tests__/ForecastOrderDetail.spec.ts +230 -0
- package/references/front-demo/src/views/forecast-order/__tests__/ForecastOrderE2E.spec.ts +607 -0
- package/references/front-demo/src/views/forecast-order/__tests__/ForecastOrderEdit.spec.ts +283 -0
- package/references/front-demo/src/views/forecast-order/__tests__/ForecastOrderList.spec.ts +428 -0
- package/references/front-demo/src/views/forecast-order/__tests__/Selectors.spec.ts +209 -0
- package/references/front-demo/src/views/forecast-order/components/ApproveChangeDialog.vue +165 -0
- package/references/front-demo/src/views/forecast-order/components/ChangeForm.vue +235 -0
- package/references/front-demo/src/views/forecast-order/components/CustomerSelector.vue +165 -0
- package/references/front-demo/src/views/forecast-order/components/ForecastOrderForm.vue +299 -0
- package/references/front-demo/src/views/forecast-order/components/ProductSelector.vue +167 -0
- package/references/front-demo/src/views/forecast-order/components/ReplyDialog.vue +170 -0
- package/references/front-demo/src/views/forecast-order/components/StatusFlowBar.vue +156 -0
- package/references/front-demo/src/views/forecast-order/components/TransferFoDialog.vue +97 -0
- package/references/front-demo/src/views/forecast-order/config/index.vue +205 -0
- package/references/front-demo/src/views/forecast-order/index.vue +539 -0
- package/references/front-demo/src/views/home-page/WorkTable.vue +116 -0
- package/references/front-demo/src/views/home-page/index.vue +14 -0
- package/references/front-demo/src/views/layout/Frame.vue +75 -0
- package/references/front-demo/src/views/layout/Layout.vue +186 -0
- package/references/front-demo/src/views/layout/MiddleView.vue +29 -0
- package/references/front-demo/src/views/layout/components/AppMain.vue +302 -0
- package/references/front-demo/src/views/layout/components/CompactTools/index.vue +59 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/AVue.vue +34 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/Gpt.vue +51 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/Help.vue +52 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/Locale.vue +143 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/Message.vue +495 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/NavbarMenu.vue +196 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/Personal.vue +308 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/Portal.vue +34 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/SystemChange.vue +133 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/Tablet.vue +206 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/TenantChange.vue +186 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/Theme.vue +429 -0
- package/references/front-demo/src/views/layout/components/Navbar/index.vue +220 -0
- package/references/front-demo/src/views/layout/components/Sidebar/components/CustomSliderMenu.vue +267 -0
- package/references/front-demo/src/views/layout/components/Sidebar/components/FetchMenuItem.vue +45 -0
- package/references/front-demo/src/views/layout/components/Sidebar/components/MenuItem.vue +135 -0
- package/references/front-demo/src/views/layout/components/Sidebar/components/MenuSearch.vue +102 -0
- package/references/front-demo/src/views/layout/components/Sidebar/components/SubMenu.js +190 -0
- package/references/front-demo/src/views/layout/components/Sidebar/components/SubMenu.vue +125 -0
- package/references/front-demo/src/views/layout/components/Sidebar/components/ToggleSidebar.vue +51 -0
- package/references/front-demo/src/views/layout/components/Sidebar/index.vue +464 -0
- package/references/front-demo/src/views/layout/components/TagsView.vue +683 -0
- package/references/front-demo/src/views/layout/components/chatGPT/image/chatgpt.png +0 -0
- package/references/front-demo/src/views/layout/components/chatGPT/image/knowledge_IT.png +0 -0
- package/references/front-demo/src/views/layout/components/chatGPT/image/knowledge_gushen.png +0 -0
- package/references/front-demo/src/views/layout/components/chatGPT/image/pmo_background.png +0 -0
- package/references/front-demo/src/views/layout/components/chatGPT/image/smile.png +0 -0
- package/references/front-demo/src/views/layout/components/chatGPT/image/stop.svg +1 -0
- package/references/front-demo/src/views/layout/components/chatGPT/image/titleIcon.png +0 -0
- package/references/front-demo/src/views/layout/components/chatGPT/index.js +7 -0
- package/references/front-demo/src/views/layout/components/chatGPT/index.vue +517 -0
- package/references/front-demo/src/views/layout/components/chatGPT/styles/index.scss +360 -0
- package/references/front-demo/src/views/layout/components/chatGPT/utils/gpt.js +29 -0
- package/references/front-demo/src/views/layout/components/chatGPT/utils/index.js +70 -0
- package/references/front-demo/src/views/layout/components/index.js +6 -0
- package/references/front-demo/src/views/layout/mixin/ResizeHandler.js +28 -0
- package/references/front-demo/src/views/layout/utils/dynamicFormHelper.js +44 -0
- package/references/front-demo/src/views/layout/utils/scroll.js +89 -0
- package/references/front-demo/src/views/letters/config/gridConfig.js +59 -0
- package/references/front-demo/src/views/letters/index.vue +401 -0
- package/references/front-demo/src/views/login/ForgetPassword.vue +425 -0
- package/references/front-demo/src/views/login/FormLogin.vue +1222 -0
- package/references/front-demo/src/views/login/ScanLogin.vue +256 -0
- package/references/front-demo/src/views/login/index.vue +432 -0
- package/references/front-demo/src/views/mdmCustomer/__tests__/CustomerList.spec.ts +90 -0
- package/references/front-demo/src/views/mdmCustomer/components/AddressFormDialog.vue +95 -0
- package/references/front-demo/src/views/mdmCustomer/components/ConfirmDialog.vue +37 -0
- package/references/front-demo/src/views/mdmCustomer/components/CustomerDetailDrawer.vue +118 -0
- package/references/front-demo/src/views/mdmCustomer/components/CustomerFormDialog.vue +254 -0
- package/references/front-demo/src/views/mdmCustomer/index.vue +397 -0
- package/references/front-demo/src/views/person-info/components/information.vue +99 -0
- package/references/front-demo/src/views/person-info/index.vue +28 -0
- package/references/front-demo/src/views/product-master-data/__tests__/ProductFormDialog.spec.ts +246 -0
- package/references/front-demo/src/views/product-master-data/__tests__/ProductList.spec.ts +423 -0
- package/references/front-demo/src/views/product-master-data/components/ConfirmDialog.vue +69 -0
- package/references/front-demo/src/views/product-master-data/components/ProductDetailDrawer.vue +140 -0
- package/references/front-demo/src/views/product-master-data/components/ProductFormDialog.vue +198 -0
- package/references/front-demo/src/views/product-master-data/index.vue +384 -0
- package/references/front-demo/src/views/sso/login/index.vue +128 -0
- package/references/front-demo/src/views/sso/multi-login/index.vue +95 -0
- package/references/front-demo/src/views/third-login/index.vue +73 -0
- package/references/front-demo/src/views/third-view.vue +86 -0
- package/references/front-demo/tsconfig.app.json +12 -0
- package/references/front-demo/tsconfig.json +11 -0
- package/references/front-demo/tsconfig.node.json +19 -0
- package/references/front-demo/vite.config.ts +56 -0
- package/references/front-demo/vitest.config.ts +35 -0
- 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
- 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
- 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
- package/references/python-end-standard/04-Redis/344/275/277/347/224/250/350/247/204/350/214/203.md +231 -0
- package/references/python-end-standard/index.md +12 -0
- package/references/web-ui/.editorconfig +9 -0
- package/references/web-ui/.gitattributes +1 -0
- package/references/web-ui/.prettierrc.json +6 -0
- package/references/web-ui/README.md +39 -0
- package/references/web-ui/auto-imports.d.ts +10 -0
- package/references/web-ui/components.d.ts +78 -0
- package/references/web-ui/env.d.ts +1 -0
- package/references/web-ui/eslint.config.ts +22 -0
- package/references/web-ui/index.html +22 -0
- package/references/web-ui/package.json +57 -0
- package/references/web-ui/public/apiurls.js +69 -0
- package/references/web-ui/public/config.js +93 -0
- package/references/web-ui/public/favicon.ico +0 -0
- package/references/web-ui/src/App.vue +117 -0
- package/references/web-ui/src/api/app.ts +298 -0
- package/references/web-ui/src/api/attachment.ts +30 -0
- package/references/web-ui/src/api/base-exception/index.ts +87 -0
- package/references/web-ui/src/api/collect/index.ts +37 -0
- package/references/web-ui/src/api/comment/index.ts +44 -0
- package/references/web-ui/src/api/dashboard/index.ts +83 -0
- package/references/web-ui/src/api/dataImport.ts +97 -0
- package/references/web-ui/src/api/dingding/index.ts +43 -0
- package/references/web-ui/src/api/export.ts +25 -0
- package/references/web-ui/src/api/home/index.ts +78 -0
- package/references/web-ui/src/api/iotBaseRole/index.ts +32 -0
- package/references/web-ui/src/api/iotBaseSystem/index.ts +32 -0
- package/references/web-ui/src/api/letters/index.ts +93 -0
- package/references/web-ui/src/api/login.ts +140 -0
- package/references/web-ui/src/api/menu/index.ts +79 -0
- package/references/web-ui/src/api/multi-login/index.ts +36 -0
- package/references/web-ui/src/api/personalInformation/index.ts +9 -0
- package/references/web-ui/src/api/portal/index.ts +95 -0
- package/references/web-ui/src/api/practice/index.ts +32 -0
- package/references/web-ui/src/api/reset-password/index.ts +16 -0
- package/references/web-ui/src/api/system-manage/dataImport/index.ts +87 -0
- package/references/web-ui/src/api/system-manage/menu/index.ts +34 -0
- package/references/web-ui/src/api/system-manage/reverse-authorization/index.ts +18 -0
- package/references/web-ui/src/api/testMenu/demo1/index.ts +14 -0
- package/references/web-ui/src/api/testMenu/demo2/index.ts +0 -0
- package/references/web-ui/src/api/testMenu/leaveApplication/index.ts +53 -0
- package/references/web-ui/src/api/testMenu/testDemo/index.ts +66 -0
- package/references/web-ui/src/api/update/index.ts +43 -0
- package/references/web-ui/src/api/worktable/agenda.ts +19 -0
- package/references/web-ui/src/api/worktable/approved.ts +32 -0
- package/references/web-ui/src/api/worktable/entrusted.ts +92 -0
- package/references/web-ui/src/api/worktable/myProcess.ts +48 -0
- package/references/web-ui/src/api/worktable/startTask.ts +56 -0
- package/references/web-ui/src/api/worktable/tobeRead.ts +28 -0
- package/references/web-ui/src/api/wx-work/index.ts +43 -0
- package/references/web-ui/src/assets/images/404.png +0 -0
- package/references/web-ui/src/assets/images/404_cloud.png +0 -0
- package/references/web-ui/src/assets/images/compact_layout.png +0 -0
- package/references/web-ui/src/assets/images/dingding.png +0 -0
- package/references/web-ui/src/assets/images/feishu.png +0 -0
- package/references/web-ui/src/assets/images/hover.png +0 -0
- package/references/web-ui/src/assets/images/login_background.jpg +0 -0
- package/references/web-ui/src/assets/images/login_banner.jpg +0 -0
- package/references/web-ui/src/assets/images/logo.png +0 -0
- package/references/web-ui/src/assets/images/noData.png +0 -0
- package/references/web-ui/src/assets/images/no_data.png +0 -0
- package/references/web-ui/src/assets/images/normal_layout.png +0 -0
- package/references/web-ui/src/assets/images/qiyeweixin.png +0 -0
- package/references/web-ui/src/assets/images/sider-open.png +0 -0
- package/references/web-ui/src/assets/images/vertical.png +0 -0
- package/references/web-ui/src/assets/png/pass.png +0 -0
- package/references/web-ui/src/components/GsIcon/index.ts +7 -0
- package/references/web-ui/src/components/GsIcon/index.vue +47 -0
- package/references/web-ui/src/components/GsIconDialog/icons.ts +2167 -0
- package/references/web-ui/src/components/GsIconDialog/index.ts +7 -0
- package/references/web-ui/src/components/GsIconDialog/index.vue +856 -0
- package/references/web-ui/src/components/GsUpload/GsOverloadText.vue +68 -0
- package/references/web-ui/src/components/GsUpload/attachmentList.vue +241 -0
- package/references/web-ui/src/components/GsUpload/copper.vue +117 -0
- package/references/web-ui/src/components/GsUpload/imgUpload.vue +382 -0
- package/references/web-ui/src/components/GsUpload/index.vue +468 -0
- package/references/web-ui/src/components/GsUpload/preview.vue +44 -0
- package/references/web-ui/src/components/GsUpload/utils.ts +151 -0
- package/references/web-ui/src/components/SvgIcon/index.ts +7 -0
- package/references/web-ui/src/components/SvgIcon/index.vue +39 -0
- package/references/web-ui/src/components/UploadImg/index.ts +7 -0
- package/references/web-ui/src/components/UploadImg/index.vue +292 -0
- package/references/web-ui/src/components/global-register.ts +31 -0
- package/references/web-ui/src/components/utils/index.ts +12 -0
- package/references/web-ui/src/config/index.js +64 -0
- package/references/web-ui/src/core/initMain.ts +89 -0
- package/references/web-ui/src/icons/index.ts +5 -0
- package/references/web-ui/src/icons/svg/AssessmentInfo.svg +1 -0
- package/references/web-ui/src/icons/svg/BasicConfig.svg +1 -0
- package/references/web-ui/src/icons/svg/DataEase.svg +86 -0
- package/references/web-ui/src/icons/svg/PDF.svg +1 -0
- package/references/web-ui/src/icons/svg/account_box.svg +5 -0
- package/references/web-ui/src/icons/svg/add.svg +1 -0
- package/references/web-ui/src/icons/svg/alert.svg +8 -0
- package/references/web-ui/src/icons/svg/alertlist.svg +18 -0
- package/references/web-ui/src/icons/svg/all-msg.svg +1 -0
- package/references/web-ui/src/icons/svg/analysis.svg +1 -0
- package/references/web-ui/src/icons/svg/app.svg +1 -0
- package/references/web-ui/src/icons/svg/assPersonnel.svg +1 -0
- package/references/web-ui/src/icons/svg/assessment.svg +1 -0
- package/references/web-ui/src/icons/svg/bar-horizontal.svg +1 -0
- package/references/web-ui/src/icons/svg/bar-stack-horizontal.svg +1 -0
- package/references/web-ui/src/icons/svg/bar-stack.svg +1 -0
- package/references/web-ui/src/icons/svg/bar.svg +1 -0
- package/references/web-ui/src/icons/svg/basicalgorithm.svg +1 -0
- package/references/web-ui/src/icons/svg/battery.svg +1 -0
- package/references/web-ui/src/icons/svg/bbgl.svg +1 -0
- package/references/web-ui/src/icons/svg/bell.svg +5 -0
- package/references/web-ui/src/icons/svg/bfcx.svg +1 -0
- package/references/web-ui/src/icons/svg/bjqd.svg +1 -0
- package/references/web-ui/src/icons/svg/bjxhtj.svg +1 -0
- package/references/web-ui/src/icons/svg/bjxhxq.svg +1 -0
- package/references/web-ui/src/icons/svg/bmll.svg +1 -0
- package/references/web-ui/src/icons/svg/bmtl.svg +1 -0
- package/references/web-ui/src/icons/svg/bqcj.svg +1 -0
- package/references/web-ui/src/icons/svg/bqmbgl.svg +1 -0
- package/references/web-ui/src/icons/svg/buddle-map.svg +1 -0
- package/references/web-ui/src/icons/svg/bug.svg +1 -0
- package/references/web-ui/src/icons/svg/bygd.svg +1 -0
- package/references/web-ui/src/icons/svg/bz.svg +1 -0
- package/references/web-ui/src/icons/svg/bzgl.svg +1 -0
- package/references/web-ui/src/icons/svg/characteristics.svg +1 -0
- package/references/web-ui/src/icons/svg/chart-mix.svg +1 -0
- package/references/web-ui/src/icons/svg/checkbox-checked.svg +5 -0
- package/references/web-ui/src/icons/svg/checkimage.svg +1 -0
- package/references/web-ui/src/icons/svg/ck.svg +1 -0
- package/references/web-ui/src/icons/svg/classifymark.svg +1 -0
- package/references/web-ui/src/icons/svg/closeEyes.svg +15 -0
- package/references/web-ui/src/icons/svg/club.svg +1 -0
- package/references/web-ui/src/icons/svg/collector.svg +1 -0
- package/references/web-ui/src/icons/svg/collectormanage.svg +1 -0
- package/references/web-ui/src/icons/svg/crkdcx.svg +1 -0
- package/references/web-ui/src/icons/svg/dashboard-collector.svg +38 -0
- package/references/web-ui/src/icons/svg/dashboard-device.svg +40 -0
- package/references/web-ui/src/icons/svg/dashboard-gateway.svg +38 -0
- package/references/web-ui/src/icons/svg/dashboard-warning.svg +40 -0
- package/references/web-ui/src/icons/svg/dashboard.svg +1 -0
- package/references/web-ui/src/icons/svg/database.svg +1 -0
- package/references/web-ui/src/icons/svg/dataset-task.svg +1 -0
- package/references/web-ui/src/icons/svg/datasource.svg +1 -0
- package/references/web-ui/src/icons/svg/db.svg +1 -0
- package/references/web-ui/src/icons/svg/ddgl.svg +1 -0
- package/references/web-ui/src/icons/svg/ddycjk.svg +1 -0
- package/references/web-ui/src/icons/svg/default.svg +1 -0
- package/references/web-ui/src/icons/svg/definition.svg +1 -0
- package/references/web-ui/src/icons/svg/depassessment.svg +1 -0
- package/references/web-ui/src/icons/svg/dept.svg +1 -0
- package/references/web-ui/src/icons/svg/device.svg +1 -0
- package/references/web-ui/src/icons/svg/devicebig.svg +1 -0
- package/references/web-ui/src/icons/svg/devicegroup.svg +1 -0
- package/references/web-ui/src/icons/svg/devicelist.svg +1 -0
- package/references/web-ui/src/icons/svg/devicemanage.svg +1 -0
- package/references/web-ui/src/icons/svg/deviceparam.svg +1 -0
- package/references/web-ui/src/icons/svg/devicetype.svg +1 -0
- package/references/web-ui/src/icons/svg/diagnose.svg +1 -0
- package/references/web-ui/src/icons/svg/diagnoseresult.svg +1 -0
- package/references/web-ui/src/icons/svg/distribution.svg +1 -0
- package/references/web-ui/src/icons/svg/doc.svg +1 -0
- package/references/web-ui/src/icons/svg/docs.svg +1 -0
- package/references/web-ui/src/icons/svg/dqby.svg +1 -0
- package/references/web-ui/src/icons/svg/dqbydb.svg +1 -0
- package/references/web-ui/src/icons/svg/dqbygc.svg +1 -0
- package/references/web-ui/src/icons/svg/dqbygd.svg +1 -0
- package/references/web-ui/src/icons/svg/dqbyjh.svg +1 -0
- package/references/web-ui/src/icons/svg/ds-api.svg +1 -0
- package/references/web-ui/src/icons/svg/ds-custom.svg +1 -0
- package/references/web-ui/src/icons/svg/ds-db.svg +1 -0
- package/references/web-ui/src/icons/svg/ds-excel.svg +1 -0
- package/references/web-ui/src/icons/svg/ds-sql.svg +1 -0
- package/references/web-ui/src/icons/svg/ds-union.svg +1 -0
- package/references/web-ui/src/icons/svg/dxjdb.svg +1 -0
- package/references/web-ui/src/icons/svg/dxjgc.svg +1 -0
- package/references/web-ui/src/icons/svg/dxjgd.svg +1 -0
- package/references/web-ui/src/icons/svg/dxjjh.svg +1 -0
- package/references/web-ui/src/icons/svg/dy.svg +1 -0
- package/references/web-ui/src/icons/svg/earth.svg +5 -0
- package/references/web-ui/src/icons/svg/echart-fullscreen.svg +1 -0
- package/references/web-ui/src/icons/svg/echart-nomalscreen.svg +1 -0
- package/references/web-ui/src/icons/svg/edit.svg +1 -0
- package/references/web-ui/src/icons/svg/email-task.svg +1 -0
- package/references/web-ui/src/icons/svg/envelop.svg +5 -0
- package/references/web-ui/src/icons/svg/equalizer.svg +5 -0
- package/references/web-ui/src/icons/svg/example.svg +1 -0
- package/references/web-ui/src/icons/svg/exclamationmark.svg +1 -0
- package/references/web-ui/src/icons/svg/exclamationmark2.svg +1 -0
- package/references/web-ui/src/icons/svg/exit-fullscreen.svg +1 -0
- package/references/web-ui/src/icons/svg/eye-open.svg +1 -0
- package/references/web-ui/src/icons/svg/eye.svg +1 -0
- package/references/web-ui/src/icons/svg/fav.svg +1 -0
- package/references/web-ui/src/icons/svg/field_location.svg +1 -0
- package/references/web-ui/src/icons/svg/field_text.svg +1 -0
- package/references/web-ui/src/icons/svg/field_time.svg +1 -0
- package/references/web-ui/src/icons/svg/field_value.svg +1 -0
- package/references/web-ui/src/icons/svg/folder.svg +1 -0
- package/references/web-ui/src/icons/svg/form.svg +1 -0
- package/references/web-ui/src/icons/svg/fullscreen.svg +1 -0
- package/references/web-ui/src/icons/svg/funnel.svg +1 -0
- package/references/web-ui/src/icons/svg/gateway.svg +1 -0
- package/references/web-ui/src/icons/svg/gatewaymanage.svg +16 -0
- package/references/web-ui/src/icons/svg/gauge.svg +1 -0
- package/references/web-ui/src/icons/svg/gdgl.svg +1 -0
- package/references/web-ui/src/icons/svg/gdll.svg +1 -0
- package/references/web-ui/src/icons/svg/gdtl.svg +1 -0
- package/references/web-ui/src/icons/svg/gdwcqk.svg +1 -0
- package/references/web-ui/src/icons/svg/gdwcxq.svg +1 -0
- package/references/web-ui/src/icons/svg/gnwz.svg +1 -0
- package/references/web-ui/src/icons/svg/gs-add.svg +14 -0
- package/references/web-ui/src/icons/svg/gs-change.svg +18 -0
- package/references/web-ui/src/icons/svg/gs-choose-icon.svg +23 -0
- package/references/web-ui/src/icons/svg/gs-close.svg +15 -0
- package/references/web-ui/src/icons/svg/gs-delete.svg +19 -0
- package/references/web-ui/src/icons/svg/gs-down.svg +12 -0
- package/references/web-ui/src/icons/svg/gs-edit.svg +23 -0
- package/references/web-ui/src/icons/svg/gs-edit2.svg +18 -0
- package/references/web-ui/src/icons/svg/gs-page.svg +14 -0
- package/references/web-ui/src/icons/svg/gs-resize.svg +12 -0
- package/references/web-ui/src/icons/svg/gs-select.svg +15 -0
- package/references/web-ui/src/icons/svg/gzbx.svg +1 -0
- package/references/web-ui/src/icons/svg/gzgd.svg +1 -0
- package/references/web-ui/src/icons/svg/gzk.svg +1 -0
- package/references/web-ui/src/icons/svg/gzzd.svg +1 -0
- package/references/web-ui/src/icons/svg/head.svg +13 -0
- package/references/web-ui/src/icons/svg/iconfont.svg +71 -0
- package/references/web-ui/src/icons/svg/im_message.svg +1 -0
- package/references/web-ui/src/icons/svg/indexdefine.svg +1 -0
- package/references/web-ui/src/icons/svg/inner-join.svg +1 -0
- package/references/web-ui/src/icons/svg/international.svg +1 -0
- package/references/web-ui/src/icons/svg/jcsj.svg +1 -0
- package/references/web-ui/src/icons/svg/jhjxgd.svg +1 -0
- package/references/web-ui/src/icons/svg/jilu.svg +1 -0
- package/references/web-ui/src/icons/svg/jldw.svg +1 -0
- package/references/web-ui/src/icons/svg/jscsfp.svg +1 -0
- package/references/web-ui/src/icons/svg/jscswh.svg +1 -0
- package/references/web-ui/src/icons/svg/kccx.svg +1 -0
- package/references/web-ui/src/icons/svg/kcpd.svg +1 -0
- package/references/web-ui/src/icons/svg/konwledgelist.svg +1 -0
- package/references/web-ui/src/icons/svg/kucun.svg +1 -0
- package/references/web-ui/src/icons/svg/language.svg +1 -0
- package/references/web-ui/src/icons/svg/left-join.svg +1 -0
- package/references/web-ui/src/icons/svg/leftBack.svg +15 -0
- package/references/web-ui/src/icons/svg/line-stack.svg +1 -0
- package/references/web-ui/src/icons/svg/line.svg +1 -0
- package/references/web-ui/src/icons/svg/link.svg +1 -0
- package/references/web-ui/src/icons/svg/liquid.svg +1 -0
- package/references/web-ui/src/icons/svg/list.svg +5 -0
- package/references/web-ui/src/icons/svg/location2.svg +5 -0
- package/references/web-ui/src/icons/svg/lock_closed.svg +1 -0
- package/references/web-ui/src/icons/svg/lock_open.svg +1 -0
- package/references/web-ui/src/icons/svg/logo.svg +32 -0
- package/references/web-ui/src/icons/svg/map.svg +1 -0
- package/references/web-ui/src/icons/svg/map_old.svg +1 -0
- package/references/web-ui/src/icons/svg/menu.svg +1 -0
- package/references/web-ui/src/icons/svg/message.svg +1 -0
- package/references/web-ui/src/icons/svg/messaged.svg +1 -0
- package/references/web-ui/src/icons/svg/meter.svg +5 -0
- package/references/web-ui/src/icons/svg/mobile.svg +5 -0
- package/references/web-ui/src/icons/svg/model.svg +1 -0
- package/references/web-ui/src/icons/svg/money.svg +1 -0
- package/references/web-ui/src/icons/svg/more_v.svg +1 -0
- package/references/web-ui/src/icons/svg/msg-setting.svg +1 -0
- package/references/web-ui/src/icons/svg/mttr&mtbf.svg +1 -0
- package/references/web-ui/src/icons/svg/multiplemp.svg +1 -0
- package/references/web-ui/src/icons/svg/myassessment.svg +1 -0
- package/references/web-ui/src/icons/svg/nested.svg +1 -0
- package/references/web-ui/src/icons/svg/new-message.svg +5 -0
- package/references/web-ui/src/icons/svg/no-join.svg +1 -0
- package/references/web-ui/src/icons/svg/normal-fx.svg +1 -0
- package/references/web-ui/src/icons/svg/notification.svg +1 -0
- package/references/web-ui/src/icons/svg/openEyes.svg +12 -0
- package/references/web-ui/src/icons/svg/openai.svg +1 -0
- package/references/web-ui/src/icons/svg/panel.svg +1 -0
- package/references/web-ui/src/icons/svg/password.svg +1 -0
- package/references/web-ui/src/icons/svg/people.svg +1 -0
- package/references/web-ui/src/icons/svg/peoples.svg +1 -0
- package/references/web-ui/src/icons/svg/pie-rose.svg +1 -0
- package/references/web-ui/src/icons/svg/pie.svg +1 -0
- package/references/web-ui/src/icons/svg/plus.svg +5 -0
- package/references/web-ui/src/icons/svg/podcast.svg +5 -0
- package/references/web-ui/src/icons/svg/preview.svg +1 -0
- package/references/web-ui/src/icons/svg/qrcode.svg +5 -0
- package/references/web-ui/src/icons/svg/radar.svg +1 -0
- package/references/web-ui/src/icons/svg/readed-msg.svg +1 -0
- package/references/web-ui/src/icons/svg/remove.svg +1 -0
- package/references/web-ui/src/icons/svg/rhdb.svg +1 -0
- package/references/web-ui/src/icons/svg/rhgc.svg +1 -0
- package/references/web-ui/src/icons/svg/rhgd.svg +1 -0
- package/references/web-ui/src/icons/svg/right-join.svg +1 -0
- package/references/web-ui/src/icons/svg/role.svg +1 -0
- package/references/web-ui/src/icons/svg/rulelist.svg +1 -0
- package/references/web-ui/src/icons/svg/runconfig.svg +1 -0
- package/references/web-ui/src/icons/svg/sbgzlbb.svg +1 -0
- package/references/web-ui/src/icons/svg/sbqy.svg +1 -0
- package/references/web-ui/src/icons/svg/sbrhjh.svg +1 -0
- package/references/web-ui/src/icons/svg/sbwhl.svg +1 -0
- package/references/web-ui/src/icons/svg/scatter.svg +1 -0
- package/references/web-ui/src/icons/svg/scene.svg +1 -0
- package/references/web-ui/src/icons/svg/shoppingCard.svg +1 -0
- package/references/web-ui/src/icons/svg/shouqi.svg +13 -0
- package/references/web-ui/src/icons/svg/singlemp.svg +1 -0
- package/references/web-ui/src/icons/svg/size.svg +1 -0
- package/references/web-ui/src/icons/svg/slimHead.svg +12 -0
- package/references/web-ui/src/icons/svg/sort-asc.svg +1 -0
- package/references/web-ui/src/icons/svg/sort-desc.svg +1 -0
- package/references/web-ui/src/icons/svg/standard.svg +1 -0
- package/references/web-ui/src/icons/svg/star.svg +1 -0
- package/references/web-ui/src/icons/svg/stats-bars.svg +5 -0
- package/references/web-ui/src/icons/svg/suffix-obj.svg +1 -0
- package/references/web-ui/src/icons/svg/sys-tools.svg +1 -0
- package/references/web-ui/src/icons/svg/system.svg +1 -0
- package/references/web-ui/src/icons/svg/table-info.svg +1 -0
- package/references/web-ui/src/icons/svg/table-normal.svg +1 -0
- package/references/web-ui/src/icons/svg/table-pivot.svg +1 -0
- package/references/web-ui/src/icons/svg/table.svg +1 -0
- package/references/web-ui/src/icons/svg/taizhang.svg +1 -0
- package/references/web-ui/src/icons/svg/task.svg +1 -0
- package/references/web-ui/src/icons/svg/tenant.svg +1 -0
- package/references/web-ui/src/icons/svg/text.svg +1 -0
- package/references/web-ui/src/icons/svg/tjqq.svg +1 -0
- package/references/web-ui/src/icons/svg/tree-company.svg +1 -0
- package/references/web-ui/src/icons/svg/tree-department.svg +1 -0
- package/references/web-ui/src/icons/svg/tree-device.svg +1 -0
- package/references/web-ui/src/icons/svg/tree-organization.svg +1 -0
- package/references/web-ui/src/icons/svg/tree.svg +1 -0
- package/references/web-ui/src/icons/svg/treemap.svg +1 -0
- package/references/web-ui/src/icons/svg/undefinedata.svg +1 -0
- package/references/web-ui/src/icons/svg/unread-msg.svg +1 -0
- package/references/web-ui/src/icons/svg/user-check.svg +6 -0
- package/references/web-ui/src/icons/svg/user.svg +1 -0
- package/references/web-ui/src/icons/svg/users.svg +6 -0
- package/references/web-ui/src/icons/svg/warn-tre.svg +1 -0
- package/references/web-ui/src/icons/svg/waterfall.svg +1 -0
- package/references/web-ui/src/icons/svg/wdgzt.svg +1 -0
- package/references/web-ui/src/icons/svg/wdlc.svg +1 -0
- package/references/web-ui/src/icons/svg/web-msg.svg +1 -0
- package/references/web-ui/src/icons/svg/wlbm.svg +1 -0
- package/references/web-ui/src/icons/svg/wlfl.svg +1 -0
- package/references/web-ui/src/icons/svg/wlgl.svg +1 -0
- package/references/web-ui/src/icons/svg/word-cloud.svg +1 -0
- package/references/web-ui/src/icons/svg/wtsp.svg +1 -0
- package/references/web-ui/src/icons/svg/wxdb.svg +1 -0
- package/references/web-ui/src/icons/svg/wxgc.svg +1 -0
- package/references/web-ui/src/icons/svg/xiaoxi.svg +13 -0
- package/references/web-ui/src/icons/svg/xyldr.svg +1 -0
- package/references/web-ui/src/icons/svg/ysp.svg +1 -0
- package/references/web-ui/src/icons/svg/yxgl.svg +1 -0
- package/references/web-ui/src/icons/svg/zcfbjzttj.svg +1 -0
- package/references/web-ui/src/icons/svg/zcfl.svg +1 -0
- package/references/web-ui/src/icons/svg/zcgl.svg +1 -0
- package/references/web-ui/src/icons/svg/zclk.svg +1 -0
- package/references/web-ui/src/icons/svg/zcll.svg +1 -0
- package/references/web-ui/src/icons/svg/zclx.svg +1 -0
- package/references/web-ui/src/icons/svg/zcpd.svg +1 -0
- package/references/web-ui/src/icons/svg/zctjbb.svg +1 -0
- package/references/web-ui/src/icons/svg/zcz.svg +1 -0
- package/references/web-ui/src/icons/svg/zhankai.svg +13 -0
- package/references/web-ui/src/icons/svg/zichan.svg +1 -0
- package/references/web-ui/src/icons/svg/zxck.svg +1 -0
- package/references/web-ui/src/icons/svg/zxrk.svg +1 -0
- package/references/web-ui/src/lang/element-lang.ts +26 -0
- package/references/web-ui/src/lang/en-us.ts +146 -0
- package/references/web-ui/src/lang/hu-hu.ts +1141 -0
- package/references/web-ui/src/lang/index.ts +109 -0
- package/references/web-ui/src/lang/iotBaseRole/en-us.ts +28 -0
- package/references/web-ui/src/lang/iotBaseRole/zh-cn.ts +28 -0
- package/references/web-ui/src/lang/iotBaseSystem/en-us.ts +35 -0
- package/references/web-ui/src/lang/iotBaseSystem/zh-cn.ts +35 -0
- package/references/web-ui/src/lang/modules/button/en-us.ts +158 -0
- package/references/web-ui/src/lang/modules/button/zh-cn.ts +157 -0
- package/references/web-ui/src/lang/modules/button/zh-tw.ts +157 -0
- package/references/web-ui/src/lang/modules/customizeTable/en-us.ts +56 -0
- package/references/web-ui/src/lang/modules/customizeTable/zh-cn.ts +55 -0
- package/references/web-ui/src/lang/modules/customizeTable/zh-tw.ts +55 -0
- package/references/web-ui/src/lang/modules/exportData/en-us.ts +19 -0
- package/references/web-ui/src/lang/modules/exportData/zh-cn.ts +19 -0
- package/references/web-ui/src/lang/modules/exportData/zh-tw.ts +19 -0
- package/references/web-ui/src/lang/modules/exportHistroy/en-us.ts +10 -0
- package/references/web-ui/src/lang/modules/exportHistroy/zh-cn.ts +10 -0
- package/references/web-ui/src/lang/modules/exportHistroy/zh-tw.ts +10 -0
- package/references/web-ui/src/lang/modules/gsReport/en-us.ts +41 -0
- package/references/web-ui/src/lang/modules/gsReport/zh-cn.ts +41 -0
- package/references/web-ui/src/lang/modules/gsReport/zh-tw.ts +41 -0
- package/references/web-ui/src/lang/modules/gsUploadFile/en-us.ts +10 -0
- package/references/web-ui/src/lang/modules/gsUploadFile/zh-cn.ts +10 -0
- package/references/web-ui/src/lang/modules/gsUploadFile/zh-tw.ts +10 -0
- package/references/web-ui/src/lang/modules/home/en-us.ts +19 -0
- package/references/web-ui/src/lang/modules/home/zh-cn.ts +19 -0
- package/references/web-ui/src/lang/modules/home/zh-tw.ts +19 -0
- package/references/web-ui/src/lang/modules/importData/en-us.ts +42 -0
- package/references/web-ui/src/lang/modules/importData/zh-cn.ts +42 -0
- package/references/web-ui/src/lang/modules/importData/zh-tw.ts +42 -0
- package/references/web-ui/src/lang/modules/importHistroy/en-us.ts +9 -0
- package/references/web-ui/src/lang/modules/importHistroy/zh-cn.ts +9 -0
- package/references/web-ui/src/lang/modules/importHistroy/zh-tw.ts +9 -0
- package/references/web-ui/src/lang/modules/js/en-us.ts +63 -0
- package/references/web-ui/src/lang/modules/js/zh-cn.ts +60 -0
- package/references/web-ui/src/lang/modules/js/zh-tw.ts +60 -0
- package/references/web-ui/src/lang/modules/letters/en-us.ts +21 -0
- package/references/web-ui/src/lang/modules/letters/zh-cn.ts +22 -0
- package/references/web-ui/src/lang/modules/letters/zh-tw.ts +22 -0
- package/references/web-ui/src/lang/modules/login/en-us.ts +68 -0
- package/references/web-ui/src/lang/modules/login/zh-cn.ts +64 -0
- package/references/web-ui/src/lang/modules/login/zh-tw.ts +64 -0
- package/references/web-ui/src/lang/modules/menu/en-us.ts +429 -0
- package/references/web-ui/src/lang/modules/menu/zh-cn.ts +423 -0
- package/references/web-ui/src/lang/modules/menu/zh-tw.ts +423 -0
- package/references/web-ui/src/lang/modules/message/en-us.ts +4 -0
- package/references/web-ui/src/lang/modules/message/zh-cn.ts +4 -0
- package/references/web-ui/src/lang/modules/message/zh-tw.ts +4 -0
- package/references/web-ui/src/lang/modules/otherLang/en-us.ts +63 -0
- package/references/web-ui/src/lang/modules/otherLang/zh-cn.ts +60 -0
- package/references/web-ui/src/lang/modules/otherLang/zh-tw.ts +58 -0
- package/references/web-ui/src/lang/modules/person/en-us.ts +27 -0
- package/references/web-ui/src/lang/modules/person/zh-cn.ts +27 -0
- package/references/web-ui/src/lang/modules/person/zh-tw.ts +27 -0
- package/references/web-ui/src/lang/modules/source_data/en-us.ts +49 -0
- package/references/web-ui/src/lang/modules/source_data/zh-cn.ts +41 -0
- package/references/web-ui/src/lang/modules/source_data/zh-tw.ts +41 -0
- package/references/web-ui/src/lang/modules/theme/en-us.ts +22 -0
- package/references/web-ui/src/lang/modules/theme/zh-cn.ts +22 -0
- package/references/web-ui/src/lang/modules/theme/zh-tw.ts +23 -0
- package/references/web-ui/src/lang/modules/third/en-us.ts +10 -0
- package/references/web-ui/src/lang/modules/third/zh-cn.ts +9 -0
- package/references/web-ui/src/lang/modules/third/zh-tw.ts +9 -0
- package/references/web-ui/src/lang/modules/toast/en-us.ts +21 -0
- package/references/web-ui/src/lang/modules/toast/zh-cn.ts +21 -0
- package/references/web-ui/src/lang/modules/toast/zh-tw.ts +21 -0
- package/references/web-ui/src/lang/modules/uploadDocument/en-us.ts +6 -0
- package/references/web-ui/src/lang/modules/uploadDocument/zh-cn.ts +6 -0
- package/references/web-ui/src/lang/modules/uploadDocument/zh-tw.ts +6 -0
- package/references/web-ui/src/lang/utils.ts +20 -0
- package/references/web-ui/src/lang/vi-vn.ts +1140 -0
- package/references/web-ui/src/lang/zh-cn.ts +180 -0
- package/references/web-ui/src/lang/zh-tw.ts +147 -0
- package/references/web-ui/src/main.ts +25 -0
- package/references/web-ui/src/permission.ts +407 -0
- package/references/web-ui/src/plugins/i18n.ts +3 -0
- package/references/web-ui/src/plugins/pinia.ts +7 -0
- package/references/web-ui/src/qiankun.js +114 -0
- package/references/web-ui/src/router/index.ts +119 -0
- package/references/web-ui/src/store/index.ts +43 -0
- package/references/web-ui/src/store/modules/app/actions.ts +137 -0
- package/references/web-ui/src/store/modules/app/getters.ts +17 -0
- package/references/web-ui/src/store/modules/app/index.ts +52 -0
- package/references/web-ui/src/store/modules/app/mutations.ts +108 -0
- package/references/web-ui/src/store/modules/permission/actions.ts +11 -0
- package/references/web-ui/src/store/modules/permission/getters.ts +5 -0
- package/references/web-ui/src/store/modules/permission/index.ts +14 -0
- package/references/web-ui/src/store/modules/permission/mutations.ts +13 -0
- package/references/web-ui/src/store/modules/tagsView/actions.ts +87 -0
- package/references/web-ui/src/store/modules/tagsView/getters.ts +6 -0
- package/references/web-ui/src/store/modules/tagsView/index.ts +18 -0
- package/references/web-ui/src/store/modules/tagsView/mutations.ts +118 -0
- package/references/web-ui/src/store/modules/theme/actions.ts +38 -0
- package/references/web-ui/src/store/modules/theme/getters.ts +10 -0
- package/references/web-ui/src/store/modules/theme/index.ts +26 -0
- package/references/web-ui/src/store/modules/theme/mutations.ts +28 -0
- package/references/web-ui/src/store/modules/user/actions.ts +243 -0
- package/references/web-ui/src/store/modules/user/getters.ts +10 -0
- package/references/web-ui/src/store/modules/user/index.ts +44 -0
- package/references/web-ui/src/store/modules/user/mutations.ts +104 -0
- package/references/web-ui/src/store/piniaToVuex/index.ts +179 -0
- package/references/web-ui/src/stores/counter.ts +12 -0
- package/references/web-ui/src/styles/element-plus.scss +937 -0
- package/references/web-ui/src/styles/global.scss +826 -0
- package/references/web-ui/src/styles/iconfont/demo.css +539 -0
- package/references/web-ui/src/styles/iconfont/iconfont.css +68 -0
- package/references/web-ui/src/styles/iconfont/iconfont.js +63 -0
- package/references/web-ui/src/styles/iconfont/iconfont.ttf +0 -0
- package/references/web-ui/src/styles/index.scss +116 -0
- package/references/web-ui/src/styles/mixin.scss +78 -0
- package/references/web-ui/src/styles/theme/black/content-management.scss +11 -0
- package/references/web-ui/src/styles/theme/black/dynamic-report.scss +31 -0
- package/references/web-ui/src/styles/theme/black/form-design.scss +181 -0
- package/references/web-ui/src/styles/theme/black/open-api.scss +118 -0
- package/references/web-ui/src/styles/theme/black/platform.scss +57 -0
- package/references/web-ui/src/styles/theme/black/process-manage.scss +48 -0
- package/references/web-ui/src/styles/theme/black/rent-mannage.scss +8 -0
- package/references/web-ui/src/styles/theme/black/schedule.scss +45 -0
- package/references/web-ui/src/styles/theme/black/service-management.scss +14 -0
- package/references/web-ui/src/styles/theme/black/system-manage.scss +144 -0
- package/references/web-ui/src/styles/theme/black.scss +1642 -0
- package/references/web-ui/src/styles/theme/default/index.scss +1 -0
- package/references/web-ui/src/styles/theme/default/menu.scss +199 -0
- package/references/web-ui/src/styles/transition.scss +107 -0
- package/references/web-ui/src/styles/variables.scss +66 -0
- package/references/web-ui/src/utils/ArrayExtension.ts +175 -0
- package/references/web-ui/src/utils/app-mixin.ts +50 -0
- package/references/web-ui/src/utils/areas.ts +1712 -0
- package/references/web-ui/src/utils/auth.ts +329 -0
- package/references/web-ui/src/utils/base64.ts +231 -0
- package/references/web-ui/src/utils/browser-helper.ts +39 -0
- package/references/web-ui/src/utils/bus.ts +35 -0
- package/references/web-ui/src/utils/deprecated-utils.ts +116 -0
- package/references/web-ui/src/utils/events.ts +59 -0
- package/references/web-ui/src/utils/index.ts +790 -0
- package/references/web-ui/src/utils/name-auth.ts +97 -0
- package/references/web-ui/src/utils/onlyMsgBox.ts +38 -0
- package/references/web-ui/src/utils/pinyinList.ts +417 -0
- package/references/web-ui/src/utils/request-utils.ts +277 -0
- package/references/web-ui/src/utils/request.ts +100 -0
- package/references/web-ui/src/utils/routeHelper.ts +66 -0
- package/references/web-ui/src/utils/storage.ts +80 -0
- package/references/web-ui/src/utils/theme.ts +192 -0
- package/references/web-ui/src/utils/toPinYin.ts +34 -0
- package/references/web-ui/src/utils/tool.ts +7103 -0
- package/references/web-ui/src/utils/utilsFn.ts +73 -0
- package/references/web-ui/src/utils/validate.ts +110 -0
- package/references/web-ui/src/utils/watermark.ts +161 -0
- package/references/web-ui/src/utils/watermarkcompact.ts +180 -0
- package/references/web-ui/src/utils/wordRender.ts +100 -0
- package/references/web-ui/src/utils/ws.ts +42 -0
- package/references/web-ui/src/views/404.vue +245 -0
- package/references/web-ui/src/views/CollectButton/demand.vue +39 -0
- package/references/web-ui/src/views/CollectButton/dialog.vue +178 -0
- package/references/web-ui/src/views/CollectButton/index.vue +306 -0
- package/references/web-ui/src/views/FlowCharts/FormDemo.vue +236 -0
- package/references/web-ui/src/views/FlowCharts/components/ListDetailButton/index.vue +36 -0
- package/references/web-ui/src/views/FlowCharts/leaveApplication.vue +56 -0
- package/references/web-ui/src/views/FlowCharts/testForm.vue +56 -0
- package/references/web-ui/src/views/Password/index.vue +147 -0
- package/references/web-ui/src/views/authorize/components/ForgetPassword.vue +309 -0
- package/references/web-ui/src/views/authorize/components/FormLogin/components/VerificationDialog.vue +297 -0
- package/references/web-ui/src/views/authorize/components/FormLogin/index.vue +649 -0
- package/references/web-ui/src/views/authorize/index.vue +149 -0
- package/references/web-ui/src/views/dynamic-form/index.vue +42 -0
- package/references/web-ui/src/views/home-page/WorkTable.vue +116 -0
- package/references/web-ui/src/views/home-page/index.vue +14 -0
- package/references/web-ui/src/views/iotBaseRole/AddDrawer.vue +320 -0
- package/references/web-ui/src/views/iotBaseRole/EditTable.vue +373 -0
- package/references/web-ui/src/views/iotBaseRole/index.vue +313 -0
- package/references/web-ui/src/views/iotBaseSystem/AddDrawer.vue +305 -0
- package/references/web-ui/src/views/iotBaseSystem/index.vue +385 -0
- package/references/web-ui/src/views/layout/Frame.vue +75 -0
- package/references/web-ui/src/views/layout/Layout.vue +186 -0
- package/references/web-ui/src/views/layout/MiddleView.vue +29 -0
- package/references/web-ui/src/views/layout/components/AppMain.vue +302 -0
- package/references/web-ui/src/views/layout/components/CompactTools/index.vue +59 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/AVue.vue +34 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/Gpt.vue +49 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/Help.vue +52 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/Locale.vue +99 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/Message.vue +495 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/NavbarMenu.vue +196 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/Personal.vue +308 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/Portal.vue +34 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/SystemChange.vue +133 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/Tablet.vue +206 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/TenantChange.vue +186 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/Theme.vue +367 -0
- package/references/web-ui/src/views/layout/components/Navbar/index.vue +181 -0
- package/references/web-ui/src/views/layout/components/Sidebar/components/CustomSliderMenu.vue +267 -0
- package/references/web-ui/src/views/layout/components/Sidebar/components/FetchMenuItem.vue +45 -0
- package/references/web-ui/src/views/layout/components/Sidebar/components/MenuItem.vue +135 -0
- package/references/web-ui/src/views/layout/components/Sidebar/components/MenuSearch.vue +74 -0
- package/references/web-ui/src/views/layout/components/Sidebar/components/SubMenu.js +190 -0
- package/references/web-ui/src/views/layout/components/Sidebar/components/SubMenu.vue +125 -0
- package/references/web-ui/src/views/layout/components/Sidebar/components/ToggleSidebar.vue +51 -0
- package/references/web-ui/src/views/layout/components/Sidebar/index.vue +464 -0
- package/references/web-ui/src/views/layout/components/TagsView.vue +683 -0
- package/references/web-ui/src/views/layout/components/chatGPT/image/chatgpt.png +0 -0
- package/references/web-ui/src/views/layout/components/chatGPT/image/knowledge_IT.png +0 -0
- package/references/web-ui/src/views/layout/components/chatGPT/image/knowledge_gushen.png +0 -0
- package/references/web-ui/src/views/layout/components/chatGPT/image/pmo_background.png +0 -0
- package/references/web-ui/src/views/layout/components/chatGPT/image/smile.png +0 -0
- package/references/web-ui/src/views/layout/components/chatGPT/image/stop.svg +1 -0
- package/references/web-ui/src/views/layout/components/chatGPT/image/titleIcon.png +0 -0
- package/references/web-ui/src/views/layout/components/chatGPT/index.js +7 -0
- package/references/web-ui/src/views/layout/components/chatGPT/index.vue +517 -0
- package/references/web-ui/src/views/layout/components/chatGPT/styles/index.scss +360 -0
- package/references/web-ui/src/views/layout/components/chatGPT/utils/gpt.js +29 -0
- package/references/web-ui/src/views/layout/components/chatGPT/utils/index.js +70 -0
- package/references/web-ui/src/views/layout/components/index.js +6 -0
- package/references/web-ui/src/views/layout/mixin/ResizeHandler.js +28 -0
- package/references/web-ui/src/views/layout/utils/dynamicFormHelper.js +44 -0
- package/references/web-ui/src/views/layout/utils/scroll.js +89 -0
- package/references/web-ui/src/views/letters/config/gridConfig.js +59 -0
- package/references/web-ui/src/views/letters/index.vue +401 -0
- package/references/web-ui/src/views/login/ForgetPassword.vue +425 -0
- package/references/web-ui/src/views/login/FormLogin.vue +1219 -0
- package/references/web-ui/src/views/login/ScanLogin.vue +256 -0
- package/references/web-ui/src/views/login/index.vue +432 -0
- package/references/web-ui/src/views/person-info/components/information.vue +99 -0
- package/references/web-ui/src/views/person-info/index.vue +28 -0
- package/references/web-ui/src/views/sso/login/index.vue +128 -0
- package/references/web-ui/src/views/sso/multi-login/index.vue +95 -0
- package/references/web-ui/src/views/third-login/index.vue +73 -0
- package/references/web-ui/src/views/third-view.vue +86 -0
- package/references/web-ui/tsconfig.app.json +12 -0
- package/references/web-ui/tsconfig.json +11 -0
- package/references/web-ui/tsconfig.node.json +19 -0
- package/references/web-ui/vite.config.ts +42 -0
- 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
- package/references/yudaocloud-end-standard/index.md +12 -0
- package/scripts/postinstall.js +107 -0
- package/scripts/sync-version.js +109 -0
- package/skills/.claude/.wiki-update-queue +26 -0
- package/skills/adspecs-adversarial-review/SKILL.md +486 -0
- package/skills/adspecs-analyze/SKILL.md +573 -0
- package/skills/adspecs-architecture-planning/SKILL.md +875 -0
- package/skills/adspecs-biz-blueprint/SKILL.md +554 -0
- package/skills/adspecs-clarify/SKILL.md +299 -0
- package/skills/adspecs-export-word/SKILL.md +498 -0
- package/skills/adspecs-export-word/references/md-to-docx.js +862 -0
- package/skills/adspecs-export-word/references/package-lock.json +220 -0
- package/skills/adspecs-export-word/references/package.json +10 -0
- package/skills/adspecs-front-spec/SKILL.md +502 -0
- package/skills/adspecs-front-tasks/SKILL.md +611 -0
- package/skills/adspecs-git-commit/SKILL.md +53 -0
- package/skills/adspecs-new-requirement/SKILL.md +608 -0
- package/skills/adspecs-plan/SKILL.md +429 -0
- package/skills/adspecs-prd/SKILL.md +404 -0
- 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
- package/skills/adspecs-requirement-research/SKILL.md +184 -0
- package/skills/adspecs-tasks/SKILL.md +630 -0
- package/skills/adspecs-update-status/SKILL.md +382 -0
- package/skills/adspecs-utest/SKILL.md +390 -0
- package/skills/adspecs-write-planning-report/SKILL.md +93 -0
- package/skills/adspecs-write-roadmap/SKILL.md +83 -0
- package/skills/adspecs-write-sow/SKILL.md +351 -0
- package/skills/project-init/SKILL.md +1289 -0
- package/skills/sie-front-code-review/SKILL.md +152 -0
- package/skills/wiki-update/SKILL.md +232 -0
- package/src/commands/doctor.js +197 -0
- package/src/commands/init.js +83 -0
- package/src/commands/plugin.js +145 -0
- package/src/commands/update.js +87 -0
- package/src/lib/area-scanner.js +129 -0
- package/src/lib/copier.js +104 -0
- package/src/lib/dir-utils.js +133 -0
- package/src/lib/json-merge.js +114 -0
- package/src/lib/paths-defaults.js +37 -0
- package/src/lib/prompts.js +345 -0
- package/src/lib/readme-gen.js +143 -0
- package/src/lib/report.js +327 -0
- package/src/lib/scaffolder.js +518 -0
- package/src/lib/short-name.js +36 -0
- 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 顺序(实现先于测试)
|