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
@@ -18,7 +18,7 @@
18
18
  :key="buttonIndex"
19
19
  v-permission="button.permission"
20
20
  :class="button.code ? button.code : ''"
21
- :disabled="preventReclick"
21
+ :disabled="disabled?disabled:preventReclick"
22
22
  :type="button.type"
23
23
 
24
24
  @click="button.clickFun"
@@ -60,6 +60,11 @@ export default {
60
60
  type: String,
61
61
  default: null,
62
62
  },
63
+ // 是否禁用按钮组所有按钮
64
+ disabled: {
65
+ type: Boolean,
66
+ default: false
67
+ },
63
68
  },
64
69
  data() {
65
70
  const buttonsPermission = this.getButtonsPermission()
@@ -1,6 +1,17 @@
1
1
  <template>
2
2
  <div>
3
+ <WorkgroupMobileTree
4
+ v-if="isMobile"
5
+ ref="workgroupTree"
6
+ :branch-info="branchInfo"
7
+ :multiple="multiple"
8
+ :search-field="searchField"
9
+ :select-workgroup-info="selectWorkgroupInfo"
10
+ :separator="separator"
11
+ @close="result"
12
+ />
3
13
  <el-dialog
14
+ v-else
4
15
  :close-on-click-modal="false"
5
16
  :title="myTitle"
6
17
  :width="multiple ? '60%' : '40%'"
@@ -35,11 +46,14 @@
35
46
  <script>
36
47
  import {$emit} from '../../utils/gogocodeTransfer'
37
48
  import InlineWorkgroupTree from '../../workgroup-tree-inline/src/workgroup-tree-inline.vue'
49
+ import WorkgroupMobileTree from '../../workgroup-tree-mobile/src/workgroup-tree-app.vue'
50
+ import {isMobileBrowser} from '../../../src/utils/common-util'
38
51
 
39
52
  export default {
40
53
  name: 'WorkgroupTree',
41
54
  components: {
42
55
  InlineWorkgroupTree,
56
+ WorkgroupMobileTree
43
57
  },
44
58
  props: {
45
59
  // 是否是多选树,默认是true
@@ -62,14 +76,31 @@ export default {
62
76
  type: String,
63
77
  default: '60%',
64
78
  },
79
+ // 多选部门树时,已选择部门id或部门名称或编码集合,多个之间以逗号隔开
80
+ selectWorkgroupInfo: {
81
+ type: [String, Number],
82
+ default: null
83
+ },
84
+ // 移除部门时,部门属性名称:id、name、code,默认是id
85
+ searchField: {
86
+ type: String,
87
+ default: 'code',
88
+ },
89
+ // 多选树时结果之间的分隔符,默认是逗号分隔
90
+ separator: {
91
+ type: String,
92
+ default: ','
93
+ }
65
94
  },
66
95
  data() {
67
96
  let myTitle = this.$t('imatrixUIMessage.pleaseSelectATeam')
68
97
  if (this.title) {
69
98
  myTitle = this.title
70
99
  }
100
+ const isMobile = isMobileBrowser()
71
101
  return {
72
102
  myTitle,
103
+ isMobile
73
104
  }
74
105
  },
75
106
  methods: {
@@ -163,6 +163,21 @@ export default {
163
163
  type: Array,
164
164
  default: null,
165
165
  },
166
+ // 多选工作组树时,已选择工作组id或工作组名称或工作组编码集合,多个之间以逗号隔开
167
+ selectGroupInfo: {
168
+ type: [String, Number],
169
+ default: null,
170
+ },
171
+ // 工作组属性名称:id、name、code,默认是id
172
+ searchField: {
173
+ type: String,
174
+ default: 'code',
175
+ },
176
+ // 多选树时结果之间的分隔符,默认是逗号分隔
177
+ separator: {
178
+ type: String,
179
+ default: ',',
180
+ }
166
181
  },
167
182
  computed: {},
168
183
  watch: {
@@ -174,6 +189,19 @@ export default {
174
189
  }
175
190
  },
176
191
  },
192
+ created() {
193
+ if(this.multiple){
194
+ this.initSelectGroups(
195
+ this.searchField,
196
+ this.selectGroupInfo,
197
+ this.separator
198
+ ).then((selectGroups) => {
199
+ if (selectGroups) {
200
+ this.selectResult = selectGroups
201
+ }
202
+ })
203
+ }
204
+ },
177
205
  mounted() {
178
206
  var searchWorkgroup = localStorage.getObject(this.searchStoreKey)
179
207
  if (searchWorkgroup) {
@@ -89,5 +89,31 @@ const workgroupTreeService = {
89
89
  }
90
90
  })
91
91
  },
