openxiangda 1.0.39 → 1.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +2 -2
  2. package/openxiangda-skills/SKILL.md +6 -3
  3. package/openxiangda-skills/references/best-practices.md +29 -5
  4. package/openxiangda-skills/references/component-guide.md +79 -45
  5. package/openxiangda-skills/references/forms/component-registry.md +33 -1
  6. package/openxiangda-skills/skills/openxiangda-core/SKILL.md +2 -2
  7. package/openxiangda-skills/skills/openxiangda-form/SKILL.md +9 -2
  8. package/openxiangda-skills/skills/openxiangda-page/SKILL.md +5 -3
  9. package/package.json +1 -1
  10. package/packages/sdk/dist/runtime/index.cjs +546 -0
  11. package/packages/sdk/dist/runtime/index.cjs.map +1 -1
  12. package/packages/sdk/dist/runtime/index.mjs +546 -0
  13. package/packages/sdk/dist/runtime/index.mjs.map +1 -1
  14. package/packages/sdk/src/build-source/scripts/build-forms.mjs +5 -1
  15. package/templates/sy-lowcode-app-workspace/.cursor/rules/openxiangda-form.mdc +4 -0
  16. package/templates/sy-lowcode-app-workspace/.cursor/rules/openxiangda-page.mdc +2 -0
  17. package/templates/sy-lowcode-app-workspace/.cursor/rules/openxiangda.mdc +3 -0
  18. package/templates/sy-lowcode-app-workspace/.qoder/rules/openxiangda-form.md +4 -0
  19. package/templates/sy-lowcode-app-workspace/.qoder/rules/openxiangda-page.md +2 -0
  20. package/templates/sy-lowcode-app-workspace/.qoder/rules/openxiangda.md +3 -0
  21. package/templates/sy-lowcode-app-workspace/AGENTS.md +5 -0
  22. package/templates/sy-lowcode-app-workspace/examples/best-practices/README.md +8 -0
  23. package/templates/sy-lowcode-app-workspace/examples/best-practices/catalog.json +32 -0
  24. package/templates/sy-lowcode-app-workspace/examples/best-practices/decision-guide.md +20 -0
  25. package/templates/sy-lowcode-app-workspace/examples/best-practices/design-style.md +48 -0
  26. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/glass-home-dashboard/App.tsx +8 -0
  27. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/glass-home-dashboard/GlassHomeDashboard.tsx +232 -0
  28. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/glass-home-dashboard/index.tsx +10 -0
  29. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/glass-home-dashboard/page.config.ts +14 -0
  30. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/glass-home-dashboard/styles.css +196 -0
  31. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/mint-analytics-dashboard/App.tsx +8 -0
  32. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/mint-analytics-dashboard/MintAnalyticsDashboard.tsx +279 -0
  33. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/mint-analytics-dashboard/index.tsx +10 -0
  34. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/mint-analytics-dashboard/page.config.ts +14 -0
  35. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/mint-analytics-dashboard/styles.css +163 -0
  36. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/ops-monitor-dashboard/App.tsx +8 -0
  37. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/ops-monitor-dashboard/OpsMonitorDashboard.tsx +306 -0
  38. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/ops-monitor-dashboard/index.tsx +10 -0
  39. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/ops-monitor-dashboard/page.config.ts +14 -0
  40. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/ops-monitor-dashboard/styles.css +248 -0
  41. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/work-order-list-drawer/App.tsx +8 -0
  42. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/work-order-list-drawer/WorkOrderListDrawerPage.tsx +371 -0
  43. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/work-order-list-drawer/index.tsx +10 -0
  44. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/work-order-list-drawer/page.config.ts +14 -0
  45. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/pages/work-order-list-drawer/styles.css +182 -0
  46. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/shared/components/admin-ui-templates/DashboardPrimitives.tsx +832 -0
  47. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/shared/components/admin-ui-templates/chartOptions.ts +140 -0
  48. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/shared/components/admin-ui-templates/sampleData.ts +466 -0
  49. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/shared/components/admin-ui-templates/styles.css +874 -0
  50. package/templates/sy-lowcode-app-workspace/examples/best-practices/src/shared/components/admin-ui-templates/types.ts +150 -0
  51. package/templates/sy-lowcode-app-workspace/src/forms/README.md +4 -0
  52. package/templates/sy-lowcode-app-workspace/src/main.tsx +4 -0
