agilebuilder-ui 1.1.49 → 1.1.50-rc2

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.
Files changed (44) hide show
  1. package/lib/{401-a94cd05b.js → 401-1310f9d0.js} +1 -1
  2. package/lib/{404-eb21244b.js → 404-7d861da4.js} +1 -1
  3. package/lib/{iframe-page-7add4333.js → iframe-page-855b820e.js} +1 -1
  4. package/lib/{index-7a601895.js → index-05d842ab.js} +13958 -13878
  5. package/lib/super-ui.css +1 -1
  6. package/lib/super-ui.js +1 -1
  7. package/lib/super-ui.umd.cjs +104 -104
  8. package/lib/{tab-content-iframe-index-483b398c.js → tab-content-iframe-index-d96ad21a.js} +1 -1
  9. package/lib/{tab-content-index-0862686f.js → tab-content-index-93a36198.js} +1 -1
  10. package/lib/{tache-subprocess-history-c80e8ed2.js → tache-subprocess-history-cb6f4ab6.js} +1 -1
  11. package/package.json +1 -1
  12. package/packages/fs-preview/src/fs-preview.vue +21 -8
  13. package/packages/fs-upload/src/fs-upload-multi.vue +7 -3
  14. package/packages/fs-upload/src/fs-upload-single.vue +6 -3
  15. package/packages/fs-upload-list/src/fs-upload-list.vue +6 -1
  16. package/packages/fs-upload-new/src/file-upload-mobile/file-upload-app.vue +6 -0
  17. package/packages/fs-upload-new/src/file-upload-mobile/file-upload-browser.vue +6 -0
  18. package/packages/fs-upload-new/src/file-upload-mobile/file-upload-component.vue +6 -1
  19. package/packages/fs-upload-new/src/file-upload-mobile/file-upload-input.vue +6 -0
  20. package/packages/fs-upload-new/src/file-upload-mobile/file-upload.vue +7 -0
  21. package/packages/fs-upload-new/src/fs-button-upload.vue +5 -0
  22. package/packages/fs-upload-new/src/fs-drag-upload.vue +5 -0
  23. package/packages/fs-upload-new/src/fs-preview-new.vue +27 -8
  24. package/packages/fs-upload-new/src/fs-upload-new.vue +16 -1
  25. package/packages/multipart-upload/src/multipart-upload-form.vue +6 -2
  26. package/packages/multipart-upload/src/multipart-upload-list.vue +6 -2
  27. package/packages/plugins/export-data-new.js +14 -1
  28. package/packages/super-grid/src/apis.js +9 -0
  29. package/packages/super-grid/src/dynamic-input.vue +25 -5
  30. package/packages/super-grid/src/search-form-item.vue +17 -13
  31. package/packages/super-grid/src/search-methods.js +148 -139
  32. package/packages/super-grid/src/super-grid.vue +2 -0
  33. package/packages/super-grid/src/utils.js +1 -0
  34. package/packages/super-grid/src/view-image-dialog.vue +6 -2
  35. package/packages/utils/value-set.js +49 -9
  36. package/src/utils/auth.js +3 -0
  37. package/src/utils/common-util.js +37 -0
  38. package/src/utils/request.js +7 -1
  39. package/src/utils/watermark-cache.js +13 -0
  40. package/src/utils/watermark.js +47 -6
  41. package/src/views/layout/EmptyLayout.vue +9 -1
  42. package/src/views/layout/Layout.vue +4 -0
  43. package/src/views/layout/NewLayout.vue +4 -0
  44. package/src/views/login/update-password.vue +3 -0
@@ -1,5 +1,5 @@
1
1
  import { openBlock as r, createElementBlock as t, createCommentVNode as o } from "vue";
2
- import { _ as s } from "./index-7a601895.js";
2
+ import { _ as s } from "./index-05d842ab.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,4 +1,4 @@
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-7a601895.js";
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-05d842ab.js";
2
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";
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);
@@ -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-7a601895.js";
2
+ import { _ as I } from "./index-05d842ab.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.49",
3
+ "version": "1.1.50-rc2",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "main": "./lib/super-ui.js",
@@ -84,7 +84,7 @@
84
84
  // import { Image } from 'antd';
85
85
  import { Paperclip as ElIconPaperclip, View as ElIconView, Download as ElIconDownload } from '@element-plus/icons-vue'
86
86
  import * as Vue from 'vue'
