agilebuilder-ui 1.1.36-sit5 → 1.1.36-tmp1

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 (67) hide show
  1. package/lib/{401-dff6f99e.js → 401-c55bdcf2.js} +1 -1
  2. package/lib/{404-1062cf9d.js → 404-c1dbd5e1.js} +1 -1
  3. package/lib/{iframe-page-e229c419.js → iframe-page-917912ae.js} +1 -1
  4. package/lib/{index-09cd1ad3.js → index-6ec53ef7.js} +12676 -12738
  5. package/lib/super-ui.css +1 -1
  6. package/lib/super-ui.js +1 -1
  7. package/lib/super-ui.umd.cjs +99 -99
  8. package/lib/{tab-content-iframe-index-0c3b2101.js → tab-content-iframe-index-46a76242.js} +1 -1
  9. package/lib/{tab-content-index-dcdefb56.js → tab-content-index-132379e6.js} +1 -1
  10. package/lib/{tache-subprocess-history-06b435b8.js → tache-subprocess-history-384455d6.js} +1 -1
  11. package/package.json +1 -1
  12. package/packages/department-tree/src/department-tree.vue +123 -130
  13. package/packages/department-tree-inline/src/department-multi-tree-inline.vue +466 -435
  14. package/packages/department-tree-inline/src/department-single-tree-inline.vue +342 -335
  15. package/packages/department-tree-inline/src/department-tree-inline.vue +11 -18
  16. package/packages/department-tree-inline/src/department-tree-service.js +11 -10
  17. package/packages/department-tree-mobile/src/department-tree-app.vue +75 -103
  18. package/packages/department-tree-mobile/src/department-tree-inline-app.vue +225 -256
  19. package/packages/department-tree-mobile/src/department-tree-service.ts +75 -98
  20. package/packages/department-user-tree/src/department-user-multiple-tree.vue +115 -112
  21. package/packages/department-user-tree/src/department-user-single-tree.vue +88 -85
  22. package/packages/department-user-tree/src/department-user-tree.vue +119 -127
  23. package/packages/department-user-tree-inline/src/department-user-multiple-tree-inline.vue +1 -6
  24. package/packages/department-user-tree-inline/src/department-user-single-tree-inline.vue +0 -5
  25. package/packages/department-user-tree-inline/src/department-user-tree-inline.vue +11 -18
  26. package/packages/department-user-tree-inline/src/department-user-tree-multi-service.js +51 -26
  27. package/packages/department-user-tree-inline/src/department-user-tree-single-service.js +45 -25
  28. package/packages/department-user-tree-inline/src/group-user/group-list.vue +90 -97
  29. package/packages/department-user-tree-inline/src/group-user/group-user.vue +32 -28
  30. package/packages/department-user-tree-mobile/src/department-user-tree-app.vue +75 -103
  31. package/packages/department-user-tree-mobile/src/department-user-tree-inline-app.vue +224 -282
  32. package/packages/department-user-tree-mobile/src/department-user-tree-service.ts +51 -58
  33. package/packages/fs-preview/src/fs-preview.vue +2 -20
  34. package/packages/fs-upload-list/src/fs-upload-list.vue +7 -30
  35. package/packages/fs-upload-new/src/file-upload-mobile/file-upload-browser.vue +1 -1
  36. package/packages/fs-upload-new/src/fs-preview-new.vue +15 -27
  37. package/packages/index.js +4 -4
  38. package/packages/organization-input/src/organization-input.vue +12 -34
  39. package/packages/super-grid/src/apis.js +4 -21
  40. package/packages/super-grid/src/dynamic-input.vue +13 -58
  41. package/packages/super-grid/src/normal-column-content.vue +1 -2
  42. package/packages/super-grid/src/row-operation.vue +13 -23
  43. package/packages/super-grid/src/super-grid.vue +42 -51
  44. package/packages/super-grid/src/utils.js +8 -13
  45. package/packages/super-icon/src/index.vue +1 -4
  46. package/packages/workgroup-tree/src/workgroup-tree.vue +110 -117
  47. package/packages/workgroup-tree-inline/src/workgroup-tree-inline.vue +1 -6
  48. package/packages/workgroup-tree-mobile/src/workgroup-tree-app.vue +75 -103
  49. package/packages/workgroup-tree-mobile/src/workgroup-tree-inline-app.vue +208 -229
  50. package/src/api/sso-service.js +5 -6
  51. package/src/directives/permission/index.js +4 -4
  52. package/src/index.js +3 -38
  53. package/src/store/modules/table.js +1 -0
  54. package/src/styles/theme/dark-blue/sidebar.scss +0 -9
  55. package/src/styles/theme/gray/sidebar.scss +8 -9
  56. package/src/styles/theme/green/sidebar.scss +0 -10
  57. package/src/styles/theme/ocean-blue/sidebar.scss +0 -9
  58. package/src/styles/theme/tiffany-blue-mobile/sidebar.scss +0 -9
  59. package/src/utils/insert_css.js +1 -1
  60. package/src/utils/util.js +0 -19
  61. package/src/views/dsc-component/Sidebar/SidebarItem.vue +2 -2
  62. package/src/views/dsc-component/Sidebar/index.vue +18 -36
  63. package/src/views/layout/components/Menubar/Item.vue +9 -0
  64. package/src/views/layout/components/Menubar/SidebarItem.vue +2 -2
  65. package/src/views/layout/components/Sidebar/Item.vue +1 -4
  66. package/src/views/layout/components/Sidebar/SidebarItem.vue +2 -2
  67. package/vite.config.js +1 -1
