@yoyoboot/yoyo-admin-mock-data 0.0.0-stage → 10.5.8
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/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +70 -0
- package/dist/seed.d.ts +3 -0
- package/dist/seed.d.ts.map +1 -0
- package/dist/seed.js +308 -0
- package/dist/types.d.ts +69 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1 -0
- package/package.json +26 -4
- package/README.md +0 -3
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DemoBusinessWorld } from './types.js';
|
|
2
|
+
export type { DemoBusinessWorld, DemoOrganization, DemoUser, DemoCustomer, DemoSupplier, DemoProduct, DemoQuotationSummary } from './types.js';
|
|
3
|
+
type DeepReadonly<T> = {
|
|
4
|
+
readonly [K in keyof T]: DeepReadonly<T[K]>;
|
|
5
|
+
};
|
|
6
|
+
export declare const demoBusinessWorldSeed: DeepReadonly<DemoBusinessWorld>;
|
|
7
|
+
export declare function createDemoBusinessWorld(): DemoBusinessWorld;
|
|
8
|
+
/** Throws on invalid IDs, unresolved relationships, invalid dates or monetary values. */
|
|
9
|
+
export declare function validateDemoBusinessWorld(world: DemoBusinessWorld): void;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAC9I,KAAK,YAAY,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAKtE,eAAO,MAAM,qBAAqB,iCAAe,CAAA;AACjD,wBAAgB,uBAAuB,IAAI,iBAAiB,CAAiC;AAC7F,yFAAyF;AACzF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAsCxE"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { seed } from './seed.js';
|
|
2
|
+
function freeze(value) {
|
|
3
|
+
for (const child of Object.values(value))
|
|
4
|
+
if (child && typeof child === 'object')
|
|
5
|
+
freeze(child);
|
|
6
|
+
return Object.freeze(value);
|
|
7
|
+
}
|
|
8
|
+
export const demoBusinessWorldSeed = freeze(seed);
|
|
9
|
+
export function createDemoBusinessWorld() { return structuredClone(seed); }
|
|
10
|
+
/** Throws on invalid IDs, unresolved relationships, invalid dates or monetary values. */
|
|
11
|
+
export function validateDemoBusinessWorld(world) {
|
|
12
|
+
const fail = (message) => { throw new Error(`DemoBusinessWorld: ${message}`); };
|
|
13
|
+
const ids = (rows, label) => {
|
|
14
|
+
const result = new Set();
|
|
15
|
+
for (const row of rows) {
|
|
16
|
+
if (!row.id?.trim() || result.has(row.id))
|
|
17
|
+
fail(`duplicate or empty ${label} ID: ${row.id}`);
|
|
18
|
+
result.add(row.id);
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
};
|
|
22
|
+
const orgs = ids(world.organizations, 'organization'), users = ids(world.users, 'user'), customers = ids(world.customers, 'customer'), suppliers = ids(world.suppliers, 'supplier');
|
|
23
|
+
ids(world.products, 'product');
|
|
24
|
+
ids(world.quotations, 'quotation');
|
|
25
|
+
const date = (value) => {
|
|
26
|
+
if (!/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}\.\d{3}Z)?$/.test(value) || !Number.isFinite(Date.parse(value)) || new Date(value).toISOString().slice(0, 10) !== value.slice(0, 10))
|
|
27
|
+
fail(`invalid date: ${value}`);
|
|
28
|
+
};
|
|
29
|
+
date(world.anchor);
|
|
30
|
+
if (!world.company.id?.trim() || !world.company.name?.trim())
|
|
31
|
+
fail('missing company');
|
|
32
|
+
for (const org of world.organizations) {
|
|
33
|
+
const seen = new Set([org.id]);
|
|
34
|
+
let parent = org.parentId;
|
|
35
|
+
while (parent) {
|
|
36
|
+
if (!orgs.has(parent) || seen.has(parent))
|
|
37
|
+
fail(`invalid organization parent: ${parent}`);
|
|
38
|
+
seen.add(parent);
|
|
39
|
+
parent = world.organizations.find(item => item.id === parent)?.parentId;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
for (const user of world.users)
|
|
43
|
+
if (!orgs.has(user.organizationId))
|
|
44
|
+
fail(`missing organization for ${user.id}`);
|
|
45
|
+
for (const customer of world.customers) {
|
|
46
|
+
if (!users.has(customer.ownerId))
|
|
47
|
+
fail(`missing customer owner: ${customer.id}`);
|
|
48
|
+
date(customer.lastContactAt);
|
|
49
|
+
date(customer.nextActionAt);
|
|
50
|
+
if (customer.lastContactAt > world.anchor.slice(0, 10) || customer.nextActionAt < customer.lastContactAt)
|
|
51
|
+
fail(`invalid follow-up chronology: ${customer.id}`);
|
|
52
|
+
}
|
|
53
|
+
for (const product of world.products) {
|
|
54
|
+
if (!suppliers.has(product.supplierId))
|
|
55
|
+
fail(`missing supplier: ${product.id}`);
|
|
56
|
+
if (!Number.isSafeInteger(product.priceCents) || product.priceCents < 0)
|
|
57
|
+
fail(`invalid price: ${product.id}`);
|
|
58
|
+
}
|
|
59
|
+
const codes = new Set();
|
|
60
|
+
for (const quote of world.quotations) {
|
|
61
|
+
if (!customers.has(quote.customerId) || !users.has(quote.createdBy))
|
|
62
|
+
fail(`unresolved quotation: ${quote.id}`);
|
|
63
|
+
if (!quote.code?.trim() || codes.has(quote.code))
|
|
64
|
+
fail(`duplicate or empty quotation code: ${quote.code}`);
|
|
65
|
+
codes.add(quote.code);
|
|
66
|
+
date(quote.createdAt);
|
|
67
|
+
if (!Number.isSafeInteger(quote.amountCents) || quote.amountCents < 0)
|
|
68
|
+
fail(`invalid quotation amount: ${quote.id}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
package/dist/seed.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../src/seed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,eAAO,MAAM,IAAI,EAAE,iBAmTlB,CAAA"}
|
package/dist/seed.js
ADDED
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
export const seed = {
|
|
2
|
+
"company": {
|
|
3
|
+
"id": "COMP-YUNFAN",
|
|
4
|
+
"name": "云帆科技集团"
|
|
5
|
+
},
|
|
6
|
+
"anchor": "2026-10-05T09:00:00.000Z",
|
|
7
|
+
"organizations": [
|
|
8
|
+
{
|
|
9
|
+
"id": "ORG-HQ",
|
|
10
|
+
"name": "总部"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"id": "ORG-SALES",
|
|
14
|
+
"name": "华东销售与客户成功",
|
|
15
|
+
"parentId": "ORG-HQ"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "ORG-PURCHASE",
|
|
19
|
+
"name": "采购部",
|
|
20
|
+
"parentId": "ORG-HQ"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "ORG-OPS",
|
|
24
|
+
"name": "运营与客服",
|
|
25
|
+
"parentId": "ORG-HQ"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"users": [
|
|
29
|
+
{
|
|
30
|
+
"id": "USR-LIN",
|
|
31
|
+
"name": "林知远",
|
|
32
|
+
"organizationId": "ORG-SALES",
|
|
33
|
+
"title": "销售经理",
|
|
34
|
+
"email": "lin@yunfan.example"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "USR-CHEN",
|
|
38
|
+
"name": "陈若溪",
|
|
39
|
+
"organizationId": "ORG-SALES",
|
|
40
|
+
"title": "客户经理",
|
|
41
|
+
"email": "chen@yunfan.example"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": "USR-ZHOU",
|
|
45
|
+
"name": "周启明",
|
|
46
|
+
"organizationId": "ORG-SALES",
|
|
47
|
+
"title": "客户经理",
|
|
48
|
+
"email": "zhou@yunfan.example"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "USR-XU",
|
|
52
|
+
"name": "许安宁",
|
|
53
|
+
"organizationId": "ORG-PURCHASE",
|
|
54
|
+
"title": "采购专员",
|
|
55
|
+
"email": "xu@yunfan.example"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"id": "USR-LU",
|
|
59
|
+
"name": "陆嘉禾",
|
|
60
|
+
"organizationId": "ORG-OPS",
|
|
61
|
+
"title": "运营经理",
|
|
62
|
+
"email": "lu@yunfan.example"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "USR-SHEN",
|
|
66
|
+
"name": "沈清和",
|
|
67
|
+
"organizationId": "ORG-OPS",
|
|
68
|
+
"title": "客服主管",
|
|
69
|
+
"email": "shen@yunfan.example"
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"customers": [
|
|
73
|
+
{
|
|
74
|
+
"id": "CUS-001",
|
|
75
|
+
"name": "上海远景科技有限公司",
|
|
76
|
+
"region": "上海",
|
|
77
|
+
"industry": "软件研发",
|
|
78
|
+
"status": "active",
|
|
79
|
+
"ownerId": "USR-CHEN",
|
|
80
|
+
"contactName": "李宁",
|
|
81
|
+
"email": "yuanjing@customer.example",
|
|
82
|
+
"phone": "10000000000",
|
|
83
|
+
"lastContactAt": "2026-10-02",
|
|
84
|
+
"lastContactNote": "确认新办公室会议室设备需求",
|
|
85
|
+
"nextAction": "提交设备与安装报价",
|
|
86
|
+
"nextActionAt": "2026-10-08"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"id": "CUS-002",
|
|
90
|
+
"name": "华东设备服务有限公司",
|
|
91
|
+
"region": "苏州",
|
|
92
|
+
"industry": "设备服务",
|
|
93
|
+
"status": "prospect",
|
|
94
|
+
"ownerId": "USR-LIN",
|
|
95
|
+
"contactName": "王岚",
|
|
96
|
+
"email": "huadong@customer.example",
|
|
97
|
+
"phone": "10000000000",
|
|
98
|
+
"lastContactAt": "2026-10-01",
|
|
99
|
+
"lastContactNote": "初次介绍协作平台",
|
|
100
|
+
"nextAction": "安排需求访谈",
|
|
101
|
+
"nextActionAt": "2026-10-09"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"id": "CUS-003",
|
|
105
|
+
"name": "星河协作中心",
|
|
106
|
+
"region": "杭州",
|
|
107
|
+
"industry": "企业服务",
|
|
108
|
+
"status": "active",
|
|
109
|
+
"ownerId": "USR-ZHOU",
|
|
110
|
+
"contactName": "赵青",
|
|
111
|
+
"email": "xinghe@customer.example",
|
|
112
|
+
"phone": "10000000000",
|
|
113
|
+
"lastContactAt": "2026-09-30",
|
|
114
|
+
"lastContactNote": "确认实施服务范围",
|
|
115
|
+
"nextAction": "安排交付启动会议",
|
|
116
|
+
"nextActionAt": "2026-10-07"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"id": "CUS-004",
|
|
120
|
+
"name": "青禾食品供应链有限公司",
|
|
121
|
+
"region": "嘉兴",
|
|
122
|
+
"industry": "食品供应链",
|
|
123
|
+
"status": "prospect",
|
|
124
|
+
"ownerId": "USR-CHEN",
|
|
125
|
+
"contactName": "张禾",
|
|
126
|
+
"email": "qinghe@customer.example",
|
|
127
|
+
"phone": "10000000000",
|
|
128
|
+
"lastContactAt": "2026-09-29",
|
|
129
|
+
"lastContactNote": "了解仓储与采购协同需求",
|
|
130
|
+
"nextAction": "演示采购协同流程",
|
|
131
|
+
"nextActionAt": "2026-10-10"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"id": "CUS-005",
|
|
135
|
+
"name": "澄川设计事务所",
|
|
136
|
+
"region": "南京",
|
|
137
|
+
"industry": "设计咨询",
|
|
138
|
+
"status": "active",
|
|
139
|
+
"ownerId": "USR-ZHOU",
|
|
140
|
+
"contactName": "周澄",
|
|
141
|
+
"email": "chengchuan@customer.example",
|
|
142
|
+
"phone": "10000000000",
|
|
143
|
+
"lastContactAt": "2026-10-03",
|
|
144
|
+
"lastContactNote": "收集培训反馈",
|
|
145
|
+
"nextAction": "发送管理员操作指引",
|
|
146
|
+
"nextActionAt": "2026-10-08"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"id": "CUS-006",
|
|
150
|
+
"name": "海岳精密制造有限公司",
|
|
151
|
+
"region": "无锡",
|
|
152
|
+
"industry": "精密制造",
|
|
153
|
+
"status": "paused",
|
|
154
|
+
"ownerId": "USR-LIN",
|
|
155
|
+
"contactName": "郑岳",
|
|
156
|
+
"email": "haiyue@customer.example",
|
|
157
|
+
"phone": "10000000000",
|
|
158
|
+
"lastContactAt": "2026-09-25",
|
|
159
|
+
"lastContactNote": "客户暂缓本季度扩容",
|
|
160
|
+
"nextAction": "季度预算确认后回访",
|
|
161
|
+
"nextActionAt": "2026-10-20"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"id": "CUS-007",
|
|
165
|
+
"name": "知行教育服务有限公司",
|
|
166
|
+
"region": "合肥",
|
|
167
|
+
"industry": "教育服务",
|
|
168
|
+
"status": "prospect",
|
|
169
|
+
"ownerId": "USR-CHEN",
|
|
170
|
+
"contactName": "许知",
|
|
171
|
+
"email": "zhixing@customer.example",
|
|
172
|
+
"phone": "10000000000",
|
|
173
|
+
"lastContactAt": "2026-10-04",
|
|
174
|
+
"lastContactNote": "确认多校区视频会议需求",
|
|
175
|
+
"nextAction": "核对校区设备清单",
|
|
176
|
+
"nextActionAt": "2026-10-09"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"id": "CUS-008",
|
|
180
|
+
"name": "南桥物流有限公司",
|
|
181
|
+
"region": "宁波",
|
|
182
|
+
"industry": "物流运输",
|
|
183
|
+
"status": "active",
|
|
184
|
+
"ownerId": "USR-ZHOU",
|
|
185
|
+
"contactName": "陈桥",
|
|
186
|
+
"email": "nanqiao@customer.example",
|
|
187
|
+
"phone": "10000000000",
|
|
188
|
+
"lastContactAt": "2026-09-28",
|
|
189
|
+
"lastContactNote": "完成订阅续期评估",
|
|
190
|
+
"nextAction": "确认年度席位数量",
|
|
191
|
+
"nextActionAt": "2026-10-12"
|
|
192
|
+
}
|
|
193
|
+
],
|
|
194
|
+
"suppliers": [
|
|
195
|
+
{
|
|
196
|
+
"id": "SUP-YUN",
|
|
197
|
+
"name": "云端协作软件",
|
|
198
|
+
"region": "杭州",
|
|
199
|
+
"contactName": "顾南"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"id": "SUP-HENG",
|
|
203
|
+
"name": "恒信会议设备",
|
|
204
|
+
"region": "苏州",
|
|
205
|
+
"contactName": "赵明"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"id": "SUP-QI",
|
|
209
|
+
"name": "启程技术服务",
|
|
210
|
+
"region": "上海",
|
|
211
|
+
"contactName": "苏晨"
|
|
212
|
+
}
|
|
213
|
+
],
|
|
214
|
+
"products": [
|
|
215
|
+
{
|
|
216
|
+
"id": "PRD-001",
|
|
217
|
+
"code": "SKU-001",
|
|
218
|
+
"name": "商务投影仪",
|
|
219
|
+
"kind": "equipment",
|
|
220
|
+
"unit": "台",
|
|
221
|
+
"priceCents": 329900,
|
|
222
|
+
"supplierId": "SUP-HENG"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"id": "PRD-002",
|
|
226
|
+
"code": "SKU-002",
|
|
227
|
+
"name": "高清摄像头",
|
|
228
|
+
"kind": "equipment",
|
|
229
|
+
"unit": "台",
|
|
230
|
+
"priceCents": 129900,
|
|
231
|
+
"supplierId": "SUP-HENG"
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"id": "PRD-003",
|
|
235
|
+
"code": "SKU-003",
|
|
236
|
+
"name": "会议麦克风",
|
|
237
|
+
"kind": "equipment",
|
|
238
|
+
"unit": "套",
|
|
239
|
+
"priceCents": 89900,
|
|
240
|
+
"supplierId": "SUP-HENG"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"id": "PRD-004",
|
|
244
|
+
"code": "SKU-004",
|
|
245
|
+
"name": "企业协作订阅(年)",
|
|
246
|
+
"kind": "software",
|
|
247
|
+
"unit": "席位",
|
|
248
|
+
"priceCents": 120000,
|
|
249
|
+
"supplierId": "SUP-YUN"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"id": "PRD-005",
|
|
253
|
+
"code": "SKU-005",
|
|
254
|
+
"name": "会议空间实施服务",
|
|
255
|
+
"kind": "service",
|
|
256
|
+
"unit": "次",
|
|
257
|
+
"priceCents": 280000,
|
|
258
|
+
"supplierId": "SUP-QI"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"id": "PRD-006",
|
|
262
|
+
"code": "SKU-006",
|
|
263
|
+
"name": "管理员培训服务",
|
|
264
|
+
"kind": "service",
|
|
265
|
+
"unit": "场",
|
|
266
|
+
"priceCents": 150000,
|
|
267
|
+
"supplierId": "SUP-QI"
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"id": "PRD-007",
|
|
271
|
+
"code": "SKU-007",
|
|
272
|
+
"name": "视频会议终端",
|
|
273
|
+
"kind": "equipment",
|
|
274
|
+
"unit": "套",
|
|
275
|
+
"priceCents": 459900,
|
|
276
|
+
"supplierId": "SUP-HENG"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"id": "PRD-008",
|
|
280
|
+
"code": "SKU-008",
|
|
281
|
+
"name": "网络交换机",
|
|
282
|
+
"kind": "equipment",
|
|
283
|
+
"unit": "台",
|
|
284
|
+
"priceCents": 69900,
|
|
285
|
+
"supplierId": "SUP-HENG"
|
|
286
|
+
}
|
|
287
|
+
],
|
|
288
|
+
"quotations": [
|
|
289
|
+
{
|
|
290
|
+
"id": "QUOTE-SEED-001",
|
|
291
|
+
"code": "QTE-20260928-001",
|
|
292
|
+
"customerId": "CUS-001",
|
|
293
|
+
"amountCents": 605154,
|
|
294
|
+
"status": "sent",
|
|
295
|
+
"createdBy": "USR-CHEN",
|
|
296
|
+
"createdAt": "2026-09-28"
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"id": "QUOTE-SEED-002",
|
|
300
|
+
"code": "QTE-20260930-001",
|
|
301
|
+
"customerId": "CUS-003",
|
|
302
|
+
"amountCents": 318000,
|
|
303
|
+
"status": "accepted",
|
|
304
|
+
"createdBy": "USR-ZHOU",
|
|
305
|
+
"createdAt": "2026-09-30"
|
|
306
|
+
}
|
|
307
|
+
]
|
|
308
|
+
};
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export interface DemoOrganization {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
parentId?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface DemoUser {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
organizationId: string;
|
|
10
|
+
title: string;
|
|
11
|
+
email: string;
|
|
12
|
+
}
|
|
13
|
+
export interface DemoCustomer {
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
region: string;
|
|
17
|
+
industry: string;
|
|
18
|
+
status: 'active' | 'prospect' | 'paused';
|
|
19
|
+
ownerId: string;
|
|
20
|
+
contactName: string;
|
|
21
|
+
email: string;
|
|
22
|
+
phone: string;
|
|
23
|
+
company?: string;
|
|
24
|
+
note?: string;
|
|
25
|
+
jobTitle?: string;
|
|
26
|
+
primaryContact?: boolean;
|
|
27
|
+
lastContactAt: string;
|
|
28
|
+
lastContactNote: string;
|
|
29
|
+
nextAction: string;
|
|
30
|
+
nextActionAt: string;
|
|
31
|
+
}
|
|
32
|
+
export interface DemoSupplier {
|
|
33
|
+
id: string;
|
|
34
|
+
name: string;
|
|
35
|
+
region: string;
|
|
36
|
+
contactName: string;
|
|
37
|
+
}
|
|
38
|
+
export interface DemoProduct {
|
|
39
|
+
id: string;
|
|
40
|
+
code: string;
|
|
41
|
+
name: string;
|
|
42
|
+
kind: 'software' | 'equipment' | 'service';
|
|
43
|
+
unit: string;
|
|
44
|
+
priceCents: number;
|
|
45
|
+
supplierId: string;
|
|
46
|
+
}
|
|
47
|
+
export interface DemoQuotationSummary {
|
|
48
|
+
id: string;
|
|
49
|
+
code: string;
|
|
50
|
+
customerId: string;
|
|
51
|
+
amountCents: number;
|
|
52
|
+
status: 'draft' | 'sent' | 'accepted';
|
|
53
|
+
createdBy: string;
|
|
54
|
+
createdAt: string;
|
|
55
|
+
}
|
|
56
|
+
export interface DemoBusinessWorld {
|
|
57
|
+
company: {
|
|
58
|
+
id: string;
|
|
59
|
+
name: string;
|
|
60
|
+
};
|
|
61
|
+
anchor: string;
|
|
62
|
+
organizations: DemoOrganization[];
|
|
63
|
+
users: DemoUser[];
|
|
64
|
+
customers: DemoCustomer[];
|
|
65
|
+
suppliers: DemoSupplier[];
|
|
66
|
+
products: DemoProduct[];
|
|
67
|
+
quotations: DemoQuotationSummary[];
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE;AACjF,MAAM,WAAW,QAAQ;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAC5G,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAA;IACpG,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IAC5E,aAAa,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CACzF;AACD,MAAM,WAAW,YAAY;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE;AAC/F,MAAM,WAAW,WAAW;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AACzK,MAAM,WAAW,oBAAoB;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AACxL,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;IACrD,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,SAAS,EAAE,YAAY,EAAE,CAAA;IAC/E,SAAS,EAAE,YAAY,EAAE,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,UAAU,EAAE,oBAAoB,EAAE,CAAA;CACvF"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yoyoboot/yoyo-admin-mock-data",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "10.5.8",
|
|
4
|
+
"description": "确定性的示例业务事实,仅供模板和展示消费者使用。",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/yoyoboot/YoyoBoot.git",
|
|
19
|
+
"directory": "packages/yoyo-admin/admin-mock-data"
|
|
20
|
+
},
|
|
21
|
+
"homepage": "https://github.com/yoyoboot/YoyoBoot#readme",
|
|
22
|
+
"bugs": {
|
|
23
|
+
"url": "https://github.com/yoyoboot/YoyoBoot/issues"
|
|
24
|
+
},
|
|
25
|
+
"publishConfig": {
|
|
26
|
+
"access": "public"
|
|
27
|
+
}
|
|
28
|
+
}
|
package/README.md
DELETED