agilebuilder-ui 1.0.621 → 1.0.962

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 (120) hide show
  1. package/lib/super-ui.css +1 -1
  2. package/lib/super-ui.js +115880 -110424
  3. package/lib/super-ui.umd.cjs +103 -95
  4. package/package.json +6 -3
  5. package/packages/department-tree/src/department-tree.vue +27 -10
  6. package/packages/department-tree-inline/src/department-tree-service.js +20 -41
  7. package/packages/department-tree-mobile/src/department-tree-app.vue +6 -6
  8. package/packages/department-tree-mobile/src/department-tree-inline-app.vue +15 -15
  9. package/packages/department-user-tree/src/department-user-tree.vue +17 -2
  10. package/packages/department-user-tree-inline/src/department-user-multiple-tree-inline.vue +61 -26
  11. package/packages/department-user-tree-inline/src/department-user-single-tree-inline.vue +64 -22
  12. package/packages/department-user-tree-inline/src/department-user-tree-single-service.js +0 -6
  13. package/packages/department-user-tree-inline/src/group-user/group-input.vue +162 -0
  14. package/packages/department-user-tree-inline/src/group-user/group-list.vue +99 -0
  15. package/packages/department-user-tree-inline/src/group-user/group-user.vue +42 -0
  16. package/packages/department-user-tree-inline/src/group-user-multiple-tree.vue +304 -0
  17. package/packages/department-user-tree-inline/src/group-user-single-tree.vue +155 -0
  18. package/packages/department-user-tree-inline/src/group-user-tree-service.js +74 -0
  19. package/packages/department-user-tree-inline/src/search-result.vue +34 -36
  20. package/packages/department-user-tree-mobile/src/department-user-tree-app.vue +6 -6
  21. package/packages/department-user-tree-mobile/src/department-user-tree-inline-app.vue +17 -19
  22. package/packages/department-user-tree-mobile/src/department-user-tree-service.ts +0 -11
  23. package/packages/dynamic-source-select/src/dynamic-source-select.vue +795 -799
  24. package/packages/dynamic-source-select/src/events.js +11 -16
  25. package/packages/fs-upload-list/src/fs-upload-list.vue +183 -122
  26. package/packages/fs-upload-new/src/file-upload-mobile/file-upload-app.vue +246 -0
  27. package/packages/fs-upload-new/src/file-upload-mobile/file-upload-browser.vue +480 -0
  28. package/packages/fs-upload-new/src/file-upload-mobile/file-upload-component.vue +127 -0
  29. package/packages/fs-upload-new/src/file-upload-mobile/file-upload-input.vue +246 -0
  30. package/packages/fs-upload-new/src/file-upload-mobile/file-upload.vue +255 -0
  31. package/packages/fs-upload-new/src/fs-button-upload.vue +10 -13
  32. package/packages/fs-upload-new/src/fs-drag-upload.vue +4 -8
  33. package/packages/fs-upload-new/src/fs-preview-new.vue +103 -36
  34. package/packages/fs-upload-new/src/fs-upload-new.vue +160 -13
  35. package/packages/index.js +11 -2
  36. package/packages/organization-input/src/organization-input.vue +493 -539
  37. package/packages/plugins/export-data-new.js +34 -1
  38. package/packages/rich-editor/index.vue +29 -0
  39. package/packages/row-form/index.js +7 -0
  40. package/packages/row-form/index.vue +211 -0
  41. package/packages/scan-code-input/src/scan-code-input.vue +136 -104
  42. package/packages/scan-code-input-browser/index.js +6 -0
  43. package/packages/{scan-code-input/src/scan-code-input-colse.vue → scan-code-input-browser/src/scan-code-input.vue} +1 -28
  44. package/packages/secret-info/index.vue +2 -2
  45. package/packages/super-grid/src/apis.js +158 -10
  46. package/packages/super-grid/src/components/grid-icon.vue +7 -14
  47. package/packages/super-grid/src/components/hyperlinks.vue +24 -8
  48. package/packages/super-grid/src/custom-formatter.js +312 -380
  49. package/packages/super-grid/src/dynamic-input.vue +346 -43
  50. package/packages/super-grid/src/formValidatorUtil.js +79 -15
  51. package/packages/super-grid/src/group-column.vue +5 -0
  52. package/packages/super-grid/src/normal-column-content.vue +1056 -0
  53. package/packages/super-grid/src/normal-column.vue +57 -740
  54. package/packages/super-grid/src/row-detail.vue +50 -0
  55. package/packages/super-grid/src/row-operation.vue +19 -10
  56. package/packages/super-grid/src/scan-util.ts +243 -0
  57. package/packages/super-grid/src/search-button.vue +18 -14
  58. package/packages/super-grid/src/search-form-advancedQuery.vue +9 -2
  59. package/packages/super-grid/src/search-form-item.vue +10 -3
  60. package/packages/super-grid/src/search-form-mobile.vue +250 -0
  61. package/packages/super-grid/src/search-form.vue +159 -82
  62. package/packages/super-grid/src/super-grid-service.js +51 -6
  63. package/packages/super-grid/src/super-grid.vue +657 -761
  64. package/packages/super-grid/src/utils.js +126 -170
  65. package/packages/super-nine-grid/src/super-nine-grid.vue +1032 -1141
  66. package/packages/workflow-button/src/workflow-button.vue +6 -1
  67. package/packages/workgroup-tree/src/workgroup-tree.vue +31 -0
  68. package/packages/workgroup-tree-inline/src/workgroup-tree-inline.vue +28 -0
  69. package/packages/workgroup-tree-inline/src/workgroup-tree-service.js +26 -0
  70. package/packages/workgroup-tree-mobile/index.js +6 -0
  71. package/packages/workgroup-tree-mobile/src/dept-result.vue +51 -0
  72. package/packages/workgroup-tree-mobile/src/workgroup-tree-app.vue +120 -0
  73. package/packages/workgroup-tree-mobile/src/workgroup-tree-inline-app.vue +375 -0
  74. package/packages/workgroup-tree-mobile/src/workgroup-tree-service.ts +62 -0
  75. package/packages/workgroup-user-tree/src/workgroup-user-tree.vue +15 -0
  76. package/packages/workgroup-user-tree-inline/src/workgroup-tree-inline-service.js +27 -0
  77. package/packages/workgroup-user-tree-inline/src/workgroup-user-tree-inline.vue +11 -0
  78. package/packages/workgroup-user-tree-mobile/index.js +6 -0
  79. package/packages/workgroup-user-tree-mobile/src/dept-path.vue +36 -0
  80. package/packages/workgroup-user-tree-mobile/src/dept-result.vue +58 -0
  81. package/packages/workgroup-user-tree-mobile/src/workgroup-user-tree-app.vue +119 -0
  82. package/packages/workgroup-user-tree-mobile/src/workgroup-user-tree-inline-app.vue +394 -0
  83. package/packages/workgroup-user-tree-mobile/src/workgroup-user-tree-service.ts +41 -0
  84. package/src/api/sso-service.js +44 -15
  85. package/src/directives/permission/permission.js +4 -3
  86. package/src/i18n/langs/cn.js +19 -3
  87. package/src/i18n/langs/en.js +18 -2
  88. package/src/permission.js +114 -122
  89. package/src/store/modules/user.js +32 -33
  90. package/src/styles/index.scss +1 -0
  91. package/src/styles/table.scss +12 -0
  92. package/src/styles/theme/dark-blue/button.scss +2 -2
  93. package/src/styles/theme/dark-blue/index.scss +1 -1
  94. package/src/styles/theme/dark-blue/sidebar.scss +10 -0
  95. package/src/styles/theme/dark-blue/table.scss +8 -52
  96. package/src/styles/theme/green/button.scss +2 -2
  97. package/src/styles/theme/green/green.scss +1 -1
  98. package/src/styles/theme/green/index.scss +1 -1
  99. package/src/styles/theme/green/sidebar.scss +20 -0
  100. package/src/styles/theme/green/table.scss +7 -51
  101. package/src/styles/theme/ocean-blue/button.scss +2 -2
  102. package/src/styles/theme/ocean-blue/index.scss +1 -1
  103. package/src/styles/theme/ocean-blue/ocean-blue.scss +1 -1
  104. package/src/styles/theme/ocean-blue/sidebar.scss +10 -0
  105. package/src/styles/theme/ocean-blue/table.scss +7 -52
  106. package/src/utils/auth.js +23 -3
  107. package/src/utils/calculator/calculator-factory.js +4 -4
  108. package/src/utils/calculator/calculator-util.js +14 -0
  109. package/src/utils/common-util.js +270 -124
  110. package/src/utils/i18n-util.js +145 -0
  111. package/src/utils/jump-page-utils.js +245 -314
  112. package/src/utils/permission.js +7 -1
  113. package/src/utils/permissionAuth.js +155 -37
  114. package/src/utils/request.js +10 -11
  115. package/src/utils/util.js +154 -205
  116. package/src/views/layout/EmptyLayout.vue +1 -1
  117. package/src/views/layout/components/Menubar/Item.vue +27 -4
  118. package/src/views/layout/components/Menubar/SidebarItem.vue +7 -3
  119. package/src/views/layout/components/Menubar/index.vue +14 -2
  120. package/src/views/layout/tab-content-index.vue +1 -1
