cy-element-ui 1.1.6 → 1.1.8
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 +54 -0
- package/lib/index.js +1 -1
- package/lib/theme-chalk/index.css +1 -1
- package/lib/theme-chalk/subTitle.css +0 -0
- package/lib/theme-chalk/tabDialog.css +0 -0
- package/lib/theme-chalk/treeSelect.css +0 -1
- package/lib/theme-cy/base.css +1 -0
- package/lib/theme-cy/element.css +1 -0
- package/lib/theme-cy/index.css +1 -0
- package/lib/theme-cy/subTitle.css +1 -0
- package/lib/theme-cy/tabDialog.css +1 -0
- package/lib/theme-cy/treeSelect.css +1 -0
- package/package.json +2 -2
- package/packages/subTitle/index.js +7 -0
- package/packages/subTitle/src/main.vue +36 -0
- package/packages/tabDialog/index.js +23 -0
- package/packages/tabDialog/src/dialog/drag.js +63 -0
- package/packages/tabDialog/src/dialog/dragHeight.js +34 -0
- package/packages/tabDialog/src/dialog/dragWidth.js +30 -0
- package/packages/tabDialog/src/main.vue +277 -0
- package/packages/theme-chalk/src/index.scss +2 -0
- package/packages/theme-chalk/src/subTitle.scss +0 -0
- package/packages/theme-chalk/src/tabDialog.scss +0 -0
- package/packages/theme-chalk/src/treeSelect.scss +0 -98
- package/packages/theme-cy/gulpfile.js +19 -0
- package/packages/theme-cy/lib/base.css +1 -0
- package/packages/theme-cy/lib/element.css +1 -0
- package/packages/theme-cy/lib/index.css +1 -0
- package/packages/theme-cy/lib/subTitle.css +1 -0
- package/packages/theme-cy/lib/tabDialog.css +1 -0
- package/packages/theme-cy/lib/treeSelect.css +1 -0
- package/packages/theme-cy/package.json +9 -0
- package/packages/theme-cy/src/base.scss +3 -0
- package/packages/theme-cy/src/element.scss +12 -0
- package/packages/theme-cy/src/index.scss +4 -0
- package/packages/theme-cy/src/subTitle.scss +26 -0
- package/packages/theme-cy/src/tabDialog.scss +43 -0
- package/packages/theme-cy/src/treeSelect.scss +131 -0
- package/src/index.js +15 -4
|
File without changes
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}@font-face{font-family:element-icons;src:url(fonts/element-icons.woff) format("woff"),url(fonts/element-icons.ttf) format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:"\e6a0"}.el-icon-ice-cream-square:before{content:"\e6a3"}.el-icon-lollipop:before{content:"\e6a4"}.el-icon-potato-strips:before{content:"\e6a5"}.el-icon-milk-tea:before{content:"\e6a6"}.el-icon-ice-drink:before{content:"\e6a7"}.el-icon-ice-tea:before{content:"\e6a9"}.el-icon-coffee:before{content:"\e6aa"}.el-icon-orange:before{content:"\e6ab"}.el-icon-pear:before{content:"\e6ac"}.el-icon-apple:before{content:"\e6ad"}.el-icon-cherry:before{content:"\e6ae"}.el-icon-watermelon:before{content:"\e6af"}.el-icon-grape:before{content:"\e6b0"}.el-icon-refrigerator:before{content:"\e6b1"}.el-icon-goblet-square-full:before{content:"\e6b2"}.el-icon-goblet-square:before{content:"\e6b3"}.el-icon-goblet-full:before{content:"\e6b4"}.el-icon-goblet:before{content:"\e6b5"}.el-icon-cold-drink:before{content:"\e6b6"}.el-icon-coffee-cup:before{content:"\e6b8"}.el-icon-water-cup:before{content:"\e6b9"}.el-icon-hot-water:before{content:"\e6ba"}.el-icon-ice-cream:before{content:"\e6bb"}.el-icon-dessert:before{content:"\e6bc"}.el-icon-sugar:before{content:"\e6bd"}.el-icon-tableware:before{content:"\e6be"}.el-icon-burger:before{content:"\e6bf"}.el-icon-knife-fork:before{content:"\e6c1"}.el-icon-fork-spoon:before{content:"\e6c2"}.el-icon-chicken:before{content:"\e6c3"}.el-icon-food:before{content:"\e6c4"}.el-icon-dish-1:before{content:"\e6c5"}.el-icon-dish:before{content:"\e6c6"}.el-icon-moon-night:before{content:"\e6ee"}.el-icon-moon:before{content:"\e6f0"}.el-icon-cloudy-and-sunny:before{content:"\e6f1"}.el-icon-partly-cloudy:before{content:"\e6f2"}.el-icon-cloudy:before{content:"\e6f3"}.el-icon-sunny:before{content:"\e6f6"}.el-icon-sunset:before{content:"\e6f7"}.el-icon-sunrise-1:before{content:"\e6f8"}.el-icon-sunrise:before{content:"\e6f9"}.el-icon-heavy-rain:before{content:"\e6fa"}.el-icon-lightning:before{content:"\e6fb"}.el-icon-light-rain:before{content:"\e6fc"}.el-icon-wind-power:before{content:"\e6fd"}.el-icon-baseball:before{content:"\e712"}.el-icon-soccer:before{content:"\e713"}.el-icon-football:before{content:"\e715"}.el-icon-basketball:before{content:"\e716"}.el-icon-ship:before{content:"\e73f"}.el-icon-truck:before{content:"\e740"}.el-icon-bicycle:before{content:"\e741"}.el-icon-mobile-phone:before{content:"\e6d3"}.el-icon-service:before{content:"\e6d4"}.el-icon-key:before{content:"\e6e2"}.el-icon-unlock:before{content:"\e6e4"}.el-icon-lock:before{content:"\e6e5"}.el-icon-watch:before{content:"\e6fe"}.el-icon-watch-1:before{content:"\e6ff"}.el-icon-timer:before{content:"\e702"}.el-icon-alarm-clock:before{content:"\e703"}.el-icon-map-location:before{content:"\e704"}.el-icon-delete-location:before{content:"\e705"}.el-icon-add-location:before{content:"\e706"}.el-icon-location-information:before{content:"\e707"}.el-icon-location-outline:before{content:"\e708"}.el-icon-location:before{content:"\e79e"}.el-icon-place:before{content:"\e709"}.el-icon-discover:before{content:"\e70a"}.el-icon-first-aid-kit:before{content:"\e70b"}.el-icon-trophy-1:before{content:"\e70c"}.el-icon-trophy:before{content:"\e70d"}.el-icon-medal:before{content:"\e70e"}.el-icon-medal-1:before{content:"\e70f"}.el-icon-stopwatch:before{content:"\e710"}.el-icon-mic:before{content:"\e711"}.el-icon-copy-document:before{content:"\e718"}.el-icon-full-screen:before{content:"\e719"}.el-icon-switch-button:before{content:"\e71b"}.el-icon-aim:before{content:"\e71c"}.el-icon-crop:before{content:"\e71d"}.el-icon-odometer:before{content:"\e71e"}.el-icon-time:before{content:"\e71f"}.el-icon-bangzhu:before{content:"\e724"}.el-icon-close-notification:before{content:"\e726"}.el-icon-microphone:before{content:"\e727"}.el-icon-turn-off-microphone:before{content:"\e728"}.el-icon-position:before{content:"\e729"}.el-icon-postcard:before{content:"\e72a"}.el-icon-message:before{content:"\e72b"}.el-icon-chat-line-square:before{content:"\e72d"}.el-icon-chat-dot-square:before{content:"\e72e"}.el-icon-chat-dot-round:before{content:"\e72f"}.el-icon-chat-square:before{content:"\e730"}.el-icon-chat-line-round:before{content:"\e731"}.el-icon-chat-round:before{content:"\e732"}.el-icon-set-up:before{content:"\e733"}.el-icon-turn-off:before{content:"\e734"}.el-icon-open:before{content:"\e735"}.el-icon-connection:before{content:"\e736"}.el-icon-link:before{content:"\e737"}.el-icon-cpu:before{content:"\e738"}.el-icon-thumb:before{content:"\e739"}.el-icon-female:before{content:"\e73a"}.el-icon-male:before{content:"\e73b"}.el-icon-guide:before{content:"\e73c"}.el-icon-news:before{content:"\e73e"}.el-icon-price-tag:before{content:"\e744"}.el-icon-discount:before{content:"\e745"}.el-icon-wallet:before{content:"\e747"}.el-icon-coin:before{content:"\e748"}.el-icon-money:before{content:"\e749"}.el-icon-bank-card:before{content:"\e74a"}.el-icon-box:before{content:"\e74b"}.el-icon-present:before{content:"\e74c"}.el-icon-sell:before{content:"\e6d5"}.el-icon-sold-out:before{content:"\e6d6"}.el-icon-shopping-bag-2:before{content:"\e74d"}.el-icon-shopping-bag-1:before{content:"\e74e"}.el-icon-shopping-cart-2:before{content:"\e74f"}.el-icon-shopping-cart-1:before{content:"\e750"}.el-icon-shopping-cart-full:before{content:"\e751"}.el-icon-smoking:before{content:"\e752"}.el-icon-no-smoking:before{content:"\e753"}.el-icon-house:before{content:"\e754"}.el-icon-table-lamp:before{content:"\e755"}.el-icon-school:before{content:"\e756"}.el-icon-office-building:before{content:"\e757"}.el-icon-toilet-paper:before{content:"\e758"}.el-icon-notebook-2:before{content:"\e759"}.el-icon-notebook-1:before{content:"\e75a"}.el-icon-files:before{content:"\e75b"}.el-icon-collection:before{content:"\e75c"}.el-icon-receiving:before{content:"\e75d"}.el-icon-suitcase-1:before{content:"\e760"}.el-icon-suitcase:before{content:"\e761"}.el-icon-film:before{content:"\e763"}.el-icon-collection-tag:before{content:"\e765"}.el-icon-data-analysis:before{content:"\e766"}.el-icon-pie-chart:before{content:"\e767"}.el-icon-data-board:before{content:"\e768"}.el-icon-data-line:before{content:"\e76d"}.el-icon-reading:before{content:"\e769"}.el-icon-magic-stick:before{content:"\e76a"}.el-icon-coordinate:before{content:"\e76b"}.el-icon-mouse:before{content:"\e76c"}.el-icon-brush:before{content:"\e76e"}.el-icon-headset:before{content:"\e76f"}.el-icon-umbrella:before{content:"\e770"}.el-icon-scissors:before{content:"\e771"}.el-icon-mobile:before{content:"\e773"}.el-icon-attract:before{content:"\e774"}.el-icon-monitor:before{content:"\e775"}.el-icon-search:before{content:"\e778"}.el-icon-takeaway-box:before{content:"\e77a"}.el-icon-paperclip:before{content:"\e77d"}.el-icon-printer:before{content:"\e77e"}.el-icon-document-add:before{content:"\e782"}.el-icon-document:before{content:"\e785"}.el-icon-document-checked:before{content:"\e786"}.el-icon-document-copy:before{content:"\e787"}.el-icon-document-delete:before{content:"\e788"}.el-icon-document-remove:before{content:"\e789"}.el-icon-tickets:before{content:"\e78b"}.el-icon-folder-checked:before{content:"\e77f"}.el-icon-folder-delete:before{content:"\e780"}.el-icon-folder-remove:before{content:"\e781"}.el-icon-folder-add:before{content:"\e783"}.el-icon-folder-opened:before{content:"\e784"}.el-icon-folder:before{content:"\e78a"}.el-icon-edit-outline:before{content:"\e764"}.el-icon-edit:before{content:"\e78c"}.el-icon-date:before{content:"\e78e"}.el-icon-c-scale-to-original:before{content:"\e7c6"}.el-icon-view:before{content:"\e6ce"}.el-icon-loading:before{content:"\e6cf"}.el-icon-rank:before{content:"\e6d1"}.el-icon-sort-down:before{content:"\e7c4"}.el-icon-sort-up:before{content:"\e7c5"}.el-icon-sort:before{content:"\e6d2"}.el-icon-finished:before{content:"\e6cd"}.el-icon-refresh-left:before{content:"\e6c7"}.el-icon-refresh-right:before{content:"\e6c8"}.el-icon-refresh:before{content:"\e6d0"}.el-icon-video-play:before{content:"\e7c0"}.el-icon-video-pause:before{content:"\e7c1"}.el-icon-d-arrow-right:before{content:"\e6dc"}.el-icon-d-arrow-left:before{content:"\e6dd"}.el-icon-arrow-up:before{content:"\e6e1"}.el-icon-arrow-down:before{content:"\e6df"}.el-icon-arrow-right:before{content:"\e6e0"}.el-icon-arrow-left:before{content:"\e6de"}.el-icon-top-right:before{content:"\e6e7"}.el-icon-top-left:before{content:"\e6e8"}.el-icon-top:before{content:"\e6e6"}.el-icon-bottom:before{content:"\e6eb"}.el-icon-right:before{content:"\e6e9"}.el-icon-back:before{content:"\e6ea"}.el-icon-bottom-right:before{content:"\e6ec"}.el-icon-bottom-left:before{content:"\e6ed"}.el-icon-caret-top:before{content:"\e78f"}.el-icon-caret-bottom:before{content:"\e790"}.el-icon-caret-right:before{content:"\e791"}.el-icon-caret-left:before{content:"\e792"}.el-icon-d-caret:before{content:"\e79a"}.el-icon-share:before{content:"\e793"}.el-icon-menu:before{content:"\e798"}.el-icon-s-grid:before{content:"\e7a6"}.el-icon-s-check:before{content:"\e7a7"}.el-icon-s-data:before{content:"\e7a8"}.el-icon-s-opportunity:before{content:"\e7aa"}.el-icon-s-custom:before{content:"\e7ab"}.el-icon-s-claim:before{content:"\e7ad"}.el-icon-s-finance:before{content:"\e7ae"}.el-icon-s-comment:before{content:"\e7af"}.el-icon-s-flag:before{content:"\e7b0"}.el-icon-s-marketing:before{content:"\e7b1"}.el-icon-s-shop:before{content:"\e7b4"}.el-icon-s-open:before{content:"\e7b5"}.el-icon-s-management:before{content:"\e7b6"}.el-icon-s-ticket:before{content:"\e7b7"}.el-icon-s-release:before{content:"\e7b8"}.el-icon-s-home:before{content:"\e7b9"}.el-icon-s-promotion:before{content:"\e7ba"}.el-icon-s-operation:before{content:"\e7bb"}.el-icon-s-unfold:before{content:"\e7bc"}.el-icon-s-fold:before{content:"\e7a9"}.el-icon-s-platform:before{content:"\e7bd"}.el-icon-s-order:before{content:"\e7be"}.el-icon-s-cooperation:before{content:"\e7bf"}.el-icon-bell:before{content:"\e725"}.el-icon-message-solid:before{content:"\e799"}.el-icon-video-camera:before{content:"\e772"}.el-icon-video-camera-solid:before{content:"\e796"}.el-icon-camera:before{content:"\e779"}.el-icon-camera-solid:before{content:"\e79b"}.el-icon-download:before{content:"\e77c"}.el-icon-upload2:before{content:"\e77b"}.el-icon-upload:before{content:"\e7c3"}.el-icon-picture-outline-round:before{content:"\e75f"}.el-icon-picture-outline:before{content:"\e75e"}.el-icon-picture:before{content:"\e79f"}.el-icon-close:before{content:"\e6db"}.el-icon-check:before{content:"\e6da"}.el-icon-plus:before{content:"\e6d9"}.el-icon-minus:before{content:"\e6d8"}.el-icon-help:before{content:"\e73d"}.el-icon-s-help:before{content:"\e7b3"}.el-icon-circle-close:before{content:"\e78d"}.el-icon-circle-check:before{content:"\e720"}.el-icon-circle-plus-outline:before{content:"\e723"}.el-icon-remove-outline:before{content:"\e722"}.el-icon-zoom-out:before{content:"\e776"}.el-icon-zoom-in:before{content:"\e777"}.el-icon-error:before{content:"\e79d"}.el-icon-success:before{content:"\e79c"}.el-icon-circle-plus:before{content:"\e7a0"}.el-icon-remove:before{content:"\e7a2"}.el-icon-info:before{content:"\e7a1"}.el-icon-question:before{content:"\e7a4"}.el-icon-warning-outline:before{content:"\e6c9"}.el-icon-warning:before{content:"\e7a3"}.el-icon-goods:before{content:"\e7c2"}.el-icon-s-goods:before{content:"\e7b2"}.el-icon-star-off:before{content:"\e717"}.el-icon-star-on:before{content:"\e797"}.el-icon-more-outline:before{content:"\e6cc"}.el-icon-more:before{content:"\e794"}.el-icon-phone-outline:before{content:"\e6cb"}.el-icon-phone:before{content:"\e795"}.el-icon-user:before{content:"\e6e3"}.el-icon-user-solid:before{content:"\e7a5"}.el-icon-setting:before{content:"\e6ca"}.el-icon-s-tools:before{content:"\e7ac"}.el-icon-delete:before{content:"\e6d7"}.el-icon-delete-solid:before{content:"\e7c9"}.el-icon-eleme:before{content:"\e7c7"}.el-icon-platform-eleme:before{content:"\e7ca"}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}.cy-tree-select .el-popover__reference-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.cy-tree-select-select{width:217px;height:36px;line-height:34px;border:1px solid #DCDFE6;border-radius:4px;padding:0 29px 0 15px;cursor:pointer;overflow:hidden;position:relative;-webkit-transition:all .3s;transition:all .3s}.cy-tree-select-select .cy-tree-select-select-v{width:100%;color:#606266;font-size:14px;white-space:nowrap;overflow:auto}.cy-tree-select-select .cy-tree-select-select-v-placeholder{color:#c0c4cc}.cy-tree-select-select .cy-tree-select-select-v-icon{color:#C0C4CC;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);right:9px}.cy-tree-select-select .cy-tree-select-select-v-icon .cy-tree-select-select-v-arrow{-webkit-transform:rotateZ(0);transform:rotateZ(0);-webkit-transition:all .3s;transition:all .3s}.cy-tree-select-select .cy-tree-select-select-v-icon .cy-tree-select-select-v-arrow-show{-webkit-transform:rotateZ(-180deg);transform:rotateZ(-180deg)}.cy-tree-select-select.small{height:32px;line-height:30px}.cy-tree-select-select.small .cy-tree-select-select-v{font-size:13px}.cy-tree-select-select.mini{height:28px;line-height:26px}.cy-tree-select-select.mini .cy-tree-select-select-v{font-size:12px}.cy-tree-select-select:hover{border-color:#C0C4CC}.cy-tree-select-select-con-s{padding-bottom:8px}.cy-tree-select-select-con-t{padding-bottom:5px;margin-bottom:5px;border-bottom:1px solid #DCDFE6}.cy-tree-select-select-con-c{max-height:300px;overflow:auto}.el-form-item--medium .el-form-item--content .cy-tree-select{width:100%;height:36px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-form-item--medium .el-form-item--content .cy-tree-select>span{display:inline-block;width:100%}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@charset "UTF-8";.el-checkbox__input.is-disabled+span.el-checkbox__label,.el-input.is-disabled .el-input__inner,.el-radio__input.is-disabled+span.el-radio__label,.el-range-editor.is-disabled input,.el-textarea.is-disabled .el-textarea__inner{color:#888}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after,.el-radio__input.is-disabled.is-checked .el-radio__inner::after{border-color:#888}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.cy-tree-select .el-popover__reference-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.cy-tree-select-select{width:100%;height:40px;line-height:38px;border:1px solid #DCDFE6;border-radius:4px;padding:0 25px 0 15px;cursor:pointer;overflow:hidden;position:relative;-webkit-transition:all .3s;transition:all .3s;-webkit-box-sizing:border-box;box-sizing:border-box}.cy-tree-select-select .cy-tree-select-select-v{width:100%;color:#606266;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cy-tree-select-select .cy-tree-select-select-v-placeholder{color:#c0c4cc}.cy-tree-select-select .cy-tree-select-select-v-icon{color:#C0C4CC;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);right:10px}.cy-tree-select-select .cy-tree-select-select-v-icon .cy-tree-select-select-v-arrow{-webkit-transform:rotateZ(0);transform:rotateZ(0);-webkit-transition:all .3s;transition:all .3s}.cy-tree-select-select .cy-tree-select-select-v-icon .cy-tree-select-select-v-arrow-show{-webkit-transform:rotateZ(-180deg);transform:rotateZ(-180deg)}.cy-tree-select-select.small{height:32px;line-height:30px;padding:0 25px 0 10px}.cy-tree-select-select.small .cy-tree-select-select-v{font-size:13px}.cy-tree-select-select.mini{height:28px;line-height:26px;padding:0 25px 0 10px}.cy-tree-select-select.mini .cy-tree-select-select-v{font-size:12px}.cy-tree-select-select:hover{border-color:#C0C4CC}.cy-tree-select-select:focus{outline:0;border-color:#409EFF}.cy-tree-select-select-con-s{padding-bottom:8px}.cy-tree-select-select-con-t{padding-bottom:5px;margin-bottom:5px;border-bottom:1px solid #DCDFE6}.cy-tree-select-select-con-c{max-height:300px;overflow:auto}.el-form-item--medium .el-form-item__content .cy-tree-select{width:100%;height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-form-item--medium .el-form-item__content .cy-tree-select>span{display:inline-block;width:100%}.el-form-item--small .el-form-item__content .cy-tree-select{width:100%;height:32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-form-item--small .el-form-item__content .cy-tree-select>span{display:inline-block;width:100%}.el-form-item--mini .el-form-item__content .cy-tree-select{width:100%;height:28px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-form-item--mini .el-form-item__content .cy-tree-select>span{display:inline-block;width:100%}.cy-tab-dialog{line-height:0}.cy-tab-dialog-modal{position:absolute;top:0;bottom:0;left:0;right:0;opacity:.5;background:#000}.cy-tab-dialog .el-dialog__wrapper{position:absolute!important;line-height:18px}.cy-tab-dialog .el-dialog__wrapper .el-dialog{-webkit-box-shadow:0 2px 4px rgba(0,0,0,.12),0 0 6px rgba(0,0,0,.4);box-shadow:0 2px 4px rgba(0,0,0,.12),0 0 6px rgba(0,0,0,.4);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cy-tab-dialog .el-dialog__wrapper .el-dialog .el-dialog__header{-ms-flex-negative:0;flex-shrink:0}.cy-tab-dialog .el-dialog__wrapper .el-dialog .el-dialog__body{height:100%}.cy-tab-dialog.cy-tab-dialog-fullscreen .el-dialog__wrapper{position:fixed!important}.cy-tab-dialog.cy-tab-dialog-fullscreen .el-dialog__wrapper .el-dialog{left:0!important;top:0}*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box}.cy-sub-title{width:100%;font-size:17px;border-left:5px solid #1890ff;text-indent:10px;margin-bottom:15px;font-weight:700;color:#303133;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cy-sub-title .left{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cy-sub-title .right{-ms-flex-negative:0;flex-shrink:0;margin-left:20px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box}.cy-sub-title{width:100%;font-size:17px;border-left:5px solid #1890ff;text-indent:10px;margin-bottom:15px;font-weight:700;color:#303133;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cy-sub-title .left{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cy-sub-title .right{-ms-flex-negative:0;flex-shrink:0;margin-left:20px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box}.cy-tab-dialog{line-height:0}.cy-tab-dialog-modal{position:absolute;top:0;bottom:0;left:0;right:0;opacity:.5;background:#000}.cy-tab-dialog .el-dialog__wrapper{position:absolute!important;line-height:18px}.cy-tab-dialog .el-dialog__wrapper .el-dialog{-webkit-box-shadow:0 2px 4px rgba(0,0,0,.12),0 0 6px rgba(0,0,0,.4);box-shadow:0 2px 4px rgba(0,0,0,.12),0 0 6px rgba(0,0,0,.4);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cy-tab-dialog .el-dialog__wrapper .el-dialog .el-dialog__header{-ms-flex-negative:0;flex-shrink:0}.cy-tab-dialog .el-dialog__wrapper .el-dialog .el-dialog__body{height:100%}.cy-tab-dialog.cy-tab-dialog-fullscreen .el-dialog__wrapper{position:fixed!important}.cy-tab-dialog.cy-tab-dialog-fullscreen .el-dialog__wrapper .el-dialog{left:0!important;top:0}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box}.cy-tree-select .el-popover__reference-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex}.cy-tree-select-select{width:100%;height:40px;line-height:38px;border:1px solid #DCDFE6;border-radius:4px;padding:0 25px 0 15px;cursor:pointer;overflow:hidden;position:relative;-webkit-transition:all .3s;transition:all .3s;-webkit-box-sizing:border-box;box-sizing:border-box}.cy-tree-select-select .cy-tree-select-select-v{width:100%;color:#606266;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cy-tree-select-select .cy-tree-select-select-v-placeholder{color:#c0c4cc}.cy-tree-select-select .cy-tree-select-select-v-icon{color:#C0C4CC;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);right:10px}.cy-tree-select-select .cy-tree-select-select-v-icon .cy-tree-select-select-v-arrow{-webkit-transform:rotateZ(0);transform:rotateZ(0);-webkit-transition:all .3s;transition:all .3s}.cy-tree-select-select .cy-tree-select-select-v-icon .cy-tree-select-select-v-arrow-show{-webkit-transform:rotateZ(-180deg);transform:rotateZ(-180deg)}.cy-tree-select-select.small{height:32px;line-height:30px;padding:0 25px 0 10px}.cy-tree-select-select.small .cy-tree-select-select-v{font-size:13px}.cy-tree-select-select.mini{height:28px;line-height:26px;padding:0 25px 0 10px}.cy-tree-select-select.mini .cy-tree-select-select-v{font-size:12px}.cy-tree-select-select:hover{border-color:#C0C4CC}.cy-tree-select-select:focus{outline:0;border-color:#409EFF}.cy-tree-select-select-con-s{padding-bottom:8px}.cy-tree-select-select-con-t{padding-bottom:5px;margin-bottom:5px;border-bottom:1px solid #DCDFE6}.cy-tree-select-select-con-c{max-height:300px;overflow:auto}.el-form-item--medium .el-form-item__content .cy-tree-select{width:100%;height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-form-item--medium .el-form-item__content .cy-tree-select>span{display:inline-block;width:100%}.el-form-item--small .el-form-item__content .cy-tree-select{width:100%;height:32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-form-item--small .el-form-item__content .cy-tree-select>span{display:inline-block;width:100%}.el-form-item--mini .el-form-item__content .cy-tree-select{width:100%;height:28px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-form-item--mini .el-form-item__content .cy-tree-select>span{display:inline-block;width:100%}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cy-element-ui",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.8",
|
|
4
4
|
"description": "A Component Library for Vue.js.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"files": [
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"scripts": {
|
|
15
15
|
"bootstrap": "yarn || npm i",
|
|
16
16
|
"build:file": "node build/bin/iconInit.js & node build/bin/build-entry.js & node build/bin/i18n.js & node build/bin/version.js",
|
|
17
|
-
"build:theme": "node build/bin/gen-cssfile && gulp build --gulpfile packages/theme-chalk/gulpfile.js && cp-cli packages/theme-chalk/lib lib/theme-chalk",
|
|
17
|
+
"build:theme": "node build/bin/gen-cssfile && gulp build --gulpfile packages/theme-chalk/gulpfile.js && cp-cli packages/theme-chalk/lib lib/theme-chalk && gulp build --gulpfile packages/theme-cy/gulpfile.js && cp-cli packages/theme-cy/lib lib/theme-cy",
|
|
18
18
|
"build:utils": "cross-env BABEL_ENV=utils babel src --out-dir lib --ignore src/index.js",
|
|
19
19
|
"build:umd": "node build/bin/build-locale.js",
|
|
20
20
|
"clean": "rimraf lib && rimraf packages/*/lib && rimraf test/**/coverage",
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="cy-sub-title" :style="lineStyle">
|
|
3
|
+
<div class="left">
|
|
4
|
+
<slot>{{ title }}</slot>
|
|
5
|
+
</div>
|
|
6
|
+
<div class="right">
|
|
7
|
+
<slot name="right"></slot>
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
10
|
+
</template>
|
|
11
|
+
|
|
12
|
+
<script>
|
|
13
|
+
export default {
|
|
14
|
+
name: 'CySubTitle',
|
|
15
|
+
props: {
|
|
16
|
+
title: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: ''
|
|
19
|
+
},
|
|
20
|
+
lineColor: {
|
|
21
|
+
type: String,
|
|
22
|
+
default: ''
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
computed: {
|
|
26
|
+
lineStyle() {
|
|
27
|
+
if (this.lineColor) {
|
|
28
|
+
return {
|
|
29
|
+
borderLeftColor: this.lineColor
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return {};
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
</script>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import TabDialog from './src/main';
|
|
2
|
+
import dialogDrag from './src/dialog/drag';
|
|
3
|
+
import dialogDragWidth from './src/dialog/dragWidth';
|
|
4
|
+
import dialogDragHeight from './src/dialog/dragHeight';
|
|
5
|
+
|
|
6
|
+
export const TabDialogDirective = (Vue) => {
|
|
7
|
+
// 注册指令
|
|
8
|
+
Vue.directive('dialogDrag', dialogDrag);
|
|
9
|
+
Vue.directive('dialogDragWidth', dialogDragWidth);
|
|
10
|
+
Vue.directive('dialogDragHeight', dialogDragHeight);
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
/* istanbul ignore next */
|
|
14
|
+
TabDialog.install = function(Vue) {
|
|
15
|
+
// 注册组件
|
|
16
|
+
Vue.component(TabDialog.name, TabDialog);
|
|
17
|
+
// 注册指令
|
|
18
|
+
Vue.directive('dialogDrag', dialogDrag);
|
|
19
|
+
Vue.directive('dialogDragWidth', dialogDragWidth);
|
|
20
|
+
Vue.directive('dialogDragHeight', dialogDragHeight);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export default TabDialog;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v-dialogDrag 弹窗拖拽
|
|
3
|
+
* Copyright (c) 2019 ruoyi
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
bind(el, binding, vnode, oldVnode) {
|
|
8
|
+
const value = binding.value;
|
|
9
|
+
if (value === false) return;
|
|
10
|
+
// 获取拖拽内容头部
|
|
11
|
+
const dialogHeaderEl = el.querySelector('.el-dialog__header');
|
|
12
|
+
const dragDom = el.querySelector('.el-dialog');
|
|
13
|
+
dialogHeaderEl.style.cursor = 'move';
|
|
14
|
+
// 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);
|
|
15
|
+
const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null);
|
|
16
|
+
dragDom.style.position = 'absolute';
|
|
17
|
+
dragDom.style.marginTop = 0;
|
|
18
|
+
let width = dragDom.style.width;
|
|
19
|
+
if (width.includes('%')) {
|
|
20
|
+
width = +document.body.clientWidth * (+width.replace(/\%/g, '') / 100);
|
|
21
|
+
} else {
|
|
22
|
+
width = +width.replace(/\px/g, '');
|
|
23
|
+
}
|
|
24
|
+
dragDom.style.left = `${ (document.body.clientWidth - width) / 2 }px`;
|
|
25
|
+
// 鼠标按下事件
|
|
26
|
+
dialogHeaderEl.onmousedown = (e) => {
|
|
27
|
+
// 鼠标按下,计算当前元素距离可视区的距离 (鼠标点击位置距离可视窗口的距离)
|
|
28
|
+
const disX = e.clientX - dialogHeaderEl.offsetLeft;
|
|
29
|
+
const disY = e.clientY - dialogHeaderEl.offsetTop;
|
|
30
|
+
|
|
31
|
+
// 获取到的值带px 正则匹配替换
|
|
32
|
+
let styL, styT;
|
|
33
|
+
|
|
34
|
+
// 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
|
|
35
|
+
if (sty.left.includes('%')) {
|
|
36
|
+
styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100);
|
|
37
|
+
styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100);
|
|
38
|
+
} else {
|
|
39
|
+
styL = +sty.left.replace(/\px/g, '');
|
|
40
|
+
styT = +sty.top.replace(/\px/g, '');
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// 鼠标拖拽事件
|
|
44
|
+
document.onmousemove = function(e) {
|
|
45
|
+
// 通过事件委托,计算移动的距离 (开始拖拽至结束拖拽的距离)
|
|
46
|
+
const l = e.clientX - disX;
|
|
47
|
+
const t = e.clientY - disY;
|
|
48
|
+
|
|
49
|
+
let finallyL = l + styL;
|
|
50
|
+
let finallyT = t + styT;
|
|
51
|
+
|
|
52
|
+
// 移动当前元素
|
|
53
|
+
dragDom.style.left = `${ finallyL }px`;
|
|
54
|
+
dragDom.style.top = `${ finallyT }px`;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
document.onmouseup = function(e) {
|
|
58
|
+
document.onmousemove = null;
|
|
59
|
+
document.onmouseup = null;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v-dialogDragWidth 可拖动弹窗高度(右下角)
|
|
3
|
+
* Copyright (c) 2019 ruoyi
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
bind(el) {
|
|
8
|
+
const dragDom = el.querySelector('.el-dialog');
|
|
9
|
+
const lineEl = document.createElement('div');
|
|
10
|
+
lineEl.style = 'width: 6px; background: inherit; height: 10px; position: absolute; right: 0; bottom: 0; margin: auto; z-index: 1; cursor: nwse-resize;';
|
|
11
|
+
lineEl.addEventListener('mousedown',
|
|
12
|
+
function(e) {
|
|
13
|
+
// 鼠标按下,计算当前元素距离可视区的距离
|
|
14
|
+
const disX = e.clientX - el.offsetLeft;
|
|
15
|
+
const disY = e.clientY - el.offsetTop;
|
|
16
|
+
// 当前宽度 高度
|
|
17
|
+
const curWidth = dragDom.offsetWidth;
|
|
18
|
+
const curHeight = dragDom.offsetHeight;
|
|
19
|
+
document.onmousemove = function(e) {
|
|
20
|
+
e.preventDefault(); // 移动时禁用默认事件
|
|
21
|
+
// 通过事件委托,计算移动的距离
|
|
22
|
+
const xl = e.clientX - disX;
|
|
23
|
+
const yl = e.clientY - disY;
|
|
24
|
+
dragDom.style.width = `${ curWidth + xl }px`;
|
|
25
|
+
dragDom.style.height = `${ curHeight + yl }px`;
|
|
26
|
+
};
|
|
27
|
+
document.onmouseup = function(e) {
|
|
28
|
+
document.onmousemove = null;
|
|
29
|
+
document.onmouseup = null;
|
|
30
|
+
};
|
|
31
|
+
}, false);
|
|
32
|
+
dragDom.appendChild(lineEl);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v-dialogDragWidth 可拖动弹窗宽度(右侧边)
|
|
3
|
+
* Copyright (c) 2019 ruoyi
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
bind(el) {
|
|
8
|
+
const dragDom = el.querySelector('.el-dialog');
|
|
9
|
+
const lineEl = document.createElement('div');
|
|
10
|
+
lineEl.style = 'width: 5px; background: inherit; height: 80%; position: absolute; right: 0; top: 0; bottom: 0; margin: auto; z-index: 1; cursor: w-resize;';
|
|
11
|
+
lineEl.addEventListener('mousedown',
|
|
12
|
+
function(e) {
|
|
13
|
+
// 鼠标按下,计算当前元素距离可视区的距离
|
|
14
|
+
const disX = e.clientX - el.offsetLeft;
|
|
15
|
+
// 当前宽度
|
|
16
|
+
const curWidth = dragDom.offsetWidth;
|
|
17
|
+
document.onmousemove = function(e) {
|
|
18
|
+
e.preventDefault(); // 移动时禁用默认事件
|
|
19
|
+
// 通过事件委托,计算移动的距离
|
|
20
|
+
const l = e.clientX - disX;
|
|
21
|
+
dragDom.style.width = `${ curWidth + l }px`;
|
|
22
|
+
};
|
|
23
|
+
document.onmouseup = function(e) {
|
|
24
|
+
document.onmousemove = null;
|
|
25
|
+
document.onmouseup = null;
|
|
26
|
+
};
|
|
27
|
+
}, false);
|
|
28
|
+
dragDom.appendChild(lineEl);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="cy-tab-dialog">
|
|
3
|
+
<div
|
|
4
|
+
v-show="visible && modal"
|
|
5
|
+
contenteditable="false"
|
|
6
|
+
class="cy-tab-dialog-modal"
|
|
7
|
+
:style="{ zIndex: modelZIndex, height: modelHeight ? modelHeight : '100%' }"
|
|
8
|
+
@click="closeOnClickModal && handleClose"
|
|
9
|
+
></div>
|
|
10
|
+
|
|
11
|
+
<el-dialog
|
|
12
|
+
:visible="visible"
|
|
13
|
+
:title="title"
|
|
14
|
+
:width="width"
|
|
15
|
+
:fullscreen="fullscreen"
|
|
16
|
+
:modal="false"
|
|
17
|
+
:modal-append-to-body="false"
|
|
18
|
+
:append-to-body="false"
|
|
19
|
+
:lock-scroll="true"
|
|
20
|
+
:custom-class="customClass"
|
|
21
|
+
:close-on-click-modal="appendToTagsView ? false : closeOnClickModal"
|
|
22
|
+
:close-on-press-escape="appendToTagsView ? false : closeOnPressEscape"
|
|
23
|
+
:show-close="showClose"
|
|
24
|
+
:center="center"
|
|
25
|
+
:destroy-on-close="destroyOnClose"
|
|
26
|
+
contenteditable="false"
|
|
27
|
+
v-dialog-drag="isDrag"
|
|
28
|
+
v-dialog-drag-width="isDrag"
|
|
29
|
+
v-dialog-drag-height="isDrag"
|
|
30
|
+
:before-close="beforeClose"
|
|
31
|
+
@open="handleOpen"
|
|
32
|
+
@opened="handleOpened"
|
|
33
|
+
@close="handleClose"
|
|
34
|
+
@closed="handleClosed"
|
|
35
|
+
>
|
|
36
|
+
<template v-if="$slots.title" slot="title">
|
|
37
|
+
<slot name="title"></slot>
|
|
38
|
+
</template>
|
|
39
|
+
|
|
40
|
+
<slot></slot>
|
|
41
|
+
|
|
42
|
+
<template v-if="$slots.footer" slot="footer">
|
|
43
|
+
<slot name="footer"></slot>
|
|
44
|
+
</template>
|
|
45
|
+
</el-dialog>
|
|
46
|
+
</div>
|
|
47
|
+
</template>
|
|
48
|
+
|
|
49
|
+
<script>
|
|
50
|
+
import ElDialog from '../../dialog';
|
|
51
|
+
import Vue from 'vue';
|
|
52
|
+
|
|
53
|
+
export default {
|
|
54
|
+
name: 'CyTabDialog',
|
|
55
|
+
components: {
|
|
56
|
+
ElDialog
|
|
57
|
+
},
|
|
58
|
+
props: {
|
|
59
|
+
// 是否显示 Dialog,支持 .sync 修饰符
|
|
60
|
+
visible: {
|
|
61
|
+
type: Boolean,
|
|
62
|
+
default: false
|
|
63
|
+
},
|
|
64
|
+
// Dialog 的标题,也可通过具名 slot
|
|
65
|
+
title: {
|
|
66
|
+
type: String,
|
|
67
|
+
default: ''
|
|
68
|
+
},
|
|
69
|
+
// Dialog 的宽度
|
|
70
|
+
width: {
|
|
71
|
+
type: String,
|
|
72
|
+
default: '50%'
|
|
73
|
+
},
|
|
74
|
+
// 是否为全屏 Dialog
|
|
75
|
+
fullscreen: {
|
|
76
|
+
type: Boolean,
|
|
77
|
+
default: false
|
|
78
|
+
},
|
|
79
|
+
// Dialog CSS 中的 margin-top 值
|
|
80
|
+
top: {
|
|
81
|
+
type: String,
|
|
82
|
+
default: '6vh'
|
|
83
|
+
},
|
|
84
|
+
// 是否需要遮罩层
|
|
85
|
+
modal: {
|
|
86
|
+
type: Boolean,
|
|
87
|
+
default: true
|
|
88
|
+
},
|
|
89
|
+
// 遮罩层是否插入至 body 元素上,若为 false,则遮罩层会插入至 Dialog 的父元素上
|
|
90
|
+
appendToBody: {
|
|
91
|
+
type: Boolean,
|
|
92
|
+
default: false
|
|
93
|
+
},
|
|
94
|
+
// 是否在 Dialog 出现时将 body或上层 滚动锁定
|
|
95
|
+
lockScroll: {
|
|
96
|
+
type: Boolean,
|
|
97
|
+
default: true
|
|
98
|
+
},
|
|
99
|
+
// Dialog 的自定义类名
|
|
100
|
+
customClass: {
|
|
101
|
+
type: String,
|
|
102
|
+
default: ''
|
|
103
|
+
},
|
|
104
|
+
// 是否可以通过点击 modal 关闭 Dialog
|
|
105
|
+
closeOnClickModal: {
|
|
106
|
+
type: Boolean,
|
|
107
|
+
default: false
|
|
108
|
+
},
|
|
109
|
+
// 是否可以通过按下 ESC 关闭 Dialog
|
|
110
|
+
closeOnPressEscape: {
|
|
111
|
+
type: Boolean,
|
|
112
|
+
default: true
|
|
113
|
+
},
|
|
114
|
+
// 是否显示关闭按钮
|
|
115
|
+
showClose: {
|
|
116
|
+
type: Boolean,
|
|
117
|
+
default: true
|
|
118
|
+
},
|
|
119
|
+
// 是否对头部和底部采用居中布局
|
|
120
|
+
center: {
|
|
121
|
+
type: Boolean,
|
|
122
|
+
default: false
|
|
123
|
+
},
|
|
124
|
+
// 关闭时销毁 Dialog 中的元素
|
|
125
|
+
destroyOnClose: {
|
|
126
|
+
type: Boolean,
|
|
127
|
+
default: false
|
|
128
|
+
},
|
|
129
|
+
// 是否放到tagsView中,即当前app-views下面,此属性true时,appendToBody无效
|
|
130
|
+
appendToTagsView: {
|
|
131
|
+
type: Boolean,
|
|
132
|
+
default: false
|
|
133
|
+
},
|
|
134
|
+
// 对话框是否可拖拽
|
|
135
|
+
isDrag: {
|
|
136
|
+
type: Boolean,
|
|
137
|
+
default: true
|
|
138
|
+
},
|
|
139
|
+
// 关闭前的回调,会暂停 Dialog 的关闭
|
|
140
|
+
beforeClose: {
|
|
141
|
+
type: Function
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
data() {
|
|
145
|
+
return {
|
|
146
|
+
// 判断dialog是否已经放到对应的div下
|
|
147
|
+
rendered: false,
|
|
148
|
+
modelZIndex: 1000,
|
|
149
|
+
modelHeight: 0,
|
|
150
|
+
// 当前app-views的dom元素
|
|
151
|
+
parentDom: null,
|
|
152
|
+
// 当前el-dialog的dom元素
|
|
153
|
+
elDialogDom: null
|
|
154
|
+
};
|
|
155
|
+
},
|
|
156
|
+
watch: {
|
|
157
|
+
visible: {
|
|
158
|
+
immediate: true,
|
|
159
|
+
handler(val) {
|
|
160
|
+
if (val) {
|
|
161
|
+
this.$emit('open');
|
|
162
|
+
Vue.nextTick(() => {
|
|
163
|
+
const dom = this.$el;
|
|
164
|
+
// 首次打开
|
|
165
|
+
if (!this.rendered) {
|
|
166
|
+
this.rendered = true;
|
|
167
|
+
if (this.appendToTagsView) {
|
|
168
|
+
// 将当前dialog挪到当前app-views里面 app-container
|
|
169
|
+
this.parentDom = dom.closest('.app-container');
|
|
170
|
+
if (!this.parentDom) this.parentDom = document.body;
|
|
171
|
+
this.parentDom.append(dom);
|
|
172
|
+
} else if (this.appendToBody) {
|
|
173
|
+
// 将当前dialog挪到当前body里面
|
|
174
|
+
this.parentDom = document.body;
|
|
175
|
+
this.parentDom.append(dom);
|
|
176
|
+
}
|
|
177
|
+
// 添加键盘监听事件
|
|
178
|
+
if (this.closeOnPressEscape) {
|
|
179
|
+
document.addEventListener('keydown', this.escKeyDown);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
setTimeout(() => {
|
|
184
|
+
if (this.parentDom) this.modelHeight = this.parentDom.scrollHeight + 'px';
|
|
185
|
+
// 当前VDialog不在body中时
|
|
186
|
+
if (!this.parentDom || this.parentDom.tagName.toUpperCase() !== 'BODY') {
|
|
187
|
+
// 获取el-dialog的宽度,如果大于app-views的宽度,则el-dialog不居中显示
|
|
188
|
+
let elDialogWidth = dom.getElementsByClassName('el-dialog')[0].clientWidth;
|
|
189
|
+
if (!this.parentDom || elDialogWidth < this.parentDom.clientWidth) {
|
|
190
|
+
dom.getElementsByClassName('el-dialog')[0].style.left = '50%';
|
|
191
|
+
dom.getElementsByClassName('el-dialog')[0].style.transform = 'translateX(-50%)';
|
|
192
|
+
} else {
|
|
193
|
+
dom.getElementsByClassName('el-dialog')[0].style.left = '0';
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
dom.getElementsByClassName('el-dialog')[0].style.marginTop = this.top;
|
|
197
|
+
}, 50);
|
|
198
|
+
|
|
199
|
+
// 获取el-dialog的z-index,赋值给model,用于处理model的层级问题
|
|
200
|
+
this.elDialogDom = dom.children[1];
|
|
201
|
+
setTimeout(() => {
|
|
202
|
+
this.modelZIndex = this.elDialogDom.style.zIndex;
|
|
203
|
+
}, 50);
|
|
204
|
+
});
|
|
205
|
+
} else {
|
|
206
|
+
// immediate=true时,首次打开不需要触发close事件
|
|
207
|
+
if (this.rendered) this.$emit('close');
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
methods: {
|
|
213
|
+
handleOpen() {
|
|
214
|
+
this.$emit('open');
|
|
215
|
+
},
|
|
216
|
+
|
|
217
|
+
handleOpened() {
|
|
218
|
+
this.$emit('opened');
|
|
219
|
+
},
|
|
220
|
+
|
|
221
|
+
handleClose() {
|
|
222
|
+
this.$emit('update:visible', false);
|
|
223
|
+
this.$emit('close');
|
|
224
|
+
},
|
|
225
|
+
|
|
226
|
+
handleClosed() {
|
|
227
|
+
this.$emit('closed');
|
|
228
|
+
},
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* 监听esc键
|
|
232
|
+
*/
|
|
233
|
+
escKeyDown(event) {
|
|
234
|
+
if (event.keyCode === 27) {
|
|
235
|
+
// 获取body下的直接子节点中的已打开的vDialog
|
|
236
|
+
let bodyVDialogDomArr = [];
|
|
237
|
+
let bodyChildrenArr = document.body.childNodes;
|
|
238
|
+
for (let i = 0; i < bodyChildrenArr.length; i++) {
|
|
239
|
+
let item = bodyChildrenArr[i];
|
|
240
|
+
if (item.tagName && item.tagName.toUpperCase() === 'DIV' && item.className && item.className.split(' ').includes('cy-tab-dialog-opened')) {
|
|
241
|
+
bodyVDialogDomArr.push(item);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
// 判断body中是否有已打开的vDialog,如果有,优先关闭body下的vDialog
|
|
245
|
+
if (bodyVDialogDomArr.length > 0) {
|
|
246
|
+
// 获取当前cy-tab-dialog在当前body中的下标
|
|
247
|
+
let curDomIndex = [].indexOf.call(bodyVDialogDomArr, this.$el);
|
|
248
|
+
if (curDomIndex === bodyVDialogDomArr.length - 1) {
|
|
249
|
+
this.handleClose();
|
|
250
|
+
}
|
|
251
|
+
} else if (document.getElementById('tags-view-container') && this.parentDom.parentElement.getAttribute('include_name')) {
|
|
252
|
+
// 获取当前app-views对应的include_name值
|
|
253
|
+
let includeName = this.parentDom.parentElement.getAttribute('include_name');
|
|
254
|
+
// 根据includeName获取tagsView中的tag标签页
|
|
255
|
+
let tagDom = document.getElementById('tags-view-container').querySelectorAll(`[include_name=${ includeName }]`);
|
|
256
|
+
if (tagDom && tagDom[0]) {
|
|
257
|
+
// 判断此标签页是否为选中状态,只有选中状态中的vDialog才可以进行关闭
|
|
258
|
+
if (tagDom[0].className.split(' ').includes('active')) {
|
|
259
|
+
let vDialogList = this.parentDom.getElementsByClassName('cy-tab-dialog-opened');
|
|
260
|
+
// 获取当前cy-tab-dialog在当前app-views中的下标
|
|
261
|
+
let curDomIndex = [].indexOf.call(vDialogList, this.$el);
|
|
262
|
+
if (curDomIndex === vDialogList.length - 1) {
|
|
263
|
+
this.handleClose();
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
} else {
|
|
268
|
+
this.handleClose();
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
beforeDestroy() {
|
|
274
|
+
document.removeEventListener('keydown', this.escKeyDown);
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
</script>
|
|
File without changes
|
|
File without changes
|