agilebuilder-ui 1.1.46-sit1 → 1.1.46-sit3

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 (47) hide show
  1. package/lib/{401-17c1ba58.js → 401-ef4398a9.js} +1 -1
  2. package/lib/{404-0bb0c21e.js → 404-287cecdc.js} +1 -1
  3. package/lib/{iframe-page-200e9f78.js → iframe-page-b1ceebcf.js} +1 -1
  4. package/lib/{index-fbc950ca.js → index-53273b38.js} +11082 -11043
  5. package/lib/super-ui.css +1 -1
  6. package/lib/super-ui.js +1 -1
  7. package/lib/super-ui.umd.cjs +88 -88
  8. package/lib/{tab-content-iframe-index-23a2150d.js → tab-content-iframe-index-2377cd81.js} +1 -1
  9. package/lib/{tab-content-index-55c47eb2.js → tab-content-index-85a86e08.js} +1 -1
  10. package/lib/{tache-subprocess-history-9ffc5f04.js → tache-subprocess-history-d0e1354e.js} +1 -1
  11. package/package.json +1 -1
  12. package/packages/department-tree-inline/src/department-multi-tree-inline.vue +42 -34
  13. package/packages/department-tree-inline/src/department-single-tree-inline.vue +53 -42
  14. package/packages/department-tree-inline/src/department-tree-service.js +17 -11
  15. package/packages/department-tree-inline/src/search-result.vue +187 -219
  16. package/packages/department-user-tree-inline/src/department-user-multiple-tree-inline.vue +52 -43
  17. package/packages/department-user-tree-inline/src/department-user-single-tree-inline.vue +52 -42
  18. package/packages/department-user-tree-inline/src/department-user-tree-multi-service.js +23 -13
  19. package/packages/department-user-tree-inline/src/department-user-tree-single-service.js +9 -5
  20. package/packages/department-user-tree-inline/src/group-user-tree-service.js +17 -11
  21. package/packages/department-user-tree-inline/src/search-result.vue +207 -220
  22. package/packages/dynamic-source-select/src/dynamic-source-select-service.js +7 -2
  23. package/packages/empty-state/index.vue +28 -0
  24. package/packages/fs-preview/src/fs-preview.vue +7 -2
  25. package/packages/fs-upload/src/fs-upload-multi.vue +6 -4
  26. package/packages/fs-upload/src/fs-upload-single.vue +7 -6
  27. package/packages/fs-upload/src/fs-upload.vue +3 -1
  28. package/packages/fs-upload/src/see-big-picture.vue +3 -0
  29. package/packages/fs-upload-list/src/fs-upload-list.vue +2 -1
  30. package/packages/fs-upload-new/src/fs-button-upload.vue +3 -3
  31. package/packages/fs-upload-new/src/fs-drag-upload.vue +3 -3
  32. package/packages/fs-upload-new/src/fs-preview-new.vue +8 -5
  33. package/packages/plugins/export-data-new.js +2 -0
  34. package/packages/super-grid/src/components/grid-icon.vue +6 -3
  35. package/packages/super-grid/src/normal-column-content.vue +1 -1
  36. package/packages/super-grid/src/super-grid.vue +4 -4
  37. package/packages/utils/utils.js +26 -9
  38. package/packages/workgroup-tree-inline/src/workgroup-tree-inline.vue +50 -41
  39. package/packages/workgroup-user-tree-inline/src/workgroup-tree-inline-service.js +30 -24
  40. package/packages/workgroup-user-tree-inline/src/workgroup-user-tree-inline.vue +49 -37
  41. package/src/i18n/langs/cn.js +3 -3
  42. package/src/i18n/langs/en.js +4 -4
  43. package/src/styles/index.scss +26 -0
  44. package/src/utils/chat-ai-util.ts +3 -3
  45. package/src/utils/common-util.js +22 -0
  46. package/src/views/dsc-component/Sidebar/SidebarItem.vue +6 -0
  47. package/src/views/dsc-component/tabs/tab-content.vue +6 -0
@@ -21,41 +21,45 @@
21
21
  </el-autocomplete>
22
22
  </el-header>
23
23
  <el-main style="padding: 10px">
24
- <div
25
- v-if="!searchValue"
26
- style="padding-top: 5px; overflow: auto; width: auto; display: inline-block !important"
27
- >
28
- <el-tree
29
- ref="workgroupUserTree"
30
- :filter-node-method="filterNode"
31
- :load="loadNode"
32
- :props="defaultProps"
33
- :show-checkbox="multiple"
34
- lazy
35
- node-key="nodeId"
36
- @check="handleCheckNode"
37
- @node-click="handleNodeClick"
24
+ <template v-if="!searchValue">
25
+ <div
26
+ v-if="canShowOrgTree"
27
+ style="padding-top: 5px; overflow: auto; width: auto; display: inline-block !important"
38
28
  >
