@lambo-design/schema-paging-table 1.0.0-beta.42 → 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 +4 -4
- package/src/index.vue +57 -45
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/shared": "^1.0.0-beta.214",
|
|
14
|
+
"@lambo-design/core": "^4.7.1-beta.144",
|
|
16
15
|
"@lambo-design/schema-form": "^1.0.0-beta.71",
|
|
17
|
-
"@lambo-design/
|
|
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
|
@@ -83,6 +83,7 @@ export default {
|
|
|
83
83
|
selectRows: [],
|
|
84
84
|
selectedKeys: [],
|
|
85
85
|
radioSelectIndex: -1,
|
|
86
|
+
selectCondition:''
|
|
86
87
|
}
|
|
87
88
|
},
|
|
88
89
|
props:{
|
|
@@ -189,53 +190,59 @@ export default {
|
|
|
189
190
|
let dropdownDomsd = [];
|
|
190
191
|
obj.button.map((item, index) => {
|
|
191
192
|
const conditionMet = item && typeof item.condition === "function" ? item.condition(param) : true;
|
|
193
|
+
const execConditionMet = item && typeof item.execCondition === "function" ? item.execCondition(param) : true;
|
|
192
194
|
if(conditionMet){
|
|
193
|
-
let doms
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
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
|
-
|
|
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)
|
|
230
243
|
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
}, {})
|
|
234
|
-
self.$emit(item.clickEvent?.method?.name, args)
|
|
235
|
-
} else if (item.clickEvent?.type === "modal") {
|
|
236
|
-
self.$Message.info(item.clickEvent.name)
|
|
237
|
-
}
|
|
238
|
-
}, item.permission)
|
|
244
|
+
}, item.permission)
|
|
245
|
+
}
|
|
239
246
|
if (visibleDomsd.length < self.operColumnDropdownNum) {
|
|
240
247
|
visibleDomsd.push(doms);
|
|
241
248
|
} else if (visibleDomsd.length === self.operColumnDropdownNum && dropdownDomsd.length === 0){
|
|
@@ -254,6 +261,8 @@ export default {
|
|
|
254
261
|
dropdownDomsd.length !== 0 ? operateMore(self,h,dropdownDomsd) : null
|
|
255
262
|
]);
|
|
256
263
|
}
|
|
264
|
+
} else if (obj.hasOwnProperty('type') && (obj.type === 'selection'||obj.type === 'single-selection')) {
|
|
265
|
+
this.selectCondition = item.selectCondition ? item.selectCondition : ''
|
|
257
266
|
}
|
|
258
267
|
columns.push(item)
|
|
259
268
|
})
|
|
@@ -494,6 +503,9 @@ export default {
|
|
|
494
503
|
if (resp.code === 1 || resp.code === "000") {
|
|
495
504
|
let tableData = resp.data.rows;
|
|
496
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
|
+
}
|
|
497
509
|
if (self.selectRows[tableData[i][self.rowKey]]) {
|
|
498
510
|
self.radioSelectIndex = i
|
|
499
511
|
tableData[i]._checked = true;
|