@agile-team/wl-skills-kit 1.0.0

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 (112) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +328 -0
  3. package/bin/wl-skills.js +104 -0
  4. package/files/.github/copilot-instructions.md +211 -0
  5. package/files/.github/docs/SYS_MENU_INFO.md +247 -0
  6. package/files/.github/docs/menu-sync-design.md +265 -0
  7. package/files/.github/docs/use-skill.md +379 -0
  8. package/files/.github/docs/wl-skills-kit.md +266 -0
  9. package/files/.github/skills/api-contract/SKILL.md +247 -0
  10. package/files/.github/skills/convention-extract/SKILL.md +355 -0
  11. package/files/.github/skills/menu-sync/SKILL.md +255 -0
  12. package/files/.github/skills/menu-sync/env/guide.md +73 -0
  13. package/files/.github/skills/page-codegen/SKILL.md +825 -0
  14. package/files/.github/skills/page-codegen/TPL-CHANGE-HISTORY.md +281 -0
  15. package/files/.github/skills/page-codegen/TPL-DETAIL-TABS.md +1112 -0
  16. package/files/.github/skills/page-codegen/TPL-DRIVEN.md +124 -0
  17. package/files/.github/skills/page-codegen/TPL-FORM-ROUTE.md +441 -0
  18. package/files/.github/skills/page-codegen/TPL-LIST.md +196 -0
  19. package/files/.github/skills/page-codegen/TPL-MASTER-DETAIL.md +153 -0
  20. package/files/.github/skills/page-codegen/TPL-OPERATION-STATION.md +442 -0
  21. package/files/.github/skills/page-codegen/TPL-RECORD-FORM.md +376 -0
  22. package/files/.github/skills/page-codegen/TPL-TREE-LIST.md +191 -0
  23. package/files/.github/skills/prototype-scan/SKILL.md +414 -0
  24. package/files/demo/README.md +44 -0
  25. package/files/demo/produce/aiflow/mmwr-customer-apply-add/api.md +54 -0
  26. package/files/demo/produce/aiflow/mmwr-customer-apply-add/data.ts +346 -0
  27. package/files/demo/produce/aiflow/mmwr-customer-apply-add/index.scss +1 -0
  28. package/files/demo/produce/aiflow/mmwr-customer-apply-add/index.vue +28 -0
  29. package/files/demo/produce/aiflow/mmwr-customer-apply-add-form/data.ts +115 -0
  30. package/files/demo/produce/aiflow/mmwr-customer-apply-add-form/index.scss +44 -0
  31. package/files/demo/produce/aiflow/mmwr-customer-apply-add-form/index.vue +43 -0
  32. package/files/demo/produce/aiflow/mmwr-customer-apply-change/data.ts +338 -0
  33. package/files/demo/produce/aiflow/mmwr-customer-apply-change/index.scss +1 -0
  34. package/files/demo/produce/aiflow/mmwr-customer-apply-change/index.vue +28 -0
  35. package/files/demo/produce/aiflow/mmwr-customer-apply-change-form/data.ts +115 -0
  36. package/files/demo/produce/aiflow/mmwr-customer-apply-change-form/index.scss +44 -0
  37. package/files/demo/produce/aiflow/mmwr-customer-apply-change-form/index.vue +43 -0
  38. package/files/demo/produce/aiflow/mmwr-customer-apply-change-history/data.ts +196 -0
  39. package/files/demo/produce/aiflow/mmwr-customer-apply-change-history/index.scss +150 -0
  40. package/files/demo/produce/aiflow/mmwr-customer-apply-change-history/index.vue +79 -0
  41. package/files/demo/produce/aiflow/mmwr-customer-archive/api.md +88 -0
  42. package/files/demo/produce/aiflow/mmwr-customer-archive/data.ts +601 -0
  43. package/files/demo/produce/aiflow/mmwr-customer-archive/index.scss +1 -0
  44. package/files/demo/produce/aiflow/mmwr-customer-archive/index.vue +64 -0
  45. package/files/demo/produce/aiflow/mmwr-customer-detail/api.md +67 -0
  46. package/files/demo/produce/aiflow/mmwr-customer-detail/data.ts +286 -0
  47. package/files/demo/produce/aiflow/mmwr-customer-detail/index.scss +139 -0
  48. package/files/demo/produce/aiflow/mmwr-customer-detail/index.vue +318 -0
  49. package/files/demo/produce/aiflow/mmwr-temp-customer-archive/api.md +98 -0
  50. package/files/demo/produce/aiflow/mmwr-temp-customer-archive/data.ts +543 -0
  51. package/files/demo/produce/aiflow/mmwr-temp-customer-archive/index.scss +1 -0
  52. package/files/demo/produce/aiflow/mmwr-temp-customer-archive/index.vue +52 -0
  53. package/files/demo/sale/demo/add-demo/data.ts +518 -0
  54. package/files/demo/sale/demo/add-demo/index.scss +207 -0
  55. package/files/demo/sale/demo/add-demo/index.vue +167 -0
  56. package/files/demo/sale/demo/billet-flame-cut-plan/data.ts +524 -0
  57. package/files/demo/sale/demo/billet-flame-cut-plan/index.scss +155 -0
  58. package/files/demo/sale/demo/billet-flame-cut-plan/index.vue +117 -0
  59. package/files/demo/sale/demo/domestic-trade-order/data.ts +308 -0
  60. package/files/demo/sale/demo/domestic-trade-order/index.scss +99 -0
  61. package/files/demo/sale/demo/domestic-trade-order/index.vue +77 -0
  62. package/files/demo/sale/demo/heat-batch-return/data.ts +367 -0
  63. package/files/demo/sale/demo/heat-batch-return/index.scss +100 -0
  64. package/files/demo/sale/demo/heat-batch-return/index.vue +170 -0
  65. package/files/demo/sale/demo/heat-batch-return/meltDialog.vue +320 -0
  66. package/files/demo/sale/demo/metallurgical-spec/data.ts +825 -0
  67. package/files/demo/sale/demo/metallurgical-spec/index.scss +264 -0
  68. package/files/demo/sale/demo/metallurgical-spec/index.vue +309 -0
  69. package/files/docs/jh-date-range.md +257 -0
  70. package/files/docs/jh-date.md +222 -0
  71. package/files/docs/jh-dept-picker.md +190 -0
  72. package/files/docs/jh-drag-row.md +590 -0
  73. package/files/docs/jh-file-upload.md +216 -0
  74. package/files/docs/jh-pagination.md +505 -0
  75. package/files/docs/jh-picker.md +218 -0
  76. package/files/docs/jh-select.md +148 -0
  77. package/files/docs/jh-text.md +248 -0
  78. package/files/docs/jh-user-picker.md +197 -0
  79. package/files/docs/page-query-hook-best-practices.md +362 -0
  80. package/files/docs/request.md +925 -0
  81. package/files/src/components/global/C_ParentView/index.vue +3 -0
  82. package/files/src/components/global/C_RightToolbar/index.vue +459 -0
  83. package/files/src/components/global/C_Splitter/index.vue +195 -0
  84. package/files/src/components/global/C_SvgIcon/index.vue +61 -0
  85. package/files/src/components/global/C_SvgIcon/svgicon.js +10 -0
  86. package/files/src/components/global/C_TagStatus/README.md +264 -0
  87. package/files/src/components/global/C_TagStatus/config.ts +192 -0
  88. package/files/src/components/global/C_TagStatus/index.vue +127 -0
  89. package/files/src/components/global/C_TagStatus/types.ts +64 -0
  90. package/files/src/components/global/C_Tree/README.md +153 -0
  91. package/files/src/components/global/C_Tree/index.scss +42 -0
  92. package/files/src/components/global/C_Tree/index.vue +119 -0
  93. package/files/src/components/global/C_Tree/types.ts +59 -0
  94. package/files/src/components/local/c_formModal/README.md +235 -0
  95. package/files/src/components/local/c_formModal/data.ts +95 -0
  96. package/files/src/components/local/c_formModal/index.scss +8 -0
  97. package/files/src/components/local/c_formModal/index.vue +107 -0
  98. package/files/src/components/local/c_formSections/README.md +496 -0
  99. package/files/src/components/local/c_formSections/data.ts +175 -0
  100. package/files/src/components/local/c_formSections/index.scss +280 -0
  101. package/files/src/components/local/c_formSections/index.vue +429 -0
  102. package/files/src/components/local/c_listModal/data.ts +41 -0
  103. package/files/src/components/local/c_listModal/index.vue +136 -0
  104. package/files/src/components/local/c_spliterTitle/index.scss +25 -0
  105. package/files/src/components/local/c_spliterTitle/index.vue +21 -0
  106. package/files/src/components/remote/AGGrid/README.md +530 -0
  107. package/files/src/components/remote/BaseForm/README.md +508 -0
  108. package/files/src/components/remote/BaseQuery/README.md +865 -0
  109. package/files/src/components/remote/BaseTable/README.md +941 -0
  110. package/files/src/components/remote/BaseToolbar/README.md +496 -0
  111. package/files/src/types/page.ts +24 -0
  112. package/package.json +31 -0