39
- <template #default="{ node, data }">
40
- <span>
41
- <el-icon>
42
- <Menu v-if="node.data.id === -1" />
43
- <Calendar v-else />
44
- </el-icon>
45
- <span
46
- :class="
47
- data.nodeType && data.nodeType === 'USER' && searchValue && filterUserVal(data, searchValue)
48
- ? 'searchResult'
49
- : ''
50
- "
51
- :title="node.label"
52
- >
53
- {{ node.label }}
29
+ <el-tree
30
+ ref="workgroupUserTree"
31
+ :filter-node-method="filterNode"
32
+ :load="loadNode"
33
+ :props="defaultProps"
34
+ :show-checkbox="multiple"
35
+ lazy
36
+ node-key="nodeId"
37
+ @check="handleCheckNode"
38
+ @node-click="handleNodeClick"
39
+ >
40
+ <template #default="{ node, data }">
41
+ <span>
42
+ <el-icon>
43
+ <Menu v-if="node.data.id === -1" />
44
+ <Calendar v-else />
45
+ </el-icon>
46
+ <span
47
+ :class="
48
+ data.nodeType && data.nodeType === 'USER' && searchValue && filterUserVal(data, searchValue)
49
+ ? 'searchResult'
50
+ : ''
51
+ "
52
+ :title="node.label"
53
+ >
54
+ {{ node.label }}
55
+ </span>
54
56
  </span>
55
- </span>
56
- </template>
57
- </el-tree>
58
- </div>
57
+ </template>
58
+ </el-tree>
59
+ </div>
60
+ <!-- 暂无信息 -->
61
+ <EmptyState v-else style="width: 100%; height: 100%" />
62
+ </template>
59
63
  <div v-if="searchValue && searchValue.length > 0" style="height: 100%; overflow: hidden">
60
64
  <workgroup-user-result
61
65
  ref="workgroupUserResult"
@@ -114,7 +118,7 @@ import localStorage from '../../../src/utils/local-storage'
114
118
  import utils from '../../utils/utils'
115
119
  import workgroupTreeInlineService from './workgroup-tree-inline-service'
116
120
  import WorkgroupUserResult from './search-result.vue'
