agilebuilder-ui 1.1.50 → 1.1.52-sit1
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/lib/{401-aead36a9.js → 401-08083c53.js} +1 -1
- package/lib/{404-9ad11c2e.js → 404-1fb4a0ce.js} +1 -1
- package/lib/{iframe-page-bf851287.js → iframe-page-dbcda296.js} +1 -1
- package/lib/{index-75ff2a06.js → index-b4a81c9e.js} +3702 -3757
- package/lib/super-ui.css +1 -1
- package/lib/super-ui.js +1 -1
- package/lib/super-ui.umd.cjs +61 -66
- package/lib/{tab-content-iframe-index-c7bb8381.js → tab-content-iframe-index-b33c12ef.js} +1 -1
- package/lib/{tab-content-index-95a59e50.js → tab-content-index-63eb906e.js} +22 -22
- package/lib/{tache-subprocess-history-106dc6ec.js → tache-subprocess-history-906be146.js} +1 -1
- package/package.json +1 -1
- package/packages/department-tree-inline/src/search-result.vue +2 -1
- package/packages/department-user-tree-inline/src/search-result.vue +2 -1
- package/packages/dynamic-source-select/src/dynamic-source-select.vue +29 -7
- package/packages/fs-preview/src/fs-preview.vue +1 -1
- package/packages/super-grid/src/normal-column-content.vue +1 -0
- package/packages/super-grid/src/row-operation.vue +13 -9
- package/packages/super-grid/src/search-form-item.vue +45 -4
- package/packages/super-grid/src/search-methods.js +18 -1
- package/src/i18n/langs/cn.js +2 -1
- package/src/i18n/langs/en.js +2 -1
- package/src/views/layout/EmptyLayout.vue +1 -9
- package/src/views/layout/NewLayout.vue +0 -4
- package/vite.config.js +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { openBlock as r, createElementBlock as t, createCommentVNode as o } from "vue";
|
|
2
|
-
import { _ as s } from "./index-
|
|
2
|
+
import { _ as s } from "./index-b4a81c9e.js";
|
|
3
3
|
const u = ["src"], f = s({ data: () => ({ src: null }), watch: { $route(n, c) {
|
|
4
4
|
this.src = this.$route.query.src;
|
|
5
5
|
} }, mounted() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { _ as f, c as _, g as x, b as P, s as h, m as M, M as O, i as I } from "./index-
|
|
2
|
-
import { resolveComponent as u, openBlock as
|
|
1
|
+
import { _ as f, c as _, g as x, b as P, s as h, m as M, M as O, i as I } from "./index-b4a81c9e.js";
|
|
2
|
+
import { resolveComponent as u, openBlock as d, createBlock as b, withCtx as g, createVNode as v, TransitionGroup as L, createElementBlock as p, Fragment as T, renderList as C, createElementVNode as m, toDisplayString as w, normalizeClass as S, createCommentVNode as y } from "vue";
|
|
3
3
|
const k = { class: "no-redirect" }, A = f({ name: "Breadcrumb", data: () => ({ levelList: null }), computed: { levelListWithTitle() {
|
|
4
4
|
return this.levelList.filter((e) => e.meta.title !== void 0 && e.meta.title !== null);
|
|
5
5
|
} }, watch: { $route() {
|
|
@@ -8,7 +8,7 @@ const k = { class: "no-redirect" }, A = f({ name: "Breadcrumb", data: () => ({ l
|
|
|
8
8
|
this.getBreadcrumb();
|
|
9
9
|
}, methods: { getBreadcrumb() {
|
|
10
10
|
const { params: e } = this.$route;
|
|
11
|
-
|
|
11
|
+
this.$route.matched;
|
|
12
12
|
let t = this.$route.matched.filter((a) => {
|
|
13
13
|
if (a.name) {
|
|
14
14
|
var r = _(a.path);
|
|
@@ -17,12 +17,12 @@ const k = { class: "no-redirect" }, A = f({ name: "Breadcrumb", data: () => ({ l
|
|
|
17
17
|
});
|
|
18
18
|
if (t) {
|
|
19
19
|
let a;
|
|
20
|
-
const r = x(),
|
|
21
|
-
|
|
22
|
-
const s = P.get("selectMenu"),
|
|
23
|
-
let
|
|
24
|
-
if (
|
|
25
|
-
const i =
|
|
20
|
+
const r = x(), n = window.$vueApp.config.globalProperties.systemNameObj;
|
|
21
|
+
n && (a = n[r]), t = [{ path: "/", redirect: "noredirect", meta: { title: a } }].concat(t);
|
|
22
|
+
const s = P.get("selectMenu"), l = window.$vueApp.config.globalProperties._selectMenu;
|
|
23
|
+
let o;
|
|
24
|
+
if (l ? o = l : s && (o = s), o) {
|
|
25
|
+
const i = o.substring(0, o.indexOf("~~")), c = o.substring(o.indexOf("~~") + 2);
|
|
26
26
|
if (t && t.length > 0) {
|
|
27
27
|
const $ = t[t.length - 1];
|
|
28
28
|
this.isShouldConcatLastMenu(c, i, $) && t.push({ path: i, meta: { title: c } });
|
|
@@ -35,9 +35,9 @@ const k = { class: "no-redirect" }, A = f({ name: "Breadcrumb", data: () => ({ l
|
|
|
35
35
|
return !(!this.isTitleNotEqual(e, a) || !this.isPathNotEqual(t, a));
|
|
36
36
|
}, isTitleNotEqual(e, t) {
|
|
37
37
|
return !(!e || !t.meta || e === t.meta.title || e === this.$t(t.meta.title));
|
|
38
|
-
}, isPathNotEqual: (e, t) => !(!e || !t.path || e === t.path) } }, [["render", function(e, t, a, r,
|
|
39
|
-
const
|
|
40
|
-
return
|
|
38
|
+
}, isPathNotEqual: (e, t) => !(!e || !t.path || e === t.path) } }, [["render", function(e, t, a, r, n, s) {
|
|
39
|
+
const l = u("el-breadcrumb-item"), o = u("el-breadcrumb");
|
|
40
|
+
return d(), b(o, { class: "app-breadcrumb", separator: ">" }, { default: g(() => [v(L, { name: "breadcrumb", tag: "span" }, { default: g(() => [(d(!0), p(T, null, C(s.levelListWithTitle, (i, c) => (d(), b(l, { key: i.path + "-" + c }, { default: g(() => [m("span", k, w(e.$t(i.meta.title)), 1)]), _: 2 }, 1024))), 128))]), _: 1 })]), _: 1 });
|
|
41
41
|
}], ["__scopeId", "data-v-768a430c"]]), { body: B } = document, E = { watch: { $route(e) {
|
|
42
42
|
this.device === "mobile" && this.sidebar.opened && h.dispatch("closeSidebar", { withoutAnimation: !1 });
|
|
43
43
|
} }, beforeMount() {
|
|
@@ -76,8 +76,8 @@ const k = { class: "no-redirect" }, A = f({ name: "Breadcrumb", data: () => ({ l
|
|
|
76
76
|
if (e.routePath === "/iframe-page/page") {
|
|
77
77
|
let a, r = "";
|
|
78
78
|
if (e.routeQuery)
|
|
79
|
-
for (const
|
|
80
|
-
|
|
79
|
+
for (const n in e.routeQuery)
|
|
80
|
+
n === "src" ? a = e.routeQuery[n] : r += n + "=" + e.routeQuery[n] + "&";
|
|
81
81
|
a && (t = a), r && (t += "?" + r);
|
|
82
82
|
} else if (e.routePath.indexOf("http:") < 0 && e.routePath.indexOf("https:") < 0 && (t = "#"), t = e.routePath.indexOf("?") >= 0 ? t + e.routePath + "&" : t + e.routePath + "?", e.routeQuery)
|
|
83
83
|
for (const a in e.routeQuery)
|
|
@@ -87,16 +87,16 @@ const k = { class: "no-redirect" }, A = f({ name: "Breadcrumb", data: () => ({ l
|
|
|
87
87
|
if (e && typeof e.data == "string" && e.data === "refreshTabContent")
|
|
88
88
|
window.location.reload();
|
|
89
89
|
else if (e && typeof e.data == "string" && e.data.indexOf("loginTimeout") >= 0)
|
|
90
|
-
|
|
90
|
+
e.data, window.parent.postMessage(e.data, "*");
|
|
91
91
|
else if (e && typeof e.data == "string" && e.data === "return-to-system-list") {
|
|
92
92
|
this.$store.commit("clear_tabs");
|
|
93
93
|
let t = "_IS_APP_LIST";
|
|
94
94
|
const a = window.sessionStorage.getItem(t);
|
|
95
95
|
a !== void 0 && a === "true" ? this.$router.push({ path: "/mms/apps/list" }) : this.$router.push({ path: "/mms/systems/list" });
|
|
96
96
|
}
|
|
97
|
-
} } }, V = ["src"], Q = { key: 1, class: "default-page-tip" }, R = { class: "default-page-tip-msg" }, q = { class: "default-page-tip-item" }, z = { class: "default-page-tip-item" }, j = { class: "main-container" }, W = f({ name: "Layout", components: { Menubar: O, Breadcrumb: A, TabContent: f(N, [["render", function(e, t, a, r,
|
|
98
|
-
const
|
|
99
|
-
return e.openTab && e.openTab.length > 0 ? (
|
|
97
|
+
} } }, V = ["src"], Q = { key: 1, class: "default-page-tip" }, R = { class: "default-page-tip-msg" }, q = { class: "default-page-tip-item" }, z = { class: "default-page-tip-item" }, j = { class: "main-container" }, W = f({ name: "Layout", components: { Menubar: O, Breadcrumb: A, TabContent: f(N, [["render", function(e, t, a, r, n, s) {
|
|
98
|
+
const l = u("el-tab-pane"), o = u("el-tabs");
|
|
99
|
+
return e.openTab && e.openTab.length > 0 ? (d(), b(o, { key: 0, modelValue: s.activeIndex, "onUpdate:modelValue": t[0] || (t[0] = (i) => s.activeIndex = i), class: "nav-tab menu-tab-container", closable: "", onTabRemove: s.closeSelectedTag }, { default: g(() => [(d(!0), p(T, null, C(e.openTab, (i) => (d(), b(l, { key: i.code, label: i.name, name: i.code }, { default: g(() => [m("iframe", { ref_for: !0, ref: "tabMainContent", src: s.getFullPath(i), class: "tab-main-content", name: "tab-main-content", frameborder: "0" }, null, 8, V)]), _: 2 }, 1032, ["label", "name"]))), 128))]), _: 1 }, 8, ["modelValue", "onTabRemove"])) : (d(), p("div", Q, [m("div", R, [m("div", q, w(n.defaultPageTipCn), 1), m("div", z, w(n.defaultPageTipEn), 1)])]));
|
|
100
100
|
}], ["__scopeId", "data-v-a5252a92"]]) }, mixins: [E], data: () => ({ showMenuRoute: I(), systemCode: null }), computed: { sidebar() {
|
|
101
101
|
return this.$store.state.app.sidebar;
|
|
102
102
|
}, device() {
|
|
@@ -104,12 +104,12 @@ const k = { class: "no-redirect" }, A = f({ name: "Breadcrumb", data: () => ({ l
|
|
|
104
104
|
}, classObj() {
|
|
105
105
|
return { hideSidebar: !this.sidebar.opened, openSidebar: this.sidebar.opened, withoutAnimation: this.sidebar.withoutAnimation, mobile: this.device === "mobile" };
|
|
106
106
|
} }, created() {
|
|
107
|
-
this.systemCode = window.$vueApp.config.globalProperties.customSystem,
|
|
107
|
+
this.systemCode = window.$vueApp.config.globalProperties.customSystem, this.systemCode;
|
|
108
108
|
}, methods: { handleClickOutside() {
|
|
109
109
|
this.$store.dispatch("closeSidebar", { withoutAnimation: !1 });
|
|
110
|
-
} } }, [["render", function(e, t, a, r,
|
|
111
|
-
const
|
|
112
|
-
return
|
|
110
|
+
} } }, [["render", function(e, t, a, r, n, s) {
|
|
111
|
+
const l = u("menubar"), o = u("breadcrumb"), i = u("tab-content");
|
|
112
|
+
return d(), p("div", { class: S([s.classObj, "app-wrapper"]) }, [s.device === "mobile" && s.sidebar.opened ? (d(), p("div", { key: 0, class: "drawer-bg", onClick: t[0] || (t[0] = (...c) => s.handleClickOutside && s.handleClickOutside(...c)) })) : y("", !0), v(l, { "system-code": n.systemCode, collapse: !0, class: "sidebar-container" }, null, 8, ["system-code"]), m("div", j, [n.showMenuRoute ? (d(), b(o, { key: 0 })) : y("", !0), v(i)])], 2);
|
|
113
113
|
}], ["__scopeId", "data-v-5c0a6bf6"]]);
|
|
114
114
|
export {
|
|
115
115
|
W as default
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolveComponent as t, openBlock as a, createElementBlock as s, createElementVNode as y, createVNode as l, withCtx as r, createTextVNode as n, toDisplayString as p, createCommentVNode as c, createBlock as h } from "vue";
|
|
2
|
-
import { _ as I } from "./index-
|
|
2
|
+
import { _ as I } from "./index-b4a81c9e.js";
|
|
3
3
|
const g = { style: { "padding-bottom": "10px" } }, k = { key: 0, class: "graphDiv" }, N = I({ name: "TacheSubprocessHistory", data: () => ({ type: "graph", workflowId: null }), created() {
|
|
4
4
|
const o = this.$route.query.workflowId;
|
|
5
5
|
o && (this.workflowId = parseInt(o));
|
package/package.json
CHANGED
|
@@ -151,7 +151,8 @@ export default {
|
|
|
151
151
|
},
|
|
152
152
|
// 添加用户
|
|
153
153
|
addUser(index, row) {
|
|
154
|
-
|
|
154
|
+
// JSON.parse(JSON.stringify(row)) 转换对象是为了解决添加数据时浏览器崩溃
|
|
155
|
+
$emit(this, 'addUser', index, JSON.parse(JSON.stringify(row)))
|
|
155
156
|
},
|
|
156
157
|
selectUser(selectVal) {
|
|
157
158
|
// console.log('selectUser', selectVal)
|
|
@@ -202,7 +202,8 @@ export default {
|
|
|
202
202
|
},
|
|
203
203
|
// 添加用户
|
|
204
204
|
addUser(index, row) {
|
|
205
|
-
|
|
205
|
+
// JSON.parse(JSON.stringify(row)) 转换对象是为了解决添加数据时浏览器崩溃
|
|
206
|
+
this.$emit('addUser', index, JSON.parse(JSON.stringify(row)))
|
|
206
207
|
},
|
|
207
208
|
selectUser(selectVal) {
|
|
208
209
|
// console.log('selectUser', selectVal)
|
|
@@ -24,6 +24,14 @@
|
|
|
24
24
|
@visible-change="visibleChange"
|
|
25
25
|
@remove-tag="removeTag(remote, $event)"
|
|
26
26
|
>
|
|
27
|
+
<template v-if="isSearch" #header>
|
|
28
|
+
<el-checkbox
|
|
29
|
+
v-model="checkEmptyValue"
|
|
30
|
+
@change="changeEmptyValue"
|
|
31
|
+
>
|
|
32
|
+
{{$t('imatrixUIPublicModel.emptyValue')}}
|
|
33
|
+
</el-checkbox>
|
|
34
|
+
</template>
|
|
27
35
|
<template v-if="descriptionAttribute">
|
|
28
36
|
<div v-if="optionWidth > 0" :style="{ width: optionWidth + 'px' }">
|
|
29
37
|
<el-option
|
|
@@ -172,6 +180,11 @@ export default {
|
|
|
172
180
|
// 下拉框配置宽度
|
|
173
181
|
optionWidth: {
|
|
174
182
|
default: 0
|
|
183
|
+
},
|
|
184
|
+
// 是否是查询时
|
|
185
|
+
isSearch: {
|
|
186
|
+
type: Boolean,
|
|
187
|
+
default: false
|
|
175
188
|
}
|
|
176
189
|
},
|
|
177
190
|
// 是否是页面预览, 从页面管理传递
|
|
@@ -211,7 +224,8 @@ export default {
|
|
|
211
224
|
descriptionAttribute: null,
|
|
212
225
|
queryParam: {}, // 请求参数,
|
|
213
226
|
lastValues, // 最后一次的value值,用于判断是否是增加元素
|
|
214
|
-
optionItemList: [] // 多选时会多一个saveAll 全选 选项
|
|
227
|
+
optionItemList: [], // 多选时会多一个saveAll 全选 选项
|
|
228
|
+
checkEmptyValue: false // 是否查询空值
|
|
215
229
|
}
|
|
216
230
|
},
|
|
217
231
|
watch: {
|
|
@@ -719,11 +733,11 @@ export default {
|
|
|
719
733
|
if (this.optionItems && this.optionItems.length > 0) {
|
|
720
734
|
this.optionItems.forEach((selectItem) => {
|
|
721
735
|
const addValue = selectItem[sourceColumnName]
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
736
|
+
if (originalValue !== undefined && originalValue !== null && originalValue !== '') {
|
|
737
|
+
originalValue = originalValue + ',' + addValue
|
|
738
|
+
} else {
|
|
739
|
+
originalValue = addValue
|
|
740
|
+
}
|
|
727
741
|
})
|
|
728
742
|
value = originalValue
|
|
729
743
|
}
|
|
@@ -831,6 +845,13 @@ export default {
|
|
|
831
845
|
}
|
|
832
846
|
this.markValue = JSON.stringify(muMarkValue)
|
|
833
847
|
}
|
|
848
|
+
},
|
|
849
|
+
changeEmptyValue(newVal) {
|
|
850
|
+
this.$emit('changeEmptyValue', newVal)
|
|
851
|
+
},
|
|
852
|
+
// 清空 空值 勾选,列表查询空值 重置时调用了
|
|
853
|
+
clearEmptyValue(){
|
|
854
|
+
this.checkEmptyValue = false
|
|
834
855
|
}
|
|
835
856
|
},
|
|
836
857
|
emits: [
|
|
@@ -841,7 +862,8 @@ export default {
|
|
|
841
862
|
'focus',
|
|
842
863
|
'blur',
|
|
843
864
|
'visible-change',
|
|
844
|
-
'change'
|
|
865
|
+
'change',
|
|
866
|
+
'chnageEmptyValue'
|
|
845
867
|
]
|
|
846
868
|
}
|
|
847
869
|
</script>
|
|
@@ -304,7 +304,7 @@ export default {
|
|
|
304
304
|
// window.$vueApp.config.globalProperties.kkFileViewUrl +
|
|
305
305
|
// '?url=' +
|
|
306
306
|
// encodeURIComponent(Base64.encode(myPreviewUrl))
|
|
307
|
-
|
|
307
|
+
//window.open(previewUrl, showName)
|
|
308
308
|
console.log('previewUrl====', previewUrl)
|
|
309
309
|
} else {
|
|
310
310
|
previewUrl = baseUrl + '/common/fs-upload/preview?jwt=' + token
|
|
@@ -107,6 +107,7 @@
|
|
|
107
107
|
:is-show="operation.isShow"
|
|
108
108
|
:label="operation.props.label ? operation.props.label : row[column.prop]"
|
|
109
109
|
:on-click="operation.onClick"
|
|
110
|
+
:operation="operation"
|
|
110
111
|
:operation-index="operationIndex"
|
|
111
112
|
:operation-setting="operation.props"
|
|
112
113
|
:event-name="operation.eventName"
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<!--将@click改为@mousedown.native是因为操作列保存按钮时事件和input等组件的@blur冲突,导致保存需要保存两次,因为
|
|
3
3
|
@blur先于@click执行的,所以只会执行@blur,@click就失效了,@mousedown是先于@blur执行的-->
|
|
4
|
-
<span :style="myStyle">
|
|
4
|
+
<span class="table-operation-row-btn" :style="myStyle">
|
|
5
5
|
<template v-if="isShowButton()">
|
|
6
6
|
<el-tooltip :disabled="tooltipDisabled" :content="label" placement="top">
|
|
7
|
-
<template v-if="operationSettingData
|
|
7
|
+
<template v-if="operationSettingData?.permission">
|
|
8
8
|
<component
|
|
9
9
|
v-bind="operationSettingData"
|
|
10
10
|
:is="isElementType"
|
|
@@ -77,9 +77,13 @@ export default {
|
|
|
77
77
|
type: String,
|
|
78
78
|
default: null,
|
|
79
79
|
},
|
|
80
|
+
operation: {
|
|
81
|
+
type: Object,
|
|
82
|
+
default: () => ({}),
|
|
83
|
+
},
|
|
80
84
|
operationSetting: {
|
|
81
85
|
type: Object,
|
|
82
|
-
default:
|
|
86
|
+
default: () => ({}),
|
|
83
87
|
},
|
|
84
88
|
operationIndex: {
|
|
85
89
|
type: Number,
|
|
@@ -148,16 +152,16 @@ export default {
|
|
|
148
152
|
},
|
|
149
153
|
// 后置图标
|
|
150
154
|
suffixIcon() {
|
|
151
|
-
if(['right'].includes(this.
|
|
155
|
+
if(['right'].includes(this.operationSetting.iconPosition)) return this.operationSetting.iconValue
|
|
152
156
|
return undefined
|
|
153
157
|
},
|
|
154
158
|
// 是否显示文字按钮 > 图标模式
|
|
155
159
|
isTextIcon() {
|
|
156
160
|
if (this.isTableBtnLinkShow) {
|
|
157
|
-
if (this.
|
|
161
|
+
if (this.operationSetting.isTextIcon === undefined) {
|
|
158
162
|
return this.isSaveRow || this.isDeleteRow || this.isEditRow || this.isRestoreRow
|
|
159
163
|
}
|
|
160
|
-
return this.
|
|
164
|
+
return this.operationSetting.isTextIcon
|
|
161
165
|
} else {
|
|
162
166
|
return false
|
|
163
167
|
}
|
|
@@ -172,14 +176,14 @@ export default {
|
|
|
172
176
|
},
|
|
173
177
|
// 是否自动开启表格 按钮 转 文字按钮
|
|
174
178
|
isTableBtnLinkShow() {
|
|
175
|
-
if (this.operationSetting
|
|
179
|
+
if (this.operationSetting?.text) return true
|
|
176
180
|
if (this.isTableBtnLink && this.elementType === 'el-button') {
|
|
177
|
-
return [this.operationSetting
|
|
181
|
+
return [this.operationSetting?.text, this.operationSetting?.plain, this.operationSetting?.round].every(v => v === undefined)
|
|
178
182
|
}
|
|
179
183
|
return false
|
|
180
184
|
},
|
|
181
185
|
operationSettingData() {
|
|
182
|
-
const dataList = { ...this.operationSetting }
|
|
186
|
+
const dataList = { ...(this.operationSetting ?? {}) }
|
|
183
187
|
if (this.isTableBtnLinkShow) {
|
|
184
188
|
dataList.underline = false
|
|
185
189
|
delete dataList.text
|
|
@@ -119,6 +119,14 @@
|
|
|
119
119
|
filterable
|
|
120
120
|
@change="setValueToModelProp(column.prop, $event)"
|
|
121
121
|
>
|
|
122
|
+
<template v-if="column.dataType !== 'BOOLEAN'" #header>
|
|
123
|
+
<el-checkbox
|
|
124
|
+
v-model="checkEmptyValue"
|
|
125
|
+
@change="checkEmptyChange"
|
|
126
|
+
>
|
|
127
|
+
{{$t('imatrixUIPublicModel.emptyValue')}}
|
|
128
|
+
</el-checkbox>
|
|
129
|
+
</template>
|
|
122
130
|
<el-option v-for="item in column.valueSet" :key="item.value" :label="item.label" :value="item.value" />
|
|
123
131
|
</el-select>
|
|
124
132
|
<el-select
|
|
@@ -133,6 +141,14 @@
|
|
|
133
141
|
filterable
|
|
134
142
|
@change="setValueToModelProp(column.prop, $event)"
|
|
135
143
|
>
|
|
144
|
+
<template v-if="column.dataType !== 'BOOLEAN'" #header>
|
|
145
|
+
<el-checkbox
|
|
146
|
+
v-model="checkEmptyValue"
|
|
147
|
+
@change="checkEmptyChange"
|
|
148
|
+
>
|
|
149
|
+
{{$t('imatrixUIPublicModel.emptyValue')}}
|
|
150
|
+
</el-checkbox>
|
|
151
|
+
</template>
|
|
136
152
|
<el-option v-for="item in column.valueSet" :key="item.value" :label="item.label" :value="item.value" />
|
|
137
153
|
</el-select>
|
|
138
154
|
<el-select
|
|
@@ -146,6 +162,14 @@
|
|
|
146
162
|
multiple
|
|
147
163
|
@change="setValueToModelProp(column.prop, $event)"
|
|
148
164
|
>
|
|
165
|
+
<template #header>
|
|
166
|
+
<el-checkbox
|
|
167
|
+
v-model="checkEmptyValue"
|
|
168
|
+
@change="checkEmptyChange"
|
|
169
|
+
>
|
|
170
|
+
{{$t('imatrixUIPublicModel.emptyValue')}}
|
|
171
|
+
</el-checkbox>
|
|
172
|
+
</template>
|
|
149
173
|
<el-option v-for="item in column.valueSet" :key="item.value" :label="item.label" :value="item.value" />
|
|
150
174
|
</el-select>
|
|
151
175
|
<template
|
|
@@ -156,6 +180,7 @@
|
|
|
156
180
|
"
|
|
157
181
|
>
|
|
158
182
|
<dynamic-source-select
|
|
183
|
+
ref="selectRef"
|
|
159
184
|
v-model:value="searchForm[column.prop]"
|
|
160
185
|
:allow-create="dataSourceOptions?.controlConfig?.allowCreate"
|
|
161
186
|
:base-props="{
|
|
@@ -168,7 +193,9 @@
|
|
|
168
193
|
:list-toolbar-form-data="listToolbarFormData"
|
|
169
194
|
:options="dataSourceOptions"
|
|
170
195
|
:table-name="tableName"
|
|
196
|
+
:is-search="true"
|
|
171
197
|
@change="multiselectChange"
|
|
198
|
+
@changeEmptyValue="checkEmptyChange"
|
|
172
199
|
/>
|
|
173
200
|
</template>
|
|
174
201
|
<!--
|
|
@@ -290,8 +317,8 @@ export default {
|
|
|
290
317
|
dateVal: this.getFormItemValue(this.column.prop),
|
|
291
318
|
controlConfig: getControlConfig(this.column),
|
|
292
319
|
isShowEmtptyFlag: false,
|
|
293
|
-
dataSourceOptions: {}
|
|
294
|
-
|
|
320
|
+
dataSourceOptions: {},
|
|
321
|
+
checkEmptyValue: false // 是否选中空值
|
|
295
322
|
}
|
|
296
323
|
},
|
|
297
324
|
computed: {
|
|
@@ -320,6 +347,22 @@ export default {
|
|
|
320
347
|
}
|
|
321
348
|
}
|
|
322
349
|
},
|
|
350
|
+
watch:{
|
|
351
|
+
// 重置按钮时,清空下拉选中 空值 的选中状态
|
|
352
|
+
'column._resetValue': {
|
|
353
|
+
deep: true,
|
|
354
|
+
handler(newValue) {
|
|
355
|
+
if (newValue) {
|
|
356
|
+
// 表示是点击了重置按钮
|
|
357
|
+
this.checkEmptyValue = false
|
|
358
|
+
if(this.$refs.selectRef){
|
|
359
|
+
this.$refs.selectRef.clearEmptyValue()
|
|
360
|
+
}
|
|
361
|
+
this.column._resetValue = undefined
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
},
|
|
323
366
|
created() {
|
|
324
367
|
if (this.column.valueSetOptions) {
|
|
325
368
|
this.moduleConfig = JSON.parse(this.column.valueSetOptions)
|
|
@@ -509,13 +552,11 @@ export default {
|
|
|
509
552
|
}
|
|
510
553
|
},
|
|
511
554
|
multiselectChange(arr, selectedItem) {
|
|
512
|
-
debugger
|
|
513
555
|
if (arr && arr.indexOf('saveAll') !== -1) {
|
|
514
556
|
if (this.searchForm[this.column.prop] && typeof this.searchForm[this.column.prop] === 'string') {
|
|
515
557
|
this.searchForm[this.column.prop] = this.searchForm[this.column.prop].split(',')
|
|
516
558
|
}
|
|
517
559
|
} else {
|
|
518
|
-
debugger
|
|
519
560
|
this.searchForm[this.column.prop] = arr
|
|
520
561
|
}
|
|
521
562
|
},
|
|
@@ -237,11 +237,28 @@ const searchMethods = {
|
|
|
237
237
|
// if (!Array.isArray(values)) {
|
|
238
238
|
// selectValues = values.split(',')
|
|
239
239
|
// }
|
|
240
|
+
// 是否已经封装了左括号
|
|
241
|
+
let isHasFirstLeftBracket = false
|
|
242
|
+
if(param.isEmptyValue){
|
|
243
|
+
const selectParam = Object.assign({}, param)
|
|
244
|
+
if(selectParam){
|
|
245
|
+
if(selectValues.length > 0){
|
|
246
|
+
selectParam.joinSign = 'or' // 将条件连接符修改为or,否则无法查询到值
|
|
247
|
+
isHasFirstLeftBracket = true
|
|
248
|
+
selectParam.leftBracket = '1' // 左边有1个括号
|
|
249
|
+
} else {
|
|
250
|
+
selectParam.joinSign = 'and' // 将条件连接符修改为or,否则无法查询到值
|
|
251
|
+
}
|
|
252
|
+
searchParams.push(selectParam)
|
|
253
|
+
}
|
|
254
|
+
// 用完该变量就修改这个变量的值,否则会导致下面的查询字段报错
|
|
255
|
+
param.isEmptyValue = false
|
|
256
|
+
}
|
|
240
257
|
let num = 0
|
|
241
258
|
selectValues.forEach((val) => {
|
|
242
259
|
const selectParam = Object.assign({}, param)
|
|
243
260
|
selectParam.joinSign = 'or' // 将条件连接符修改为or,否则无法查询到值
|
|
244
|
-
if (num === 0) {
|
|
261
|
+
if (num === 0 && !isHasFirstLeftBracket) {
|
|
245
262
|
selectParam.leftBracket = '1' // 左边有1个括号
|
|
246
263
|
}
|
|
247
264
|
if (num === selectValues.length - 1) {
|
package/src/i18n/langs/cn.js
CHANGED
package/src/i18n/langs/en.js
CHANGED
|
@@ -9,14 +9,10 @@
|
|
|
9
9
|
|
|
10
10
|
<script>
|
|
11
11
|
import { AppMain } from './components'
|
|
12
|
-
import {showWatermarkNew} from '../../utils/watermark'
|
|
13
12
|
export default {
|
|
14
13
|
name: 'NewLayout',
|
|
15
14
|
components: {
|
|
16
15
|
AppMain,
|
|
17
|
-
},
|
|
18
|
-
mounted(){
|
|
19
|
-
showWatermarkNew()
|
|
20
16
|
}
|
|
21
17
|
}
|
|
22
18
|
</script>
|
package/vite.config.js
CHANGED
|
@@ -12,7 +12,7 @@ export default defineConfig(({ mode }) => ({
|
|
|
12
12
|
terser({
|
|
13
13
|
compress: {
|
|
14
14
|
drop_debugger: ['production'].includes(mode),
|
|
15
|
-
|
|
15
|
+
pure_funcs: ['production'].includes(mode) ? ['console.log', 'console.info', 'console.warn', 'console.debug'] : [],
|
|
16
16
|
},
|
|
17
17
|
output: {
|
|
18
18
|
// 对于console.error,不做任何处理
|