address-book-shell 0.0.37 → 0.0.39
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/CHANGELOG.md +14 -2
- package/README.md +94 -21
- package/lib/address-book-shell.common.js +917 -422
- package/lib/address-book-shell.umd.js +917 -422
- package/lib/address-book-shell.umd.min.js +1 -1
- package/package.json +3 -3
- package/packages/address-book/src/components/address-change-list.vue +297 -0
- package/packages/address-book/src/components/address-content.vue +44 -9
- package/packages/address-book/src/components/address-group-item.vue +5 -1
- package/packages/address-book/src/constants.js +50 -0
- package/packages/address-book/src/index.vue +155 -102
- package/packages/address-book/src/utils/util.js +16 -0
- package/src/api/address-list-api.js +7 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,16 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
-
### 0.0.
|
|
5
|
+
### 0.0.39 (2026-01-15)
|
|
6
|
+
|
|
7
|
+
* 新增 增加是否禁止选择领导功能([8819e551](https://gitlab.cjsc.com.cn/cjsc-backend/address-book/-/commit/8819e551103b78230ff44ead6424b21775c3d9bc))
|
|
8
|
+
* 新增 群聊人员变动超过5人显示人员变动弹层([5d7730e8](https://gitlab.cjsc.com.cn/cjsc-backend/address-book/-/commit/5d7730e880f6be3b70758eb992a04a2e030ed2ef))
|
|
9
|
+
* 新增 本地变动名单按钮及弹层([574fd322](https://gitlab.cjsc.com.cn/cjsc-backend/address-book/-/commit/574fd3220aea143f5d41dcbd881fae68549c7935))
|
|
10
|
+
|
|
11
|
+
### 0.0.38 (2024-08-27)
|
|
12
|
+
|
|
13
|
+
* bug修复([91634284](https://gitlab.cjsc.com.cn/cjsc-backend/address-book/-/commit/91634284333c772095e2f964ac46ca3cd686fbde))
|
|
14
|
+
|
|
15
|
+
### 0.0.37 (2024-01-15)
|
|
16
|
+
|
|
6
17
|
* 解决开启仅显示新增人员功能时,已选人数异常问题([c1f35729](https://gitlab.cjsc.com.cn/cjsc-backend/address-book/-/commit/c1f35729b73c9b02024927c156d00fc44ba3a0d8))
|
|
7
18
|
|
|
8
19
|
### 0.0.36 (2024-12-11)
|
|
20
|
+
|
|
9
21
|
* 重复选人时给出提示([8f059456](https://gitlab.cjsc.com.cn/cjsc-backend/address-book/-/commit/8f0594566ae49dadd27cf3469662eb495ddb0798))
|
|
10
22
|
* 新增showOnlyNewPersonnel配置,增加是否只展示新勾选人员功能([23790a1c](https://gitlab.cjsc.com.cn/cjsc-backend/address-book/-/commit/23790a1c77c81a96edc5a8eefec12c5bcd1c3a8c))
|
|
11
23
|
* 搜索框自定义下拉框增加滚动监听事件([bcd0064b](https://gitlab.cjsc.com.cn/cjsc-backend/address-book/-/commit/bcd0064b3870aef2781433fd96dae555251b0391))
|
|
12
24
|
|
|
13
|
-
|
|
14
25
|
### 0.0.35 (2024-09-11)
|
|
26
|
+
|
|
15
27
|
* 上传附件增加对wps非标准 MIME 类型支持([ddf8fccd](https://gitlab.cjsc.com.cn/cjsc-backend/address-book/-/commit/ddf8fccdf3a25461c2c645d2406ac8504f59a006))
|
|
16
28
|
* 查询下拉框样式调整([f19991e8](https://gitlab.cjsc.com.cn/cjsc-backend/address-book/-/commit/f19991e8af0fb023fc3d868dedd20b54d812bf55))
|
|
17
29
|
|
package/README.md
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
# address-book-shell
|
|
1
|
+
# address-book-shell
|
|
2
|
+
|
|
2
3
|
基于vue2和element-ui开发的地址本组件
|
|
3
4
|
|
|
4
5
|
> 目录
|
|
@@ -6,20 +7,21 @@
|
|
|
6
7
|
[TOC]
|
|
7
8
|
|
|
8
9
|
### Install
|
|
10
|
+
|
|
9
11
|
#### NPM
|
|
12
|
+
|
|
10
13
|
``` bash
|
|
11
14
|
npm install address-book-shell --save
|
|
12
15
|
```
|
|
16
|
+
|
|
13
17
|
#### Yarn
|
|
14
18
|
|
|
15
19
|
``` bash
|
|
16
20
|
yarn add address-book-shell
|
|
17
21
|
```
|
|
18
22
|
|
|
19
|
-
<br/> 或
|
|
20
|
-
<br/>yarn add address-book-shell
|
|
21
|
-
|
|
22
23
|
### 组件注册
|
|
24
|
+
|
|
23
25
|
```js
|
|
24
26
|
import microserviceRequest from '@/utils/microService/microService-request.js'
|
|
25
27
|
import AddressBookShell from 'address-book-shell'
|
|
@@ -28,11 +30,13 @@ Vue.use(AddressBookShell, {
|
|
|
28
30
|
microserviceRequest: microserviceRequest,
|
|
29
31
|
})
|
|
30
32
|
```
|
|
31
|
-
|
|
33
|
+
|
|
34
|
+
microserviceRequest是封装好的微服务请求方法,出于安全考虑,此方法不放在公网,因此需要业务方自行传入,否则无法使用本组件;
|
|
32
35
|
<br/>
|
|
33
36
|
<br/>至此,地址本注册就完成了
|
|
34
37
|
|
|
35
38
|
### 组件使用
|
|
39
|
+
|
|
36
40
|
需要使用地址本的项目要接入cas单点登录,然后注册地址本即可使用。
|
|
37
41
|
|
|
38
42
|
``` html
|
|
@@ -48,11 +52,14 @@ Vue.use(AddressBookShell, {
|
|
|
48
52
|
```
|
|
49
53
|
|
|
50
54
|
### 组件属性
|
|
55
|
+
>
|
|
51
56
|
> 注意:地址本组件继承了element-ui库Dialog组件的全部属性,即Dialog属性全部适用本组件。
|
|
52
57
|
|
|
53
58
|
#### selected
|
|
59
|
+
|
|
54
60
|
地址本需要默认勾选人员,可以通过selected将需要勾选的数据传入地址本;
|
|
55
61
|
数据格式如下:
|
|
62
|
+
|
|
56
63
|
``` js
|
|
57
64
|
selected: [
|
|
58
65
|
{
|
|
@@ -84,27 +91,33 @@ Vue.use(AddressBookShell, {
|
|
|
84
91
|
/>
|
|
85
92
|
|
|
86
93
|
```
|
|
94
|
+
|
|
87
95
|
以上列出的属性为必须属性,如添加了其他非必须属性,点击确定时也会原封不动暴露出去。
|
|
88
|
-
|
|
89
|
-
|
|
96
|
+
|
|
97
|
+
#### selectDisabled
|
|
98
|
+
|
|
90
99
|
selected传入的默认选中状态是可以在地址本中取消选中的,如果不希望操作默认选中的数据,可配置selectDisabled属性,将默认传入的数据状态禁止操作。
|
|
100
|
+
|
|
91
101
|
```html
|
|
92
102
|
<address-book-shell
|
|
93
103
|
selectDisabled
|
|
94
104
|
/>
|
|
95
105
|
```
|
|
96
106
|
|
|
97
|
-
|
|
107
|
+
#### showOnlyNewPersonnel
|
|
108
|
+
|
|
98
109
|
是否只展示新增的人员列表。
|
|
99
|
-
|
|
110
|
+
|
|
100
111
|
值为1,展示全部人员包括selected传进来的人员;值为2则只显示新增人员。不设置则默认取selectDisabled的值;
|
|
112
|
+
|
|
101
113
|
```html
|
|
102
114
|
<address-book-shell
|
|
103
115
|
:selectDisabled='2'
|
|
104
116
|
/>
|
|
105
117
|
```
|
|
106
118
|
|
|
107
|
-
|
|
119
|
+
#### onlyOriginalData
|
|
120
|
+
|
|
108
121
|
默认为false,此时地址本点确定按钮会调用接口,将岗位和部门转化为人员数据,并通过submitted方法返回给业务方。如果仅需要原始的勾选数据,则可以配置needPeopleData属性,直接返回数据避免调用接口,可以减少地址的本反应时间。
|
|
109
122
|
|
|
110
123
|
> 注意,如果没有配置该属性,且勾选的只有人员数据,点击地址本确定按钮时也不会调用接口而是直接将人员数据直接返回。
|
|
@@ -115,25 +128,33 @@ Vue.use(AddressBookShell, {
|
|
|
115
128
|
/>
|
|
116
129
|
```
|
|
117
130
|
|
|
118
|
-
|
|
131
|
+
#### typeList
|
|
132
|
+
|
|
119
133
|
地址本模糊搜索权限默认是根据用户身份自动配置的,但如果想自定义模糊搜索权限,则可以通过传入typeList来控制。
|
|
120
134
|
例如仅开启人员权限
|
|
135
|
+
|
|
121
136
|
``` js
|
|
122
137
|
typeList: ['人员']
|
|
123
138
|
<address-book-shell
|
|
124
139
|
:typeList='typeList'
|
|
125
140
|
/>
|
|
126
141
|
```
|
|
142
|
+
|
|
127
143
|
#### onlyMailList
|
|
144
|
+
|
|
128
145
|
地址本默认会根据身份自动加载对应模块,内部员默认加载通讯录和合作方好友模块,如果内部员工只想加载通讯录模块,可以设置onlyMailList属性快速设置
|
|
146
|
+
|
|
129
147
|
```html
|
|
130
148
|
<address-book-shell
|
|
131
149
|
onlyMailList
|
|
132
150
|
/>
|
|
133
151
|
```
|
|
152
|
+
|
|
134
153
|
#### tabs
|
|
154
|
+
|
|
135
155
|
与onlyMailList一样都是用来控制地址本加载模块的。如果想自定义加载的模块,可手动配置tabs参数来实现。
|
|
136
156
|
例如:
|
|
157
|
+
|
|
137
158
|
``` js
|
|
138
159
|
tabs: ['通讯录', '合作方好友']
|
|
139
160
|
<address-book-shell
|
|
@@ -141,17 +162,22 @@ Vue.use(AddressBookShell, {
|
|
|
141
162
|
/>
|
|
142
163
|
```
|
|
143
164
|
|
|
144
|
-
|
|
165
|
+
#### radio
|
|
166
|
+
|
|
145
167
|
地址本是否开启单选模式
|
|
168
|
+
|
|
146
169
|
```html
|
|
147
170
|
<address-book-shell
|
|
148
171
|
radio
|
|
149
172
|
/>
|
|
150
173
|
```
|
|
174
|
+
|
|
151
175
|
>注意:如果开启了单选模式,selected传入的数据又不止一个的话,地址本只会获取第一项数据,其他数据将被抛弃。
|
|
152
176
|
|
|
153
177
|
#### title
|
|
178
|
+
|
|
154
179
|
地址本组件的标题,默认为'地址本'。
|
|
180
|
+
|
|
155
181
|
```html
|
|
156
182
|
<address-book-shell
|
|
157
183
|
title='测试地址本'
|
|
@@ -159,25 +185,29 @@ Vue.use(AddressBookShell, {
|
|
|
159
185
|
```
|
|
160
186
|
|
|
161
187
|
#### width
|
|
188
|
+
|
|
162
189
|
地址本弹层的宽度,默认为'800px'
|
|
190
|
+
|
|
163
191
|
```html
|
|
164
192
|
<address-book-shell
|
|
165
193
|
width='800px'
|
|
166
194
|
/>
|
|
167
195
|
```
|
|
168
196
|
|
|
169
|
-
|
|
170
197
|
#### customClass
|
|
198
|
+
|
|
171
199
|
自定义地址本的class类名,默认为address-modal,设置自定义类型即可定制一些样式。
|
|
200
|
+
|
|
172
201
|
```html
|
|
173
202
|
<address-book-shell
|
|
174
203
|
customClass='demo-address'
|
|
175
204
|
/>
|
|
176
205
|
```
|
|
177
206
|
|
|
178
|
-
|
|
179
207
|
#### noAddRecent
|
|
208
|
+
|
|
180
209
|
是否不需要添加最近联系人,设置改属性之后点击确定按钮不会将已选人写入最近联系人
|
|
210
|
+
|
|
181
211
|
```html
|
|
182
212
|
<address-book-shell
|
|
183
213
|
noAddRecent
|
|
@@ -185,7 +215,9 @@ Vue.use(AddressBookShell, {
|
|
|
185
215
|
```
|
|
186
216
|
|
|
187
217
|
#### hiddenRecently
|
|
218
|
+
|
|
188
219
|
隐藏最近联系人模块,设置改属性之后,地址本上将不在显示地址本模块
|
|
220
|
+
|
|
189
221
|
```html
|
|
190
222
|
<address-book-shell
|
|
191
223
|
hiddenRecently
|
|
@@ -193,22 +225,31 @@ Vue.use(AddressBookShell, {
|
|
|
193
225
|
```
|
|
194
226
|
|
|
195
227
|
#### footButton
|
|
228
|
+
|
|
196
229
|
自定义左下角功能按钮,目前可以控制两个按钮,查看当前名单和收藏当前名单(未开发完成),其中查看当前名单会动态显影,即只有选择了部门或岗位才回显,仅选择了人员该按钮不会显示.
|
|
230
|
+
|
|
197
231
|
```html
|
|
198
232
|
<address-book-shell
|
|
199
233
|
:footButton="['check']"
|
|
200
234
|
/>
|
|
201
235
|
```
|
|
202
236
|
|
|
237
|
+
>注意:配置了change并不会一定显示“本次变动名单”按钮,selected必须有值才会显示。
|
|
238
|
+
|
|
203
239
|
#### top
|
|
240
|
+
|
|
204
241
|
自定义地址本组件margin-top值,默认为'7vh'
|
|
242
|
+
|
|
205
243
|
```html
|
|
206
244
|
<address-book-shell
|
|
207
245
|
top='7vh'
|
|
208
246
|
/>
|
|
209
247
|
```
|
|
248
|
+
|
|
210
249
|
#### robotsList
|
|
250
|
+
|
|
211
251
|
机器人数据,不传或传[],不会显示机器人模块
|
|
252
|
+
|
|
212
253
|
``` js
|
|
213
254
|
robotsList: [
|
|
214
255
|
{
|
|
@@ -233,8 +274,10 @@ Vue.use(AddressBookShell, {
|
|
|
233
274
|
/>
|
|
234
275
|
```
|
|
235
276
|
|
|
236
|
-
|
|
277
|
+
#### loginUserinfo
|
|
278
|
+
|
|
237
279
|
cas单点登录会回来的用户信息,毕传,否则地址本将无法正常使用.
|
|
280
|
+
|
|
238
281
|
``` js
|
|
239
282
|
loginUserinfo: {
|
|
240
283
|
dept: "公司领导",
|
|
@@ -254,8 +297,10 @@ Vue.use(AddressBookShell, {
|
|
|
254
297
|
/>
|
|
255
298
|
```
|
|
256
299
|
|
|
257
|
-
|
|
300
|
+
#### searchStatus
|
|
301
|
+
|
|
258
302
|
控制模糊搜索的权限,'1':搜索全部; '2':仅内部; '3':仅合作方。如果没有手动配置,地址本会根据使用场景自动分配权限:长江e家默认'1',web默认'2'
|
|
303
|
+
|
|
259
304
|
```html
|
|
260
305
|
<address-book-shell
|
|
261
306
|
searchStatus='1'
|
|
@@ -263,18 +308,31 @@ Vue.use(AddressBookShell, {
|
|
|
263
308
|
```
|
|
264
309
|
|
|
265
310
|
#### defaultActiveMenu
|
|
311
|
+
|
|
266
312
|
自定义初始化时菜单默认选中项,值为部门id,即deptId。(例如: 'C1','D794')
|
|
313
|
+
|
|
267
314
|
```html
|
|
268
315
|
<address-book-shell
|
|
269
316
|
defaultActiveMenu='C1'
|
|
270
317
|
/>
|
|
271
318
|
```
|
|
272
319
|
|
|
320
|
+
#### enableChangeConfirmation
|
|
321
|
+
|
|
322
|
+
是否开启 人员变动超过5人,确定时弹窗提示功能
|
|
323
|
+
|
|
324
|
+
```html
|
|
325
|
+
<address-book-shell
|
|
326
|
+
enableChangeConfirmation
|
|
327
|
+
/>
|
|
328
|
+
```
|
|
273
329
|
|
|
330
|
+
>注意:配置了enableChangeConfirmation并不会一定显示人员变动弹层,selected必须有值才会显示。
|
|
274
331
|
|
|
275
332
|
### 属性总览
|
|
333
|
+
|
|
276
334
|
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
|
277
|
-
| :--- | :--- | :--- | :---: |:---: |
|
|
335
|
+
| :--- | :--- | :--- | :---: |:---: |
|
|
278
336
|
| selected | 地址本初始化默认选中的人员数据 | Array | - | [] |
|
|
279
337
|
| selectDisabled | 是否将selected传入的人员置灰不能再选 | Boolean | - | false |
|
|
280
338
|
| showOnlyNewPersonnel | 是否只展示新勾选的人员,默认值为0,取selectDisabled的值;值为1,展示全部人员;值为2,只展示新勾选的人员 | Number | 0,1,2 | 0 |
|
|
@@ -288,20 +346,20 @@ Vue.use(AddressBookShell, {
|
|
|
288
346
|
| customClass | 地址本自定义类名 | String | - | address-modal |
|
|
289
347
|
| noAddRecent | 是否不需要添加最近联系人 | Boolean | - | false |
|
|
290
348
|
| hiddenRecently | 是否隐藏最近联系人模块 | Boolean | - | false |
|
|
291
|
-
| footButton | 自定义功能按钮(check:查看当前名单;collect:
|
|
349
|
+
| footButton | 自定义功能按钮(check:查看当前名单;collect: 收藏当前名单;change: 本次变动名单) | Array | ['check','collect','change'] | ['check'] |
|
|
292
350
|
| top | 地址本 CSS 中的 margin-topz值 | string | - | 7vh |
|
|
293
351
|
| robotsList | 机器人数据,不传或传[],不会显示机器人模块 | Array | - | [] |
|
|
294
352
|
| loginUserinfo | cas登录返回的用户信息(必传) | Object | - | {} |
|
|
295
353
|
| searchStatus | 搜索框权限控制 | String | '1':搜索全部;'2':仅内部;'3':仅合作方 | 长江e家默认'1',web默认'2' |
|
|
296
354
|
| defaultActiveMenu | 菜单默认选中项 | String | - | |
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
355
|
+
| enableChangeConfirmation | 拉人超过5人 弹窗提示 | Boolean | - | false |
|
|
300
356
|
|
|
301
357
|
### 组件事件
|
|
358
|
+
>
|
|
302
359
|
> 注意:地址本组件继承了element-ui库Dialog组件的全部事件,即Dialog事件全部适用本组件。
|
|
303
360
|
|
|
304
361
|
#### submitted
|
|
362
|
+
|
|
305
363
|
点击地址本确定按钮的回调事件,将根据是否配置onlyOriginalData属性返回不同的值
|
|
306
364
|
|
|
307
365
|
``` html
|
|
@@ -326,8 +384,11 @@ Vue.use(AddressBookShell, {
|
|
|
326
384
|
console.log('默认勾选的所有数据数据,包含勾选的人员、部门和岗位')
|
|
327
385
|
}
|
|
328
386
|
```
|
|
387
|
+
|
|
329
388
|
#### add
|
|
389
|
+
|
|
330
390
|
地址本勾选时触发,返回两个参数,类型全部为数组,第一个参数为新勾选的数据;第二参数为勾选的全部数据
|
|
391
|
+
|
|
331
392
|
``` html
|
|
332
393
|
<address-book-shell
|
|
333
394
|
@add='add'
|
|
@@ -337,8 +398,11 @@ Vue.use(AddressBookShell, {
|
|
|
337
398
|
console.log('勾选的全部数据',selectList)
|
|
338
399
|
}
|
|
339
400
|
```
|
|
401
|
+
|
|
340
402
|
#### remove
|
|
403
|
+
|
|
341
404
|
地址本取消勾选时触发,返回两个参数,类型全部为数组,第一个参数为取消勾选的数据;第二参数为勾选的全部数据
|
|
405
|
+
|
|
342
406
|
``` html
|
|
343
407
|
<address-book-shell
|
|
344
408
|
@remove='remove'
|
|
@@ -350,12 +414,21 @@ Vue.use(AddressBookShell, {
|
|
|
350
414
|
```
|
|
351
415
|
|
|
352
416
|
### 事件总览
|
|
417
|
+
|
|
353
418
|
组件自定义事件:
|
|
419
|
+
|
|
354
420
|
| 事件名称 | 说明 | 回调参数 |
|
|
355
421
|
| :--- | :--- | :-- |
|
|
356
422
|
| submitted | 点击确实按钮的回调 | [全部人员数据],[仅结构数据],[原始勾选数据] 或 [原始勾选数据]|
|
|
357
423
|
| add | 新增勾选的回调 | [新增勾选数据],[勾选的全部数据] |
|
|
358
424
|
| remove | 取消勾选的回调 | [取消勾选数据],[勾选的全部数据] |
|
|
359
425
|
|
|
426
|
+
### 内置功能
|
|
427
|
+
|
|
428
|
+
#### 名单导入
|
|
429
|
+
|
|
430
|
+
>名单导入通过调用接口查询权限开启,开启之后,可通过上传指定格式的excel表单选择人员。
|
|
360
431
|
|
|
432
|
+
#### 禁选领导
|
|
361
433
|
|
|
434
|
+
>0.0.39版本增加勾选**总部公司领导**功能,该功能会调用接口查询权限,无权限无法勾选 **总部公司领导具体每个人员、公司领导部门、公司领导下的岗位。**
|