address-book-shell 0.0.23 → 0.0.25
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/README.md +95 -35
- package/lib/address-book-shell.common.js +1566 -380
- package/lib/address-book-shell.umd.js +1570 -384
- package/lib/address-book-shell.umd.min.js +1 -1
- package/package.json +1 -1
- package/packages/address-book/assets/img/menuBG.png +0 -0
- package/packages/address-book/assets/img/new.png +0 -0
- package/packages/address-book/src/components/address-aside.vue +5 -3
- package/packages/address-book/src/components/address-autocomplete/index.vue +141 -0
- package/packages/address-book/src/components/address-autocomplete/suggestions.vue +120 -0
- package/packages/address-book/src/components/address-content.vue +5 -3
- package/packages/address-book/src/components/address-updata.vue +465 -0
- package/packages/address-book/src/index.vue +756 -163
- package/src/api/address-list-api.js +19 -0
- package/src/assets/icon-font/demo_index.html +4978 -2057
- package/src/assets/icon-font/iconfont.css +514 -6
- package/src/assets/icon-font/iconfont.eot +0 -0
- package/src/assets/icon-font/iconfont.js +1 -1
- package/src/assets/icon-font/iconfont.json +889 -0
- package/src/assets/icon-font/iconfont.svg +255 -1
- package/src/assets/icon-font/iconfont.ttf +0 -0
- package/src/assets/icon-font/iconfont.woff +0 -0
- package/src/assets/icon-font/iconfont.woff2 +0 -0
- package/src/utils/util.js +110 -0
package/README.md
CHANGED
|
@@ -3,17 +3,27 @@
|
|
|
3
3
|
|
|
4
4
|
> 目录
|
|
5
5
|
|
|
6
|
-
[
|
|
6
|
+
[TOC]
|
|
7
|
+
|
|
8
|
+
### Install
|
|
9
|
+
#### NPM
|
|
10
|
+
``` bash
|
|
11
|
+
npm install address-book-shell --save
|
|
12
|
+
```
|
|
13
|
+
#### Yarn
|
|
14
|
+
|
|
15
|
+
``` bash
|
|
16
|
+
yarn add address-book-shell
|
|
17
|
+
```
|
|
7
18
|
|
|
8
|
-
### 组件下载
|
|
9
|
-
npm i address-book-shell
|
|
10
19
|
<br/> 或
|
|
11
20
|
<br/>yarn add address-book-shell
|
|
12
21
|
|
|
13
22
|
### 组件注册
|
|
14
|
-
```
|
|
23
|
+
```js
|
|
15
24
|
import microserviceRequest from '@/utils/microService/microService-request.js'
|
|
16
25
|
import AddressBookShell from 'address-book-shell'
|
|
26
|
+
import 'address-book-shell/src/theme/element-ui-theme/element-ui-common.scss'
|
|
17
27
|
Vue.use(AddressBookShell, {
|
|
18
28
|
microserviceRequest: microserviceRequest,
|
|
19
29
|
})
|
|
@@ -43,7 +53,7 @@ Vue.use(AddressBookShell, {
|
|
|
43
53
|
#### selected
|
|
44
54
|
地址本需要默认勾选人员,可以通过selected将需要勾选的数据传入地址本;
|
|
45
55
|
数据格式如下:
|
|
46
|
-
```
|
|
56
|
+
``` js
|
|
47
57
|
selected: [
|
|
48
58
|
{
|
|
49
59
|
avatar:'xxx', // 头像地址
|
|
@@ -59,6 +69,14 @@ Vue.use(AddressBookShell, {
|
|
|
59
69
|
name: 'xxxx',
|
|
60
70
|
fdOrgType: '8',
|
|
61
71
|
},
|
|
72
|
+
{
|
|
73
|
+
avatar: 'xxxxxxxxxxxxx',
|
|
74
|
+
hrId: 'xxx',
|
|
75
|
+
aduser: '',
|
|
76
|
+
name: 'xxxxxxxx',
|
|
77
|
+
fdOrgType: '4',
|
|
78
|
+
detailedPerson: 'xxxxxxxxxxxx', //非必须,用于鼠标经过岗位或部门时提示人员详情
|
|
79
|
+
},
|
|
62
80
|
],
|
|
63
81
|
|
|
64
82
|
<address-book-shell
|
|
@@ -76,19 +94,21 @@ Vue.use(AddressBookShell, {
|
|
|
76
94
|
/>
|
|
77
95
|
```
|
|
78
96
|
|
|
79
|
-
####
|
|
80
|
-
|
|
97
|
+
#### onlyOriginalData
|
|
98
|
+
默认为false,此时地址本点确定按钮会调用接口,将岗位和部门转化为人员数据,并通过submitted方法返回给业务方。如果仅需要原始的勾选数据,则可以配置needPeopleData属性,直接返回数据避免调用接口,可以减少地址的本反应时间。
|
|
99
|
+
|
|
100
|
+
> 注意,如果没有配置该属性,且勾选的只有人员数据,点击地址本确定按钮时也不会调用接口而是直接将人员数据直接返回。
|
|
101
|
+
|
|
81
102
|
```html
|
|
82
103
|
<address-book-shell
|
|
83
|
-
|
|
104
|
+
onlyOriginalData
|
|
84
105
|
/>
|
|
85
106
|
```
|
|
86
|
-
注意,配置了这个属性之后点击确定的时候会调用接口获取部门和岗位下的人员数据,因此最终数据的返回会稍有延迟。
|
|
87
107
|
|
|
88
108
|
#### typeList
|
|
89
109
|
地址本模糊搜索权限默认是根据用户身份自动配置的,但如果想自定义模糊搜索权限,则可以通过传入typeList来控制。
|
|
90
110
|
例如仅开启人员权限
|
|
91
|
-
```
|
|
111
|
+
``` js
|
|
92
112
|
typeList: ['人员']
|
|
93
113
|
<address-book-shell
|
|
94
114
|
:typeList='typeList'
|
|
@@ -104,7 +124,7 @@ Vue.use(AddressBookShell, {
|
|
|
104
124
|
#### tabs
|
|
105
125
|
与onlyMailList一样都是用来控制地址本加载模块的。如果想自定义加载的模块,可手动配置tabs参数来实现。
|
|
106
126
|
例如:
|
|
107
|
-
```
|
|
127
|
+
``` js
|
|
108
128
|
tabs: ['通讯录', '合作方好友']
|
|
109
129
|
<address-book-shell
|
|
110
130
|
:tabs='tabs'
|
|
@@ -118,7 +138,7 @@ Vue.use(AddressBookShell, {
|
|
|
118
138
|
radio
|
|
119
139
|
/>
|
|
120
140
|
```
|
|
121
|
-
>注意:如果开启了单选模式,selected
|
|
141
|
+
>注意:如果开启了单选模式,selected传入的数据又不止一个的话,地址本只会获取第一项数据,其他数据将被抛弃。
|
|
122
142
|
|
|
123
143
|
#### title
|
|
124
144
|
地址本组件的标题,默认为'地址本'。
|
|
@@ -158,7 +178,7 @@ Vue.use(AddressBookShell, {
|
|
|
158
178
|
隐藏最近联系人模块,设置改属性之后,地址本上将不在显示地址本模块
|
|
159
179
|
```html
|
|
160
180
|
<address-book-shell
|
|
161
|
-
|
|
181
|
+
hiddenRecently
|
|
162
182
|
/>
|
|
163
183
|
```
|
|
164
184
|
|
|
@@ -179,7 +199,7 @@ Vue.use(AddressBookShell, {
|
|
|
179
199
|
```
|
|
180
200
|
#### robotsList
|
|
181
201
|
机器人数据,不传或传[],不会显示机器人模块
|
|
182
|
-
```
|
|
202
|
+
``` js
|
|
183
203
|
robotsList: [
|
|
184
204
|
{
|
|
185
205
|
add_im_group: 1,
|
|
@@ -205,7 +225,7 @@ Vue.use(AddressBookShell, {
|
|
|
205
225
|
|
|
206
226
|
#### loginUserinfo
|
|
207
227
|
cas单点登录会回来的用户信息,毕传,否则地址本将无法正常使用.
|
|
208
|
-
```
|
|
228
|
+
``` js
|
|
209
229
|
loginUserinfo: {
|
|
210
230
|
dept: "公司领导",
|
|
211
231
|
deptId: "D1",
|
|
@@ -225,19 +245,28 @@ Vue.use(AddressBookShell, {
|
|
|
225
245
|
```
|
|
226
246
|
|
|
227
247
|
#### searchStatus
|
|
228
|
-
控制模糊搜索的权限,'1'
|
|
248
|
+
控制模糊搜索的权限,'1':搜索全部; '2':仅内部; '3':仅合作方。如果没有手动配置,地址本会根据使用场景自动分配权限:长江e家默认'1',web默认'2'
|
|
229
249
|
```html
|
|
230
250
|
<address-book-shell
|
|
231
251
|
searchStatus='1'
|
|
232
252
|
/>
|
|
233
253
|
```
|
|
234
254
|
|
|
255
|
+
#### nameImport
|
|
256
|
+
是否开启地址本的名单导入功能,开启后开放名单导入按钮。
|
|
257
|
+
``` html
|
|
258
|
+
<address-book-shell
|
|
259
|
+
nameImport
|
|
260
|
+
/>
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
|
|
235
264
|
### 属性总览
|
|
236
265
|
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
|
237
266
|
| :--- | :--- | :--- | :---: |:---: |
|
|
238
267
|
| selected | 地址本初始化默认选中的人员数据 | Array | - | [] |
|
|
239
268
|
| selectDisabled | 是否将selected传入的人员置灰不能再选 | Boolean | - | false |
|
|
240
|
-
|
|
|
269
|
+
| onlyOriginalData | 是否只需要原始勾选的数据(设置为true将勾选的数据直接返回;设置为false则会在submitted回调中返回 【仅人员数据,仅结构数据,勾选的原始数据】三个参数) | Boolean | - | false |
|
|
241
270
|
| typeList | 用来控制模糊搜索下拉选项内容 | Array | [ '全部','部门' ,'岗位' ,'人员'] | ['全部','部门','岗位','人员'] |
|
|
242
271
|
| onlyMailList | 是否只展示通讯录模块 | Boolean | - | false |
|
|
243
272
|
| tabs | 自定义tabs的内容,如果不传或传空数组,将根据身份动态显示合适的模块 | Array | ['通讯录','合作方好友] | [] |
|
|
@@ -252,6 +281,7 @@ Vue.use(AddressBookShell, {
|
|
|
252
281
|
| robotsList | 机器人数据,不传或传[],不会显示机器人模块 | Array | - | [] |
|
|
253
282
|
| loginUserinfo | cas登录返回的用户信息(必传) | Object | - | {} |
|
|
254
283
|
| searchStatus | 搜索框权限控制 | String | '1':搜索全部;'2':仅内部;'3':仅合作方 | 长江e家默认'1',web默认'2' |
|
|
284
|
+
| nameImport | 是否开启名单导入功能 | Boolean | - | false |
|
|
255
285
|
|
|
256
286
|
|
|
257
287
|
|
|
@@ -260,30 +290,60 @@ Vue.use(AddressBookShell, {
|
|
|
260
290
|
> 注意:地址本组件继承了element-ui库Dialog组件的全部事件,即Dialog事件全部适用本组件。
|
|
261
291
|
|
|
262
292
|
#### submitted
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
293
|
+
点击地址本确定按钮的回调事件,将根据是否配置onlyOriginalData属性返回不同的值
|
|
294
|
+
|
|
295
|
+
``` html
|
|
296
|
+
<address-book-shell
|
|
266
297
|
@submitted='submitted'
|
|
267
298
|
/>
|
|
268
|
-
|
|
269
|
-
submitted(
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
// avatar:'xxxx', // 头像地址
|
|
274
|
-
// fdOrgType:'x', // 数据类型 '2': 部门 ; '4':岗位 ; '8': 人员
|
|
275
|
-
// hrId:'', // '100001111'
|
|
276
|
-
// name:'xxx' // 中文名称
|
|
277
|
-
// ]
|
|
278
|
-
},
|
|
299
|
+
|
|
300
|
+
submitted(person_data,type_list,data){
|
|
301
|
+
console.log(person_data,'人员数据,包含了部门和岗位中的人员')
|
|
302
|
+
console.log(type_list,'已选的结构数据,仅包含已选了部门和岗位,不包含人员数据')
|
|
303
|
+
console.log(data,'默认勾选的所有数据数据,包含勾选的人员、部门和岗位')
|
|
279
304
|
}
|
|
280
|
-
|
|
281
|
-
> **注意:如果地址本外面需要操作数据,可以操作地址本暴露出去的数据,完成之后再通过selected传入地址本即可**
|
|
305
|
+
```
|
|
282
306
|
|
|
307
|
+
``` html
|
|
308
|
+
<address-book-shell
|
|
309
|
+
onlyOriginalData
|
|
310
|
+
@submitted='submitted'
|
|
311
|
+
/>
|
|
312
|
+
|
|
313
|
+
submitted(data){
|
|
314
|
+
console.log('默认勾选的所有数据数据,包含勾选的人员、部门和岗位')
|
|
315
|
+
}
|
|
316
|
+
```
|
|
317
|
+
#### add
|
|
318
|
+
地址本勾选时触发,返回两个参数,类型全部为数组,第一个参数为新勾选的数据;第二参数为勾选的全部数据
|
|
319
|
+
``` html
|
|
320
|
+
<address-book-shell
|
|
321
|
+
@add='add'
|
|
322
|
+
/>
|
|
323
|
+
add(data,selectList) {
|
|
324
|
+
console.log('新勾选的数据',data)
|
|
325
|
+
console.log('勾选的全部数据',selectList)
|
|
326
|
+
}
|
|
327
|
+
```
|
|
328
|
+
#### remove
|
|
329
|
+
地址本取消勾选时触发,返回两个参数,类型全部为数组,第一个参数为取消勾选的数据;第二参数为勾选的全部数据
|
|
330
|
+
``` html
|
|
331
|
+
<address-book-shell
|
|
332
|
+
@remove='remove'
|
|
333
|
+
/>
|
|
334
|
+
remove(data,selectList) {
|
|
335
|
+
console.log('取消勾选的数据',data)
|
|
336
|
+
console.log('勾选的全部数据',selectList)
|
|
337
|
+
}
|
|
338
|
+
```
|
|
283
339
|
|
|
284
|
-
###
|
|
340
|
+
### 事件总览
|
|
285
341
|
组件自定义事件:
|
|
286
342
|
| 事件名称 | 说明 | 回调参数 |
|
|
287
343
|
| :--- | :--- | :-- |
|
|
288
|
-
| submitted | 点击确实按钮的回调
|
|
344
|
+
| submitted | 点击确实按钮的回调 | [全部人员数据],[仅结构数据],[原始勾选数据] 或 [原始勾选数据]|
|
|
345
|
+
| add | 新增勾选的回调 | [新增勾选数据],[勾选的全部数据] |
|
|
346
|
+
| remove | 取消勾选的回调 | [取消勾选数据],[勾选的全部数据] |
|
|
347
|
+
|
|
348
|
+
|
|
289
349
|
|