eoss-ui 0.5.33 → 0.5.34

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 (59) hide show
  1. package/CHANGELOG.md +929 -0
  2. package/lib/button-group.js +98 -95
  3. package/lib/button.js +98 -95
  4. package/lib/checkbox-group.js +101 -99
  5. package/lib/config/api.js +2 -0
  6. package/lib/data-table-form.js +99 -96
  7. package/lib/data-table.js +102 -99
  8. package/lib/date-picker.js +98 -95
  9. package/lib/dialog.js +106 -99
  10. package/lib/eoss-ui.common.js +573 -401
  11. package/lib/flow-group.js +167 -134
  12. package/lib/flow-list.js +102 -99
  13. package/lib/flow.js +146 -143
  14. package/lib/form.js +99 -96
  15. package/lib/handle-user.js +99 -96
  16. package/lib/handler.js +212 -161
  17. package/lib/index.js +1 -1
  18. package/lib/input-number.js +98 -95
  19. package/lib/input.js +98 -95
  20. package/lib/login.js +204 -113
  21. package/lib/main.js +116 -116
  22. package/lib/nav.js +98 -95
  23. package/lib/notify.js +103 -100
  24. package/lib/page.js +98 -95
  25. package/lib/player.js +98 -95
  26. package/lib/qr-code.js +98 -95
  27. package/lib/radio-group.js +99 -96
  28. package/lib/retrial-auth.js +101 -98
  29. package/lib/select-ganged.js +98 -95
  30. package/lib/select.js +99 -96
  31. package/lib/selector-panel.js +116 -113
  32. package/lib/selector.js +99 -96
  33. package/lib/sizer.js +100 -97
  34. package/lib/steps.js +98 -95
  35. package/lib/switch.js +98 -95
  36. package/lib/table-form.js +98 -95
  37. package/lib/tabs.js +98 -95
  38. package/lib/theme-chalk/handler.css +1 -1
  39. package/lib/theme-chalk/index.css +1 -1
  40. package/lib/tips.js +99 -96
  41. package/lib/toolbar.js +24 -21
  42. package/lib/tree-group.js +98 -95
  43. package/lib/tree.js +99 -96
  44. package/lib/upload.js +108 -105
  45. package/lib/wujie.js +98 -95
  46. package/lib/wxlogin.js +98 -95
  47. package/package.json +2 -2
  48. package/packages/checkbox-group/src/main.vue +0 -1
  49. package/packages/dialog/src/main.vue +6 -2
  50. package/packages/flow-group/src/main.vue +40 -18
  51. package/packages/handler/src/main.vue +52 -32
  52. package/packages/login/src/main.vue +69 -8
  53. package/packages/main/src/main.vue +0 -6
  54. package/packages/theme-chalk/lib/handler.css +1 -1
  55. package/packages/theme-chalk/lib/index.css +1 -1
  56. package/packages/theme-chalk/src/handler.scss +3 -1
  57. package/packages/toolbar/src/main.vue +20 -20
  58. package/src/config/api.js +2 -0
  59. package/src/index.js +1 -1
@@ -12,26 +12,33 @@
12
12
  <el-tab-pane
13
13
  v-if="handleHide(items.hide)"
14
14
  :key="indexs"
15
- :immediate="items.label == '流程图' ? false : items.immediate"
16
- :label="items.label"
15
+ :immediate="items.immediate"
17
16
  :name="String(indexs)"
18
17
  :class="{ 'es-flex-vertical': items.average }"
19
18
  >
20
- <span slot="label" v-if="items.title">
21
- <template v-if="typeof items.title === 'object'">
22
- <i v-if="items.title.icon" :class="items.title.icon"></i>
23
- <el-badge
24
- v-if="
25
- Object.prototype.hasOwnProperty.call(items.title, 'count')
26
- "
27
- type="primary"
28
- :value="items.title.count"
29
- :max="99"
30
- >
31
- </el-badge>
32
- {{ items.title.text }}
19
+ <span
20
+ slot="label"
21
+ :style="{
22
+ color:
23
+ activeName == String(indexs) ? items.activeColor : items.color
24
+ }"
25
+ >
26
+ <template v-if="items.title">
27
+ <template v-if="typeof items.title === 'object'">
28
+ <i v-if="items.title.icon" :class="items.title.icon"></i>
29
+ <el-badge
30
+ v-if="items.title.count"
31
+ type="primary"
32
+ :value="items.title.count"
33
+ :color="items.title.color"
34
+ :max="99"
35
+ >
36
+ </el-badge>
37
+ <template v-if>{{ items.title.text }}</template>
38
+ </template>
39
+ <template v-else>{{ items.title }}</template>
33
40
  </template>
