V3.0: 门店分级与风险等级页面、数据填充脚本、后端API
- 新增V3.0数据库表结构(12-15)和数据填充脚本(16)
- 新增后端路由: store-grade, enterprise, product, intelligence, alert, scheduler, target
- 新增前端页面: StoreGradePage, EnterprisePage, ProductLifecyclePage, IntelligencePage, AlertManagementPage, DataImportPage, SchedulerManagementPage, TargetManagementPage
- 门店分级: 自动分级算法(达成率40%+毛利率25%+会员15%+风险20%)
- 风险等级: 基于mv_store_risk_rating模型展示风险分布和原因
- 弹窗: 雷达图+详细指标+分级原因+风险原因(primary_issue)
- FilterableTable: filterOptions支持{value,label}对象格式
This commit is contained in:
@@ -14,6 +14,15 @@ import situationalAwarenessRoutes from './routes/situational-awareness.js'
|
||||
import analyticsEnhancedRoutes from './routes/analytics-enhanced.js'
|
||||
import adminRoutes from './routes/admin.js'
|
||||
import ttsRoutes from './routes/tts.js'
|
||||
import targetRoutes from './routes/target.js'
|
||||
import schedulerRoutes from './routes/scheduler.js'
|
||||
import alertRoutes from './routes/alert.js'
|
||||
import storeGradeRoutes from './routes/store-grade.js'
|
||||
import productRoutes from './routes/product.js'
|
||||
import enterpriseRoutes from './routes/enterprise.js'
|
||||
import intelligenceRoutes from './routes/intelligence.js'
|
||||
import { startScheduler } from './scheduler/index.js'
|
||||
import { registerAllTaskHandlers } from './scheduler/task-handlers.js'
|
||||
|
||||
const app = express()
|
||||
const PORT = parseInt(process.env.PORT || '3333')
|
||||
@@ -61,12 +70,21 @@ app.use('/api/smart-scheduling', smartSchedulingRoutes)
|
||||
app.use('/api/situational-awareness', situationalAwarenessRoutes)
|
||||
app.use('/api/analytics-enhanced', analyticsEnhancedRoutes)
|
||||
app.use('/api/tts', ttsRoutes)
|
||||
app.use('/api/target', targetRoutes)
|
||||
app.use('/api/scheduler', schedulerRoutes)
|
||||
app.use('/api/alert', alertRoutes)
|
||||
app.use('/api/store-grade', storeGradeRoutes)
|
||||
app.use('/api/product', productRoutes)
|
||||
app.use('/api/enterprise', enterpriseRoutes)
|
||||
app.use('/api/intelligence', intelligenceRoutes)
|
||||
|
||||
app.use(notFoundHandler)
|
||||
app.use(errorHandler)
|
||||
|
||||
app.listen(PORT, () => {
|
||||
console.log(`Server running on http://localhost:${PORT}`)
|
||||
registerAllTaskHandlers()
|
||||
startScheduler().catch(err => console.error('[Scheduler] Failed to start:', err))
|
||||
})
|
||||
|
||||
export default app
|
||||
|
||||
Reference in New Issue
Block a user