@truenewx/tnxvue3 3.0.0-alpha.41 → 3.0.0-alpha.43
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@truenewx/tnxvue3",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.43",
|
|
4
4
|
"description": "互联网技术解决方案:Vue3扩展支持",
|
|
5
5
|
"private": false,
|
|
6
6
|
"publishConfig": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"vue-router": "~4.4.0"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@truenewx/tnxcore": "3.0.0-alpha.
|
|
27
|
+
"@truenewx/tnxcore": "3.0.0-alpha.28",
|
|
28
28
|
"@element-plus/icons-vue": "2.3.1",
|
|
29
29
|
"async-validator": "4.2.5",
|
|
30
30
|
"mitt": "3.0.1"
|
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
border
|
|
11
11
|
@current-change="onSelectRow"
|
|
12
12
|
>
|
|
13
|
+
<template #empty v-if="!tableDataList">
|
|
14
|
+
<tnxel-icon class="text-placeholder" value="Loading"/>
|
|
15
|
+
</template>
|
|
13
16
|
<slot></slot>
|
|
14
17
|
<el-table-column label="排序" align="center" width="60px" v-if="sortable">
|
|
15
18
|
<template #default="{row, $index}">
|
|
@@ -103,13 +106,15 @@ export default {
|
|
|
103
106
|
},
|
|
104
107
|
computed: {
|
|
105
108
|
tableDataList() {
|
|
106
|
-
|
|
107
|
-
let
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
let
|
|
112
|
-
|
|
109
|
+
if (this.data) {
|
|
110
|
+
for (let rowIndex = 0; rowIndex < this.data.length; rowIndex++) {
|
|
111
|
+
let row = this.data[rowIndex];
|
|
112
|
+
this.indexes[this.getRowKey(row, rowIndex)] = rowIndex;
|
|
113
|
+
if (this.rowKey && row.children) {
|
|
114
|
+
for (let j = 0; j < row.children.length; j++) {
|
|
115
|
+
let child = row.children[j];
|
|
116
|
+
this.indexes[this.getRowKey(child)] = [rowIndex, j];
|
|
117
|
+
}
|
|
113
118
|
}
|
|
114
119
|
}
|
|
115
120
|
}
|
|
@@ -148,16 +153,18 @@ export default {
|
|
|
148
153
|
return this.rowKey ? row[this.rowKey] : (rowIndex + '');
|
|
149
154
|
},
|
|
150
155
|
initElements() {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
textarea.
|
|
159
|
-
|
|
160
|
-
|
|
156
|
+
if (this.tableDataList) {
|
|
157
|
+
this.focusRowFirstInput(this.tableDataList[0], 0);
|
|
158
|
+
// 为富文本输入框添加默认title
|
|
159
|
+
let table = this.$refs.table?.$el;
|
|
160
|
+
if (table) {
|
|
161
|
+
let textareas = table.getElementsByTagName('textarea');
|
|
162
|
+
for (let textarea of textareas) {
|
|
163
|
+
if (!textarea.title) {
|
|
164
|
+
textarea.addEventListener('input', event => {
|
|
165
|
+
event.target.title = event.target.value;
|
|
166
|
+
});
|
|
167
|
+
}
|
|
161
168
|
}
|
|
162
169
|
}
|
|
163
170
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<span class="tnxel-icon" :style="style" v-if="value
|
|
2
|
+
<span class="tnxel-icon" :style="style" v-if="value?.length === 1">{{ value }}</span>
|
|
3
3
|
<el-icon :class="className" :color="color" :style="style" v-else>
|
|
4
4
|
<Loading v-if="value === 'Loading'"/>
|
|
5
5
|
<ArrowDown v-else-if="value === 'ArrowDown'"/>
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
<Pointer v-else-if="value === 'Pointer'"/>
|
|
50
50
|
<QuestionFilled v-else-if="value === 'QuestionFilled'"/>
|
|
51
51
|
<Rank v-else-if="value === 'Rank'"/>
|
|
52
|
+
<Reading v-else-if="value === 'Reading'"/>
|
|
52
53
|
<Refresh v-else-if="value === 'Refresh'"/>
|
|
53
54
|
<Remove v-else-if="value === 'Remove'"/>
|
|
54
55
|
<RemoveFilled v-else-if="value === 'RemoveFilled'"/>
|
|
@@ -61,6 +62,7 @@
|
|
|
61
62
|
<SuccessFilled v-else-if="value === 'SuccessFilled'"/>
|
|
62
63
|
<Switch v-else-if="value === 'Switch'"/>
|
|
63
64
|
<Top v-else-if="value === 'Top'"/>
|
|
65
|
+
<User v-else-if="value === 'User'"/>
|
|
64
66
|
<UserFilled v-else-if="value === 'UserFilled'"/>
|
|
65
67
|
<View v-else-if="value === 'View'"/>
|
|
66
68
|
<WarningFilled v-else-if="value === 'WarningFilled'"/>
|
|
@@ -118,6 +120,7 @@ import {
|
|
|
118
120
|
Pointer,
|
|
119
121
|
QuestionFilled,
|
|
120
122
|
Rank,
|
|
123
|
+
Reading,
|
|
121
124
|
Refresh,
|
|
122
125
|
Remove,
|
|
123
126
|
RemoveFilled,
|
|
@@ -130,6 +133,7 @@ import {
|
|
|
130
133
|
SuccessFilled,
|
|
131
134
|
Switch,
|
|
132
135
|
Top,
|
|
136
|
+
User,
|
|
133
137
|
UserFilled,
|
|
134
138
|
View,
|
|
135
139
|
WarningFilled,
|
|
@@ -185,6 +189,7 @@ const components = {
|
|
|
185
189
|
Pointer,
|
|
186
190
|
QuestionFilled,
|
|
187
191
|
Rank,
|
|
192
|
+
Reading,
|
|
188
193
|
Refresh,
|
|
189
194
|
Remove,
|
|
190
195
|
RemoveFilled,
|
|
@@ -197,6 +202,7 @@ const components = {
|
|
|
197
202
|
SuccessFilled,
|
|
198
203
|
Switch,
|
|
199
204
|
Top,
|
|
205
|
+
User,
|
|
200
206
|
UserFilled,
|
|
201
207
|
View,
|
|
202
208
|
WarningFilled,
|
|
@@ -94,3 +94,15 @@ export default {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
</script>
|
|
97
|
+
|
|
98
|
+
<style>
|
|
99
|
+
.tnxel-tabs:not(.el-tabs--border-card):not(.el-tabs--card) .el-tabs__item {
|
|
100
|
+
padding-left: 0.5rem;
|
|
101
|
+
padding-right: 0.5rem;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.tnxel-tabs-pane-label {
|
|
105
|
+
margin-left: 0.5rem;
|
|
106
|
+
margin-right: 0.5rem;
|
|
107
|
+
}
|
|
108
|
+
</style>
|
|
@@ -447,7 +447,7 @@
|
|
|
447
447
|
}
|
|
448
448
|
|
|
449
449
|
div.form-item-tip {
|
|
450
|
-
margin-top:
|
|
450
|
+
margin-top: 4px;
|
|
451
451
|
width: 100%;
|
|
452
452
|
}
|
|
453
453
|
|
|
@@ -475,7 +475,7 @@ span.form-item-tip {
|
|
|
475
475
|
|
|
476
476
|
div.form-item-tip + .el-form-item__error {
|
|
477
477
|
position: absolute;
|
|
478
|
-
top: calc(100% -
|
|
478
|
+
top: calc(100% - 14px);
|
|
479
479
|
margin: 0;
|
|
480
480
|
padding-top: 0;
|
|
481
481
|
}
|
|
@@ -751,16 +751,6 @@ el-card {
|
|
|
751
751
|
cursor: pointer;
|
|
752
752
|
}
|
|
753
753
|
|
|
754
|
-
.tnxel-tabs:not(.el-tabs--border-card):not(.el-tabs--card) .el-tabs__item {
|
|
755
|
-
padding-left: 0.5rem;
|
|
756
|
-
padding-right: 0.5rem;
|
|
757
|
-
}
|
|
758
|
-
|
|
759
|
-
.tnxel-tabs-pane-label {
|
|
760
|
-
margin-left: 0.5rem;
|
|
761
|
-
margin-right: 0.5rem;
|
|
762
|
-
}
|
|
763
|
-
|
|
764
754
|
.el-tabs--border-card {
|
|
765
755
|
box-shadow: none;
|
|
766
756
|
}
|
|
@@ -404,13 +404,14 @@ export default build('tnxel', () => {
|
|
|
404
404
|
}
|
|
405
405
|
});
|
|
406
406
|
|
|
407
|
+
tnxel.libs.ElementPlus = ElementPlus;
|
|
408
|
+
|
|
407
409
|
tnxel.install = tnxel.util.function.around(tnxel.install, function (install, vm) {
|
|
408
410
|
install.call(tnxel, vm);
|
|
409
411
|
// 始终安装ElementPlus,以避免对于不同Vue实例未安装的问题
|
|
410
412
|
vm.use(ElementPlus, {
|
|
411
413
|
locale: ElementPlus_zh_CN,
|
|
412
414
|
});
|
|
413
|
-
tnxel.libs = Object.assign({}, tnxel.libs, {ElementPlus});
|
|
414
415
|
});
|
|
415
416
|
|
|
416
417
|
tnxel.router.beforeLeave =
|
package/src/tnxvue.js
CHANGED
|
@@ -107,7 +107,6 @@ export default build('tnxvue', () => {
|
|
|
107
107
|
const component = this.components[key];
|
|
108
108
|
vm.component(component.name, component);
|
|
109
109
|
}
|
|
110
|
-
this.libs.Vue = Vue;
|
|
111
110
|
},
|
|
112
111
|
dialog(content, title, buttons, options, contentProps) {
|
|
113
112
|
// 默认不实现,由UI框架扩展层实现
|
|
@@ -199,6 +198,8 @@ export default build('tnxvue', () => {
|
|
|
199
198
|
},
|
|
200
199
|
});
|
|
201
200
|
|
|
201
|
+
tnxvue.libs.Vue = Vue;
|
|
202
|
+
|
|
202
203
|
Object.assign(tnxvue.util, {
|
|
203
204
|
/**
|
|
204
205
|
* 判断指定对象是否组件实例
|