agilebuilder-ui 1.1.45 → 1.1.46-sit2

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 (68) hide show
  1. package/lib/{401-1bde8dc9.js → 401-75472dcd.js} +1 -1
  2. package/lib/{404-48d76996.js → 404-e5ce8455.js} +1 -1
  3. package/lib/{iframe-page-77e184a0.js → iframe-page-9d5ce6b0.js} +1 -1
  4. package/lib/index-789fbe10.js +92825 -0
  5. package/lib/super-ui.css +1 -1
  6. package/lib/super-ui.js +33 -32
  7. package/lib/super-ui.umd.cjs +172 -133
  8. package/lib/{tab-content-iframe-index-39745d49.js → tab-content-iframe-index-47fae8cf.js} +1 -1
  9. package/lib/{tab-content-index-65696e56.js → tab-content-index-6e5f5717.js} +1 -1
  10. package/lib/{tache-subprocess-history-ef943f95.js → tache-subprocess-history-1ed95cee.js} +1 -1
  11. package/package.json +7 -2
  12. package/packages/chat-embed/index.ts +6 -0
  13. package/packages/chat-embed/src/chat-embed-message.ts +79 -0
  14. package/packages/chat-embed/src/chat-embed.css +117 -0
  15. package/packages/chat-embed/src/chat-sender.vue +240 -0
  16. package/packages/chat-embed/src/header.vue +50 -0
  17. package/packages/chat-embed/src/index.vue +425 -0
  18. package/packages/chat-embed/src/recommendation-message.vue +37 -0
  19. package/packages/chat-embed/src/util.ts +33 -0
  20. package/packages/department-tree-inline/src/department-multi-tree-inline.vue +42 -34
  21. package/packages/department-tree-inline/src/department-single-tree-inline.vue +53 -42
  22. package/packages/department-tree-inline/src/search-result.vue +187 -219
  23. package/packages/department-user-tree-inline/src/department-user-multiple-tree-inline.vue +52 -43
  24. package/packages/department-user-tree-inline/src/department-user-single-tree-inline.vue +52 -42
  25. package/packages/department-user-tree-inline/src/search-result.vue +207 -220
  26. package/packages/dynamic-source-select/src/dynamic-source-select-service.js +7 -2
  27. package/packages/empty-state/index.vue +28 -0
  28. package/packages/fs-preview/src/fs-preview.vue +12 -3
  29. package/packages/fs-upload/src/fs-upload-multi.vue +6 -4
  30. package/packages/fs-upload/src/fs-upload-single.vue +7 -6
  31. package/packages/fs-upload/src/fs-upload.vue +3 -1
  32. package/packages/fs-upload/src/see-big-picture.vue +3 -0
  33. package/packages/fs-upload-list/src/fs-upload-list.vue +8 -2
  34. package/packages/fs-upload-new/src/fs-button-upload.vue +11 -4
  35. package/packages/fs-upload-new/src/fs-drag-upload.vue +11 -4
  36. package/packages/fs-upload-new/src/fs-preview-new.vue +8 -5
  37. package/packages/fs-upload-new/src/fs-upload-new.vue +17 -0
  38. package/packages/index.js +16 -13
  39. package/packages/json-view/index.ts +3 -0
  40. package/packages/json-view/json-view-dialog.vue +53 -0
  41. package/packages/json-view/json-view.vue +126 -0
  42. package/packages/plugins/export-data-new.js +2 -0
  43. package/packages/super-grid/src/apis.js +11 -0
  44. package/packages/super-grid/src/components/grid-icon.vue +6 -3
  45. package/packages/super-grid/src/custom-formatter.js +15 -2
  46. package/packages/super-grid/src/dynamic-input.vue +46 -4
  47. package/packages/super-grid/src/formatter.js +5 -1
  48. package/packages/super-grid/src/normal-column-content.vue +31 -38
  49. package/packages/super-grid/src/normal-column.vue +8 -1
  50. package/packages/super-grid/src/row-operation.vue +13 -9
  51. package/packages/super-grid/src/super-grid.vue +21 -8
  52. package/packages/utils/utils.js +26 -9
  53. package/packages/workgroup-tree-inline/src/workgroup-tree-inline.vue +50 -41
  54. package/packages/workgroup-user-tree-inline/src/workgroup-user-tree-inline.vue +45 -36
  55. package/src/assets/chat-embed/avatar.png +0 -0
  56. package/src/i18n/langs/cn.js +20 -6
  57. package/src/i18n/langs/en.js +19 -5
  58. package/src/store/modules/chat-ai-store.ts +78 -0
  59. package/src/store/modules/tab-content.js +9 -3
  60. package/src/styles/element-ui.scss +8 -7
  61. package/src/styles/index.scss +45 -0
  62. package/src/utils/chat-ai-util.ts +31 -0
  63. package/src/utils/common-util.js +78 -8
  64. package/src/utils/insert_css.js +14 -1
  65. package/src/utils/jump-page-utils.js +8 -4
  66. package/src/views/dsc-component/Sidebar/SidebarItem.vue +6 -0
  67. package/src/views/dsc-component/tabs/tab-content.vue +6 -0
  68. package/lib/index-465b0d69.js +0 -73558