92
+ initSelectGroups(searchField, selectGroupInfo, separator) {
93
+ return new Promise((resolve, reject) => {
94
+ if (!searchField) {
95
+ resolve([])
96
+ } else if (!selectGroupInfo) {
97
+ resolve([])
98
+ } else {
99
+ this.$http
100
+ .get(
101
+ window.$vueApp.config.globalProperties.baseAPI +
102
+ '/component/organization-trees/select-workgroups?searchField=' +
103
+ searchField +
104
+ '&selectWorkgroupInfo=' +
105
+ selectGroupInfo +
106
+ '&separator=' +
107
+ separator
108
+ )
109
+ .then((groups) => {
110
+ resolve(groups)
111
+ })
112
+ .catch((error) => {
113
+ reject(error)
114
+ })
115
+ }
116
+ })
117
+ }
92
118
  }
93
119
  export default workgroupTreeService
@@ -0,0 +1,6 @@
1
+ import WorkgroupTreeMobile from './src/workgroup-tree-app.vue'
2
+ WorkgroupTreeMobile.install = function (Vue) {
3
+ Vue.component('WorkgroupTreeMobile', WorkgroupTreeMobile)
4
+ }
5
+
6
+ export default WorkgroupTreeMobile
@@ -0,0 +1,51 @@
1
+
2
+ <template>
3
+ <el-drawer v-model="isShowForm" direction="btt" size="80%" class="organization-tree">
4
+ <template #header>
5
+ <div style="text-align: center;">
6
+ {{$t('departmentTreeInline.selectResultTitle')}}
7
+ </div>
8
+ </template>
9
+ <template #default>
10
+ <el-tree
11
+ ref="orgResultTreeRef"
12
+ :data="selectDepts"
13
+ node-key="nodeId"
14
+ check-on-click-node
15
+ >
16
+ <template #default="{ node, data }">
17
+ <div class="item-row">
18
+ <div class="item-label">{{ data.name }}</div>
19
+ <div class="item-side" @click="removeDept(data)">
20
+ <el-icon><DeleteFilled /></el-icon>
21
+ </div>
22
+ </div>
23
+ </template>
24
+ </el-tree>
25
+ </template>
26
+ </el-drawer>
27
+ </template>
28
+ <script setup lang="ts">
29
+ import {
30
+ DeleteFilled
31
+ } from '@element-plus/icons-vue'
32
+ import { reactive,ref,onMounted, defineEmits } from 'vue'
33
+ const props = defineProps({
34
+ selectDepts: {
35
+ type: Array<any>,
36
+ default: null
37
+ }
38
+ })
39
+ let isShowForm = ref(false)
40
+ const emits = defineEmits(['removeDept'])
41
+ function removeDept (item) {
42
+ emits('removeDept', item )
43
+ }
44
+
45
+ function showResult() {
46
+ isShowForm.value = true
47
+ }
48
+
49
+ defineExpose({showResult})
50
+
51
+ </script>
@@ -0,0 +1,120 @@
1
+ <template>
2
+ <el-drawer v-model="isShowForm" :close-on-click-modal="false" :close-on-press-escape="false" direction="btt" size="100%" class="organization-tree" @close="closeTree()">
3
+ <template #header>
4
+ <div style="text-align: center;">
5
+ {{$t('imatrixUIMessage.pleaseSelect')}}
6
+ </div>
7
+ </template>
8
+ <template #default>
9
+ <InlineWorkgroupTreeApp v-if="isShowForm" :multiple="multiple" :branchInfo="branchInfo" :selectWorkgroupInfo="selectWorkgroupInfo" :searchField="searchField" :separator="separator" @close="closeTree"/>
10
+ </template>
11
+ </el-drawer>
12
+
13
+ </template>
14
+
15
+ <script lang="ts">
16
+ export default {
17
+ name: 'DepartmentTreeMobile'
18
+ }
19
+ </script>
20
+ <script setup lang="ts">
21
+ import InlineWorkgroupTreeApp from './workgroup-tree-inline-app.vue'
22
+ import { reactive,ref,onMounted, defineEmits } from 'vue'
23
+ const props = defineProps<{
24
+ // 是否是多选树,默认是true
25
+ multiple: {
26
+ type: Boolean,
27
+ default: true,
28
+ },
29
+ // 显示指定部门节点及其子节点,不传该属性,表示显示整个组织结构树
30
+ branchInfo: {
31
+ type: Array<any>,
32
+ default: null,
33
+ },
34
+ // 多选部门树时,已选择部门id或部门名称或编码集合,多个之间以逗号隔开
35
+ selectWorkgroupInfo: {
36
+ type: [String, Number],
37
+ default: null,
38
+ },
39
+ // 移除部门时,部门属性名称:id、name、code,默认是id
40
+ searchField: {
41
+ type: String,
42
+ default: 'code',
43
+ },
44
+ // 多选树时结果之间的分隔符,默认是逗号分隔
45
+ separator: {
46
+ type: String,
47
+ default: ','
48
+ }
49
+ }>()
50
+ const emits = defineEmits(['close'])
51
+ let isShowForm = ref(true)
52
+ // function showTree() {
53
+ // isShowForm.value = true
54
+ // }
55
+ function closeTree(selectNodeInfo) {
56
+ emits('close', selectNodeInfo)
57
+ isShowForm.value = false
58
+ }
59
+ function selectDepartment() {
60
+ // this.$refs.inlineDeparmentTree.selectDepartment()
61
+ }
62
+ // defineExpose({showTree})
63
+ </script>
64
+ <style>
65
+ .organization-tree, .organization-tree .el-checkbox__label,.organization-tree .el-breadcrumb__inner,.organization-tree .el-tree {
66
+ font-size: 17px;
67
+ font-weight: 700;
68
+ }
69
+
70
+ .organization-tree .el-breadcrumb__item:last-child .el-breadcrumb__inner, .el-breadcrumb__item:last-child .el-breadcrumb__inner a, .el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover, .el-breadcrumb__item:last-child .el-breadcrumb__inner:hover {
71
+ font-size: 17px;
72
+ font-weight: 700;
73
+ }
74
+ .organization-tree .el-card__body {
75
+ padding-top: 10px;
76
+ }
77
+ .organization-tree .card-content {
78
+ margin-top: 10px;
79
+ }
80
+ .organization-tree .item-row-all {
81
+ margin-bottom: 10px;
82
+ }
83
+ .organization-tree .item-row {
84
+ display: flex;
85
+ width: 100%;
86
+ }
87
+ .organization-tree .item-label {
88
+ flex: 0 0 90%;
89
+ text-align: left;
90
+ }
91
+ .organization-tree .item-side {
92
+ flex: 0 0 10%;
93
+ text-align: right;
94
+ }
95
+ .organization-tree .el-tree-node {
96
+ margin-bottom: 10px;
97
+ }
98
+
99
+ .organization-tree .el-tree-node__content>.el-tree-node__expand-icon {
100
+ padding: 0;
101
+ display: none;
102
+ }
103
+
104
+ .organization-tree .card-footer {
105
+ padding: 20px;
106
+ }
107
+ .organization-tree .card-footer .select-result {
108
+ color: #409EFF;
109
+ flex:1 1 75%;
110
+ text-align: left;
111
+ }
112
+ .organization-tree .card-footer .button-area {
113
+ flex:0 0 20%;
114
+ text-align: right;
115
+ }
116
+
117
+ .organization-tree .dept-path .breadcrumb-label-link{
118
+ color:#409EFF
119
+ }
120
+ </style>