@@ -87,41 +87,100 @@ function getValidator(listCode) {
87
87
  }
88
88
  const gridParams = store.get(listCode)
89
89
  const editFieldInfos = gridParams.columns
90
+ const customRules = gridParams.options.customRules
90
91
  const rules = {}
91
92
  if (editFieldInfos) {
92
93
  editFieldInfos.forEach((editField) => {
93
- setRules(rules, editField, listCode)
94
+ setRules(rules, editField, listCode, customRules)
94
95
  })
95
96
  }
96
97
  // console.log('rules', rules)
97
98
  return rules
98
99
  }
99
100
 
100
- function setRules(rules, editField, listCode) {
101
+ function setRules(rules, editField, listCode, customRules) {
101
102
  const prop = editField.prop
102
103
  if (editField.groupHeader && editField.children && editField.children.length > 0) {
103
104
  // 组合表头时或者动态列,递归设置规则,
104
105
  editField.children.forEach((child) => {
105
- setRules(rules, child, listCode)
106
+ setRules(rules, child, listCode, customRules)
106
107
  })
107
108
  } else {
108
- if (prop && editField.validations && !isDisableEdit(prop, listCode)) {
109
- const validations = JSON.parse(editField.validations)
110
- validations.forEach((item) => {
111
- if (item.pattern) {
112
- // 后台传递的是正则字符串,不能直接使用
113
- item.pattern = new RegExp(item.pattern)
109
+ if(prop) {
110
+ // 获得当前列的自定义校验规则
111
+ const columnCustomRules = getColumnCustomRules(editField, customRules)
112
+ if ((columnCustomRules || editField.validations) && !isDisableEdit(prop, listCode)) {
113
+ let validations = editField.validations? JSON.parse(editField.validations): []
114
+ validations.forEach((item) => {
115
+ if (item.pattern) {
116
+ // 后台传递的是正则字符串,不能直接使用
117
+ item.pattern = new RegExp(item.pattern)
118
+ }
119
+ })
120
+ validations = validations.concat(columnCustomRules)
121
+ if (prop.indexOf('.') > 0) {
122
+ setObjectPropRule(editField, rules, validations)
123
+ } else {
124
+ if (validations && validations.length > 0) {
125
+ rules[prop] = [...validations]
126
+ }
114
127
  }
128
+ }
129
+ }
130
+ }
131
+ }
132
+ /**
133
+ * 获得当前列的自定义校验规则
134
+ * @param {*} editField
135
+ * @param {*} customRules
136
+ * @returns
137
+ */
138
+ function getColumnCustomRules(editField, customRules) {
139
+ const prop = editField.prop
140
+ let columnCustomRules = []
141
+ let requiredRule
142
+ const allFieldsName = '_all_fields'
143
+ let columnRule
144
+ if(customRules){
145
+ columnRule = customRules[prop]? customRules[prop]: customRules[allFieldsName]
146
+ }
147
+ if(columnRule && (columnRule.required || columnRule.rules)) {
148
+ // 表示配置的必填或其它验证规则时
149
+ const mustFillMsg = getI18n().t('imatrixUIMessage.mustFill', {
150
+ label: editField.label
151
+ })
152
+ columnCustomRules = columnRule.rules? JSON.parse(JSON.stringify(columnRule.rules)): null
153
+ if(columnCustomRules && columnCustomRules.length > 0){
154
+ // 获得必填验证规则
155
+ const requiredRules = columnCustomRules.filter(item=>item.required)
156
+ if(requiredRules && requiredRules.length > 0){
157
+ requiredRule = requiredRules[0]
158
+ }
159
+ }
160
+ if(columnRule.name === allFieldsName && columnCustomRules){
161
+ // 所有字段_all_fields的验证的message更新,补充“label”
162
+ columnCustomRules.forEach(item=>{
163
+ item.message = editField.label + item.message
115
164
  })
116
- if (prop.indexOf('.') > 0) {
117
- setObjectPropRule(editField, rules, validations)
118
- } else {
119
- if (validations && validations.length > 0) {
120
- rules[prop] = [...validations]
121
- }
165
+ }
166
+ if(!requiredRule && columnRule.required) {
167
+ // 当rules中没有配置必填验证,但是有required为true时,则封装必填验证规则,到集合中
168
+ if(!columnCustomRules){
169
+ columnCustomRules = []
170
+ }
171
+ requiredRule = {
172
+ required: true,
173
+ message: mustFillMsg,
174
+ trigger: 'blur'
122
175
  }
176
+ columnCustomRules.push(requiredRule)
177
+ }
178
+ if(requiredRule && !requiredRule.message) {
179
+ // 如果必填验证规则中message为空时,封装默认的必填验证规则,'_all_fields'可能会为空
180
+ requiredRule.message = mustFillMsg
123
181
  }
124
182
  }
183
+ return columnCustomRules
125
184
  }
126
185
  /**
127
186
  * 验证实体
@@ -161,6 +220,11 @@ function validatorEntity(
161
220
  }
162
221
 
163
222
  const gridParams = store.get(listCode)
223
+ Object.keys(entity).forEach(function(key) {
224
+ if(entity[key] && typeof entity[key] === 'string') {
225
+ entity[key] = entity[key].trim()
226
+ }
227
+ })
164
228
  validator.validate(
165
229
  entity,
166
230
  {
@@ -20,6 +20,7 @@
20
20
  @refresPortsData="refresPortsData"
21
21
  @refresMainTableFields="refresMainTableFields"
22
22
  @prohibit-to-edit="prohibitToEdit"
23
+ @open-page="openPageDialog"
23
24
  />
24
25
  </template>
25
26
  <template v-else>
@@ -33,6 +34,7 @@
33
34
  :grid-data="gridData"
34
35
  :page-grid-data="gridData"
35
36
  @prohibit-to-edit="prohibitToEdit"
37
+ @open-page="openPageDialog"
36
38
  />
37
39
  </template>
38
40
  </el-table-column>
@@ -108,6 +110,9 @@ export default {
108
110
  },
109
111
  prohibitToEdit(entity) {
110
112
  this.$emit('prohibit-to-edit', entity)
113
+ },
114
+ openPageDialog(openPageParams) {
115
+ this.$emit('open-page', openPageParams)
111
116
  }
112
117
  }
113
118
  }