agilebuilder-ui 1.1.45-ai2 → 1.1.46-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.
Files changed (32) hide show
  1. package/lib/{401-beb8c7d3.js → 401-17c1ba58.js} +1 -1
  2. package/lib/{404-453588b3.js → 404-0bb0c21e.js} +1 -1
  3. package/lib/{iframe-page-11560b58.js → iframe-page-200e9f78.js} +1 -1
  4. package/lib/{index-bc79f11f.js → index-fbc950ca.js} +32520 -32816
  5. package/lib/super-ui.css +1 -1
  6. package/lib/super-ui.js +1 -1
  7. package/lib/super-ui.umd.cjs +124 -117
  8. package/lib/{tab-content-iframe-index-2cadaa46.js → tab-content-iframe-index-23a2150d.js} +1 -1
  9. package/lib/{tab-content-index-3455e8d6.js → tab-content-index-55c47eb2.js} +1 -1
  10. package/lib/{tache-subprocess-history-cfb4e2eb.js → tache-subprocess-history-9ffc5f04.js} +1 -1
  11. package/package.json +1 -1
  12. package/packages/chat-embed/src/index.vue +8 -3
  13. package/packages/fs-preview/src/fs-preview.vue +5 -1
  14. package/packages/fs-upload-list/src/fs-upload-list.vue +6 -1
  15. package/packages/fs-upload-new/src/fs-button-upload.vue +8 -1
  16. package/packages/fs-upload-new/src/fs-drag-upload.vue +8 -1
  17. package/packages/fs-upload-new/src/fs-upload-new.vue +17 -0
  18. package/packages/super-grid/src/apis.js +11 -0
  19. package/packages/super-grid/src/custom-formatter.js +15 -2
  20. package/packages/super-grid/src/dynamic-input.vue +46 -4
  21. package/packages/super-grid/src/formatter.js +5 -1
  22. package/packages/super-grid/src/normal-column-content.vue +30 -37
  23. package/packages/super-grid/src/normal-column.vue +8 -1
  24. package/packages/super-grid/src/row-operation.vue +13 -9
  25. package/packages/super-grid/src/super-grid.vue +7 -7
  26. package/src/i18n/langs/cn.js +3 -1
  27. package/src/i18n/langs/en.js +3 -1
  28. package/src/styles/element-ui.scss +8 -7
  29. package/src/styles/index.scss +19 -0
  30. package/src/utils/common-util.js +56 -8
  31. package/src/utils/insert_css.js +14 -1
  32. package/src/utils/jump-page-utils.js +8 -4
@@ -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
@@ -1659,16 +1659,16 @@ export default {
1659
1659
  }
1660
1660
  return isCanRefreshTableData
1661
1661
  },
