tianheng-ui 0.1.35 → 0.1.37
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 +13 -20
- package/package.json +1 -1
- package/packages/FormMaking/FormConfig.vue +3 -3
- package/packages/FormMaking/GenerateForm.vue +39 -34
- package/packages/FormMaking/GenerateFormItem.vue +7 -174
- package/packages/FormMaking/WidgetConfig.vue +7 -12
- package/packages/FormMaking/WidgetForm.vue +2 -2
- package/packages/FormMaking/WidgetTools.vue +45 -48
- package/packages/FormMaking/custom/items/grid_pro.vue +1 -2
- package/packages/FormMaking/custom/items/tableH5_pro.vue +1 -2
- package/packages/FormMaking/custom/items/table_pro.vue +1 -2
- package/packages/FormMaking/custom/items/tabs_pro.vue +1 -2
- package/packages/FormMaking/custom/items/upload.vue +6 -2
- package/packages/FormMaking/index.vue +3 -3
- package/packages/FormMaking/util/generateCode.js +69 -75
- package/packages/TableMaking/WidgetTools.vue +0 -17
- package/packages/TableMaking/custom/config.js +14 -5
- package/packages/TableMaking/custom/items/actions/index-pc.vue +118 -0
- package/packages/TableMaking/custom/items/table/index-pc.vue +38 -13
- package/packages/TableMaking/generateList.vue +1 -1
- package/packages/TableMaking/generateTable.vue +205 -170
- package/packages/TableMaking/index.vue +3 -3
- package/packages/TableMaking/widgetConfig.vue +101 -19
- package/packages/TableMaking/widgetTable.vue +42 -4
@@ -57,7 +57,7 @@
|
|
57
57
|
<el-form-item required prop="table.fieldsType">
|
58
58
|
<el-tooltip
|
59
59
|
slot="label"
|
60
|
-
effect="
|
60
|
+
effect="light"
|
61
61
|
content="字段的配置方式"
|
62
62
|
placement="top"
|
63
63
|
>
|
@@ -72,7 +72,7 @@
|
|
72
72
|
><el-form-item required prop="table.mounted.api">
|
73
73
|
<el-tooltip
|
74
74
|
slot="label"
|
75
|
-
effect="
|
75
|
+
effect="light"
|
76
76
|
content="列表初始化完成后,调用该接口获取列表数据"
|
77
77
|
placement="top"
|
78
78
|
>
|
@@ -135,14 +135,75 @@
|
|
135
135
|
<el-form-item label="开启分页">
|
136
136
|
<el-switch v-model="config.table.pageInfo.show"> </el-switch>
|
137
137
|
</el-form-item>
|
138
|
-
<
|
139
|
-
<el-
|
140
|
-
<el-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
138
|
+
<template v-if="config.table.pageInfo.show">
|
139
|
+
<el-form-item label="初始页码">
|
140
|
+
<el-input-number
|
141
|
+
class="pageInfo-currentPage"
|
142
|
+
v-model="config.table.pageInfo.options.currentPage"
|
143
|
+
controls-position="right"
|
144
|
+
:min="1"
|
145
|
+
></el-input-number>
|
146
|
+
</el-form-item>
|
147
|
+
<el-form-item label="分页条数">
|
148
|
+
<el-radio-group
|
149
|
+
v-model="config.table.pageInfo.options.pageSize"
|
150
|
+
>
|
151
|
+
<el-radio-button
|
152
|
+
v-for="size in config.table.pageInfo.options.sizes"
|
153
|
+
:key="size"
|
154
|
+
:label="size"
|
155
|
+
>{{ size }}条</el-radio-button
|
156
|
+
>
|
157
|
+
</el-radio-group>
|
158
|
+
</el-form-item>
|
159
|
+
<el-form-item>
|
160
|
+
<el-tooltip slot="label" effect="light" placement="top">
|
161
|
+
<div slot="content">
|
162
|
+
<div>组件布局,子组件名用逗号分隔。</div>
|
163
|
+
<div v-for="item in pageInfoLayout" :key="item.value">
|
164
|
+
{{ item.value }} : {{ item.label }}
|
165
|
+
</div>
|
166
|
+
</div>
|
167
|
+
<span style="color: #409EFF;">组件布局</span>
|
168
|
+
</el-tooltip>
|
169
|
+
<el-input
|
170
|
+
v-model="config.table.pageInfo.options.layout"
|
171
|
+
type="textarea"
|
172
|
+
:rows="2"
|
173
|
+
placeholder="请输入"
|
174
|
+
></el-input>
|
175
|
+
</el-form-item>
|
176
|
+
<el-form-item label="对齐方式">
|
177
|
+
<el-radio-group
|
178
|
+
v-model="config.table.pageInfo.style.align"
|
179
|
+
>
|
180
|
+
<el-radio-button
|
181
|
+
v-for="item in pageInfoAlign"
|
182
|
+
:key="item.value"
|
183
|
+
:label="item.value"
|
184
|
+
>{{ item.label }}</el-radio-button
|
185
|
+
>
|
186
|
+
</el-radio-group>
|
187
|
+
</el-form-item>
|
188
|
+
<el-form-item label="小型样式">
|
189
|
+
<el-switch v-model="config.table.pageInfo.style.small">
|
190
|
+
</el-switch>
|
191
|
+
</el-form-item>
|
192
|
+
<el-form-item label="背景色">
|
193
|
+
<el-switch v-model="config.table.pageInfo.style.background">
|
194
|
+
</el-switch>
|
195
|
+
</el-form-item>
|
196
|
+
<el-form-item label="是否禁用">
|
197
|
+
<el-switch v-model="config.table.pageInfo.style.disabled">
|
198
|
+
</el-switch>
|
199
|
+
</el-form-item>
|
200
|
+
<el-form-item label="一页隐藏">
|
201
|
+
<el-switch
|
202
|
+
v-model="config.table.pageInfo.style.hideOnSinglePage"
|
203
|
+
>
|
204
|
+
</el-switch>
|
205
|
+
</el-form-item>
|
206
|
+
</template>
|
146
207
|
</el-collapse-item>
|
147
208
|
<el-collapse-item title="提示语配置" name="group-hint">
|
148
209
|
<el-form-item label="空数据">
|
@@ -187,7 +248,7 @@
|
|
187
248
|
</div>
|
188
249
|
</el-collapse-item>
|
189
250
|
<el-collapse-item name="group-style_table">
|
190
|
-
<el-tooltip slot="title" effect="
|
251
|
+
<el-tooltip slot="title" effect="light" placement="top">
|
191
252
|
<div slot="content">
|
192
253
|
<span>显示边框: border</span><br />
|
193
254
|
<span>高度: height</span><br />
|
@@ -201,7 +262,7 @@
|
|
201
262
|
<el-form-item>
|
202
263
|
<el-tooltip
|
203
264
|
slot="label"
|
204
|
-
effect="
|
265
|
+
effect="light"
|
205
266
|
content="Table 的高度,默认为自动高度。如果 height 为 number 类型,单位 px;如果 height 为 string 类型,则这个高度会设置为 Table 的 style.height 的值,Table 的高度会受控于外部样式。"
|
206
267
|
placement="top"
|
207
268
|
>
|
@@ -215,7 +276,7 @@
|
|
215
276
|
</el-form-item>
|
216
277
|
</el-collapse-item>
|
217
278
|
<el-collapse-item name="group-style_cell">
|
218
|
-
<el-tooltip slot="title" effect="
|
279
|
+
<el-tooltip slot="title" effect="light" placement="top">
|
219
280
|
<div slot="content">
|
220
281
|
<span>外边框: margin</span><br />
|
221
282
|
<span>内边框: padding</span><br />
|
@@ -256,7 +317,7 @@
|
|
256
317
|
</el-form-item>
|
257
318
|
</el-collapse-item>
|
258
319
|
<el-collapse-item name="group-style_title">
|
259
|
-
<el-tooltip slot="title" effect="
|
320
|
+
<el-tooltip slot="title" effect="light" placement="top">
|
260
321
|
<div slot="content">
|
261
322
|
<span>外边框: margin</span><br />
|
262
323
|
<span>内边框: padding</span><br />
|
@@ -313,7 +374,7 @@
|
|
313
374
|
</el-form-item>
|
314
375
|
</el-collapse-item>
|
315
376
|
<el-collapse-item name="group-style_value">
|
316
|
-
<el-tooltip slot="title" effect="
|
377
|
+
<el-tooltip slot="title" effect="light" placement="top">
|
317
378
|
<div slot="content">
|
318
379
|
<span>外边框: margin</span><br />
|
319
380
|
<span>内边框: padding</span><br />
|
@@ -443,7 +504,7 @@
|
|
443
504
|
<el-form-item>
|
444
505
|
<el-tooltip
|
445
506
|
slot="label"
|
446
|
-
effect="
|
507
|
+
effect="light"
|
447
508
|
content="按钮点击事件绑定的弹窗表单"
|
448
509
|
placement="top"
|
449
510
|
>
|
@@ -468,7 +529,7 @@
|
|
468
529
|
<el-form-item>
|
469
530
|
<el-tooltip
|
470
531
|
slot="label"
|
471
|
-
effect="
|
532
|
+
effect="light"
|
472
533
|
content="弹窗表单的确认事件绑定的接口,如果关联表单中有配置按钮的提交请求,请勿重复关联"
|
473
534
|
placement="top"
|
474
535
|
>
|
@@ -477,7 +538,6 @@
|
|
477
538
|
<el-select
|
478
539
|
v-model="dialog.data.api"
|
479
540
|
style="width:100%"
|
480
|
-
value-key="id"
|
481
541
|
clearable
|
482
542
|
placeholder="如关联表单中已配置接口,请勿重复关联"
|
483
543
|
no-data-text="暂无接口,请前往【接口模块】创建"
|
@@ -486,7 +546,7 @@
|
|
486
546
|
v-for="item in apiOptions"
|
487
547
|
:key="item.id"
|
488
548
|
:label="item.label"
|
489
|
-
:value="item"
|
549
|
+
:value="item.id"
|
490
550
|
>
|
491
551
|
</el-option>
|
492
552
|
</el-select>
|
@@ -499,8 +559,10 @@
|
|
499
559
|
</template>
|
500
560
|
|
501
561
|
<script>
|
562
|
+
import Draggable from "vuedraggable";
|
502
563
|
import { deepClone } from "../FormMaking/util";
|
503
564
|
export default {
|
565
|
+
components: { Draggable },
|
504
566
|
props: {
|
505
567
|
config: {
|
506
568
|
type: Object,
|
@@ -536,6 +598,19 @@ export default {
|
|
536
598
|
"group-network",
|
537
599
|
"group-button"
|
538
600
|
],
|
601
|
+
pageInfoLayout: [
|
602
|
+
{ label: "总条数", value: "total" },
|
603
|
+
{ label: "分页条数", value: "sizes" },
|
604
|
+
{ label: "上一页", value: "prev" },
|
605
|
+
{ label: "页码", value: "pager" },
|
606
|
+
{ label: "下一页", value: "next" },
|
607
|
+
{ label: "跳转", value: "jumper" }
|
608
|
+
],
|
609
|
+
pageInfoAlign: [
|
610
|
+
{ label: "左对齐", value: "left" },
|
611
|
+
{ label: "居中对齐", value: "center" },
|
612
|
+
{ label: "右对齐", value: "right" }
|
613
|
+
],
|
539
614
|
formRules: {
|
540
615
|
"table.fieldsType": [
|
541
616
|
{ required: true, message: "请选择字段类型", trigger: "change" }
|
@@ -786,5 +861,12 @@ export default {
|
|
786
861
|
.el-radio-button__inner {
|
787
862
|
padding: 7px;
|
788
863
|
}
|
864
|
+
|
865
|
+
.pageInfo-currentPage {
|
866
|
+
width: 100%;
|
867
|
+
.el-input__inner {
|
868
|
+
text-align: left;
|
869
|
+
}
|
870
|
+
}
|
789
871
|
}
|
790
872
|
</style>
|
@@ -1,7 +1,13 @@
|
|
1
1
|
<template>
|
2
2
|
<div class="widgetTable">
|
3
3
|
<div class="table-title">查询字段</div>
|
4
|
-
<div
|
4
|
+
<div
|
5
|
+
class="tableList searchList"
|
6
|
+
v-loading="!config.search.show"
|
7
|
+
element-loading-text="已关闭查询区"
|
8
|
+
:element-loading-spinner="elementLoading.spinner"
|
9
|
+
:element-loading-background="elementLoading.background"
|
10
|
+
>
|
5
11
|
<div class="table-item table-header">
|
6
12
|
<div class="table-item-custom">拖动</div>
|
7
13
|
<div>列名</div>
|
@@ -73,7 +79,7 @@
|
|
73
79
|
<div v-else class="search-content"></div>
|
74
80
|
</div>
|
75
81
|
<div class="table-title">列表字段</div>
|
76
|
-
<div class="tableList" style="height: calc(100% -
|
82
|
+
<div class="tableList" style="height: calc(100% - 340px);">
|
77
83
|
<div class="table-item table-header">
|
78
84
|
<div class="table-item-custom">拖动</div>
|
79
85
|
<div>列名</div>
|
@@ -132,6 +138,29 @@
|
|
132
138
|
</draggable>
|
133
139
|
</div>
|
134
140
|
|
141
|
+
<div class="table-title">分页控件</div>
|
142
|
+
<div
|
143
|
+
class="tableList pageInfo"
|
144
|
+
v-loading="!config.table.pageInfo.show"
|
145
|
+
element-loading-text="已关闭分页"
|
146
|
+
:element-loading-spinner="elementLoading.spinner"
|
147
|
+
:element-loading-background="elementLoading.background"
|
148
|
+
>
|
149
|
+
<el-pagination
|
150
|
+
:style="{ 'text-align': config.table.pageInfo.style.align }"
|
151
|
+
:current-page="config.table.pageInfo.options.currentPage"
|
152
|
+
:small="config.table.pageInfo.style.small"
|
153
|
+
:background="config.table.pageInfo.style.background"
|
154
|
+
:disabled="config.table.pageInfo.style.disabled"
|
155
|
+
:hide-on-single-page="config.table.pageInfo.style.hideOnSinglePage"
|
156
|
+
:page-size="config.table.pageInfo.options.pageSize"
|
157
|
+
:page-sizes="config.table.pageInfo.options.sizes"
|
158
|
+
:layout="config.table.pageInfo.options.layout"
|
159
|
+
:total="1000"
|
160
|
+
>
|
161
|
+
</el-pagination>
|
162
|
+
</div>
|
163
|
+
|
135
164
|
<th-dialog
|
136
165
|
v-model="dialog.visible"
|
137
166
|
:title="dialog.title"
|
@@ -163,7 +192,11 @@ export default {
|
|
163
192
|
{ label: "右对齐", value: "right" }
|
164
193
|
],
|
165
194
|
dialog: { visible: false, title: "", data: null },
|
166
|
-
codeEditorValue: ""
|
195
|
+
codeEditorValue: "",
|
196
|
+
elementLoading: {
|
197
|
+
spinner: "el-icon-warning",
|
198
|
+
background: "rgba(0, 0, 0, 0.6)"
|
199
|
+
}
|
167
200
|
};
|
168
201
|
},
|
169
202
|
mounted() {},
|
@@ -203,7 +236,7 @@ export default {
|
|
203
236
|
}
|
204
237
|
}
|
205
238
|
.tableList {
|
206
|
-
margin
|
239
|
+
margin: 10px 0;
|
207
240
|
border: 1px solid #dcdfe6;
|
208
241
|
|
209
242
|
.table-header {
|
@@ -252,6 +285,11 @@ export default {
|
|
252
285
|
}
|
253
286
|
}
|
254
287
|
|
288
|
+
.pageInfo {
|
289
|
+
padding: 10px 0;
|
290
|
+
height: 52px;
|
291
|
+
}
|
292
|
+
|
255
293
|
// .table-content:hover::-webkit-scrollbar-thumb {
|
256
294
|
// background-color: rgba(69, 90, 100, 0.2);
|
257
295
|
// }
|