pda-kit-mcp-server 2.0.1
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/README.md +107 -0
- package/bin/pda-kit-mcp.js +35 -0
- package/dist/file-reader.d.ts +83 -0
- package/dist/file-reader.d.ts.map +1 -0
- package/dist/file-reader.js +170 -0
- package/dist/file-reader.js.map +1 -0
- package/dist/http-entry.d.ts +12 -0
- package/dist/http-entry.d.ts.map +1 -0
- package/dist/http-entry.js +149 -0
- package/dist/http-entry.js.map +1 -0
- package/dist/http-server.d.ts +5 -0
- package/dist/http-server.d.ts.map +1 -0
- package/dist/http-server.js +114 -0
- package/dist/http-server.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +90 -0
- package/dist/index.js.map +1 -0
- package/dist/paths.d.ts +37 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +52 -0
- package/dist/paths.js.map +1 -0
- package/dist/server.d.ts +12 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +308 -0
- package/dist/server.js.map +1 -0
- package/dist/stdio-server.d.ts +8 -0
- package/dist/stdio-server.d.ts.map +1 -0
- package/dist/stdio-server.js +83 -0
- package/dist/stdio-server.js.map +1 -0
- package/dist/tools/generate-component.d.ts +54 -0
- package/dist/tools/generate-component.d.ts.map +1 -0
- package/dist/tools/generate-component.js +80 -0
- package/dist/tools/generate-component.js.map +1 -0
- package/dist/tools/get-component-spec.d.ts +70 -0
- package/dist/tools/get-component-spec.d.ts.map +1 -0
- package/dist/tools/get-component-spec.js +95 -0
- package/dist/tools/get-component-spec.js.map +1 -0
- package/dist/tools/get-global-rules.d.ts +42 -0
- package/dist/tools/get-global-rules.d.ts.map +1 -0
- package/dist/tools/get-global-rules.js +83 -0
- package/dist/tools/get-global-rules.js.map +1 -0
- package/dist/tools/list-components.d.ts +52 -0
- package/dist/tools/list-components.d.ts.map +1 -0
- package/dist/tools/list-components.js +104 -0
- package/dist/tools/list-components.js.map +1 -0
- package/dist/tools/search-components.d.ts +54 -0
- package/dist/tools/search-components.d.ts.map +1 -0
- package/dist/tools/search-components.js +124 -0
- package/dist/tools/search-components.js.map +1 -0
- package/dist/tools/validate-html.d.ts +43 -0
- package/dist/tools/validate-html.d.ts.map +1 -0
- package/dist/tools/validate-html.js +116 -0
- package/dist/tools/validate-html.js.map +1 -0
- package/package.json +59 -0
- package/spec-data/badge.md +461 -0
- package/spec-data/button.md +148 -0
- package/spec-data/camera.md +622 -0
- package/spec-data/dialog.md +419 -0
- package/spec-data/divider.md +208 -0
- package/spec-data/drawer.md +301 -0
- package/spec-data/empty-state.md +336 -0
- package/spec-data/home-page.md +352 -0
- package/spec-data/input-row.md +346 -0
- package/spec-data/layout-page.md +317 -0
- package/spec-data/list-item.md +128 -0
- package/spec-data/location-selector.md +630 -0
- package/spec-data/more-actions.md +427 -0
- package/spec-data/navbar.md +482 -0
- package/spec-data/photo-list.md +461 -0
- package/spec-data/picker-single.md +199 -0
- package/spec-data/picker.md +586 -0
- package/spec-data/scan-input.md +304 -0
- package/spec-data/section-heading.md +268 -0
- package/spec-data/selectable-list.md +331 -0
- package/spec-data/stepper.md +247 -0
- package/spec-data/tab-bar.md +254 -0
- package/spec-data/tab.md +349 -0
- package/spec-data/tag.md +363 -0
- package/spec-data/tooltip.md +202 -0
- package/spec-data/waybill-number.md +257 -0
|
@@ -0,0 +1,630 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: location-selector
|
|
3
|
+
name: 选择点部/分拨/网点选择器
|
|
4
|
+
category: business
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
tokens:
|
|
7
|
+
layout: "flex flex-col w-full"
|
|
8
|
+
theme: "bg-grey-1"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# 选择点部/分拨/网点选择器
|
|
12
|
+
|
|
13
|
+
> **业务组件**:用于选择卸货地、经停地、目的地、附近点部等物流节点。
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. 组件结构
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
LocationSelector
|
|
21
|
+
├── Header(标题栏)
|
|
22
|
+
├── Section(分组)
|
|
23
|
+
│ ├── SectionHeader(分组标题)
|
|
24
|
+
│ └── TagGroup(标签组)
|
|
25
|
+
├── NearbyList(附近点部列表)
|
|
26
|
+
│ └── ListItem(列表项)
|
|
27
|
+
└── History(历史记录)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 2. 分组标题 SectionHeader
|
|
33
|
+
|
|
34
|
+
### 规格
|
|
35
|
+
|
|
36
|
+
| 属性 | 值 |
|
|
37
|
+
|------|-----|
|
|
38
|
+
| 高度 | 40px |
|
|
39
|
+
| 背景 | `bg-grey-2` (#F3F4F6) |
|
|
40
|
+
| 内边距 | 8px 16px |
|
|
41
|
+
| 图标 | 20×20px,颜色 `--color-grey-7` |
|
|
42
|
+
| 标题文字 | 18px / 600 / `--color-grey-7` |
|
|
43
|
+
|
|
44
|
+
### HTML 结构
|
|
45
|
+
|
|
46
|
+
```html
|
|
47
|
+
<div class="section-header">
|
|
48
|
+
<svg class="section-icon" width="20" height="20">
|
|
49
|
+
<use href="../icons/icons-sprite.svg#common_ic_location_o"/>
|
|
50
|
+
</svg>
|
|
51
|
+
<span class="section-title">其他卸货地</span>
|
|
52
|
+
</div>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### CSS
|
|
56
|
+
|
|
57
|
+
```css
|
|
58
|
+
.section-header {
|
|
59
|
+
display: flex;
|
|
60
|
+
align-items: center;
|
|
61
|
+
gap: 4px;
|
|
62
|
+
height: 40px;
|
|
63
|
+
padding: 8px 16px;
|
|
64
|
+
background: var(--color-grey-2);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.section-icon {
|
|
68
|
+
width: 20px;
|
|
69
|
+
height: 20px;
|
|
70
|
+
color: var(--color-grey-7);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.section-title {
|
|
74
|
+
font-size: 18px;
|
|
75
|
+
font-weight: 600;
|
|
76
|
+
color: var(--color-grey-7);
|
|
77
|
+
line-height: 25px;
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 3. 标签 Tag
|
|
84
|
+
|
|
85
|
+
### 规格
|
|
86
|
+
|
|
87
|
+
| 属性 | 值 |
|
|
88
|
+
|------|-----|
|
|
89
|
+
| 高度 | 40px(含边框) |
|
|
90
|
+
| 内边距 | 7.5px 10px |
|
|
91
|
+
| 圆角 | 8px (`rounded-8dp`) |
|
|
92
|
+
| 字体 | 18px / 400 / PingFang SC |
|
|
93
|
+
| 行高 | 25px |
|
|
94
|
+
|
|
95
|
+
### 状态
|
|
96
|
+
|
|
97
|
+
| 状态 | 背景 | 边框 | 文字颜色 |
|
|
98
|
+
|------|------|------|---------|
|
|
99
|
+
| **默认 (off)** | `bg-grey-2` | `border-grey-3` | `--color-grey-7` |
|
|
100
|
+
| **选中 (on)** | `bg-grey-2` | `border-grey-2` (透明边框) | `--color-grey-7` |
|
|
101
|
+
|
|
102
|
+
### HTML 结构
|
|
103
|
+
|
|
104
|
+
```html
|
|
105
|
+
<!-- 默认状态 -->
|
|
106
|
+
<div class="tag">
|
|
107
|
+
<span class="tag-text">国际代理</span>
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
<!-- 选中状态 -->
|
|
111
|
+
<div class="tag active">
|
|
112
|
+
<span class="tag-text">达达外请</span>
|
|
113
|
+
</div>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### CSS
|
|
117
|
+
|
|
118
|
+
```css
|
|
119
|
+
.tag {
|
|
120
|
+
display: inline-flex;
|
|
121
|
+
justify-content: center;
|
|
122
|
+
align-items: center;
|
|
123
|
+
gap: 8px;
|
|
124
|
+
padding: 7.5px 10px;
|
|
125
|
+
background: var(--color-grey-2);
|
|
126
|
+
border: 1px solid var(--color-grey-3);
|
|
127
|
+
border-radius: 8px;
|
|
128
|
+
cursor: default;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.tag.active {
|
|
132
|
+
border-color: var(--color-grey-2);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.tag-text {
|
|
136
|
+
font-size: 18px;
|
|
137
|
+
font-family: "PingFang SC";
|
|
138
|
+
line-height: 25px;
|
|
139
|
+
color: var(--color-grey-7);
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## 4. 标签组 TagGroup
|
|
146
|
+
|
|
147
|
+
### 规格
|
|
148
|
+
|
|
149
|
+
| 属性 | 值 |
|
|
150
|
+
|------|-----|
|
|
151
|
+
| 布局 | flex-wrap |
|
|
152
|
+
| 列间距 | 16px |
|
|
153
|
+
| 行间距 | 8px |
|
|
154
|
+
| 内边距 | 0 16px |
|
|
155
|
+
|
|
156
|
+
### HTML 结构
|
|
157
|
+
|
|
158
|
+
```html
|
|
159
|
+
<div class="tag-group">
|
|
160
|
+
<div class="tag"><span class="tag-text">国际代理</span></div>
|
|
161
|
+
<div class="tag active"><span class="tag-text">达达外请</span></div>
|
|
162
|
+
<div class="tag"><span class="tag-text">闪送外请</span></div>
|
|
163
|
+
</div>
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### CSS
|
|
167
|
+
|
|
168
|
+
```css
|
|
169
|
+
.tag-group {
|
|
170
|
+
display: flex;
|
|
171
|
+
flex-wrap: wrap;
|
|
172
|
+
gap: 8px 16px;
|
|
173
|
+
padding: 0 16px;
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## 5. 附近点部列表 NearbyList
|
|
180
|
+
|
|
181
|
+
### 列表项 ListItem
|
|
182
|
+
|
|
183
|
+
| 属性 | 值 |
|
|
184
|
+
|------|-----|
|
|
185
|
+
| 高度 | 70px |
|
|
186
|
+
| 内边距 | 16px |
|
|
187
|
+
| 背景 | `bg-grey-1` |
|
|
188
|
+
| 分割线 | 1px `border-grey-3` |
|
|
189
|
+
|
|
190
|
+
### 左侧内容
|
|
191
|
+
|
|
192
|
+
| 属性 | 值 |
|
|
193
|
+
|------|-----|
|
|
194
|
+
| 标题 | 20px / 600 / `--color-black-6` |
|
|
195
|
+
| 副标题 | 16px / 400 / `--color-black-4` |
|
|
196
|
+
|
|
197
|
+
### 右侧标签
|
|
198
|
+
|
|
199
|
+
| 属性 | 值 |
|
|
200
|
+
|------|-----|
|
|
201
|
+
| 背景 | `bg-grey-2` |
|
|
202
|
+
| 圆角 | 4px |
|
|
203
|
+
| 文字 | 14px / 600 / `--color-grey-7` |
|
|
204
|
+
| 内边距 | 4px 8px |
|
|
205
|
+
|
|
206
|
+
### HTML 结构
|
|
207
|
+
|
|
208
|
+
```html
|
|
209
|
+
<div class="nearby-list">
|
|
210
|
+
<div class="list-item">
|
|
211
|
+
<div class="list-item-left">
|
|
212
|
+
<span class="list-item-title">黄田福围点部</span>
|
|
213
|
+
</div>
|
|
214
|
+
<div class="list-item-right">
|
|
215
|
+
<span class="distance-tag">300米</span>
|
|
216
|
+
</div>
|
|
217
|
+
</div>
|
|
218
|
+
<div class="list-divider"></div>
|
|
219
|
+
</div>
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### CSS
|
|
223
|
+
|
|
224
|
+
```css
|
|
225
|
+
.nearby-list {
|
|
226
|
+
display: flex;
|
|
227
|
+
flex-direction: column;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.list-item {
|
|
231
|
+
display: flex;
|
|
232
|
+
justify-content: space-between;
|
|
233
|
+
align-items: center;
|
|
234
|
+
height: 70px;
|
|
235
|
+
padding: 0 16px;
|
|
236
|
+
background: var(--color-grey-1);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.list-item-left {
|
|
240
|
+
display: flex;
|
|
241
|
+
flex-direction: column;
|
|
242
|
+
gap: 4px;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.list-item-title {
|
|
246
|
+
font-size: 20px;
|
|
247
|
+
font-weight: 600;
|
|
248
|
+
color: var(--color-black-6);
|
|
249
|
+
line-height: 28px;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.list-item-right {
|
|
253
|
+
display: flex;
|
|
254
|
+
align-items: center;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.distance-tag {
|
|
258
|
+
padding: 4px 8px;
|
|
259
|
+
background: var(--color-grey-2);
|
|
260
|
+
border-radius: 4px;
|
|
261
|
+
font-size: 14px;
|
|
262
|
+
font-weight: 600;
|
|
263
|
+
color: var(--color-grey-7);
|
|
264
|
+
line-height: 20px;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.list-divider {
|
|
268
|
+
height: 1px;
|
|
269
|
+
background: var(--color-grey-3);
|
|
270
|
+
margin: 0 16px;
|
|
271
|
+
}
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## 6. 历史记录 History
|
|
277
|
+
|
|
278
|
+
### 规格
|
|
279
|
+
|
|
280
|
+
| 属性 | 值 |
|
|
281
|
+
|------|-----|
|
|
282
|
+
| 布局 | flex-wrap |
|
|
283
|
+
| 间距 | 16px |
|
|
284
|
+
| 可删除 | 带关闭图标 |
|
|
285
|
+
|
|
286
|
+
### 关闭图标
|
|
287
|
+
|
|
288
|
+
| 属性 | 值 |
|
|
289
|
+
|------|-----|
|
|
290
|
+
| 尺寸 | 16×16px |
|
|
291
|
+
| 颜色 | `--color-grey-5` |
|
|
292
|
+
|
|
293
|
+
### HTML 结构
|
|
294
|
+
|
|
295
|
+
```html
|
|
296
|
+
<div class="history-section">
|
|
297
|
+
<div class="section-header">
|
|
298
|
+
<svg class="section-icon" width="20" height="20">
|
|
299
|
+
<use href="../icons/icons-sprite.svg#common_ic_history_o"/>
|
|
300
|
+
</svg>
|
|
301
|
+
<span class="section-title">历史记录</span>
|
|
302
|
+
<button class="clear-btn" onclick="clearHistory()">清除</button>
|
|
303
|
+
</div>
|
|
304
|
+
<div class="history-tags">
|
|
305
|
+
<div class="tag active">
|
|
306
|
+
<span class="tag-text">黄点福围点部</span>
|
|
307
|
+
<svg class="tag-close" width="16" height="16" onclick="removeTag(this)">
|
|
308
|
+
<use href="../icons/icons-sprite.svg#common_ic_close_o"/>
|
|
309
|
+
</svg>
|
|
310
|
+
</div>
|
|
311
|
+
</div>
|
|
312
|
+
</div>
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### CSS
|
|
316
|
+
|
|
317
|
+
```css
|
|
318
|
+
.history-section .section-header {
|
|
319
|
+
justify-content: space-between;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
.clear-btn {
|
|
323
|
+
font-size: 16px;
|
|
324
|
+
color: var(--color-main-6);
|
|
325
|
+
background: none;
|
|
326
|
+
border: none;
|
|
327
|
+
cursor: default;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
.history-tags {
|
|
331
|
+
display: flex;
|
|
332
|
+
flex-wrap: wrap;
|
|
333
|
+
gap: 16px;
|
|
334
|
+
padding: 16px;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.history-tags .tag {
|
|
338
|
+
display: inline-flex;
|
|
339
|
+
align-items: center;
|
|
340
|
+
gap: 8px;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
.tag-close {
|
|
344
|
+
width: 16px;
|
|
345
|
+
height: 16px;
|
|
346
|
+
color: var(--color-grey-5);
|
|
347
|
+
cursor: default;
|
|
348
|
+
}
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
## 7. 完整示例
|
|
354
|
+
|
|
355
|
+
```html
|
|
356
|
+
<!DOCTYPE html>
|
|
357
|
+
<html lang="zh-CN">
|
|
358
|
+
<head>
|
|
359
|
+
<meta charset="UTF-8">
|
|
360
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
361
|
+
<title>选择点部/分拨/网点</title>
|
|
362
|
+
<link rel="stylesheet" href="../tokens/pdakit.css">
|
|
363
|
+
<style>
|
|
364
|
+
/* 双端响应式沙箱 */
|
|
365
|
+
body {
|
|
366
|
+
font-family: "PingFang SC", -apple-system, sans-serif;
|
|
367
|
+
background: var(--color-grey-2);
|
|
368
|
+
margin: 0;
|
|
369
|
+
padding: 0;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
@media (min-width: 1024px) {
|
|
373
|
+
body {
|
|
374
|
+
display: flex;
|
|
375
|
+
justify-content: center;
|
|
376
|
+
align-items: center;
|
|
377
|
+
min-height: 100vh;
|
|
378
|
+
}
|
|
379
|
+
.pda-sandbox {
|
|
380
|
+
width: 412px;
|
|
381
|
+
height: 844px;
|
|
382
|
+
border: 1px solid var(--color-grey-3);
|
|
383
|
+
overflow: hidden;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
.location-selector {
|
|
388
|
+
width: 100%;
|
|
389
|
+
height: 100%;
|
|
390
|
+
background: var(--color-grey-1);
|
|
391
|
+
overflow-y: auto;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/* SectionHeader */
|
|
395
|
+
.section-header {
|
|
396
|
+
display: flex;
|
|
397
|
+
align-items: center;
|
|
398
|
+
gap: 4px;
|
|
399
|
+
height: 40px;
|
|
400
|
+
padding: 8px 16px;
|
|
401
|
+
background: var(--color-grey-2);
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
.section-icon {
|
|
405
|
+
width: 20px;
|
|
406
|
+
height: 20px;
|
|
407
|
+
color: var(--color-grey-7);
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
.section-title {
|
|
411
|
+
font-size: 18px;
|
|
412
|
+
font-weight: 600;
|
|
413
|
+
color: var(--color-grey-7);
|
|
414
|
+
line-height: 25px;
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
/* Tag */
|
|
418
|
+
.tag-group {
|
|
419
|
+
display: flex;
|
|
420
|
+
flex-wrap: wrap;
|
|
421
|
+
gap: 8px 16px;
|
|
422
|
+
padding: 12px 16px;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
.tag {
|
|
426
|
+
display: inline-flex;
|
|
427
|
+
justify-content: center;
|
|
428
|
+
align-items: center;
|
|
429
|
+
gap: 8px;
|
|
430
|
+
padding: 7.5px 10px;
|
|
431
|
+
background: var(--color-grey-2);
|
|
432
|
+
border: 1px solid var(--color-grey-3);
|
|
433
|
+
border-radius: 8px;
|
|
434
|
+
cursor: default;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
.tag.active {
|
|
438
|
+
border-color: var(--color-grey-2);
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
.tag-text {
|
|
442
|
+
font-size: 18px;
|
|
443
|
+
font-family: "PingFang SC";
|
|
444
|
+
line-height: 25px;
|
|
445
|
+
color: var(--color-grey-7);
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
/* NearbyList */
|
|
449
|
+
.list-item {
|
|
450
|
+
display: flex;
|
|
451
|
+
justify-content: space-between;
|
|
452
|
+
align-items: center;
|
|
453
|
+
height: 70px;
|
|
454
|
+
padding: 0 16px;
|
|
455
|
+
background: var(--color-grey-1);
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
.list-item-title {
|
|
459
|
+
font-size: 20px;
|
|
460
|
+
font-weight: 600;
|
|
461
|
+
color: var(--color-black-6);
|
|
462
|
+
line-height: 28px;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
.distance-tag {
|
|
466
|
+
padding: 4px 8px;
|
|
467
|
+
background: var(--color-grey-2);
|
|
468
|
+
border-radius: 4px;
|
|
469
|
+
font-size: 14px;
|
|
470
|
+
font-weight: 600;
|
|
471
|
+
color: var(--color-grey-7);
|
|
472
|
+
line-height: 20px;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
.list-divider {
|
|
476
|
+
height: 1px;
|
|
477
|
+
background: var(--color-grey-3);
|
|
478
|
+
margin: 0 16px;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
/* History */
|
|
482
|
+
.clear-btn {
|
|
483
|
+
margin-left: auto;
|
|
484
|
+
font-size: 16px;
|
|
485
|
+
color: var(--color-main-6);
|
|
486
|
+
background: none;
|
|
487
|
+
border: none;
|
|
488
|
+
cursor: default;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
.tag-close {
|
|
492
|
+
width: 16px;
|
|
493
|
+
height: 16px;
|
|
494
|
+
color: var(--color-grey-5);
|
|
495
|
+
}
|
|
496
|
+
</style>
|
|
497
|
+
</head>
|
|
498
|
+
<body>
|
|
499
|
+
|
|
500
|
+
<div class="pda-sandbox">
|
|
501
|
+
<div class="location-selector">
|
|
502
|
+
|
|
503
|
+
<!-- 其他卸货地 -->
|
|
504
|
+
<div class="section">
|
|
505
|
+
<div class="section-header">
|
|
506
|
+
<svg class="section-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
507
|
+
<path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/>
|
|
508
|
+
<circle cx="12" cy="10" r="3"/>
|
|
509
|
+
</svg>
|
|
510
|
+
<span class="section-title">其他卸货地</span>
|
|
511
|
+
</div>
|
|
512
|
+
<div class="tag-group">
|
|
513
|
+
<div class="tag"><span class="tag-text">国际代理</span></div>
|
|
514
|
+
<div class="tag"><span class="tag-text">京东分拨</span></div>
|
|
515
|
+
<div class="tag active"><span class="tag-text">达达外请</span></div>
|
|
516
|
+
<div class="tag active"><span class="tag-text">闪送外请</span></div>
|
|
517
|
+
<div class="tag"><span class="tag-text">自提柜</span></div>
|
|
518
|
+
</div>
|
|
519
|
+
</div>
|
|
520
|
+
|
|
521
|
+
<!-- 经停地 -->
|
|
522
|
+
<div class="section">
|
|
523
|
+
<div class="section-header">
|
|
524
|
+
<svg class="section-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
525
|
+
<circle cx="12" cy="12" r="10"/>
|
|
526
|
+
<polyline points="12 6 12 12 16 14"/>
|
|
527
|
+
</svg>
|
|
528
|
+
<span class="section-title">经停地</span>
|
|
529
|
+
</div>
|
|
530
|
+
<div class="tag-group">
|
|
531
|
+
<div class="tag"><span class="tag-text">武汉</span></div>
|
|
532
|
+
<div class="tag"><span class="tag-text">北京</span></div>
|
|
533
|
+
<div class="tag active"><span class="tag-text">上海</span></div>
|
|
534
|
+
<div class="tag active"><span class="tag-text">深圳-上海-武汉</span></div>
|
|
535
|
+
</div>
|
|
536
|
+
</div>
|
|
537
|
+
|
|
538
|
+
<!-- 目的地 -->
|
|
539
|
+
<div class="section">
|
|
540
|
+
<div class="section-header">
|
|
541
|
+
<svg class="section-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
542
|
+
<path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"/>
|
|
543
|
+
</svg>
|
|
544
|
+
<span class="section-title">目的地</span>
|
|
545
|
+
</div>
|
|
546
|
+
<div class="tag-group">
|
|
547
|
+
<div class="tag"><span class="tag-text">武汉</span></div>
|
|
548
|
+
<div class="tag"><span class="tag-text">北京</span></div>
|
|
549
|
+
<div class="tag active"><span class="tag-text">上海</span></div>
|
|
550
|
+
</div>
|
|
551
|
+
</div>
|
|
552
|
+
|
|
553
|
+
<!-- 附近点部 -->
|
|
554
|
+
<div class="section">
|
|
555
|
+
<div class="section-header">
|
|
556
|
+
<svg class="section-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
557
|
+
<path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/>
|
|
558
|
+
<circle cx="12" cy="10" r="3"/>
|
|
559
|
+
</svg>
|
|
560
|
+
<span class="section-title">附近点部</span>
|
|
561
|
+
</div>
|
|
562
|
+
<div class="nearby-list">
|
|
563
|
+
<div class="list-item">
|
|
564
|
+
<span class="list-item-title">黄田福围点部</span>
|
|
565
|
+
<span class="distance-tag">300米</span>
|
|
566
|
+
</div>
|
|
567
|
+
<div class="list-divider"></div>
|
|
568
|
+
<div class="list-item">
|
|
569
|
+
<span class="list-item-title">黄田后瑞点部</span>
|
|
570
|
+
<span class="distance-tag">300米</span>
|
|
571
|
+
</div>
|
|
572
|
+
<div class="list-divider"></div>
|
|
573
|
+
<div class="list-item">
|
|
574
|
+
<span class="list-item-title">机场分拨一区</span>
|
|
575
|
+
<span class="distance-tag">300米</span>
|
|
576
|
+
</div>
|
|
577
|
+
</div>
|
|
578
|
+
</div>
|
|
579
|
+
|
|
580
|
+
<!-- 历史记录 -->
|
|
581
|
+
<div class="section">
|
|
582
|
+
<div class="section-header">
|
|
583
|
+
<svg class="section-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
584
|
+
<polyline points="1 4 1 10 7 10"/>
|
|
585
|
+
<path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10"/>
|
|
586
|
+
</svg>
|
|
587
|
+
<span class="section-title">历史记录</span>
|
|
588
|
+
<button class="clear-btn">清除</button>
|
|
589
|
+
</div>
|
|
590
|
+
<div class="tag-group">
|
|
591
|
+
<div class="tag active">
|
|
592
|
+
<span class="tag-text">黄点福围点部</span>
|
|
593
|
+
<svg class="tag-close" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
594
|
+
<line x1="18" y1="6" x2="6" y2="18"/>
|
|
595
|
+
<line x1="6" y1="6" x2="18" y2="18"/>
|
|
596
|
+
</svg>
|
|
597
|
+
</div>
|
|
598
|
+
<div class="tag active">
|
|
599
|
+
<span class="tag-text">华强燕南点部</span>
|
|
600
|
+
<svg class="tag-close" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
601
|
+
<line x1="18" y1="6" x2="6" y2="18"/>
|
|
602
|
+
<line x1="6" y1="6" x2="18" y2="18"/>
|
|
603
|
+
</svg>
|
|
604
|
+
</div>
|
|
605
|
+
</div>
|
|
606
|
+
</div>
|
|
607
|
+
|
|
608
|
+
</div>
|
|
609
|
+
</div>
|
|
610
|
+
|
|
611
|
+
</body>
|
|
612
|
+
</html>
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
---
|
|
616
|
+
|
|
617
|
+
## 8. AI 生成检查清单
|
|
618
|
+
|
|
619
|
+
- [ ] 使用 `var(--color-*)` Token,无裸 Hex
|
|
620
|
+
- [ ] 圆角使用 4px(列表项)或 8px(标签)
|
|
621
|
+
- [ ] 无 `transition` / `animation`
|
|
622
|
+
- [ ] 图标使用 `<svg><use href="..."/></svg>`
|
|
623
|
+
- [ ] 所有可点击元素 `cursor: default`
|
|
624
|
+
- [ ] 双端响应式沙箱布局
|
|
625
|
+
|
|
626
|
+
---
|
|
627
|
+
|
|
628
|
+
**文档版本:** v1.0.0
|
|
629
|
+
**最后更新:** 2024-01-01
|
|
630
|
+
**状态:** 强制生效
|