hy-dispatch-ui-v3 0.1.2 → 0.1.4
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/dist/tailwind.css +28 -0
- package/es/components/appButton/appButton.vue.mjs +4 -4
- package/es/components/appButton/style/appButton.scss +4 -4
- package/es/components/appForm/appForm.vue.mjs +17 -3
- package/es/components/appForm/js/useAppForm.mjs +15 -1
- package/es/components/appIcon/style/appIcon.scss +2 -2
- package/es/components/appNoPermissions/appNoPermissions.vue.mjs +48 -0
- package/es/components/appNoPermissions/index.mjs +6 -0
- package/es/components/appNoPermissions/style/appNoPermissions.scss +0 -0
- package/es/components/appNoPermissionsMap/appNoPermissionsMap.vue.mjs +50 -0
- package/es/components/appNoPermissionsMap/index.mjs +6 -0
- package/es/components/appNoPermissionsMap/style/appNoPermissionsMap.scss +0 -0
- package/es/components/appOrgCascader/appOrgCascader.vue.mjs +1 -1
- package/es/components/appSearch/appSearch.vue.mjs +22 -6
- package/es/components/appSearch/js/index.mjs +12 -3
- package/es/components/appSearch/js/useAppSearch.mjs +12 -1
- package/es/components/appTable/appTable.vue.mjs +55 -20
- package/es/components/appTable/js/index.mjs +21 -6
- package/es/components/appTable/js/search.mjs +9 -21
- package/es/components/appTable/js/useAppTable.mjs +27 -2
- package/es/components/index.mjs +2 -0
- package/es/index.mjs +2 -0
- package/es/locale/en.mjs +9 -0
- package/es/locale/zh_CN.mjs +10 -1
- package/es/style/index.scss +0 -2
- package/es/version.mjs +1 -1
- package/lib/components/appButton/appButton.vue.js +4 -4
- package/lib/components/appButton/style/appButton.scss +4 -4
- package/lib/components/appForm/appForm.vue.js +17 -3
- package/lib/components/appForm/js/useAppForm.js +15 -1
- package/lib/components/appIcon/style/appIcon.scss +2 -2
- package/lib/components/appNoPermissions/appNoPermissions.vue.js +52 -0
- package/lib/components/appNoPermissions/index.js +11 -0
- package/lib/components/appNoPermissions/style/appNoPermissions.scss +0 -0
- package/lib/components/appNoPermissionsMap/appNoPermissionsMap.vue.js +54 -0
- package/lib/components/appNoPermissionsMap/index.js +11 -0
- package/lib/components/appNoPermissionsMap/style/appNoPermissionsMap.scss +0 -0
- package/lib/components/appOrgCascader/appOrgCascader.vue.js +1 -1
- package/lib/components/appSearch/appSearch.vue.js +23 -7
- package/lib/components/appSearch/js/index.js +12 -2
- package/lib/components/appSearch/js/useAppSearch.js +12 -1
- package/lib/components/appTable/appTable.vue.js +76 -41
- package/lib/components/appTable/js/index.js +21 -6
- package/lib/components/appTable/js/search.js +9 -21
- package/lib/components/appTable/js/useAppTable.js +27 -2
- package/lib/components/index.js +14 -10
- package/lib/index.js +14 -10
- package/lib/locale/en.js +9 -0
- package/lib/locale/zh_CN.js +10 -1
- package/lib/style/index.scss +0 -2
- package/lib/version.js +1 -1
- package/package.json +11 -1
|
@@ -5,7 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var elementPlus = require('element-plus');
|
|
7
7
|
var iconsVue = require('@element-plus/icons-vue');
|
|
8
|
-
var
|
|
8
|
+
var index$1 = require('../appDatePicker/index.js');
|
|
9
|
+
var index$2 = require('../appOrgCascader/index.js');
|
|
9
10
|
var index = require('./js/index.js');
|
|
10
11
|
var useAppSearch = require('./js/useAppSearch.js');
|
|
11
12
|
var useLocale = require('../../hooks/useLocale.js');
|
|
@@ -314,7 +315,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
314
315
|
"daterange",
|
|
315
316
|
"monthrange",
|
|
316
317
|
"yearrange"
|
|
317
|
-
].includes((_a = column.attrs) == null ? void 0 : _a.type) && vue.unref(is.isArray)(column.field) ? (vue.openBlock(), vue.createBlock(
|
|
318
|
+
].includes((_a = column.attrs) == null ? void 0 : _a.type) && vue.unref(is.isArray)(column.field) ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.AppDatePicker), vue.mergeProps({
|
|
318
319
|
key: 0,
|
|
319
320
|
start: __props.model[column.field[0]],
|
|
320
321
|
"onUpdate:start": ($event) => __props.model[column.field[0]] = $event,
|
|
@@ -326,7 +327,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
326
327
|
disabled: vue.unref(index.isDisabled)(props, column),
|
|
327
328
|
timeRangeFill: column.timeRangeFill,
|
|
328
329
|
onChange: ($event) => onChangeHandler($event, column)
|
|
329
|
-
}), null, 16, ["start", "onUpdate:start", "end", "onUpdate:end", "disabled", "timeRangeFill", "onChange"])) : (vue.openBlock(), vue.createBlock(
|
|
330
|
+
}), null, 16, ["start", "onUpdate:start", "end", "onUpdate:end", "disabled", "timeRangeFill", "onChange"])) : (vue.openBlock(), vue.createBlock(vue.unref(index$1.AppDatePicker), vue.mergeProps({
|
|
330
331
|
key: 1,
|
|
331
332
|
modelValue: __props.model[column.field],
|
|
332
333
|
"onUpdate:modelValue": ($event) => __props.model[column.field] = $event,
|
|
@@ -340,6 +341,19 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
340
341
|
],
|
|
341
342
|
64
|
|
342
343
|
/* STABLE_FRAGMENT */
|
|
344
|
+
)) : column.type === "org-cascader" ? (vue.openBlock(), vue.createElementBlock(
|
|
345
|
+
vue.Fragment,
|
|
346
|
+
{ key: 4 },
|
|
347
|
+
[
|
|
348
|
+
vue.createCommentVNode(" \u90E8\u95E8\u7EA7\u8054\u9009\u62E9\u6846 "),
|
|
349
|
+
vue.createVNode(vue.unref(index$2.AppOrgCascader), vue.mergeProps({
|
|
350
|
+
modelValue: __props.model[column.field],
|
|
351
|
+
"onUpdate:modelValue": ($event) => __props.model[column.field] = $event,
|
|
352
|
+
disabled: vue.unref(index.isDisabled)(props, column)
|
|
353
|
+
}, { ref_for: true }, column.attrs), null, 16, ["modelValue", "onUpdate:modelValue", "disabled"])
|
|
354
|
+
],
|
|
355
|
+
2112
|
|
356
|
+
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
343
357
|
)) : vue.createCommentVNode("v-if", true)
|
|
344
358
|
],
|
|
345
359
|
4
|
|
@@ -356,10 +370,12 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
356
370
|
(vue.openBlock(true), vue.createElementBlock(
|
|
357
371
|
vue.Fragment,
|
|
358
372
|
null,
|
|
359
|
-
vue.renderList(column.timeRangeOptions, (item, index) => {
|
|
373
|
+
vue.renderList(column.timeRangeOptions, (item, index$1) => {
|
|
360
374
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
361
|
-
key: index,
|
|
362
|
-
class: "border-l border-border px-[10px] cursor-pointer",
|
|
375
|
+
key: index$1,
|
|
376
|
+
class: vue.normalizeClass(["border-l border-border px-[10px] cursor-pointer", {
|
|
377
|
+
"bg-[rgba(var(--hy-theme),0.2)] text-theme font-bold": vue.unref(index.isSelectedTimeRange)(column, item, __props.model)
|
|
378
|
+
}]),
|
|
363
379
|
onClick: ($event) => onTimeRangeClickHandler(column, item)
|
|
364
380
|
}, [
|
|
365
381
|
vue.createElementVNode(
|
|
@@ -369,7 +385,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
369
385
|
1
|
|
370
386
|
/* TEXT */
|
|
371
387
|
)
|
|
372
|
-
],
|
|
388
|
+
], 10, ["onClick"]);
|
|
373
389
|
}),
|
|
374
390
|
128
|
|
375
391
|
/* KEYED_FRAGMENT */
|
|
@@ -90,9 +90,10 @@ function useShrink(props, templateRef) {
|
|
|
90
90
|
}
|
|
91
91
|
function timeRangeHandler(column, options) {
|
|
92
92
|
const { value, unit } = options;
|
|
93
|
-
|
|
94
|
-
const format =
|
|
93
|
+
let { timeRangeFill, attrs } = column;
|
|
94
|
+
const format = "YYYY-MM-DD";
|
|
95
95
|
const date = dayjs(Date.now());
|
|
96
|
+
timeRangeFill = timeRangeFill || attrs.type === "datetimerange";
|
|
96
97
|
switch (unit) {
|
|
97
98
|
case "year":
|
|
98
99
|
case "month":
|
|
@@ -111,11 +112,20 @@ function timeRangeHandler(column, options) {
|
|
|
111
112
|
];
|
|
112
113
|
}
|
|
113
114
|
}
|
|
115
|
+
function isSelectedTimeRange(column, options, model = {}) {
|
|
116
|
+
const [start, end] = timeRangeHandler(column, options);
|
|
117
|
+
const { field } = column;
|
|
118
|
+
if (Array.isArray(field)) {
|
|
119
|
+
return start === model[field[0]] && end === model[field[1]];
|
|
120
|
+
}
|
|
121
|
+
return start === model[field][0] && end === model[field][1];
|
|
122
|
+
}
|
|
114
123
|
|
|
115
124
|
exports.columnItemInputStyle = columnItemInputStyle;
|
|
116
125
|
exports.columnItemStyle = columnItemStyle;
|
|
117
126
|
exports.columnShowHandler = columnShowHandler;
|
|
118
127
|
exports.isDisabled = isDisabled;
|
|
119
128
|
exports.isEmptyValue = isEmptyValue;
|
|
129
|
+
exports.isSelectedTimeRange = isSelectedTimeRange;
|
|
120
130
|
exports.timeRangeHandler = timeRangeHandler;
|
|
121
131
|
exports.useShrink = useShrink;
|
|
@@ -6,6 +6,15 @@ var date = require('../../../utils/date.js');
|
|
|
6
6
|
var useLocale = require('../../../hooks/useLocale.js');
|
|
7
7
|
var is = require('../../../utils/is.js');
|
|
8
8
|
|
|
9
|
+
const genDefaultLabel = (config) => {
|
|
10
|
+
if (config.label) return config.label;
|
|
11
|
+
const { t } = useLocale.useLocale();
|
|
12
|
+
switch (config.type) {
|
|
13
|
+
// 部门级联选择框
|
|
14
|
+
case "org-cascader":
|
|
15
|
+
return t("form.department");
|
|
16
|
+
}
|
|
17
|
+
};
|
|
9
18
|
const genPlaceholderHandler = (config) => {
|
|
10
19
|
const { t } = useLocale.useLocale();
|
|
11
20
|
const { type, label, attrs = {} } = config || {};
|
|
@@ -96,7 +105,8 @@ const timeRangeOptionsHandler = (config) => {
|
|
|
96
105
|
}, []);
|
|
97
106
|
};
|
|
98
107
|
function appSearchItemHandler(column = {}) {
|
|
99
|
-
const
|
|
108
|
+
const label = genDefaultLabel(column);
|
|
109
|
+
const { placeholder, startPlaceholder, endPlaceholder } = genPlaceholderHandler({ ...column, label });
|
|
100
110
|
const attrs = {
|
|
101
111
|
clearable: true,
|
|
102
112
|
...column.attrs || {},
|
|
@@ -108,6 +118,7 @@ function appSearchItemHandler(column = {}) {
|
|
|
108
118
|
{
|
|
109
119
|
key: /* @__PURE__ */ Symbol("appFormItemKey"),
|
|
110
120
|
field: column.prop,
|
|
121
|
+
label,
|
|
111
122
|
readonly: column.readonly || false,
|
|
112
123
|
width,
|
|
113
124
|
inputWidth,
|
|
@@ -5,14 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var elementPlus = require('element-plus');
|
|
7
7
|
var iconsVue = require('@element-plus/icons-vue');
|
|
8
|
-
var index$
|
|
9
|
-
var index$
|
|
8
|
+
var index$4 = require('../appTooltip/index.js');
|
|
9
|
+
var index$2 = require('./js/index.js');
|
|
10
10
|
var search = require('./js/search.js');
|
|
11
11
|
var columnSelect = require('./cpns/columnSelect.vue.js');
|
|
12
12
|
var useMixins = require('../../hooks/useMixins.js');
|
|
13
|
-
var index = require('../
|
|
13
|
+
var index = require('../appButton/index.js');
|
|
14
|
+
var index$1 = require('../appSearch/index.js');
|
|
14
15
|
var adaptive = require('../../utils/adaptive.js');
|
|
15
|
-
var index$
|
|
16
|
+
var index$3 = require('../appIconBox/index.js');
|
|
16
17
|
var useLocale = require('../../hooks/useLocale.js');
|
|
17
18
|
var is = require('../../utils/is.js');
|
|
18
19
|
|
|
@@ -93,6 +94,10 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
93
94
|
default: "",
|
|
94
95
|
required: false
|
|
95
96
|
},
|
|
97
|
+
filterModel: {
|
|
98
|
+
type: Object,
|
|
99
|
+
default: () => ({})
|
|
100
|
+
},
|
|
96
101
|
filterColumns: {
|
|
97
102
|
// 表格筛选配置
|
|
98
103
|
type: Array,
|
|
@@ -174,13 +179,13 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
174
179
|
tableTriggerRef,
|
|
175
180
|
getSelectedList,
|
|
176
181
|
setTableRowClassName,
|
|
182
|
+
clearSelection,
|
|
183
|
+
clearSelectedList,
|
|
177
184
|
onTableRowClickHandler,
|
|
178
185
|
onTableRowContextmenuHandler,
|
|
179
|
-
|
|
186
|
+
onTableSelectHandler,
|
|
180
187
|
// useAppTableSearch
|
|
181
188
|
// 表单查询
|
|
182
|
-
formModel,
|
|
183
|
-
formColumns,
|
|
184
189
|
totalElements,
|
|
185
190
|
showFilter,
|
|
186
191
|
getData,
|
|
@@ -202,7 +207,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
202
207
|
operatorDropdownRef,
|
|
203
208
|
appSearchRef
|
|
204
209
|
},
|
|
205
|
-
[index$
|
|
210
|
+
[index$2.useAppTableWrapper, search.useAppTableSearch]
|
|
206
211
|
);
|
|
207
212
|
if (props.defaultGetData) {
|
|
208
213
|
getData(1);
|
|
@@ -213,9 +218,12 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
213
218
|
resetFn,
|
|
214
219
|
getSelectedList,
|
|
215
220
|
getTotalElements,
|
|
216
|
-
getTableDataSource
|
|
221
|
+
getTableDataSource,
|
|
222
|
+
clearSelection,
|
|
223
|
+
clearSelectedList
|
|
217
224
|
});
|
|
218
225
|
return (_ctx, _cache) => {
|
|
226
|
+
const _component_AppIcon = vue.resolveComponent("AppIcon");
|
|
219
227
|
return vue.openBlock(), vue.createElementBlock(
|
|
220
228
|
"div",
|
|
221
229
|
{
|
|
@@ -234,9 +242,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
234
242
|
"origin-columns": props.tableColumns,
|
|
235
243
|
onConfirm: vue.unref(onTableColumnsSelectHandler)
|
|
236
244
|
}, null, 8, ["columns", "columns-editable", "origin-columns", "onConfirm"])) : vue.createCommentVNode("v-if", true),
|
|
237
|
-
|
|
245
|
+
__props.filterColumns.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
238
246
|
key: 1,
|
|
239
|
-
class: "flex items-center gap-[10px] clickBox px-3 select-none rounded hover:bg-background-2",
|
|
247
|
+
class: "h-[32px] flex items-center gap-[10px] clickBox px-3 select-none rounded hover:bg-background-2",
|
|
240
248
|
onClick: vue.unref(switchShowFilter)
|
|
241
249
|
}, [
|
|
242
250
|
vue.createVNode(vue.unref(elementPlus.ElIcon), { size: "12" }, {
|
|
@@ -256,8 +264,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
256
264
|
], 8, ["onClick"])) : vue.createCommentVNode("v-if", true),
|
|
257
265
|
vue.unref(searchPlaceholder) ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElInput), {
|
|
258
266
|
key: 2,
|
|
259
|
-
modelValue:
|
|
260
|
-
"onUpdate:modelValue": ($event) =>
|
|
267
|
+
modelValue: __props.filterModel.query,
|
|
268
|
+
"onUpdate:modelValue": ($event) => __props.filterModel.query = $event,
|
|
261
269
|
class: "w-[160px]",
|
|
262
270
|
placeholder: vue.unref(t)("table.searchFor", [vue.unref(searchPlaceholder)]),
|
|
263
271
|
onKeydown: vue.withKeys(vue.unref(onSearchQueryHandler), ["enter"])
|
|
@@ -270,7 +278,21 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
270
278
|
]),
|
|
271
279
|
_: 1
|
|
272
280
|
/* STABLE */
|
|
273
|
-
}, 8, ["modelValue", "onUpdate:modelValue", "placeholder", "onKeydown"])) : vue.
|
|
281
|
+
}, 8, ["modelValue", "onUpdate:modelValue", "placeholder", "onKeydown"])) : (vue.openBlock(), vue.createBlock(vue.unref(index.AppButton), {
|
|
282
|
+
key: 3,
|
|
283
|
+
type: "primary",
|
|
284
|
+
onClick: ($event) => vue.unref(getData)()
|
|
285
|
+
}, {
|
|
286
|
+
default: vue.withCtx(() => [
|
|
287
|
+
vue.createVNode(_component_AppIcon, {
|
|
288
|
+
class: "w-[12px] h-[12px]",
|
|
289
|
+
"svg-name": "refres"
|
|
290
|
+
})
|
|
291
|
+
]),
|
|
292
|
+
_: 1
|
|
293
|
+
/* STABLE */
|
|
294
|
+
}, 8, ["onClick"])),
|
|
295
|
+
vue.renderSlot(_ctx.$slots, "operator-right-box")
|
|
274
296
|
]),
|
|
275
297
|
_ctx.$slots["operator-left-box"] ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
276
298
|
key: 0,
|
|
@@ -280,16 +302,28 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
280
302
|
])) : vue.createCommentVNode("v-if", true)
|
|
281
303
|
]),
|
|
282
304
|
vue.createCommentVNode(" \u67E5\u8BE2\u8FC7\u6EE4 "),
|
|
283
|
-
|
|
305
|
+
__props.filterColumns.length > 0 ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.AppSearch), {
|
|
284
306
|
key: 0,
|
|
285
307
|
ref_key: "appSearchRef",
|
|
286
308
|
ref: appSearchRef,
|
|
287
|
-
model:
|
|
288
|
-
columns:
|
|
309
|
+
model: __props.filterModel,
|
|
310
|
+
columns: __props.filterColumns,
|
|
289
311
|
hidden: !vue.unref(showFilter),
|
|
290
312
|
class: vue.normalizeClass({ "mb-4": vue.unref(showFilter) }),
|
|
291
313
|
onSearch: ($event) => vue.unref(getData)(1)
|
|
292
|
-
},
|
|
314
|
+
}, vue.createSlots({
|
|
315
|
+
_: 2
|
|
316
|
+
/* DYNAMIC */
|
|
317
|
+
}, [
|
|
318
|
+
vue.renderList(_ctx.$slots, (_, slotName) => {
|
|
319
|
+
return {
|
|
320
|
+
name: slotName,
|
|
321
|
+
fn: vue.withCtx((scope) => [
|
|
322
|
+
vue.renderSlot(_ctx.$slots, slotName, vue.normalizeProps(vue.guardReactiveProps(scope)))
|
|
323
|
+
])
|
|
324
|
+
};
|
|
325
|
+
})
|
|
326
|
+
]), 1032, ["model", "columns", "hidden", "class", "onSearch"])) : vue.createCommentVNode("v-if", true),
|
|
293
327
|
vue.createCommentVNode(" \u4E3B\u5185\u5BB9 "),
|
|
294
328
|
vue.createElementVNode("div", { class: "h-0 flex-1 flex flex-col border border-border rounded pb-5 overflow-hidden" }, [
|
|
295
329
|
vue.renderSlot(_ctx.$slots, "table", { data: vue.unref(tableDataSource) }, () => [
|
|
@@ -305,7 +339,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
305
339
|
style: {
|
|
306
340
|
"font-size": `${vue.unref(adaptive.parseRem)(__props.fontSize)}rem`
|
|
307
341
|
},
|
|
308
|
-
|
|
342
|
+
onSelect: vue.unref(onTableSelectHandler),
|
|
343
|
+
onSelectAll: vue.unref(onTableSelectHandler),
|
|
309
344
|
onRowClick: vue.unref(onTableRowClickHandler),
|
|
310
345
|
onRowContextmenu: vue.unref(onTableRowContextmenuHandler)
|
|
311
346
|
}, _ctx.$attrs), {
|
|
@@ -343,7 +378,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
343
378
|
vue.renderSlot(_ctx.$slots, column.headerSlot, vue.mergeProps({ ref_for: true }, scope), () => {
|
|
344
379
|
var _a2, _b;
|
|
345
380
|
return [
|
|
346
|
-
!vue.unref(is.isEmpty)((_a2 = scope.column) == null ? void 0 : _a2.label) ? (vue.openBlock(), vue.createBlock(vue.unref(index$
|
|
381
|
+
!vue.unref(is.isEmpty)((_a2 = scope.column) == null ? void 0 : _a2.label) ? (vue.openBlock(), vue.createBlock(vue.unref(index$4.AppTooltip), {
|
|
347
382
|
key: 0,
|
|
348
383
|
"over-line": 1,
|
|
349
384
|
content: (_b = scope.column) == null ? void 0 : _b.label
|
|
@@ -364,22 +399,22 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
364
399
|
(vue.openBlock(true), vue.createElementBlock(
|
|
365
400
|
vue.Fragment,
|
|
366
401
|
null,
|
|
367
|
-
vue.renderList(vue.unref(index$
|
|
402
|
+
vue.renderList(vue.unref(index$2.operatorFilterHandler)(
|
|
368
403
|
column,
|
|
369
404
|
scope,
|
|
370
405
|
"default"
|
|
371
406
|
), (citem, cindex) => {
|
|
372
|
-
return vue.openBlock(), vue.createBlock(vue.unref(index$
|
|
407
|
+
return vue.openBlock(), vue.createBlock(vue.unref(index$3.AppIconBox), {
|
|
373
408
|
key: cindex,
|
|
374
409
|
"svg-name": citem.svgName,
|
|
375
410
|
altText: citem.label,
|
|
376
|
-
onClick: vue.withModifiers(($event) => vue.unref(index$
|
|
411
|
+
onClick: vue.withModifiers(($event) => vue.unref(index$2.operatorClickHandler)(cindex, column, scope, "default"), ["stop"])
|
|
377
412
|
}, null, 8, ["svg-name", "altText", "onClick"]);
|
|
378
413
|
}),
|
|
379
414
|
128
|
|
380
415
|
/* KEYED_FRAGMENT */
|
|
381
416
|
)),
|
|
382
|
-
((_a2 = vue.unref(index$
|
|
417
|
+
((_a2 = vue.unref(index$2.operatorFilterHandler)(column, scope, "more")) == null ? void 0 : _a2.length) ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElDropdown), {
|
|
383
418
|
key: 0,
|
|
384
419
|
ref_for: true,
|
|
385
420
|
ref_key: "operatorDropdownRef",
|
|
@@ -388,7 +423,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
388
423
|
class: "ml-3",
|
|
389
424
|
"popper-style": "min-width: 150px",
|
|
390
425
|
placement: "bottom",
|
|
391
|
-
onCommand: ($event) => vue.unref(index$
|
|
426
|
+
onCommand: ($event) => vue.unref(index$2.operatorClickHandler)($event, column, scope, "more")
|
|
392
427
|
}, {
|
|
393
428
|
dropdown: vue.withCtx(() => [
|
|
394
429
|
vue.createVNode(
|
|
@@ -399,7 +434,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
399
434
|
(vue.openBlock(true), vue.createElementBlock(
|
|
400
435
|
vue.Fragment,
|
|
401
436
|
null,
|
|
402
|
-
vue.renderList(vue.unref(index$
|
|
437
|
+
vue.renderList(vue.unref(index$2.operatorFilterHandler)(
|
|
403
438
|
column,
|
|
404
439
|
scope,
|
|
405
440
|
"more"
|
|
@@ -407,7 +442,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
407
442
|
return vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElDropdownItem), {
|
|
408
443
|
key: cindex,
|
|
409
444
|
command: cindex,
|
|
410
|
-
disabled: vue.unref(index$
|
|
445
|
+
disabled: vue.unref(index$2.operatorDisabledHandler)(citem, scope)
|
|
411
446
|
}, {
|
|
412
447
|
default: vue.withCtx(() => [
|
|
413
448
|
vue.createElementVNode("span", null, [
|
|
@@ -418,13 +453,13 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
418
453
|
1
|
|
419
454
|
/* TEXT */
|
|
420
455
|
),
|
|
421
|
-
vue.unref(index$
|
|
456
|
+
vue.unref(index$2.operatorDisabledHandler)(citem, scope) ? (vue.openBlock(), vue.createElementBlock(
|
|
422
457
|
"span",
|
|
423
458
|
{
|
|
424
459
|
key: 0,
|
|
425
460
|
class: "text-xs leading-1"
|
|
426
461
|
},
|
|
427
|
-
"\uFF08" + vue.toDisplayString(vue.unref(index$
|
|
462
|
+
"\uFF08" + vue.toDisplayString(vue.unref(index$2.operatorDisableTextdHandler)(citem, scope)) + "\uFF09",
|
|
428
463
|
1
|
|
429
464
|
/* TEXT */
|
|
430
465
|
)) : vue.createCommentVNode("v-if", true)
|
|
@@ -446,7 +481,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
446
481
|
)
|
|
447
482
|
]),
|
|
448
483
|
default: vue.withCtx(() => [
|
|
449
|
-
vue.createVNode(vue.unref(index$
|
|
484
|
+
vue.createVNode(vue.unref(index$3.AppIconBox), {
|
|
450
485
|
key: "more",
|
|
451
486
|
"svg-name": "system-burst_analysis_select_option",
|
|
452
487
|
altText: vue.unref(t)("table.moreOperations"),
|
|
@@ -464,7 +499,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
464
499
|
vue.Fragment,
|
|
465
500
|
{ key: 2 },
|
|
466
501
|
[
|
|
467
|
-
!vue.unref(is.isEmpty)(scope.row[scope.column.property]) ? (vue.openBlock(), vue.createBlock(vue.unref(index$
|
|
502
|
+
!vue.unref(is.isEmpty)(scope.row[scope.column.property]) ? (vue.openBlock(), vue.createBlock(vue.unref(index$4.AppTooltip), {
|
|
468
503
|
key: 0,
|
|
469
504
|
"over-line": 2,
|
|
470
505
|
content: scope.row[scope.column.property]
|
|
@@ -495,7 +530,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
495
530
|
]),
|
|
496
531
|
_: 3
|
|
497
532
|
/* FORWARDED */
|
|
498
|
-
}, 16, ["row-key", "data", "show-header", "row-class-name", "class", "style", "onSelectAll", "onRowClick", "onRowContextmenu"])
|
|
533
|
+
}, 16, ["row-key", "data", "show-header", "row-class-name", "class", "style", "onSelect", "onSelectAll", "onRowClick", "onRowContextmenu"])
|
|
499
534
|
]),
|
|
500
535
|
vue.createCommentVNode(" \u5206\u9875 "),
|
|
501
536
|
__props.showPagination ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -510,10 +545,10 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
510
545
|
/* TEXT */
|
|
511
546
|
),
|
|
512
547
|
vue.createVNode(vue.unref(elementPlus.ElPagination), {
|
|
513
|
-
"current-page":
|
|
514
|
-
"onUpdate:currentPage": ($event) =>
|
|
515
|
-
"page-size":
|
|
516
|
-
"onUpdate:pageSize": ($event) =>
|
|
548
|
+
"current-page": __props.filterModel.page,
|
|
549
|
+
"onUpdate:currentPage": ($event) => __props.filterModel.page = $event,
|
|
550
|
+
"page-size": __props.filterModel.size,
|
|
551
|
+
"onUpdate:pageSize": ($event) => __props.filterModel.size = $event,
|
|
517
552
|
total: vue.unref(totalElements),
|
|
518
553
|
"pager-count": __props.pagerCount,
|
|
519
554
|
"page-sizes": [10, 15, 30, 50, 100],
|
|
@@ -539,7 +574,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
539
574
|
"virtual-triggering": "",
|
|
540
575
|
trigger: "contextmenu",
|
|
541
576
|
placement: "bottom",
|
|
542
|
-
onCommand: ($event) => vue.unref(index$
|
|
577
|
+
onCommand: ($event) => vue.unref(index$2.operatorClickHandler)(
|
|
543
578
|
$event,
|
|
544
579
|
vue.unref(tableTriggerRef).column,
|
|
545
580
|
vue.unref(tableTriggerRef).scope
|
|
@@ -551,14 +586,14 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
551
586
|
(vue.openBlock(true), vue.createElementBlock(
|
|
552
587
|
vue.Fragment,
|
|
553
588
|
null,
|
|
554
|
-
vue.renderList(vue.unref(index$
|
|
589
|
+
vue.renderList(vue.unref(index$2.operatorFilterHandler)(
|
|
555
590
|
vue.unref(tableTriggerRef).column,
|
|
556
591
|
vue.unref(tableTriggerRef).scope
|
|
557
592
|
), (citem, cindex) => {
|
|
558
593
|
return vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElDropdownItem), {
|
|
559
594
|
key: cindex,
|
|
560
595
|
command: cindex,
|
|
561
|
-
disabled: vue.unref(index$
|
|
596
|
+
disabled: vue.unref(index$2.operatorDisabledHandler)(citem, vue.unref(tableTriggerRef).scope)
|
|
562
597
|
}, {
|
|
563
598
|
default: vue.withCtx(() => [
|
|
564
599
|
vue.createElementVNode("span", null, [
|
|
@@ -569,13 +604,13 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
569
604
|
1
|
|
570
605
|
/* TEXT */
|
|
571
606
|
),
|
|
572
|
-
vue.unref(index$
|
|
607
|
+
vue.unref(index$2.operatorDisabledHandler)(citem, vue.unref(tableTriggerRef).scope) ? (vue.openBlock(), vue.createElementBlock(
|
|
573
608
|
"span",
|
|
574
609
|
{
|
|
575
610
|
key: 0,
|
|
576
611
|
class: "text-xs leading-1"
|
|
577
612
|
},
|
|
578
|
-
"\uFF08" + vue.toDisplayString(vue.unref(index$
|
|
613
|
+
"\uFF08" + vue.toDisplayString(vue.unref(index$2.operatorDisableTextdHandler)(citem, vue.unref(tableTriggerRef).scope)) + "\uFF09",
|
|
579
614
|
1
|
|
580
615
|
/* TEXT */
|
|
581
616
|
)) : vue.createCommentVNode("v-if", true)
|
|
@@ -252,13 +252,27 @@ const useAppTableWrapper = (hy) => {
|
|
|
252
252
|
emits("on-select-checkbox", selectedList.value, row);
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
|
-
function
|
|
255
|
+
function onTableSelectHandler(selectList = [], row) {
|
|
256
256
|
if (selectList.length === 0 && tableDataSource.value.length === 0) {
|
|
257
|
-
|
|
257
|
+
clearSelection();
|
|
258
258
|
}
|
|
259
259
|
selectedList.value = [...selectList];
|
|
260
260
|
emits("on-select-checkbox", [...selectList], row);
|
|
261
261
|
}
|
|
262
|
+
function clearSelectedList(list = []) {
|
|
263
|
+
selectedList.value = list || [];
|
|
264
|
+
clearSelection();
|
|
265
|
+
list.forEach((row) => {
|
|
266
|
+
const item = tableDataSource.value.find(
|
|
267
|
+
(v) => getRowKey(row) === getRowKey(v)
|
|
268
|
+
);
|
|
269
|
+
if (item) {
|
|
270
|
+
tableRef.value.toggleRowSelection(item, true);
|
|
271
|
+
} else {
|
|
272
|
+
tableRef.value.toggleRowSelection(row, true);
|
|
273
|
+
}
|
|
274
|
+
});
|
|
275
|
+
}
|
|
262
276
|
function setTableRowClassName(obj) {
|
|
263
277
|
const row = obj.row;
|
|
264
278
|
let className = [];
|
|
@@ -295,12 +309,13 @@ const useAppTableWrapper = (hy) => {
|
|
|
295
309
|
selectedList,
|
|
296
310
|
tableTriggerRef,
|
|
297
311
|
setTableRowClassName,
|
|
298
|
-
|
|
312
|
+
getSelectedList,
|
|
313
|
+
clearSelection,
|
|
314
|
+
clearSelectedList,
|
|
315
|
+
onTableSelectHandler,
|
|
299
316
|
onTableRowContextmenuHandler,
|
|
300
317
|
onTableRowClickHandler,
|
|
301
|
-
onTableColumnsSelectHandler
|
|
302
|
-
getSelectedList,
|
|
303
|
-
clearSelection
|
|
318
|
+
onTableColumnsSelectHandler
|
|
304
319
|
};
|
|
305
320
|
};
|
|
306
321
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var vue = require('vue');
|
|
4
|
-
var useAppSearch = require('../../appSearch/js/useAppSearch.js');
|
|
5
4
|
var useApi = require('../../../hooks/useApi.js');
|
|
6
5
|
var is = require('../../../utils/is.js');
|
|
7
6
|
|
|
@@ -16,12 +15,6 @@ function useAppTableSearch(hy) {
|
|
|
16
15
|
clearSelection
|
|
17
16
|
} = hy;
|
|
18
17
|
const { api } = useApi.useApi();
|
|
19
|
-
const { formModel, formColumns } = useAppSearch.useAppSearch(props.filterColumns, {
|
|
20
|
-
page: 1,
|
|
21
|
-
// 当前分页数
|
|
22
|
-
size: 15
|
|
23
|
-
// 每页数量
|
|
24
|
-
});
|
|
25
18
|
const totalElements = vue.ref(0);
|
|
26
19
|
const showFilter = vue.ref(true);
|
|
27
20
|
function switchShowFilter() {
|
|
@@ -33,7 +26,7 @@ function useAppTableSearch(hy) {
|
|
|
33
26
|
return new Promise((resolve, reject) => {
|
|
34
27
|
if (!is.isEmpty(page)) {
|
|
35
28
|
if (is.isNumber(page) || is.isString(page)) {
|
|
36
|
-
|
|
29
|
+
props.filterModel.page = page;
|
|
37
30
|
}
|
|
38
31
|
}
|
|
39
32
|
const params = getParametersFn();
|
|
@@ -42,13 +35,11 @@ function useAppTableSearch(hy) {
|
|
|
42
35
|
vue.unref(api).post(`${props.controller}/page`, params, options).then(successFun).finally(() => {
|
|
43
36
|
resolve();
|
|
44
37
|
closeAppTableLoading();
|
|
45
|
-
clearSelection();
|
|
46
38
|
});
|
|
47
39
|
} else if (props.url) {
|
|
48
40
|
vue.unref(api).post(props.url, params, options).then(successFun).finally(() => {
|
|
49
41
|
resolve();
|
|
50
42
|
closeAppTableLoading();
|
|
51
|
-
clearSelection();
|
|
52
43
|
});
|
|
53
44
|
} else {
|
|
54
45
|
closeAppTableLoading();
|
|
@@ -57,11 +48,10 @@ function useAppTableSearch(hy) {
|
|
|
57
48
|
});
|
|
58
49
|
function successFun(res) {
|
|
59
50
|
var _a;
|
|
60
|
-
if (!((_a = res.data.content) == null ? void 0 : _a.length) &&
|
|
51
|
+
if (!((_a = res.data.content) == null ? void 0 : _a.length) && props.filterModel.page !== 1) {
|
|
61
52
|
getData(1);
|
|
62
53
|
return;
|
|
63
54
|
}
|
|
64
|
-
console.log("res", res);
|
|
65
55
|
const data = res.data.content ? res.data.content : res.data || [];
|
|
66
56
|
if (props.beforeDataHandler) {
|
|
67
57
|
tableDataSource.value = props.beforeDataHandler(data);
|
|
@@ -75,14 +65,14 @@ function useAppTableSearch(hy) {
|
|
|
75
65
|
async function resetFn() {
|
|
76
66
|
await vue.nextTick();
|
|
77
67
|
appSearchRef.value.resetFields();
|
|
78
|
-
|
|
68
|
+
props.filterModel.query = null;
|
|
79
69
|
getData(1);
|
|
80
70
|
}
|
|
81
71
|
function getParametersFn() {
|
|
82
72
|
return Object.assign(
|
|
83
73
|
{
|
|
84
|
-
...
|
|
85
|
-
page:
|
|
74
|
+
...props.filterModel,
|
|
75
|
+
page: props.filterModel.page - 1
|
|
86
76
|
},
|
|
87
77
|
vue.unref(props.requestParams)
|
|
88
78
|
);
|
|
@@ -98,22 +88,20 @@ function useAppTableSearch(hy) {
|
|
|
98
88
|
closeAppTableLoading();
|
|
99
89
|
}
|
|
100
90
|
function onSizeChangeHandler(val) {
|
|
101
|
-
|
|
102
|
-
|
|
91
|
+
props.filterModel.page = 1;
|
|
92
|
+
props.filterModel.size = val;
|
|
103
93
|
getData();
|
|
104
94
|
}
|
|
105
95
|
function onCurrentChangeHandler(val) {
|
|
106
|
-
|
|
96
|
+
props.filterModel.page = val;
|
|
107
97
|
getData();
|
|
108
98
|
}
|
|
109
99
|
let oldQueryValue;
|
|
110
100
|
function onSearchQueryHandler() {
|
|
111
|
-
const isReset = !(is.isEmpty(oldQueryValue) && is.isEmpty(
|
|
101
|
+
const isReset = !(is.isEmpty(oldQueryValue) && is.isEmpty(props.filterModel.query) || oldQueryValue === props.filterModel.query);
|
|
112
102
|
getData(isReset ? 1 : null);
|
|
113
103
|
}
|
|
114
104
|
return {
|
|
115
|
-
formModel,
|
|
116
|
-
formColumns,
|
|
117
105
|
totalElements,
|
|
118
106
|
showFilter,
|
|
119
107
|
getData,
|