@@ -2,174 +2,122 @@
2
2
  <div>
3
3
  <el-card class="card-content" style="height: 50px">
4
4
  <el-row class="item-row item-row-all">
5
- <el-col style="width: 100%">
5
+ <el-col style="width: 100%;">
6
6
  <div style="display: flex">
7
- <div style="flex: 0 0 20%; text-align: left">
8
- <el-checkbox
9
- v-if="multiple"
10
- v-model="checkAll"
11
- :label="$t('departmentTreeInline.allCheck')"
12
- value="all"
13
- @change="changeAllCheck"
14
- />
7
+ <div style="flex: 0 0 20%;text-align:left">
8
+ <el-checkbox v-if="multiple" v-model="checkAll" :label="$t('departmentTreeInline.allCheck')" value="all" @change="changeAllCheck" />
15
9
  </div>
16
- <div style="flex: 0 0 80%; text-align: right">
17
- <el-input
18
- v-model="searchParam.searchValue"
19
- :placeholder="$t('departmentUserTree.pleaseEnterUserInformation')"
20
- @clear="filterAppendNodes"
21
- @keyup.enter="filterAppendNodes"
22
- @blur="filterAppendNodes"
23
- clearable
24
- >
25
- <template v-slot:suffix>
26
- <el-icon @click="filterAppendNodes"><Search /></el-icon>
10
+ <div style="flex: 0 0 80%;text-align:right">
11
+ <el-input v-model="searchParam.searchValue" :placeholder="$t('departmentUserTree.pleaseEnterUserInformation')" @clear="filterAppendNodes" @keyup.enter="filterAppendNodes" @blur="filterAppendNodes" clearable>
12
+ <template v-slot:suffix>
13
+ <el-icon @click="filterAppendNodes"><Search /></el-icon>
27
14
  </template>
28
15
  </el-input>
29
16
  </div>
30
17
  </div>
31
- </el-col>
18
+ </el-col>
32
19
  </el-row>
33
20
  </el-card>
34
- <el-card v-if="tenantName" class="card-content">
21
+ <el-card v-if="tenantName" class="card-content">
35
22
  <el-row class="item-row item-row-all">
36
- <el-col class="item-label dept-path"
37
- ><deptPath :tenantName="tenantName" :clickDepts="clickDepts" @clickBreadcrumb="clickBreadcrumb"
38
- /></el-col>
23
+ <el-col class="item-label dept-path"><deptPath :tenantName="tenantName" :clickDepts="clickDepts" @clickBreadcrumb="clickBreadcrumb"/></el-col>
39
24
  </el-row>
40
25
  </el-card>
41
- <el-card class="card-content org-tree" style="overflow: auto">
26
+ <el-card class="card-content org-tree" style="overflow: auto;">
42
27
  <el-tree
