address-book-shell 0.0.1

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 (65) hide show
  1. package/.browserslistrc +3 -0
  2. package/.eslintrc.js +14 -0
  3. package/.prettierrc.js +16 -0
  4. package/README.md +20 -0
  5. package/babel.config.js +3 -0
  6. package/docs/.vuepress/components/demo-1.vue +14 -0
  7. package/docs/.vuepress/config.js +24 -0
  8. package/docs/README.md +37 -0
  9. package/docs/assets/imgs/tray.png +0 -0
  10. package/docs/page/README.md +1 -0
  11. package/docs/page/install.md +10 -0
  12. package/docs/page/register.md +11 -0
  13. package/lib/address-book-shell.common.js +5367 -0
  14. package/lib/address-book-shell.umd.js +5377 -0
  15. package/lib/address-book-shell.umd.min.js +1 -0
  16. package/lib/demo.html +8 -0
  17. package/lib/fonts/element-icons.535877f5.woff +0 -0
  18. package/lib/fonts/element-icons.732389de.ttf +0 -0
  19. package/lib/fonts/iconfont.0ebb200a.ttf +0 -0
  20. package/lib/fonts/iconfont.75f80b2a.woff2 +0 -0
  21. package/lib/fonts/iconfont.b7064d58.eot +0 -0
  22. package/lib/fonts/iconfont.f3953641.woff +0 -0
  23. package/lib/img/iconfont.0956fc20.svg +493 -0
  24. package/package.json +39 -0
  25. package/packages/address-book/filters/index.js +17 -0
  26. package/packages/address-book/index.js +6 -0
  27. package/packages/address-book/src/components/address-aside.vue +453 -0
  28. package/packages/address-book/src/components/address-content.vue +1048 -0
  29. package/packages/address-book/src/components/address-current-list.vue +137 -0
  30. package/packages/address-book/src/components/address-figure-tree.vue +106 -0
  31. package/packages/address-book/src/components/address-group-item.vue +145 -0
  32. package/packages/address-book/src/components/address-group.vue +102 -0
  33. package/packages/address-book/src/index.vue +639 -0
  34. package/packages/address-book/src/utils/util.js +109 -0
  35. package/packages/config.js +6 -0
  36. package/packages/index.js +31 -0
  37. package/public/favicon.ico +0 -0
  38. package/public/index.html +17 -0
  39. package/src/App.vue +9 -0
  40. package/src/api/address-list-api.js +89 -0
  41. package/src/api/cas-api.js +0 -0
  42. package/src/assets/icon-font/demo.css +539 -0
  43. package/src/assets/icon-font/demo_index.html +5642 -0
  44. package/src/assets/icon-font/iconfont.css +966 -0
  45. package/src/assets/icon-font/iconfont.eot +0 -0
  46. package/src/assets/icon-font/iconfont.js +1 -0
  47. package/src/assets/icon-font/iconfont.json +1668 -0
  48. package/src/assets/icon-font/iconfont.svg +493 -0
  49. package/src/assets/icon-font/iconfont.ttf +0 -0
  50. package/src/assets/icon-font/iconfont.woff +0 -0
  51. package/src/assets/icon-font/iconfont.woff2 +0 -0
  52. package/src/assets/logo.png +0 -0
  53. package/src/components/HelloWorld.vue +130 -0
  54. package/src/main.js +30 -0
  55. package/src/scss/global.scss +10 -0
  56. package/src/store/index.js +10 -0
  57. package/src/store/mutation-types.js +4 -0
  58. package/src/theme/element-ui-theme/config.json +1 -0
  59. package/src/theme/element-ui-theme/element-ui-common.scss +1394 -0
  60. package/src/theme/element-ui-theme/theme/fonts/element-icons.ttf +0 -0
  61. package/src/theme/element-ui-theme/theme/fonts/element-icons.woff +0 -0
  62. package/src/theme/element-ui-theme/theme/index.css +1 -0
  63. package/src/utils/plug_in-config.js +38 -0
  64. package/src/utils/util.js +20 -0
  65. package/vue.config.js +39 -0
