bm-admin-ui 1.0.44-alpha → 1.0.46-alpha
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/es/components/editor/__test__/index.test.d.ts +1 -0
- package/es/components/float-table/index.d.ts +1 -1
- package/es/components/float-table/index.js +22 -11
- package/es/components/float-table/src/float-table.vue.d.ts +1 -1
- package/es/components/form-create/index.js +97 -84
- package/es/components/form-designer/index.js +59 -67
- package/es/components/index.d.ts +1 -0
- package/es/components/index.js +1 -0
- package/es/components/videoView/__test__/index.test.d.ts +1 -0
- package/es/components/videoView/index.d.ts +37 -0
- package/es/components/videoView/index.js +100 -0
- package/es/components/videoView/src/videoView.vue.d.ts +36 -0
- package/lib/components/editor/__test__/index.test.d.ts +1 -0
- package/lib/components/float-table/index.d.ts +1 -1
- package/lib/components/float-table/index.js +22 -11
- package/lib/components/float-table/src/float-table.vue.d.ts +1 -1
- package/lib/components/form-create/index.js +97 -85
- package/lib/components/form-designer/index.js +59 -67
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +7 -0
- package/lib/components/videoView/__test__/index.test.d.ts +1 -0
- package/lib/components/videoView/index.d.ts +37 -0
- package/lib/components/videoView/index.js +105 -0
- package/lib/components/videoView/src/videoView.vue.d.ts +36 -0
- package/package.json +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/videoView.css +1 -0
- package/types/components/editor/__test__/index.test.d.ts +1 -0
- package/types/components/float-table/index.d.ts +1 -1
- package/types/components/float-table/src/float-table.vue.d.ts +1 -1
- package/types/components/index.d.ts +1 -0
- package/types/components/videoView/__test__/index.test.d.ts +1 -0
- package/types/components/videoView/index.d.ts +37 -0
- package/types/components/videoView/src/videoView.vue.d.ts +36 -0
- package/index.esm.js +0 -150073
- package/index.js +0 -150107
|
@@ -11,14 +11,12 @@ var BmStaffsSelector = require('bm-admin-ui/lib/components/staffs-selector');
|
|
|
11
11
|
var components = require('bm-admin-ui/lib/components');
|
|
12
12
|
var iconsVue = require('@ant-design/icons-vue');
|
|
13
13
|
var lodashEs = require('lodash-es');
|
|
14
|
-
var FC = require('@form-create/ant-design-vue');
|
|
15
14
|
|
|
16
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
17
16
|
|
|
18
17
|
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
19
18
|
var Picture__default = /*#__PURE__*/_interopDefaultLegacy(Picture);
|
|
20
19
|
var BmStaffsSelector__default = /*#__PURE__*/_interopDefaultLegacy(BmStaffsSelector);
|
|
21
|
-
var FC__default = /*#__PURE__*/_interopDefaultLegacy(FC);
|
|
22
20
|
|
|
23
21
|
const fieldRatioMap = {
|
|
24
22
|
'25%': 6,
|
|
@@ -785,15 +783,27 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
785
783
|
"placeholder",
|
|
786
784
|
"defaultSelected",
|
|
787
785
|
"load",
|
|
788
|
-
"disabled"
|
|
786
|
+
"disabled",
|
|
787
|
+
"fieldNames"
|
|
789
788
|
],
|
|
790
789
|
emits: ["change"],
|
|
791
790
|
setup(__props, { emit: emits }) {
|
|
792
791
|
const props = __props;
|
|
792
|
+
const fieldNames = props.fieldNames || {
|
|
793
|
+
label: "name",
|
|
794
|
+
value: "code"
|
|
795
|
+
};
|
|
793
796
|
const selected = vue.ref([]);
|
|
794
797
|
const visible = vue.ref(false);
|
|
795
798
|
function selectedChange(val) {
|
|
796
|
-
emits(
|
|
799
|
+
emits(
|
|
800
|
+
"change",
|
|
801
|
+
val.map((item) => ({
|
|
802
|
+
[fieldNames.value]: item.key,
|
|
803
|
+
[fieldNames.label]: item.title,
|
|
804
|
+
...item
|
|
805
|
+
}))
|
|
806
|
+
);
|
|
797
807
|
}
|
|
798
808
|
function handleAdd() {
|
|
799
809
|
visible.value = true;
|
|
@@ -838,6 +848,7 @@ var StaffSelector = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__file", "staff-
|
|
|
838
848
|
var people = {
|
|
839
849
|
name: 'people',
|
|
840
850
|
rule(data, extraConfig) {
|
|
851
|
+
var _a;
|
|
841
852
|
return {
|
|
842
853
|
type: 'StaffSelector',
|
|
843
854
|
component: StaffSelector,
|
|
@@ -853,6 +864,7 @@ var people = {
|
|
|
853
864
|
return yield extraConfig.people.fetch(params);
|
|
854
865
|
});
|
|
855
866
|
},
|
|
867
|
+
fieldNames: (_a = extraConfig.people) === null || _a === void 0 ? void 0 : _a.fieldNames,
|
|
856
868
|
},
|
|
857
869
|
effect: {
|
|
858
870
|
required: data.effect.required && '请选择',
|
|
@@ -877,6 +889,7 @@ var people = {
|
|
|
877
889
|
};
|
|
878
890
|
},
|
|
879
891
|
rowRule(data, extraConfig) {
|
|
892
|
+
var _a;
|
|
880
893
|
return {
|
|
881
894
|
type: 'StaffSelector',
|
|
882
895
|
component: StaffSelector,
|
|
@@ -892,6 +905,7 @@ var people = {
|
|
|
892
905
|
return yield extraConfig.people.fetch(params);
|
|
893
906
|
});
|
|
894
907
|
},
|
|
908
|
+
fieldNames: (_a = extraConfig.people) === null || _a === void 0 ? void 0 : _a.fieldNames,
|
|
895
909
|
},
|
|
896
910
|
effect: {
|
|
897
911
|
required: data.effect.required && '请选择',
|
|
@@ -2228,11 +2242,21 @@ var product = {
|
|
|
2228
2242
|
|
|
2229
2243
|
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
2230
2244
|
__name: "shop-widget",
|
|
2231
|
-
props: [
|
|
2245
|
+
props: [
|
|
2246
|
+
"value",
|
|
2247
|
+
"extraConfig",
|
|
2248
|
+
"rule",
|
|
2249
|
+
"disabled",
|
|
2250
|
+
"formCreateInject"
|
|
2251
|
+
],
|
|
2232
2252
|
emits: ["change"],
|
|
2233
2253
|
setup(__props, { emit: emits }) {
|
|
2234
2254
|
const props = __props;
|
|
2235
|
-
const
|
|
2255
|
+
const fieldNames = props.extraConfig.fieldNames || {
|
|
2256
|
+
label: "name",
|
|
2257
|
+
value: "code"
|
|
2258
|
+
};
|
|
2259
|
+
const value = vue.ref(props.value?.[fieldNames.value]);
|
|
2236
2260
|
const options = vue.ref([]);
|
|
2237
2261
|
const keyword = vue.ref("");
|
|
2238
2262
|
const debounceFetch = lodashEs.debounce((value2) => {
|
|
@@ -2250,8 +2274,12 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2250
2274
|
options.value = data;
|
|
2251
2275
|
});
|
|
2252
2276
|
}
|
|
2253
|
-
function handleChange(
|
|
2254
|
-
|
|
2277
|
+
function handleChange(val, option) {
|
|
2278
|
+
value.value = val;
|
|
2279
|
+
emits("change", {
|
|
2280
|
+
[fieldNames.value]: option.value,
|
|
2281
|
+
[fieldNames.label]: option.label
|
|
2282
|
+
});
|
|
2255
2283
|
}
|
|
2256
2284
|
function handleSearch(value2) {
|
|
2257
2285
|
keyword.value = value2;
|
|
@@ -2261,7 +2289,6 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2261
2289
|
return (_ctx, _cache) => {
|
|
2262
2290
|
return vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Select), {
|
|
2263
2291
|
value: value.value,
|
|
2264
|
-
"onUpdate:value": _cache[0] || (_cache[0] = ($event) => value.value = $event),
|
|
2265
2292
|
placeholder: "\u8BF7\u9009\u62E9",
|
|
2266
2293
|
"show-search": "",
|
|
2267
2294
|
"show-arrow": false,
|
|
@@ -2301,6 +2328,7 @@ var shop = {
|
|
|
2301
2328
|
change(inject, value) {
|
|
2302
2329
|
const rule = inject.self;
|
|
2303
2330
|
rule.value = value;
|
|
2331
|
+
rule.props.value = value;
|
|
2304
2332
|
vue.nextTick(() => {
|
|
2305
2333
|
setTimeout(() => {
|
|
2306
2334
|
inject.api.validateField(rule.field);
|
|
@@ -2331,6 +2359,7 @@ var shop = {
|
|
|
2331
2359
|
change(inject, value) {
|
|
2332
2360
|
const rule = inject.self;
|
|
2333
2361
|
rule.value = value;
|
|
2362
|
+
rule.props.value = value;
|
|
2334
2363
|
vue.nextTick(() => {
|
|
2335
2364
|
setTimeout(() => {
|
|
2336
2365
|
inject.api.validateField(rule.field);
|
|
@@ -2369,7 +2398,7 @@ var shop = {
|
|
|
2369
2398
|
};
|
|
2370
2399
|
|
|
2371
2400
|
const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
2372
|
-
__name: "material-type
|
|
2401
|
+
__name: "material-type",
|
|
2373
2402
|
props: ["config", "multiple", "format", "value"],
|
|
2374
2403
|
emits: ["change"],
|
|
2375
2404
|
setup(__props, { emit: emits }) {
|
|
@@ -2394,58 +2423,65 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
|
2394
2423
|
result.forEach((item) => {
|
|
2395
2424
|
item.isLeaf = props.format === optionLength + 1;
|
|
2396
2425
|
});
|
|
2397
|
-
|
|
2426
|
+
if (result.length) {
|
|
2427
|
+
targetOption.children = result;
|
|
2428
|
+
} else {
|
|
2429
|
+
targetOption.isLeaf = true;
|
|
2430
|
+
}
|
|
2398
2431
|
}).finally(() => {
|
|
2399
2432
|
targetOption.loading = false;
|
|
2400
2433
|
});
|
|
2401
2434
|
}
|
|
2402
|
-
function handleChange(
|
|
2403
|
-
|
|
2435
|
+
function handleChange(value, selectedOptions) {
|
|
2436
|
+
const result = lodashEs.cloneDeep(selectedOptions);
|
|
2437
|
+
processValue(result);
|
|
2438
|
+
emits("change", result);
|
|
2439
|
+
}
|
|
2440
|
+
function processValue(selectedOptions) {
|
|
2441
|
+
selectedOptions.forEach((item) => {
|
|
2442
|
+
if (Array.isArray(item))
|
|
2443
|
+
processValue(item);
|
|
2444
|
+
else {
|
|
2445
|
+
delete item.disabled;
|
|
2446
|
+
delete item.children;
|
|
2447
|
+
delete item.isLeaf;
|
|
2448
|
+
delete item.loading;
|
|
2449
|
+
}
|
|
2450
|
+
});
|
|
2451
|
+
}
|
|
2452
|
+
function formatValue(value) {
|
|
2453
|
+
value = value || [];
|
|
2454
|
+
return value.reduce((pre, cur) => {
|
|
2455
|
+
if (Array.isArray(cur)) {
|
|
2456
|
+
pre.push(cur.map((c) => c.value));
|
|
2457
|
+
} else {
|
|
2458
|
+
pre.push(cur.value);
|
|
2459
|
+
}
|
|
2460
|
+
return pre;
|
|
2461
|
+
}, []);
|
|
2404
2462
|
}
|
|
2405
2463
|
initOptions();
|
|
2406
2464
|
return (_ctx, _cache) => {
|
|
2407
2465
|
return vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Cascader), {
|
|
2408
|
-
value: __props.value,
|
|
2466
|
+
value: formatValue(__props.value),
|
|
2409
2467
|
placeholder: "\u8BF7\u8F93\u5165",
|
|
2410
2468
|
multiple: __props.multiple,
|
|
2411
2469
|
options: options.value,
|
|
2412
2470
|
"load-data": loadData,
|
|
2413
2471
|
"get-popup-container": vue.unref(getContainer),
|
|
2414
|
-
|
|
2472
|
+
onChange: handleChange
|
|
2415
2473
|
}, null, 8, ["value", "multiple", "options", "get-popup-container"]);
|
|
2416
2474
|
};
|
|
2417
2475
|
}
|
|
2418
2476
|
});
|
|
2419
|
-
var
|
|
2477
|
+
var materialType$1 = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__file", "material-type.vue"]]);
|
|
2420
2478
|
|
|
2421
|
-
FC__default["default"].register({
|
|
2422
|
-
name: 'materialTypesOption',
|
|
2423
|
-
init({ value }, rule) {
|
|
2424
|
-
getOption(value, { level: 1, relationCode: '' }).then((data) => {
|
|
2425
|
-
data = isLeaf(data, rule.config.format === 1);
|
|
2426
|
-
if (rule.props) {
|
|
2427
|
-
rule.props.options = data;
|
|
2428
|
-
}
|
|
2429
|
-
else {
|
|
2430
|
-
(rule.props = {}).options = data;
|
|
2431
|
-
}
|
|
2432
|
-
});
|
|
2433
|
-
},
|
|
2434
|
-
});
|
|
2435
|
-
function getOption(config, data) {
|
|
2436
|
-
return config.fetch(data);
|
|
2437
|
-
}
|
|
2438
|
-
function isLeaf(data, value) {
|
|
2439
|
-
data.forEach((item) => {
|
|
2440
|
-
item.isLeaf = value;
|
|
2441
|
-
});
|
|
2442
|
-
return data;
|
|
2443
|
-
}
|
|
2444
2479
|
var materialType = {
|
|
2445
2480
|
name: 'materialType',
|
|
2446
2481
|
rule(data, extraConfig) {
|
|
2447
2482
|
return {
|
|
2448
|
-
type: '
|
|
2483
|
+
type: 'materialType',
|
|
2484
|
+
component: materialType$1,
|
|
2449
2485
|
field: data.field,
|
|
2450
2486
|
title: '素材类型',
|
|
2451
2487
|
validate: [
|
|
@@ -2457,38 +2493,22 @@ var materialType = {
|
|
|
2457
2493
|
},
|
|
2458
2494
|
],
|
|
2459
2495
|
props: {
|
|
2460
|
-
|
|
2496
|
+
value: data.value,
|
|
2461
2497
|
multiple: data.props.multiple,
|
|
2462
|
-
loadData(inject, selectedOptions) {
|
|
2463
|
-
const optionLength = selectedOptions.length;
|
|
2464
|
-
const targetOption = selectedOptions[optionLength - 1];
|
|
2465
|
-
targetOption.loading = true;
|
|
2466
|
-
getOption(extraConfig.materialType, {
|
|
2467
|
-
level: optionLength + 1,
|
|
2468
|
-
relationCode: targetOption.value,
|
|
2469
|
-
})
|
|
2470
|
-
.then((result) => {
|
|
2471
|
-
result = isLeaf(result, inject.self.config.format === optionLength + 1);
|
|
2472
|
-
targetOption.children = result;
|
|
2473
|
-
})
|
|
2474
|
-
.finally(() => {
|
|
2475
|
-
targetOption.loading = false;
|
|
2476
|
-
});
|
|
2477
|
-
},
|
|
2478
|
-
},
|
|
2479
|
-
config: {
|
|
2480
2498
|
format: data.config.format,
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
materialTypesOption: extraConfig.materialType,
|
|
2499
|
+
config: extraConfig.materialType,
|
|
2500
|
+
disabled: data.disabled,
|
|
2484
2501
|
},
|
|
2485
2502
|
inject: true,
|
|
2486
2503
|
on: {
|
|
2487
2504
|
change(inject, list) {
|
|
2488
2505
|
const rule = inject.self;
|
|
2489
2506
|
rule.value = list;
|
|
2507
|
+
rule.props.value = list;
|
|
2490
2508
|
vue.nextTick(() => {
|
|
2491
|
-
|
|
2509
|
+
setTimeout(() => {
|
|
2510
|
+
inject.api.validateField(rule.field);
|
|
2511
|
+
});
|
|
2492
2512
|
});
|
|
2493
2513
|
},
|
|
2494
2514
|
},
|
|
@@ -2497,7 +2517,8 @@ var materialType = {
|
|
|
2497
2517
|
},
|
|
2498
2518
|
rowRule(data, extraConfig) {
|
|
2499
2519
|
return {
|
|
2500
|
-
type: '
|
|
2520
|
+
type: 'materialType',
|
|
2521
|
+
component: materialType$1,
|
|
2501
2522
|
field: data.field,
|
|
2502
2523
|
title: '素材类型',
|
|
2503
2524
|
validate: [
|
|
@@ -2509,35 +2530,22 @@ var materialType = {
|
|
|
2509
2530
|
},
|
|
2510
2531
|
],
|
|
2511
2532
|
props: {
|
|
2512
|
-
|
|
2533
|
+
value: data.value,
|
|
2513
2534
|
multiple: data.props.multiple,
|
|
2514
|
-
loadData(inject, selectedOptions) {
|
|
2515
|
-
const optionLength = selectedOptions.length;
|
|
2516
|
-
const targetOption = selectedOptions[optionLength - 1];
|
|
2517
|
-
targetOption.loading = true;
|
|
2518
|
-
getOption(extraConfig.materialType, optionLength + 1)
|
|
2519
|
-
.then((result) => {
|
|
2520
|
-
result = isLeaf(result, inject.self.config.format === optionLength + 1);
|
|
2521
|
-
targetOption.children = result;
|
|
2522
|
-
})
|
|
2523
|
-
.finally(() => {
|
|
2524
|
-
targetOption.loading = false;
|
|
2525
|
-
});
|
|
2526
|
-
},
|
|
2527
|
-
},
|
|
2528
|
-
config: {
|
|
2529
2535
|
format: data.config.format,
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
materialTypesOption: extraConfig.materialType,
|
|
2536
|
+
config: extraConfig.materialType,
|
|
2537
|
+
disabled: data.disabled,
|
|
2533
2538
|
},
|
|
2534
2539
|
inject: true,
|
|
2535
2540
|
on: {
|
|
2536
2541
|
change(inject, list) {
|
|
2537
2542
|
const rule = inject.self;
|
|
2538
2543
|
rule.value = list;
|
|
2544
|
+
rule.props.value = list;
|
|
2539
2545
|
vue.nextTick(() => {
|
|
2540
|
-
|
|
2546
|
+
setTimeout(() => {
|
|
2547
|
+
inject.api.validateField(rule.field);
|
|
2548
|
+
});
|
|
2541
2549
|
});
|
|
2542
2550
|
},
|
|
2543
2551
|
},
|
|
@@ -2556,7 +2564,7 @@ var materialType = {
|
|
|
2556
2564
|
minWidth: '138px',
|
|
2557
2565
|
slots: {
|
|
2558
2566
|
default({ row }) {
|
|
2559
|
-
return vue.h(
|
|
2567
|
+
return vue.h(materialType$1, {
|
|
2560
2568
|
multiple: data.props.multiple,
|
|
2561
2569
|
format: data.config.format,
|
|
2562
2570
|
config: extraConfig.materialType,
|
|
@@ -2606,6 +2614,7 @@ var row = {
|
|
|
2606
2614
|
var department = {
|
|
2607
2615
|
name: 'department',
|
|
2608
2616
|
rule(data, extraConfig) {
|
|
2617
|
+
var _a;
|
|
2609
2618
|
return {
|
|
2610
2619
|
type: 'StaffSelector',
|
|
2611
2620
|
component: StaffSelector,
|
|
@@ -2623,6 +2632,7 @@ var department = {
|
|
|
2623
2632
|
return yield extraConfig.department.fetch();
|
|
2624
2633
|
});
|
|
2625
2634
|
},
|
|
2635
|
+
fieldNames: (_a = extraConfig.people) === null || _a === void 0 ? void 0 : _a.fieldNames,
|
|
2626
2636
|
},
|
|
2627
2637
|
effect: {
|
|
2628
2638
|
required: data.effect.required && '请选择',
|
|
@@ -2647,6 +2657,7 @@ var department = {
|
|
|
2647
2657
|
};
|
|
2648
2658
|
},
|
|
2649
2659
|
rowRule(data, extraConfig) {
|
|
2660
|
+
var _a;
|
|
2650
2661
|
return {
|
|
2651
2662
|
type: 'StaffSelector',
|
|
2652
2663
|
component: StaffSelector,
|
|
@@ -2664,6 +2675,7 @@ var department = {
|
|
|
2664
2675
|
return yield extraConfig.department.fetch();
|
|
2665
2676
|
});
|
|
2666
2677
|
},
|
|
2678
|
+
fieldNames: (_a = extraConfig.people) === null || _a === void 0 ? void 0 : _a.fieldNames,
|
|
2667
2679
|
},
|
|
2668
2680
|
effect: {
|
|
2669
2681
|
required: data.effect.required && '请选择',
|
|
@@ -97,7 +97,7 @@ const _hoisted_1$f = {
|
|
|
97
97
|
};
|
|
98
98
|
const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
99
99
|
__name: "drag-tool",
|
|
100
|
-
props: ["rule", "
|
|
100
|
+
props: ["rule", "activeRuleField", "parentRule"],
|
|
101
101
|
emits: [
|
|
102
102
|
"copy",
|
|
103
103
|
"delete",
|
|
@@ -108,7 +108,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
108
108
|
],
|
|
109
109
|
setup(__props, { emit: emits }) {
|
|
110
110
|
const props = __props;
|
|
111
|
-
const isActive = vue.computed(() => props.rule.field === props.
|
|
111
|
+
const isActive = vue.computed(() => props.rule.field === props.activeRuleField);
|
|
112
112
|
const option = vue.computed(() => ({
|
|
113
113
|
form: {
|
|
114
114
|
layout: "vertical"
|
|
@@ -116,6 +116,13 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
116
116
|
submitBtn: {
|
|
117
117
|
show: false
|
|
118
118
|
},
|
|
119
|
+
global: {
|
|
120
|
+
"*": {
|
|
121
|
+
props: {
|
|
122
|
+
activeRuleField: props.activeRuleField
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
},
|
|
119
126
|
parentType: props.parentRule?.type,
|
|
120
127
|
childRules: props.parentRule?.config?.childRules
|
|
121
128
|
}));
|
|
@@ -146,16 +153,16 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
146
153
|
props.rule.config.isHover = true;
|
|
147
154
|
}
|
|
148
155
|
function handleNestSetActiveRule(element, parentRule) {
|
|
149
|
-
emits("setActiveRule", element, parentRule
|
|
156
|
+
emits("setActiveRule", element, parentRule);
|
|
150
157
|
}
|
|
151
|
-
function
|
|
152
|
-
emitCopyEvt(rule,
|
|
158
|
+
function handleNestCopy(rule, parentRule) {
|
|
159
|
+
emitCopyEvt(rule, parentRule);
|
|
153
160
|
}
|
|
154
|
-
function
|
|
155
|
-
emitDeleteEvt(rule,
|
|
161
|
+
function handleNestDelete(rule, parentRule) {
|
|
162
|
+
emitDeleteEvt(rule, parentRule);
|
|
156
163
|
}
|
|
157
|
-
function handleNestAdd(rule) {
|
|
158
|
-
emits("widgetAdd", rule,
|
|
164
|
+
function handleNestAdd(rule, parentRule) {
|
|
165
|
+
emits("widgetAdd", rule, parentRule);
|
|
159
166
|
}
|
|
160
167
|
return (_ctx, _cache) => {
|
|
161
168
|
const _component_FormCreate = vue.resolveComponent("FormCreate");
|
|
@@ -180,8 +187,8 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
180
187
|
onNestMouseenter: handleRowWidgetMouseenter,
|
|
181
188
|
onNestMouseleave: handleRowWidgetMouseleave,
|
|
182
189
|
onNestSetActiveRule: handleNestSetActiveRule,
|
|
183
|
-
onNestCopy:
|
|
184
|
-
onNestDelete:
|
|
190
|
+
onNestCopy: handleNestCopy,
|
|
191
|
+
onNestDelete: handleNestDelete,
|
|
185
192
|
onNestAdd: handleNestAdd
|
|
186
193
|
}, null, 8, ["option", "rule"])) : (vue.openBlock(), vue.createBlock(WidgetInstruction, {
|
|
187
194
|
key: 1,
|
|
@@ -256,7 +263,7 @@ const _hoisted_2$a = {
|
|
|
256
263
|
};
|
|
257
264
|
const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
258
265
|
__name: "widget-row",
|
|
259
|
-
props: ["
|
|
266
|
+
props: ["activeRuleField", "formCreateInject"],
|
|
260
267
|
emits: [
|
|
261
268
|
"mouseenter",
|
|
262
269
|
"mouseleave",
|
|
@@ -267,32 +274,35 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
267
274
|
],
|
|
268
275
|
setup(__props, { emit: emits }) {
|
|
269
276
|
const props = __props;
|
|
270
|
-
const
|
|
277
|
+
const rowRule = vue.computed(() => props.formCreateInject.rule);
|
|
278
|
+
const childRules = vue.computed(() => rowRule.value.config.childRules);
|
|
271
279
|
function handleMouseenter() {
|
|
272
280
|
emits("mouseenter");
|
|
273
281
|
}
|
|
274
282
|
function handleMouseleave() {
|
|
275
283
|
emits("mouseleave");
|
|
276
284
|
}
|
|
277
|
-
function emitSetActiveRuleEvt(rule, parentRule
|
|
285
|
+
function emitSetActiveRuleEvt(rule, parentRule) {
|
|
278
286
|
emits("set-active-rule", rule, parentRule);
|
|
279
287
|
}
|
|
280
288
|
function handleClick(element) {
|
|
281
|
-
emitSetActiveRuleEvt(element);
|
|
289
|
+
emitSetActiveRuleEvt(element, rowRule.value);
|
|
282
290
|
}
|
|
283
291
|
function handleRowWidgetAdd({ newIndex }) {
|
|
284
|
-
emits("add", childRules.value[newIndex]);
|
|
292
|
+
emits("add", childRules.value[newIndex], rowRule.value);
|
|
285
293
|
}
|
|
286
294
|
function handleRowWidgetUpdate({ newIndex }) {
|
|
287
295
|
const rule = childRules.value[newIndex];
|
|
288
296
|
if (rule)
|
|
289
|
-
emitSetActiveRuleEvt(rule);
|
|
297
|
+
emitSetActiveRuleEvt(rule, rowRule.value);
|
|
290
298
|
}
|
|
291
|
-
function handleCopy(rule) {
|
|
292
|
-
|
|
299
|
+
function handleCopy(rule, parentRule) {
|
|
300
|
+
parentRule = parentRule || rowRule.value;
|
|
301
|
+
emits("copy", rule, parentRule);
|
|
293
302
|
}
|
|
294
|
-
function handleDelete(rule) {
|
|
295
|
-
|
|
303
|
+
function handleDelete(rule, parentRule) {
|
|
304
|
+
parentRule = parentRule || rowRule.value;
|
|
305
|
+
emits("delete", rule, parentRule);
|
|
296
306
|
}
|
|
297
307
|
function handleWidgetInTableActive(rule, parentRule) {
|
|
298
308
|
emitSetActiveRuleEvt(rule, parentRule);
|
|
@@ -329,7 +339,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
329
339
|
default: vue.withCtx(() => [
|
|
330
340
|
vue.createVNode(DragTool, {
|
|
331
341
|
rule: element,
|
|
332
|
-
"active-rule": __props.
|
|
342
|
+
"active-rule-field": __props.activeRuleField,
|
|
333
343
|
"parent-rule": __props.formCreateInject.rule,
|
|
334
344
|
onMouseenter: handleMouseenter,
|
|
335
345
|
onMouseleave: handleMouseleave,
|
|
@@ -337,7 +347,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
337
347
|
onCopy: handleCopy,
|
|
338
348
|
onDelete: handleDelete,
|
|
339
349
|
onSetActiveRule: handleWidgetInTableActive
|
|
340
|
-
}, null, 8, ["rule", "active-rule", "parent-rule", "onClick"]),
|
|
350
|
+
}, null, 8, ["rule", "active-rule-field", "parent-rule", "onClick"]),
|
|
341
351
|
vue.createVNode(DragPlaceholder)
|
|
342
352
|
]),
|
|
343
353
|
_: 2
|
|
@@ -1805,7 +1815,7 @@ const _hoisted_17 = /* @__PURE__ */ vue.createElementVNode("span", null, null, -
|
|
|
1805
1815
|
const _hoisted_18 = /* @__PURE__ */ vue.createElementVNode("a", null, "\u5220\u9664", -1);
|
|
1806
1816
|
const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
1807
1817
|
__name: "widget-table",
|
|
1808
|
-
props: ["formCreateInject", "
|
|
1818
|
+
props: ["formCreateInject", "activeRuleField"],
|
|
1809
1819
|
emits: [
|
|
1810
1820
|
"add",
|
|
1811
1821
|
"mouseenter",
|
|
@@ -1816,16 +1826,16 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
1816
1826
|
],
|
|
1817
1827
|
setup(__props, { emit: emits }) {
|
|
1818
1828
|
const props = __props;
|
|
1819
|
-
const
|
|
1820
|
-
const childRules = vue.computed(() =>
|
|
1829
|
+
const tableRule = vue.computed(() => props.formCreateInject.rule);
|
|
1830
|
+
const childRules = vue.computed(() => tableRule.value.config.childRules);
|
|
1821
1831
|
const showDelete = vue.computed(() => showFeature("delete"));
|
|
1822
1832
|
const showImport = vue.computed(() => showFeature("import"));
|
|
1823
1833
|
const showCopy = vue.computed(() => showFeature("copy"));
|
|
1824
1834
|
function showFeature(featureId) {
|
|
1825
|
-
return
|
|
1835
|
+
return tableRule.value.config.tableAdvancedFeatures.includes(featureId);
|
|
1826
1836
|
}
|
|
1827
1837
|
function handleAdd({ newIndex }) {
|
|
1828
|
-
emits("add", childRules.value[newIndex]);
|
|
1838
|
+
emits("add", childRules.value[newIndex], tableRule.value);
|
|
1829
1839
|
}
|
|
1830
1840
|
function handleMouseenter() {
|
|
1831
1841
|
emits("mouseenter");
|
|
@@ -1833,8 +1843,8 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
1833
1843
|
function handleMouseleave() {
|
|
1834
1844
|
emits("mouseleave");
|
|
1835
1845
|
}
|
|
1836
|
-
function emitSetActiveRuleEvt(
|
|
1837
|
-
emits("set-active-rule",
|
|
1846
|
+
function emitSetActiveRuleEvt(rule) {
|
|
1847
|
+
emits("set-active-rule", rule, tableRule.value);
|
|
1838
1848
|
}
|
|
1839
1849
|
function handleClick(element) {
|
|
1840
1850
|
emitSetActiveRuleEvt(element);
|
|
@@ -1842,11 +1852,11 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
1842
1852
|
function handleUpdate({ newIndex }) {
|
|
1843
1853
|
emitSetActiveRuleEvt(childRules.value[newIndex]);
|
|
1844
1854
|
}
|
|
1845
|
-
function handleCopy(
|
|
1846
|
-
emits("copy",
|
|
1855
|
+
function handleCopy(rule) {
|
|
1856
|
+
emits("copy", rule, tableRule.value);
|
|
1847
1857
|
}
|
|
1848
|
-
function handleDelete(
|
|
1849
|
-
emits("delete",
|
|
1858
|
+
function handleDelete(rule) {
|
|
1859
|
+
emits("delete", rule, tableRule.value);
|
|
1850
1860
|
}
|
|
1851
1861
|
return (_ctx, _cache) => {
|
|
1852
1862
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
|
|
@@ -1891,7 +1901,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
1891
1901
|
vue.unref(childRules).length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$1, _hoisted_8)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, "\u53EF\u62D6\u5165\u591A\u4E2A\u63A7\u4EF6")),
|
|
1892
1902
|
vue.createVNode(vue.unref(Draggable__default["default"]), {
|
|
1893
1903
|
"component-data": {
|
|
1894
|
-
field: vue.unref(
|
|
1904
|
+
field: vue.unref(tableRule).field,
|
|
1895
1905
|
type: vue.unref(WidgetType).TableWidget
|
|
1896
1906
|
},
|
|
1897
1907
|
class: "bm-widget-table__drag-content",
|
|
@@ -1917,14 +1927,14 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
1917
1927
|
}, [
|
|
1918
1928
|
vue.createVNode(DragTool, {
|
|
1919
1929
|
rule: element,
|
|
1920
|
-
"active-rule": __props.
|
|
1930
|
+
"active-rule-field": __props.activeRuleField,
|
|
1921
1931
|
"parent-rule": __props.formCreateInject.rule,
|
|
1922
1932
|
onMouseenter: handleMouseenter,
|
|
1923
1933
|
onMouseleave: handleMouseleave,
|
|
1924
1934
|
onClick: vue.withModifiers(($event) => handleClick(element), ["stop"]),
|
|
1925
1935
|
onCopy: handleCopy,
|
|
1926
1936
|
onDelete: handleDelete
|
|
1927
|
-
}, null, 8, ["rule", "active-rule", "parent-rule", "onClick"]),
|
|
1937
|
+
}, null, 8, ["rule", "active-rule-field", "parent-rule", "onClick"]),
|
|
1928
1938
|
vue.createVNode(DragPlaceholder)
|
|
1929
1939
|
], 4)
|
|
1930
1940
|
]),
|
|
@@ -3994,22 +4004,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
3994
4004
|
function setActiveRule(rule, parentRule = void 0) {
|
|
3995
4005
|
activeRule.value = rule;
|
|
3996
4006
|
activeParentRule.value = parentRule;
|
|
3997
|
-
widgetFormRules.forEach((item) => {
|
|
3998
|
-
if (item.type === WidgetType.RowWidget || item.type === WidgetType.TableWidget) {
|
|
3999
|
-
vue.nextTick(() => {
|
|
4000
|
-
item.props.activeRule = rule;
|
|
4001
|
-
});
|
|
4002
|
-
if (item.type === WidgetType.RowWidget && item?.config?.childRules?.length) {
|
|
4003
|
-
item.config.childRules.forEach((childRule) => {
|
|
4004
|
-
if (childRule.type === WidgetType.TableWidget) {
|
|
4005
|
-
vue.nextTick(() => {
|
|
4006
|
-
childRule.props.activeRule = rule;
|
|
4007
|
-
});
|
|
4008
|
-
}
|
|
4009
|
-
});
|
|
4010
|
-
}
|
|
4011
|
-
}
|
|
4012
|
-
});
|
|
4013
4007
|
if (!cacheProps[rule.field]) {
|
|
4014
4008
|
cacheProps[rule.field] = makePropRule(rule, parentRule);
|
|
4015
4009
|
}
|
|
@@ -4066,20 +4060,18 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
4066
4060
|
}
|
|
4067
4061
|
}
|
|
4068
4062
|
function getFormRule() {
|
|
4069
|
-
return widgetFormRules.map((rule) =>
|
|
4070
|
-
const ruleParsed = parseRule(rule);
|
|
4071
|
-
const childRules = rule?.config?.childRules;
|
|
4072
|
-
if (childRules?.length) {
|
|
4073
|
-
const childRulesParsed = ruleParsed.config.childRules = [];
|
|
4074
|
-
childRules.forEach((ruleItem) => {
|
|
4075
|
-
childRulesParsed.push(parseRule(ruleItem));
|
|
4076
|
-
});
|
|
4077
|
-
}
|
|
4078
|
-
return ruleParsed;
|
|
4079
|
-
});
|
|
4063
|
+
return widgetFormRules.map((rule) => parseRule(rule));
|
|
4080
4064
|
}
|
|
4081
4065
|
function parseRule(rule) {
|
|
4082
|
-
|
|
4066
|
+
const ruleParsed = rule.config.config.parse(rule);
|
|
4067
|
+
const childRules = rule?.config?.childRules;
|
|
4068
|
+
if (childRules?.length) {
|
|
4069
|
+
const childRulesParsed = ruleParsed.config.childRules = [];
|
|
4070
|
+
childRules.forEach((ruleItem) => {
|
|
4071
|
+
childRulesParsed.push(parseRule(ruleItem));
|
|
4072
|
+
});
|
|
4073
|
+
}
|
|
4074
|
+
return ruleParsed;
|
|
4083
4075
|
}
|
|
4084
4076
|
function edit(formRules) {
|
|
4085
4077
|
widgetFormRules.splice(0);
|
|
@@ -4271,7 +4263,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
4271
4263
|
vue.createElementVNode("div", _hoisted_4, [
|
|
4272
4264
|
vue.createVNode(DragTool, {
|
|
4273
4265
|
rule: element,
|
|
4274
|
-
"active-rule": activeRule.value,
|
|
4266
|
+
"active-rule-field": activeRule.value.field,
|
|
4275
4267
|
style: vue.normalizeStyle({
|
|
4276
4268
|
width: element.config.fieldRatio
|
|
4277
4269
|
}),
|
|
@@ -4280,7 +4272,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
4280
4272
|
onClick: ($event) => handleFormItemClick(element),
|
|
4281
4273
|
onSetActiveRule: setActiveRule,
|
|
4282
4274
|
onWidgetAdd: handleWidgetAdd
|
|
4283
|
-
}, null, 8, ["rule", "active-rule", "style", "onClick"]),
|
|
4275
|
+
}, null, 8, ["rule", "active-rule-field", "style", "onClick"]),
|
|
4284
4276
|
vue.createVNode(DragPlaceholder)
|
|
4285
4277
|
])
|
|
4286
4278
|
]),
|