1662
- getSubTableGridData(subTableData) {
1662
+ getSubTableGridData(subTableData, currentPage) {
1663
1663
  let gridData = subTableData
1664
1664
  if (this.isSubTableShowPage === true) {
1665
1665
  if (subTableData && subTableData.length > 0) {
1666
1666
  // const subTableData = JSON.parse(JSON.stringify(this.subTableData))
1667
1667
  this.pagination.total = subTableData.length
1668
1668
  // 当前是第几页
1669
- let currentPage = this.currentPage
1670
- if (currentPage === undefined || currentPage === null) {
1671
- currentPage = 1
1669
+ let newCurrentPage = currentPage!== undefined && currentPage !== null ?currentPage: this.currentPage
1670
+ if (newCurrentPage === undefined || newCurrentPage === null) {
1671
+ newCurrentPage = 1
1672
1672
  }
1673
1673
  // 每页显示多少条记录
1674
1674
  let pageSize = this.pageSize
@@ -1679,7 +1679,7 @@ export default {
1679
1679
  pageSize = 20
1680
1680
  }
1681
1681
  // 当前页的第一条记录的数组下标
1682
- const startRowIndex = (currentPage - 1) * pageSize
1682
+ const startRowIndex = (newCurrentPage - 1) * pageSize
1683
1683
  // 当前页的最后一条记录的数组下标
1684
1684
  let lastRowIndex = startRowIndex + pageSize
1685
1685
  if (subTableData.length > startRowIndex) {
@@ -2390,13 +2390,13 @@ export default {
2390
2390
  this.changePage()
2391
2391
  }
2392
2392
  },
2393
- changePage() {
2393
+ changePage(currentPage) {
2394
2394
  console.log('点击了分页')
2395
2395
  // 翻页操作会导致筛选项发生变化,所以需要清空已有的
2396
2396
  this.$refs.superGrid?.clearFilter()
2397
2397
  // TODO: 把当前页数、每页条数、查询条件、排序信息传回后台
2398
2398
  if (this.isSubTableShowPage) {
2399
- this.gridData = this.getSubTableGridData(this.subTableData)
2399
+ this.gridData = this.getSubTableGridData(this.subTableData, currentPage)
2400
2400
  const gridParams = store.get(this.code)
2401
2401
  gridParams.gridData = this.gridData
2402
2402
  // 完成深拷贝,复制一份对象,行编辑时使用
@@ -284,7 +284,9 @@ const cn = {
284
284
  theNumberOfUploadsExceedsTheLimitTheLimitIs: '上传数量超过限制,限制数量为',
285
285
  image: '图片',
286
286
  video: '视频',
287
- updateSuccess: '更新成功'
287
+ updateSuccess: '更新成功',
288
+ more: '更多',
289
+ uploadFailed: '上传失败!'
288
290
  },
289
291
  messageVideo: {
290
292
  attemptingToIdentify: '正在尝试识别....',
@@ -283,7 +283,9 @@ const en = {
283
283
  theNumberOfUploadsExceedsTheLimitTheLimitIs: 'The number of uploads exceeds the limit. The limit is',
284
284
  image: 'Image',
285
285
  video: 'Video',
286
- updateSuccess: 'Update success'
286
+ updateSuccess: 'Update success',
287
+ more: 'More',
288
+ uploadFailed: '上传失败!'
287
289
  },
288
290
  messageVideo: {
289
291
  attemptingToIdentify: 'Attempting to identify',
@@ -9,13 +9,14 @@
9
9
  display: none;
10
10
  }
11
11
 
12
- //暂时性解决diolag 问题 https://github.com/ElemeFE/element/issues/2461
13
- .el-dialog {
14
- transform: none;
15
- left: 0;
16
- position: relative;
17
- margin: 0 auto;
18
- }
12
+ //暂时性解决diolag 问题 https://github.com/ElemeFE/element/issues/2461 Dialog内select tree等组件在点击箭头时有虚晃
13
+ // 去掉这个配置是因为margin: 0 auto;影响弹框位置,紧贴浏览器顶部,没有间距。例如:权限系统/授权管理/分支字段权限管理/新建按钮弹框
14
+ // .el-dialog {
15
+ // transform: none;
16
+ // left: 0;
17
+ // position: relative;
18
+ // margin: 0 auto;
19
+ // }
19
20
 
20
21
  //element ui upload
21
22
  .upload-container {
@@ -303,4 +303,23 @@ body .el-table colgroup.gutter {
303
303
 
304
304
  .dec-page-main {
305
305
  padding: var(--dec-page-main-padding, 15px);
306
+ }
307
+
308
+ // 必填背景色
309
+ .required_bg {
310
+ background-color: #fff3e0 !important;
311
+ border-left: 4px solid #ff9800 !important;
312
+ padding: 10px;
313
+ display: block;
314
+ }
315
+
316
+ // 必填时右上角标样式
317
+ .required-corner::after {
318
+ content: "*";
319
+ color: #e74c3c;
320
+ font-size: 18px;
321
+ font-weight: bold;
322
+ position: absolute;
323
+ top: 3px;
324
+ right: 5px;
306
325
  }
@@ -231,8 +231,12 @@ export function isPlateSys(systemCode) {
231
231
  export function getServerConfigUtil(http) {
232
232
  return new Promise((resolve, reject) => {
233
233
  let timestamp = '1'
234
- if(__BUILD_TIME__) {
235
- timestamp = __BUILD_TIME__
234
+ try {
235
+ if(__BUILD_TIME__) {
236
+ timestamp = __BUILD_TIME__
237
+ }
238
+ } catch (error) {
239
+ console.log('__BUILD_TIME__ not define')
236
240
  }
237
241
  http.get('./server-config.json?t='+timestamp).then((result) => {
238
242
  const config = result
@@ -247,16 +251,60 @@ export function getServerConfigUtil(http) {
247
251
  )
248
252
  localStorage.setItem('_baseAPI_', window.$vueApp.config.globalProperties.baseAPI)
249
253
  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
- }
254
+ // 插入图标css样式文件
255
+ insertFontIconCss(config)
256
+ // 第3方集成js
257
+ insertThirdLoginJs(config)
256
258
  resolve()
257
259
  })
258
260
  })
259
261
  }
262
+
263
+ export function insertFontIconCss(config){
264
+ if(!window.insertCssFile){
265
+ return
266
+ }
267
+ if(!config){
268
+ config = window.$vueApp.config.globalProperties
269
+ }
270
+ let timestamp = '1'
271
+ try {
272
+ if(__BUILD_TIME__) {
273
+ timestamp = __BUILD_TIME__
274
+ }
275
+ } catch (error) {
276
+ console.log('__BUILD_TIME__ not define')
277
+ }
278
+ if (config.fontIconAddress && window.insertCssFile) {
279
+ window.insertCssFile(`${config.fontIconAddress}/iconfont.css?t=${timestamp}`)
280
+ }
281
+ if (config.fontIconAddress && window.insertCssFile) {
282
+ window.insertCssFile(`${config.fontIconAddress}-color/iconfont.css?t=${timestamp}`)
283
+ }
284
+ }
285
+
286
+ export function insertThirdLoginJs(config){
287
+ if(!window.insertJsFile ){
288
+ return
289
+ }
290
+ if(!config){
291
+ config = window.$vueApp.config.globalProperties
292
+ }
293
+ if(!config || (config.systemCode !== 'portal' && config.systemCode !== 'devp')){
294
+ return
295
+ }
296
+ // 只有portal和devp需要动态添加这些js
297
+ // userName,dingtalk,feishu,qiwei
298
+ if (!config.loginMethod || config.loginMethod.indexOf('dingtalk')>=0) {
299
+ window.insertJsFile(`https://g.alicdn.com/dingding/h5-dingtalk-login/0.21.0/ddlogin.js`)
300
+ }
301
+ if (!config.loginMethod || config.loginMethod.indexOf('feishu')>=0) {
302
+ window.insertJsFile(`https://lf-package-cn.feishucdn.com/obj/feishu-static/lark/passport/qrcode/LarkSSOSDKWebQRCode-1.0.3.js`)
303
+ }
304
+ if (!config.loginMethod || config.loginMethod.indexOf('qiwei')>=0) {
305
+ window.insertJsFile(`https://wwcdn.weixin.qq.com/node/open/js/wecom-jssdk-2.3.1.js`)
306
+ }
307
+ }
260
308
  /**
261
309
  * postmessage跨域传message时获得orign路径使用
262
310
  * @returns orign路径
@@ -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
  }