@lambo-design/schema-paging-table 1.0.0-beta.41 → 1.0.0-beta.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 +5 -5
- package/src/index.vue +57 -50
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lambo-design/schema-paging-table",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.43",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": "lambo",
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
},
|
|
12
12
|
"devDependencies": {
|
|
13
13
|
"standard-version": "^9.5.0",
|
|
14
|
-
"@lambo-design/
|
|
15
|
-
"@lambo-design/
|
|
16
|
-
"@lambo-design/
|
|
17
|
-
"@lambo-design/
|
|
14
|
+
"@lambo-design/core": "^4.7.1-beta.144",
|
|
15
|
+
"@lambo-design/schema-form": "^1.0.0-beta.71",
|
|
16
|
+
"@lambo-design/paging-table": "^1.0.0-beta.83",
|
|
17
|
+
"@lambo-design/shared": "^1.0.0-beta.214"
|
|
18
18
|
},
|
|
19
19
|
"scripts": {
|
|
20
20
|
"release": "pnpm release-beta && git push --follow-tags && pnpm re-publish",
|
package/src/index.vue
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
:searchParams="tableSearchParams"
|
|
9
9
|
:transformResponse="transformResponse"
|
|
10
10
|
:showTableOption="showTableOption"
|
|
11
|
-
:showEmbedOption="showEmbedOption"
|
|
12
11
|
:pageDisable="pageDisable"
|
|
13
12
|
:radioSelectIndex="radioSelectIndex"
|
|
14
13
|
@on-row-click="onRowClick"
|
|
@@ -84,6 +83,7 @@ export default {
|
|
|
84
83
|
selectRows: [],
|
|
85
84
|
selectedKeys: [],
|
|
86
85
|
radioSelectIndex: -1,
|
|
86
|
+
selectCondition:''
|
|
87
87
|
}
|
|
88
88
|
},
|
|
89
89
|
props:{
|
|
@@ -114,10 +114,6 @@ export default {
|
|
|
114
114
|
type: Boolean,
|
|
115
115
|
default: true
|
|
116
116
|
},
|
|
117
|
-
showEmbedOption: {
|
|
118
|
-
type: Boolean,
|
|
119
|
-
default: true
|
|
120
|
-
},
|
|
121
117
|
//是否禁用分页
|
|
122
118
|
pageDisable: {
|
|
123
119
|
type: Boolean,
|
|
@@ -194,53 +190,59 @@ export default {
|
|
|
194
190
|
let dropdownDomsd = [];
|
|
195
191
|
obj.button.map((item, index) => {
|
|
196
192
|
const conditionMet = item && typeof item.condition === "function" ? item.condition(param) : true;
|
|
193
|
+
const execConditionMet = item && typeof item.execCondition === "function" ? item.execCondition(param) : true;
|
|
197
194
|
if(conditionMet){
|
|
198
|
-
let doms
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
195
|
+
let doms
|
|
196
|
+
if (!execConditionMet) {
|
|
197
|
+
doms = item.name ? item.name : param.row[obj.key]
|
|
198
|
+
} else {
|
|
199
|
+
doms = operateHref(self, h, param.row, item.name || param.row[obj.key], (vm, currentRow) => {
|
|
200
|
+
if (item.clickEvent?.type === "route") {
|
|
201
|
+
// self.$Message.info(item.clickEvent.name)
|
|
202
|
+
let query = item.clickEvent?.route?.keys?.reduce((acc, sourceItem) => {
|
|
203
|
+
return Object.assign(acc, {[sourceItem]: currentRow[sourceItem]})
|
|
204
|
+
}, {})
|
|
205
|
+
self.$router.push({
|
|
206
|
+
path: item.clickEvent?.route?.path,
|
|
207
|
+
query
|
|
208
|
+
})
|
|
209
|
+
} else if (item.clickEvent?.type === "request") {
|
|
210
|
+
// self.$Message.info(item.clickEvent.name)
|
|
211
|
+
let data = item.clickEvent?.request?.keys?.reduce((acc, sourceItem) => {
|
|
212
|
+
return Object.assign(acc, {[sourceItem]: currentRow[sourceItem]})
|
|
213
|
+
}, {})
|
|
214
|
+
let request = {
|
|
215
|
+
url: item.clickEvent.request.url,
|
|
216
|
+
method: item.clickEvent.request.method,
|
|
217
|
+
param: data,
|
|
218
|
+
}
|
|
219
|
+
let response = item.clickEvent.response
|
|
220
|
+
if (item.clickEvent.tips) {
|
|
221
|
+
let tips = item.clickEvent.tips
|
|
222
|
+
this.$Modal.confirm({
|
|
223
|
+
title: tips.title,
|
|
224
|
+
content: '<p>' + tips.content + '</p>',
|
|
225
|
+
onOk: () => {
|
|
226
|
+
self.fetch(request, response)
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
} else {
|
|
230
|
+
self.fetch(request, response)
|
|
231
|
+
}
|
|
232
|
+
} else if (item.clickEvent?.type === "method") {
|
|
233
|
+
if(!item.clickEvent?.method?.keys) {
|
|
234
|
+
self.$emit(item.clickEvent?.method?.name, param.index);
|
|
235
|
+
return ;
|
|
236
|
+
}
|
|
237
|
+
let args = item.clickEvent?.method?.keys?.reduce((total, current) => {
|
|
238
|
+
return Object.assign(total, {[current]: currentRow[current]})
|
|
239
|
+
}, {})
|
|
240
|
+
self.$emit(item.clickEvent?.method?.name, args)
|
|
241
|
+
} else if (item.clickEvent?.type === "modal") {
|
|
242
|
+
self.$Message.info(item.clickEvent.name)
|
|
235
243
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
}, {})
|
|
239
|
-
self.$emit(item.clickEvent?.method?.name, args)
|
|
240
|
-
} else if (item.clickEvent?.type === "modal") {
|
|
241
|
-
self.$Message.info(item.clickEvent.name)
|
|
242
|
-
}
|
|
243
|
-
}, item.permission)
|
|
244
|
+
}, item.permission)
|
|
245
|
+
}
|
|
244
246
|
if (visibleDomsd.length < self.operColumnDropdownNum) {
|
|
245
247
|
visibleDomsd.push(doms);
|
|
246
248
|
} else if (visibleDomsd.length === self.operColumnDropdownNum && dropdownDomsd.length === 0){
|
|
@@ -259,6 +261,8 @@ export default {
|
|
|
259
261
|
dropdownDomsd.length !== 0 ? operateMore(self,h,dropdownDomsd) : null
|
|
260
262
|
]);
|
|
261
263
|
}
|
|
264
|
+
} else if (obj.hasOwnProperty('type') && (obj.type === 'selection'||obj.type === 'single-selection')) {
|
|
265
|
+
this.selectCondition = item.selectCondition ? item.selectCondition : ''
|
|
262
266
|
}
|
|
263
267
|
columns.push(item)
|
|
264
268
|
})
|
|
@@ -499,6 +503,9 @@ export default {
|
|
|
499
503
|
if (resp.code === 1 || resp.code === "000") {
|
|
500
504
|
let tableData = resp.data.rows;
|
|
501
505
|
for (let i = 0; i < tableData.length; i++) {
|
|
506
|
+
if (self.selectCondition && typeof self.selectCondition === "function") {
|
|
507
|
+
tableData[i]._disabled = !self.selectCondition({row:tableData[i]})
|
|
508
|
+
}
|
|
502
509
|
if (self.selectRows[tableData[i][self.rowKey]]) {
|
|
503
510
|
self.radioSelectIndex = i
|
|
504
511
|
tableData[i]._checked = true;
|