@agile-team/wl-skills-kit 2.11.0 → 2.11.2
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/CHANGELOG.md +47 -9
- package/README.md +41 -23
- package/bin/wl-skills.js +133 -39
- package/docs/agent-pipeline-runbook.md +3 -3
- package/docs//345/205/250/347/233/230/345/210/206/346/236/220/344/270/216/346/231/272/350/203/275/344/275/223/346/220/255/345/273/272/346/214/207/345/215/227.md +4 -4
- package/files/.wl-skills/copilot-instructions-full.md +233 -233
- package/files/.wl-skills/docs/jh-pagination.md +505 -505
- package/files/.wl-skills/docs/page-spec-schema.md +109 -0
- package/files/.wl-skills/docs/request.md +940 -940
- package/files/.wl-skills/guides/architecture.md +1 -1
- package/files/.wl-skills/skills/core/convention-audit/SKILL.md +3 -3
- package/files/.wl-skills/skills/core/page-codegen/SKILL.md +10 -4
- package/files/.wl-skills/skills/core/spec-doc-parse/SKILL.md +332 -332
- package/files/.wl-skills/skills/core/spec-doc-parse/USAGE.md +97 -97
- package/files/.wl-skills/skills/sync/permission-sync/USAGE.md +107 -107
- package/files/.wl-skills/src/components/global/C_ParentView/index.vue +3 -3
- package/files/.wl-skills/src/components/global/C_RightToolbar/index.vue +157 -157
- package/files/.wl-skills/src/components/global/C_SvgIcon/index.vue +31 -31
- package/files/.wl-skills/src/components/global/C_SvgIcon/svgicon.js +10 -10
- package/files/.wl-skills/src/components/global/C_TagStatus/README.md +264 -264
- package/files/.wl-skills/src/components/global/C_TagStatus/config.ts +192 -192
- package/files/.wl-skills/src/components/global/C_TagStatus/index.vue +106 -106
- package/files/.wl-skills/src/components/global/C_TagStatus/types.ts +64 -64
- package/files/.wl-skills/src/components/global/C_Tree/README.md +153 -153
- package/files/.wl-skills/src/components/global/C_Tree/index.scss +42 -42
- package/files/.wl-skills/src/components/global/C_Tree/index.vue +78 -78
- package/files/.wl-skills/src/components/global/C_Tree/types.ts +59 -59
- package/files/.wl-skills/src/components/local/c_formModal/README.md +235 -235
- package/files/.wl-skills/src/components/local/c_formModal/data.ts +95 -95
- package/files/.wl-skills/src/components/local/c_formModal/index.scss +8 -8
- package/files/.wl-skills/src/components/local/c_formModal/index.vue +107 -107
- package/files/.wl-skills/src/components/local/c_formSections/data.ts +175 -175
- package/files/.wl-skills/src/components/local/c_formSections/index.scss +280 -280
- package/files/.wl-skills/src/components/local/c_formSections/index.vue +429 -429
- package/files/.wl-skills/src/components/local/c_listModal/data.ts +41 -41
- package/files/.wl-skills/src/components/local/c_listModal/index.vue +136 -136
- package/files/.wl-skills/src/components/local/c_spliterTitle/index.scss +25 -25
- package/files/.wl-skills/src/components/local/c_spliterTitle/index.vue +21 -21
- package/files/.wl-skills/src/components/remote/AGGrid/README.md +530 -530
- package/files/.wl-skills/src/components/remote/BaseForm/README.md +508 -508
- package/files/.wl-skills/src/components/remote/BaseQuery/README.md +865 -865
- package/files/.wl-skills/src/components/remote/BaseTable/README.md +941 -941
- package/files/.wl-skills/src/components/remote/BaseToolbar/README.md +496 -496
- package/files/.wl-skills/src/types/page.ts +24 -24
- package/files/.wl-skills/standards/04-coding-basics.md +39 -1
- package/files/.wl-skills/standards/09-typescript.md +26 -3
- package/files/.wl-skills/standards/14-layout-containers.md +6 -6
- package/files/.wl-skills/standards/index.md +2 -2
- package/files/.wl-skills/templates/README.md +44 -44
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-add/api.md +54 -54
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-add/data.ts +346 -346
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-add/index.scss +1 -1
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-add/index.vue +28 -28
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-add-form/data.ts +115 -115
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-add-form/index.scss +44 -44
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-add-form/index.vue +43 -43
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-change/data.ts +338 -338
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-change/index.scss +1 -1
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-change/index.vue +28 -28
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-change-form/data.ts +115 -115
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-change-form/index.scss +44 -44
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-apply-change-form/index.vue +43 -43
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-archive/api.md +88 -88
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-archive/data.ts +601 -601
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-archive/index.scss +1 -1
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-archive/index.vue +64 -64
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-detail/api.md +67 -67
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-detail/data.ts +286 -286
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-detail/index.scss +139 -139
- package/files/.wl-skills/templates/produce/aiflow/mmwr-customer-detail/index.vue +318 -318
- package/files/.wl-skills/templates/produce/aiflow/mmwr-temp-customer-archive/api.md +98 -98
- package/files/.wl-skills/templates/produce/aiflow/mmwr-temp-customer-archive/data.ts +543 -543
- package/files/.wl-skills/templates/produce/aiflow/mmwr-temp-customer-archive/index.scss +1 -1
- package/files/.wl-skills/templates/produce/aiflow/mmwr-temp-customer-archive/index.vue +52 -52
- package/files/.wl-skills/templates/sale/demo/add-demo/data.ts +518 -518
- package/files/.wl-skills/templates/sale/demo/billet-flame-cut-plan/data.ts +524 -524
- package/files/.wl-skills/templates/sale/demo/billet-flame-cut-plan/index.scss +154 -154
- package/files/.wl-skills/templates/sale/demo/billet-flame-cut-plan/index.vue +117 -117
- package/files/.wl-skills/templates/sale/demo/domestic-trade-order/data.ts +308 -308
- package/files/.wl-skills/templates/sale/demo/domestic-trade-order/index.scss +99 -99
- package/files/.wl-skills/templates/sale/demo/domestic-trade-order/index.vue +77 -77
- package/files/.wl-skills/templates/sale/demo/heat-batch-return/data.ts +367 -367
- package/files/.wl-skills/templates/sale/demo/heat-batch-return/index.scss +100 -100
- package/files/.wl-skills/templates/sale/demo/heat-batch-return/index.vue +170 -170
- package/files/.wl-skills/templates/sale/demo/heat-batch-return/meltDialog.vue +320 -320
- package/files/.wl-skills/templates/sale/demo/metallurgical-spec/data.ts +824 -824
- package/lib/ast-rules.js +304 -9
- package/lib/page-spec.js +588 -0
- package/lib/safe-fix.js +115 -0
- package/mcp/config.js +47 -47
- package/mcp/registry.js +6 -1
- package/mcp/tools/projectTools.js +19 -1
- package/package.json +16 -11
- package/files/.wl-skills/src/components/global/C_Splitter/index.scss +0 -61
- package/files/.wl-skills/src/components/global/C_Splitter/index.vue +0 -149
|
@@ -1 +1 @@
|
|
|
1
|
-
// 客户档案 - 页面样式
|
|
1
|
+
// 客户档案 - 页面样式
|
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="app-container app-page-container">
|
|
3
|
-
<BaseQuery
|
|
4
|
-
:form="queryParam"
|
|
5
|
-
:items="queryItems"
|
|
6
|
-
@select="select"
|
|
7
|
-
@reset="select"
|
|
8
|
-
/>
|
|
9
|
-
<BaseToolbar :items="toolbars" />
|
|
10
|
-
<el-tabs v-model="activeView">
|
|
11
|
-
<el-tab-pane label="管理视角" name="management">
|
|
12
|
-
<BaseTable
|
|
13
|
-
v-if="activeView === 'management'"
|
|
14
|
-
ref="tableRef"
|
|
15
|
-
:data="list"
|
|
16
|
-
:columns="mgmtCols"
|
|
17
|
-
showToolbar
|
|
18
|
-
/>
|
|
19
|
-
</el-tab-pane>
|
|
20
|
-
<el-tab-pane label="使用视角" name="usage">
|
|
21
|
-
<BaseTable
|
|
22
|
-
v-if="activeView === 'usage'"
|
|
23
|
-
ref="tableRef"
|
|
24
|
-
:data="list"
|
|
25
|
-
:columns="useCols"
|
|
26
|
-
showToolbar
|
|
27
|
-
/>
|
|
28
|
-
</el-tab-pane>
|
|
29
|
-
</el-tabs>
|
|
30
|
-
<jh-pagination
|
|
31
|
-
v-show="page.total && page.total > 0"
|
|
32
|
-
:total="page.total || 0"
|
|
33
|
-
v-model:currentPage="page.current"
|
|
34
|
-
v-model:pageSize="page.size"
|
|
35
|
-
@current-change="select"
|
|
36
|
-
@size-change="select"
|
|
37
|
-
/>
|
|
38
|
-
<c_formModal ref="editModalRef" v-bind="modalConfig" @ok="select" />
|
|
39
|
-
</div>
|
|
40
|
-
</template>
|
|
41
|
-
|
|
42
|
-
<script setup lang="ts">
|
|
43
|
-
import {
|
|
44
|
-
createPage,
|
|
45
|
-
modalConfig,
|
|
46
|
-
managementColumns,
|
|
47
|
-
usageColumns
|
|
48
|
-
} from "./data";
|
|
49
|
-
import c_formModal from "@/components/local/c_formModal/index.vue";
|
|
50
|
-
|
|
51
|
-
const editModalRef = ref();
|
|
52
|
-
const Page = createPage(editModalRef);
|
|
53
|
-
const { tableRef, page, queryParam, list, queryItems, toolbars, select } = Page;
|
|
54
|
-
|
|
55
|
-
const activeView = ref("management");
|
|
56
|
-
const mgmtCols = managementColumns();
|
|
57
|
-
const useCols = usageColumns();
|
|
58
|
-
|
|
59
|
-
onMounted(() => select());
|
|
60
|
-
</script>
|
|
61
|
-
|
|
62
|
-
<style scoped lang="scss">
|
|
63
|
-
@import "./index.scss";
|
|
64
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="app-container app-page-container">
|
|
3
|
+
<BaseQuery
|
|
4
|
+
:form="queryParam"
|
|
5
|
+
:items="queryItems"
|
|
6
|
+
@select="select"
|
|
7
|
+
@reset="select"
|
|
8
|
+
/>
|
|
9
|
+
<BaseToolbar :items="toolbars" />
|
|
10
|
+
<el-tabs v-model="activeView">
|
|
11
|
+
<el-tab-pane label="管理视角" name="management">
|
|
12
|
+
<BaseTable
|
|
13
|
+
v-if="activeView === 'management'"
|
|
14
|
+
ref="tableRef"
|
|
15
|
+
:data="list"
|
|
16
|
+
:columns="mgmtCols"
|
|
17
|
+
showToolbar
|
|
18
|
+
/>
|
|
19
|
+
</el-tab-pane>
|
|
20
|
+
<el-tab-pane label="使用视角" name="usage">
|
|
21
|
+
<BaseTable
|
|
22
|
+
v-if="activeView === 'usage'"
|
|
23
|
+
ref="tableRef"
|
|
24
|
+
:data="list"
|
|
25
|
+
:columns="useCols"
|
|
26
|
+
showToolbar
|
|
27
|
+
/>
|
|
28
|
+
</el-tab-pane>
|
|
29
|
+
</el-tabs>
|
|
30
|
+
<jh-pagination
|
|
31
|
+
v-show="page.total && page.total > 0"
|
|
32
|
+
:total="page.total || 0"
|
|
33
|
+
v-model:currentPage="page.current"
|
|
34
|
+
v-model:pageSize="page.size"
|
|
35
|
+
@current-change="select"
|
|
36
|
+
@size-change="select"
|
|
37
|
+
/>
|
|
38
|
+
<c_formModal ref="editModalRef" v-bind="modalConfig" @ok="select" />
|
|
39
|
+
</div>
|
|
40
|
+
</template>
|
|
41
|
+
|
|
42
|
+
<script setup lang="ts">
|
|
43
|
+
import {
|
|
44
|
+
createPage,
|
|
45
|
+
modalConfig,
|
|
46
|
+
managementColumns,
|
|
47
|
+
usageColumns
|
|
48
|
+
} from "./data";
|
|
49
|
+
import c_formModal from "@/components/local/c_formModal/index.vue";
|
|
50
|
+
|
|
51
|
+
const editModalRef = ref();
|
|
52
|
+
const Page = createPage(editModalRef);
|
|
53
|
+
const { tableRef, page, queryParam, list, queryItems, toolbars, select } = Page;
|
|
54
|
+
|
|
55
|
+
const activeView = ref("management");
|
|
56
|
+
const mgmtCols = managementColumns();
|
|
57
|
+
const useCols = usageColumns();
|
|
58
|
+
|
|
59
|
+
onMounted(() => select());
|
|
60
|
+
</script>
|
|
61
|
+
|
|
62
|
+
<style scoped lang="scss">
|
|
63
|
+
@import "./index.scss";
|
|
64
|
+
</style>
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
# 客户详情 接口约定
|
|
2
|
-
|
|
3
|
-
> 服务: sale | 资源: customerArchive
|
|
4
|
-
> 页面类型: 多 Tab 只读详情页(7 基础 Tab + 企业核实 + 6 扩展 Tab)
|
|
5
|
-
|
|
6
|
-
## 1. 获取客户详情
|
|
7
|
-
|
|
8
|
-
```
|
|
9
|
-
GET /sale/customerArchive/getById?id={id}
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
Response 结构同 [customer-apply-change/api.md](../customer-apply-change/api.md),
|
|
13
|
-
额外包含 `verificationInfo` 字段:
|
|
14
|
-
|
|
15
|
-
```json
|
|
16
|
-
{
|
|
17
|
-
"verificationInfo": {
|
|
18
|
-
"companyName": "string",
|
|
19
|
-
"legalPerson": "string",
|
|
20
|
-
"companyStatus": "string",
|
|
21
|
-
"creditCode": "string",
|
|
22
|
-
"registeredCapital": "string",
|
|
23
|
-
"establishDate": "string",
|
|
24
|
-
"companyType": "string",
|
|
25
|
-
"region": "string",
|
|
26
|
-
"registrationAuthority": "string",
|
|
27
|
-
"businessScope": "string"
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## 2. 企业核实确认
|
|
33
|
-
|
|
34
|
-
```
|
|
35
|
-
POST /sale/customerArchive/verify
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Request: `{ id: string }`
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## 3. 扩展 Tab 列表接口
|
|
43
|
-
|
|
44
|
-
所有接口均为 `GET` 请求,参数 `customerId={id}`,返回 `data: Array`。
|
|
45
|
-
|
|
46
|
-
| Tab | 接口路径 |
|
|
47
|
-
| ---------- | ----------------------------------------- |
|
|
48
|
-
| 不良记录 | `/sale/customerArchive/badRecord/list` |
|
|
49
|
-
| 里程碑事件 | `/sale/customerArchive/milestone/list` |
|
|
50
|
-
| 询单需求 | `/sale/customerArchive/inquiry/list` |
|
|
51
|
-
| 跟进记录 | `/sale/customerArchive/followUp/list` |
|
|
52
|
-
| 客诉记录 | `/sale/customerArchive/complaint/list` |
|
|
53
|
-
| 历史销量 | `/sale/customerArchive/historySales/list` |
|
|
54
|
-
|
|
55
|
-
### 各接口 Response 字段
|
|
56
|
-
|
|
57
|
-
**不良记录**: contractNo, badType, badInfo, createDate, status
|
|
58
|
-
|
|
59
|
-
**里程碑事件**: recordDate, milestoneType(首次接触/首次询单/首次合同), detail
|
|
60
|
-
|
|
61
|
-
**询单需求**: steelType, size, price, quantity, remark, tradeCondition, paymentMethod
|
|
62
|
-
|
|
63
|
-
**跟进记录**: activityDate, activityNo, activityTitle, activityContent, createBy
|
|
64
|
-
|
|
65
|
-
**客诉记录**: complaintDate, complaintNo, complaintSubject, handleContent, handleDate, handleBy
|
|
66
|
-
|
|
67
|
-
**历史销量记录**: steelGrade, spec, unit, orderQty, orderAmount, outboundQty, outboundAmount, settlementQty, settlementAmount
|
|
1
|
+
# 客户详情 接口约定
|
|
2
|
+
|
|
3
|
+
> 服务: sale | 资源: customerArchive
|
|
4
|
+
> 页面类型: 多 Tab 只读详情页(7 基础 Tab + 企业核实 + 6 扩展 Tab)
|
|
5
|
+
|
|
6
|
+
## 1. 获取客户详情
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
GET /sale/customerArchive/getById?id={id}
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Response 结构同 [customer-apply-change/api.md](../customer-apply-change/api.md),
|
|
13
|
+
额外包含 `verificationInfo` 字段:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"verificationInfo": {
|
|
18
|
+
"companyName": "string",
|
|
19
|
+
"legalPerson": "string",
|
|
20
|
+
"companyStatus": "string",
|
|
21
|
+
"creditCode": "string",
|
|
22
|
+
"registeredCapital": "string",
|
|
23
|
+
"establishDate": "string",
|
|
24
|
+
"companyType": "string",
|
|
25
|
+
"region": "string",
|
|
26
|
+
"registrationAuthority": "string",
|
|
27
|
+
"businessScope": "string"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 2. 企业核实确认
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
POST /sale/customerArchive/verify
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Request: `{ id: string }`
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 3. 扩展 Tab 列表接口
|
|
43
|
+
|
|
44
|
+
所有接口均为 `GET` 请求,参数 `customerId={id}`,返回 `data: Array`。
|
|
45
|
+
|
|
46
|
+
| Tab | 接口路径 |
|
|
47
|
+
| ---------- | ----------------------------------------- |
|
|
48
|
+
| 不良记录 | `/sale/customerArchive/badRecord/list` |
|
|
49
|
+
| 里程碑事件 | `/sale/customerArchive/milestone/list` |
|
|
50
|
+
| 询单需求 | `/sale/customerArchive/inquiry/list` |
|
|
51
|
+
| 跟进记录 | `/sale/customerArchive/followUp/list` |
|
|
52
|
+
| 客诉记录 | `/sale/customerArchive/complaint/list` |
|
|
53
|
+
| 历史销量 | `/sale/customerArchive/historySales/list` |
|
|
54
|
+
|
|
55
|
+
### 各接口 Response 字段
|
|
56
|
+
|
|
57
|
+
**不良记录**: contractNo, badType, badInfo, createDate, status
|
|
58
|
+
|
|
59
|
+
**里程碑事件**: recordDate, milestoneType(首次接触/首次询单/首次合同), detail
|
|
60
|
+
|
|
61
|
+
**询单需求**: steelType, size, price, quantity, remark, tradeCondition, paymentMethod
|
|
62
|
+
|
|
63
|
+
**跟进记录**: activityDate, activityNo, activityTitle, activityContent, createBy
|
|
64
|
+
|
|
65
|
+
**客诉记录**: complaintDate, complaintNo, complaintSubject, handleContent, handleDate, handleBy
|
|
66
|
+
|
|
67
|
+
**历史销量记录**: steelGrade, spec, unit, orderQty, orderAmount, outboundQty, outboundAmount, settlementQty, settlementAmount
|