@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.41",
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.26",
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
- for (let rowIndex = 0; rowIndex < this.data.length; rowIndex++) {
107
- let row = this.data[rowIndex];
108
- this.indexes[this.getRowKey(row, rowIndex)] = rowIndex;
109
- if (this.rowKey && row.children) {
110
- for (let j = 0; j < row.children.length; j++) {
111
- let child = row.children[j];
112
- this.indexes[this.getRowKey(child)] = [rowIndex, j];
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
- this.focusRowFirstInput(this.tableDataList[0], 0);
152
- // 为富文本输入框添加默认title
153
- let table = this.$refs.table?.$el;
154
- if (table) {
155
- let textareas = table.getElementsByTagName('textarea');
156
- for (let textarea of textareas) {
157
- if (!textarea.title) {
158
- textarea.addEventListener('input', event => {
159
- event.target.title = event.target.value;
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.length === 1">{{ value }}</span>
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: 0.5rem;
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% - 0.75rem);
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
  * 判断指定对象是否组件实例