43
- ref="orgTreeRef"
44
- :data="departments"
45
- :show-checkbox="multiple"
46
- node-key="nodeId"
47
- :props="defaultProps"
48
- :default-checked-keys="defaultCheckedKeys"
49
- @check-change="handleCheckNode"
50
- @node-click="handleClickNode"
51
- >
52
- <template #default="{ node, data }">
53
- <div class="item-row">
54
- <div v-if="data.nodeType && data.nodeType === 'USER'" class="item-label">
55
- {{ data.showName }}
56
- <span style="color: #999"
57
- >({{ data.loginName }}{{ getUserMainDeptName(data) ? '/' + getUserMainDeptName(data) : '' }})</span
58
- >
59
- </div>
60
- <div v-else class="item-label" @click="loadChildren(data, false)">
61
- {{ data.showName
62
- }}<span v-if="data.parentNodeId !== '-1' && getDeptNamePath(data)" style="color: #999"
63
- >({{ getDeptNamePath(data) }})</span
64
- >
65
- </div>
66
- <div v-if="!data.nodeType || data.nodeType !== 'USER'" class="item-side" @click="loadChildren(data, false)">
67
- <el-icon><ArrowRight /></el-icon>
68
- </div>
28
+ ref="orgTreeRef"
29
+ :data="departments"
30
+ :show-checkbox="multiple"
31
+ node-key="nodeId"
32
+ :props="defaultProps"
33
+ :default-checked-keys="defaultCheckedKeys"
34
+ @check-change="handleCheckNode"
35
+ @node-click="handleClickNode"
36
+ >
37
+ <template #default="{ node, data }">
38
+ <div class="item-row">
39
+ <div v-if="data.nodeType && data.nodeType === 'USER'" class="item-label">{{ data.showName }}
40
+ <span style="color:#999">({{ data.loginName }}{{ getUserMainDeptName(data) ? '/'+getUserMainDeptName(data): ''}})</span>
41
+ </div>
42
+ <div v-else class="item-label" @click="loadChildren(data,false)">{{ data.showName }}<span v-if="data.parentNodeId !== '-1' && getDeptNamePath(data)" style="color:#999">({{ getDeptNamePath(data) }})</span></div>
43
+ <div v-if="!data.nodeType || data.nodeType !== 'USER'" class="item-side" @click="loadChildren(data,false)">
44
+ <el-icon><ArrowRight /></el-icon>
69
45
  </div>
70
- </template>
71
- </el-tree>
72
- </el-card>
73
- <el-card class="card-footer">
74
- <div style="display: flex">
75
- <div class="select-result">
76
- <!-- 已选择:{useNum}个用户,{deptNum}个部门(含子部门) -->
77
- <!-- {{$t('departmentUserTree.selectResultInfo',{userNum: selectUsers.length, deptNum: selectDepts.length})}} -->
78
- <span v-if="multiple" @click="showResult">
79
- <span v-if="selectUsers.length > 0 && selectDepts.length > 0"
80
- >{{ $t('departmentTreeInline.selectResultInfoHasSelect')
81
- }}{{ $t('departmentUserTree.selectUserResultInfo', { userNum: selectUsers.length }) }},
82
- {{ $t('departmentUserTree.selectDeptResultInfo', { deptNum: selectDepts.length }) }}</span
83
- >
84
- <span v-else-if="selectUsers.length > 0"
85
- >{{ $t('departmentTreeInline.selectResultInfoHasSelect')
86
- }}{{ $t('departmentUserTree.selectUserResultInfo', { userNum: selectUsers.length }) }}</span
87
- >
88
- <span v-else-if="selectDepts.length > 0"
89
- >{{ $t('departmentTreeInline.selectResultInfoHasSelect')
90
- }}{{ $t('departmentUserTree.selectDeptResultInfo', { deptNum: selectDepts.length }) }}</span
91
- >
92
- <span v-if="selectUsers.length > 0 || selectDepts.length > 0" style="padding-left: 10px"
93
- ><el-icon><ArrowUpBold /></el-icon
94
- ></span>
95
- </span>
96
- <span v-else-if="selectUsers.length > 0">
97
- {{ $t('departmentTreeInline.selectResultInfoHasSelect') }}{{ selectUsers[0].showName
98
- }}<span style="color: #999"
99
- >({{ selectUsers[0].loginName
100
- }}{{ getUserMainDeptName(selectUsers[0]) ? '/' + getUserMainDeptName(selectUsers[0]) : '' }})</span
101
- >
102
- </span>
103
- </div>
104
- <div class="button-area">
105
- <el-button size="large" type="primary" @click="saveDept">{{ $t('imatrixUIPublicModel.sure') }}</el-button>
106
46
  </div>
