eoss-mobiles 0.3.10 → 0.3.12

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 (37) hide show
  1. package/lib/checkbox.js +44 -35
  2. package/lib/config/api.js +7 -3
  3. package/lib/eoss-mobile.common.js +621 -279
  4. package/lib/flow-btn.js +42 -35
  5. package/lib/flow-list.js +41 -34
  6. package/lib/flow.js +548 -248
  7. package/lib/form.js +3 -3
  8. package/lib/index.js +1 -1
  9. package/lib/picker.js +40 -33
  10. package/lib/radio.js +40 -33
  11. package/lib/retrial-auth.js +42 -35
  12. package/lib/selector.js +170 -122
  13. package/lib/table-column.js +40 -33
  14. package/lib/table.js +3 -1
  15. package/lib/theme-chalk/flow.css +1 -1
  16. package/lib/theme-chalk/index.css +1 -1
  17. package/lib/theme-chalk/selector.css +1 -1
  18. package/lib/utils/axios.js +1 -1
  19. package/package.json +1 -1
  20. package/packages/checkbox/src/main.vue +1 -0
  21. package/packages/flow/src/components/Handle.vue +143 -19
  22. package/packages/flow/src/components/Message.vue +31 -7
  23. package/packages/flow/src/components/StartFlow.vue +2 -0
  24. package/packages/flow/src/components/taskUnionExamine.vue +109 -28
  25. package/packages/flow/src/main.vue +2 -1
  26. package/packages/form/src/main.vue +48 -48
  27. package/packages/selector/src/selector-tree.vue +16 -2
  28. package/packages/selector/src/tree.vue +16 -4
  29. package/packages/table/src/main.vue +2 -0
  30. package/packages/theme-chalk/lib/flow.css +1 -1
  31. package/packages/theme-chalk/lib/index.css +1 -1
  32. package/packages/theme-chalk/lib/selector.css +1 -1
  33. package/packages/theme-chalk/src/flow.scss +29 -0
  34. package/packages/theme-chalk/src/selector.scss +6 -0
  35. package/src/config/api.js +8 -3
  36. package/src/index.js +1 -1
  37. package/src/utils/axios.js +1 -1
@@ -19,7 +19,9 @@
19
19
  :isAllCheck="isAllCheck"
20
20
  :tabs="
21
21
  type == 'takeAdvice'
22
- ? 'department,employee'
22
+ ? currentOrgTabs.length > 0
23
+ ? currentOrgTabs
24
+ : 'department,employee'
23
25
  : type == 'startDraf'
24
26
  ? 'enterprise,employee'
25
27
  : 'enterprise'
@@ -27,6 +29,7 @@
27
29
  :param="params"
28
30
  :baseUrl="apiBaseUrl"
29
31
  :paddingTop="paddingTop"
32
+ :mix="currentMix"
30
33
  :disabled="disabled"
31
34
  @change="
