agilebuilder-ui 1.1.51 → 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.
@@ -1,5 +1,5 @@
1
1
  import { openBlock as r, createElementBlock as t, createCommentVNode as o } from "vue";
2
- import { _ as s } from "./index-75ff2a06.js";
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-75ff2a06.js";
2
- import { resolveComponent as u, openBlock as l, createBlock as b, withCtx as g, createVNode as v, TransitionGroup as L, createElementBlock as p, Fragment as C, renderList as T, createElementVNode as m, toDisplayString as w, normalizeClass as S, createCommentVNode as y } from "vue";
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
- console.log("this.$route.matched==", this.$route.matched);
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(), o = window.$vueApp.config.globalProperties.systemNameObj;
21
- o && (a = o[r]), t = [{ path: "/", redirect: "noredirect", meta: { title: a } }].concat(t);
22
- const s = P.get("selectMenu"), d = window.$vueApp.config.globalProperties._selectMenu;
23
- let n;
24
- if (d ? n = d : s && (n = s), n) {
25
- const i = n.substring(0, n.indexOf("~~")), c = n.substring(n.indexOf("~~") + 2);
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, o, s) {
39
- const d = u("el-breadcrumb-item"), n = u("el-breadcrumb");
40
- return l(), b(n, { class: "app-breadcrumb", separator: ">" }, { default: g(() => [v(L, { name: "breadcrumb", tag: "span" }, { default: g(() => [(l(!0), p(C, null, T(s.levelListWithTitle, (i, c) => (l(), b(d, { key: i.path + "-" + c }, { default: g(() => [m("span", k, w(e.$t(i.meta.title)), 1)]), _: 2 }, 1024))), 128))]), _: 1 })]), _: 1 });
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 o in e.routeQuery)
80
- o === "src" ? a = e.routeQuery[o] : r += o + "=" + e.routeQuery[o] + "&";
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
- console.log("tab-content-接收到登录超时的信息---event.data=", e.data), window.parent.postMessage(e.data, "*");
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, o, s) {
98
- const d = u("el-tab-pane"), n = u("el-tabs");
99
- return e.openTab && e.openTab.length > 0 ? (l(), b(n, { 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(() => [(l(!0), p(C, null, T(e.openTab, (i) => (l(), b(d, { 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"])) : (l(), p("div", Q, [m("div", R, [m("div", q, w(o.defaultPageTipCn), 1), m("div", z, w(o.defaultPageTipEn), 1)])]));
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, console.log("新菜单组件-----systemCode====", this.systemCode);
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, o, s) {
111
- const d = u("menubar"), n = u("breadcrumb"), i = u("tab-content");
112
- return l(), p("div", { class: S([s.classObj, "app-wrapper"]) }, [s.device === "mobile" && s.sidebar.opened ? (l(), p("div", { key: 0, class: "drawer-bg", onClick: t[0] || (t[0] = (...c) => s.handleClickOutside && s.handleClickOutside(...c)) })) : y("", !0), v(d, { "system-code": o.systemCode, collapse: !0, class: "sidebar-container" }, null, 8, ["system-code"]), m("div", j, [o.showMenuRoute ? (l(), b(n, { key: 0 })) : y("", !0), v(i)])], 2);
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-75ff2a06.js";
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agilebuilder-ui",
3
- "version": "1.1.51",
3
+ "version": "1.1.52-sit1",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "main": "./lib/super-ui.js",
@@ -151,7 +151,8 @@ export default {
151
151
  },
152
152
  // 添加用户
153
153
  addUser(index, row) {
154
- $emit(this, 'addUser', index, JSON.parse(JSON.stringify(row)))
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
- this.$emit('addUser', index, JSON.parse(JSON.stringify(row)))
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
- if (originalValue !== undefined && originalValue !== null && originalValue !== '') {
723
- originalValue = originalValue + ',' + addValue
724
- } else {
725
- originalValue = addValue
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
- /window.open(previewUrl, showName)
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.permission">
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: null,
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.operationSettingData.iconPosition)) return this.operationSetting.iconValue
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.operationSettingData.isTextIcon === undefined) {
161
+ if (this.operationSetting.isTextIcon === undefined) {
158
162
  return this.isSaveRow || this.isDeleteRow || this.isEditRow || this.isRestoreRow
159
163
  }
160
- return this.operationSettingData.isTextIcon
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.text) return true
179
+ if (this.operationSetting?.text) return true
176
180
  if (this.isTableBtnLink && this.elementType === 'el-button') {
177
- return [this.operationSetting.text, this.operationSetting.plain, this.operationSetting.round].every(v => v === undefined)
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
- // checkedEmpty: false,
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) {
@@ -44,7 +44,8 @@ const cn = {
44
44
  forbidden: '禁用',
45
45
  startUsing: '启用',
46
46
  systemCode: '系统编码',
47
- code: '编码'
47
+ code: '编码',
48
+ emptyValue: '空值'
48
49
  },
49
50
  imatrixUIMessage: {
50
51
  whetherToConfirmDeletion: '是否确认删除',
@@ -44,7 +44,8 @@ const en = {
44
44
  forbidden: 'forbidden',
45
45
  startUsing: 'Start Using',
46
46
  systemCode: 'System Code',
47
- code: 'Code'
47
+ code: 'Code',
48
+ emptyValue: 'Empty Value'
48
49
  },
49
50
  imatrixUIMessage: {
50
51
  whetherToConfirmDeletion: 'Whether To Confirm Deletion',
@@ -1,11 +1,3 @@
1
1
  <template>
2
2
  <router-view />
3
- </template>
4
- <script>
5
- import {showWatermarkNew} from '../../utils/watermark'
6
- export default {
7
- mounted(){
8
- showWatermarkNew()
9
- }
10
- }
11
- </script>
3
+ </template>
@@ -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
- // pure_funcs: ['production'].includes(mode) ? ['console.log', 'console.info', 'console.warn', 'console.debug'] : [],
15
+ pure_funcs: ['production'].includes(mode) ? ['console.log', 'console.info', 'console.warn', 'console.debug'] : [],
16
16
  },
17
17
  output: {
18
18
  // 对于console.error,不做任何处理