47
+ </template>
48
+ </el-tree>
49
+ </el-card>
50
+ <el-card class="card-footer">
51
+ <div style="display: flex;">
52
+ <div class="select-result" >
53
+ <!-- 已选择:{useNum}个用户,{deptNum}个部门(含子部门) -->
54
+ <!-- {{$t('departmentUserTree.selectResultInfo',{userNum: selectUsers.length, deptNum: selectDepts.length})}} -->
55
+ <span v-if="multiple" @click="showResult">
56
+ <span v-if="selectUsers.length > 0 && selectDepts.length > 0">{{$t('departmentTreeInline.selectResultInfoHasSelect')}}{{$t('departmentUserTree.selectUserResultInfo',{userNum: selectUsers.length })}}, {{$t('departmentUserTree.selectDeptResultInfo',{deptNum: selectDepts.length })}}</span>
57
+ <span v-else-if="selectUsers.length > 0">{{$t('departmentTreeInline.selectResultInfoHasSelect')}}{{$t('departmentUserTree.selectUserResultInfo',{userNum: selectUsers.length })}}</span>
58
+ <span v-else-if="selectDepts.length > 0">{{$t('departmentTreeInline.selectResultInfoHasSelect')}}{{$t('departmentUserTree.selectDeptResultInfo',{deptNum: selectDepts.length })}}</span>
59
+ <span v-if="selectUsers.length > 0 || selectDepts.length > 0" style="padding-left: 10px"><el-icon><ArrowUpBold /></el-icon></span>
60
+ </span>
61
+ <span v-else-if="selectUsers.length > 0">
62
+ {{$t('departmentTreeInline.selectResultInfoHasSelect')}}{{selectUsers[0].showName }}<span style="color:#999">({{ selectUsers[0].loginName }}{{ getUserMainDeptName(selectUsers[0]) ? '/'+getUserMainDeptName(selectUsers[0]): ''}})</span>
63
+ </span>
64
+
107
65
  </div>
66
+ <div class="button-area">
67
+ <el-button size="large" type="primary" @click="saveDept">{{$t('imatrixUIPublicModel.sure')}}</el-button>
68
+ </div>
69
+ </div>
108
70
  </el-card>
109
- <deptResult ref="deptResultRef" :selectUsers="selectUsers.concat(selectDepts)" @removeResult="removeResultDept" />
71
+ <deptResult ref="deptResultRef" :selectUsers="selectUsers.concat(selectDepts)" @removeResult="removeResultDept"/>
110
72
  </div>
111
73
  </template>
112
74
 
113
- <script setup lang="ts">
114
- import { reactive, ref, onMounted, defineEmits, Ref } from 'vue'
115
- import { ArrowRight, Search, ArrowUpBold } from '@element-plus/icons-vue'
116
- import {
117
- getTenant,
118
- getTenantChildren,
119
- checkedDeptDefault,
120
- loadDepartment,
121
- getUserInDepartments
122
- } from './department-user-tree-service.ts'
75
+ <script setup lang="ts">
76
+ import { reactive,ref,onMounted, defineEmits,Ref } from 'vue'
123
77
  import {
124
- resizeScrollTargetHeightUtil,
125
- getUserMainDeptName,
126
- getDeptNamePath,
127
- initSelectUsers,
128
- addSelectedUserInfo,
129
- packageSelectResult
130
- } from '../../utils/organization.ts'
78
+ ArrowRight,
79
+ Search,
80
+ ArrowUpBold
81
+ } from '@element-plus/icons-vue'
82
+ import {getTenant, getTenantChildren, checkedDeptDefault, loadDepartment, getUserInDepartments} from './department-user-tree-service.ts'
83
+ import {resizeScrollTargetHeightUtil, getUserMainDeptName, getDeptNamePath,initSelectUsers, addSelectedUserInfo, packageSelectResult} from '../../utils/organization.ts'
131
84
  import deptPath from './dept-path.vue'
132
85
  import deptResult from './dept-result.vue'
133
- import { ElMessage } from 'element-plus'
134
- import { useI18n } from 'vue-i18n'
86
+ import {ElMessage} from 'element-plus'
87
+ import {useI18n} from "vue-i18n"
135
88
  const props = defineProps<{
136
- // 是否是多选树,默认是true
137
- multiple: {
138
- type: Boolean
139
- default: true
140
- }
141
- // 显示指定部门节点及其子节点,不传该属性,表示显示整个组织结构树
142
- departmentInfo: {
143
- type: Array<any>
144
- default: null
145
- }
146
- // 多选用户树时,已选择用户id或登录名集合,多个之间以逗号隔开
147
- selectUserInfo: {
148
- type: [String, Number]
149
- default: null
150
- }
151
- // 移除用户时,用户属性名称:id、loginName、email、telephone,默认是loginName
152
- searchField: {
153
- type: String
154
- default: 'loginName'
155
- }
156
- // 多选树时结果之间的分隔符,默认是逗号分隔
157
- separator: {
158
- type: String
159
- default: ','
160
- }
161
- // 根据变量限制部门时,根据部门表的哪个字段进行过滤,默认是code
162
- limitFilterColumn: {
163
- type: String
164
- default: 'code'
165
- }
166
- }>()
167
- const emits = defineEmits(['close'])
89
+ // 是否是多选树,默认是true
90
+ multiple: {
91
+ type: Boolean,
92
+ default: true,
93
+ },
94
+ // 显示指定部门节点及其子节点,不传该属性,表示显示整个组织结构树
95
+ departmentInfo: {
96
+ type: Array<any>,
97
+ default: null,
98
+ },
99
+ // 多选用户树时,已选择用户id或登录名集合,多个之间以逗号隔开
100
+ selectUserInfo: {
101
+ type: [String, Number],
102
+ default: null,
103
+ },
104
+ // 移除用户时,用户属性名称:id、loginName、email、telephone,默认是loginName
105
+ searchField: {
106
+ type: String,
107
+ default: 'loginName',
108
+ },
109
+ // 多选树时结果之间的分隔符,默认是逗号分隔
110
+ separator: {
111
+ type: String,
112
+ default: ','
113
+ }
114
+ }>()
115
+ const emits = defineEmits(["close"])
168
116
  const orgTreeRef = ref(null)