87
- import { isPlateSys, getSystemFrontendUrl, getRelativeBaseUrl } from '../../../src/utils/common-util'
87
+ import { isPlateSys, getSystemFrontendUrl, getRelativeBaseUrl, getKkFilePreviewUrl } from '../../../src/utils/common-util'
88
88
  import { isImage, getEntityFieldValue } from '../../../src/utils/util'
89
89
  import { packageFile } from '../../super-grid/src/utils'
90
90
  import { getToken } from '../../../src/utils/auth'
@@ -134,6 +134,11 @@ export default {
134
134
  enableDelete: {
135
135
  type: Boolean,
136
136
  default: false
137
+ },
138
+ // 水印配置{isShowWatermark:true/false,content:'xxxxx'}
139
+ watermark:{
140
+ type: Object,
141
+ default: () => ({})
137
142
  }
138
143
  },
139
144
  data() {
@@ -293,17 +298,20 @@ export default {
293
298
  const myPreviewUrl = originUrl + '&fullfilename=' + showName
294
299
  console.log('myPreviewUrl====', myPreviewUrl)
295
300
  // http://127.0.0.1:8012/onlinePreview
296
- previewUrl =
297
- window.$vueApp.config.globalProperties.kkFileViewUrl +
298
- '?url=' +
299
- encodeURIComponent(Base64.encode(myPreviewUrl))
301
+ getKkFilePreviewUrl(myPreviewUrl).then(url=>{
302
+ window.open(url, showName)
303
+ })
304
+ // window.$vueApp.config.globalProperties.kkFileViewUrl +
305
+ // '?url=' +
306
+ // encodeURIComponent(Base64.encode(myPreviewUrl))
307
+ /window.open(previewUrl, showName)
300
308
  console.log('previewUrl====', previewUrl)
301
309
  } else {
302
310
  previewUrl = baseUrl + '/common/fs-upload/preview?jwt=' + token
303
311
  previewUrl = previewUrl + '&showName=' + encodeURI(showName) + '&serverPath=' + fileInfo.serverPath
312
+ previewUrl = getRelativeBaseUrl(previewUrl)
313
+ window.open(previewUrl, showName)
304
314
  }
305
- previewUrl = getRelativeBaseUrl(previewUrl)
306
- window.open(previewUrl, showName)
307
315
  }
308
316
  },
