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 CHANGED
@@ -3,17 +3,27 @@
3
3
 
4
4
  > 目录
5
5
 
6
- [toc]
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
- ```javascript
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
- ```javascript
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
- #### needPeopleData
80
- 默认情况下,地址本会返回选中的原始数据。例如选中了部门或岗位,地址本会返回这个部门或岗位本身。如果需要部门或岗位转换成人员再返回, 则可以配needPeopleData属性。
97
+ #### onlyOriginalData
98
+ 默认为false,此时地址本点确定按钮会调用接口,将岗位和部门转化为人员数据,并通过submitted方法返回给业务方。如果仅需要原始的勾选数据,则可以配置needPeopleData属性,直接返回数据避免调用接口,可以减少地址的本反应时间。
99
+
100
+ > 注意,如果没有配置该属性,且勾选的只有人员数据,点击地址本确定按钮时也不会调用接口而是直接将人员数据直接返回。
101
+
81
102
  ```html
82
103
  <address-book-shell
83
- needPeopleData
104
+ onlyOriginalData
84
105
  />
85
106
  ```
86
- 注意,配置了这个属性之后点击确定的时候会调用接口获取部门和岗位下的人员数据,因此最终数据的返回会稍有延迟。
87
107
 
88
108
  #### typeList
89
109
  地址本模糊搜索权限默认是根据用户身份自动配置的,但如果想自定义模糊搜索权限,则可以通过传入typeList来控制。
90
110
  例如仅开启人员权限
91
- ```javascript
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
- ```javascript
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
- noAddRecent
181
+ hiddenRecently
162
182
  />
163
183
  ```
164
184
 
@@ -179,7 +199,7 @@ Vue.use(AddressBookShell, {
179
199
  ```
180
200
  #### robotsList
181
201
  机器人数据,不传或传[],不会显示机器人模块
182
- ```javascript
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
- ```javascript
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':搜索全部;'2':仅内部;'3':仅合作方.此外,地址本还会根据使用场景自动分配权限:长江e家默认'1',web默认'2'
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
- | needPeopleData | 是否只需要人员数据(设置为true不会再返回已选岗位和部门,会将所选全部转换为人员后再返回) | Boolean | - | false |
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
- ```html
265
- <address-book-shell
293
+ 点击地址本确定按钮的回调事件,将根据是否配置onlyOriginalData属性返回不同的值
294
+
295
+ ``` html
296
+ <address-book-shell
266
297
  @submitted='submitted'
267
298
  />
268
- methods:{
269
- submitted(list) {
270
- console.log(list, 'submitted')
271
- // list:[
272
- // aduser:'xxx', // OA
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