tianheng-ui 0.0.77 → 0.0.80
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 +32 -18
- package/package.json +1 -1
- package/packages/FormMaking/GenerateForm.vue +1 -5
- package/packages/FormMaking/index.js +1 -1
- package/packages/FormMaking/{Container.vue → index.vue} +1 -1
- package/packages/FormMaking/making.js +1 -1
- package/packages/Table/index.vue +64 -59
- package/packages/Table/search.vue +16 -1
- package/packages/TableMaking/custom/items/search/index.vue +158 -0
- package/packages/TableMaking/custom/items/tools/index.vue +49 -0
- package/packages/TableMaking/generate.js +5 -0
- package/packages/TableMaking/generateTable.vue +359 -0
- package/packages/TableMaking/index.vue +1 -1
- package/packages/TableMaking/util/axios.js +86 -0
- package/packages/TableMaking/util/index.js +198 -0
- package/packages/TableMaking/widgetConfig.vue +37 -29
- package/packages/TableMaking/widgetTable.vue +67 -12
- package/packages/index.js +4 -0
@@ -65,9 +65,10 @@
|
|
65
65
|
<el-select
|
66
66
|
v-model="tableConfig.table.sort.key"
|
67
67
|
placeholder="请选择"
|
68
|
+
clearable
|
68
69
|
>
|
69
70
|
<el-option
|
70
|
-
v-for="item in
|
71
|
+
v-for="item in sortFieldOptions"
|
71
72
|
:key="item.value"
|
72
73
|
:label="item.label"
|
73
74
|
:value="item.value"
|
@@ -75,11 +76,19 @@
|
|
75
76
|
</el-option>
|
76
77
|
</el-select>
|
77
78
|
</el-form-item>
|
79
|
+
<el-form-item label="序号">
|
80
|
+
<el-switch v-model="tableConfig.table.sequence"> </el-switch>
|
81
|
+
</el-form-item>
|
78
82
|
<el-form-item label="分页设置">
|
79
83
|
<el-switch v-model="tableConfig.table.pageInfo.show"> </el-switch>
|
80
84
|
</el-form-item>
|
81
|
-
<el-form-item
|
82
|
-
|
85
|
+
<el-form-item
|
86
|
+
v-if="tableConfig.table.pageInfo.show"
|
87
|
+
label="分页条数"
|
88
|
+
>
|
89
|
+
<el-radio-group
|
90
|
+
v-model="tableConfig.table.pageInfo.options.pageSize"
|
91
|
+
>
|
83
92
|
<el-radio-button :label="20">20条</el-radio-button>
|
84
93
|
<el-radio-button :label="50">50条</el-radio-button>
|
85
94
|
<el-radio-button :label="100">100条</el-radio-button>
|
@@ -120,9 +129,7 @@
|
|
120
129
|
></el-input>
|
121
130
|
</el-form-item>
|
122
131
|
<el-form-item label-width="90px">
|
123
|
-
<el-checkbox
|
124
|
-
v-model="tableConfig.tools.detail.show"
|
125
|
-
slot="label"
|
132
|
+
<el-checkbox v-model="tableConfig.tools.detail.show" slot="label"
|
126
133
|
>详情</el-checkbox
|
127
134
|
>
|
128
135
|
<el-input
|
@@ -131,9 +138,7 @@
|
|
131
138
|
></el-input>
|
132
139
|
</el-form-item>
|
133
140
|
<el-form-item label-width="90px">
|
134
|
-
<el-checkbox
|
135
|
-
v-model="tableConfig.tools.delete.show"
|
136
|
-
slot="label"
|
141
|
+
<el-checkbox v-model="tableConfig.tools.delete.show" slot="label"
|
137
142
|
>删除</el-checkbox
|
138
143
|
>
|
139
144
|
<el-input
|
@@ -153,9 +158,7 @@
|
|
153
158
|
></el-input>
|
154
159
|
</el-form-item>
|
155
160
|
<el-form-item label-width="90px">
|
156
|
-
<el-checkbox
|
157
|
-
v-model="tableConfig.tools.export.show"
|
158
|
-
slot="label"
|
161
|
+
<el-checkbox v-model="tableConfig.tools.export.show" slot="label"
|
159
162
|
>导出</el-checkbox
|
160
163
|
>
|
161
164
|
<el-input
|
@@ -164,9 +167,7 @@
|
|
164
167
|
></el-input>
|
165
168
|
</el-form-item>
|
166
169
|
<el-form-item label-width="90px">
|
167
|
-
<el-checkbox
|
168
|
-
v-model="tableConfig.tools.import.show"
|
169
|
-
slot="label"
|
170
|
+
<el-checkbox v-model="tableConfig.tools.import.show" slot="label"
|
170
171
|
>导入</el-checkbox
|
171
172
|
>
|
172
173
|
<el-input
|
@@ -222,25 +223,32 @@ export default {
|
|
222
223
|
},
|
223
224
|
table: {
|
224
225
|
options: [],
|
225
|
-
sort: {
|
226
|
-
type: "1",
|
227
|
-
key: ""
|
228
|
-
},
|
229
226
|
pageInfo: {
|
230
227
|
show: true,
|
231
|
-
|
232
|
-
|
228
|
+
options: {
|
229
|
+
pageCount: 0, // 总页数
|
230
|
+
pageSize: 20, // 每页展示的条数
|
231
|
+
currentPage: 1, // 当前页码
|
232
|
+
total: 0, // 总条数
|
233
|
+
sizes: [10, 20, 30, 50, 100]
|
234
|
+
}
|
235
|
+
},
|
236
|
+
sort: { type: "1", key: "createTime" },
|
237
|
+
loading: { show: false, text: "加载中", image: "" },
|
238
|
+
empty: { show: true, text: "暂无数据", image: "" },
|
239
|
+
sequence: true //是否显示序号
|
233
240
|
},
|
234
241
|
tools: {
|
235
|
-
add: { show: true, name: "新增" },
|
236
|
-
edit: { show: true, name: "编辑" },
|
237
|
-
detail: { show:
|
238
|
-
delete: { show: true, name: "删除" },
|
239
|
-
batchDelete: { show:
|
240
|
-
export: { show:
|
241
|
-
import: { show:
|
242
|
+
add: { show: true, name: "新增", position: 1 },
|
243
|
+
edit: { show: true, name: "编辑", position: 2 },
|
244
|
+
detail: { show: true, name: "查看", position: 2 },
|
245
|
+
delete: { show: true, name: "删除", position: 2 },
|
246
|
+
batchDelete: { show: true, name: "批量删除", position: 1 },
|
247
|
+
export: { show: true, name: "导出", position: 1 },
|
248
|
+
import: { show: true, name: "导入", position: 1 }
|
242
249
|
}
|
243
|
-
}
|
250
|
+
},
|
251
|
+
sortFieldOptions: [{ label: "创建时间", value: "createTime" }]
|
244
252
|
};
|
245
253
|
},
|
246
254
|
mounted() {},
|
@@ -7,6 +7,8 @@
|
|
7
7
|
<div>列名</div>
|
8
8
|
<div>字段</div>
|
9
9
|
<div>类型</div>
|
10
|
+
<div>默认值</div>
|
11
|
+
<div>数据来源</div>
|
10
12
|
</div>
|
11
13
|
<draggable
|
12
14
|
class="table-content"
|
@@ -29,7 +31,32 @@
|
|
29
31
|
</div>
|
30
32
|
<div>{{ item.label }}</div>
|
31
33
|
<div>{{ item.prop }}</div>
|
32
|
-
<div>
|
34
|
+
<div>
|
35
|
+
<el-select v-model="item.type" placeholder="请选择" size="mini">
|
36
|
+
<el-option
|
37
|
+
v-for="item in componentOptions"
|
38
|
+
:key="item.value"
|
39
|
+
:label="item.label"
|
40
|
+
:value="item.value"
|
41
|
+
>
|
42
|
+
</el-option>
|
43
|
+
</el-select>
|
44
|
+
</div>
|
45
|
+
<div>
|
46
|
+
<el-input
|
47
|
+
v-model="item.defaultValue"
|
48
|
+
placeholder="请输入内容"
|
49
|
+
size="mini"
|
50
|
+
></el-input>
|
51
|
+
</div>
|
52
|
+
<div>
|
53
|
+
<template v-if="item.type === 'select'">
|
54
|
+
<el-button type="text" size="mini" @click="handleStaticData(item)"
|
55
|
+
>静态</el-button
|
56
|
+
>
|
57
|
+
<el-button type="text" size="mini" disabled>远端</el-button>
|
58
|
+
</template>
|
59
|
+
</div>
|
33
60
|
</div>
|
34
61
|
</draggable>
|
35
62
|
</div>
|
@@ -87,6 +114,15 @@
|
|
87
114
|
</div>
|
88
115
|
</draggable>
|
89
116
|
</div>
|
117
|
+
|
118
|
+
<th-dialog
|
119
|
+
v-model="dialog.visible"
|
120
|
+
:title="dialog.title"
|
121
|
+
:modal-append-to-body="false"
|
122
|
+
@on-affirm="handleDialogAffirm"
|
123
|
+
>
|
124
|
+
<th-code-editor v-model="codeEditorValue"></th-code-editor>
|
125
|
+
</th-dialog>
|
90
126
|
</div>
|
91
127
|
</template>
|
92
128
|
|
@@ -112,11 +148,18 @@ export default {
|
|
112
148
|
return {
|
113
149
|
searchData: this.searchFields,
|
114
150
|
tableData: this.tableFields,
|
151
|
+
componentOptions: [
|
152
|
+
{ label: "输入框", value: "input" },
|
153
|
+
{ label: "下拉框", value: "select" },
|
154
|
+
{ label: "日期框", value: "date" }
|
155
|
+
],
|
115
156
|
alignOptions: [
|
116
157
|
{ label: "左对齐", value: "left" },
|
117
158
|
{ label: "居中对齐", value: "center" },
|
118
159
|
{ label: "右对齐", value: "right" }
|
119
|
-
]
|
160
|
+
],
|
161
|
+
dialog: { visible: false, title: "", data: null },
|
162
|
+
codeEditorValue: ""
|
120
163
|
};
|
121
164
|
},
|
122
165
|
watch: {
|
@@ -146,6 +189,18 @@ export default {
|
|
146
189
|
},
|
147
190
|
handleTableMoveEnd(val) {
|
148
191
|
this.$emit("move", { type: "table", data: val });
|
192
|
+
},
|
193
|
+
handleStaticData(val) {
|
194
|
+
this.dialog = {
|
195
|
+
visible: true,
|
196
|
+
title: `静态数据 - ${val.label}`,
|
197
|
+
data: val
|
198
|
+
};
|
199
|
+
this.codeEditorValue = val.staticData || "";
|
200
|
+
},
|
201
|
+
handleDialogAffirm() {
|
202
|
+
this.dialog.data.staticData = this.codeEditorValue;
|
203
|
+
this.dialog = { visible: false, title: "", data: null };
|
149
204
|
}
|
150
205
|
}
|
151
206
|
};
|
@@ -175,20 +230,20 @@ export default {
|
|
175
230
|
height: calc(100% - 240px);
|
176
231
|
border: 1px solid #dcdfe6;
|
177
232
|
|
178
|
-
.table-header {
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
}
|
233
|
+
// .table-header {
|
234
|
+
// div:nth-child(4) {
|
235
|
+
// flex: none;
|
236
|
+
// width: 70px !important;
|
237
|
+
// }
|
238
|
+
// }
|
184
239
|
.table-content {
|
185
240
|
height: calc(100% - 40px);
|
186
241
|
overflow-y: scroll;
|
187
242
|
}
|
188
|
-
.table-content .table-content-item > div:nth-child(4) {
|
189
|
-
|
190
|
-
|
191
|
-
}
|
243
|
+
// .table-content .table-content-item > div:nth-child(4) {
|
244
|
+
// flex: none;
|
245
|
+
// width: 70px !important;
|
246
|
+
// }
|
192
247
|
.el-input-number--mini {
|
193
248
|
width: 100%;
|
194
249
|
}
|
package/packages/index.js
CHANGED
@@ -42,6 +42,7 @@ import Upload from "./Upload/index.js";
|
|
42
42
|
import FormMaking from "./FormMaking/making.js";
|
43
43
|
import FormGenerate from "./FormMaking/generate.js";
|
44
44
|
import TableMaking from "./TableMaking/making.js";
|
45
|
+
import TableGenerate from "./TableMaking/generate.js";
|
45
46
|
import Workflow from "../packages/Workflow/index.js";
|
46
47
|
|
47
48
|
const components = [
|
@@ -67,6 +68,7 @@ const components = [
|
|
67
68
|
FormMaking,
|
68
69
|
FormGenerate,
|
69
70
|
TableMaking,
|
71
|
+
TableGenerate,
|
70
72
|
Workflow
|
71
73
|
];
|
72
74
|
|
@@ -111,6 +113,7 @@ export default {
|
|
111
113
|
FormMaking,
|
112
114
|
FormGenerate,
|
113
115
|
TableMaking,
|
116
|
+
TableGenerate,
|
114
117
|
Workflow
|
115
118
|
};
|
116
119
|
|
@@ -138,5 +141,6 @@ export {
|
|
138
141
|
FormMaking,
|
139
142
|
FormGenerate,
|
140
143
|
TableMaking,
|
144
|
+
TableGenerate,
|
141
145
|
Workflow
|
142
146
|
};
|