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