@@ -0,0 +1,639 @@
1
+ <template>
2
+ <el-dialog
3
+ v-on="$listeners"
4
+ class="address-dialog"
5
+ :top="top"
6
+ v-bind="$attrs"
7
+ title="提示"
8
+ :width="width"
9
+ @open="open"
10
+ @opened="opened"
11
+ >
12
+ <template slot="title">
13
+ <!-- -->
14
+ <div class="head-title">{{ title }}</div>
15
+ <div class="tabs not-select" v-if="tabList.length > 1">
16
+ <el-radio-group v-model="tabsValue" size="small">
17
+ <el-radio-button v-for="item in tabList" :key="item" :label="item">{{
18
+ item
19
+ }}</el-radio-button>
20
+ </el-radio-group>
21
+ </div>
22
+ </template>
23
+
24
+ <!-- 中间主体内容 -->
25
+ <div class="recently" v-if="!hiddenRecently && recently.length">
26
+ <span class="recently-title">最近</span>
27
+ <AddreddGroup
28
+ :data-list="recently"
29
+ @addSelectionItem="addSelectionItem"
30
+ @addSelectionList="addSelectionList"
31
+ @removeAddressItem="deleteSelectionItem"
32
+ @deleteSelectionList="deleteSelectionList"
33
+ v-bind="$attrs"
34
+ ></AddreddGroup>
35
+ </div>
36
+ <div class="content mail-list-content" v-show="tabsValue == '组织架构'">
37
+ <div class="content-aside">
38
+ <AddressAside
39
+ @asideChange="asideChange"
40
+ ref="addressAside"
41
+ :typeList="typeList"
42
+ v-bind="$attrs"
43
+ :robotsList="robotsList"
44
+ ></AddressAside>
45
+ </div>
46
+ <div class="content-table">
47
+ <AddressContent
48
+ :radio="radio"
49
+ v-on="$listeners"
50
+ v-bind="$attrs"
51
+ :selected="selectedList"
52
+ :selectDisabledlist="selectDisabledlist"
53
+ :robotsList="robotsList"
54
+ @addSelectionItem="addSelectionItem"
55
+ @addSelectionList="addSelectionList"
56
+ @deleteSelectionItem="deleteSelectionItem"
57
+ @deleteSelectionList="deleteSelectionList"
58
+ :typeList="typeList"
59
+ ref="addressContent"
60
+ ></AddressContent>
61
+ </div>
62
+ </div>
63
+
64
+ <div class="content mail-list-content" v-show="tabsValue == '我的好友'">
65
+ <div class="content-table w100">
66
+ <address-content
67
+ v-on="$listeners"
68
+ v-bind="$attrs"
69
+ :selected="selectedList"
70
+ :selectDisabledlist="selectDisabledlist"
71
+ @addSelectionItem="addSelectionItem"
72
+ @addSelectionList="addSelectionList"
73
+ @deleteSelectionItem="deleteSelectionItem"
74
+ @deleteSelectionList="deleteSelectionList"
75
+ myFriend
76
+ :tabsValue="tabsValue"
77
+ ref="addressContentMyFriend"
78
+ ></address-content>
79
+ </div>
80
+ </div>
81
+
82
+ <div class="selected">
83
+ <AddreddGroup
84
+ :data-list="selectedList"
85
+ close
86
+ :size="36"
87
+ :selectDisabledlist="selectDisabledlist"
88
+ @removeAddressItem="deleteSelectionItem"
89
+ @queryRecentContacts="queryRecentContacts"
90
+ v-bind="$attrs"
91
+ v-show="selectedList.length"
92
+ >
93
+ </AddreddGroup>
94
+ <span v-show="!selectedList.length" class="no-selected-data">还未进行选择</span>
95
+ </div>
96
+ <!-- <span>这是一段信息</span> -->
97
+ <span slot="footer" class="dialog-footer address-foot">
98
+ <div class="foot-left">
99
+ <div class="foot-see-more">
100
+ <el-button
101
+ type="info"
102
+ size="small"
103
+ @click="footBtnsClick(item.id)"
104
+ v-for="item in footBtns"
105
+ :key="item.id"
106
+ >{{ item.title }}</el-button
107
+ >
108
+ <!-- <el-button type="info" size="small" @click="collectionShow">收藏当前名单</el-button> -->
109
+ </div>
110
+ </div>
111
+ <div class="foot-right">
112
+ <span v-show="selectedList.length" class="foot-selected-num"
113
+ >已选 {{ selectedList.length }}</span
114
+ >
115
+ <el-button @click="cancel" size="small">取 消</el-button>
116
+ <el-button type="primary" @click="submit" size="small">确 定</el-button>
117
+ </div>
118
+ </span>
119
+ <addressCurrentList
120
+ :visible.sync="currentListVisible"
121
+ :selectedList="currentList"
122
+ @refreshData="refreshData"
123
+ ref="currentList"
124
+ ></addressCurrentList>
125
+ </el-dialog>
126
+ </template>
127
+
128
+ <script>
129
+ import { queryRecentContacts, addRecentContacts, addPeopleList } from '@/api/address-list-api'
130
+ import { unique, deepClone, deleteArrayItem, Format } from './utils/util'
131
+ import AddreddGroup from './components/address-group.vue'
132
+ import AddressContent from './components/address-content.vue'
133
+ import AddressAside from './components/address-aside.vue'
134
+ import addressCurrentList from './components/address-current-list.vue'
135
+ export default {
136
+ name: 'address-book-shell',
137
+ props: {
138
+ selected: {
139
+ type: Array,
140
+ default: () => [],
141
+ },
142
+ // 需要人员数据(im模块需要,其他模块目前不需要)包含人员数据和结构数据
143
+ needPeopleData: {
144
+ type: Boolean,
145
+ default: false,
146
+ },
147
+ // 权限控制字段(用来控制地址本是否显示岗位,部门数据)
148
+ typeList: {
149
+ type: Array,
150
+ default: () => [
151
+ { id: '', name: '全部' },
152
+ { id: '2', name: '部门' },
153
+ { id: '4', name: '岗位' },
154
+ { id: '8', name: '人员' },
155
+ ],
156
+ },
157
+
158
+ onlyMailList: {
159
+ // 只展示通讯录数据
160
+ type: Boolean,
161
+ default: false,
162
+ },
163
+ tabs: {
164
+ // 需要展示的tabs
165
+ type: Array,
166
+ // default: () => ['组织架构'],
167
+ default: () => [],
168
+ },
169
+ radio: {
170
+ type: Boolean,
171
+ default: false,
172
+ },
173
+ title: {
174
+ type: String,
175
+ default: '地址本',
176
+ },
177
+ width: {
178
+ type: String,
179
+ default: '800px',
180
+ },
181
+ customClass: {
182
+ type: String,
183
+ default: 'address-modal',
184
+ },
185
+ selectDisabled: {
186
+ // 初始化是否将selected传入的人员置灰不能再选
187
+ type: Boolean,
188
+ default: false,
189
+ },
190
+ noAddRecent: {
191
+ // 是否需要添加最近联系人
192
+ // 设置为true之后不会将选中的人加入到最近联系人列表
193
+ type: Boolean,
194
+ default: false,
195
+ },
196
+ hiddenRecently: {
197
+ //是否隐藏最近联系人模块
198
+ type: Boolean,
199
+ default: false,
200
+ },
201
+ footButton: {
202
+ // ['check: 查看当前名单','collect: 收藏当前名单']
203
+ type: Array,
204
+ default: () => ['check'],
205
+ },
206
+ top: {
207
+ // dialog margin-top
208
+ type: String,
209
+ default: '7vh',
210
+ },
211
+ robotsList: {
212
+ type: Array,
213
+ default: () => [],
214
+ },
215
+ loginUserinfo: {
216
+ type: Object,
217
+ default: () => {},
218
+ },
219
+ },
220
+ data() {
221
+ return {
222
+ tabsValue: '', // '组织架构', '群组', '我的好友'
223
+ nowType: '',
224
+ selectedList: [],
225
+ currentList: [],
226
+ recently: [], //最近联系人
227
+ selectDisabledlist: [],
228
+ collectionVisible: false,
229
+ collectionValue: '',
230
+ tabList: [],
231
+ currentListVisible: false,
232
+ footBtnsData: {
233
+ check: {
234
+ title: '查看当前名单',
235
+ id: '1',
236
+ },
237
+ collect: {
238
+ title: '收藏当前名单',
239
+ id: '2',
240
+ },
241
+ },
242
+ }
243
+ },
244
+ provide() {
245
+ return {
246
+ loginUserinfo: this.loginUserinfo,
247
+ interior: this.loginUserinfo.type == 1,
248
+ }
249
+ },
250
+ components: {
251
+ AddreddGroup,
252
+ AddressContent,
253
+ AddressAside,
254
+ addressCurrentList,
255
+ },
256
+ methods: {
257
+ open() {
258
+ // Dialog 打开的回调
259
+ if (this.tabs.length) {
260
+ this.tabList = deepClone(this.tabs)
261
+ // 打开地址本,定位到第一个tab
262
+ } else {
263
+ if (this.loginUserinfo.type == 1) {
264
+ // 内部员工
265
+ this.tabList = ['组织架构', '我的好友']
266
+ } else {
267
+ this.tabList = ['我的好友']
268
+ }
269
+ }
270
+ this.tabsValue = this.tabList[0]
271
+ this.selectedList = deepClone(this.selected)
272
+ if (this.selectDisabled && this.selectedList.length) {
273
+ // 开启了初始数据禁用功能,则在数据初始化时给每一项数据配置item.selectDisabled = true
274
+ this.selectedList.forEach((item) => {
275
+ item.selectDisabled = true
276
+ })
277
+ }
278
+ if (this.selectDisabled) {
279
+ this.selectDisabledlist = deepClone(this.selectedList) || []
280
+ }
281
+ if (!this.hiddenRecently) {
282
+ // 获取最新联系人数据
283
+ this.queryRecentContacts()
284
+ }
285
+ if (this.$refs.addressContent) {
286
+ this.recovery()
287
+ } else {
288
+ this.$nextTick(() => {
289
+ this.recovery()
290
+ })
291
+ }
292
+ this.$emit('open')
293
+ },
294
+ opened() {
295
+ this.$nextTick(() => {
296
+ if (this.$refs.addressContentMyFriend) {
297
+ this.$refs.addressContentMyFriend.myFriendInitData() //获取我的好友数据
298
+ }
299
+ })
300
+ },
301
+ recovery() {
302
+ if (this.$refs.addressContent) {
303
+ this.$refs.addressContent.recoverySelect() //恢复勾选状态
304
+ }
305
+ if (this.$refs.addressContentMyFriend) {
306
+ this.$refs.addressContentMyFriend.recoverySelect() //恢复勾选状态
307
+ }
308
+ },
309
+ // 添加人员
310
+ addSelectionItem(item) {
311
+ if (this.selectDisabled && this.selectDisabledlist.length) {
312
+ let has = false
313
+ has = this.selectDisabledlist.some((it) => {
314
+ return it.hrId == item.hrId
315
+ })
316
+ if (has) return
317
+ }
318
+ if (this.radio) {
319
+ this.selectedList.splice(0, 1, item)
320
+ } else {
321
+ this.selectedList.push(item)
322
+ }
323
+ this.selectedList = unique(this.selectedList, 'hrId')
324
+ this.$refs.addressContent.recoverySelect() //通讯录恢复勾选状态
325
+ // this.$refs.addressContentMyFriend.recoverySelect() //我的好友恢复勾选状态
326
+ },
327
+ // 添加多个人员
328
+ addSelectionList(list) {
329
+ list.forEach((item) => {
330
+ this.selectedList.push(item)
331
+ // this.selectedList.unshift(item)
332
+ })
333
+ this.selectedList = unique(this.selectedList, 'hrId')
334
+ // this.$refs.addressContent.recoverySelect(true, list) //通讯录恢复勾选状态
335
+ // this.$refs.addressContentMyFriend.recoverySelect(true, list) //我的好友恢复勾选状态
336
+ },
337
+ // 删除人员
338
+ deleteSelectionItem(item) {
339
+ if (this.radio) {
340
+ this.selectedList.splice(0, 1)
341
+ } else {
342
+ deleteArrayItem(this.selectedList, item, 'hrId')
343
+ }
344
+ this.$refs.addressContent.recoverySelect() //通讯录恢复勾选状态
345
+ // this.$refs.addressContentMyFriend.recoverySelect() //我的好友恢复勾选状态
346
+ },
347
+ // 删除多个人员
348
+ deleteSelectionList(list) {
349
+ list.forEach((item) => {
350
+ deleteArrayItem(this.selectedList, item, 'hrId')
351
+ })
352
+ // console.log(this.selectedList, 'this.selectedList')
353
+ // this.$refs.addressContent.recoverySelect(false, list) //通讯录恢复勾选状态
354
+ // this.$refs.addressContentMyFriend.recoverySelect(false, list) //我的好友恢复勾选状态
355
+ },
356
+ // 获取最近联系人
357
+ async queryRecentContacts() {
358
+ if (this.hiddenRecently) return
359
+ this.recently = []
360
+ const obj = {
361
+ aduser: this.loginUserinfo.loginName,
362
+ }
363
+ let { vList } = await queryRecentContacts(obj)
364
+ // let { vList } = await this.request({
365
+ // url: '917756',
366
+ // params: {
367
+ // aduser: this.aduser,
368
+ // },
369
+ // })
370
+ let list = unique(vList, 'fdBadge')
371
+ list.map((item) => {
372
+ item.hrId = item.fdBadge
373
+ item.avatar = item.fdImg
374
+ item.name = item.fdName
375
+ item.aduser = item.fdAduser
376
+ item.fdId = item.fdOrgId
377
+ })
378
+ if (this.onlyMailList) {
379
+ // 如果只展示内部员,最近联系人过滤掉合作方人员
380
+ list = list.filter((it) => {
381
+ return it.fdId
382
+ })
383
+ }
384
+ this.recently = list
385
+ },
386
+ // 添加最近联系人
387
+ async addRecentContacts(data) {
388
+ if (data.length) {
389
+ let EContractRecents = []
390
+ data.forEach((item) => {
391
+ let obj = {
392
+ fdOrgId: item.fdId,
393
+ fdOrgType: item.fdOrgType,
394
+ opdate: Format('yyyy-MM-dd hh:mm:ss'),
395
+ fdAduser: item.aduser,
396
+ fdName: item.name,
397
+ aduser: this.loginUserinfo.loginName,
398
+ fdBadge: item.hrId,
399
+ fdImg: item.avatar,
400
+ }
401
+ EContractRecents.push(obj)
402
+ })
403
+ await addRecentContacts({ EContractRecents })
404
+ // await this.request({
405
+ // url: '917754',
406
+ // params: { EContractRecents },
407
+ // })
408
+ // this.queryRecentContacts() //重新获取最近联系人
409
+ }
410
+ },
411
+ asideChange(data) {
412
+ this.$nextTick(() => {
413
+ this.$refs.addressContent.asideChange(data)
414
+ })
415
+ },
416
+ cancel() {
417
+ this.$emit('update:visible', false)
418
+ },
419
+ async submit() {
420
+ // this.$emit('submit', this.deepClone(this.selectedList))
421
+ let submitData = deepClone(this.selectedList)
422
+ let params = { data_list: [] }
423
+
424
+ // console.log('submit', submitData)
425
+ // if(this.nowType=="8")
426
+ submitData.forEach((item) => {
427
+ params.data_list.push({
428
+ type: item.fdOrgType || 8,
429
+ badge: item.hrId || item.depid || item.jobId || item.fdBadge,
430
+ })
431
+ })
432
+
433
+ if (this.needPeopleData) {
434
+ let data = await addPeopleList(params)
435
+ // person_data: submitData:结构数据
436
+ this.$emit('submitted', data?.person_data || [], submitData)
437
+ } else {
438
+ this.$emit('submitted', submitData)
439
+ }
440
+ if (!this.noAddRecent) {
441
+ this.addRecentContacts(submitData)
442
+ }
443
+ this.cancel()
444
+ },
445
+ refreshData() {
446
+ if (!this.selectedList.length) return
447
+ this.$refs.currentList.loading = true
448
+ let submitData = deepClone(this.selectedList)
449
+ let params = { data_list: [] }
450
+ // if(this.nowType=="8")
451
+ submitData.forEach((item) => {
452
+ params.data_list.push({
453
+ type: item.fdOrgType || 8,
454
+ badge: item.hrId || item.depid || item.jobId || item.fdBadge,
455
+ })
456
+ })
457
+ this.updateNewList(params, submitData)
458
+ },
459
+ async updateNewList(params, submitData) {
460
+ let data = await addPeopleList(params)
461
+ this.$refs.currentList.loading = false
462
+ // console.log('paramss555555555', params, submitData, this.selectedList)
463
+ this.currentList = data.person_data
464
+ },
465
+
466
+ collectionShow() {
467
+ this.collectionVisible = true
468
+ },
469
+ collectionSubmit() {},
470
+ collectionClose() {},
471
+ currentListShow() {
472
+ this.currentListVisible = true
473
+ },
474
+ footBtnsClick(id) {
475
+ switch (id) {
476
+ case '1':
477
+ this.currentListShow()
478
+ break
479
+ case '2':
480
+ this.collectionShow()
481
+ break
482
+ }
483
+ },
484
+ handle() {
485
+ // console.log('子组件')
486
+ },
487
+ },
488
+
489
+ mounted() {},
490
+ created() {},
491
+ computed: {
492
+ footBtns() {
493
+ let arr = []
494
+ this.footButton.forEach((item) => {
495
+ arr.push(this.footBtnsData[item])
496
+ })
497
+ return arr
498
+ },
499
+ },
500
+ }
501
+ </script>
502
+
503
+ <style lang="scss" scoped>
504
+ $border-color: rgba(0, 0, 0, 0.09);
505
+ ::v-deep .el-dialog {
506
+ .el-table .el-table__body-wrapper::-webkit-scrollbar-thumb {
507
+ background-color: rgba(0, 0, 0, 0.09);
508
+ border-radius: 8px;
509
+ }
510
+ box-sizing: border-box;
511
+ .el-autocomplete {
512
+ display: block;
513
+ }
514
+ .el-dialog__header {
515
+ display: flex;
516
+ padding: 0 16px;
517
+ border-bottom: 1px solid rgba(0, 0, 0, 0.09);
518
+ height: 56px;
519
+ line-height: 56px;
520
+ .el-dialog__headerbtn {
521
+ right: 16px;
522
+ }
523
+ }
524
+ .tabs {
525
+ position: absolute;
526
+ top: 12px;
527
+ left: 82px;
528
+ height: 32px;
529
+ line-height: 32px;
530
+ .el-radio-button {
531
+ &.is-active {
532
+ .el-radio-button__inner {
533
+ color: #fff;
534
+ }
535
+ }
536
+ &:first-child {
537
+ .el-radio-button__inner {
538
+ border-radius: 2px 0 0 2px !important;
539
+ }
540
+ }
541
+ &:last-child {
542
+ .el-radio-button__inner {
543
+ border-radius: 0 2px 2px 0 !important;
544
+ }
545
+ }
546
+ .el-radio-button__inner {
547
+ padding: 0;
548
+ width: 74px;
549
+ height: 32px;
550
+ line-height: 32px;
551
+ font-size: 14px;
552
+ box-shadow: none !important;
553
+ border-color: #f44336;
554
+ color: #f44336;
555
+ }
556
+ }
557
+ }
558
+ .address-list {
559
+ position: relative;
560
+ }
561
+ .recently {
562
+ display: flex;
563
+ padding: 0 16px 0;
564
+ border-bottom: 1px solid $border-color;
565
+ min-height: 110px;
566
+ .recently-title {
567
+ white-space: nowrap;
568
+ margin-right: 24px;
569
+ padding-top: 16px;
570
+ color: $hr-color85;
571
+ }
572
+ }
573
+ .content {
574
+ display: flex;
575
+ height: 49vh;
576
+ max-height: 508px;
577
+ border-bottom: 1px solid $border-color;
578
+ padding: 0 16px 0;
579
+ &.mail-list-content {
580
+ .content-aside {
581
+ box-sizing: border-box;
582
+ width: 262px;
583
+ height: 100%;
584
+ border-right: 1px solid $border-color;
585
+ padding-top: 16px;
586
+ }
587
+ .content-table {
588
+ box-sizing: border-box;
589
+ padding-top: 16px;
590
+ width: calc(100% - 262px);
591
+ height: 100%;
592
+ &.w100 {
593
+ width: 100%;
594
+ }
595
+ }
596
+ .w100 {
597
+ width: 100%;
598
+ }
599
+ }
600
+ }
601
+ .selected {
602
+ min-height: 93px;
603
+ padding: 0 24px;
604
+ .no-selected-data {
605
+ display: inline-block;
606
+ width: 100%;
607
+ text-align: center;
608
+ height: 93px;
609
+ line-height: 93px;
610
+ font-size: 14px;
611
+ color: rgba(0, 0, 0, 0.25);
612
+ user-select: none;
613
+ }
614
+ }
615
+ .el-dialog__footer {
616
+ border-top: 1px solid rgba(0, 0, 0, 0.09);
617
+ margin-top: -1px;
618
+ .address-foot {
619
+ display: flex;
620
+ justify-content: space-between;
621
+ .foot-right {
622
+ .el-button {
623
+ margin-right: 0;
624
+ margin-left: 12px;
625
+ }
626
+ .foot-selected-num {
627
+ font-size: 14px;
628
+ color: rgba(0, 0, 0, 0.65);
629
+ margin-right: 12px;
630
+ }
631
+ }
632
+ }
633
+ }
634
+ }
635
+ </style>
636
+ <style scoped>
637
+ @import url('../../../src/theme/element-ui-theme/theme/index.css');
638
+ @import url('../../../src/assets/icon-font/iconfont.css');
639
+ </style>