309
317
  donwloadFile(index) {
@@ -317,12 +325,17 @@ export default {
317
325
  },
318
326
  download(showName, serverPath) {
319
327
  const token = getToken()
328
+ const isShowWatermark = this.watermark.isShowWatermark
329
+ let watermarkContent = this.watermark?.content
330
+ if(!watermarkContent){
331
+ watermarkContent = ''
332
+ }
320
333
  let url = window.$vueApp.config.globalProperties.baseURL + '/common/super-form/downloads?jwt=' + token
321
334
  if (isPlateSys(window.$vueApp.config.globalProperties.systemCode)) {
322
335
  url = window.$vueApp.config.globalProperties.baseAPI + '/component/super-form/downloads?jwt=' + token
323
336
  }
324
337
  url = getRelativeBaseUrl(url)
325
- const src = url + '&showName=' + encodeURI(showName) + '&serverPath=' + serverPath
338
+ const src = url + '&showName=' + encodeURI(showName) + '&serverPath=' + serverPath+'&isShowWatermark='+isShowWatermark+'&watermark='+watermarkContent
326
339
  window.open(src)
327
340
  },
328
341
  analysisFileSetObj(fileSetObj, isSql) {
@@ -173,6 +173,7 @@ import {
173
173
  isPlateSys,
174
174
  getSystemFrontendUrl,
175
175
  getRelativeBaseUrl,
176
+ getKkFilePreviewUrl,
176
177
  } from '../../../src//utils//common-util.js'
177
178
 
178
179
  export default {
@@ -381,7 +382,10 @@ export default {
381
382
  //要预览文件的访问地址
382
383
  const myPreviewUrl = originUrl + '&fullfilename='+myShowName
383
384
  // http://127.0.0.1:8012/onlinePreview
384
- previewUrl = window.$vueApp.config.globalProperties.kkFileViewUrl+'?url='+encodeURIComponent(Base64.encode(myPreviewUrl))
385
+ getKkFilePreviewUrl(myPreviewUrl).then(url=>{
386
+ window.open(url, showName)
387
+ })
388
+ // previewUrl = window.$vueApp.config.globalProperties.kkFileViewUrl+'?url='+encodeURIComponent(Base64.encode(myPreviewUrl))
385
389
  } else {
386
390
  previewUrl =
387
391
  baseUrl +
@@ -392,9 +396,9 @@ export default {
392
396
  encodeURI(myShowName) +
393
397
  '&serverPath=' +
394
398
  uuid
399
+ previewUrl = getRelativeBaseUrl(previewUrl)
400
+ window.open(previewUrl, showName)
395
401
  }
396
- previewUrl = getRelativeBaseUrl(previewUrl)
397
- window.open(previewUrl, showName)
398
402
  }
399
403
  }
400
404
  },
@@ -112,7 +112,7 @@ import {
112
112
  import {$emit} from '../../utils/gogocodeTransfer'
113
113
  import Cookies from 'js-cookie'
114
114
  import seeBigPicture from './see-big-picture.vue'
115
- import {getRelativeBaseUrl, getSystemFrontendUrl, isPlateSys,} from '../../../src/utils/common-util.js'
115
+ import {getKkFilePreviewUrl, getRelativeBaseUrl, getSystemFrontendUrl, isPlateSys,} from '../../../src/utils/common-util.js'
116
116
  import {getToken} from '../../../src/utils/auth'
117
117
 
118
118
  export default {
@@ -309,7 +309,10 @@ export default {
309
309
  //要预览文件的访问地址
310
310
  const myPreviewUrl = originUrl + '&fullfilename='+myShowName
311
311
  // http://127.0.0.1:8012/onlinePreview
312
- previewUrl = window.$vueApp.config.globalProperties.kkFileViewUrl+'?url='+encodeURIComponent(Base64.encode(myPreviewUrl))
312
+ getKkFilePreviewUrl(myPreviewUrl).then(url=>{
313
+ window.open(url, showName)
314
+ })
315
+ // previewUrl = window.$vueApp.config.globalProperties.kkFileViewUrl+'?url='+encodeURIComponent(Base64.encode(myPreviewUrl))
313
316
  } else {
314
317
  previewUrl =
315
318
  baseUrl +
@@ -320,8 +323,8 @@ export default {
320
323
  encodeURI(myShowName) +
321
324
  '&serverPath=' +
322
325
  uuid
326
+ window.open(previewUrl, showName)
323
327
  }
324
- window.open(previewUrl, showName)
325
328
  }
326
329
  }
327
330
  },
@@ -10,6 +10,7 @@
10
10
  :file-set-obj="fileSetObj"
11
11
  :is-sql="isSql"
12
12
  :label="value"
13
+ :watermark="watermark"
13
14
  @delete-file="deleteRow"
14
15
  >
15
16
  <template #prefix>
@@ -53,6 +54,7 @@
53
54
  :componentId="componentId"
54
55
  :listCode="listCode"
55
56
  :openCameraOrChoosePhoto="fileSetObj.openCameraOrChoosePhoto"
57
+ :watermark="watermark"
56
58
  />
57
59
  </template>
58
60
  <template v-else>
@@ -63,6 +65,7 @@
63
65
  :file-set-obj="fileSetObj"
64
66
  :is-sql="isSql"
65
67
  :label="value"
68
+ :watermark="watermark"
66
69
  />
67
70
  </template>
68
71
  </span>
@@ -163,6 +166,7 @@ export default {
163
166
  defaultAction = getRelativeBaseUrl(defaultAction)
164
167
  const isMobile = isMobileBrowser()
165
168
  const systemCode = this.pageContext && this.pageContext.systemCode ? this.pageContext.systemCode : null
169
+ const watermark = this.fileSetObj.watermark
166
170
  return {
167
171
  deleteUuids: [],
168
172
  headers,
@@ -174,7 +178,8 @@ export default {
174
178
  previewImageInfo: {},
175
179
  showFileList: this.fileList,
176
180
  isMobile,
177
- systemCode
181
+ systemCode,
182
+ watermark
178
183
  }
179
184
  },
180
185
  components: {
@@ -12,6 +12,7 @@
12
12
  :onRemove="onRemove"
13
13
  :beforeDownload="beforeDownload"
14
14
  :baseURL="baseURLVal"
15
+ :watermark="watermark"
15
16
  @chooseFile="pickBrowserFiles"
16
17
  @remove="removeFile"
17
18
  />
@@ -137,6 +138,11 @@ const props = defineProps({
137
138
  beforeUpload: {
138
139
  type: Function,
139
140
  default: () => {}
141
+ },
142
+ // 水印配置{isShowWatermark:true/false,content:'xxxxx'}
143
+ watermark:{
144
+ type: Object,
145
+ default: () => ({})
140
146
  }
141
147
  })
142
148
 
@@ -12,6 +12,7 @@
12
12
  :onRemove="onRemove"
13
13
  :beforeDownload="beforeDownload"
14
14
  :baseURL="baseURLVal"
15
+ :watermark="watermark"
15
16
  @chooseFile="pickBrowserFiles"
16
17
  @remove="removeFile"
17
18
  />
@@ -180,6 +181,11 @@ const props = defineProps({
180
181
  beforeUpload: {
181
182
  type: Function,
182
183
  default: () => {}
184
+ },
185
+ // 水印配置{isShowWatermark:true/false,content:'xxxxx'}
186
+ watermark:{
187
+ type: Object,
188
+ default: () => ({})
183
189
  }
184
190
  })
185
191
 
@@ -14,7 +14,7 @@
14
14
  {{file.name}}
15
15
  </div></div>
16
16
  <img v-else class="el-upload-list__item-thumbnail" :src="getPreviewSrc(file.showName?file.showName: file.name, file.serverPath)" alt="" />
17
- <fs-preview-new :disabled="disabled" :file-list="fileListResult" :file="file" :system-code="systemCode" :before-remove="beforeRemove" :on-remove="onRemove" :before-download="beforeDownload" @remove="removeFile"/>
17
+ <fs-preview-new :disabled="disabled" :file-list="fileListResult" :file="file" :system-code="systemCode" :watermark="watermark" :before-remove="beforeRemove" :on-remove="onRemove" :before-download="beforeDownload" @remove="removeFile"/>
18
18
 
19
19
  </div>
20
20
  </template>
@@ -66,6 +66,11 @@ const props = defineProps({
66
66
  baseURL: {
67
67
  type: String,
68
68
  default: ''
69
+ },
70
+ // 水印配置{isShowWatermark:true/false,content:'xxxxx'}
71
+ watermark:{
72
+ type: Object,
73
+ default: () => ({})
69
74
  }
70
75
  })
71
76
 
@@ -45,6 +45,7 @@
45
45
  :componentName="componentName"
46
46
  :listCode="listCode"
47
47
  :openCameraOrChoosePhoto="openCameraOrChoosePhoto"
48
+ :watermark="watermark"
48
49
  @uploadend="uploadendMobile"
49
50
  @remove="removeMobileFile"
50
51
  />
@@ -171,6 +172,11 @@ const props = defineProps({
171
172
  beforeUpload: {
172
173
  type: Function,
173
174
  default: () => {}
175
+ },
176
+ // 水印配置{isShowWatermark:true/false,content:'xxxxx'}
177
+ watermark:{
178
+ type: Object,
179
+ default: () => ({})
174
180
  }
175
181
  })
176
182
 
@@ -26,6 +26,7 @@
26
26
  :componentName="componentName"
27
27
  :listCode="listCode"
28
28
  :openCameraOrChoosePhoto="openCameraOrChoosePhoto"
29
+ :watermark="watermark"
29
30
  @uploadend="uploadedFile"
30
31
  @remove="removeFile"
31
32
  />
@@ -55,6 +56,7 @@
55
56
  :componentName="componentName"
56
57
  :listCode="listCode"
57
58
  :openCameraOrChoosePhoto="openCameraOrChoosePhoto"
59
+ :watermark="watermark"
58
60
  @uploadend="uploadedFile"
59
61
  @remove="removeFile"
60
62
  />
@@ -181,6 +183,11 @@ const props = defineProps({
181
183
  beforeUpload: {
182
184
  type: Function,
183
185
  default: () => {}
186
+ },
187
+ // 水印配置{isShowWatermark:true/false,content:'xxxxx'}
188
+ watermark:{
189
+ type: Object,
190
+ default: () => ({})
184
191
  }
185
192
  })
186
193
  const baseAPI = window.$vueApp.config.globalProperties.baseAPI
@@ -139,6 +139,11 @@ const props = defineProps({
139
139
  limit: {
140
140
  type: Number,
141
141
  default: 0
142
+ },
143
+ // 水印配置{isShowWatermark:true/false,content:'xxxxx'}
144
+ watermark:{
145
+ type: Object,
146
+ default: () => ({})
142
147
  }
143
148
  })
144
149
  const baseURL = getRelativeBaseUrl(window.$vueApp.config.globalProperties.baseURL)
@@ -137,6 +137,11 @@ const props = defineProps({
137
137
  limit: {
138
138
  type: Number,
139
139
  default: 0
140
+ },
141
+ // 水印配置{isShowWatermark:true/false,content:'xxxxx'}
142
+ watermark:{
143
+ type: Object,
144
+ default: () => ({})
140
145
  }
141
146
  })
142
147
  const baseURL = getRelativeBaseUrl(window.$vueApp.config.globalProperties.baseURL)
@@ -61,7 +61,7 @@
61
61
  <script setup lang="ts">
62
62
  import { Close, Paperclip, Download } from '@element-plus/icons-vue'
63
63
  import { ref, defineProps } from 'vue'
64
- import { getSystemFrontendUrl, isPlateSys, isMobileBrowser, getReplaceUrlDomain, getRelativeBaseUrl } from '../../../src/utils/common-util'
64
+ import { getSystemFrontendUrl, isPlateSys, isMobileBrowser, getReplaceUrlDomain, getRelativeBaseUrl, getKkFilePreviewUrl } from '../../../src/utils/common-util'
65
65
  import { getToken } from '../../../src/utils/auth'
66
66
  import { isImage } from '../../../src/utils/util'
67
67
  import { Base64 } from 'js-base64'
@@ -123,13 +123,22 @@ const props = defineProps({
123
123
  disabledNoDownload: {
124
124
  type: Boolean,
125
125
  default: false
126
+ },
127
+ // 水印配置{isShowWatermark:true/false,content:'xxxxx'}
128
+ watermark:{
129
+ type: Object,
130
+ default: () => ({})
126
131
  }
127
132
  })
128
133
  let baseURL = props.baseURL ? props.baseURL : window.$vueApp.config.globalProperties.baseURL
129
134
  let baseAPI = window.$vueApp.config.globalProperties.baseAPI
130
135
  baseURL = getRelativeBaseUrl(baseURL)
131
136
  baseAPI = getRelativeBaseUrl(baseAPI)
132
-
137
+ if(!props.watermark.content){
138
+ // 如果没有传水印配置,从按钮配置configure中获取
139
+ props.watermark.isShowWatermark = props.configure.props?.watermark?.isShowWatermark===undefined?'true':props.configure.props?.watermark.isShowWatermark+''
140
+ props.watermark.content = props.configure.props.watermark.content
141
+ }
133
142
  const dialogVisible = ref<boolean>(false)
134
143
  const previewImageInfo = ref<any>({})
135
144
  const previewSrcList = ref<string[]>([])
@@ -156,6 +165,11 @@ const download = (file: any) => {
156
165
  const token = getToken()
157
166
  const fileName = file.showName ? file.showName : file.name
158
167
  const showName = fileName.replace('#', '~~').replace('?', '~$').replace('&', '$')
168
+ const isShowWatermark = props.watermark?.isShowWatermark
169
+ let watermarkContent = props.watermark?.content
170
+ if(!watermarkContent){
171
+ watermarkContent = ''
172
+ }
159
173
  let url =
160
174
  baseURL +
161
175
  '/common/super-form/downloads?showName=' +
@@ -163,8 +177,10 @@ const download = (file: any) => {
163
177
  '&serverPath=' +
164
178
  file.serverPath +
165
179
  '&jwt=' +
166
- token
167
- if (!isPlateSys(props.systemCode)) {
180
+ token +
181
+ '&isShowWatermark='+isShowWatermark +
182
+ '&watermark='+encodeURI(watermarkContent)
183
+ if (isPlateSys(props.systemCode)) {
168
184
  url =
169
185
  baseAPI +
170
186
  '/component/super-form/downloads?showName=' +
@@ -253,15 +269,18 @@ const previweDoc = (showName: string, serverPath: string) => {
253
269
  const myPreviewUrl = originUrl + '&fullfilename=' + showName
254
270
  console.log('myPreviewUrl====', myPreviewUrl)
255
271
  // http://127.0.0.1:8012/onlinePreview
256
- previewUrl =
257
- window.$vueApp.config.globalProperties.kkFileViewUrl + '?url=' + encodeURIComponent(Base64.encode(myPreviewUrl))
272
+ getKkFilePreviewUrl(myPreviewUrl).then(url=>{
273
+ window.open(url, showName)
274
+ })
275
+ // previewUrl =
276
+ // window.$vueApp.config.globalProperties.kkFileViewUrl + '?url=' + encodeURIComponent(Base64.encode(myPreviewUrl))
258
277
  console.log('previewUrl====', previewUrl)
259
278
  } else {
260
279
  previewUrl = baseUrl + '/common/fs-upload/preview?jwt=' + token
261
280
  previewUrl = previewUrl + '&showName=' + encodeURI(showName) + '&serverPath=' + serverPath
281
+ previewUrl = getRelativeBaseUrl(previewUrl)
282
+ window.open(previewUrl, showName)
262
283
  }
263
- previewUrl = getRelativeBaseUrl(previewUrl)
264
- window.open(previewUrl, showName)
265
284
  }
266
285
  }
267
286
  function getPreviewSrc(showName: string, serverPath: string) {
@@ -13,7 +13,8 @@
13
13
  multiple: multiple,
14
14
  limitFileSize: limitFileSize,
15
15
  limit: limitNum,
16
- downloadable: downloadable
16
+ downloadable: downloadable,
17
+ watermark: watermark
17
18
  }"
18
19
  @upload-success="onInputUploadSuccess"
19
20
  @delete-success="onInputDeleteSuccess"
@@ -41,6 +42,7 @@
41
42
  :beforeDownload="beforeDownload"
42
43
  :pageContext="pageContext"
43
44
  :configure="configure"
45
+ :watermark="watermark"
44
46
  :openFsUpload="openFsUpload"
45
47
  />
46
48
  <fs-drag-upload
@@ -58,6 +60,7 @@
58
60
  :action="action"
59
61
  :headers="headers"
60
62
  :file-list="fileList"
63
+ :watermark="watermark"
61
64
  :beforeUpload="beforeUpload"
62
65
  :onSuccess="onSuccess"
63
66
  :beforeRemove="beforeRemove"
@@ -83,6 +86,7 @@
83
86
  :action="action"
84
87
  :headers="headers"
85
88
  :file-list="fileList"
89
+ :watermark="watermark"
86
90
  :beforeUpload="beforeUpload"
87
91
  :onSuccess="onSuccess"
88
92
  :beforeRemove="beforeRemove"
@@ -112,6 +116,7 @@
112
116
  :action="action"
113
117
  :headers="headers"
114
118
  :file-list="fileList"
119
+ :watermark="watermark"
115
120
  :beforeUpload="beforeUpload"
116
121
  :onSuccess="onSuccess"
117
122
  :beforeRemove="beforeRemove"
@@ -276,6 +281,11 @@ const props = defineProps({
276
281
  disabledNoDownload: {
277
282
  type: Boolean,
278
283
  default: false
284
+ },
285
+ // 水印配置{isShowWatermark:true/false,content:'xxxxx'}
286
+ watermark:{
287
+ type: Object,
288
+ default: () => ({})
279
289
  }
280
290
  })
281
291
  const isMobile = ref(isMobileBrowser())
@@ -292,6 +302,11 @@ console.log(
292
302
  'props.pageContext=',
293
303
  props.pageContext
294
304
  )
305
+ if(!props.watermark.content){
306
+ // 如果没有传水印配置,从按钮配置configure中获取
307
+ props.watermark.isShowWatermark = props.configure?.props?.watermark?.isShowWatermark===undefined?'true':props.configure?.props?.watermark.isShowWatermark+''
308
+ props.watermark.content = props.configure?.props?.watermark.content
309
+ }
295
310
  const listFileLabel = ref<string>('')
296
311
  if (props.displayType === 'input') {
297
312
  listFileLabel.value = props.fileInfo.showName || ''
@@ -132,6 +132,7 @@ import {isImage} from '../../../src/utils/util'
132
132
  import {
133
133
  isPlateSys,
134
134
  getSystemFrontendUrl,
135
+ getKkFilePreviewUrl,
135
136
  } from '../../../src/utils/common-util'
136
137
  import * as Vue from 'vue'
137
138
  import FsPreview from '../../fs-preview/src/fs-preview.vue'
@@ -349,7 +350,10 @@ export default {
349
350
  //要预览文件的访问地址
350
351
  const myPreviewUrl = originUrl + '&fullfilename='+myShowName
351
352
  // http://127.0.0.1:8012/onlinePreview
352
- previewUrl = window.$vueApp.config.globalProperties.kkFileViewUrl+'?url='+encodeURIComponent(Base64.encode(myPreviewUrl))
353
+ getKkFilePreviewUrl(myPreviewUrl).then(url=>{
354
+ window.open(url, myShowName)
355
+ })
356
+ // previewUrl = window.$vueApp.config.globalProperties.kkFileViewUrl+'?url='+encodeURIComponent(Base64.encode(myPreviewUrl))
353
357
  } else {
354
358
  previewUrl =
355
359
  baseUrl +
@@ -360,8 +364,8 @@ export default {
360
364
  encodeURI(myShowName) +
361
365
  '&serverPath=' +
362
366
  uuid
367
+ window.open(previewUrl, myShowName)
363
368
  }
364
- window.open(previewUrl, myShowName)
365
369
  }
366
370
  },
367
371
  deleteRow(index) {
@@ -170,6 +170,7 @@ import {isImage} from '../../../src/utils/util'
170
170
  import {
171
171
  isPlateSys,
172
172
  getSystemFrontendUrl,
173
+ getKkFilePreviewUrl,
173
174
  } from '../../../src/utils/common-util'
174
175
  import * as Vue from 'vue'
175
176
  import FsPreview from '../../fs-preview/src/fs-preview.vue'
@@ -502,7 +503,10 @@ export default {
502
503
  //要预览文件的访问地址
503
504
  const myPreviewUrl = originUrl + '&fullfilename='+myShowName
504
505
  // http://127.0.0.1:8012/onlinePreview
505
- previewUrl = window.$vueApp.config.globalProperties.kkFileViewUrl+'?url='+encodeURIComponent(Base64.encode(myPreviewUrl))
506
+ getKkFilePreviewUrl(myPreviewUrl).then(url=>{
507
+ window.open(url, myShowName)
508
+ })
509
+ // previewUrl = window.$vueApp.config.globalProperties.kkFileViewUrl+'?url='+encodeURIComponent(Base64.encode(myPreviewUrl))
506
510
  } else {
507
511
  previewUrl =
508
512
  baseUrl +
@@ -513,8 +517,8 @@ export default {
513
517
  encodeURI(myShowName) +
514
518
  '&serverPath=' +
515
519
  uuid
520
+ window.open(previewUrl, myShowName)
516
521
  }
517
- window.open(previewUrl, myShowName)
518
522
  }
519
523
  },
520
524
  handleOnRemove(index) {
@@ -323,7 +323,13 @@ function exportListData(
323
323
  // 页面编码
324
324
  param['pageCode'] = pageCode
325
325
  // 导出按钮是否需要验证权限
326
- param['isPermission'] = isPermission
326
+ param['isPermission'] = isPermission
327
+ const isShowWatermark = exportOptions.isShowWatermark===undefined || exportOptions.isShowWatermark===null?'true':exportOptions.isShowWatermark
328
+ param['isShowWatermark'] = isShowWatermark
329
+ let watermarkContent = exportOptions.watermarkContent
330
+ if(watermarkContent){
331
+ param['watermarkContent'] = watermarkContent
332
+ }
327
333
  let baseUrl = exportOptions ? exportOptions.backendUrl : null
328
334
  if(!baseUrl){
329
335
  baseUrl = window.$vueApp.config.globalProperties.baseURL
@@ -369,11 +375,18 @@ function exportListData(
369
375
  localStorage.setItem(uuid, 'ok')
370
376
  } else {
371
377
  if (data.indexOf('~~') >= 0) {
378
+ const isShowWatermark = exportOptions.isShowWatermark===undefined || exportOptions.isShowWatermark===null?'true':exportOptions.isShowWatermark
379
+ let watermarkContent = exportOptions.watermarkContent
380
+ if(!watermarkContent){
381
+ watermarkContent = ''
382
+ }
372
383
  localStorage.setItem(uuid, 'ok')
373
384
  return download(
374
385
  window.$vueApp.config.globalProperties.baseAPI +
375
386
  '/component/super-grids/downloads?fileName=' +
376
387
  encodeURI(data) +
388
+ '&isShowWatermark='+isShowWatermark+
389
+ '&watermark='+encodeURI(watermarkContent) +
377
390
  '&_t=' +
378
391
  new Date().getTime(),
379
392
  excelName
@@ -1471,6 +1471,15 @@ const apis = {
1471
1471
  }
1472
1472
  }
1473
1473
  gridParams.gridData[rowIndex]['validateErrorField'] = fieldName
1474
+ },
1475
+ /**
1476
+ * 手动执行自定义查询
1477
+ * @param {Array} searchableColumns 查询字段集合
1478
+ * @param {object} searchData 查询值对象。例如:{'DEPT_CODE':'xxx','DEPT_NAME':'xxxx'}
1479
+ */
1480
+ handleSearch(searchableColumns, searchData){
1481
+ const searchForm = this.packageSearchParamNormalType(searchableColumns, searchData)
1482
+ this.doSearch(searchForm)
1474
1483
  }
1475
1484
  }
1476
1485
  export default apis
@@ -861,12 +861,20 @@ export default {
861
861
  // 如果是多选文件类型,需要解析(需要设置临时字段,判断文件还是图片,图片需要预览)
862
862
  if (this.column.valueSetOptions) {
863
863
  if (this.column.componentType === 'switch') {
864
- const valueSetOptionsObj = JSON.parse(this.column.valueSetOptions)
864
+ let valueSetOptionsObj = JSON.parse(this.column.valueSetOptions)
865
+ if(typeof valueSetOptionsObj === 'string'){
866
+ // 再转一次
867
+ valueSetOptionsObj = JSON.parse(valueSetOptionsObj)
868
+ }
865
869
  if (valueSetOptionsObj) {
866
870
  this.valueSetOptions = valueSetOptionsObj
867
871
  }
868
872
  } else if (this.column.componentType !== 'inputNumber') {
869
- const valueSetOptionsObj = JSON.parse(this.column.valueSetOptions)
873
+ let valueSetOptionsObj = JSON.parse(this.column.valueSetOptions)
874
+ if(typeof valueSetOptionsObj === 'string'){
875
+ // 再转一次
876
+ valueSetOptionsObj = JSON.parse(valueSetOptionsObj)
877
+ }
870
878
  if (valueSetOptionsObj && valueSetOptionsObj.valueSetOptions) {
871
879
  this.valueSetOptions = valueSetOptionsObj.valueSetOptions
872
880
  }
@@ -990,7 +998,11 @@ export default {
990
998
  */
991
999
  getDateAllowTime() {
992
1000
  if (this.column.valueSetOptions) {
993
- const optionsObj = JSON.parse(this.column.valueSetOptions)
1001
+ let optionsObj = JSON.parse(this.column.valueSetOptions)
1002
+ if(typeof optionsObj === 'string'){
1003
+ // 再转一次
1004
+ optionsObj = JSON.parse(optionsObj)
1005
+ }
994
1006
  const nowTime = Date.now()
995
1007
  if (optionsObj.stateForbiddenTime) {
996
1008
  const stateDayNumber = optionsObj.stateForbiddenTime
@@ -1822,7 +1834,11 @@ export default {
1822
1834
  this.column.valueSetOptions !== '' &&
1823
1835
  this.column.componentType === 'inputNumber'
1824
1836
  ) {
1825
- const inputNumberSetting = JSON.parse(this.column.valueSetOptions)
1837
+ let inputNumberSetting = JSON.parse(this.column.valueSetOptions)
1838
+ if(typeof inputNumberSetting === 'string'){
1839
+ // 再转一次
1840
+ inputNumberSetting = JSON.parse(inputNumberSetting)
1841
+ }
1826
1842
  if (inputNumberSetting.min) {
1827
1843
  defaultValue = inputNumberSetting.min
1828
1844
  }
@@ -1912,7 +1928,11 @@ export default {
1912
1928
  this.column.valueSetOptions !== '' &&
1913
1929
  this.column.componentType === 'inputNumber'
1914
1930
  ) {
1915
- const inputNumberSetting = JSON.parse(this.column.valueSetOptions)
1931
+ let inputNumberSetting = JSON.parse(this.column.valueSetOptions)
1932
+ if(typeof inputNumberSetting === 'string'){
1933
+ // 再转一次
1934
+ inputNumberSetting = JSON.parse(inputNumberSetting)
1935
+ }
1916
1936
  this.inputNumberSet = inputNumberSetting
1917
1937
  } else {
1918
1938
  this.inputNumberSet = {