tianheng-ui 0.0.96 → 0.0.99
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/lib/tianheng-ui.js +5 -5
- package/package.json +1 -1
- package/packages/FormMaking/GenerateFormItem.vue +2 -1
- package/packages/FormMaking/WidgetFormItem.vue +59 -29
- package/packages/FormMaking/custom/config.js +14 -11
- package/packages/FormMaking/custom/configs/filler.vue +5 -0
- package/packages/FormMaking/custom/index.js +1 -2
- package/packages/FormMaking/custom/items/grid.vue +2 -1
- package/packages/FormMaking/custom/items/image.vue +9 -1
- package/packages/FormMaking/index.vue +9 -10
package/package.json
CHANGED
@@ -388,7 +388,8 @@
|
|
388
388
|
:style="{
|
389
389
|
width: widget.options.width,
|
390
390
|
height: widget.options.height,
|
391
|
-
borderRadius: widget.options.borderRadius
|
391
|
+
borderRadius: widget.options.borderRadius,
|
392
|
+
verticalAlign:'middle'
|
392
393
|
}"
|
393
394
|
:src="item.url"
|
394
395
|
:fit="widget.options.fit"
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<el-form-item
|
3
3
|
class="widget-view"
|
4
4
|
:class="{
|
5
|
-
active: selectWidget.
|
5
|
+
active: selectWidget.model == widget.model,
|
6
6
|
is_req: widget.options.required,
|
7
7
|
hideLabel: widget.options.hideLabel,
|
8
8
|
'widget-col': ['grid', 'tabs', 'table', 'table_h5', 'alliance'].includes(
|
@@ -25,7 +25,7 @@
|
|
25
25
|
></component>
|
26
26
|
|
27
27
|
<div
|
28
|
-
v-if="selectWidget.
|
28
|
+
v-if="selectWidget.model == widget.model"
|
29
29
|
class="widget-actions"
|
30
30
|
:class="{
|
31
31
|
'widget-actions-col': [
|
@@ -117,36 +117,66 @@ export default {
|
|
117
117
|
},
|
118
118
|
|
119
119
|
handleWidgetClone(index) {
|
120
|
-
const
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
key
|
131
|
-
|
132
|
-
|
120
|
+
const data = JSON.parse(JSON.stringify(this.widgetArray.list[index]));
|
121
|
+
|
122
|
+
const initKey = item => {
|
123
|
+
const key =
|
124
|
+
Date.parse(new Date().toString()) +
|
125
|
+
"_" +
|
126
|
+
Math.ceil(Math.random() * 99999);
|
127
|
+
|
128
|
+
item.options.remoteFunc = `func__${key}`;
|
129
|
+
item.key = key;
|
130
|
+
item.model = item.type + "_" + key;
|
131
|
+
|
132
|
+
if (["table", "table_h5"].includes(item.type)) {
|
133
|
+
item.list.forEach(element => {
|
134
|
+
initKey(element);
|
135
|
+
});
|
136
|
+
}
|
137
|
+
if (["tabs"].includes(item.type)) {
|
138
|
+
item.tabs.forEach(tab => {
|
139
|
+
tab.forEach(element => {
|
140
|
+
initKey(element);
|
141
|
+
});
|
142
|
+
});
|
143
|
+
}
|
144
|
+
if (["grid"].includes(item.type)) {
|
145
|
+
item.columns.forEach(column => {
|
146
|
+
column.list.forEach(element => {
|
147
|
+
initKey(element);
|
148
|
+
});
|
149
|
+
});
|
150
|
+
}
|
133
151
|
};
|
152
|
+
initKey(data);
|
134
153
|
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
154
|
+
// let cloneData = {
|
155
|
+
// ...JSON.parse(JSON.stringify(this.widgetArray.list[index])),
|
156
|
+
// options: {
|
157
|
+
// ...this.widgetArray.list[index].options,
|
158
|
+
// remoteFunc: "func_" + key
|
159
|
+
// },
|
160
|
+
// key,
|
161
|
+
// model: this.widgetArray.list[index].type + "_" + key,
|
162
|
+
// rules: this.widgetArray.list[index].rules || []
|
163
|
+
// };
|
164
|
+
|
165
|
+
// if (
|
166
|
+
// this.widgetArray.list[index].type === "radio" ||
|
167
|
+
// this.widgetArray.list[index].type === "checkbox" ||
|
168
|
+
// this.widgetArray.list[index].type === "select"
|
169
|
+
// ) {
|
170
|
+
// cloneData = {
|
171
|
+
// ...cloneData,
|
172
|
+
// options: {
|
173
|
+
// ...cloneData.options,
|
174
|
+
// options: cloneData.options.options.map(item => ({ ...item }))
|
175
|
+
// }
|
176
|
+
// };
|
177
|
+
// }
|
148
178
|
|
149
|
-
this.widgetArray.list.splice(index, 0,
|
179
|
+
this.widgetArray.list.splice(index, 0, data);
|
150
180
|
|
151
181
|
this.$nextTick(() => {
|
152
182
|
this.selectWidget = this.widgetArray.list[index + 1];
|
@@ -442,16 +442,6 @@ export const basicComponents = [
|
|
442
442
|
onChange: ""
|
443
443
|
}
|
444
444
|
},
|
445
|
-
{
|
446
|
-
name: "填充物",
|
447
|
-
type: "filler",
|
448
|
-
icon: "icon-ic",
|
449
|
-
options: {
|
450
|
-
defaultValue: "",
|
451
|
-
width: "100%",
|
452
|
-
height: "20px"
|
453
|
-
}
|
454
|
-
},
|
455
445
|
{
|
456
446
|
name: "图片",
|
457
447
|
type: "image",
|
@@ -715,7 +705,20 @@ export const layoutComponents = [
|
|
715
705
|
hideLabel: true
|
716
706
|
}
|
717
707
|
},
|
718
|
-
|
708
|
+
{
|
709
|
+
name: "填充物",
|
710
|
+
type: "filler",
|
711
|
+
icon: "icon-ic",
|
712
|
+
options: {
|
713
|
+
defaultValue: "",
|
714
|
+
width: "100%",
|
715
|
+
height: "20px",
|
716
|
+
labelWidth: 100,
|
717
|
+
isLabelWidth: false,
|
718
|
+
hideLabel: true,
|
719
|
+
hidden: false,
|
720
|
+
}
|
721
|
+
},
|
719
722
|
{
|
720
723
|
name: "分割线",
|
721
724
|
type: "divider",
|
@@ -31,6 +31,11 @@
|
|
31
31
|
<el-form-item label="高度">
|
32
32
|
<el-input v-model="widget.options.height"></el-input>
|
33
33
|
</el-form-item>
|
34
|
+
|
35
|
+
<el-form-item label="操作属性">
|
36
|
+
<el-checkbox v-model="widget.options.hidden">隐藏组件 </el-checkbox>
|
37
|
+
<el-checkbox v-model="widget.options.hideLabel">隐藏标签 </el-checkbox>
|
38
|
+
</el-form-item>
|
34
39
|
</el-form>
|
35
40
|
</div>
|
36
41
|
</template>
|
@@ -15,7 +15,6 @@ const basicComponents = [
|
|
15
15
|
"slider",
|
16
16
|
"number",
|
17
17
|
"rate",
|
18
|
-
"filler",
|
19
18
|
"image",
|
20
19
|
"upload",
|
21
20
|
"editor",
|
@@ -24,7 +23,7 @@ const basicComponents = [
|
|
24
23
|
|
25
24
|
const advanceComponents = ["table", "table_h5", "tabs", "blank"];
|
26
25
|
|
27
|
-
const layoutComponents = ["grid", "alliance", "divider"];
|
26
|
+
const layoutComponents = ["grid", "alliance", "filler", "divider"];
|
28
27
|
|
29
28
|
module.exports = {
|
30
29
|
basicComponents,
|
@@ -1,6 +1,7 @@
|
|
1
1
|
<template>
|
2
|
+
<!-- widget.key -->
|
2
3
|
<th-row
|
3
|
-
:class="{ active: selectWidget.
|
4
|
+
:class="{ active: selectWidget.model == widget.model }"
|
4
5
|
:gutter="widget.options.gutter ? widget.options.gutter : 0"
|
5
6
|
:justify="widget.options.justify"
|
6
7
|
:align="widget.options.align"
|
@@ -34,7 +34,7 @@
|
|
34
34
|
:style="selfStyle"
|
35
35
|
:src="item.url"
|
36
36
|
:fit="widget.options.fit"
|
37
|
-
:preview-src-list="
|
37
|
+
:preview-src-list="imagePreviewList"
|
38
38
|
:lazy="widget.options.isLazy"
|
39
39
|
></el-image>
|
40
40
|
</div>
|
@@ -53,7 +53,15 @@ export default {
|
|
53
53
|
style.width = this.widget.options.width;
|
54
54
|
style.height = this.widget.options.height;
|
55
55
|
style.borderRadius = `${this.widget.options.borderRadius || 0}`;
|
56
|
+
style.verticalAlign = "middle";
|
56
57
|
return style;
|
58
|
+
},
|
59
|
+
imagePreviewList() {
|
60
|
+
const list = [];
|
61
|
+
this.widget.options.defaultValue.forEach(item => {
|
62
|
+
list.push(item.url);
|
63
|
+
});
|
64
|
+
return list;
|
57
65
|
}
|
58
66
|
}
|
59
67
|
};
|
@@ -1,6 +1,9 @@
|
|
1
1
|
<template>
|
2
2
|
<div class="fm-container">
|
3
|
-
<el-container
|
3
|
+
<el-container
|
4
|
+
v-if="Object.keys(widgetFormData.config).length"
|
5
|
+
class="container-box"
|
6
|
+
>
|
4
7
|
<el-main>
|
5
8
|
<el-container>
|
6
9
|
<!-- 左侧字段区 -->
|
@@ -441,7 +444,6 @@ export default {
|
|
441
444
|
"slider",
|
442
445
|
"text",
|
443
446
|
"button",
|
444
|
-
"filler",
|
445
447
|
"image",
|
446
448
|
"upload",
|
447
449
|
"editor",
|
@@ -454,7 +456,7 @@ export default {
|
|
454
456
|
},
|
455
457
|
layoutFields: {
|
456
458
|
type: Array,
|
457
|
-
default: () => ["grid", "
|
459
|
+
default: () => ["grid", "filler", "divider"]
|
458
460
|
},
|
459
461
|
remoteApis: {
|
460
462
|
type: Array,
|
@@ -463,8 +465,8 @@ export default {
|
|
463
465
|
},
|
464
466
|
data() {
|
465
467
|
this.basicComponents = basicComponents;
|
466
|
-
this.layoutComponents = layoutComponents;
|
467
468
|
this.advanceComponents = advanceComponents;
|
469
|
+
this.layoutComponents = layoutComponents;
|
468
470
|
this.baseConfig = JSON.parse(JSON.stringify(baseConfig));
|
469
471
|
return {
|
470
472
|
widgetFormData: this.data,
|
@@ -547,13 +549,10 @@ export default {
|
|
547
549
|
this.baseConfig,
|
548
550
|
this.widgetFormData.config
|
549
551
|
);
|
550
|
-
if (
|
551
|
-
this.widgetFormData.list &&
|
552
|
-
this.widgetFormData.list.length
|
553
|
-
) {
|
552
|
+
if (this.widgetFormData.list && this.widgetFormData.list.length) {
|
554
553
|
this.widgetFormSelect = this.widgetFormData.list[0];
|
555
|
-
}else {
|
556
|
-
this.widgetFormData.list = []
|
554
|
+
} else {
|
555
|
+
this.widgetFormData.list = [];
|
557
556
|
}
|
558
557
|
},
|
559
558
|
mounted() {},
|