agilebuilder-ui 1.0.76 → 1.0.77
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.
- package/lib/super-ui.css +1 -1
- package/lib/super-ui.js +80258 -78821
- package/lib/super-ui.umd.cjs +103 -103
- package/package.json +1 -1
- package/packages/department-tree/src/department-tree.vue +0 -1
- package/packages/department-tree-mobile/src/department-tree-inline-app.vue +15 -15
- package/packages/department-user-tree/src/department-user-tree.vue +1 -0
- package/packages/department-user-tree-mobile/src/department-user-tree-inline-app.vue +17 -19
- package/packages/department-user-tree-mobile/src/department-user-tree-service.ts +0 -11
- package/packages/dynamic-source-select/src/dynamic-source-select.vue +5 -5
- package/packages/fs-upload-list/src/fs-upload-list.vue +179 -119
- package/packages/fs-upload-new/src/file-upload-mobile/file-upload-app.vue +2 -6
- package/packages/fs-upload-new/src/file-upload-mobile/file-upload-browser.vue +2 -6
- package/packages/fs-upload-new/src/file-upload-mobile/file-upload-component.vue +2 -2
- package/packages/fs-upload-new/src/file-upload-mobile/file-upload-input.vue +1 -6
- package/packages/fs-upload-new/src/file-upload-mobile/file-upload.vue +0 -6
- package/packages/fs-upload-new/src/fs-upload-new.vue +15 -13
- package/packages/index.js +8 -2
- package/packages/organization-input/src/organization-input.vue +3 -0
- package/packages/plugins/export-data-new.js +34 -1
- package/packages/scan-code-input/src/scan-code-input.vue +136 -104
- package/packages/scan-code-input-browser/index.js +6 -0
- package/packages/{scan-code-input/src/scan-code-input-colse.vue → scan-code-input-browser/src/scan-code-input.vue} +1 -28
- package/packages/super-grid/src/apis.js +12 -0
- package/packages/super-grid/src/dynamic-input.vue +236 -14
- package/packages/super-grid/src/normal-column.vue +37 -2
- package/packages/super-grid/src/scan-util.ts +243 -0
- package/packages/super-grid/src/search-form-advancedQuery.vue +3 -1
- package/packages/super-grid/src/search-form-item.vue +4 -2
- package/packages/super-grid/src/super-grid-service.js +2 -1
- package/packages/super-grid/src/super-grid.vue +19 -0
- package/packages/super-grid/src/utils.js +9 -0
- package/packages/workgroup-tree/src/workgroup-tree.vue +31 -0
- package/packages/workgroup-tree-inline/src/workgroup-tree-inline.vue +28 -0
- package/packages/workgroup-tree-inline/src/workgroup-tree-service.js +26 -0
- package/packages/workgroup-tree-mobile/index.js +6 -0
- package/packages/workgroup-tree-mobile/src/dept-result.vue +51 -0
- package/packages/workgroup-tree-mobile/src/workgroup-tree-app.vue +120 -0
- package/packages/workgroup-tree-mobile/src/workgroup-tree-inline-app.vue +375 -0
- package/packages/workgroup-tree-mobile/src/workgroup-tree-service.ts +62 -0
- package/packages/workgroup-user-tree/src/workgroup-user-tree.vue +15 -0
- package/packages/workgroup-user-tree-inline/src/workgroup-tree-inline-service.js +27 -0
- package/packages/workgroup-user-tree-inline/src/workgroup-user-tree-inline.vue +11 -0
- package/packages/workgroup-user-tree-mobile/index.js +6 -0
- package/packages/workgroup-user-tree-mobile/src/dept-path.vue +36 -0
- package/packages/workgroup-user-tree-mobile/src/dept-result.vue +58 -0
- package/packages/workgroup-user-tree-mobile/src/workgroup-user-tree-app.vue +119 -0
- package/packages/workgroup-user-tree-mobile/src/workgroup-user-tree-inline-app.vue +394 -0
- package/packages/workgroup-user-tree-mobile/src/workgroup-user-tree-service.ts +41 -0
- package/src/i18n/langs/cn.js +3 -1
- package/src/i18n/langs/en.js +3 -1
- package/src/utils/common-util.js +18 -2
- package/src/views/layout/EmptyLayout.vue +1 -44
|
@@ -285,6 +285,7 @@
|
|
|
285
285
|
v-model:value="scope.row.value"
|
|
286
286
|
:prop="scope.row.prop"
|
|
287
287
|
:row="scope.row"
|
|
288
|
+
:additional-settings="controlConfig"
|
|
288
289
|
class="customComponent"
|
|
289
290
|
@focus="selectRow(scope.row)"
|
|
290
291
|
@input="
|
|
@@ -374,7 +375,7 @@ import searchFormNumber from './search-form-number.vue'
|
|
|
374
375
|
import store from './store'
|
|
375
376
|
import SearchConditionInput from './search-condition-input.vue'
|
|
376
377
|
import SearchConditionList from './search-condition-list.vue'
|
|
377
|
-
import {getDynamicDataSourceOptions, isDynamicDataSourceSource} from './utils'
|
|
378
|
+
import {getDynamicDataSourceOptions, isDynamicDataSourceSource, getControlConfig} from './utils'
|
|
378
379
|
import {
|
|
379
380
|
CirclePlus,
|
|
380
381
|
Remove,
|
|
@@ -434,6 +435,7 @@ export default {
|
|
|
434
435
|
operationArr: [],
|
|
435
436
|
tableName,
|
|
436
437
|
isJoinTable: isHasJoinTable, // 是否是关联表
|
|
438
|
+
controlConfig: getControlConfig(this.column)
|
|
437
439
|
}
|
|
438
440
|
},
|
|
439
441
|
computed: {},
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
:is="column.componentName"
|
|
23
23
|
:ref="column.componentName"
|
|
24
24
|
:entity="searchForm"
|
|
25
|
+
:additional-settings="controlConfig"
|
|
25
26
|
:model-value="getFormItemValue(column.prop)"
|
|
26
27
|
:prop="column.prop"
|
|
27
28
|
:row="searchForm"
|
|
@@ -237,7 +238,7 @@ import {$emit} from '../../utils/gogocodeTransfer'
|
|
|
237
238
|
import searchMethods from './search-methods'
|
|
238
239
|
import searchFormNumber from './search-form-number.vue'
|
|
239
240
|
import store from './store'
|
|
240
|
-
import {getDynamicDataSourceOptions, isDynamicDataSourceSource} from './utils'
|
|
241
|
+
import {getDynamicDataSourceOptions, isDynamicDataSourceSource, getControlConfig} from './utils'
|
|
241
242
|
|
|
242
243
|
export default {
|
|
243
244
|
name: 'SearchFormItem',
|
|
@@ -291,7 +292,8 @@ export default {
|
|
|
291
292
|
dateOne: null,
|
|
292
293
|
dataTwo: null,
|
|
293
294
|
moduleConfig: {},
|
|
294
|
-
dateVal: this.getFormItemValue(this.column.prop)
|
|
295
|
+
dateVal: this.getFormItemValue(this.column.prop),
|
|
296
|
+
controlConfig: getControlConfig(this.column)
|
|
295
297
|
}
|
|
296
298
|
},
|
|
297
299
|
computed: {
|
|
@@ -295,7 +295,8 @@ const superGridService = {
|
|
|
295
295
|
column.hasOwnProperty('prop')
|
|
296
296
|
) {
|
|
297
297
|
if (column.prop !== '$index' && column.prop !== '$selection') {
|
|
298
|
-
if (column.queryType && column.queryType !== 'no'
|
|
298
|
+
if (column.queryType && column.queryType !== 'no' && column.componentType && (column.componentType === 'date' || column.componentType === 'dateSection' ||
|
|
299
|
+
column.componentType === 'timePicker' || column.componentType === 'dateTimePicker')) {
|
|
299
300
|
// 配置了默认值
|
|
300
301
|
if (column.controlConfig) {
|
|
301
302
|
queryParameterSize++
|
|
@@ -3205,6 +3205,25 @@ export default {
|
|
|
3205
3205
|
this.$refs.sf.showMobileSearch()
|
|
3206
3206
|
}
|
|
3207
3207
|
|
|
3208
|
+
},
|
|
3209
|
+
// 移动端选择文件结束
|
|
3210
|
+
pickFileDone (data) {
|
|
3211
|
+
console.log('superPage5555---pickFileDone--data.componentId=', data.componentId, 'data.listCode=', data.listCode, 'data=', data)
|
|
3212
|
+
if (data && data.componentId) {
|
|
3213
|
+
eventBus.$emit(data.componentId + '-pickFileDone', data)
|
|
3214
|
+
}
|
|
3215
|
+
},
|
|
3216
|
+
// 移动端上传文件结束
|
|
3217
|
+
uploadFileDone (data) {
|
|
3218
|
+
if (data && data.componentId) {
|
|
3219
|
+
eventBus.$emit(data.componentId + '-uploadFileDone', data)
|
|
3220
|
+
}
|
|
3221
|
+
},
|
|
3222
|
+
// 移动端扫描结束
|
|
3223
|
+
scanDone (data) {
|
|
3224
|
+
if (data && data.componentId) {
|
|
3225
|
+
eventBus.$emit(data.componentId + '-scanDone', data)
|
|
3226
|
+
}
|
|
3208
3227
|
}
|
|
3209
3228
|
},
|
|
3210
3229
|
emits: [
|
|
@@ -881,3 +881,12 @@ export function getAdditionalParamMap(gridParams) {
|
|
|
881
881
|
}
|
|
882
882
|
return additionalParamMap
|
|
883
883
|
}
|
|
884
|
+
|
|
885
|
+
// 获得控件的配置信息,例如:自定义控件的附加配置等
|
|
886
|
+
export function getControlConfig(column) {
|
|
887
|
+
let controlConfig
|
|
888
|
+
if (column && column.controlConfig) {
|
|
889
|
+
controlConfig = JSON.parse(column.controlConfig)
|
|
890
|
+
}
|
|
891
|
+
return controlConfig
|
|
892
|
+
}
|
|
@@ -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,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>
|