34
- <template v-else>{{ items.title }}</template>
41
+ <template>{{ items.label }}</template>
35
42
  </span>
36
43
  <es-tabs-panel v-bind="items" :show="activeName === String(indexs)">
37
44
  <template
@@ -483,7 +490,8 @@ export default {
483
490
  businessId: undefined,
484
491
  taskExamineAppId: this.appId,
485
492
  showMsg: true,
486
- formRefs: this.refs
493
+ formRefs: this.refs,
494
+ submits: null
487
495
  };
488
496
  },
489
497
  computed: {
@@ -544,7 +552,15 @@ export default {
544
552
  attrs: attrs
545
553
  });
546
554
  },
547
- handleUrlJoinParams(res) {
555
+ handleUrlJoinParams(res, flag = true) {
556
+ if (flag) {
557
+ if (res.method) {
558
+ this.submit = {
559
+ id: res.id,
560
+ method: typeof res.method === 'boolean' ? 'submit' : res.method
561
+ };
562
+ }
563
+ }
548
564
  let url = res.url;
549
565
  let param = util.extend(
550
566
  {},
@@ -585,6 +601,12 @@ export default {
585
601
  });
586
602
  },
587
603
  handleSubmit(res) {
604
+ if (this.submit) {
605
+ if (this.submit.id) {
606
+ let iframe = document.getElementById(this.submit.id); //先找到ifram
607
+ return iframe.contentWindow[this.submit.method](res); //用dom对象调用子页面的方法
608
+ }
609
+ }
588
610
  let esFlowForm = this.formRefs
589
611
  ? this.$refs[this.formRefs]
590
612
  : this.$refs.esFlowForm;
@@ -31,38 +31,47 @@
31
31
  v-else-if="item.type === 'system'"
32
32
  placement="bottom"
33
33
  trigger="hover"
34
- popper-class="es-popper-sub-system"
34
+ ref="system"
35
+ :popper-class="
36
+ system.length > 4
37
+ ? 'es-popper-sub-system is-width'
38
+ : 'es-popper-sub-system'
39
+ "
40
+ @show="showPopper = true"
41
+ @hide="showPopper = false"
35
42
  >
36
- <ul class="es-sub-system">
37
- <li
38
- v-for="ele in system"
39
- class="es-sub-system-item"
40
- :class="{
41
- 'es-disabled':
42
- (application && !ele.hasPermission) ||
43
- (ele.extendData && ele.extendData.businessStatus == 0)
44
- }"
45
- :key="ele.id"
46
- :title="ele.text"
47
- @click.stop="handleSelect({ node: ele })"
48
- >
49
- <el-badge
50
- :is-dot="typeof ele.tips === 'boolean'"
51
- :hidden="!ele.tips"
52
- :max="99"
53
- :value="typeof ele.tips !== 'boolean' ? ele.tips : 0"
54
- ><i
55
- :class="[
56
- unicode(ele.icons) ? ele.icons : 'es-icons',
57
- 'es-sub-system-icon',
58
- { 'es-icon-yingyong': !ele.icons }
59
- ]"
60
- v-html="unicode(ele.icons) ? '' : ele.icons"
61
- ></i
62
- ></el-badge>
63
- <div class="es-sub-system-title">{{ ele.text }}</div>
64
- </li>
65
- </ul>
43
+ <el-scrollbar max-height="320px" v-if="system.length">
44
+ <ul class="es-sub-system">
45
+ <li
46
+ v-for="ele in system"
47
+ class="es-sub-system-item"
48
+ :class="{
49
+ 'es-disabled':
50
+ (application && !ele.hasPermission) ||
51
+ (ele.extendData && ele.extendData.businessStatus == 0)
52
+ }"
53
+ :key="ele.id"
54
+ :title="ele.text"
55
+ @click.stop="handleSelect({ node: ele })"
56
+ >
57
+ <el-badge
58
+ :is-dot="typeof ele.tips === 'boolean'"
59
+ :hidden="!ele.tips"
60
+ :max="99"
61
+ :value="typeof ele.tips !== 'boolean' ? ele.tips : 0"
62
+ ><i
63
+ :class="[
64
+ unicode(ele.icons) ? ele.icons : 'es-icons',
65
+ 'es-sub-system-icon',
66
+ { 'es-icon-yingyong': !ele.icons }
67
+ ]"
68
+ v-html="unicode(ele.icons) ? '' : ele.icons"
69
+ ></i
70
+ ></el-badge>
71
+ <div class="es-sub-system-title">{{ ele.text }}</div>
72
+ </li>
73
+ </ul>
74
+ </el-scrollbar>
66
75
  <div