169
117
  let tenantInfo = ref(null)
170
118
  let containBranch = ref(false)
171
119
  let tenantName = ref(null)
172
- let tenantNodeId = '-1'
120
+ let tenantNodeId = "-1"
173
121
  let departments = ref([])
174
122
  let checkedKeys = ref([])
175
123
  let selectUsers = ref([])
@@ -177,7 +125,7 @@ let selectDepts = ref([])
177
125
  let selectDeptNodeIds = ref([])
178
126
  let clickDepts = ref([])
179
127
  let defaultCheckedKeys = ref([])
180
- let deptResultRef: Ref<any> = ref(null)
128
+ let deptResultRef:Ref<any> = ref(null)
181
129
  let checkAll = ref(false)
182
130
  let searchParam = ref({
183
131
  userField: 'name',
@@ -186,19 +134,20 @@ let searchParam = ref({
186
134
  departmentInfo: null
187
135
  })
188
136
  let defaultProps = ref({
189
- disabled: 'disable'
137
+ disabled: 'disable'
138
+
190
139
  })
191
140
  let loading = ref(false)
192
- const { t } = useI18n()
193
- onMounted(() => {
194
- initSelectUsers(props.searchField, props.selectUserInfo, props.separator).then((departments) => {
141
+ const {t} = useI18n()
142
+ onMounted(()=>{
143
+ initSelectUsers(props.searchField, props.selectUserInfo, props.separator ).then((departments)=>{
195
144
  selectUsers.value = departments
196
145
  getTenantInfo()
197
146
  })
198
147
  resizeScrollTargetHeight()
199
148
  })
200
149
  function getTenantInfo() {
201
- getTenant().then((data) => {
150
+ getTenant().then(data=>{
202
151
  const tenantData = data[0].data
203
152
  tenantInfo.value = JSON.parse(tenantData)
204
153
  containBranch.value = data[0].containBranch
@@ -208,59 +157,59 @@ function getTenantInfo() {
208
157
  }
209
158
 
210
159
  function getTenantChildrenDept() {
211
- getTenantChildren(props.departmentInfo, tenantNodeId, props.limitFilterColumn).then((children) => {
212
- departments.value = children
213
- checkedDeptDefault(selectUsers.value, defaultCheckedKeys.value)
214
- })
160
+ getTenantChildren(props.departmentInfo, tenantNodeId).then(children=>{
161
+ departments.value = children
162
+ checkedDeptDefault(selectUsers.value, defaultCheckedKeys.value)
163
+ })
215
164
  }
216
165
 
217
- function resizeScrollTargetHeight() {
218
- const scrollTarget = document.querySelector('.org-tree')
219
- let height = resizeScrollTargetHeightUtil(scrollTarget)
220
- const titleArea = 110
221
- const deptPathArea = 60
222
- const allCheckArea = 60
223
- const buttonArea = 60
224
- height = height - titleArea - deptPathArea - allCheckArea - buttonArea
225
- scrollTarget['style'].height = height + 'px'
226
- scrollTarget['style'].minHeight = '300px'
227
- // scrollTarget.style.maxHeight = height + 'px'
166
+ function resizeScrollTargetHeight () {
167
+ const scrollTarget = document.querySelector('.org-tree')
168
+ let height = resizeScrollTargetHeightUtil(scrollTarget)
169
+ const titleArea = 110
170
+ const deptPathArea = 60
171
+ const allCheckArea = 60
172
+ const buttonArea = 60
173
+ height = height - titleArea - deptPathArea - allCheckArea - buttonArea
174
+ scrollTarget['style'].height = height + 'px'
175
+ scrollTarget['style'].minHeight = '300px'
176
+ // scrollTarget.style.maxHeight = height + 'px'
228
177
  }
229
178
  // 点击复选框时处理
230
179
  function handleCheckNode(data, check, isChildrenCheck) {
231
- if (props.multiple) {
232
- if (check) {
233
- // 表示选择节点时
234
- if (props.multiple) {
235
- // 表示是复选组织树
236
- addToSelectDept(data)
237
- }
238
- } else {
239
- // 表示取消选择
240
- if (props.multiple || (data.nodeType && data.nodeType === 'USER')) {
241
- removeSelectDept(data)
180
+ if(props.multiple) {
181
+ if(check) {
182
+ // 表示选择节点时
183
+ if(props.multiple) {
184
+ // 表示是复选组织树
185
+ addToSelectDept(data)
186
+ }
187
+ } else {
188
+ // 表示取消选择
189
+ if(props.multiple || (data.nodeType && data.nodeType === 'USER')) {
190
+ removeSelectDept(data)
191
+ }
242
192
  }
243
193
  }
244
- }
245
194
  }
246
195
 
247
196
  function handleClickNode(data, node, treenode, events) {
248
- if (!props.multiple && data.nodeType && data.nodeType === 'USER') {
197
+ if(!props.multiple && data.nodeType && data.nodeType === 'USER') {
249
198
  selectUsers.value = [data]
250
199
  }
251
200
  }
252
201
  function addToSelectDept(dept) {
253
- if (dept.nodeType && dept.nodeType === 'USER') {
202
+ if(dept.nodeType && dept.nodeType === 'USER') {
254
203
  // 表示是用户
255
- const filterValue = selectUsers.value.filter((item) => item.nodeId === dept.nodeId)
256
- if (!filterValue || filterValue.length === 0) {
204
+ const filterValue = selectUsers.value.filter(item=> item.nodeId === dept.nodeId )
205
+ if(!filterValue || filterValue.length === 0) {
257
206
  // 表示集合中没有该记录,需要记录到结果集合中
258
207
  selectUsers.value.push(JSON.parse(JSON.stringify(dept)))
259
208
  }
260
209
  } else {
261
210
  // 表示是部门
262
- const filterValue = selectDepts.value.filter((item) => item.nodeId === dept.nodeId)
263
- if (!filterValue || filterValue.length === 0) {
211
+ const filterValue = selectDepts.value.filter(item=> item.nodeId === dept.nodeId)
212
+ if(!filterValue || filterValue.length === 0) {
264
213
  // 表示集合中没有该记录,需要记录到结果集合中
265
214
  selectDepts.value.push(JSON.parse(JSON.stringify(dept)))
266
215
  }
@@ -268,35 +217,35 @@ function addToSelectDept(dept) {
268
217
  }
269
218
 
270
219
  function removeSelectDept(dept) {
271
- if (dept.nodeType && dept.nodeType === 'USER') {
272
- const index = selectUsers.value.findIndex((selectItem) => selectItem.nodeId === dept.nodeId)
220
+ if(dept.nodeType && dept.nodeType === 'USER') {
221
+ const index = selectUsers.value.findIndex(selectItem=> selectItem.nodeId === dept.nodeId)
273
222
  // 删除指定元素
274
223
  selectUsers.value.splice(index, 1)
275
224
  } else {
276
- const index = selectDepts.value.findIndex((selectItem) => selectItem.nodeId === dept.nodeId)
225
+ const index = selectDepts.value.findIndex(selectItem=> selectItem.nodeId === dept.nodeId)
277
226
  // 删除指定元素
278
227
  selectDepts.value.splice(index, 1)
279
228
  }
280
-
281
- checkAll.value = false
229
+
230
+ checkAll.value =false
282
231
  }
283
232
  function changeAllCheck(value: boolean) {
284
233
  console.log('changeCheck====value=', value)
285
- if (props.multiple) {
234
+ if(props.multiple) {
286
235
  // 表示是复选组织树
287
- if (value) {
236
+ if(value){
288
237
  // 表示全选时
289
- const allNodeIds = departments.value.map((item) => {
290
- return item['nodeId']
238
+ const allNodeIds = departments.value.map((item)=>{
239
+ return item['nodeId'];
291
240
  })
292
241
  orgTreeRef.value.setCheckedKeys(allNodeIds, false)
293
- departments.value.forEach((item) => {
242
+ departments.value.forEach(item=>{
294
243
  addToSelectDept(item)
295
244
  })
296
245
  } else {
297
246
  // 表示取消全选时
298
- departments.value.forEach((item) => {
299
- removeSelectDept(item)
247
+ departments.value.forEach(item=>{
248
+ removeSelectDept(item)
300
249
  })
301
250
  orgTreeRef.value.setCheckedKeys([], false)
302
251
  }
@@ -304,25 +253,25 @@ function changeAllCheck(value: boolean) {
304
253
  }
305
254
 
306
255
  function loadChildrenDept(dept) {
307
- loadDepartment(dept.id, dept.branchId).then((children) => {
256
+ loadDepartment(dept.id, dept.branchId).then(children=>{
308
257
  departments.value = children
309
- checkedDeptDefault(selectUsers.value, defaultCheckedKeys.value)
258
+ checkedDeptDefault(selectUsers.value, defaultCheckedKeys.value)
310
259
  })
311
260
  }
312
- function loadChildren(dept, isBreadcrumb) {
313
- clickDepts.value.push(dept)
314
- loadChildrenDept(dept)
261
+ function loadChildren (dept, isBreadcrumb) {
262
+ clickDepts.value.push(dept)
263
+ loadChildrenDept(dept)
315
264
  }
316
265
 
317
266
  function clickBreadcrumb(item, isTenant, index) {
318
- if (isTenant) {
267
+ if(isTenant) {
319
268
  // 表示点击的时公司节点
320
269
  clickDepts.value = []
321
270
  getTenantChildrenDept()
322
271
  } else {
323
272
  // 表示点击的是部门节点
324
273
  // 删除指定元素
325
- clickDepts.value.splice(index + 1, clickDepts.value.length - (index + 1))
274
+ clickDepts.value.splice(index+1, clickDepts.value.length - (index + 1) )
326
275
  loadChildrenDept(item)
327
276
  }
328
277
  }
@@ -332,17 +281,17 @@ function showResult() {
332
281
  }
333
282
 
334
283
  function removeResultDept(dept) {
335
- const removeDeptInDepts = departments.value.filter((item) => item.nodeId === dept.nodeId)
336
- if (removeDeptInDepts && removeDeptInDepts.length > 0) {
284
+ const removeDeptInDepts = departments.value.filter(item=>item.nodeId === dept.nodeId)
285
+ if(removeDeptInDepts && removeDeptInDepts.length > 0) {
337
286
  // departments结果存在当前移除的节点时,check-change事件会走removeSelectDept的逻辑
338
287
  const selectNodeIds = []
339
- selectUsers.value.forEach((item) => {
340
- if (item.nodeId !== dept.nodeId) {
288
+ selectUsers.value.forEach(item=>{
289
+ if(item.nodeId !== dept.nodeId) {
341
290
  selectNodeIds.push(item.nodeId)
342
291
  }
343
292
  })
344
- selectDepts.value.forEach((item) => {
345
- if (item.nodeId !== dept.nodeId) {
293
+ selectDepts.value.forEach(item=>{
294
+ if(item.nodeId !== dept.nodeId) {
346
295
  selectNodeIds.push(item.nodeId)
347
296
  }
348
297
  })
@@ -351,103 +300,96 @@ function removeResultDept(dept) {
351
300
  removeSelectDept(dept)
352
301
  }
353
302
 
354
- function saveDept() {
355
- if (selectDepts.value.length === 0 && selectUsers.value.length === 0) {
356
- ElMessage({
357
- message: t('imatrixUIMessage.pleaseSelectPersonnel'),
358
- type: 'warning'
359
- })
360
- return
361
- }
362
- if (props.multiple) {
363
- const selectNodeInfo = {
364
- userIds: [],
365
- userNames: [],
366
- loginNames: [],
367
- userZhNames: [],
368
- userEnNames: [],
369
- emails: [],
370
- telephones: [],
371
- users: []
372
- }
373
- const departmentIds = []
374
- selectDepts.value.forEach((node) => {
375
- // 部门集合,最后确定时会使用该集合去后台获得用户集合
376
- departmentIds.push(node.id)
377
- })
378
- selectUsers.value.forEach((node) => {
379
- // 用户集合
380
- // node.data是部门对象的json字符串信息,通过JSON.parse(node.data)将json字符串转为对象
381
- const userData = JSON.parse(node.data)
382
- addSelectedUserInfo(selectNodeInfo, userData, containBranch.value)
383
- })
384
- loading.value = true
385
- if (departmentIds.length > 0) {
386
- getUserInDepartments(departmentIds)
387
- .then((users) => {
388
- if (users) {
389
- users.forEach((user) => {
390
- addSelectedUserInfo(selectNodeInfo, user, containBranch.value)
303
+ function saveDept () {
304
+ if (selectDepts.value.length === 0 && selectUsers.value.length === 0 ) {
305
+ ElMessage({
306
+ message: t('imatrixUIMessage.pleaseSelectPersonnel'),
307
+ type: 'warning',
391
308
  })
392
- }
393
- loading.value = false
309
+ return
310
+ }
311
+ if (props.multiple) {
312
+ const selectNodeInfo = {
313
+ userIds: [],
314
+ userNames: [],
315
+ loginNames: [],
316
+ userZhNames: [],
317
+ userEnNames: [],
318
+ emails: [],
319
+ telephones: [],
320
+ users: []
321
+ }
322
+ const departmentIds = []
323
+ selectDepts.value.forEach(node => {
324
+ // 部门集合,最后确定时会使用该集合去后台获得用户集合
325
+ departmentIds.push(node.id)
326
+ })
327
+ selectUsers.value.forEach(node => {
328
+ // 用户集合
329
+ // node.data是部门对象的json字符串信息,通过JSON.parse(node.data)将json字符串转为对象
330
+ const userData = JSON.parse(node.data)
331
+ addSelectedUserInfo(selectNodeInfo, userData, containBranch.value)
332
+ })
333
+ loading.value = true
334
+ if (departmentIds.length > 0) {
335
+ getUserInDepartments(departmentIds).then(users => {
336
+ if (users) {
337
+ users.forEach(user => {
338
+ addSelectedUserInfo(selectNodeInfo, user, containBranch.value)
339
+ })
340
+ }
341
+ loading.value = false
342
+ if (selectNodeInfo.userIds.length > 0) {
343
+ emits('close', selectNodeInfo)
344
+ } else {
345
+ ElMessage({
346
+ message: t('imatrixUIMessage.pleaseSelectPersonnel'),
347
+ type: 'warning',
348
+ })
349
+ }
350
+ }).catch(() => {
351
+ loading.value = false
352
+ })
353
+ } else {
354
+ loading.value = false
394
355
  if (selectNodeInfo.userIds.length > 0) {
395
356
  emits('close', selectNodeInfo)
396
357
  } else {
397
- ElMessage({
398
- message: t('imatrixUIMessage.pleaseSelectPersonnel'),
399
- type: 'warning'
400
- })
358
+ ElMessage({
359
+ message: t('imatrixUIMessage.pleaseSelectPersonnel'),
360
+ type: 'warning',
361
+ })
401
362
  }
402
- })
403
- .catch(() => {
404
- loading.value = false
405
- })
406
- } else {
407
- loading.value = false
408
- if (selectNodeInfo.userIds.length > 0) {
409
- emits('close', selectNodeInfo)
363
+ }
410
364
  } else {
411
- ElMessage({
412
- message: t('imatrixUIMessage.pleaseSelectPersonnel'),
413
- type: 'warning'
414
- })
365
+ const user = JSON.parse(selectUsers.value[0].data)
366
+ const selectNodeInfo = packageSelectResult(user, containBranch.value)
367
+ emits('close', selectNodeInfo)
415
368
  }
416
369
  }
417
- } else {
418
- const user = JSON.parse(selectUsers.value[0].data)
419
- const selectNodeInfo = packageSelectResult(user, containBranch.value)
420
- emits('close', selectNodeInfo)
421
- }
422
- }
423
370
 
424
- function filterAppendNodes() {
425
- if (searchParam.value.searchValue) {
426
- searchParam.value.searchValue = searchParam.value.searchValue.trim()
427
- searchParam.value.departmentInfo = props.departmentInfo
428
- window['$vueApp'].config.globalProperties.$http
429
- .post(
430
- window['$vueApp'].config.globalProperties.baseAPI + '/component/organization-trees/search-users-mobile',
431
- searchParam.value
432
- )
433
- .then((result) => {
371
+ function filterAppendNodes ( ) {
372
+ if (searchParam.value.searchValue) {
373
+ searchParam.value.searchValue = searchParam.value.searchValue.trim()
374
+ searchParam.value.departmentInfo = props.departmentInfo
375
+ window['$vueApp'].config.globalProperties.$http.post(window['$vueApp'].config.globalProperties.baseAPI + '/component/organization-trees/search-users-mobile', searchParam.value).then(result => {
434
376
  if (result) {
435
377
  if (result.length === 0) {
436
378
  ElMessage({
437
379
  message: t('imatrixUIMessage.queryResultIsEmpty'),
438
- type: 'warning'
380
+ type: 'warning',
439
381
  })
440
382
  }
441
383
  departments.value = result
442
384
  } else {
443
385
  ElMessage({
444
386
  message: t('imatrixUIMessage.queryResultIsEmpty'),
445
- type: 'warning'
387
+ type: 'warning',
446
388
  })
447
389
  }
448
390
  })
449
- } else {
450
- getTenantChildrenDept()
451
- }
391
+ } else {
392
+ getTenantChildrenDept()
393
+ }
452
394
  }
453
- </script>
395
+ </script>