lw-cdp-ui 1.2.48 → 1.2.49

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 (88) hide show
  1. package/package.json +1 -1
  2. package/dist/assets/images/empty.jpg +0 -0
  3. package/dist/assets/images/login.svg +0 -558
  4. package/dist/assets/images/logo.jpg +0 -0
  5. package/dist/assets/images/logo.svg +0 -78
  6. package/dist/assets/images/logo1.svg +0 -86
  7. package/dist/assets/images/register.svg +0 -351
  8. package/dist/components/lwCronSelect/index.vue +0 -218
  9. package/dist/components/lwFlow/components/lfControl.vue +0 -126
  10. package/dist/components/lwFlow/components/lfNodePanel.vue +0 -98
  11. package/dist/components/lwFlow/config/dagre.js +0 -279
  12. package/dist/components/lwFlow/config/nodesList.js +0 -243
  13. package/dist/components/lwFlow/index.vue +0 -781
  14. package/dist/components/lwFlow/nodeEdit/audienceReceive.vue +0 -262
  15. package/dist/components/lwFlow/nodeEdit/basicSettings.vue +0 -88
  16. package/dist/components/lwFlow/nodeEdit/eventReceive.vue +0 -145
  17. package/dist/components/lwFlow/nodeEdit/index.vue +0 -306
  18. package/dist/components/lwFlow/nodeEdit/sms.vue +0 -107
  19. package/dist/components/lwFlow/nodeEdit/styleSettings.vue +0 -236
  20. package/dist/components/lwFlow/nodes/basisEnd.js +0 -56
  21. package/dist/components/lwFlow/nodes/basisStart.js +0 -56
  22. package/dist/components/lwFlow/nodes/custom.js +0 -129
  23. package/dist/components/lwFlow/nodes/et2lTable.js +0 -132
  24. package/dist/components/lwFlow/nodesData/datas/audienceReceive.js +0 -137
  25. package/dist/components/lwFlow/nodesData/datas/base.js +0 -190
  26. package/dist/components/lwFlow/nodesData/datas/collap.js +0 -95
  27. package/dist/components/lwFlow/nodesData/datas/eventReceive.js +0 -106
  28. package/dist/components/lwFlow/nodesData/datas/expand.js +0 -85
  29. package/dist/components/lwFlow/nodesData/datas/filter.js +0 -85
  30. package/dist/components/lwFlow/nodesData/datas/joiner.js +0 -96
  31. package/dist/components/lwFlow/nodesData/datas/mapper.js +0 -111
  32. package/dist/components/lwFlow/nodesData/datas/reduce.js +0 -69
  33. package/dist/components/lwFlow/nodesData/datas/sms.js +0 -69
  34. package/dist/components/lwFlow/nodesData/datas/source.js +0 -142
  35. package/dist/components/lwFlow/nodesData/datas/target.js +0 -95
  36. package/dist/components/lwFlow/nodesData/datas/timer.js +0 -180
  37. package/dist/components/lwFlow/nodesData/index.js +0 -41
  38. package/dist/components/lwForm/index.vue +0 -631
  39. package/dist/components/lwFormJson/JsonItem.vue +0 -302
  40. package/dist/components/lwFormJson/StatsConfig.vue +0 -544
  41. package/dist/components/lwFormJson/TreeItem.vue +0 -149
  42. package/dist/components/lwFormJson/index.vue +0 -362
  43. package/dist/components/lwFormJson/menuList.js +0 -324
  44. package/dist/components/lwFormMini/FormItem.vue +0 -466
  45. package/dist/components/lwFormMini/ViewItem.vue +0 -391
  46. package/dist/components/lwFormMini/index.vue +0 -421
  47. package/dist/components/lwFormMini/textToPassword.vue +0 -61
  48. package/dist/components/lwFormView/index.vue +0 -390
  49. package/dist/components/lwFormView/textToPassword.vue +0 -59
  50. package/dist/components/lwIconSelect/iconSelect.js +0 -289
  51. package/dist/components/lwIconSelect/index.vue +0 -142
  52. package/dist/components/lwLayout/components/NavMenu.vue +0 -36
  53. package/dist/components/lwLayout/components/aside.vue +0 -295
  54. package/dist/components/lwLayout/components/bu.vue +0 -88
  55. package/dist/components/lwLayout/components/iframeView.vue +0 -57
  56. package/dist/components/lwLayout/components/lang.vue +0 -77
  57. package/dist/components/lwLayout/components/setting.vue +0 -102
  58. package/dist/components/lwLayout/components/sideM.vue +0 -135
  59. package/dist/components/lwLayout/components/tags.vue +0 -388
  60. package/dist/components/lwLayout/components/topbar.vue +0 -69
  61. package/dist/components/lwLayout/components/userbar.vue +0 -214
  62. package/dist/components/lwLayout/index.vue +0 -469
  63. package/dist/components/lwLogin/index.vue +0 -511
  64. package/dist/components/lwLogin/locale/en-us.js +0 -37
  65. package/dist/components/lwLogin/locale/zh-cn.js +0 -37
  66. package/dist/components/lwSearch/date/date.vue +0 -113
  67. package/dist/components/lwSearch/dateRange/dateRange.vue +0 -118
  68. package/dist/components/lwSearch/dates/dates.vue +0 -366
  69. package/dist/components/lwSearch/index.vue +0 -628
  70. package/dist/components/lwSearch/input/input.vue +0 -55
  71. package/dist/components/lwSearch/locale/en-us.js +0 -15
  72. package/dist/components/lwSearch/locale/zh-cn.js +0 -15
  73. package/dist/components/lwSearch/select/select.vue +0 -58
  74. package/dist/components/lwSvgIcon/index.vue +0 -29
  75. package/dist/components/lwTable/index.js +0 -286
  76. package/dist/components/lwTable/index.scss +0 -238
  77. package/dist/components/lwTable/index.vue +0 -346
  78. package/dist/components/lwTable/locale/en-US.js +0 -26
  79. package/dist/components/lwTable/locale/zh-CN.js +0 -26
  80. package/dist/components/lwTable/useFullscreen.js +0 -73
  81. package/dist/components/lwTableForm/index.vue +0 -662
  82. package/dist/components/lwTableSelect/index.vue +0 -266
  83. package/dist/components/lwTableSelect/tableSelect.js +0 -23
  84. package/dist/components/lwUpload/index.vue +0 -564
  85. package/dist/lw-cdp-ui.esm.js +0 -19906
  86. package/dist/lw-cdp-ui.umd.js +0 -22
  87. package/dist/style.css +0 -1
  88. package/dist/vite.svg +0 -1