32
35
  changeSelectUser(
@@ -57,8 +60,11 @@
57
60
  v-model="nextOtherOrgObj"
58
61
  :multiple="newMultiple"
59
62
  :isAllCheck="isAllCheck"
63
+ :mix="otherMix"
60
64
  :tabs="
61
- isChoiceOtherOrgDept == 'true'
65
+ foreignOrgTabs.length > 0
66
+ ? foreignOrgTabs
67
+ : isChoiceOtherOrgDept == 'true'
62
68
  ? 'enterprise,department'
63
69
  : 'enterprise'
64
70
  "
@@ -70,6 +76,7 @@
70
76
  />
71
77
  </div>
72
78
  <Message
79
+ v-if="showMessage"
73
80
  ref="message"
74
81
  :code="'notification_type'"
75
82
  :baseUrl="baseUrl"
@@ -89,6 +96,7 @@
89
96
  </template>
90
97
  <script>
91
98
  import {
99
+ findUserBaseInfo,
92
100
  isCanStartSubFlow,
93
101
  toTaskUnionExamine,
94
102
  toTaskTakeAdvice,
@@ -137,13 +145,18 @@ export default {
137
145
  return {
138
146
  opinion: '', //办理意见
139
147
  isImageOpinion: 0,
140
- readOnlyNotificationType:'',
141
- notificationMessageReadOnly:false,
148
+ readOnlyNotificationType: '',
149
+ otherMix: false,
150
+ currentMix: false,
151
+ notificationMessageReadOnly: false,
152
+ currentOrgTabs: [],
153
+ foreignOrgTabs: [],
154
+ showMessage:false,
142
155
  file: '',
143
156
  infoList: {
144
157
  nextOtherOrgObj: [],
145
158
  nextCurrentOrgObj: [],
146
- noticeType: [],
159
+ noticeType: '',
147
160
  noticeInfo: '',
148
161
  opinion: ''
149
162
  },
@@ -169,6 +182,7 @@ export default {
169
182
  },
170
183
  components: { Opinion, Message },
171
184
  created() {
185
+ this.getuserInfo();
172
186
  this.style = {
173
187
  'padding-top': sessionStorage.getItem('pt')
174
188
  ? sessionStorage.getItem('pt') + 'px'
@@ -202,6 +216,11 @@ export default {
202
216
  }
203
217
  },
204
218
  methods: {
219
+ getuserInfo() {
220
+ request({ url: findUserBaseInfo }).then((res) => {
221
+ localStorage.setItem('userInfo', JSON.stringify(res.results));
222
+ });
223
+ },
205
224
  onInputOpintion(val) {
206
225
  const { opinion, isImageOpinion, file } = val;
207
226
  this.opinion = opinion;
@@ -219,7 +238,7 @@ export default {
219
238
  type: 'post',
220
239
  headers: { Accept: 'application/json,text/plain' }
221
240
  };
222
- request(params).then(res => {
241
+ request(params).then((res) => {
223
242
  if (res.message === 'success') {
224
243
  this.getInfo();
225
244
  } else {
@@ -237,12 +256,13 @@ export default {
237
256
  userId: this.userId
238
257
  };
239
258
  request({ url: getNotificationMsg, params, methods: 'post' })
240
- .then(res => {
259
+ .then((res) => {
260
+ this.$toast.clear();http://localhost:8080/#/Selector
241
261
  if (res.status === 'success') {
242
262
  this.infoList.noticeInfo = res.message;
243
263
  }
244
264
  })
245
- .catch(err => {
265
+ .catch((err) => {
246
266
  if (err.message && err.message !== 'canceled') {
247
267
  this.$toast(err.message);
248
268
  }
@@ -252,7 +272,7 @@ export default {
252
272
  request({
253
273
  url: findSysCodes
254
274
  })
255
- .then(res => {
275
+ .then((res) => {
256
276
  const { status, message } = res;
257
277
  this.$toast.clear();
258
278
  if (status === 'success') {
@@ -260,8 +280,9 @@ export default {
260
280
  } else {
261
281
  this.$toast(message || '系统错误,请联系管理员!');
262
282
  }
283
+ this.showMessage = true
263
284
  })
264
- .catch(err => {
285
+ .catch((err) => {
265
286
  this.loading = false;
266
287
  if (err.message && err.message !== 'canceled') {
267
288
  this.$toast(err.message);
@@ -270,15 +291,24 @@ export default {
270
291
  },
271
292
  changeSelectUser(val, type) {
272
293
  const { list } = val;
273
- let newNextUser = '';
274
- list.map(item => {
275
- if (newNextUser) {
276
- newNextUser += `,${item.selecttype}-${item.showid}`;
277
- } else {
278
- newNextUser = `${item.selecttype}-${item.showid}`;
294
+ let newNextUser = [];
295
+ let obj = {}
296
+ list.map((item) => {
297
+ if(obj[item.mixType]){
298
+ obj[item.mixType].push(item.showid)
299
+ }else{
300
+ obj[item.mixType] = [item.showid]
279
301
  }
302
+ // if (newNextUser) {
303
+ // newNextUser += `,${item.selecttype}-${item.showid}`;
304
+ // } else {
305
+ // newNextUser = `${item.selecttype}-${item.showid}`;
306
+ // }
280
307
  });
281
- this.infoList[type] = newNextUser;
308
+ for(let key in obj){
309
+ newNextUser.push(`${key}-${obj[key].join(',')}`)
310
+ }
311
+ this.infoList[type] = newNextUser.join('|');
282
312
  this[type] = list;
283
313
  },
284
314
  isMultiple(val) {
@@ -295,7 +325,7 @@ export default {
295
325
  params: { pendingId: this.pendingId }
296
326
  };
297
327
  request(params)
298
- .then(res => {
328
+ .then((res) => {
299
329
  const { status, message } = res;
300
330
  this.loading = false;
301
331
  if (status === 'success') {
@@ -313,7 +343,7 @@ export default {
313
343
  this.$$toast.error(message || '系统错误,请联系管理员!');
314
344
  }
315
345
  })
316
- .catch(err => {
346
+ .catch((err) => {
317
347
  this.loading = false;
318
348
  if (err.message && err.message !== 'canceled') {
319
349
  this.$toast(err.message);
@@ -343,7 +373,7 @@ export default {
343
373
  duration: 0
344
374
  });
345
375
  request(params)
346
- .then(res => {
376
+ .then((res) => {
347
377
  const { message, status } = res;
348
378
  this.loading = false;
349
379
  if (status == 'success') {
@@ -367,7 +397,9 @@ export default {
367
397
  }
368
398
  }
369
399
  } = res;
370
- this.notificationMessageReadOnly = notificationMessageReadOnly == 'true';
400
+
401
+ this.notificationMessageReadOnly =
402
+ notificationMessageReadOnly == 'true';
371
403
  this.readOnlyNotificationType = readOnlyNotificationType;
372
404
  this.isSinglePage = taskExamine.isSinglePage;
373
405
  this.isSubFlow = taskExamine.isSubFlow;
@@ -391,6 +423,54 @@ export default {
391
423
  this.infoList.nextOtherOrgObj.push(taskExamine.nextOtherOrgObj);
392
424
  }
393
425
  this.isMultiple(userSelectionType);
426
+ if (res.data.customizedConfig) {
427
+ if (res.data.customizedConfig.currentOrgSelectorCustomized) {
428
+ this.currentMix =
429
+ res.data.customizedConfig.currentOrgSelectorSelectMix ==
430
+ 'true';
431
+ this.currentOrgTabs =
432
+ res.data.customizedConfig.currentOrgSelectorItemList;
433
+ let param =
434
+ res.data.customizedConfig.currentOrgSelectorRangeList.split(
435
+ ','
436
+ );
437
+ res.data.customizedConfig.currentOrgSelectorItemList
438
+ .split(',')
439
+ .map((x, i) => {
440
+ this.params[x] = {
441
+ pid:
442
+ param[i] == 'my'
443
+ ? (this.params.pid = JSON.parse(
444
+ $.getStorage('userInfo')
445
+ ).orgId)
446
+ : param[i]
447
+ };
448
+ });
449
+ } else {
450
+ if (this.type == 'takeAdvice') {
451
+ this.params.pid = JSON.parse(
452
+ $.getStorage('userInfo')
453
+ ).orgId;
454
+ }
455
+ }
456
+ if (res.data.customizedConfig.foreignOrgSelectorCustomized) {
457
+ this.otherMix =
458
+ res.data.customizedConfig.foreignOrgSelectorSelectMix ==
459
+ 'true';
460
+ this.foreignOrgTabs =
461
+ res.data.customizedConfig.foreignOrgSelectorItemList;
462
+ let param =
463
+ res.data.customizedConfig.foreignOrgSelectorRangeList.split(
464
+ ','
465
+ );
466
+ // res.data.customizedConfig.foreignOrgSelectorItemList
467
+ // .split(',')
468
+ // .map((x, i) => {
469
+ // this.otherParams[x] = { pid: param[i] };
470
+
471
+ // });
472
+ }
473
+ }
394
474
  this.getFind();
395
475
  this.getMessage();
396
476
  } else {
@@ -400,7 +480,7 @@ export default {
400
480
  this.$toast.error(message || '系统错误,请联系管理员!');
401
481
  }
402
482
  })
403
- .catch(err => {
483
+ .catch((err) => {
404
484
  this.loading = false;
405
485
  if (err.message && err.message !== 'canceled') {
406
486
  this.$toast(err.message);
@@ -409,7 +489,8 @@ export default {
409
489
  },
410
490
  // 通知消息回调
411
491
  onInputMsg(obj) {
412
- this.infoList.noticeType = obj.notificationType;
492
+ console.log(obj)
493
+ this.infoList.noticeType = JSON.parse(JSON.stringify(obj.notificationType));
413
494
  this.infoList.noticeInfo = obj.notificationMsg;
414
495
  },
415
496
  goBack() {
@@ -453,8 +534,8 @@ export default {
453
534
  (type == 'takeAdvice' &&
454
535
  isHideCurrentOrg == 0 &&
455
536
  (!nextCurrentOrgObj || nextCurrentOrgObj.length == 0) &&
456
- (isHideOtherOrg == 0 &&
457
- (!nextOtherOrgObj || nextOtherOrgObj.length == 0))) ||
537
+ isHideOtherOrg == 0 &&
538
+ (!nextOtherOrgObj || nextOtherOrgObj.length == 0)) ||
458
539
  (type != 'takeAdvice' &&
459
540
  isHideOtherOrg == 0 &&
460
541
  (!nextOtherOrgObj || nextOtherOrgObj.length == 0))
@@ -520,7 +601,7 @@ export default {
520
601
  duration: 0
521
602
  });
522
603
  request(param)
523
- .then(res => {
604
+ .then((res) => {
524
605
  const { message, status } = res;
525
606
  this.$toast.clear();
526
607
  if (status == 'success') {
@@ -530,7 +611,7 @@ export default {
530
611
  this.$toast(message || '系统错误,请联系管理员!');
531
612
  }
532
613
  })
533
- .catch(err => {
614
+ .catch((err) => {
534
615
  this.$toast.clear();
535
616
  if (err.message && err.message !== 'canceled') {
536
617
  this.$toast(err.message);
@@ -559,7 +640,7 @@ export default {
559
640
  params: {
560
641
  pendingId: this.pendingId
561
642
  }
562
- }).then(res => {
643
+ }).then((res) => {
563
644
  // const {
564
645
  // status,
565
646
  // message,
@@ -7,8 +7,9 @@
7
7
  :beforeSubmit="beforeSubmit"
8
8
  />
9
9
  <Handle
10
- v-else-if="type === 'handle'"
10
+ v-else-if="type === 'handle' || type === 'freeStart'"
11
11
  v-bind="$attrs"
12
+ :type="type"
12
13
  :userId="userId"
13
14
  :identityIds="userId"
14
15
  :beforeSubmit="beforeSubmit"
@@ -25,15 +25,15 @@
25
25
  v-if="item.type === 'tab'"
26
26
  >
27
27
  <em-tab v-bind="{ ...z }" v-for="(z, i) in item.contents" :key="i">
28
- <div v-for="(x, j) in z.contents" :key="j">
28
+ <div style="height: 100%" v-for="(x, j) in z.contents" :key="j">
29
29
  <em-input
30
30
  v-if="
31
31
  x.type === 'text' ||
32
- x.type === 'textarea' ||
33
- x.type == 'number' ||
34
- x.type == 'digit' ||
35
- x.type == 'password' ||
36
- x.type == 'tel'
32
+ x.type === 'textarea' ||
33
+ x.type == 'number' ||
34
+ x.type == 'digit' ||
35
+ x.type == 'password' ||
36
+ x.type == 'tel'
37
37
  "
38
38
  class="em-table-input"
39
39
  v-bind="{ ...$attrs, ...x }"
@@ -77,7 +77,7 @@
77
77
  v-model="model[x.name]"
78
78
  :columns="x.data || []"
79
79
  @confirm="
80
- value => {
80
+ (value) => {
81
81
  handleChange(item.name, value);
82
82
  }
83
83
  "
@@ -85,14 +85,14 @@
85
85
  <em-date
86
86
  v-else-if="
87
87
  x.date ||
88
- x.type == 'date' ||
89
- x.type == 'year' ||
90
- x.type == 'year-month' ||
91
- x.type == 'month-day' ||
92
- x.type == 'time' ||
93
- x.type == 'datetimeSecond' ||
94
- x.type == 'datetime' ||
95
- x.type == 'datehour'
88
+ x.type == 'date' ||
89
+ x.type == 'year' ||
90
+ x.type == 'year-month' ||
91
+ x.type == 'month-day' ||
92
+ x.type == 'time' ||
93
+ x.type == 'datetimeSecond' ||
94
+ x.type == 'datetime' ||
95
+ x.type == 'datehour'
96
96
  "
97
97
  ref="date"
98
98
  v-bind="{ ...$attrs, ...x }"
@@ -122,7 +122,7 @@
122
122
  :disabled="x.disabled || disabled || x.readonly || readonly"
123
123
  :data="x.data"
124
124
  @change="
125
- value => {
125
+ (value) => {
126
126
  handleChange(x.name, value);
127
127
  }
128
128
  "
@@ -142,7 +142,7 @@
142
142
  v-model="model[x.name]"
143
143
  :disabled="x.disabled || disabled || x.readonly || readonly"
144
144
  @change="
145
- value => {
145
+ (value) => {
146
146
  handleChange(x.name, value);
147
147
  }
148
148
  "
@@ -162,7 +162,7 @@
162
162
  v-on="{ ...x.events }"
163
163
  :disabled="x.disabled || disabled || x.readonly || readonly"
164
164
  @change="
165
- value => {
165
+ (value) => {
166
166
  handleChange(x.name, value);
167
167
  }
168
168
  "
@@ -179,7 +179,7 @@
179
179
  :label-position="x.labelPosition || labelPosition"
180
180
  :disabled="x.disabled || disabled || x.readonly || readonly"
181
181
  @change="
182
- value => {
182
+ (value) => {
183
183
  handleChange(x.name, value);
184
184
  }
185
185
  "
@@ -205,11 +205,11 @@
205
205
  <em-input
206
206
  v-if="
207
207
  item.type === 'text' ||
208
- item.type === 'textarea' ||
209
- item.type == 'number' ||
210
- item.type == 'digit' ||
211
- item.type == 'password' ||
212
- item.type == 'tel'
208
+ item.type === 'textarea' ||
209
+ item.type == 'number' ||
210
+ item.type == 'digit' ||
211
+ item.type == 'password' ||
212
+ item.type == 'tel'
213
213
  "
214
214
  class="em-table-input"
215
215
  v-bind="{ ...$attrs, ...item }"
@@ -253,7 +253,7 @@
253
253
  v-model="model[item.name]"
254
254
  :columns="item.data || []"
255
255
  @confirm="
256
- value => {
256
+ (value) => {
257
257
  handleChange(item.name, value);
258
258
  }
259
259
  "
@@ -261,14 +261,14 @@
261
261
  <em-date
262
262
  v-else-if="
263
263
  item.date ||
264
- item.type == 'date' ||
265
- item.type == 'year' ||
266
- item.type == 'year-month' ||
267
- item.type == 'month-day' ||
268
- item.type == 'time' ||
269
- item.type == 'datetimeSecond' ||
270
- item.type == 'datetime' ||
271
- item.type == 'datehour'
264
+ item.type == 'date' ||
265
+ item.type == 'year' ||
266
+ item.type == 'year-month' ||
267
+ item.type == 'month-day' ||
268
+ item.type == 'time' ||
269
+ item.type == 'datetimeSecond' ||
270
+ item.type == 'datetime' ||
271
+ item.type == 'datehour'
272
272
  "
273
273
  ref="date"
274
274
  v-bind="{ ...$attrs, ...item }"
@@ -298,7 +298,7 @@
298
298
  :disabled="item.disabled || disabled || item.readonly || readonly"
299
299
  :data="item.data"
300
300
  @change="
301
- value => {
301
+ (value) => {
302
302
  handleChange(item.name, value);
303
303
  }
304
304
  "
@@ -318,7 +318,7 @@
318
318
  v-model="model[item.name]"
319
319
  :disabled="item.disabled || disabled || item.readonly || readonly"
320
320
  @change="
321
- value => {
321
+ (value) => {
322
322
  handleChange(item.name, value);
323
323
  }
324
324
  "
@@ -338,7 +338,7 @@
338
338
  v-on="{ ...item.events }"
339
339
  :disabled="item.disabled || disabled || item.readonly || readonly"
340
340
  @change="
341
- value => {
341
+ (value) => {
342
342
  handleChange(item.name, value);
343
343
  }
344
344
  "
@@ -355,7 +355,7 @@
355
355
  :label-position="item.labelPosition || labelPosition"
356
356
  :disabled="item.disabled || disabled || item.readonly || readonly"
357
357
  @change="
358
- value => {
358
+ (value) => {
359
359
  handleChange(item.name, value);
360
360
  }
361
361
  "
@@ -371,10 +371,10 @@
371
371
  isForm
372
372
  :form="
373
373
  !item.disabled &&
374
- !disabled &&
375
- !item.readonly &&
376
- !readonly &&
377
- item.form
374
+ !disabled &&
375
+ !item.readonly &&
376
+ !readonly &&
377
+ item.form
378
378
  "
379
379
  v-on="{ ...item.events }"
380
380
  @btn-click="handleBtnClick"
@@ -447,16 +447,16 @@ export default {
447
447
  },
448
448
  computed: {
449
449
  btnList() {
450
- return this.contents.filter(x => x.type === 'submit');
450
+ return this.contents.filter((x) => x.type === 'submit');
451
451
  },
452
452
  newContent: {
453
453
  get() {
454
- let tableList = this.contents.filter(x => x.type == 'table');
454
+ let tableList = this.contents.filter((x) => x.type == 'table');
455
455
  if (tableList.length > 0) {
456
- tableList.map(x => {
457
- x.tHead.map(z => {
456
+ tableList.map((x) => {
457
+ x.tHead.map((z) => {
458
458
  if (z.type == 'handle' && z.events) {
459
- z.events.map(y => {
459
+ z.events.map((y) => {
460
460
  y['native-type'] = 'button';
461
461
  });
462
462
  }
@@ -475,7 +475,7 @@ export default {
475
475
  },
476
476
  methods: {
477
477
  handleFailed(values) {
478
- this.$refs.emFormTable.map(item => {
478
+ this.$refs.emFormTable.map((item) => {
479
479
  item.validate();
480
480
  });
481
481
  this.$emit('failed', { errors: values.errors, values: this.model });
@@ -483,7 +483,7 @@ export default {
483
483
  handleSubmit() {
484
484
  let errForm = false;
485
485
  if (this.$refs.emFormTable) {
486
- this.$refs.emFormTable.map(item => {
486
+ this.$refs.emFormTable.map((item) => {
487
487
  if (!item.validate()) {
488
488
  errForm = true;
489
489
  }
@@ -45,6 +45,7 @@
45
45
  :departmentValueKey="departmentValueKey"
46
46
  :namelike="namelike"
47
47
  :nodeKey="nodeKey"
48
+ :disableds="disableds"
48
49
  :showCount="showCount"
49
50
  :countKey="countKey"
50
51
  :selectType="newParam.selecttype"
@@ -152,6 +153,10 @@ export default {
152
153
  type: String,
153
154
  default: '人'
154
155
  },
156
+ disableds:{
157
+ type:Array,
158
+ default: () => []
159
+ },
155
160
  showSearch: {
156
161
  type: Boolean,
157
162
  default: true
@@ -588,9 +593,15 @@ export default {
588
593
  }
589
594
  }
590
595
  let newtabs = [];
596
+ console.log(copyTabs,this.param,'copyTabs')
591
597
  copyTabs.map(x => {
598
+ if(this.param[x]){
599
+ obj[x].param ={...obj[x].param,...this.param[x]};
600
+ console.log(this.param[x],'this.param[x]')
601
+ }
592
602
  newtabs.push(obj[x]);
593
603
  });
604
+ console.log(newtabs,'newtabs')
594
605
  return newtabs;
595
606
  }
596
607
  },
@@ -728,7 +739,7 @@ export default {
728
739
  overlay: true,
729
740
  duration: 0
730
741
  });
731
- this.newParam = JSON.parse(JSON.stringify(this.param));
742
+ this.newParam = {...JSON.parse(JSON.stringify(this.param))};
732
743
  this.newParam.selecttype = this.newTabs[
733
744
  this.selectIndex
734
745
  ].param.selecttype;
@@ -737,7 +748,7 @@ export default {
737
748
  this.newParam.myUserid =
738
749
  this.newParam.myUserid || $.getStorage('userId');
739
750
  } else {
740
- this.newParam.pid = this.param.pid || 'root';
751
+ this.newParam.pid =this.newTabs[this.selectIndex].param.pid || this.param.pid || 'root';
741
752
  }
742
753
  request({
743
754
  url: this.url
@@ -988,6 +999,9 @@ export default {
988
999
  },
989
1000
  checked(res, model) {
990
1001
  this.oldIsSearch = this.isSearch;
1002
+ if(!res.obj.mixType){
1003
+ this.$set(res.obj, 'mixType', this.newTabs[this.selectIndex].name);
1004
+ }
991
1005
  if (res.obj.checked) {
992
1006
  if (res.obj.isAllCheck) {
993
1007
  model.map(x => {
@@ -68,7 +68,7 @@
68
68
  v-if="showMore"
69
69
  />
70
70
  <i
71
- class="iconfont icon-gou select-icon"
71
+ :class="`iconfont icon-gou select-icon ${isDisabled(item) ? 'disabled' : '' }`"
72
72
  v-show="
73
73
  (enterprise ||
74
74
  (department &&
@@ -79,7 +79,7 @@
79
79
  v-if="item.checked"
80
80
  ></i>
81
81
  <i
82
- class="iconfont icon-quan select-icon"
82
+ :class="`iconfont icon-quan select-icon ${isDisabled(item) ? 'disabled' : '' }`"
83
83
  v-show="
84
84
  (enterprise ||
85
85
  (department &&
@@ -114,6 +114,7 @@
114
114
  :nameSize="nameSize"
115
115
  :selectType="selectType"
116
116
  :unit="unit"
117
+ :disableds="disableds"
117
118
  :showMore="showMore"
118
119
  :enterprise="enterprise"
119
120
  :selectLabel="selectLabel"
@@ -202,12 +203,12 @@
202
203
  "
203
204
  >
204
205
  <i
205
- class="iconfont icon-gou"
206
+ :class="`iconfont icon-gou ${isDisabled(item) ? 'disabled' : '' }`"
206
207
  v-tap="{ methods: checke, obj: item }"
207
208
  v-if="item.checked"
208
209
  ></i>
209
210
  <i
210
- class="iconfont icon-quan"
211
+ :class="`iconfont icon-quan ${isDisabled(item) ? 'disabled' : '' }`"
211
212
  v-tap="{ methods: checke, obj: item }"
212
213
  v-else
213
214
  ></i>
@@ -325,6 +326,10 @@ export default {
325
326
  type:Boolean,
326
327
  default:false
327
328
  },
329
+ disableds: {
330
+ type: Array,
331
+ default: () => []
332
+ },
328
333
  oldIsSearch: Boolean,
329
334
  isSearch: Boolean
330
335
  },
@@ -354,6 +359,12 @@ export default {
354
359
  });
355
360
  },
356
361
  methods: {
362
+ isDisabled(item) {
363
+ if(this.disableds && this.disableds.length>0){
364
+ return this.disableds.includes(item[this.valueKey]);
365
+ }
366
+ return item.disabled
367
+ },
357
368
  getUserInfo(attr) {
358
369
  let info = JSON.parse(attr);
359
370
  return `${info.username}-${info.orgName}-${info.depShortName}`;
@@ -370,6 +381,7 @@ export default {
370
381
  this.$emit('popen', res, res.isStart || isStart, true, 'title');
371
382
  },
372
383
  checke(res) {
384
+ if (this.isDisabled(res.obj)) return;
373
385
  let model = undefined;
374
386
  if (this.isAllCheck) model = this.model;
375
387
  this.$emit('checke', res, model);