@@ -8,6 +8,9 @@ import i18nUtil from './i18n-util'
8
8
  * 获得相对地址
9
9
  */
10
10
  export function getRelativeBaseUrl(originalBaseUrl) {
11
+ if(!originalBaseUrl){
12
+ return originalBaseUrl
13
+ }
11
14
  if (
12
15
  window.$vueApp.config.globalProperties.projectModel === undefined ||
13
16
  window.$vueApp.config.globalProperties.projectModel !== 'developing.model'
@@ -231,8 +234,12 @@ export function isPlateSys(systemCode) {
231
234
  export function getServerConfigUtil(http) {
232
235
  return new Promise((resolve, reject) => {
233
236
  let timestamp = '1'
234
- if(__BUILD_TIME__) {
235
- timestamp = __BUILD_TIME__
237
+ try {
238
+ if(__BUILD_TIME__) {
239
+ timestamp = __BUILD_TIME__
240
+ }
241
+ } catch (error) {
242
+ console.log('__BUILD_TIME__ not define')
236
243
  }
237
244
  http.get('./server-config.json?t='+timestamp).then((result) => {
238
245
  const config = result
@@ -247,16 +254,60 @@ export function getServerConfigUtil(http) {
247
254
  )
248
255
  localStorage.setItem('_baseAPI_', window.$vueApp.config.globalProperties.baseAPI)
249
256
  localStorage.setItem('_amb_projectModel_', window.$vueApp.config.globalProperties.projectModel)
250
- if (config.fontIconAddress && window.insertCssFile) {
251
- window.insertCssFile(`${config.fontIconAddress}/iconfont.css?t=${timestamp}`)
252
- }
253
- if (config.fontIconAddress && window.insertCssFile) {
254
- window.insertCssFile(`${config.fontIconAddress}-color/iconfont.css?t=${timestamp}`)
255
- }
257
+ // 插入图标css样式文件
258
+ insertFontIconCss(config)
259
+ // 第3方集成js
260
+ insertThirdLoginJs(config)
256
261
  resolve()
257
262
  })
258
263
  })
259
264
  }
265
+
266
+ export function insertFontIconCss(config){
267
+ if(!window.insertCssFile){
268
+ return
269
+ }
270
+ if(!config){
271
+ config = window.$vueApp.config.globalProperties
272
+ }
273
+ let timestamp = '1'
274
+ try {
275
+ if(__BUILD_TIME__) {
276
+ timestamp = __BUILD_TIME__
277
+ }
278
+ } catch (error) {
279
+ console.log('__BUILD_TIME__ not define')
280
+ }
281
+ if (config.fontIconAddress && window.insertCssFile) {
282
+ window.insertCssFile(`${config.fontIconAddress}/iconfont.css?t=${timestamp}`)
283
+ }
284
+ if (config.fontIconAddress && window.insertCssFile) {
285
+ window.insertCssFile(`${config.fontIconAddress}-color/iconfont.css?t=${timestamp}`)
286
+ }
287
+ }
288
+
289
+ export function insertThirdLoginJs(config){
290
+ if(!window.insertJsFile ){
291
+ return
292
+ }
293
+ if(!config){
294
+ config = window.$vueApp.config.globalProperties
295
+ }
296
+ if(!config || (config.systemCode !== 'portal' && config.systemCode !== 'devp')){
297
+ return
298
+ }
299
+ // 只有portal和devp需要动态添加这些js
300
+ // userName,dingtalk,feishu,qiwei
301
+ if (!config.loginMethod || config.loginMethod.indexOf('dingtalk')>=0) {
302
+ window.insertJsFile(`https://g.alicdn.com/dingding/h5-dingtalk-login/0.21.0/ddlogin.js`)
303
+ }
304
+ if (!config.loginMethod || config.loginMethod.indexOf('feishu')>=0) {
305
+ window.insertJsFile(`https://lf-package-cn.feishucdn.com/obj/feishu-static/lark/passport/qrcode/LarkSSOSDKWebQRCode-1.0.3.js`)
306
+ }
307
+ if (!config.loginMethod || config.loginMethod.indexOf('qiwei')>=0) {
308
+ window.insertJsFile(`https://wwcdn.weixin.qq.com/node/open/js/wecom-jssdk-2.3.1.js`)
309
+ }
310
+ }
260
311
  /**
261
312
  * postmessage跨域传message时获得orign路径使用
262
313
  * @returns orign路径
@@ -748,3 +799,22 @@ export function cacheSystemUrl() {
748
799
  export function getAuthSource() {
749
800
  return window.localStorage.getItem('auth_source')
750
801
  }
802
+ /**
803
+ * 把路径中的参数转为对象
804
+ * @param {*} fullPath 全路径。例如:hash路径:http://xx:8090/#/sss/dd?p1=1&p2=2 或 普通路径:http://xx:8090/sss/dd?p1=1&p2=2
805
+ * @returns
806
+ */
807
+ export function getURLSearchParamObj(fullPath) {
808
+ try{
809
+ // 提取hash部分
810
+ const hash = fullPath.includes('#') ? fullPath.split('#')[1] : fullPath;
811
+ // 提取查询参数
812
+ const queryString = hash.includes('?') ? hash.split('?')[1] : hash;
813
+ // 解析参数
814
+ const params = new URLSearchParams(queryString);
815
+ // 转换为普通对象
816
+ return Object.fromEntries(params)
817
+ }catch(error){
818
+ console.error('error===',error)
819
+ }
820
+ }
@@ -15,7 +15,6 @@ if (!window.insertCssFile) {
15
15
  if (!cssUrl || window.insertedCssFiles.has(cssUrl)) {
16
16
  return;
17
17
  }
18
- const timestamp = new Date().getTime();
19
18
  const link = document.createElement('link');
20
19
  link.rel = 'stylesheet';
21
20
  link.href = cssUrl;
@@ -29,6 +28,20 @@ if (!window.insertCssFile) {
29
28
  }
30
29
  }
31
30
 
31
+
32
+ if (!window.insertJsFile) {
33
+ window.insertJsFile = (jsUrl) => {
34
+ if (!jsUrl || window.insertedCssFiles.has(jsUrl)) {
35
+ return;
36
+ }
37
+ const link = document.createElement('script');
38
+ link.src = jsUrl;
39
+ link.onload = function () {
40
+ window.insertedCssFiles.add(jsUrl);
41
+ };
42
+ document.head.appendChild(link);
43
+ }
44
+ }
32
45
  // if (window.insertCssFile) {
33
46
  // window.insertCssFile(window.defaultCssUrl);
34
47
  // }
@@ -73,6 +73,7 @@ export function initialization(
73
73
  if (jumpPageResult && jumpPageResult.visible) {
74
74
  const res = { ...jumpPageResult }
75
75
  res.jumpPageSetting = JSON.stringify(jumpPageItem.jumpPageSetting)
76
+ res.jumpPageItem = jumpPageItem
76
77
  return res
77
78
  }
78
79
  }
@@ -228,7 +229,10 @@ export function jumpToPage(
228
229
  }
229
230
  getSystem(system, jumpPageSetting.jumpPageUrl, jumpPageSetting.isNewPage, jumpPageSetting)
230
231
  .then((system) => {
231
- if ((jumpPageSetting.jumpPageAdditional && jumpPageSetting.jumpPageAdditional.length > 0) || (jumpPageSetting.jumpPageTitle && jumpPageSetting.jumpPageTitle.indexOf('${')>=0)) {
232
+ if (
233
+ (jumpPageSetting.jumpPageAdditional && jumpPageSetting.jumpPageAdditional.length > 0) ||
234
+ (jumpPageSetting.jumpPageTitle && jumpPageSetting.jumpPageTitle.indexOf('${') >= 0)
235
+ ) {
232
236
  // 发送请求,获取附加参数,并存入缓存
233
237
  const paramPath =
234
238
  window.$vueApp.config.globalProperties.baseAPI + '/component/super-pages/parsing-additional-parameters'
@@ -242,7 +246,7 @@ export function jumpToPage(
242
246
  if (!pageData) {
243
247
  pageData = {}
244
248
  }
245
- if(!additionalParamMap){
249
+ if (!additionalParamMap) {
246
250
  additionalParamMap = {}
247
251
  }
248
252
  Object.assign(additionalParamMap, pageData)
@@ -593,11 +597,11 @@ function jumpWithSuperPage(jumpPageUrl, system, dataId, jumpPageSetting, ids, bu
593
597
  // 移动端时,获得移动端打开方式
594
598
  jumpMode = jumpPageSetting.jumpPageMobileOpenMode
595
599
  }
596
- if(!jumpMode && jumpPageSetting) {
600
+ if (!jumpMode && jumpPageSetting) {
597
601
  // 移动端没有配置则以 打开方式为准
598
602
  jumpMode = jumpPageSetting.jumpPageOpenMode
599
603
  }
600
- if(!jumpMode){
604
+ if (!jumpMode) {
601
605
  // 默认是刷新页面
602
606
  jumpMode = 'refresh'
603
607
  }
@@ -53,6 +53,7 @@ import AppLink from './Link.vue'
53
53
  import * as Vue from 'vue'
54
54
  import tabJs from '../../../api/tab'
55
55
  import { getI18nName } from '../../../utils/menu'
56
+ import { getRelativeBaseUrl, getURLSearchParamObj } from '../../../utils/common-util'
56
57
  // import { SidebarItemChild } from './SidebarItemChild.vue'
57
58
  export default {
58
59
  name: 'SidebarItem',
@@ -171,6 +172,11 @@ export default {
171
172
  url = url.substring(0, url.lastIndexOf('&'))
172
173
  }
173
174
  }
175
+ const paramObj = getURLSearchParamObj(url)
176
+ if(paramObj && paramObj._isThird && paramObj._isThird === 'false') {
177
+ // 表示不是第3方系统,需要替换域名,内网外网部署时需要使用
178
+ url = getRelativeBaseUrl(url)
179
+ }
174
180
  window.open(url, toPathObj.query._menuName)
175
181
  } else {
176
182
  // 刷新页签打开菜单
@@ -35,6 +35,7 @@
35
35
  <script>
36
36
  import * as Vue from 'vue'
37
37
  import { mapGetters } from 'vuex'
38
+ import { getRelativeBaseUrl, getURLSearchParamObj } from '../../../utils/common-util'
38
39
  export default {
39
40
  name: 'TabContent',
40
41
  data() {
@@ -158,6 +159,11 @@ export default {
158
159
  ) {
159
160
  path = path.substring(0, path.lastIndexOf('&'))
160
161
  }
162
+ const paramObj = getURLSearchParamObj(path)
163
+ if(paramObj && paramObj._isThird && paramObj._isThird === 'false') {
164
+ // 表示不是第3方系统,需要替换域名,内网外网部署时需要使用
165
+ path = getRelativeBaseUrl(path)
166
+ }
161
167
  return path
162
168
  },
163
169
  recieveMessage(event) {