@@ -1,466 +0,0 @@
1
- <template>
2
- <!-- 间隔标题 -->
3
- <div v-if="item.component == 'divider'"
4
- class="title-name title-name-divider"
5
- :id="'divider-' + index"
6
- :data-index="index">
7
- <span>
8
- {{ item.label }}
9
- <el-tooltip v-if="item.tips">
10
- <template #content>
11
- <span style="max-width: 300px; display: inline-block;">
12
- {{ item.tips }}
13
- </span>
14
- </template>
15
- <el-icon><el-icon-question-filled /></el-icon>
16
- </el-tooltip>
17
- </span>
18
- <slot :name="item?.options?.component"></slot>
19
- </div>
20
-
21
- <!-- 表单内容 -->
22
- <el-form-item v-else
23
- :class="{ 'form-item-name-null': !item?.label }"
24
- :prop="getPropName(item)"
25
- :rules="rulesHandle(item)">
26
- <template #label>
27
- {{ item.label }}
28
- <el-tooltip v-if="item.tips"
29
- :raw-content="item?.rawContent"
30
- :content="item.tips">
31
- <el-icon><el-icon-question-filled /></el-icon>
32
- </el-tooltip>
33
- </template>
34
-
35
- <!-- input -->
36
- <template v-if="item.component == 'input'">
37
- <el-input v-model="objItem.value"
38
- :placeholder="item?.options?.placeholder"
39
- clearable
40
- :type="item?.options?.type"
41
- :disabled="item?.options?.disabled"
42
- :autocomplete="item?.options?.autocomplete || 'off'"
43
- :maxlength="item?.options?.maxlength"
44
- show-word-limit>
45
- <template v-if="item?.options?.prepend"
46
- #prepend>{{ item?.options.prepend }}</template>
47
- <template v-if="item?.options?.append"
48
- #append>{{ item?.options.append }}</template>
49
- </el-input>
50
- </template>
51
- <!-- upload -->
52
- <template v-else-if="item.component == 'upload'">
53
- <template v-for="(_item, _index) in objItem?.options.items"
54
- :key="_index">
55
- <lw-upload v-model="_item.value"
56
- :height="item.height"
57
- :width="item.width"
58
- :maxSize="_item.maxSize"
59
- :accept="_item.accept"
60
- :title="_item.label"
61
- :parseData="item.parseData"
62
- :disabled="_item?.disabled"
63
- :multiple="_item?.multiple"
64
- :limit="_item?.limit"
65
- :returnFile="_item?.returnFile"
66
- :tip="_item?.tip"
67
- :apiObj="item.apiObj"></lw-upload>
68
-
69
- </template>
70
- </template>
71
- <!-- checkbox -->
72
- <template v-else-if="item.component == 'checkbox'">
73
- <el-checkbox v-model="_item.value"
74
- :label="_item.label"
75
- v-for="(_item, _index) in objItem?.options.items"
76
- :key="_index"></el-checkbox>
77
- </template>
78
- <!-- checkboxGroup -->
79
- <template v-else-if="item.component == 'checkboxGroup'">
80
- <el-checkbox-group v-model="objItem.value">
81
- <el-checkbox v-for="_item in item?.options.items"
82
- :key="_item.value"
83
- :value="_item.value">{{ _item.label }}</el-checkbox>
84
- </el-checkbox-group>
85
- </template>
86
-
87
- <!-- switch -->
88
- <template v-else-if="item.component == 'switch'">
89
- <el-switch v-model="objItem.value"
90
- inline-prompt
91
- :active-text="item?.options?.activeText"
92
- :inactive-text="item?.options?.inactiveText" />
93
- </template>
94
- <!-- select -->
95
- <template v-else-if="item.component == 'select'">
96
- <el-select v-model="objItem.value"
97
- :multiple="item?.options?.multiple"
98
- :allow-create="item?.options?.allowCreate"
99
- default-first-option
100
- :placeholder="item?.options?.placeholder || ''"
101
- :clearable="item?.options?.clearable"
102
- :collapse-tags="item?.options?.collapseTags"
103
- :collapse-tags-tooltip="item?.options?.collapseTagsTooltip"
104
- :disabled="item?.options.disabled"
105
- filterable
106
- style="width: 100%;">
107
- <el-option v-for="option in item?.options.items"
108
- :key="option.value"
109
- :label="option.label"
110
- :value="option.value"></el-option>
111
- </el-select>
112
-
113
- </template>
114
- <!-- treeSelect -->
115
- <template v-else-if="item.component == 'treeSelect'">
116
- <el-tree-select v-model="objItem.value"
117
- :props="item?.options?.props"
118
- :node-Key="item?.options?.nodeKey"
119
- :multiple="item?.options?.multiple"
120
- :check-Strictly="item?.options?.checkStrictly"
121
- :data="item?.options?.items"></el-tree-select>
122
-
123
- </template>
124
- <!-- cascader -->
125
- <template v-else-if="item.component == 'cascader'">
126
- <el-cascader v-model="objItem.value"
127
- style="width: 100%;"
128
- :props="item?.options?.props"
129
- :separator="item?.options?.separator"
130
- :disabled="item?.options?.disabled"
131
- :options="item?.options.items"
132
- clearable></el-cascader>
133
- </template>
134
- <!-- date -->
135
- <template v-else-if="item.component == 'date'">
136
- <el-date-picker v-model="objItem.value"
137
- style="width: 100%;"
138
- :type="item?.options?.type"
139
- :start-placeholder="item?.options?.startPlaceholder"
140
- :end-placeholder="item?.options?.endPlaceholder"
141
- :shortcuts="item?.options?.shortcuts"
142
- :disabled-date="item?.options?.disabledDate"
143
- :default-time="item?.options?.defaultTime"
144
- :disabled="item?.options?.disabled"
145
- :value-format="item?.options?.valueFormat"
146
- :format="item?.options?.format"
147
- :placeholder="item?.options?.placeholder || '请选择'"></el-date-picker>
148
- </template>
149
- <!-- number -->
150
- <template v-else-if="item.component == 'number'">
151
- <el-input-number v-model="objItem.value"
152
- :disabled="item?.options?.disabled"
153
- :min="item?.options?.min"
154
- :max="item?.options?.max"
155
- :step="item?.options?.step || 1"
156
- :precision="item?.options?.precision"
157
- :placeholder="item?.options?.placeholder || ''"
158
- :controls-position="item?.options?.controlsPosition || 'right'">
159
- <template v-if="item?.options?.suffix"
160
- #suffix>
161
- <span>{{ item?.options.suffix }}</span>
162
- </template>
163
- </el-input-number>
164
- </template>
165
- <!-- radio -->
166
- <template v-else-if="item.component == 'radio'">
167
- <el-radio-group v-model="objItem.value"
168
- :disabled="item?.options.disabled">
169
- <el-radio v-for="_item in item?.options.items"
170
- :key="_item.value"
171
- :value="_item.value" :label="_item.label">{{ _item.label }}</el-radio>
172
- </el-radio-group>
173
- </template>
174
- <!-- color -->
175
- <template v-else-if="item.component == 'color'">
176
- <el-color-picker v-model="objItem.value" />
177
- </template>
178
- <!-- rate -->
179
- <template v-else-if="item.component == 'rate'">
180
- <el-rate style="margin-top: 6px;"
181
- v-model="objItem.value"></el-rate>
182
- </template>
183
- <!-- slider -->
184
- <template v-else-if="item.component == 'slider'">
185
- <el-slider v-model="objItem.value"
186
- :marks="item?.options.marks"></el-slider>
187
- </template>
188
-
189
- <!-- tags -->
190
- <template v-else-if="item.component == 'tags'">
191
- <div class="tags-list">
192
- <el-tag v-for="tag in objItem.value"
193
- :key="tag"
194
- :closable="!item?.options?.disabled || item?.options?.closable"
195
- :disable-transitions="false"
196
- @close="tagClose(tag, objItem.value)">
197
- {{ tag }}
198
- </el-tag>
199
- <el-input v-if="tagVisible[item.name]"
200
- v-model="tagValue"
201
- class="w-20"
202
- size="small"
203
- @keyup.enter="tagInputConfirm(item, objItem.value)"
204
- @blur="tagInputConfirm(item, objItem.value)" />
205
- <el-button v-if="!tagVisible[item.name] && !item?.options?.disabled"
206
- class="button-new-tag"
207
- size="small"
208
- @click="tagVisible[item.name] = true">
209
- + {{item?.options?.addText || '添加'}}
210
- </el-button>
211
- </div>
212
- </template>
213
-
214
- <!-- 没有组件是component值 就是插槽名称 -->
215
- <template v-else>
216
- <slot :name="item.component"
217
- :itemCur="item"
218
- :formCur="form">
219
- <el-tag type="danger">[{{ item.component }}]
220
- 没有这个默认组件也未自定义插槽内容</el-tag>
221
- </slot>
222
- </template>
223
- <div v-if="item.message"
224
- class="el-form-item-msg">{{ item.message }}</div>
225
- </el-form-item>
226
- </template>
227
-
228
- <script>
229
- import lwUpload from '../lwUpload'
230
- export default {
231
- name: 'FormItem',
232
- data() {
233
- return {
234
- tagVisible: {},
235
- dataForm: {},
236
- objItem: {},
237
- tagValue: ''
238
- }
239
- },
240
- components: {
241
- lwUpload
242
- },
243
- props: {
244
- item: {
245
- type: Object,
246
- default: () => { }
247
- },
248
- index: {
249
- type: Number,
250
- default: 0
251
- },
252
- form: {
253
- type: Object,
254
- default: () => { }
255
- }
256
- },
257
- watch: {
258
- item: {
259
- handler(val) {
260
- this.objItem = val
261
- },
262
- immediate: true,
263
- deep: true
264
- },
265
- form: {
266
- handler(val) {
267
- if (this.item.component === 'checkbox' || this.item.component === 'upload') {
268
- this.objItem.options?.items?.forEach((option) => {
269
- option.value = this.flattenObject(this.form, option.name, option.value)
270
- });
271
- } else {
272
- this.objItem.value = this.flattenObject(this.form, this.item.name, this.objItem.value)
273
- }
274
-
275
- },
276
- immediate: true,
277
- deep: true
278
- },
279
- objItem: {
280
- handler(val) {
281
- if (val.component === 'checkbox' || val.component === 'upload') {
282
- val.options?.items?.forEach((option) => {
283
- this.unflattenObject(this.form, option.name, option.value)
284
- });
285
- } else {
286
- this.unflattenObject(this.form, val.name, val.value)
287
- }
288
-
289
- // 发布 这个数据
290
- if (val?.name) {
291
- this.$bus.$emit(`lwFormMini-${val.name}`, val)
292
- }
293
- },
294
- deep: true
295
- },
296
- },
297
- methods: {
298
- flattenObject(obj, key, defaultValue = '') {
299
- if (!key || !obj) { return false }
300
- const keys = key.split('.'); // 将路径拆分成数组
301
-
302
- let current = obj;
303
- // 遍历路径并逐层查找
304
- for (let i = 0; i < keys.length; i++) {
305
- // 如果当前层级不存在,则创建该层级对象
306
- if (current[keys[i]] === undefined) {
307
- current[keys[i]] = (i === keys.length - 1) ? defaultValue : {}; // 如果是最后一个层级,设为默认值,否则创建空对象
308
- }
309
- // 否则,继续向下查找
310
- current = current[keys[i]];
311
- }
312
- return current;
313
- },
314
- unflattenObject(obj, path, value) {
315
- if (!path || !obj) { return false }
316
- const keys = path.split('.'); // 按点分隔路径
317
-
318
- keys.forEach((key, index) => {
319
- if (index === keys.length - 1) {
320
- // 最后一级,直接赋值
321
- obj[key] = value;
322
- } else {
323
- // 如果不存在该层级,创建空对象
324
- if (!obj[key] || typeof obj[key] !== 'object') {
325
- obj[key] = {};
326
- }
327
- obj = obj[key]; // 进入下一层
328
- }
329
- });
330
-
331
- },
332
- // 删除tag
333
- tagClose(tag, item) {
334
- item.splice(item.indexOf(tag), 1)
335
- },
336
- // 增加tag
337
- tagInputConfirm(item, val) {
338
- if (this.tagValue) {
339
- val = val || []
340
- val.push(this.tagValue)
341
- }
342
- this.tagVisible[item.name] = false
343
- this.tagValue = ''
344
- },
345
- // prop NAME
346
- getPropName(item) {
347
- if (item.component == 'checkbox' || item.component == 'upload') {
348
- return item?.options.items[0].name
349
- } else {
350
- return item.name
351
- }
352
- },
353
- // 处理动态必填
354
- rulesHandle(item) {
355
- if (item.requiredHandle) {
356
- try {
357
- const requiredHandleFunc = new Function("form", `return ${item.requiredHandle.replace(/\$/g, "form")}`);
358
- const exp = requiredHandleFunc(this.form);
359
-
360
- const requiredRule = item.rules.find(t => 'required' in t);
361
- if (requiredRule) {
362
- requiredRule.required = exp;
363
- }
364
- } catch (error) {
365
- console.error("Error requiredHandle function:", error);
366
- }
367
- }
368
- return item.rules;
369
- },
370
-
371
- }
372
- }
373
- </script>
374
-
375
-
376
- <style lang="scss" scoped>
377
- :deep(.el-col) {
378
- &:first-child {
379
- .title-name {
380
- border: 0;
381
- padding-top: 25px;
382
- margin-top: 0;
383
- }
384
- }
385
- }
386
-
387
- .title-name {
388
- font-size: 18px;
389
- font-weight: bold;
390
- margin-bottom: 10px;
391
- margin-top: 25px;
392
- border-top: 10px solid #f5f7fa;
393
- padding-top: 20px;
394
- }
395
-
396
- .form-mini {
397
- display: flex;
398
- width: 100%;
399
- box-sizing: border-box;
400
- }
401
- .form-affix {
402
- min-width: 130px;
403
- padding-left: 20px;
404
- }
405
-
406
- .w-20 {
407
- width: 100px;
408
- }
409
-
410
- :deep(.form-item-name-null) {
411
- > .el-form-item__label {
412
- display: none !important;
413
- }
414
- }
415
- .affix-body {
416
- background-color: var(--el-fill-color-light);
417
- border: 1px solid var(--el-border-color-light);
418
- margin: 0;
419
- position: relative;
420
- &::after {
421
- content: "";
422
- position: absolute;
423
- left: -2px;
424
- right: 0;
425
- height: 16px;
426
- background-color: #ffffff;
427
- top: -17px;
428
- }
429
- .anchor-link {
430
- padding: 0 20px;
431
- height: var(--el-tabs-header-height);
432
- box-sizing: border-box;
433
- list-style: none;
434
- font-size: var(--el-font-size-base);
435
- font-weight: bold;
436
- color: var(--el-text-color-secondary);
437
- position: relative;
438
- height: 40px;
439
- display: inline-block;
440
- line-height: 40px;
441
- cursor: pointer;
442
- border-left: 1px solid transparent;
443
- border-right: 1px solid transparent;
444
- }
445
- .active {
446
- color: var(--el-color-primary);
447
- background-color: var(--el-bg-color-overlay);
448
- border-bottom: 1px solid var(--el-bg-color-overlay);
449
- border-right-color: var(--el-border-color);
450
- border-left: 1px solid var(--el-border-color-light);
451
- border-right: 1px solid var(--el-border-color-light);
452
- &:first-child {
453
- border-left: 1px solid var(--el-fill-color-light);
454
- }
455
- }
456
- }
457
-
458
- :deep(.el-tag) {
459
- & + .button-new-tag {
460
- margin-left: 10px;
461
- }
462
- & + .w-20 {
463
- margin-left: 10px;
464
- }
465
- }
466
- </style>