agilebuilder-ui 1.1.46-sit1 → 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 (40) hide show
  1. package/lib/{401-17c1ba58.js → 401-75472dcd.js} +1 -1
  2. package/lib/{404-0bb0c21e.js → 404-e5ce8455.js} +1 -1
  3. package/lib/{iframe-page-200e9f78.js → iframe-page-9d5ce6b0.js} +1 -1
  4. package/lib/{index-fbc950ca.js → index-789fbe10.js} +11058 -11021
  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-47fae8cf.js} +1 -1
  9. package/lib/{tab-content-index-55c47eb2.js → tab-content-index-6e5f5717.js} +1 -1
  10. package/lib/{tache-subprocess-history-9ffc5f04.js → tache-subprocess-history-1ed95cee.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/search-result.vue +187 -219
  15. package/packages/department-user-tree-inline/src/department-user-multiple-tree-inline.vue +52 -43
  16. package/packages/department-user-tree-inline/src/department-user-single-tree-inline.vue +52 -42
  17. package/packages/department-user-tree-inline/src/search-result.vue +207 -220
  18. package/packages/dynamic-source-select/src/dynamic-source-select-service.js +7 -2
  19. package/packages/empty-state/index.vue +28 -0
  20. package/packages/fs-preview/src/fs-preview.vue +7 -2
  21. package/packages/fs-upload/src/fs-upload-multi.vue +6 -4
  22. package/packages/fs-upload/src/fs-upload-single.vue +7 -6
  23. package/packages/fs-upload/src/fs-upload.vue +3 -1
  24. package/packages/fs-upload/src/see-big-picture.vue +3 -0
  25. package/packages/fs-upload-list/src/fs-upload-list.vue +2 -1
  26. package/packages/fs-upload-new/src/fs-button-upload.vue +3 -3
  27. package/packages/fs-upload-new/src/fs-drag-upload.vue +3 -3
  28. package/packages/fs-upload-new/src/fs-preview-new.vue +8 -5
  29. package/packages/plugins/export-data-new.js +2 -0
  30. package/packages/super-grid/src/components/grid-icon.vue +6 -3
  31. package/packages/super-grid/src/normal-column-content.vue +1 -1
  32. package/packages/utils/utils.js +26 -9
  33. package/packages/workgroup-tree-inline/src/workgroup-tree-inline.vue +50 -41
  34. package/packages/workgroup-user-tree-inline/src/workgroup-user-tree-inline.vue +45 -36
  35. package/src/i18n/langs/cn.js +3 -3
  36. package/src/i18n/langs/en.js +4 -4
  37. package/src/styles/index.scss +26 -0
  38. package/src/utils/common-util.js +22 -0
  39. package/src/views/dsc-component/Sidebar/SidebarItem.vue +6 -0
  40. package/src/views/dsc-component/tabs/tab-content.vue +6 -0
@@ -18,48 +18,52 @@
18
18
  </el-autocomplete>
19
19
  </el-header>
20
20
  <el-main style="padding: 10px; width: 100%">
21
- <div
22
- v-if="!searchValue || searchResult.length === 0"
23
- style="padding-top: 5px; overflow: auto; width: auto; display: inline-block !important"
24
- >
25
- <el-tabs v-model="activeTab" class="boe">
26
- <el-tab-pane :label="$t('departmentUserTreeInline.orgTree')" name="orgTree">
27
- <el-tree
28
- ref="deparmentUserTree"
29
- :load="loadNode"
30
- :props="defaultProps"
31
- lazy
32
- node-key="nodeId"
33
- @node-click="handleNodeClick"
34
- >
35
- <template #default="{ node, data }">
36
- <span>
37
- <el-icon>
38
- <Menu v-if="node.data.id === -1 || node.data.branch" />
39
- <Tickets v-else-if="node.data.id === -2 || node.data.id === -3" />
40
- <User v-else-if="node.data.nodeType === 'USER'" />
41
- <Calendar v-else />
42
- </el-icon>
43
- <span :title="node.label">
44
- {{ node.label }}
21
+ <template v-if="!searchValue || searchResult.length === 0">
22
+ <div
23
+ v-if="canShowOrgTree"
24
+ style="padding-top: 5px; overflow: auto; width: auto; display: inline-block !important"
25
+ >
26
+ <el-tabs v-model="activeTab" class="boe">
27
+ <el-tab-pane :label="$t('departmentUserTreeInline.orgTree')" name="orgTree">
28
+ <el-tree
29
+ ref="deparmentUserTree"
30
+ :load="loadNode"
31
+ :props="defaultProps"
32
+ lazy
33
+ node-key="nodeId"
34
+ @node-click="handleNodeClick"
35
+ >
36
+ <template #default="{ node, data }">
37
+ <span>
38
+ <el-icon>
39
+ <Menu v-if="node.data.id === -1 || node.data.branch" />
40
+ <Tickets v-else-if="node.data.id === -2 || node.data.id === -3" />
41
+ <User v-else-if="node.data.nodeType === 'USER'" />
42
+ <Calendar v-else />
43
+ </el-icon>
44
+ <span :title="node.label">
45
+ {{ node.label }}
46
+ </span>
45
47
  </span>
46
- </span>
48
+ </template>
49
+ </el-tree>
50
+ </el-tab-pane>
51
+ <el-tab-pane name="groupTree">
52
+ <template v-slot:label>
53
+ <span>{{ $t('departmentUserTreeInline.group') }}</span>
54
+ <span><GroupUser :active-tab="activeTab" @update-group-tree="updateGroupTree" /></span>
47
55
  </template>
48
- </el-tree>
49
- </el-tab-pane>
50
- <el-tab-pane name="groupTree">
51
- <template v-slot:label>
52
- <span>{{ $t('departmentUserTreeInline.group') }}</span>
53
- <span><GroupUser :active-tab="activeTab" @update-group-tree="updateGroupTree" /></span>
54
- </template>
55
- <GroupUserSingleTree
56
- v-if="isShowGroupTree"
57
- @singleClick="getGroupUserResult"
58
- @dblClick="dblClickGroupUserResult"
59
- />
60
- </el-tab-pane>
61
- </el-tabs>
62
- </div>
56
+ <GroupUserSingleTree
57
+ v-if="isShowGroupTree"
58
+ @singleClick="getGroupUserResult"
59
+ @dblClick="dblClickGroupUserResult"
60
+ />
61
+ </el-tab-pane>
62
+ </el-tabs>
63
+ </div>
64
+ <!-- 暂无信息 -->
65
+ <EmptyState v-else style="width: 100%; height: 100%" />
66
+ </template>
63
67
  <div
64
68
  v-if="searchValue && searchValue.length > 0 && searchResult.length > 0"
65
69
  style="height: 100%; overflow: hidden"
@@ -89,6 +93,7 @@ import departmentUserTreeSingleService from './department-user-tree-single-servi
89
93
  import memoryCacheUtils from '../../utils/memory-cache-utils'
90
94
  import GroupUserSingleTree from './group-user-single-tree.vue'
91
95
  import GroupUser from './group-user/group-user.vue'
96
+ import EmptyState from '../../empty-state/index.vue'
92
97
 
93
98
  export default {
94
99
  data() {
@@ -136,14 +141,16 @@ export default {
136
141
  memoryCacheData: [],
137
142
  ElIconSearch,
138
143
  activeTab: 'orgTree', // 当前页签
139
- isShowGroupTree: true
144
+ isShowGroupTree: true,
145
+ canShowOrgTree: false
140
146
  }
141
147
  },
142
148
  name: 'InlineDepartmentUserSingleTree',
143
149
  components: {
144
150
  UserResult,
145
151
  GroupUserSingleTree,
146
- GroupUser
152
+ GroupUser,
153
+ EmptyState
147
154
  },
148
155
  props: {
149
156
  // 显示指定部门节点及其子节点,不传该属性,表示显示整个组织结构树
@@ -184,6 +191,9 @@ export default {
184
191
  }
185
192
  },
186
193
  created() {
194
+ utils.canShowOrgTree().then((showOrgTree) => {
195
+ this.canShowOrgTree = showOrgTree
196
+ })
187
197
  this.searchFields = this.getSearchUserFields()
188
198
  },
189
199
  mounted() {
@@ -1,80 +1,71 @@
1
1
  <template>
2
- <div style="height: 100%">
3
- <el-table
4
- ref="superGrid"
5
- :data="gridData"
6
- :max-height="myHeight"
7
- :row-class-name="tableRowClassName"
8
- border
9
- fit
10
- row-key="id"
11
- stripe
12
- @row-click="rowClick"
13
- @row-dblclick="rowDblclick"
14
- >
15
- <template v-slot:empty>
16
- <div class="roleQuery_center_area" style="height: 395px">
17
- <div
18
- class="roleQuery_notAvailable"
19
- style="width: 120px; height: 120px"
20
- >
21
- <span class="roleQuery_notAvailable_text">{{
22
- $t('imatrixUIPromptMessage.NoContent')
23
- }}</span>
24
- </div>
25
- </div>
26
- </template>
27
- <el-table-column v-if="multiple === false" fixed width="60">
28
- <template v-slot="scope">
29
- <el-radio
30
- v-model="singleUserIndex"
31
- :label="scope.$index"
32
- @change="selectUser"
33
- >
34
- {{ scope.$index + 1 }}
35
- </el-radio>
36
- </template>
37
- </el-table-column>
38
- <el-table-column
39
- v-if="multiple && isSearchResult"
40
- :label="$t('imatrixUIPublicModel.edit')"
41
- align="center"
42
- fixed
43
- width="60px"
44
- >
45
- <template v-slot="scope">
46
- <div>
47
- <el-button
48
- :disabled="isDisable(scope.row)"
49
- :icon="ElIconPlus"
50
- circle
51
- size="default"
52
- type="primary"
53
- @click="addUser(scope.$index, scope.row)"
54
- />
55
- </div>
56
- </template>
57
- </el-table-column>
58
- <el-table-column
59
- v-if="multiple && !isSearchResult"
60
- :label="$t('imatrixUIPublicModel.edit')"
61
- align="center"
62
- fixed="right"
63
- width="60px"
64
- >
65
- <template v-slot="scope">
66
- <div>
67
- <el-button
68
- :icon="ElIconDelete"
69
- circle
70
- size="default"
71
- type="danger"
72
- @click="removeUser(scope.$index, scope.row)"
73
- />
74
- </div>
75
- </template>
76
- </el-table-column>
77
- <!-- <el-table-column
2
+ <div style="height: 100%">
3
+ <el-table
4
+ ref="superGrid"
5
+ :data="gridData"
6
+ :max-height="myHeight"
7
+ :row-class-name="tableRowClassName"
8
+ border
9
+ fit
10
+ row-key="id"
11
+ stripe
12
+ @row-click="rowClick"
13
+ @row-dblclick="rowDblclick"
14
+ >
15
+ <template v-slot:empty>
16
+ <div class="empty_center_area" style="height: 395px">
17
+ <div class="empty_notAvailable" style="width: 120px; height: 120px">
18
+ <span class="empty_notAvailable_text">{{ $t('imatrixUIPromptMessage.NoContent') }}</span>
19
+ </div>
20
+ </div>
21
+ </template>
22
+ <el-table-column v-if="multiple === false" fixed width="60">
23
+ <template v-slot="scope">
24
+ <el-radio v-model="singleUserIndex" :label="scope.$index" @change="selectUser">
25
+ {{ scope.$index + 1 }}
26
+ </el-radio>
27
+ </template>
28
+ </el-table-column>
29
+ <el-table-column
30
+ v-if="multiple && isSearchResult"
31
+ :label="$t('imatrixUIPublicModel.edit')"
32
+ align="center"
33
+ fixed
34
+ width="60px"
35
+ >
36
+ <template v-slot="scope">
37
+ <div>
38
+ <el-button
39
+ :disabled="isDisable(scope.row)"
40
+ :icon="ElIconPlus"
41
+ circle
42
+ size="default"
43
+ type="primary"
44
+ @click="addUser(scope.$index, scope.row)"
45
+ />
46
+ </div>
47
+ </template>
48
+ </el-table-column>
49
+ <el-table-column
50
+ v-if="multiple && !isSearchResult"
51
+ :label="$t('imatrixUIPublicModel.edit')"
52
+ align="center"
53
+ fixed="right"
54
+ width="60px"
55
+ >
56
+ <template v-slot="scope">
57
+ <div>
58
+ <el-button
59
+ :icon="ElIconDelete"
60
+ circle
61
+ size="default"
62
+ type="danger"
63
+ @click="removeUser(scope.$index, scope.row)"
64
+ />
65
+ </div>
66
+ </template>
67
+ </el-table-column>
68
+ <!-- <el-table-column
78
69
  v-if="multiple"
79
70
  :label="$t('superGrid.index')"
80
71
  align="center"
@@ -84,30 +75,27 @@
84
75
  {{ scope.$index + 1 }}
85
76
  </template>
86
77
  </el-table-column> -->
87
- <el-table-column
88
- :label="$t('departmentUserTreeInline.name')"
89
- prop="name"
90
- >
91
- <template v-slot="scope">
92
- <div v-if="scope.row.enName && scope.row.enName.trim() !== ''">
93
- <div :title="scope.row.name +'('+scope.row.enName+')' +'['+scope.row.loginName+']'">
94
- <span>{{ scope.row.name+'('+scope.row.enName+')' }}[{{ scope.row.loginName }}]</span>
95
- </div>
96
- <div style="color:#ccc" :title="getDeptName(scope.row)">
97
- {{ getDeptName(scope.row) }}
98
- </div>
99
- </div>
100
- <div v-else>
101
- <div :title="scope.row.name +'['+scope.row.loginName+']'">
102
- <span>{{ scope.row.name }}[{{ scope.row.loginName }}]</span>
103
- </div>
104
- <div style="color:#ccc" :title="getDeptName(scope.row)">
105
- {{ getDeptName(scope.row) }}
106
- </div>
107
- </div>
108
- </template>
109
- </el-table-column>
110
- <!-- <el-table-column
78
+ <el-table-column :label="$t('departmentUserTreeInline.name')" prop="name">
79
+ <template v-slot="scope">
80
+ <div v-if="scope.row.enName && scope.row.enName.trim() !== ''">
81
+ <div :title="scope.row.name + '(' + scope.row.enName + ')' + '[' + scope.row.loginName + ']'">
82
+ <span>{{ scope.row.name + '(' + scope.row.enName + ')' }}[{{ scope.row.loginName }}]</span>
83
+ </div>
84
+ <div style="color: #ccc" :title="getDeptName(scope.row)">
85
+ {{ getDeptName(scope.row) }}
86
+ </div>
87
+ </div>
88
+ <div v-else>
89
+ <div :title="scope.row.name + '[' + scope.row.loginName + ']'">
90
+ <span>{{ scope.row.name }}[{{ scope.row.loginName }}]</span>
91
+ </div>
92
+ <div style="color: #ccc" :title="getDeptName(scope.row)">
93
+ {{ getDeptName(scope.row) }}
94
+ </div>
95
+ </div>
96
+ </template>
97
+ </el-table-column>
98
+ <!-- <el-table-column
111
99
  :label="$t('departmentUserTreeInline.loginName')"
112
100
  :width="110"
113
101
  prop="loginName"
@@ -139,8 +127,8 @@
139
127
  >
140
128
  </template>
141
129
  </el-table-column> -->
142
- <!--由于保密要求,邮箱不能显示,需要脱敏处理,暂时注释掉,不显示-->
143
- <!-- <el-table-column
130
+ <!--由于保密要求,邮箱不能显示,需要脱敏处理,暂时注释掉,不显示-->
131
+ <!-- <el-table-column
144
132
  :label="$t('departmentUserTreeInline.email')"
145
133
  :width="130"
146
134
  prop="email"
@@ -149,139 +137,138 @@
149
137
  <span class="ellipsis cell--span" :title="scope.row.email">{{ scope.row.email }}</span>
150
138
  </template>
151
139
  </el-table-column> -->
152
- </el-table>
153
- </div>
140
+ </el-table>
141
+ </div>
154
142
  </template>
155
143
 
156
144
  <script>
157
- import {Delete as ElIconDelete, Plus as ElIconPlus} from '@element-plus/icons-vue'
145
+ import { Delete as ElIconDelete, Plus as ElIconPlus } from '@element-plus/icons-vue'
158
146
 
159
147
  export default {
160
- data() {
161
- let tableHeight = this.height
162
- tableHeight = tableHeight.substring(0, tableHeight.indexOf('px'))
163
- const myHeight = parseInt(tableHeight) + 30 + 'px'
164
- return {
165
- // 选中的用户序号
166
- singleUserIndex: null,
167
- selectedUser: null,
168
- myHeight,
169
- language: !window.$locale ? 'cn' : window.$locale,
170
- ElIconPlus,
171
- ElIconDelete,
172
- }
173
- },
174
- name: 'UserResult',
175
- props: {
176
- gridData: {
177
- type: Array,
178
- default: null,
179
- },
180
- containBranch: {
181
- type: Boolean,
182
- default: false,
183
- },
184
- multiple: {
185
- type: Boolean,
186
- default: false,
187
- },
188
- // 多选树时是否是查询结果列表,用于控制“操作”列按钮的显示
189
- isSearchResult: {
190
- type: Boolean,
191
- default: true,
192
- },
193
- height: {
194
- type: String,
195
- default: '300px',
196
- },
197
- selectResult: {
198
- type: Array,
199
- default: function () {
200
- return []
201
- },
202
- },
203
- },
204
- created() {
205
- },
206
- methods: {
207
- // 单选树时,点击行事件
208
- // rowClick(row, column, event) {
209
- // this.selectedUser = row
210
- // // this.$emit('rowClick', row, column, event)
211
- // },
212
- // 移除用户
213
- removeUser(index, row) {
214
- this.$emit( 'removeUser', index, row)
215
- },
216
- // 添加用户
217
- addUser(index, row) {
218
- this.$emit( 'addUser', index, row)
219
- },
220
- selectUser(selectVal) {
221
- // console.log('selectUser', selectVal)
222
- this.$emit( 'selectResult', this.gridData[selectVal])
223
- },
224
- rowClick(row, column, event) {
225
- if(!this.multiple){
226
- this.singleUserIndex = row.row_index
227
- this.$emit( 'selectResult', row)
228
- }
229
- },
230
- tableRowClassName({row, rowIndex}) {
231
- if(!this.multiple){
232
- row.row_index = rowIndex
233
- }
234
- },
235
- rowDblclick(row, column, event) {
236
- if (this.multiple) {
237
- this.$emit( 'addUser', null, row)
238
- } else {
239
- this.$emit( 'resultRowDblclick', row)
240
- }
241
- },
242
- isDisable(row) {
243
- if (this.selectResult) {
244
- const containUsers = this.selectResult.filter(this.filterDept(row))
245
- if (containUsers && containUsers.length > 0) {
246
- return true
247
- }
248
- }
249
- return false
250
- },
251
- // 判断用户是否存在的过滤器
252
- filterDept(queryDept) {
253
- return (dept) => {
254
- return dept.id === queryDept.id
255
- }
256
- },
257
- getDeptName(row) {
258
- let deptName = row.superiorDeptNameFullPath
259
- if (deptName) {
260
- return deptName
261
- }
262
- if (this.language && this.language !== 'cn') {
263
- deptName = row.mainDepartmentEnName
264
- }
265
- if (deptName) {
266
- return deptName
267
- }
268
- return row.mainDepartmentName
269
- }
270
- },
271
- emits: ['removeUser', 'addUser', 'selectResult', 'resultRowDblclick'],
148
+ data() {
149
+ let tableHeight = this.height
150
+ tableHeight = tableHeight.substring(0, tableHeight.indexOf('px'))
151
+ const myHeight = parseInt(tableHeight) + 30 + 'px'
152
+ return {
153
+ // 选中的用户序号
154
+ singleUserIndex: null,
155
+ selectedUser: null,
156
+ myHeight,
157
+ language: !window.$locale ? 'cn' : window.$locale,
158
+ ElIconPlus,
159
+ ElIconDelete
160
+ }
161
+ },
162
+ name: 'UserResult',
163
+ props: {
164
+ gridData: {
165
+ type: Array,
166
+ default: null
167
+ },
168
+ containBranch: {
169
+ type: Boolean,
170
+ default: false
171
+ },
172
+ multiple: {
173
+ type: Boolean,
174
+ default: false
175
+ },
176
+ // 多选树时是否是查询结果列表,用于控制“操作”列按钮的显示
177
+ isSearchResult: {
178
+ type: Boolean,
179
+ default: true
180
+ },
181
+ height: {
182
+ type: String,
183
+ default: '300px'
184
+ },
185
+ selectResult: {
186
+ type: Array,
187
+ default: function () {
188
+ return []
189
+ }
190
+ }
191
+ },
192
+ created() {},
193
+ methods: {
194
+ // 单选树时,点击行事件
195
+ // rowClick(row, column, event) {
196
+ // this.selectedUser = row
197
+ // // this.$emit('rowClick', row, column, event)
198
+ // },
199
+ // 移除用户
200
+ removeUser(index, row) {
201
+ this.$emit('removeUser', index, row)
202
+ },
203
+ // 添加用户
204
+ addUser(index, row) {
205
+ this.$emit('addUser', index, row)
206
+ },
207
+ selectUser(selectVal) {
208
+ // console.log('selectUser', selectVal)
209
+ this.$emit('selectResult', this.gridData[selectVal])
210
+ },
211
+ rowClick(row, column, event) {
212
+ if (!this.multiple) {
213
+ this.singleUserIndex = row.row_index
214
+ this.$emit('selectResult', row)
215
+ }
216
+ },
217
+ tableRowClassName({ row, rowIndex }) {
218
+ if (!this.multiple) {
219
+ row.row_index = rowIndex
220
+ }
221
+ },
222
+ rowDblclick(row, column, event) {
223
+ if (this.multiple) {
224
+ this.$emit('addUser', null, row)
225
+ } else {
226
+ this.$emit('resultRowDblclick', row)
227
+ }
228
+ },
229
+ isDisable(row) {
230
+ if (this.selectResult) {
231
+ const containUsers = this.selectResult.filter(this.filterDept(row))
232
+ if (containUsers && containUsers.length > 0) {
233
+ return true
234
+ }
235
+ }
236
+ return false
237
+ },
238
+ // 判断用户是否存在的过滤器
239
+ filterDept(queryDept) {
240
+ return (dept) => {
241
+ return dept.id === queryDept.id
242
+ }
243
+ },
244
+ getDeptName(row) {
245
+ let deptName = row.superiorDeptNameFullPath
246
+ if (deptName) {
247
+ return deptName
248
+ }
249
+ if (this.language && this.language !== 'cn') {
250
+ deptName = row.mainDepartmentEnName
251
+ }
252
+ if (deptName) {
253
+ return deptName
254
+ }
255
+ return row.mainDepartmentName
256
+ }
257
+ },
258
+ emits: ['removeUser', 'addUser', 'selectResult', 'resultRowDblclick']
272
259
  }
273
260
  </script>
274
261
 
275
262
  <style>
276
263
  .searchResult {
277
- color: red;
264
+ color: red;
278
265
  }
279
266
 
280
267
  .inline-select-custom {
281
- width: 100px;
268
+ width: 100px;
282
269
  }
283
270
 
284
271
  .inline-input-custom {
285
- width: 98%;
272
+ width: 98%;
286
273
  }
287
274
  </style>
@@ -1,3 +1,5 @@
1
+ import { getRelativeBaseUrl } from "../../../src/utils/common-util"
2
+
1
3
  const dynamicSourceSelectService = {
2
4
  findDynamicDataSourceByCode(dynamicSourceCode, entity, searchParam, additionalParameterStr, backendUrl) {
3
5
  let searchText
@@ -62,7 +64,8 @@ const dynamicSourceSelectService = {
62
64
  if (!backendUrl) {
63
65
  backendUrl = window.$vueApp.config.globalProperties.baseURL
64
66
  }
65
-
67
+ // 替换域名,内网、外网访问需要
68
+ backendUrl = getRelativeBaseUrl(backendUrl)
66
69
  return new Promise((resolve, reject) => {
67
70
  // this.$http
68
71
  // .post(
@@ -105,8 +108,10 @@ const dynamicSourceSelectService = {
105
108
  .then((result) => {
106
109
  if (result.backendUrl) {
107
110
  // result.backendUrl表示需要使用动态数据源所属的系统路径重新获得一次数据
111
+ // 替换域名,内网、外网访问需要
112
+ const resultBackendUrl = getRelativeBaseUrl(result.backendUrl)
108
113
  this.$http
109
- .post(result.backendUrl + '/common/dynamic-data-source/' + dynamicSourceCode, params, {
114
+ .post(resultBackendUrl + '/common/dynamic-data-source/' + dynamicSourceCode, params, {
110
115
  headers: { customSystem: result.systemCode }
111
116
  })
112
117
  .then((finallyResult) => {
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <div class="empty_center_area">
3
+ <div class="empty_notAvailable" :style="{ width: props.imageWidth, height: props.imageHeight }">
4
+ <span class="empty_notAvailable_text">
5
+ {{ props.emptyText ? props.emptyText : t('imatrixUIPromptMessage.NoContent') }}
6
+ </span>
7
+ </div>
8
+ </div>
9
+ </template>
10
+ <script lang="ts" setup>
11
+ import { defineProps } from 'vue'
12
+ import { useI18n } from 'vue-i18n'
13
+ const { t } = useI18n()
14
+ const props = defineProps({
15
+ imageHeight: {
16
+ type: String,
17
+ default: '120px'
18
+ },
19
+ imageWidth: {
20
+ type: String,
21
+ default: '120px'
22
+ },
23
+ emptyText: {
24
+ type: String,
25
+ default: ''
26
+ }
27
+ })
28
+ </script>