67
76
  slot="reference"
68
77
  class="es-handler-icon"
@@ -139,6 +148,16 @@ export default {
139
148
  default: false
140
149
  }
141
150
  },
151
+ watch: {
152
+ subSystem: {
153
+ handler(val) {
154
+ if (this.showPopper) {
155
+ this.$refs.system[0].doClose();
156
+ this.$nextTick(this.$refs.system[0].doShow);
157
+ }
158
+ }
159
+ }
160
+ },
142
161
  computed: {
143
162
  lists() {
144
163
  if (this.data === undefined) {
@@ -208,7 +227,8 @@ export default {
208
227
  icon: 'es-icon-xitongguanli',
209
228
  title: '设置'
210
229
  }
211
- ]
230
+ ],
231
+ showPopper: false
212
232
  };
213
233
  },
214
234
  created() {
@@ -314,8 +314,8 @@
314
314
  :username="formData.username"
315
315
  :operationCheckCode="operationCheckCode"
316
316
  @success="handleSuccess"
317
- ></reset-password
318
- ></slot>
317
+ ></reset-password>
318
+ </slot>
319
319
  </es-dialog>
320
320
  <es-dialog
321
321
  title="客户端下载"
@@ -323,9 +323,20 @@
323
323
  height="80%"
324
324
  custom-class="es-clients-dialog"
325
325
  :visible.sync="showDownLoadApp"
326
- ><es-clients v-bind="download"></es-clients>
326
+ >
327
+ <es-clients v-bind="download"></es-clients>
327
328
  </es-dialog>
328
329
  <slot name="calogin"></slot>
330
+ <es-dialog
331
+ title="请进行身份效验"
332
+ width="420px"
333
+ height="380px"
334
+ :show-scale="false"
335
+ :visible.sync="showAssistance"
336
+ @close="closeAssistance"
337
+ >
338
+ <es-qr-code :content="checkCode" v-if="checkCode"></es-qr-code>
339
+ </es-dialog>
329
340
  </div>
330
341
  </template>
331
342
  <script>
@@ -343,7 +354,8 @@ import {
343
354
  getTwoFactorLoginCode,
344
355
  doTwoFactorLogin,
345
356
  doWechatQrLogin,
346
- doCaLogin
357
+ doCaLogin,
358
+ doAssistanceQrLogin
347
359
  } from 'eoss-ui/src/config/api.js';
348
360
  export default {
349
361
  name: 'EsLogin',
@@ -743,7 +755,10 @@ export default {
743
755
  code: null,
744
756
  defaultModel: JSON.parse(JSON.stringify(this.model)),
745
757
  copyrightColor: null,
746
- copyrightBgColor: null
758
+ copyrightBgColor: null,
759
+ checkCode: '',
760
+ showAssistance: false,
761
+ doAssistance: null
747
762
  };
748
763
  },
749
764
  created() {
@@ -1286,7 +1301,6 @@ export default {
1286
1301
  loginInfo(res) {
1287
1302
  clearTimeout(this.interval);
1288
1303
  if (res) {
1289
- //this.modifyPasswordfun();
1290
1304
  this.interval = setTimeout(() => {
1291
1305
  this.initRequestLoginInfo();
1292
1306
  }, this.scanIntervalTime);
@@ -1304,7 +1318,12 @@ export default {
1304
1318
  .then((res) => {
1305
1319
  if (res.rCode === 0) {
1306
1320
  const results = res.results;
1307
- this.handleResults(results, 3);
1321
+ if (results.statusCode === 0) {
1322
+ clearTimeout(this.interval);
1323
+ this.handleResults(results, 3);
1324
+ } else {
1325
+ this.loginInfo(true);
1326
+ }
1308
1327
  }
1309
1328
  })
1310
1329
  .catch((err) => {
@@ -1315,7 +1334,6 @@ export default {
1315
1334
  });
1316
1335
  },
1317
1336
  handleResults(results, type) {
1318
- this.loginInfo(false);
1319
1337
  switch (results.statusCode) {
1320
1338
  case 0:
1321
1339
  util.setStorage({
@@ -1409,6 +1427,12 @@ export default {
1409
1427
  })
1410
1428
  .catch((e) => {});
1411
1429
  break;
1430
+ case 102:
1431
+ this.checkCode = results.checkCode;
1432
+ this.showAssistance = true;
1433
+ let { operationCheckCode } = JSON.parse(results.checkCode);
1434
+ this.handleAssistance({ operationCheckCode });
1435
+ break;
1412
1436
  default:
1413
1437
  if (type !== 3) {
1414
1438
  this.$message({
@@ -1431,6 +1455,43 @@ export default {
1431
1455
  }
1432
1456
  }
1433
1457
  },
1458
+ handleAssistance(data) {
1459
+ clearTimeout(this.doAssistance);
1460
+ this.doAssistance = setTimeout(() => {
1461
+ this.doAssistanceLogin(data);
1462
+ }, this.scanIntervalTime);
1463
+ },
1464
+ doAssistanceLogin(data) {
1465
+ util
1466
+ .ajax({
1467
+ method: 'post',
1468
+ url: doAssistanceQrLogin,
1469
+ data: data
1470
+ })
1471
+ .then((res) => {
1472
+ if (res.rCode === 0) {
1473
+ const results = res.results;
1474
+ if (results.statusCode === 0) {
1475
+ clearTimeout(this.doAssistance);
1476
+ this.handleResults(results, 3);
1477
+ } else {
1478
+ this.handleAssistance(data);
1479
+ }
1480
+ } else {
1481
+ clearTimeout(this.doAssistance);
1482
+ this.$message.error(res.msg);
1483
+ }
1484
+ })
1485
+ .catch((err) => {
1486
+ clearTimeout(this.doAssistance);
1487
+ if (err.message && err.message !== 'canceled') {
1488
+ this.$message.error(err.message);
1489
+ }
1490
+ });
1491
+ },
1492
+ closeAssistance() {
1493
+ clearTimeout(this.doAssistance);
1494
+ },
1434
1495
  handleSuccess() {
1435
1496
  this.showResetPassword = false;
1436
1497
  }
@@ -479,16 +479,10 @@ export default {
479
479
  )
480
480
  );
481
481
  }
482
- console.log(topRightToolHide);
483
- console.log(
484
- 'Object.keys(topRightToolHide).length',
485
- Object.keys(topRightToolHide).length
486
- );
487
482
  if (this.layout === 'subsystem' || this.application) {
488
483
  if (this.hides && Object.keys(this.hides).length) {
489
484
  return { ...this.hides, set: !this.set, system: false };
490
485
  } else if (topRightToolHide && Object.keys(topRightToolHide).length) {
491
- console.log('topRightToolHide', topRightToolHide);
492
486
  return { ...topRightToolHide, set: !this.set, system: false };
493
487
  } else {
494
488
  return { set: !this.set, system: false };
@@ -1 +1 @@
1
- @charset "UTF-8";.es-handler{padding:5px 16px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.es-handler .es-handler-item{position:relative}.es-handler .es-handler-item+.es-handler-item{margin-left:12px}.es-handler .es-handler-item .el-badge__content.is-fixed{top:4px;right:14px}.es-handler .es-handler-item:first-child .es-handler-date,.es-handler .es-handler-item:first-child .es-handler-user{padding-right:12px}.es-handler .es-handler-item:first-child .es-handler-date::after,.es-handler .es-handler-item:first-child .es-handler-user::after{content:'';height:100%;display:block;position:absolute;top:0;right:0;border-right:1px solid #d9d9d9}.es-handler .es-handler-icon{font-size:24px;cursor:pointer;padding:4px;border-radius:4px}.es-handler .es-handler-icon:hover{background-color:#69c0ff}.es-handler .es-handler-date{font-size:14px;padding-right:8px}.es-handler .es-handler-date .es-online-num{font-weight:700;padding:0 7px;cursor:pointer;color:#ffea00}.es-handler .es-handler-user{height:48px}.es-handler .es-handler-user .es-user-img{width:48px;height:48px;float:left}.es-handler .es-handler-user .es-user-info{margin-left:60px}.es-handler .es-handler-user .es-user-job{max-width:140px}.es-popper-sub-system{background-color:#1890ff!important;color:#ffff;max-width:346px;min-width:unset}.es-popper-sub-system .popper__arrow::after{border-bottom-color:#096dd9!important}.es-sub-system{margin:0}.es-sub-system::after{content:'';display:block;clear:both}.es-sub-system .es-sub-system-item{width:80px;height:80px;padding:10px 4px;float:left;text-align:center;cursor:pointer}.es-sub-system .es-sub-system-item .es-sub-system-icon{font-size:32px;display:block;clear:both;margin-bottom:8px}.es-sub-system .es-sub-system-item .es-sub-system-title{width:100%;height:17px;font-size:13px;line-height:17px;display:block;overflow:hidden}.es-sub-system .es-sub-system-item:hover{background-color:#69c0ff;color:#fff}.es-sub-system .es-sub-system-item.es-disabled{cursor:not-allowed;color:rgba(255,255,255,.3);background-color:transparent}.el-dropdown-menu__item.es-job-active{background-color:#69c0ff;color:#fff}.es-color-picker{padding-left:24px}.es-color-picker .el-color-picker-tip{font-size:12px;color:#f21f06;margin-top:8px}
1
+ @charset "UTF-8";.es-handler{padding:5px 16px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.es-handler .es-handler-item{position:relative}.es-handler .es-handler-item+.es-handler-item{margin-left:12px}.es-handler .es-handler-item .el-badge__content.is-fixed{top:4px;right:14px}.es-handler .es-handler-item:first-child .es-handler-date,.es-handler .es-handler-item:first-child .es-handler-user{padding-right:12px}.es-handler .es-handler-item:first-child .es-handler-date::after,.es-handler .es-handler-item:first-child .es-handler-user::after{content:'';height:100%;display:block;position:absolute;top:0;right:0;border-right:1px solid #d9d9d9}.es-handler .es-handler-icon{font-size:24px;cursor:pointer;padding:4px;border-radius:4px}.es-handler .es-handler-icon:hover{background-color:#69c0ff}.es-handler .es-handler-date{font-size:14px;padding-right:8px}.es-handler .es-handler-date .es-online-num{font-weight:700;padding:0 7px;cursor:pointer;color:#ffea00}.es-handler .es-handler-user{height:48px}.es-handler .es-handler-user .es-user-img{width:48px;height:48px;float:left}.es-handler .es-handler-user .es-user-info{margin-left:60px}.es-handler .es-handler-user .es-user-job{max-width:140px}.es-popper-sub-system{background-color:#1890ff!important;color:#ffff;min-width:unset}.es-popper-sub-system.is-width{width:346px}.es-popper-sub-system .popper__arrow::after{border-bottom-color:#096dd9!important}.es-sub-system{margin:0}.es-sub-system::after{content:'';display:block;clear:both}.es-sub-system .es-sub-system-item{width:80px;height:80px;padding:10px 4px;float:left;text-align:center;cursor:pointer}.es-sub-system .es-sub-system-item .es-sub-system-icon{font-size:32px;display:block;clear:both;margin-bottom:8px}.es-sub-system .es-sub-system-item .es-sub-system-title{width:100%;height:17px;font-size:13px;line-height:17px;display:block;overflow:hidden}.es-sub-system .es-sub-system-item:hover{background-color:#69c0ff;color:#fff}.es-sub-system .es-sub-system-item.es-disabled{cursor:not-allowed;color:rgba(255,255,255,.3);background-color:transparent}.el-dropdown-menu__item.es-job-active{background-color:#69c0ff;color:#fff}.es-color-picker{padding-left:24px}.es-color-picker .el-color-picker-tip{font-size:12px;color:#f21f06;margin-top:8px}