@@ -0,0 +1,318 @@
1
+ <template>
2
+ <div class="app-container temp-customer-detail" v-loading="loading">
3
+ <!-- 标题栏 -->
4
+ <div class="title-bar">
5
+ <span class="customer-name">{{ form.customerName }}</span>
6
+ <el-tag type="warning" effect="plain" size="small" class="status-tag">
7
+ {{ form.convertStatus || "未转换" }}
8
+ </el-tag>
9
+ </div>
10
+
11
+ <!-- 工具栏 -->
12
+ <div class="page-toolbar">
13
+ <el-button type="primary" @click="handleSave">保存</el-button>
14
+ <el-button @click="handleTempSave">暂存</el-button>
15
+ <el-button type="success" plain @click="handleConvert">转化</el-button>
16
+ <el-button plain @click="handleAssign">分配</el-button>
17
+ <el-button plain @click="handleClaim">认领</el-button>
18
+ <el-button type="warning" @click="handleRecycle">回收</el-button>
19
+ <el-button type="danger" plain @click="handleReturn">退回</el-button>
20
+ </div>
21
+
22
+ <el-form :model="form" label-position="top" class="detail-form">
23
+ <!-- 头部信息网格 -->
24
+ <div class="header-info">
25
+ <el-row :gutter="12">
26
+ <el-col :span="4">
27
+ <el-form-item label="临时编号">
28
+ <el-input v-model="form.tempCode" disabled />
29
+ </el-form-item>
30
+ </el-col>
31
+ <el-col :span="4">
32
+ <el-form-item label="正式编号">
33
+ <el-input v-model="form.formalCode" disabled />
34
+ </el-form-item>
35
+ </el-col>
36
+ <el-col :span="4">
37
+ <el-form-item label="*使用组织">
38
+ <el-select v-model="form.useOrg" placeholder="请选择" style="width:100%">
39
+ <el-option v-for="o in OPTS.useOrg" :key="o.value" :label="o.label" :value="o.value" />
40
+ </el-select>
41
+ </el-form-item>
42
+ </el-col>
43
+ <el-col :span="4">
44
+ <el-form-item label="*产品线">
45
+ <el-select v-model="form.product" placeholder="请选择" style="width:100%">
46
+ <el-option v-for="o in OPTS.product" :key="o.value" :label="o.label" :value="o.value" />
47
+ </el-select>
48
+ </el-form-item>
49
+ </el-col>
50
+ <el-col :span="4">
51
+ <el-form-item label="最后跟进人">
52
+ <el-input v-model="form.lastFollowPerson" disabled />
53
+ </el-form-item>
54
+ </el-col>
55
+ <el-col :span="4">
56
+ <el-form-item label="最后跟进时间">
57
+ <el-date-picker v-model="form.lastFollowDate" type="date" placeholder="请选择"
58
+ value-format="YYYY-MM-DD" style="width:100%" />
59
+ </el-form-item>
60
+ </el-col>
61
+ </el-row>
62
+ <el-row :gutter="12">
63
+ <el-col :span="4">
64
+ <el-form-item label="创建人">
65
+ <el-input v-model="form.creator" disabled />
66
+ </el-form-item>
67
+ </el-col>
68
+ <el-col :span="4">
69
+ <el-form-item label="创建时间">
70
+ <el-input v-model="form.createTime" disabled />
71
+ </el-form-item>
72
+ </el-col>
73
+ </el-row>
74
+ </div>
75
+
76
+ <!-- 基本信息 -->
77
+ <div class="form-section">
78
+ <div class="section-title">基本信息</div>
79
+ <el-row :gutter="12">
80
+ <el-col :span="16">
81
+ <el-row :gutter="12">
82
+ <el-col :span="14">
83
+ <el-form-item label="*客户名称">
84
+ <div class="name-field">
85
+ <el-input v-model="form.customerName" placeholder="请输入客户名称" />
86
+ <span class="name-badge">CN</span>
87
+ </div>
88
+ </el-form-item>
89
+ </el-col>
90
+ <el-col :span="5">
91
+ <el-form-item label="*客户类型">
92
+ <el-select v-model="form.customerType" placeholder="请选择" style="width:100%">
93
+ <el-option v-for="o in OPTS.customerType" :key="o.value" :label="o.label" :value="o.value" />
94
+ </el-select>
95
+ </el-form-item>
96
+ </el-col>
97
+ <el-col :span="5">
98
+ <el-form-item label="*客户等级">
99
+ <el-select v-model="form.customerLevel" placeholder="请选择" style="width:100%">
100
+ <el-option v-for="o in OPTS.customerLevel" :key="o.value" :label="o.label" :value="o.value" />
101
+ </el-select>
102
+ </el-form-item>
103
+ </el-col>
104
+ </el-row>
105
+ </el-col>
106
+ <el-col :span="8">
107
+ <el-form-item label="营业执照">
108
+ <div class="upload-box">
109
+ <div class="upload-placeholder">
110
+ <div class="upload-icon">+</div>
111
+ <div class="upload-text">点击/拖拽上传</div>
112
+ </div>
113
+ </div>
114
+ </el-form-item>
115
+ </el-col>
116
+ </el-row>
117
+ </div>
118
+
119
+ <!-- 联系信息 -->
120
+ <div class="form-section">
121
+ <div class="section-title">联系信息</div>
122
+ <el-row :gutter="12">
123
+ <el-col :span="4">
124
+ <el-form-item label="*联系人">
125
+ <el-input v-model="form.contactPerson" placeholder="请输入" />
126
+ </el-form-item>
127
+ </el-col>
128
+ <el-col :span="4">
129
+ <el-form-item label="*手机号">
130
+ <el-input v-model="form.contactPhone" placeholder="请输入" />
131
+ </el-form-item>
132
+ </el-col>
133
+ <el-col :span="4">
134
+ <el-form-item label="*公司电话">
135
+ <el-input v-model="form.companyPhone1" placeholder="请输入" />
136
+ </el-form-item>
137
+ </el-col>
138
+ <el-col :span="4">
139
+ <el-form-item label="*公司电话">
140
+ <el-input v-model="form.companyPhone2" placeholder="请输入" />
141
+ </el-form-item>
142
+ </el-col>
143
+ <el-col :span="8">
144
+ <el-form-item label="公司传真">
145
+ <el-input v-model="form.companyFax" placeholder="请输入" />
146
+ </el-form-item>
147
+ </el-col>
148
+ </el-row>
149
+ <el-row :gutter="12">
150
+ <el-col :span="4">
151
+ <el-form-item label="*职位">
152
+ <el-input v-model="form.position" placeholder="请输入" />
153
+ </el-form-item>
154
+ </el-col>
155
+ <el-col :span="8">
156
+ <el-form-item label="Email">
157
+ <el-input v-model="form.email" placeholder="请输入" />
158
+ </el-form-item>
159
+ </el-col>
160
+ <el-col :span="12">
161
+ <el-form-item label="*地址">
162
+ <el-input v-model="form.address" placeholder="请输入" />
163
+ </el-form-item>
164
+ </el-col>
165
+ </el-row>
166
+ </div>
167
+
168
+ <!-- 送货信息 -->
169
+ <div class="form-section">
170
+ <div class="section-title">送货信息</div>
171
+ <el-row :gutter="12">
172
+ <el-col :span="4">
173
+ <el-form-item label="收货人">
174
+ <el-input v-model="form.consignee" placeholder="请输入" />
175
+ </el-form-item>
176
+ </el-col>
177
+ <el-col :span="8">
178
+ <el-form-item label="收货联系方式">
179
+ <el-input v-model="form.deliveryContact" placeholder="请输入" />
180
+ </el-form-item>
181
+ </el-col>
182
+ <el-col :span="12">
183
+ <el-form-item label="收货地址">
184
+ <el-input v-model="form.deliveryAddress" placeholder="请输入" />
185
+ </el-form-item>
186
+ </el-col>
187
+ </el-row>
188
+ </div>
189
+
190
+ <!-- 银行信息 -->
191
+ <div class="form-section">
192
+ <div class="section-title">银行信息</div>
193
+ <el-row :gutter="12">
194
+ <el-col :span="4">
195
+ <el-form-item label="币别">
196
+ <el-select v-model="form.currency" style="width:100%">
197
+ <el-option v-for="o in OPTS.currency" :key="o.value" :label="o.label" :value="o.value" />
198
+ </el-select>
199
+ </el-form-item>
200
+ </el-col>
201
+ <el-col :span="4">
202
+ <el-form-item label="销项税率">
203
+ <el-input v-model="form.taxRate" placeholder="--" />
204
+ </el-form-item>
205
+ </el-col>
206
+ </el-row>
207
+ <el-row :gutter="12">
208
+ <el-col :span="8">
209
+ <el-form-item label="银行类型">
210
+ <el-input v-model="form.bankType" placeholder="请输入" />
211
+ </el-form-item>
212
+ </el-col>
213
+ <el-col :span="8">
214
+ <el-form-item label="银行账户名称">
215
+ <el-input v-model="form.bankAccountName" placeholder="请输入" />
216
+ </el-form-item>
217
+ </el-col>
218
+ </el-row>
219
+ <el-row :gutter="12">
220
+ <el-col :span="8">
221
+ <el-form-item label="银行账户">
222
+ <el-input v-model="form.bankAccount" placeholder="请输入" />
223
+ </el-form-item>
224
+ </el-col>
225
+ <el-col :span="16">
226
+ <el-form-item label="银行网点">
227
+ <el-input v-model="form.bankBranch" placeholder="请输入" />
228
+ </el-form-item>
229
+ </el-col>
230
+ </el-row>
231
+ </div>
232
+
233
+ <!-- 发票信息 -->
234
+ <div class="form-section">
235
+ <div class="section-title">发票信息</div>
236
+ <el-row :gutter="12">
237
+ <el-col :span="6">
238
+ <el-form-item label="发票抬头">
239
+ <el-input v-model="form.invoiceHeader" placeholder="请输入" />
240
+ </el-form-item>
241
+ </el-col>
242
+ <el-col :span="6">
243
+ <el-form-item label="税号">
244
+ <el-input v-model="form.taxNumber" placeholder="请输入" />
245
+ </el-form-item>
246
+ </el-col>
247
+ <el-col :span="6">
248
+ <el-form-item label="收票邮箱">
249
+ <el-input v-model="form.invoiceEmail" placeholder="请输入" />
250
+ </el-form-item>
251
+ </el-col>
252
+ <el-col :span="6">
253
+ <el-form-item label="电话">
254
+ <el-input v-model="form.invoicePhone" placeholder="请输入" />
255
+ </el-form-item>
256
+ </el-col>
257
+ </el-row>
258
+ <el-row :gutter="12">
259
+ <el-col :span="12">
260
+ <el-form-item label="收票地址">
261
+ <el-input v-model="form.invoiceAddress" placeholder="请输入" />
262
+ </el-form-item>
263
+ </el-col>
264
+ </el-row>
265
+ </div>
266
+
267
+ <!-- 跟进记录 -->
268
+ <div class="form-section">
269
+ <div class="section-title">跟进记录</div>
270
+ <el-table :data="form.followRecords" border size="small">
271
+ <el-table-column type="index" label="序号" width="55" align="center" />
272
+ <el-table-column label="使用组织" prop="useOrg" min-width="120" />
273
+ <el-table-column label="产品线" prop="product" width="80" />
274
+ <el-table-column label="类型" prop="type" width="90" />
275
+ <el-table-column label="活动日期" prop="activityDate" width="105" />
276
+ <el-table-column label="活动单号" prop="activityCode" min-width="150" />
277
+ <el-table-column label="活动标题" prop="activityTitle" min-width="150" />
278
+ <el-table-column label="活动内容" prop="activityContent" min-width="100" />
279
+ <el-table-column label="附件" prop="attachment" width="90">
280
+ <template #default="{ row }">
281
+ <a v-if="row.attachment" href="javascript:void(0)" class="link-text">{{ row.attachment }}</a>
282
+ </template>
283
+ </el-table-column>
284
+ <el-table-column label="创建时间" prop="createTime" width="140" />
285
+ <el-table-column label="操作" width="100" fixed="right">
286
+ <template #default="{ $index }">
287
+ <el-button type="primary" link size="small">编辑</el-button>
288
+ <el-button type="danger" link size="small" @click="removeFollowRecord($index)">删除</el-button>
289
+ </template>
290
+ </el-table-column>
291
+ </el-table>
292
+ <div class="add-row-btn" @click="addFollowRecord">+ 新增行</div>
293
+ </div>
294
+ </el-form>
295
+ </div>
296
+ </template>
297
+
298
+ <script setup lang="ts">
299
+ import { useRoute } from "vue-router";
300
+ import { useTempCustomerDetail, OPTS } from "./data";
301
+
302
+ const route = useRoute();
303
+ const {
304
+ loading, form,
305
+ loadDetail, handleSave, handleTempSave,
306
+ handleConvert, handleAssign, handleClaim, handleRecycle, handleReturn,
307
+ addFollowRecord, removeFollowRecord
308
+ } = useTempCustomerDetail();
309
+
310
+ onMounted(() => {
311
+ const id = route.query.id as string;
312
+ if (id) loadDetail(id);
313
+ });
314
+ </script>
315
+
316
+ <style scoped lang="scss">
317
+ @import "./index.scss";
318
+ </style>
@@ -0,0 +1,98 @@
1
+ # 临时客户档案 接口约定
2
+
3
+ > 服务: sale | 资源: tempCustomerArchive
4
+
5
+ ## 1. 分页查询
6
+
7
+ ```
8
+ POST /sale/tempCustomerArchive/list
9
+ ```
10
+
11
+ ### Request
12
+
13
+ | 字段 | 类型 | 必填 | 说明 |
14
+ | ------------------- | ------ | ---- | --------------------------------- |
15
+ | customerName | string | | 客户名称(模糊) |
16
+ | tempCustomerCode | string | | 临时客户编号 |
17
+ | customerCode | string | | 客户编码 |
18
+ | customerStatus | string | | 客户状态(dict: customer_status) |
19
+ | applicant | string | | 申请人 |
20
+ | conversionStatus | string | | 转换状态(dict: conversion_status) |
21
+ | createDateStart | string | | 建立日期-起(YYYY-MM-DD) |
22
+ | createDateEnd | string | | 建立日期-止(YYYY-MM-DD) |
23
+ | lastFollowDateStart | string | | 最后跟进-起(YYYY-MM-DD) |
24
+ | lastFollowDateEnd | string | | 最后跟进-止(YYYY-MM-DD) |
25
+ | current | number | 是 | 当前页 |
26
+ | size | number | 是 | 每页条数 |
27
+
28
+ ### Response(35 列)
29
+
30
+ | 字段 | 类型 | 说明 |
31
+ | ------------------ | ------ | ----------------------------------- |
32
+ | customerCode | string | 客户编号 |
33
+ | useOrg | string | 使用组织 |
34
+ | productLine | string | 产品别(dict: product_line) |
35
+ | applyReason | string | 申请原因 |
36
+ | salesPerson | string | 业务员 |
37
+ | salesDept | string | 业务部门 |
38
+ | verificationStatus | string | 核实状态(dict: verification_status) |
39
+ | createBy | string | 创建人 |
40
+ | createTime | string | 创建时间 |
41
+ | lastFollower | string | 最近跟进人 |
42
+ | lastFollowDate | string | 最近跟进日期 |
43
+ | contactName | string | 联系人 |
44
+ | contactPosition | string | 职位 |
45
+ | phone | string | 手机号 |
46
+ | companyPhone | string | 公司电话 |
47
+ | email | string | E-mail |
48
+ | fax | string | 传真 |
49
+ | address | string | 地址 |
50
+ | receiverName | string | 收货人 |
51
+ | receiverPhone | string | 收货联系方式 |
52
+ | receiverAddress | string | 收货地址 |
53
+ | currency | string | 币别 |
54
+ | salesTaxRate | string | 销项税率 |
55
+ | bankAccountName | string | 银行账户名称 |
56
+ | bankType | string | 银行类别 |
57
+ | bankBranch | string | 银行网点 |
58
+ | bankAccount | string | 银行账户 |
59
+ | invoiceTitle | string | 发票抬头 |
60
+ | taxNo | string | 税号 |
61
+ | invoiceEmail | string | 收票邮箱 |
62
+ | invoicePhone | string | 电话 |
63
+ | invoiceAddress | string | 收票地址 |
64
+ | conversionStatus | string | 转化状态(dict: conversion_status) |
65
+ | customerStatus | string | 客户状态(dict: customer_status) |
66
+
67
+ ---
68
+
69
+ ## 2. 删除
70
+
71
+ ```
72
+ DELETE /sale/tempCustomerArchive/remove?id={id}
73
+ ```
74
+
75
+ ## 3. 详情
76
+
77
+ ```
78
+ GET /sale/tempCustomerArchive/getById?id={id}
79
+ ```
80
+
81
+ ## 4. 导出
82
+
83
+ ```
84
+ GET /sale/tempCustomerArchive/export
85
+ ```
86
+
87
+ ## 5. 业务操作
88
+
89
+ ```
90
+ POST /sale/tempCustomerArchive/assign — 分配
91
+ POST /sale/tempCustomerArchive/reclaim — 回收
92
+ POST /sale/tempCustomerArchive/convert — 转化
93
+ POST /sale/tempCustomerArchive/claim — 认领
94
+ POST /sale/tempCustomerArchive/returnBack — 退回
95
+ POST /sale/tempCustomerArchive/cancel — 作废
96
+ ```
97
+
98
+ Request: `{ ids: string[] }`