@94ai/nf-conditions 3.1.13

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.
@@ -0,0 +1,586 @@
1
+ import { defineComponent, h, ref, onMounted, nextTick } from "vue-demi";
2
+ import { generateUUID } from "@94ai/common-utils";
3
+ import { 操作类型, 规则类型, 计算类型, 日期类型, 外呼状态 } from "@94ai/nf-rules";
4
+ import { normalizeComponent } from "@94ai/vue2-runtime-helpers";
5
+ const _sfc_main = defineComponent({
6
+ name: "condition-container",
7
+ props: {
8
+ /**
9
+ * 指定容器类型
10
+ */
11
+ tag: {
12
+ type: String,
13
+ default: "el-form"
14
+ },
15
+ config: {
16
+ type: Object,
17
+ default: () => ({})
18
+ }
19
+ },
20
+ render() {
21
+ var _a, _b;
22
+ const Tag = this.tag;
23
+ return h(Tag, {
24
+ "ref": "nfConditionsForm",
25
+ "class": "nf-condition-form",
26
+ "props": {
27
+ ...this.config
28
+ }
29
+ }, [(_b = (_a = this.$scopedSlots).default) == null ? void 0 : _b.call(_a, {})]);
30
+ }
31
+ });
32
+ const _sfc_render$1 = null;
33
+ const _sfc_staticRenderFns$1 = null;
34
+ var __component__$1 = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render$1, _sfc_staticRenderFns$1, false, null, null, null, null);
35
+ const ConditionContainer = __component__$1.exports;
36
+ const __sfc_main = defineComponent({
37
+ name: "nf-conditions"
38
+ });
39
+ __sfc_main.props = {
40
+ conditions: {
41
+ key: "conditions",
42
+ required: false,
43
+ type: Array,
44
+ default: void 0
45
+ },
46
+ rulesKey: {
47
+ key: "rulesKey",
48
+ required: false,
49
+ type: String,
50
+ default: "rules"
51
+ },
52
+ conditionsKey: {
53
+ key: "conditionsKey",
54
+ required: false,
55
+ type: String,
56
+ default: "conditions"
57
+ },
58
+ conditionLimit: {
59
+ key: "conditionLimit",
60
+ required: false,
61
+ type: Number,
62
+ default: 0
63
+ },
64
+ hiddenConditionAdd: {
65
+ key: "hiddenConditionAdd",
66
+ required: false,
67
+ type: Boolean,
68
+ default: false
69
+ },
70
+ hiddenConditionReduce: {
71
+ key: "hiddenConditionReduce",
72
+ required: false,
73
+ type: Boolean,
74
+ default: false
75
+ },
76
+ conditionDesc: {
77
+ key: "conditionDesc",
78
+ required: false,
79
+ type: String,
80
+ default: "条件"
81
+ },
82
+ addConditionDesc: {
83
+ key: "addConditionDesc",
84
+ required: false,
85
+ type: String,
86
+ default: "+ 添加条件"
87
+ },
88
+ deleteConditionDesc: {
89
+ key: "deleteConditionDesc",
90
+ required: false,
91
+ type: String,
92
+ default: "- 删除条件"
93
+ },
94
+ initAddData: {
95
+ key: "initAddData",
96
+ required: false,
97
+ type: Boolean,
98
+ default: true
99
+ },
100
+ initAddRuleData: {
101
+ key: "initAddRuleData",
102
+ required: false,
103
+ type: Boolean,
104
+ default: true
105
+ },
106
+ size: {
107
+ key: "size",
108
+ required: false,
109
+ type: String,
110
+ default: "mini"
111
+ },
112
+ tag: {
113
+ key: "tag",
114
+ required: false,
115
+ type: String,
116
+ default: "el-form"
117
+ },
118
+ showMessage: {
119
+ key: "showMessage",
120
+ required: false,
121
+ type: Boolean,
122
+ default: true
123
+ },
124
+ inlineMessage: {
125
+ key: "inlineMessage",
126
+ required: false,
127
+ type: Boolean,
128
+ default: false
129
+ },
130
+ statusIcon: {
131
+ key: "statusIcon",
132
+ required: false,
133
+ type: Boolean,
134
+ default: false
135
+ },
136
+ validPrefix: {
137
+ key: "validPrefix",
138
+ required: false,
139
+ type: String,
140
+ default: ""
141
+ },
142
+ logicMergeDesc: {
143
+ key: "logicMergeDesc",
144
+ required: false,
145
+ type: String,
146
+ default: "且"
147
+ },
148
+ placeholder: {
149
+ key: "placeholder",
150
+ required: false,
151
+ type: String,
152
+ default: "请选择"
153
+ },
154
+ numberRequireDesc: {
155
+ key: "numberRequireDesc",
156
+ required: false,
157
+ type: String,
158
+ default: "请输入数字"
159
+ },
160
+ commonLenLimitDesc: {
161
+ key: "commonLenLimitDesc",
162
+ required: false,
163
+ type: String,
164
+ default: "总文案长度不超过2000中文字符"
165
+ },
166
+ placeEnter: {
167
+ key: "placeEnter",
168
+ required: false,
169
+ type: String,
170
+ default: "请输入"
171
+ },
172
+ prohibitEmptyDesc: {
173
+ key: "prohibitEmptyDesc",
174
+ required: false,
175
+ type: String,
176
+ default: "不能为空"
177
+ },
178
+ paramsLenLimitDesc: {
179
+ key: "paramsLenLimitDesc",
180
+ required: false,
181
+ type: String,
182
+ default: "最多可输入50个英文字符长度"
183
+ },
184
+ times: {
185
+ key: "times",
186
+ required: false,
187
+ type: String,
188
+ default: "次"
189
+ },
190
+ second: {
191
+ key: "second",
192
+ required: false,
193
+ type: String,
194
+ default: "秒"
195
+ },
196
+ rangeSeparatorDesc: {
197
+ key: "rangeSeparatorDesc",
198
+ required: false,
199
+ type: String,
200
+ default: "至"
201
+ },
202
+ startPlaceholderDate: {
203
+ key: "startPlaceholderDate",
204
+ required: false,
205
+ type: String,
206
+ default: "开始日期"
207
+ },
208
+ endPlaceholderDate: {
209
+ key: "endPlaceholderDate",
210
+ required: false,
211
+ type: String,
212
+ default: "结束日期"
213
+ },
214
+ startPlaceholderTime: {
215
+ key: "startPlaceholderTime",
216
+ required: false,
217
+ type: String,
218
+ default: "开始时间"
219
+ },
220
+ endPlaceholderTime: {
221
+ key: "endPlaceholderTime",
222
+ required: false,
223
+ type: String,
224
+ default: "结束时间"
225
+ },
226
+ timePickerPlaceholder: {
227
+ key: "timePickerPlaceholder",
228
+ required: false,
229
+ type: String,
230
+ default: "选择时间范围"
231
+ },
232
+ datePickerPlaceholder: {
233
+ key: "datePickerPlaceholder",
234
+ required: false,
235
+ type: String,
236
+ default: "选择日期范围"
237
+ },
238
+ splitDesc: {
239
+ key: "splitDesc",
240
+ required: false,
241
+ type: String,
242
+ default: "输入多个时,用#分割"
243
+ },
244
+ disabled: {
245
+ key: "disabled",
246
+ required: false,
247
+ type: Boolean,
248
+ default: false
249
+ },
250
+ conditionDisabled: {
251
+ key: "conditionDisabled",
252
+ required: false,
253
+ type: Boolean,
254
+ default: false
255
+ },
256
+ disables: {
257
+ key: "disables",
258
+ required: false,
259
+ type: Object,
260
+ default: void 0
261
+ },
262
+ hiddenAdd: {
263
+ key: "hiddenAdd",
264
+ required: false,
265
+ type: Boolean,
266
+ default: false
267
+ },
268
+ hiddenReduce: {
269
+ key: "hiddenReduce",
270
+ required: false,
271
+ type: Boolean,
272
+ default: false
273
+ },
274
+ limit: {
275
+ key: "limit",
276
+ required: false,
277
+ type: Number,
278
+ default: 0
279
+ },
280
+ rules: {
281
+ key: "rules",
282
+ required: false,
283
+ type: Array,
284
+ default: void 0
285
+ },
286
+ showRuleTypes: {
287
+ key: "showRuleTypes",
288
+ required: false,
289
+ type: Array,
290
+ default: () => []
291
+ },
292
+ defaultAddData: {
293
+ key: "defaultAddData",
294
+ required: false,
295
+ type: null
296
+ },
297
+ defaultAddType: {
298
+ key: "defaultAddType",
299
+ required: false,
300
+ type: [String, Number]
301
+ },
302
+ 操作类型: {
303
+ key: "操作类型",
304
+ required: false,
305
+ type: Object,
306
+ default: () => 操作类型
307
+ },
308
+ 规则类型: {
309
+ key: "规则类型",
310
+ required: false,
311
+ type: Object,
312
+ default: () => 规则类型
313
+ },
314
+ 计算类型: {
315
+ key: "计算类型",
316
+ required: false,
317
+ type: Object,
318
+ default: () => 计算类型
319
+ },
320
+ 日期类型: {
321
+ key: "日期类型",
322
+ required: false,
323
+ type: Object,
324
+ default: () => 日期类型
325
+ },
326
+ 外呼状态: {
327
+ key: "外呼状态",
328
+ required: false,
329
+ type: Object,
330
+ default: () => 外呼状态
331
+ },
332
+ 规则类型下拉: {
333
+ key: "规则类型下拉",
334
+ required: false,
335
+ type: Array
336
+ },
337
+ 操作类型下拉: {
338
+ key: "操作类型下拉",
339
+ required: false,
340
+ type: Array
341
+ },
342
+ 计算类型下拉: {
343
+ key: "计算类型下拉",
344
+ required: false,
345
+ type: Array
346
+ },
347
+ 日期类型下拉: {
348
+ key: "日期类型下拉",
349
+ required: false,
350
+ type: Array
351
+ },
352
+ 外呼状态下拉: {
353
+ key: "外呼状态下拉",
354
+ required: false,
355
+ type: Array
356
+ },
357
+ 意向标签集合: {
358
+ key: "意向标签集合",
359
+ required: false,
360
+ type: Array
361
+ },
362
+ 规则类型下拉合并策略: {
363
+ key: "规则类型下拉合并策略",
364
+ required: false,
365
+ type: null,
366
+ default: "defaultPatch"
367
+ },
368
+ 计算类型下拉合并策略: {
369
+ key: "计算类型下拉合并策略",
370
+ required: false,
371
+ type: null,
372
+ default: "defaultPatch"
373
+ },
374
+ 操作类型下拉合并策略: {
375
+ key: "操作类型下拉合并策略",
376
+ required: false,
377
+ type: null,
378
+ default: "defaultPatch"
379
+ },
380
+ 日期类型下拉合并策略: {
381
+ key: "日期类型下拉合并策略",
382
+ required: false,
383
+ type: null,
384
+ default: "defaultPatch"
385
+ },
386
+ 外呼状态下拉合并策略: {
387
+ key: "外呼状态下拉合并策略",
388
+ required: false,
389
+ type: null,
390
+ default: "defaultPatch"
391
+ },
392
+ 意向标签集合合并策略: {
393
+ key: "意向标签集合合并策略",
394
+ required: false,
395
+ type: null,
396
+ default: "defaultPatch"
397
+ }
398
+ };
399
+ __sfc_main.setup = (__props, __ctx) => {
400
+ const props = __props;
401
+ const emit = __ctx.emit;
402
+ const conditionContainer = ref();
403
+ const nfConditionsForm = ref();
404
+ onMounted(() => {
405
+ var _a;
406
+ nfConditionsForm.value = (_a = conditionContainer.value) == null ? void 0 : _a.$refs.nfConditionsForm;
407
+ });
408
+ const getCondition = () => {
409
+ return {
410
+ [props.rulesKey]: [],
411
+ key: generateUUID()
412
+ };
413
+ };
414
+ const initPlan = () => {
415
+ if (!props.conditions) {
416
+ return props.initAddData ? [getCondition()] : [];
417
+ } else if (!props.conditions.length) {
418
+ if (props.initAddData) {
419
+ props.conditions.push(getCondition());
420
+ }
421
+ } else {
422
+ props.conditions.forEach((item) => {
423
+ item.key ?? (item.key = generateUUID());
424
+ });
425
+ }
426
+ return props.conditions;
427
+ };
428
+ const plan = ref({
429
+ [props.conditionsKey]: initPlan()
430
+ });
431
+ const removeCondition = (j) => {
432
+ emit("reduceCondition", plan.value[props.conditionsKey][j]);
433
+ plan.value[props.conditionsKey].splice(j, 1);
434
+ };
435
+ const addCondition = async () => {
436
+ plan.value[props.conditionsKey].push(getCondition());
437
+ await nextTick();
438
+ emit("addCondition", plan.value[props.conditionsKey][plan.value[props.conditionsKey].length - 1]);
439
+ };
440
+ return Object.assign({
441
+ conditionContainer,
442
+ plan,
443
+ removeCondition,
444
+ addCondition
445
+ }, {
446
+ addCondition,
447
+ removeCondition,
448
+ initPlan,
449
+ getCondition,
450
+ conditionContainer,
451
+ nfConditionsForm,
452
+ plan
453
+ });
454
+ };
455
+ __sfc_main.components = Object.assign({
456
+ ConditionContainer
457
+ }, __sfc_main.components);
458
+ var _sfc_render = function render() {
459
+ var _a;
460
+ var _vm = this, _c = _vm._self._c;
461
+ _vm._self._setupProxy;
462
+ return _c("div", {
463
+ staticClass: "nf-conditions"
464
+ }, [_c("condition-container", {
465
+ ref: "conditionContainer",
466
+ attrs: {
467
+ "config": {
468
+ disabled: _vm.disabled,
469
+ size: _vm.size,
470
+ model: _vm.plan,
471
+ "show-message": _vm.showMessage,
472
+ "inline-message": _vm.inlineMessage,
473
+ "status-icon": _vm.statusIcon
474
+ },
475
+ "tag": _vm.tag
476
+ }
477
+ }, [_vm._l(_vm.plan[_vm.conditionsKey], function(condition, i) {
478
+ return _c("el-form-item", {
479
+ key: condition.key,
480
+ attrs: {
481
+ "label-width": "0"
482
+ }
483
+ }, [_c("div", {
484
+ staticClass: "condition-header"
485
+ }, [_c("span", {
486
+ staticClass: "condition-pre"
487
+ }, [_c("span", {
488
+ staticStyle: {
489
+ "color": "red",
490
+ "margin-right": "5px",
491
+ "vertical-align": "middle"
492
+ }
493
+ }, [_vm._v("*")]), _vm._v(_vm._s(_vm.conditionDesc) + " " + _vm._s(i + 1))]), !_vm.hiddenConditionReduce ? _c("span", {
494
+ staticClass: "remove-condition",
495
+ on: {
496
+ "click": function($event) {
497
+ return _vm.removeCondition(i);
498
+ }
499
+ }
500
+ }, [_c("span", {
501
+ staticClass: "remove-condition-icon"
502
+ }, [_vm._v(_vm._s(_vm.deleteConditionDesc))])]) : _vm._e()]), _c("nf-rules", {
503
+ ref: "nfRules",
504
+ refInFor: true,
505
+ attrs: {
506
+ "show-message": _vm.showMessage,
507
+ "init-add-data": _vm.initAddRuleData,
508
+ "inline-message": _vm.inlineMessage,
509
+ "status-icon": _vm.statusIcon,
510
+ "logic-merge-desc": _vm.logicMergeDesc,
511
+ "number-require-desc": _vm.numberRequireDesc,
512
+ "common-len-limit-desc": _vm.commonLenLimitDesc,
513
+ "place-enter": _vm.placeEnter,
514
+ "prohibit-empty-desc": _vm.prohibitEmptyDesc,
515
+ "params-len-limit-desc": _vm.paramsLenLimitDesc,
516
+ "range-separator-desc": _vm.rangeSeparatorDesc,
517
+ "start-placeholder-date": _vm.startPlaceholderDate,
518
+ "end-placeholder-date": _vm.endPlaceholderDate,
519
+ "start-placeholder-time": _vm.startPlaceholderTime,
520
+ "end-placeholder-time": _vm.endPlaceholderTime,
521
+ "time-picker-placeholder": _vm.timePickerPlaceholder,
522
+ "date-picker-placeholder": _vm.datePickerPlaceholder,
523
+ "split-desc": _vm.splitDesc,
524
+ "condition-disabled": _vm.conditionDisabled,
525
+ "hidden-add": _vm.hiddenAdd,
526
+ "hidden-reduce": _vm.hiddenReduce,
527
+ "show-rule-types": _vm.showRuleTypes,
528
+ "default-add-data": _vm.defaultAddData,
529
+ "default-add-type": _vm.defaultAddType,
530
+ "size": _vm.size,
531
+ "placeholder": _vm.placeholder,
532
+ "times": _vm.times,
533
+ "second": _vm.second,
534
+ "disabled": _vm.disabled,
535
+ "disables": _vm.disables,
536
+ "limit": _vm.limit,
537
+ "操作类型": _vm.操作类型,
538
+ "规则类型": _vm.规则类型,
539
+ "计算类型": _vm.计算类型,
540
+ "日期类型": _vm.日期类型,
541
+ "外呼状态": _vm.外呼状态,
542
+ "规则类型下拉": _vm.规则类型下拉,
543
+ "操作类型下拉": _vm.操作类型下拉,
544
+ "计算类型下拉": _vm.计算类型下拉,
545
+ "日期类型下拉": _vm.日期类型下拉,
546
+ "外呼状态下拉": _vm.外呼状态下拉,
547
+ "意向标签集合": _vm.意向标签集合,
548
+ "规则类型下拉合并策略": _vm.规则类型下拉合并策略,
549
+ "计算类型下拉合并策略": _vm.计算类型下拉合并策略,
550
+ "操作类型下拉合并策略": _vm.操作类型下拉合并策略,
551
+ "日期类型下拉合并策略": _vm.日期类型下拉合并策略,
552
+ "外呼状态下拉合并策略": _vm.外呼状态下拉合并策略,
553
+ "意向标签集合合并策略": _vm.意向标签集合合并策略,
554
+ "tag": "div",
555
+ "valid-prefix": _vm.validPrefix + `${_vm.conditionsKey}.${i}.`,
556
+ "rules": condition[_vm.rulesKey],
557
+ "rules-key": _vm.rulesKey
558
+ },
559
+ on: {
560
+ "addRule": (e) => _vm.$emit("addRule", e),
561
+ "reduceRule": (e) => _vm.$emit("reduceRule", e),
562
+ "onChange": () => _vm.$emit("ruleChange", _vm.plan[_vm.conditionsKey])
563
+ }
564
+ })], 1);
565
+ }), _c("div", {
566
+ staticClass: "condition-footer"
567
+ }, [!_vm.hiddenConditionAdd && (!_vm.conditionLimit || ((_a = _vm.plan[_vm.conditionsKey]) == null ? void 0 : _a.length) < _vm.conditionLimit) ? _c("span", {
568
+ staticClass: "add-condition",
569
+ on: {
570
+ "click": function($event) {
571
+ return _vm.addCondition();
572
+ }
573
+ }
574
+ }, [_c("span", {
575
+ staticClass: "add-condition-icon"
576
+ }, [_vm._v(_vm._s(_vm.addConditionDesc))])]) : _vm._e()])], 2)], 1);
577
+ };
578
+ var _sfc_staticRenderFns = [];
579
+ var __component__ = /* @__PURE__ */ normalizeComponent(__sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
580
+ const NfConditions = __component__.exports;
581
+ NfConditions.install = (app) => {
582
+ app.component("nf-conditions", NfConditions);
583
+ };
584
+ export {
585
+ NfConditions as default
586
+ };