117
-
121
+ import EmptyState from '../../empty-state/index.vue'
118
122
  export default {
119
123
  data() {
120
124
  return {
@@ -153,12 +157,14 @@ export default {
153
157
  selectNodeInfo: null,
154
158
  // 公司根节点信息
155
159
  tenantInfo: {},
156
- ElIconSearch
160
+ ElIconSearch,
161
+ canShowOrgTree: false
157
162
  }
158
163
  },
159
164
  name: 'InlineWorkgroupUserTree',
160
165
  components: {
161
- WorkgroupUserResult
166
+ WorkgroupUserResult,
167
+ EmptyState
162
168
  },
163
169
  props: {
164
170
  // 是否是多选树,默认是true
@@ -198,6 +204,9 @@ export default {
198
204
  }
199
205
  },
200
206
  created() {
207
+ utils.canShowOrgTree().then((showOrgTree) => {
208
+ this.canShowOrgTree = showOrgTree
209
+ })
201
210
  if (this.multiple) {
202
211
  this.initSelectUsers(this.searchField, this.selectUserInfo, this.separator).then((users) => {
203
212
  if (users) {
@@ -291,7 +300,10 @@ export default {
291
300
  // // this.searchParam.userField = this.searchField
292
301
  // // 后台查询部门,并拼接树节点
293
302
  // this.filterAppendNodes(value)
294
- this.$refs.workgroupUserTree.filter(value)
303
+
304
+ if(this.$refs.workgroupUserTree) {
305
+ this.$refs.workgroupUserTree.filter(value)
306
+ }
295
307
  },
296
308
  // 点击查询按钮调用的方法
297
309
  clickSearch() {
@@ -56,7 +56,7 @@ const cn = {
56
56
  pleaseRemoveallpersonnelBeforeSelectingSpecificPersonnel: '请先移除所有人员,再选择具体人员',
57
57
  queryResultIsEmpty: '查询结果为空',
58
58
  pleaseSelectATeam: '请选择工作组',
59
- pleaseEnterTeamName: '请输入工作组名称',
59
+ pleaseEnterTeamName: '请输入工作组信息筛选',
60
60
  validationFailed: '验证失败',
61
61
  selectionDate: '选择日期',
62
62
  selectTime: '选择时间',
@@ -142,7 +142,7 @@ const cn = {
142
142
  departmentTree: {},
143
143
  // 嵌入部门树组件
144
144
  departmentTreeInline: {
145
- pleaseEnterDepartmentName: '请输入部门名称',
145
+ pleaseEnterDepartmentName: '请输入部门信息筛选',
146
146
  name: '部门名称',
147
147
  code: '部门编码',
148
148
  removeDepartment: '移除部门',
@@ -156,7 +156,7 @@ const cn = {
156
156
  },
157
157
  // 用户树
158
158
  departmentUserTree: {
159
- pleaseEnterUserInformation: '请输入用户信息',
159
+ pleaseEnterUserInformation: '请输入用户信息筛选',
160
160
  selectedPeople: '已选人员',
161
161
  searchFieldUserName: '姓名',
162
162
  searchFieldLoginName: '登录名',
@@ -57,7 +57,7 @@ const en = {
57
57
  'Please Remove All Personnel Before Selecting Specific Personnel',
58
58
  queryResultIsEmpty: 'Query Result Is Empty',
59
59
  pleaseSelectATeam: 'Please Select A Team',
60
- pleaseEnterTeamName: 'Please Enter Team Name',
60
+ pleaseEnterTeamName: 'Please Enter Team Info Filter',
61
61
  validationFailed: 'Validation Failed',
62
62
  selectionDate: 'Selection Date',
63
63
  selectTime: 'Select Time',
@@ -140,7 +140,7 @@ const en = {
140
140
  },
141
141
  departmentTree: {},
142
142
  departmentTreeInline: {
143
- pleaseEnterDepartmentName: 'Please Enter Department Name',
143
+ pleaseEnterDepartmentName: 'Please Enter Department Info Filter',
144
144
  name: 'Department Name',
145
145
  code: 'Department Code',
146
146
  removeDepartment: 'Remove Department',
@@ -154,7 +154,7 @@ const en = {
154
154
  },
155
155
  // 用户树
156
156
  departmentUserTree: {
157
- pleaseEnterUserInformation: 'Please Enter User Information',
157
+ pleaseEnterUserInformation: 'Please Enter User Information Filter',
158
158
  selectedPeople: 'Selected People',
159
159
  searchFieldUserName: 'Name',
160
160
  searchFieldLoginName: 'Login Name',
@@ -285,7 +285,7 @@ const en = {
285
285
  video: 'Video',
286
286
  updateSuccess: 'Update success',
287
287
  more: 'More',
288
- uploadFailed: '上传失败!'
288
+ uploadFailed: 'Upload failed!'
289
289
  },
290
290
  messageVideo: {
291
291
  attemptingToIdentify: 'Attempting to identify',
@@ -322,4 +322,30 @@ body .el-table colgroup.gutter {
322
322
  position: absolute;
323
323
  top: 3px;
324
324
  right: 5px;
325
+ }
326
+
327
+
328
+ // "暂无更多" 样式
329
+ .empty_center_area {
330
+ width: 100%;
331
+ position: relative;
332
+
333
+ .empty_notAvailable {
334
+ background-image: url('../assets/nonemessage.png');
335
+ background-size: 100%;
336
+ position: absolute;
337
+ top: 30%;
338
+ left: 50%;
339
+ transform: translate(-50%, -50%);
340
+
341
+ .empty_notAvailable_text {
342
+ position: absolute;
343
+ bottom: 0;
344
+ left: 50%;
345
+ transform: translate(-50%, 100%);
346
+ color: #313233;
347
+ font-weight: regular;
348
+ font-size: 14px;
349
+ }
350
+ }
325
351
  }
@@ -18,10 +18,10 @@ function setActiveMenuToChatAiStore(activeMenu) {
18
18
  }
19
19
  }
20
20
 
21
- function setPageInfoToChatStore(menuCode, info) {
21
+ function setPageInfoToChatStore(pageContext, info) {
22
22
  try {
23
- if (window.top.ChatAiStore) {
24
- window.top.ChatAiStore.setPageInfoToChatStore(menuCode, info)
23
+ if (pageContext && window.top.ChatAiStore) {
24
+ window.top.ChatAiStore.setPageInfoToChatStore(pageContext.menuCode, info)
25
25
  }
26
26
  } catch (error) {
27
27
  console.error('ChatAiStore not found', error)
@@ -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'
@@ -796,3 +799,22 @@ export function cacheSystemUrl() {
796
799
  export function getAuthSource() {
797
800
  return window.localStorage.getItem('auth_source')
798
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
+ }
@@ -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) {