@@ -0,0 +1,140 @@
1
+ export function createLineAreaOption(config: {
2
+ colors: [string, string];
3
+ labels: string[];
4
+ primaryName: string;
5
+ secondaryName?: string;
6
+ primary: number[];
7
+ secondary?: number[];
8
+ }) {
9
+ return {
10
+ color: config.colors,
11
+ tooltip: { trigger: "axis" },
12
+ grid: { left: 42, right: 24, top: 44, bottom: 32 },
13
+ legend: {
14
+ top: 4,
15
+ left: 0,
16
+ itemWidth: 10,
17
+ itemHeight: 6,
18
+ textStyle: { color: "#64748b", fontSize: 12 },
19
+ },
20
+ xAxis: {
21
+ type: "category",
22
+ boundaryGap: false,
23
+ data: config.labels,
24
+ axisTick: { show: false },
25
+ axisLine: { lineStyle: { color: "#dbe4f0" } },
26
+ axisLabel: { color: "#64748b" },
27
+ },
28
+ yAxis: {
29
+ type: "value",
30
+ axisLabel: { color: "#64748b" },
31
+ splitLine: { lineStyle: { color: "#e8eef7", type: "dashed" } },
32
+ },
33
+ series: [
34
+ {
35
+ name: config.primaryName,
36
+ type: "line",
37
+ smooth: true,
38
+ symbolSize: 8,
39
+ data: config.primary,
40
+ areaStyle: { opacity: 0.16 },
41
+ lineStyle: { width: 3 },
42
+ },
43
+ ...(config.secondary
44
+ ? [
45
+ {
46
+ name: config.secondaryName || "对比值",
47
+ type: "line",
48
+ smooth: true,
49
+ symbolSize: 7,
50
+ data: config.secondary,
51
+ areaStyle: { opacity: 0.08 },
52
+ lineStyle: { width: 3 },
53
+ },
54
+ ]
55
+ : []),
56
+ ],
57
+ };
58
+ }
59
+
60
+ export function createBarCompareOption(config: {
61
+ labels: string[];
62
+ series: Array<{ name: string; data: number[]; color: string }>;
63
+ }) {
64
+ return {
65
+ tooltip: { trigger: "axis" },
66
+ grid: { left: 42, right: 16, top: 44, bottom: 32 },
67
+ legend: {
68
+ top: 4,
69
+ left: 0,
70
+ itemWidth: 10,
71
+ itemHeight: 6,
72
+ textStyle: { color: "#64748b", fontSize: 12 },
73
+ },
74
+ xAxis: {
75
+ type: "category",
76
+ data: config.labels,
77
+ axisTick: { show: false },
78
+ axisLine: { lineStyle: { color: "#dbe4f0" } },
79
+ axisLabel: { color: "#64748b" },
80
+ },
81
+ yAxis: {
82
+ type: "value",
83
+ axisLabel: { color: "#64748b" },
84
+ splitLine: { lineStyle: { color: "#e8eef7", type: "dashed" } },
85
+ },
86
+ series: config.series.map((item) => ({
87
+ name: item.name,
88
+ type: "bar",
89
+ data: item.data,
90
+ itemStyle: { color: item.color, borderRadius: [6, 6, 0, 0] },
91
+ barWidth: 12,
92
+ })),
93
+ };
94
+ }
95
+
96
+ export function createDonutOption(config: {
97
+ centerLabel: string;
98
+ centerValue: string;
99
+ data: Array<{ name: string; value: number; color: string }>;
100
+ }) {
101
+ return {
102
+ tooltip: { trigger: "item" },
103
+ color: config.data.map((item) => item.color),
104
+ legend: {
105
+ orient: "vertical",
106
+ right: 0,
107
+ top: "middle",
108
+ itemWidth: 10,
109
+ itemHeight: 10,
110
+ textStyle: { color: "#475569", fontSize: 12 },
111
+ },
112
+ graphic: [
113
+ {
114
+ type: "text",
115
+ left: "23%",
116
+ top: "43%",
117
+ style: {
118
+ text: `${config.centerValue}\n${config.centerLabel}`,
119
+ textAlign: "center",
120
+ fill: "#0f172a",
121
+ fontSize: 14,
122
+ lineHeight: 22,
123
+ fontWeight: 600,
124
+ },
125
+ },
126
+ ],
127
+ series: [
128
+ {
129
+ name: config.centerLabel,
130
+ type: "pie",
131
+ radius: ["52%", "76%"],
132
+ center: ["28%", "50%"],
133
+ avoidLabelOverlap: true,
134
+ label: { show: false },
135
+ itemStyle: { borderColor: "#ffffff", borderWidth: 3 },
136
+ data: config.data,
137
+ },
138
+ ],
139
+ };
140
+ }
@@ -0,0 +1,466 @@
1
+ import type {
2
+ ActivityItem,
3
+ AdminTemplateMeta,
4
+ MetricItem,
5
+ NavItem,
6
+ NoticeItem,
7
+ QuickAction,
8
+ RankingItem,
9
+ TaskProgressItem,
10
+ TodoItem,
11
+ WorkOrderRecord,
12
+ } from "./types";
13
+
14
+ export const adminTemplateMetas: AdminTemplateMeta[] = [
15
+ {
16
+ key: "glass-home-dashboard",
17
+ uiTemplate: "glass-home-dashboard",
18
+ name: "浅蓝玻璃经营首页",
19
+ recommendedFor: ["经营首页", "管理驾驶舱", "轻量门户首页"],
20
+ description:
21
+ "浅蓝玻璃拟态、欢迎横幅、快捷入口和经营指标,适合默认后台首页。",
22
+ },
23
+ {
24
+ key: "mint-analytics-dashboard",
25
+ uiTemplate: "mint-analytics-dashboard",
26
+ name: "薄荷数据分析首页",
27
+ recommendedFor: ["数据分析", "BI 概览", "经营日报"],
28
+ description:
29
+ "浅绿低饱和数据看板,信息密度更高,适合分析型后台首页。",
30
+ },
31
+ {
32
+ key: "ops-monitor-dashboard",
33
+ uiTemplate: "ops-monitor-dashboard",
34
+ name: "蓝紫运营监控中心",
35
+ recommendedFor: ["运营监控", "任务中心", "系统健康度"],
36
+ description:
37
+ "蓝紫科技感和轻量动态效果,适合实时监控、告警、系统状态页面。",
38
+ },
39
+ {
40
+ key: "work-order-list-drawer",
41
+ uiTemplate: "work-order-list-drawer",
42
+ name: "工单列表抽屉模板",
43
+ recommendedFor: ["CRUD 列表", "工单管理", "审批处理", "数据管理页"],
44
+ description:
45
+ "克制型后台列表页,右侧详情和表单抽屉覆盖展示,不挤占主表格。",
46
+ },
47
+ ];
48
+
49
+ export const standardNavItems: NavItem[] = [
50
+ { key: "home", label: "首页总览", icon: "home" },
51
+ { key: "analytics", label: "数据分析", icon: "analytics" },
52
+ { key: "business", label: "业务运营", icon: "business" },
53
+ { key: "customer", label: "客户管理", icon: "customer" },
54
+ { key: "order", label: "订单管理", icon: "order" },
55
+ { key: "product", label: "产品管理", icon: "product" },
56
+ { key: "finance", label: "财务中心", icon: "finance" },
57
+ { key: "system", label: "系统管理", icon: "system" },
58
+ { key: "app", label: "应用中心", icon: "app" },
59
+ ];
60
+
61
+ export const monitorNavItems: NavItem[] = [
62
+ { key: "home", label: "首页", icon: "home" },
63
+ { key: "overview", label: "数据总览", icon: "analytics" },
64
+ { key: "monitor", label: "监控中心", icon: "monitor" },
65
+ { key: "operation", label: "运营管理", icon: "business" },
66
+ { key: "task", label: "任务管理", icon: "task" },
67
+ { key: "alert", label: "告警中心", icon: "alert" },
68
+ { key: "device", label: "设备管理", icon: "device" },
69
+ { key: "user", label: "用户管理", icon: "user" },
70
+ { key: "report", label: "报表中心", icon: "report" },
71
+ { key: "system", label: "系统管理", icon: "system" },
72
+ ];
73
+
74
+ export const workOrderNavItems: NavItem[] = [
75
+ { key: "workbench", label: "运营工作台", icon: "dashboard" },
76
+ {
77
+ key: "ticket",
78
+ label: "工单管理",
79
+ icon: "ticket",
80
+ children: [
81
+ { key: "ticket-list", label: "工单列表", icon: "ticket" },
82
+ { key: "created-by-me", label: "我创建的", icon: "user" },
83
+ { key: "assigned-to-me", label: "我处理的", icon: "task" },
84
+ { key: "copied-to-me", label: "抄送我的", icon: "business" },
85
+ ],
86
+ },
87
+ { key: "approval", label: "流程审批", icon: "approval" },
88
+ { key: "data", label: "数据管理", icon: "analytics" },
89
+ { key: "report", label: "报表中心", icon: "report" },
90
+ { key: "permission", label: "用户与权限", icon: "customer" },
91
+ { key: "setting", label: "基础配置", icon: "setting" },
92
+ ];
93
+
94
+ export const glassMetrics: MetricItem[] = [
95
+ {
96
+ id: "sales",
97
+ label: "总销售额",
98
+ value: "¥ 632,316.00",
99
+ delta: "12.45%",
100
+ trend: [26, 31, 29, 36, 34, 45, 28, 35, 49, 41, 46, 48],
101
+ tone: "blue",
102
+ icon: "finance",
103
+ },
104
+ {
105
+ id: "orders",
106
+ label: "订单总数",
107
+ value: "1,235",
108
+ delta: "8.21%",
109
+ trend: [18, 24, 22, 29, 21, 16, 25, 38, 44, 32, 34, 36],
110
+ tone: "green",
111
+ icon: "order",
112
+ },
113
+ {
114
+ id: "customers",
115
+ label: "新增客户",
116
+ value: "263",
117
+ delta: "15.32%",
118
+ trend: [20, 26, 22, 30, 25, 18, 22, 31, 28, 35, 39, 41],
119
+ tone: "purple",
120
+ icon: "customer",
121
+ },
122
+ {
123
+ id: "payment",
124
+ label: "回款金额",
125
+ value: "¥ 165,231.00",
126
+ delta: "10.05%",
127
+ trend: [19, 22, 24, 21, 27, 20, 31, 29, 42, 35, 39, 40],
128
+ tone: "orange",
129
+ icon: "finance",
130
+ },
131
+ {
132
+ id: "todo",
133
+ label: "待办事项",
134
+ value: "28",
135
+ delta: "6.67%",
136
+ trend: [16, 18, 15, 17, 19, 14, 18, 29, 24, 31, 38, 42],
137
+ tone: "blue",
138
+ icon: "task",
139
+ direction: "down",
140
+ },
141
+ ];
142
+
143
+ export const mintMetrics: MetricItem[] = [
144
+ {
145
+ id: "revenue",
146
+ label: "营业收入",
147
+ value: "¥ 8,856,200",
148
+ delta: "12.6%",
149
+ trend: [30, 34, 40, 36, 44, 42, 49, 46, 55, 52, 58, 69],
150
+ tone: "mint",
151
+ icon: "finance",
152
+ },
153
+ {
154
+ id: "orderCount",
155
+ label: "订单数",
156
+ value: "12,568",
157
+ delta: "8.3%",
158
+ trend: [24, 28, 34, 31, 36, 35, 41, 38, 49, 45, 52, 48],
159
+ tone: "green",
160
+ icon: "order",
161
+ },
162
+ {
163
+ id: "newCustomers",
164
+ label: "新增客户数",
165
+ value: "2,352",
166
+ delta: "15.7%",
167
+ trend: [18, 25, 23, 30, 39, 34, 43, 41, 49, 47, 55, 51],
168
+ tone: "cyan",
169
+ icon: "customer",
170
+ },
171
+ {
172
+ id: "unitPrice",
173
+ label: "客单价",
174
+ value: "¥ 706.48",
175
+ delta: "2.1%",
176
+ trend: [50, 48, 39, 41, 34, 47, 32, 36, 49, 38, 36, 28],
177
+ tone: "red",
178
+ icon: "business",
179
+ direction: "down",
180
+ },
181
+ {
182
+ id: "repurchase",
183
+ label: "复购率",
184
+ value: "28.6%",
185
+ delta: "4.8%",
186
+ trend: [26, 28, 33, 30, 36, 34, 42, 39, 48, 45, 56, 66],
187
+ tone: "mint",
188
+ icon: "analytics",
189
+ },
190
+ {
191
+ id: "refund",
192
+ label: "退款率",
193
+ value: "1.23%",
194
+ delta: "0.3%",
195
+ trend: [28, 22, 18, 26, 20, 30, 31, 43, 24, 22, 25, 20],
196
+ tone: "red",
197
+ icon: "finance",
198
+ direction: "down",
199
+ },
200
+ ];
201
+
202
+ export const opsMetrics: MetricItem[] = [
203
+ {
204
+ id: "traffic",
205
+ label: "平台总访问量",
206
+ value: "32,568,129",
207
+ delta: "12.6%",
208
+ trend: [34, 38, 32, 40, 45, 38, 44, 39, 48, 51, 47, 55],
209
+ tone: "blue",
210
+ icon: "analytics",
211
+ },
212
+ {
213
+ id: "activeUsers",
214
+ label: "今日活跃用户",
215
+ value: "128,932",
216
+ delta: "8.4%",
217
+ trend: [24, 29, 26, 37, 31, 43, 34, 46, 41, 52, 49, 54],
218
+ tone: "purple",
219
+ icon: "customer",
220
+ },
221
+ {
222
+ id: "newUsers",
223
+ label: "今日新增用户",
224
+ value: "6,732",
225
+ delta: "15.3%",
226
+ trend: [18, 22, 30, 28, 35, 38, 34, 44, 40, 49, 52, 51],
227
+ tone: "cyan",
228
+ icon: "user",
229
+ },
230
+ {
231
+ id: "tasks",
232
+ label: "系统总任务数",
233
+ value: "24,732",
234
+ delta: "3.8%",
235
+ trend: [28, 35, 29, 31, 44, 38, 42, 39, 48, 45, 51, 49],
236
+ tone: "purple",
237
+ icon: "task",
238
+ },
239
+ ];
240
+
241
+ export const quickActions: QuickAction[] = [
242
+ { id: "customer", label: "新增客户", icon: "customer", tone: "blue" },
243
+ { id: "order", label: "新增订单", icon: "cart", tone: "green" },
244
+ { id: "contract", label: "合同管理", icon: "contract", tone: "orange" },
245
+ { id: "approval", label: "发起审批", icon: "approval", tone: "blue" },
246
+ { id: "report", label: "数据报表", icon: "report", tone: "purple" },
247
+ { id: "product", label: "产品管理", icon: "product", tone: "red" },
248
+ { id: "ticket", label: "工单管理", icon: "ticket", tone: "purple" },
249
+ { id: "finance", label: "费用报销", icon: "finance", tone: "mint" },
250
+ { id: "task", label: "任务管理", icon: "task", tone: "blue" },
251
+ { id: "app", label: "更多应用", icon: "app", tone: "slate" },
252
+ ];
253
+
254
+ export const rankingItems: RankingItem[] = [
255
+ { id: "east", rank: 1, name: "华东区销售部", amount: "¥ 126,560" },
256
+ { id: "south", rank: 2, name: "华南区销售部", amount: "¥ 98,312" },
257
+ { id: "north", rank: 3, name: "华北区销售部", amount: "¥ 87,453" },
258
+ { id: "west", rank: 4, name: "西南区销售部", amount: "¥ 65,231" },
259
+ { id: "central", rank: 5, name: "华中区销售部", amount: "¥ 54,760" },
260
+ ];
261
+
262
+ export const activities: ActivityItem[] = [
263
+ { id: "a1", content: "系统管理员 创建了新用户:张三", time: "2分钟前", tone: "blue" },
264
+ { id: "a2", content: "订单编号 SO-20260310001 已完成", time: "15分钟前", tone: "cyan" },
265
+ { id: "a3", content: "客户 北京某某科技有限公司 已签约", time: "1小时前", tone: "green" },
266
+ { id: "a4", content: "审批流程 合同审批 已通过", time: "2小时前", tone: "red" },
267
+ { id: "a5", content: "财务到账 ¥25,000.00", time: "3小时前", tone: "orange" },
268
+ ];
269
+
270
+ export const notices: NoticeItem[] = [
271
+ {
272
+ id: "n1",
273
+ title: "系统升级通知",
274
+ description: "系统将在 2026-03-12 02:00-04:00 进行升级",
275
+ time: "10:30",
276
+ tone: "mint",
277
+ },
278
+ {
279
+ id: "n2",
280
+ title: "数据报表更新",
281
+ description: "《2026年Q1运营分析报表》已更新完成",
282
+ time: "09:15",
283
+ tone: "blue",
284
+ },
285
+ {
286
+ id: "n3",
287
+ title: "新功能上线",
288
+ description: "智能客服助手 2.0 版本正式上线",
289
+ time: "昨日 17:45",
290
+ tone: "orange",
291
+ },
292
+ {
293
+ id: "n4",
294
+ title: "安全提醒",
295
+ description: "检测到异常登录行为,请及时查看",
296
+ time: "昨日 14:22",
297
+ tone: "purple",
298
+ },
299
+ ];
300
+
301
+ export const todos: TodoItem[] = [
302
+ { id: "t1", title: "审核供应商入驻申请", owner: "审核", due: "今天 12:00", tone: "blue" },
303
+ { id: "t2", title: "处理客户投诉工单", owner: "客服", due: "今天 15:00", tone: "cyan" },
304
+ { id: "t3", title: "确认订单异常处理方案", owner: "运营", due: "明天 10:00", tone: "mint" },
305
+ { id: "t4", title: "制定下周运营计划", owner: "运营", due: "03-12 09:00", tone: "blue" },
306
+ { id: "t5", title: "财务对账与结算", owner: "财务", due: "03-12 16:00", tone: "orange" },
307
+ ];
308
+
309
+ export const taskProgressItems: TaskProgressItem[] = [
310
+ { id: "p1", title: "数据同步任务", percent: 85, status: "进行中", tone: "blue" },
311
+ { id: "p2", title: "用户行为分析", percent: 65, status: "进行中", tone: "purple" },
312
+ { id: "p3", title: "内容审核任务", percent: 90, status: "进行中", tone: "blue" },
313
+ { id: "p4", title: "报表生成任务", percent: 40, status: "等待中", tone: "purple" },
314
+ { id: "p5", title: "系统备份任务", percent: 100, status: "已完成", tone: "mint" },
315
+ ];
316
+
317
+ export const workOrders: WorkOrderRecord[] = [
318
+ {
319
+ key: "WO-20240524001",
320
+ id: "WO-20240524001",
321
+ title: "用户反馈:页面加载缓慢",
322
+ status: "pending",
323
+ priority: "medium",
324
+ owner: "李明",
325
+ avatar: "李",
326
+ department: "运营部",
327
+ createdAt: "2024-05-24 09:41",
328
+ updatedAt: "2024-05-24 10:15",
329
+ source: "用户反馈",
330
+ contact: "138****5678",
331
+ relatedSystem: "运营管理平台",
332
+ description:
333
+ "用户反馈在打开数据列表页面时,加载时间较长,影响使用体验,请排查页面并优化。",
334
+ attachmentName: "错误截图.png",
335
+ timeline: [
336
+ { id: "tl1", title: "工单创建", operator: "系统", time: "2024-05-24 09:41:23" },
337
+ { id: "tl2", title: "指派给 李明", operator: "张伟", time: "2024-05-24 09:42:10" },
338
+ { id: "tl3", title: "状态变更为 待处理", operator: "系统", time: "2024-05-24 09:42:10" },
339
+ ],
340
+ },
341
+ {
342
+ key: "WO-20240523018",
343
+ id: "WO-20240523018",
344
+ title: "数据导出功能异常",
345
+ status: "processing",
346
+ priority: "high",
347
+ owner: "王芳",
348
+ avatar: "王",
349
+ department: "技术部",
350
+ createdAt: "2024-05-23 16:20",
351
+ updatedAt: "2024-05-24 11:02",
352
+ source: "系统告警",
353
+ contact: "export@demo.local",
354
+ relatedSystem: "报表中心",
355
+ description: "导出大批量数据时偶发失败,需要补充重试和失败提示。",
356
+ attachmentName: "export-log.txt",
357
+ timeline: [
358
+ { id: "tl1", title: "工单创建", operator: "系统", time: "2024-05-23 16:20:00" },
359
+ { id: "tl2", title: "开始处理", operator: "王芳", time: "2024-05-24 09:20:00" },
360
+ ],
361
+ },
362
+ {
363
+ key: "WO-20240523017",
364
+ id: "WO-20240523017",
365
+ title: "权限申请:新增角色",
366
+ status: "pending",
367
+ priority: "medium",
368
+ owner: "张伟",
369
+ avatar: "张",
370
+ department: "运营部",
371
+ createdAt: "2024-05-23 15:10",
372
+ updatedAt: "2024-05-24 09:50",
373
+ source: "权限申请",
374
+ contact: "zhangwei",
375
+ relatedSystem: "权限中心",
376
+ description: "新增区域运营角色,并绑定对应页面菜单与数据权限。",
377
+ attachmentName: "role-scope.xlsx",
378
+ timeline: [
379
+ { id: "tl1", title: "工单创建", operator: "系统", time: "2024-05-23 15:10:00" },
380
+ ],
381
+ },
382
+ {
383
+ key: "WO-20240522012",
384
+ id: "WO-20240522012",
385
+ title: "系统报错:接口超时",
386
+ status: "processing",
387
+ priority: "high",
388
+ owner: "陈强",
389
+ avatar: "陈",
390
+ department: "技术部",
391
+ createdAt: "2024-05-22 11:32",
392
+ updatedAt: "2024-05-24 08:45",
393
+ source: "系统告警",
394
+ contact: "ops-monitor",
395
+ relatedSystem: "服务网关",
396
+ description: "接口响应时间超过阈值,需定位慢请求来源。",
397
+ attachmentName: "trace-id.txt",
398
+ timeline: [
399
+ { id: "tl1", title: "告警转工单", operator: "系统", time: "2024-05-22 11:32:00" },
400
+ { id: "tl2", title: "排查链路追踪", operator: "陈强", time: "2024-05-23 09:00:00" },
401
+ ],
402
+ },
403
+ {
404
+ key: "WO-20240521009",
405
+ id: "WO-20240521009",
406
+ title: "数据修正:统计偏差",
407
+ status: "done",
408
+ priority: "medium",
409
+ owner: "李明",
410
+ avatar: "李",
411
+ department: "运营部",
412
+ createdAt: "2024-05-21 10:05",
413
+ updatedAt: "2024-05-23 17:20",
414
+ source: "数据巡检",
415
+ contact: "data-team",
416
+ relatedSystem: "经营看板",
417
+ description: "修复日报统计口径中的重复计数问题。",
418
+ attachmentName: "check-result.xlsx",
419
+ timeline: [
420
+ { id: "tl1", title: "工单创建", operator: "系统", time: "2024-05-21 10:05:00" },
421
+ { id: "tl2", title: "完成处理", operator: "李明", time: "2024-05-23 17:20:00" },
422
+ ],
423
+ },
424
+ {
425
+ key: "WO-20240520007",
426
+ id: "WO-20240520007",
427
+ title: "功能建议:批量导入",
428
+ status: "done",
429
+ priority: "low",
430
+ owner: "王芳",
431
+ avatar: "王",
432
+ department: "产品部",
433
+ createdAt: "2024-05-20 14:22",
434
+ updatedAt: "2024-05-22 16:18",
435
+ source: "用户反馈",
436
+ contact: "product-feedback",
437
+ relatedSystem: "客户管理",
438
+ description: "客户希望新增批量导入入口,降低重复录入成本。",
439
+ attachmentName: "import-template.xlsx",
440
+ timeline: [
441
+ { id: "tl1", title: "工单创建", operator: "系统", time: "2024-05-20 14:22:00" },
442
+ { id: "tl2", title: "需求进入排期", operator: "王芳", time: "2024-05-22 16:18:00" },
443
+ ],
444
+ },
445
+ {
446
+ key: "WO-20240519003",
447
+ id: "WO-20240519003",
448
+ title: "账号无法登录",
449
+ status: "cancelled",
450
+ priority: "low",
451
+ owner: "张伟",
452
+ avatar: "张",
453
+ department: "运营部",
454
+ createdAt: "2024-05-19 09:18",
455
+ updatedAt: "2024-05-20 10:11",
456
+ source: "用户反馈",
457
+ contact: "user-login",
458
+ relatedSystem: "登录中心",
459
+ description: "重复提交工单,已合并到主工单处理。",
460
+ attachmentName: "login.png",
461
+ timeline: [
462
+ { id: "tl1", title: "工单创建", operator: "系统", time: "2024-05-19 09:18:00" },
463
+ { id: "tl2", title: "取消并合并", operator: "张伟", time: "2024-05-20 10:11:00" },
464
+ ],
465
+ },
466
+ ];