@ibiz-template/vue3-components 0.5.7-alpha.4 → 0.5.7-alpha.6
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/index-CzVC8rhd.js +1 -0
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{xlsx-util-kzUgnbtt.js → xlsx-util-TVsJdNUI.js} +1 -1
- package/es/common/grid-setting/grid-setting.css +1 -1
- package/es/common/grid-setting/grid-setting.mjs +23 -4
- package/es/control/calendar/calendar.mjs +1 -1
- package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +236 -0
- package/es/control/dashboard/dashboard-design/dashboard-design.d.ts +2 -0
- package/es/control/data-view/data-view.mjs +3 -2
- package/es/control/drtab/drtab.css +1 -1
- package/es/control/form/form-detail/form-button/form-button.mjs +2 -1
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +2124 -0
- package/es/control/grid/grid/grid-control.util.mjs +4 -0
- package/es/control/search-bar/filter-tree/filter-tree.d.ts +45 -14
- package/es/control/search-bar/filter-tree/filter-tree.mjs +42 -21
- package/es/control/search-bar/search-bar.mjs +8 -2
- package/es/control/tab-exp-panel/tab-exp-panel.mjs +32 -1
- package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.css +1 -1
- package/es/editor/index.mjs +8 -0
- package/es/editor/span/span/span.d.ts +2 -0
- package/es/editor/text-box/ibiz-input-number/ibiz-input-number.mjs +2 -2
- package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.controller.d.ts +46 -0
- package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.controller.mjs +93 -0
- package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.css +1 -0
- package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.d.ts +81 -0
- package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.mjs +187 -0
- package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.provider.d.ts +17 -0
- package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.provider.mjs +22 -0
- package/es/editor/user/ibiz-searchcond-edit/index.d.ts +3 -0
- package/es/editor/user/ibiz-searchcond-edit/index.mjs +5 -0
- package/es/editor/user/index.d.ts +1 -0
- package/es/editor/user/index.mjs +6 -0
- package/es/index.d.ts +0 -1
- package/es/index.mjs +0 -1
- package/es/panel-component/auth-userinfo/auth-userinfo.css +1 -1
- package/es/panel-component/user-message/internal-message/internal-message-default/internal-message-default.css +1 -1
- package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.css +1 -1
- package/es/util/app-drawer/app-drawer-component.mjs +3 -2
- package/es/util/app-modal/app-modal-component.mjs +11 -2
- package/es/util/app-popover/app-popover-component.mjs +25 -2
- package/es/util/notification-util/notification-util.mjs +1 -0
- package/es/util/open-view-util/open-view-util.mjs +8 -1
- package/es/view-engine/report-view.engine.d.ts +19 -0
- package/es/view-engine/report-view.engine.mjs +37 -10
- package/es/view-engine/tab-exp-view.engine.mjs +3 -3
- package/lib/common/grid-setting/grid-setting.cjs +23 -4
- package/lib/common/grid-setting/grid-setting.css +1 -1
- package/lib/control/calendar/calendar.cjs +1 -1
- package/lib/control/data-view/data-view.cjs +3 -2
- package/lib/control/drtab/drtab.css +1 -1
- package/lib/control/form/form-detail/form-button/form-button.cjs +2 -1
- package/lib/control/grid/grid/grid-control.util.cjs +4 -0
- package/lib/control/search-bar/filter-tree/filter-tree.cjs +41 -20
- package/lib/control/search-bar/search-bar.cjs +8 -2
- package/lib/control/search-bar/search-groups/search-groups.cjs +2 -2
- package/lib/control/tab-exp-panel/tab-exp-panel.cjs +31 -0
- package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.css +1 -1
- package/lib/editor/html/wang-editor/wang-editor.cjs +2 -2
- package/lib/editor/index.cjs +8 -0
- package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.cjs +2 -2
- package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.cjs +189 -0
- package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.controller.cjs +95 -0
- package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.css +1 -0
- package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.provider.cjs +24 -0
- package/lib/editor/user/ibiz-searchcond-edit/index.cjs +11 -0
- package/lib/editor/user/index.cjs +12 -0
- package/lib/index.cjs +181 -183
- package/lib/panel-component/auth-userinfo/auth-userinfo.css +1 -1
- package/lib/panel-component/searchform-buttons/searchform-buttons.cjs +2 -2
- package/lib/panel-component/user-message/internal-message/internal-message-default/internal-message-default.css +1 -1
- package/lib/panel-component/user-message/internal-message/internal-message-json/internal-message-json.css +1 -1
- package/lib/util/app-drawer/app-drawer-component.cjs +3 -2
- package/lib/util/app-modal/app-modal-component.cjs +11 -2
- package/lib/util/app-popover/app-popover-component.cjs +24 -1
- package/lib/util/confirm-util/confirm-util.cjs +5 -5
- package/lib/util/loading-util/loading-util.cjs +2 -2
- package/lib/util/message-util/message-util.cjs +5 -5
- package/lib/util/modal-util/modal-util.cjs +6 -6
- package/lib/util/notice-util/notice-util.cjs +3 -3
- package/lib/util/notification-util/notification-util.cjs +3 -2
- package/lib/util/open-view-util/open-view-util.cjs +8 -1
- package/lib/view-engine/report-view.engine.cjs +36 -9
- package/lib/view-engine/tab-exp-view.engine.cjs +2 -2
- package/package.json +6 -6
- package/dist/index-knHzHtox.js +0 -2
- package/es/devtool/devtool-action.css +0 -1
- package/es/devtool/devtool-action.d.ts +0 -26
- package/es/devtool/devtool-action.mjs +0 -219
- package/es/devtool/index.d.ts +0 -50
- package/es/devtool/index.mjs +0 -81
- package/es/devtool/interface/devtool-event.d.ts +0 -12
- package/es/devtool/interface/devtool-event.mjs +0 -1
- package/es/devtool/interface/devtool-view.d.ts +0 -15
- package/es/devtool/interface/devtool-view.mjs +0 -1
- package/es/node_modules/.pnpm/element-plus@2.4.2_vue@3.3.8/node_modules/element-plus/dist/locale/zh-cn.mjs +0 -131
- package/lib/devtool/devtool-action.cjs +0 -221
- package/lib/devtool/devtool-action.css +0 -1
- package/lib/devtool/index.cjs +0 -84
- package/lib/devtool/interface/devtool-event.cjs +0 -3
- package/lib/devtool/interface/devtool-view.cjs +0 -3
- package/lib/node_modules/.pnpm/element-plus@2.4.2_vue@3.3.8/node_modules/element-plus/dist/locale/zh-cn.cjs +0 -135
|
@@ -52,23 +52,41 @@ const FilterModes = [{
|
|
|
52
52
|
const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
|
|
53
53
|
name: "IBizFilterTreeControl",
|
|
54
54
|
props: {
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
/**
|
|
56
|
+
* 过滤项控制器集合
|
|
57
|
+
*/
|
|
58
|
+
filterControllers: {
|
|
59
|
+
type: Array,
|
|
57
60
|
required: true
|
|
58
61
|
},
|
|
59
|
-
|
|
60
|
-
|
|
62
|
+
/**
|
|
63
|
+
* 过滤项树节点数据集合
|
|
64
|
+
*/
|
|
65
|
+
filterNodes: {
|
|
66
|
+
type: Array,
|
|
67
|
+
required: true
|
|
68
|
+
},
|
|
69
|
+
/**
|
|
70
|
+
* 父容器
|
|
71
|
+
*/
|
|
72
|
+
parent: {
|
|
73
|
+
type: String,
|
|
74
|
+
required: true
|
|
61
75
|
}
|
|
62
76
|
},
|
|
63
|
-
emits:
|
|
64
|
-
close: () => true
|
|
65
|
-
},
|
|
77
|
+
emits: ["confirm", "cancel", "change"],
|
|
66
78
|
setup(props, {
|
|
67
79
|
emit
|
|
68
80
|
}) {
|
|
69
81
|
const ns = vue3Util.useNamespace("filter-tree");
|
|
82
|
+
const isInSearchBar = vue.computed(() => {
|
|
83
|
+
return props.parent === "search-bar";
|
|
84
|
+
});
|
|
85
|
+
const UiFilterNodes = vue.computed(() => {
|
|
86
|
+
return props.filterNodes;
|
|
87
|
+
});
|
|
70
88
|
const findFilterController = (fieldName, valueOP) => {
|
|
71
|
-
return props.
|
|
89
|
+
return props.filterControllers.find((item) => {
|
|
72
90
|
if (item.fieldName === fieldName) {
|
|
73
91
|
return item.valueOP ? item.valueOP === valueOP : true;
|
|
74
92
|
}
|
|
@@ -86,7 +104,7 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
86
104
|
}
|
|
87
105
|
return field.valueOPs;
|
|
88
106
|
};
|
|
89
|
-
props.
|
|
107
|
+
props.filterControllers.forEach((filterC) => {
|
|
90
108
|
let find = allFields.find((x) => x.name === filterC.fieldName);
|
|
91
109
|
if (find === void 0) {
|
|
92
110
|
find = {
|
|
@@ -141,6 +159,7 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
141
159
|
editor = vue.h(component, {
|
|
142
160
|
value: node.value,
|
|
143
161
|
controller: filterC.editor,
|
|
162
|
+
data: {},
|
|
144
163
|
onChange: (val) => {
|
|
145
164
|
node.value = val;
|
|
146
165
|
}
|
|
@@ -240,23 +259,26 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
240
259
|
}, null)]);
|
|
241
260
|
})])]);
|
|
242
261
|
};
|
|
243
|
-
const
|
|
244
|
-
emit("
|
|
262
|
+
const onConfirm = () => {
|
|
263
|
+
emit("confirm");
|
|
264
|
+
};
|
|
265
|
+
const onCancel = () => {
|
|
266
|
+
emit("cancel");
|
|
245
267
|
};
|
|
246
268
|
return {
|
|
247
269
|
ns,
|
|
248
270
|
renderFilterGroup,
|
|
249
271
|
renderFilterItem,
|
|
250
|
-
|
|
272
|
+
onConfirm,
|
|
273
|
+
onCancel,
|
|
274
|
+
isInSearchBar,
|
|
275
|
+
UiFilterNodes
|
|
251
276
|
};
|
|
252
277
|
},
|
|
253
278
|
render() {
|
|
254
|
-
const {
|
|
255
|
-
state
|
|
256
|
-
} = this.controller;
|
|
257
279
|
return vue.createVNode("div", {
|
|
258
280
|
"class": [this.ns.b()]
|
|
259
|
-
}, [
|
|
281
|
+
}, [this.UiFilterNodes.length > 0 && this.UiFilterNodes.map((node) => {
|
|
260
282
|
if (node.leaf) {
|
|
261
283
|
return this.renderFilterItem(node);
|
|
262
284
|
}
|
|
@@ -265,14 +287,13 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
265
287
|
"class": this.ns.b("footer")
|
|
266
288
|
}, [vue.createVNode(vue.resolveComponent("el-button"), {
|
|
267
289
|
"onClick": () => {
|
|
268
|
-
this.
|
|
269
|
-
this.onClose();
|
|
290
|
+
this.onConfirm();
|
|
270
291
|
}
|
|
271
292
|
}, {
|
|
272
|
-
default: () => [
|
|
293
|
+
default: () => [this.isInSearchBar ? "\u641C\u7D22" : "\u786E\u5B9A"]
|
|
273
294
|
}), vue.createVNode(vue.resolveComponent("el-button"), {
|
|
274
295
|
"onClick": () => {
|
|
275
|
-
this.
|
|
296
|
+
this.onCancel();
|
|
276
297
|
}
|
|
277
298
|
}, {
|
|
278
299
|
default: () => [vue.createTextVNode("\u91CD\u7F6E")]
|
|
@@ -57,12 +57,18 @@ const SearchBarControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
57
57
|
const showFilter = async () => {
|
|
58
58
|
popover = ibiz.overlay.createPopover(() => {
|
|
59
59
|
return vue.createVNode(vue.resolveComponent("iBizFilterTreeControl"), {
|
|
60
|
-
"
|
|
60
|
+
"filterControllers": c.filterControllers,
|
|
61
|
+
"filterNodes": c.state.filterNodes,
|
|
62
|
+
"parent": "search-bar",
|
|
63
|
+
"onConfirm": () => {
|
|
64
|
+
c.onSearch();
|
|
61
65
|
if (popover) {
|
|
62
66
|
popover.dismiss();
|
|
63
67
|
}
|
|
64
68
|
},
|
|
65
|
-
"
|
|
69
|
+
"onCancel": () => {
|
|
70
|
+
c.resetFilter();
|
|
71
|
+
}
|
|
66
72
|
}, null);
|
|
67
73
|
}, void 0, {
|
|
68
74
|
placement: "bottom-end",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var vue = require('vue');
|
|
4
4
|
var vue3Util = require('@ibiz-template/vue3-util');
|
|
5
5
|
require('./search-groups.css');
|
|
6
|
-
var
|
|
6
|
+
var elementPlus = require('element-plus');
|
|
7
7
|
var draggable = require('vuedraggable');
|
|
8
8
|
var core = require('@ibiz-template/core');
|
|
9
9
|
var newGroupUtil = require('./new-group-util.cjs');
|
|
@@ -80,7 +80,7 @@ const SearchGroups = /* @__PURE__ */ vue.defineComponent({
|
|
|
80
80
|
editForm.caption = groupItem.caption || groupItem.name;
|
|
81
81
|
};
|
|
82
82
|
const removeGroup = (groupItem) => {
|
|
83
|
-
|
|
83
|
+
elementPlus.ElMessageBox({
|
|
84
84
|
title: "\u786E\u8BA4\u5220\u9664",
|
|
85
85
|
message: () => {
|
|
86
86
|
return vue.createVNode("div", {
|
|
@@ -4,6 +4,7 @@ var vue = require('vue');
|
|
|
4
4
|
var vue3Util = require('@ibiz-template/vue3-util');
|
|
5
5
|
require('./tab-exp-panel.css');
|
|
6
6
|
var runtime = require('@ibiz-template/runtime');
|
|
7
|
+
var vueRouter = require('vue-router');
|
|
7
8
|
|
|
8
9
|
"use strict";
|
|
9
10
|
function _isSlot(s) {
|
|
@@ -40,6 +41,36 @@ const TabExpPanelControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
40
41
|
c.handleTabChange();
|
|
41
42
|
};
|
|
42
43
|
const tabPosition = ((_a = c.view.model.tabLayout) == null ? void 0 : _a.toLowerCase()) || "top";
|
|
44
|
+
const route = vueRouter.useRoute();
|
|
45
|
+
vue.watch(() => route.fullPath, (newVal, oldVal) => {
|
|
46
|
+
if (newVal !== oldVal) {
|
|
47
|
+
const viewCodeName = c.view.model.codeName.toLowerCase();
|
|
48
|
+
const viewRouteKey = Object.keys(route.params).find((key) => {
|
|
49
|
+
return route.params[key] === viewCodeName;
|
|
50
|
+
});
|
|
51
|
+
if (!viewRouteKey) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const nextKeyNumber = (parseInt(viewRouteKey[viewRouteKey.length - 1], 10) + 2) * 2;
|
|
55
|
+
const tempFullPath = route.fullPath.split("/").slice(0, nextKeyNumber).join("/");
|
|
56
|
+
c.state.tabPages.forEach((page) => {
|
|
57
|
+
if (page.fullPath === tempFullPath) {
|
|
58
|
+
c.state.activeName = page.tabTag;
|
|
59
|
+
c.handleTabChange();
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
if (c.state.activeName) {
|
|
63
|
+
const currentPage = c.state.tabPages.find((page) => {
|
|
64
|
+
return page.tabTag === c.state.activeName;
|
|
65
|
+
});
|
|
66
|
+
if (currentPage) {
|
|
67
|
+
currentPage.fullPath = tempFullPath;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}, {
|
|
72
|
+
immediate: true
|
|
73
|
+
});
|
|
43
74
|
return {
|
|
44
75
|
c,
|
|
45
76
|
ns,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-date-range-picker .el-date-editor{width:100%;line-height:var(--ibiz-editor-default-line-height);display:flex;align-items:center;justify-content:flex-start}.ibiz-date-range-picker .el-date-editor .el-range-input{color:var(--ibiz-form-item-text-color)}.ibiz-date-range-picker-form-default-content{display:none}.ibiz-form-item .ibiz-date-range-picker.is-show-default:hover .ibiz-date-range-picker-form-default-content{display:none}.ibiz-form-item .ibiz-date-range-picker.is-show-default:hover .ibiz-date-range-picker-input{display:flex}.ibiz-form-item .ibiz-date-range-picker.is-show-default .ibiz-date-range-picker-form-default-content{display:flex;align-items:center;width:100%;font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-date-range-picker.is-show-default .ibiz-date-range-picker-form-default-content .ibiz-date-range-picker-default-input{box-shadow:none}.ibiz-form-item .ibiz-date-range-picker.is-show-default .ibiz-date-range-picker-
|
|
1
|
+
.ibiz-date-range-picker .el-date-editor{width:100%;line-height:var(--ibiz-editor-default-line-height);display:flex;align-items:center;justify-content:flex-start}.ibiz-date-range-picker .el-date-editor .el-range-input{color:var(--ibiz-form-item-text-color)}.ibiz-date-range-picker-form-default-content{display:none}.ibiz-form-item .ibiz-date-range-picker.is-show-default:hover .ibiz-date-range-picker-form-default-content{display:none}.ibiz-form-item .ibiz-date-range-picker.is-show-default:hover .ibiz-date-range-picker-input{display:flex}.ibiz-form-item .ibiz-date-range-picker.is-show-default .ibiz-date-range-picker-form-default-content{display:flex;align-items:center;width:100%;font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-date-range-picker.is-show-default .ibiz-date-range-picker-form-default-content .ibiz-date-range-picker-default-input{box-shadow:none}.ibiz-form-item .ibiz-date-range-picker.is-show-default .ibiz-date-range-picker-input{display:none}.ibiz-form-item .ibiz-date-range-picker.is-show-default.is-editable .ibiz-date-range-picker-form-default-content{display:none}.ibiz-form-item .ibiz-date-range-picker.is-show-default.is-editable .ibiz-date-range-picker-input{display:flex}
|
|
@@ -8,7 +8,7 @@ var qxUtil = require('qx-util');
|
|
|
8
8
|
var ramda = require('ramda');
|
|
9
9
|
var vue3Util = require('@ibiz-template/vue3-util');
|
|
10
10
|
var core = require('@ibiz-template/core');
|
|
11
|
-
var
|
|
11
|
+
var elementPlus = require('element-plus');
|
|
12
12
|
require('./wang-editor.css');
|
|
13
13
|
|
|
14
14
|
"use strict";
|
|
@@ -267,7 +267,7 @@ const IBizHtml = /* @__PURE__ */ vue.defineComponent({
|
|
|
267
267
|
};
|
|
268
268
|
const cancelEdit = () => {
|
|
269
269
|
if (props.value !== valueHtml.value) {
|
|
270
|
-
|
|
270
|
+
elementPlus.ElMessageBox({
|
|
271
271
|
title: "\u786E\u8BA4\u53D6\u6D88",
|
|
272
272
|
type: "warning",
|
|
273
273
|
customClass: ns.b("message"),
|
package/lib/editor/index.cjs
CHANGED
|
@@ -30,6 +30,7 @@ require('./array/index.cjs');
|
|
|
30
30
|
require('./cascader/index.cjs');
|
|
31
31
|
require('./color-picker/index.cjs');
|
|
32
32
|
require('./preset/index.cjs');
|
|
33
|
+
require('./user/ibiz-searchcond-edit/index.cjs');
|
|
33
34
|
var span = require('./span/span/span.cjs');
|
|
34
35
|
var spanLink = require('./span/span-link/span-link.cjs');
|
|
35
36
|
var input = require('./text-box/input/input.cjs');
|
|
@@ -63,6 +64,7 @@ var ibizArray = require('./array/ibiz-array/ibiz-array.cjs');
|
|
|
63
64
|
var ibizCascader = require('./cascader/ibiz-cascader/ibiz-cascader.cjs');
|
|
64
65
|
var ibizColorPicker = require('./color-picker/ibiz-color-picker/ibiz-color-picker.cjs');
|
|
65
66
|
var ibizPresetRawitem = require('./preset/preset-rawitem/ibiz-preset-rawitem/ibiz-preset-rawitem.cjs');
|
|
67
|
+
var ibizSearchcondEdit = require('./user/ibiz-searchcond-edit/ibiz-searchcond-edit.cjs');
|
|
66
68
|
var spanEditor_provider = require('./span/span-editor.provider.cjs');
|
|
67
69
|
var textBoxEditor_provider = require('./text-box/text-box-editor.provider.cjs');
|
|
68
70
|
var dropdownListEditor_provider = require('./dropdown-list/dropdown-list-editor.provider.cjs');
|
|
@@ -87,6 +89,7 @@ var markdownEditor_provider = require('./markdown/markdown-editor.provider.cjs')
|
|
|
87
89
|
var arrayEditor_provider = require('./array/array-editor.provider.cjs');
|
|
88
90
|
var cascaderEditor_provider = require('./cascader/cascader-editor.provider.cjs');
|
|
89
91
|
var colorPickerEditor_provider = require('./color-picker/color-picker-editor.provider.cjs');
|
|
92
|
+
var ibizSearchcondEdit_provider = require('./user/ibiz-searchcond-edit/ibiz-searchcond-edit.provider.cjs');
|
|
90
93
|
|
|
91
94
|
"use strict";
|
|
92
95
|
const IBizEditor = {
|
|
@@ -125,6 +128,7 @@ const IBizEditor = {
|
|
|
125
128
|
v.component(ibizCascader.IBizCascader.name, ibizCascader.IBizCascader);
|
|
126
129
|
v.component(ibizColorPicker.IBizColorPicker.name, ibizColorPicker.IBizColorPicker);
|
|
127
130
|
v.component(ibizPresetRawitem.IBizPresetRawitem.name, ibizPresetRawitem.IBizPresetRawitem);
|
|
131
|
+
v.component(ibizSearchcondEdit.IBizSearchCondEdit.name, ibizSearchcondEdit.IBizSearchCondEdit);
|
|
128
132
|
v.component(
|
|
129
133
|
"IBizHtml",
|
|
130
134
|
vue.defineAsyncComponent(() => Promise.resolve().then(function () { return require('./html/wang-editor/wang-editor.cjs'); }))
|
|
@@ -289,6 +293,10 @@ const IBizEditor = {
|
|
|
289
293
|
"COLORPICKER",
|
|
290
294
|
() => new colorPickerEditor_provider.ColorPickerEditorProvider()
|
|
291
295
|
);
|
|
296
|
+
runtime.registerEditorProvider(
|
|
297
|
+
"PICKER_searchCondEdit",
|
|
298
|
+
() => new ibizSearchcondEdit_provider.SearchCondEditEditorProvider()
|
|
299
|
+
);
|
|
292
300
|
runtime.registerEditorProvider(
|
|
293
301
|
"FIELD_IMAGE_PICTURE_ONE",
|
|
294
302
|
() => new uploadEditor_provider.FileUploaderEditorProvider("PICTURE_ONE")
|
|
@@ -38,8 +38,8 @@ const IBizInputNumber = /* @__PURE__ */ vue.defineComponent({
|
|
|
38
38
|
});
|
|
39
39
|
vue.watch(() => props.value, (newVal, oldVal) => {
|
|
40
40
|
if (newVal !== oldVal) {
|
|
41
|
-
const number = newVal != null && !Object.is(newVal, "") ? Number(newVal) :
|
|
42
|
-
currentVal.value = Number.isNaN(number) ?
|
|
41
|
+
const number = newVal != null && !Object.is(newVal, "") ? Number(newVal) : null;
|
|
42
|
+
currentVal.value = Number.isNaN(number) ? null : number;
|
|
43
43
|
}
|
|
44
44
|
}, {
|
|
45
45
|
immediate: true
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
var vue3Util = require('@ibiz-template/vue3-util');
|
|
5
|
+
require('./ibiz-searchcond-edit.css');
|
|
6
|
+
var qxUtil = require('qx-util');
|
|
7
|
+
var runtime = require('@ibiz-template/runtime');
|
|
8
|
+
|
|
9
|
+
"use strict";
|
|
10
|
+
const IBizSearchCondEdit = /* @__PURE__ */ vue.defineComponent({
|
|
11
|
+
name: "IBizSearchCondEdit",
|
|
12
|
+
props: vue3Util.getInputProps(),
|
|
13
|
+
emits: vue3Util.getEditorEmits(),
|
|
14
|
+
setup(props, {
|
|
15
|
+
emit
|
|
16
|
+
}) {
|
|
17
|
+
const ns = vue3Util.useNamespace("searchcond-edit");
|
|
18
|
+
const c = props.controller;
|
|
19
|
+
const currentVal = vue.ref(null);
|
|
20
|
+
const isEditable = vue.ref(false);
|
|
21
|
+
const editorRef = vue.ref();
|
|
22
|
+
const filterNodes = vue.ref([]);
|
|
23
|
+
const filterButtonRef = vue.ref();
|
|
24
|
+
let popover;
|
|
25
|
+
const showFormDefaultContent = vue.computed(() => {
|
|
26
|
+
if (props.controlParams && props.controlParams.editmode === "hover") {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
});
|
|
31
|
+
vue.watch(() => props.value, (newVal, oldVal) => {
|
|
32
|
+
if (newVal !== oldVal) {
|
|
33
|
+
if (newVal == null) {
|
|
34
|
+
currentVal.value = "";
|
|
35
|
+
filterNodes.value = runtime.getOriginFilterNodes();
|
|
36
|
+
} else if (typeof newVal === "string") {
|
|
37
|
+
currentVal.value = newVal;
|
|
38
|
+
if (newVal) {
|
|
39
|
+
try {
|
|
40
|
+
const searchconds = JSON.parse(newVal);
|
|
41
|
+
filterNodes.value = searchconds.map((item) => runtime.parseFilters(item));
|
|
42
|
+
} catch (error) {
|
|
43
|
+
ibiz.log.error("".concat(newVal, "\u503C\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u5FC5\u987B\u4E3Ajson\u5B57\u7B26\u4E32"));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}, {
|
|
49
|
+
immediate: true
|
|
50
|
+
});
|
|
51
|
+
const resetFilter = () => {
|
|
52
|
+
filterNodes.value = runtime.getOriginFilterNodes();
|
|
53
|
+
};
|
|
54
|
+
resetFilter();
|
|
55
|
+
const setEditable = (flag) => {
|
|
56
|
+
if (flag) {
|
|
57
|
+
isEditable.value = flag;
|
|
58
|
+
} else {
|
|
59
|
+
setTimeout(() => {
|
|
60
|
+
isEditable.value = flag;
|
|
61
|
+
}, 100);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
const handleChange = (e) => {
|
|
65
|
+
emit("change", e);
|
|
66
|
+
};
|
|
67
|
+
if (props.autoFocus) {
|
|
68
|
+
vue.watch(editorRef, (newVal) => {
|
|
69
|
+
if (newVal) {
|
|
70
|
+
const input = newVal.$el.getElementsByTagName("input")[0];
|
|
71
|
+
input.focus();
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
const onFocus = (e) => {
|
|
76
|
+
emit("focus", e);
|
|
77
|
+
setEditable(true);
|
|
78
|
+
};
|
|
79
|
+
const onBlur = (e) => {
|
|
80
|
+
emit("blur", e);
|
|
81
|
+
setEditable(false);
|
|
82
|
+
};
|
|
83
|
+
const handleKeyUp = (e) => {
|
|
84
|
+
if (e && e.code === "Enter") {
|
|
85
|
+
emit("enter", e);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
const getCurrentValByFilterNodes = () => {
|
|
89
|
+
const searchconds = runtime.calcSearchConds(filterNodes.value);
|
|
90
|
+
if (searchconds) {
|
|
91
|
+
currentVal.value = JSON.stringify(searchconds, null, 2);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
const onConfirm = () => {
|
|
95
|
+
getCurrentValByFilterNodes();
|
|
96
|
+
if (popover) {
|
|
97
|
+
popover.dismiss();
|
|
98
|
+
}
|
|
99
|
+
emit("change", currentVal.value);
|
|
100
|
+
};
|
|
101
|
+
const onCancel = () => {
|
|
102
|
+
resetFilter();
|
|
103
|
+
getCurrentValByFilterNodes();
|
|
104
|
+
emit("change", "");
|
|
105
|
+
};
|
|
106
|
+
const showFilter = async () => {
|
|
107
|
+
popover = ibiz.overlay.createPopover(() => {
|
|
108
|
+
return vue.createVNode(vue.resolveComponent("iBizFilterTreeControl"), {
|
|
109
|
+
"filterControllers": c.filterControllers,
|
|
110
|
+
"filterNodes": filterNodes.value,
|
|
111
|
+
"parent": "searchcond-edit",
|
|
112
|
+
"onConfirm": () => {
|
|
113
|
+
onConfirm();
|
|
114
|
+
},
|
|
115
|
+
"onCancel": () => {
|
|
116
|
+
onCancel();
|
|
117
|
+
}
|
|
118
|
+
}, null);
|
|
119
|
+
}, void 0, {
|
|
120
|
+
placement: "bottom-end",
|
|
121
|
+
autoClose: true
|
|
122
|
+
});
|
|
123
|
+
popover.present(filterButtonRef.value.$el);
|
|
124
|
+
await popover.onWillDismiss();
|
|
125
|
+
popover = void 0;
|
|
126
|
+
};
|
|
127
|
+
const triggerFilter = () => {
|
|
128
|
+
if (popover) {
|
|
129
|
+
popover.dismiss();
|
|
130
|
+
} else {
|
|
131
|
+
showFilter();
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
return {
|
|
135
|
+
ns,
|
|
136
|
+
c,
|
|
137
|
+
currentVal,
|
|
138
|
+
handleChange,
|
|
139
|
+
onFocus,
|
|
140
|
+
onBlur,
|
|
141
|
+
editorRef,
|
|
142
|
+
handleKeyUp,
|
|
143
|
+
isEditable,
|
|
144
|
+
setEditable,
|
|
145
|
+
showFormDefaultContent,
|
|
146
|
+
filterNodes,
|
|
147
|
+
triggerFilter,
|
|
148
|
+
filterButtonRef,
|
|
149
|
+
resetFilter
|
|
150
|
+
};
|
|
151
|
+
},
|
|
152
|
+
render() {
|
|
153
|
+
let content = null;
|
|
154
|
+
if (this.readonly) {
|
|
155
|
+
content = qxUtil.isNilOrEmpty(this.currentVal) ? "" : "".concat(this.currentVal);
|
|
156
|
+
} else {
|
|
157
|
+
content = [vue.createVNode(vue.resolveComponent("el-input"), {
|
|
158
|
+
"ref": "editorRef",
|
|
159
|
+
"class": [this.ns.b("input")],
|
|
160
|
+
"model-value": this.currentVal,
|
|
161
|
+
"type": "textarea",
|
|
162
|
+
"rows": 10,
|
|
163
|
+
"placeholder": this.c.placeHolder,
|
|
164
|
+
"disabled": this.disabled,
|
|
165
|
+
"controls": false,
|
|
166
|
+
"onFocus": this.onFocus,
|
|
167
|
+
"onBlur": this.onBlur,
|
|
168
|
+
"onKeyup": this.handleKeyUp
|
|
169
|
+
}, null), vue.createVNode(vue.resolveComponent("el-button"), {
|
|
170
|
+
"ref": "filterButtonRef",
|
|
171
|
+
"type": "primary",
|
|
172
|
+
"title": "\u7F16\u8F91",
|
|
173
|
+
"class": this.ns.b("filter"),
|
|
174
|
+
"onClick": () => this.triggerFilter()
|
|
175
|
+
}, {
|
|
176
|
+
default: () => [vue.createVNode(vue.resolveComponent("iBizIcon"), {
|
|
177
|
+
"icon": {
|
|
178
|
+
cssClass: "fa fa-edit"
|
|
179
|
+
}
|
|
180
|
+
}, null)]
|
|
181
|
+
})];
|
|
182
|
+
}
|
|
183
|
+
return vue.createVNode("div", {
|
|
184
|
+
"class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : "", this.ns.is("editable", this.isEditable), this.ns.is("show-default", this.showFormDefaultContent)]
|
|
185
|
+
}, [content]);
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
exports.IBizSearchCondEdit = IBizSearchCondEdit;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var runtime = require('@ibiz-template/runtime');
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __publicField = (obj, key, value) => {
|
|
9
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
10
|
+
return value;
|
|
11
|
+
};
|
|
12
|
+
class SearchCondEditEditorController extends runtime.EditorController {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
/**
|
|
16
|
+
* 过滤项集合
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
__publicField(this, "searchBarFilters", []);
|
|
20
|
+
/**
|
|
21
|
+
* 过滤项控制器集合
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
24
|
+
__publicField(this, "filterControllers", []);
|
|
25
|
+
/**
|
|
26
|
+
* 实体模型
|
|
27
|
+
* @author lxm
|
|
28
|
+
* @date 2023-10-13 02:49:59
|
|
29
|
+
* @type {IAppDataEntity}
|
|
30
|
+
*/
|
|
31
|
+
__publicField(this, "appDataEntity", null);
|
|
32
|
+
}
|
|
33
|
+
async onInit() {
|
|
34
|
+
await super.onInit();
|
|
35
|
+
await this.initByEntitySchema();
|
|
36
|
+
await this.initSearchBarFilters();
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 根据实体jsonschema初始化
|
|
40
|
+
* @author lxm
|
|
41
|
+
* @date 2023-12-29 04:21:31
|
|
42
|
+
* @return {*} {Promise<void>}
|
|
43
|
+
*/
|
|
44
|
+
async initByEntitySchema() {
|
|
45
|
+
if (!this.model.appDataEntityId) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const appDataEntity = await ibiz.hub.getAppDataEntity(
|
|
49
|
+
this.model.appDataEntityId,
|
|
50
|
+
this.context.srfappid
|
|
51
|
+
);
|
|
52
|
+
if (appDataEntity) {
|
|
53
|
+
this.appDataEntity = appDataEntity;
|
|
54
|
+
}
|
|
55
|
+
const json = await runtime.getEntitySchema(
|
|
56
|
+
this.model.appDataEntityId,
|
|
57
|
+
this.context
|
|
58
|
+
);
|
|
59
|
+
if (!json) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const addSearchBarFilters = await runtime.calcFilterModelBySchema(
|
|
63
|
+
json,
|
|
64
|
+
this.model.appDataEntityId,
|
|
65
|
+
this.model.appId
|
|
66
|
+
);
|
|
67
|
+
this.searchBarFilters = addSearchBarFilters;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* 初始化过滤项控制器
|
|
71
|
+
* @author lxm
|
|
72
|
+
* @date 2023-10-13 03:33:17
|
|
73
|
+
* @protected
|
|
74
|
+
* @return {*} {Promise<void>}
|
|
75
|
+
*/
|
|
76
|
+
async initSearchBarFilters() {
|
|
77
|
+
var _a;
|
|
78
|
+
if (((_a = this.searchBarFilters) == null ? void 0 : _a.length) && this.appDataEntity) {
|
|
79
|
+
this.searchBarFilters.forEach((item) => {
|
|
80
|
+
const filterController = new runtime.SearchBarFilterController(
|
|
81
|
+
item,
|
|
82
|
+
this.appDataEntity,
|
|
83
|
+
this.context,
|
|
84
|
+
this.params
|
|
85
|
+
);
|
|
86
|
+
this.filterControllers.push(filterController);
|
|
87
|
+
});
|
|
88
|
+
await Promise.all(
|
|
89
|
+
this.filterControllers.map((controller) => controller.init())
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
exports.SearchCondEditEditorController = SearchCondEditEditorController;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ibiz-searchcond-edit{position:relative;width:100%;height:100%;font-size:var(--ibiz-form-item-font-size);font-weight:var(--ibiz-form-item-regular)}.ibiz-searchcond-edit .ibiz-searchcond-edit-filter{position:absolute;top:var(--ibiz-spacing-tight);right:var(--ibiz-spacing-tight)}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var ibizSearchcondEdit_controller = require('./ibiz-searchcond-edit.controller.cjs');
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __publicField = (obj, key, value) => {
|
|
9
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
10
|
+
return value;
|
|
11
|
+
};
|
|
12
|
+
class SearchCondEditEditorProvider {
|
|
13
|
+
constructor() {
|
|
14
|
+
__publicField(this, "formEditor", "IBizSearchCondEdit");
|
|
15
|
+
__publicField(this, "gridEditor", "IBizSearchCondEdit");
|
|
16
|
+
}
|
|
17
|
+
async createController(editorModel, parentController) {
|
|
18
|
+
const c = new ibizSearchcondEdit_controller.SearchCondEditEditorController(editorModel, parentController);
|
|
19
|
+
await c.init();
|
|
20
|
+
return c;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
exports.SearchCondEditEditorProvider = SearchCondEditEditorProvider;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var ibizSearchcondEdit_controller = require('./ibiz-searchcond-edit.controller.cjs');
|
|
4
|
+
var ibizSearchcondEdit_provider = require('./ibiz-searchcond-edit.provider.cjs');
|
|
5
|
+
var ibizSearchcondEdit = require('./ibiz-searchcond-edit.cjs');
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
|
|
9
|
+
exports.SearchCondEditEditorController = ibizSearchcondEdit_controller.SearchCondEditEditorController;
|
|
10
|
+
exports.SearchCondEditEditorProvider = ibizSearchcondEdit_provider.SearchCondEditEditorProvider;
|
|
11
|
+
exports.IBizSearchCondEdit = ibizSearchcondEdit.IBizSearchCondEdit;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('./ibiz-searchcond-edit/index.cjs');
|
|
4
|
+
var ibizSearchcondEdit = require('./ibiz-searchcond-edit/ibiz-searchcond-edit.cjs');
|
|
5
|
+
var ibizSearchcondEdit_controller = require('./ibiz-searchcond-edit/ibiz-searchcond-edit.controller.cjs');
|
|
6
|
+
var ibizSearchcondEdit_provider = require('./ibiz-searchcond-edit/ibiz-searchcond-edit.provider.cjs');
|
|
7
|
+
|
|
8
|
+
"use strict";
|
|
9
|
+
|
|
10
|
+
exports.IBizSearchCondEdit = ibizSearchcondEdit.IBizSearchCondEdit;
|
|
11
|
+
exports.SearchCondEditEditorController = ibizSearchcondEdit_controller.SearchCondEditEditorController;
|
|
12
|
+
exports.SearchCondEditEditorProvider = ibizSearchcondEdit_provider.SearchCondEditEditorProvider;
|