vxe-gantt 4.7.3 → 4.8.0
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/dist/all.esm.js +341 -51
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/gantt/src/gantt-chart.js +5 -2
- package/es/gantt/src/gantt-view.js +224 -6
- package/es/gantt/src/gantt.js +67 -4
- package/es/gantt/style.css +23 -13
- package/es/gantt/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +8 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-gantt/style.css +23 -13
- package/es/vxe-gantt/style.min.css +1 -1
- package/lib/gantt/src/gantt-chart.js +8 -1
- package/lib/gantt/src/gantt-chart.min.js +1 -1
- package/lib/gantt/src/gantt-view.js +233 -8
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/gantt/src/gantt.js +74 -3
- package/lib/gantt/src/gantt.min.js +1 -1
- package/lib/gantt/style/style.css +23 -13
- package/lib/gantt/style/style.min.css +1 -1
- package/lib/index.umd.js +1191 -121
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +8 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-gantt/style/style.css +23 -13
- package/lib/vxe-gantt/style/style.min.css +1 -1
- package/package.json +3 -3
- package/packages/gantt/src/gantt-chart.ts +5 -2
- package/packages/gantt/src/gantt-view.ts +261 -8
- package/packages/gantt/src/gantt.ts +70 -3
- package/packages/gantt/src/util.ts +1 -1
- package/packages/ui/index.ts +7 -0
- package/styles/components/gantt-module/gantt-chart.scss +12 -0
- package/styles/components/gantt.scss +17 -13
- package/styles/theme/base.scss +2 -0
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--vxe-ui-gantt-view-default-cell-width:2.6em;--vxe-ui-gantt-view-chart-bar-height:1.6em;--vxe-ui-gantt-view-split-bar-width:2px;--vxe-ui-gantt-view-split-bar-action-btn-width:1.2em;--vxe-ui-gantt-view-split-bar-action-btn-height:2.4em;--vxe-ui-gantt-view-handle-button-background-color:var(--vxe-ui-gantt-view-split-bar-background-color);--vxe-ui-gantt-view-table-default-width:30%;--vxe-ui-gantt-view-task-bar-border-radius:calc(var(--vxe-ui-gantt-view-chart-bar-height)/2);--vxe-ui-gantt-view-task-bar-background-color:var(--vxe-ui-font-primary-lighten-color);--vxe-ui-gantt-view-task-bar-completed-background-color:var(--vxe-ui-font-primary-color);--vxe-ui-gantt-view-task-bar-overview-background-color:var(--vxe-ui-font-disabled-color);--vxe-ui-gantt-view-task-line-color:var(--vxe-ui-font-primary-color);--vxe-ui-gantt-view-task-line-width:2px;--vxe-ui-gantt-view-task-line-arrow-width:5}[data-vxe-ui-theme=light]{--vxe-ui-gantt-view-split-bar-background-color:#e2e2e3;--vxe-ui-gantt-view-split-bar-hover-background-color:#d8d8d8}[data-vxe-ui-theme=dark]{--vxe-ui-gantt-view-split-bar-background-color:#444;--vxe-ui-gantt-view-split-bar-hover-background-color:#606060}.vxe-gantt-view--chart-task-wrapper{position:absolute;top:0;left:0;pointer-events:none}.vxe-gantt-view--chart-row,.vxe-gantt-view--chart-subview-row{position:relative;width:100%;height:0}.vxe-gantt-view--chart-row.row--pending .vxe-gantt-view--chart-bar{color:var(--vxe-ui-font-disabled-color);opacity:.5;text-decoration:line-through}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar .vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar .vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar:hover:after,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar:hover:after{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-subview-row.row--pending .vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-row.row--pending .vxe-gantt-view--chart-subview-custom-bar{color:var(--vxe-ui-font-disabled-color);opacity:.5;text-decoration:line-through}.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar .vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar .vxe-gantt-view--chart-subview-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar:hover:after,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar .vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar .vxe-gantt-view--chart-subview-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar:hover:after{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-subview-wrapper.is--overview>.vxe-gantt-view--chart-subview-row .vxe-gantt-view--chart-subview-bar{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-overview-background-color)}.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-custom-bar,.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-custom-bar{display:flex;flex-direction:row;position:absolute;top:50%;left:0;transform:translateY(-50%);pointer-events:all}.vxe-gantt-view--chart-row>.vxe-gantt-view--chart-bar.is--default,.vxe-gantt-view--chart-row>.vxe-gantt-view--chart-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color)}.vxe-gantt-view--chart-subview-row>.vxe-gantt-view--chart-subview-bar.is--subview,.vxe-gantt-view--chart-subview-row>.vxe-gantt-view--chart-subview-custom-bar.is--subview{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-overview-background-color)}.vxe-gantt-view--chart-subview-row>.vxe-gantt-view--chart-subview-bar.is--default,.vxe-gantt-view--chart-subview-row>.vxe-gantt-view--chart-subview-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color)}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper{height:var(--vxe-ui-gantt-view-chart-bar-height)}.vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-custom-bar-content-wrapper{min-height:var(--vxe-ui-gantt-view-chart-bar-height)}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-custom-bar-content-wrapper{width:100%;overflow:hidden}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper{width:100%;display:flex;flex-direction:row;align-items:center}.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-custom-bar,.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-custom-bar{align-items:center}.vxe-gantt-view--chart-bar.is--default:hover:after,.vxe-gantt-view--chart-custom-bar.is--default:hover:after,.vxe-gantt-view--chart-subview-bar.is--default:hover:after,.vxe-gantt-view--chart-subview-custom-bar.is--default:hover:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.1);pointer-events:none}.vxe-gantt-view--chart-bar.is--milestone,.vxe-gantt-view--chart-custom-bar.is--milestone,.vxe-gantt-view--chart-subview-bar.is--milestone,.vxe-gantt-view--chart-subview-custom-bar.is--milestone{white-space:nowrap}.vxe-gantt-view--chart-progress{flex-shrink:0;width:0;height:100%;text-align:left;background-color:var(--vxe-ui-gantt-view-task-bar-completed-background-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view--chart-content{position:absolute;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9em;padding:0 .6em}.vxe-gantt-view--chart-milestone-wrapper{display:flex;flex-direction:row;align-items:center}.vxe-gantt-view--chart-milestone-icon{flex-shrink:0;padding:0 .3em}.vxe-gantt-view--chart-milestone-icon,.vxe-gantt-view--chart-milestone-icon.theme--primary{color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--chart-milestone-icon.theme--success{color:var(--vxe-ui-status-success-color)}.vxe-gantt-view--chart-milestone-icon.theme--info{color:var(--vxe-ui-status-info-color)}.vxe-gantt-view--chart-milestone-icon.theme--warning{color:var(--vxe-ui-status-warning-color)}.vxe-gantt-view--chart-milestone-icon.theme--danger{color:var(--vxe-ui-status-danger-color)}.vxe-gantt-view--chart-milestone-icon.theme--error{color:var(--vxe-ui-status-error-color)}.vxe-gantt-view--chart-milestone-icon i{display:inline-block}.vxe-gantt-view--chart-milestone-content{flex-grow:1}.vxe-gantt-view--chart-row.row--drag-move,.vxe-gantt-view--chart-subview-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--chart-row.row--drag-origin,.vxe-gantt-view--chart-subview-row.row--drag-origin{opacity:.3}.vxe-gantt{--vxe-ui-gantt-current-split-bar-action-btn-offset-left:0px;position:relative;display:flex;flex-direction:column}.vxe-gantt.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:99;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color)}.vxe-gantt.is--loading>.vxe-gantt-view .vxe-loading{background-color:transparent}.vxe-gantt.is--maximize{position:fixed;top:0;left:0;width:100%;height:100%;padding:.5em 1em;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt.is--split-drag{cursor:col-resize}.vxe-gantt.is--split-drag .vxe-gantt--table-wrapper:after,.vxe-gantt.is--split-drag .vxe-gantt--view-wrapper:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt .vxe-gantt--bottom-wrapper,.vxe-gantt .vxe-gantt--form-wrapper,.vxe-gantt .vxe-gantt--top-wrapper{position:relative}.vxe-gantt .vxe-gantt--gantt-container{position:relative;display:flex;flex-direction:row;flex-grow:1;overflow:hidden}.vxe-gantt .vxe-gantt--left-wrapper,.vxe-gantt .vxe-gantt--right-wrapper{flex-shrink:0;overflow:auto;outline:0}.vxe-gantt .vxe-gantt--table-wrapper,.vxe-gantt .vxe-gantt--view-wrapper{position:relative;flex-grow:1;overflow:hidden}.vxe-gantt .vxe-gantt--view-split-bar-handle{background-color:var(--vxe-ui-gantt-view-split-bar-background-color)}.vxe-gantt .vxe-gantt--view-split-bar-handle:active,.vxe-gantt .vxe-gantt--view-split-bar-handle:hover{background-color:var(--vxe-ui-gantt-view-split-bar-hover-background-color)}.vxe-gantt.is--animat .vxe-gantt--table-wrapper{transition:width .3s ease-in-out}.vxe-gantt.show--animat.hide--right .vxe-gantt--table-wrapper{width:calc(100% - var(--vxe-ui-gantt-view-split-bar-width))!important;flex-shrink:0;flex-grow:unset}.vxe-gantt--gantt-container.hide--left>.vxe-gantt--table-wrapper{width:0!important;flex-shrink:0;flex-grow:unset}.vxe-gantt--gantt-container.show--left.show--right>.vxe-gantt--table-wrapper{flex-grow:unset;flex-shrink:0;width:var(--vxe-ui-gantt-view-table-default-width)}.vxe-gantt--gantt-container.hide--right>.vxe-gantt--view-wrapper{width:0!important;flex-shrink:0;flex-grow:unset}.vxe-gantt--gantt-container.show--left.show--right .vxe-gantt--view-split-bar{width:var(--vxe-ui-gantt-view-split-bar-width)}.vxe-gantt--view-split-bar{width:0;flex-shrink:0}.vxe-gantt--view-split-bar.is--resize{cursor:col-resize}.vxe-gantt--layout-body-wrapper{display:flex;flex-direction:row;overflow:auto;flex-grow:1}.vxe-gantt--layout-body-content-wrapper{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.vxe-gantt--layout-aside-left-wrapper,.vxe-gantt--layout-footer-wrapper,.vxe-gantt--layout-header-wrapper{flex-shrink:0;overflow:auto}.vxe-gantt--border-line{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none;border:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--full .vxe-gantt-view--body-column,.vxe-gantt.border--full .vxe-gantt-view--footer-column,.vxe-gantt.border--full .vxe-gantt-view--header-column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color)),linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:var(--vxe-ui-table-border-width) 100%,100% var(--vxe-ui-table-border-width);background-position:100% 0,100% 100%}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:0;border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner:before{border-bottom-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer .vxe-gantt-view--scroll-x-handle-appearance{position:absolute;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance{top:0;border-bottom:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance{bottom:0;height:calc(100% + var(--vxe-ui-table-border-width));border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner:before{border-left-width:var(--vxe-ui-table-border-width);border-right-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-top-corner:before{width:calc(100% + 1px);left:-1px}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-handle-appearance{position:absolute;top:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sy-pos--left .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full.sy-pos--left .vxe-gantt-view--scroll-y-handle-appearance{left:0;border-right:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-handle-appearance{right:0;width:calc(100% + var(--vxe-ui-table-border-width));border-left:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--body-column,.vxe-gantt.border--default .vxe-gantt-view--footer-column,.vxe-gantt.border--default .vxe-gantt-view--header-column,.vxe-gantt.border--inner .vxe-gantt-view--body-column,.vxe-gantt.border--inner .vxe-gantt-view--footer-column,.vxe-gantt.border--inner .vxe-gantt-view--header-column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:100% var(--vxe-ui-table-border-width);background-position:100% 100%}.vxe-gantt.border--default .vxe-gantt-view--footer-wrapper,.vxe-gantt.border--full .vxe-gantt-view--footer-wrapper,.vxe-gantt.border--inner .vxe-gantt-view--footer-wrapper{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--inner .vxe-gantt--border-line{border-width:0 0 1px 0}.vxe-gantt.border--none .vxe-gantt--border-line{display:none}.vxe-gantt--gantt-container.is--ah-split-btn>.vxe-gantt--view-split-bar .vxe-gantt--view-split-bar-action-btn{opacity:0}.vxe-gantt--gantt-container.is--ah-split-btn:hover>.vxe-gantt--view-split-bar .vxe-gantt--view-split-bar-action-btn{opacity:1}.vxe-gantt--view-split-bar{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt--view-split-bar-handle{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3}.vxe-gantt--view-split-bar-btn-wrapper{position:absolute;width:100%;top:50%;transform:translateY(-50%);z-index:5;pointer-events:none}.vxe-gantt--view-split-bar-action-btn{position:absolute;display:flex;flex-direction:row;align-items:center;justify-content:center;height:var(--vxe-ui-gantt-view-split-bar-action-btn-height);width:var(--vxe-ui-gantt-view-split-bar-action-btn-width);border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-gantt-view-handle-button-background-color);border:1px solid var(--vxe-ui-input-border-color);pointer-events:all;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .1s ease-in-out}.vxe-gantt--view-split-bar-action-btn:hover{color:#fff;background-color:var(--vxe-ui-font-primary-color)}.vxe-gantt--view-split-bar-action-btn:active{transform:scale(.9)}.vxe-gantt--view-split-bar-action-btn.is--prev{left:calc(var(--vxe-ui-gantt-view-split-bar-action-btn-width)*-1 - var(--vxe-ui-gantt-current-split-bar-action-btn-offset-left) - .2em)}.vxe-gantt--view-split-bar-action-btn.is--next{right:calc(var(--vxe-ui-gantt-view-split-bar-action-btn-width)*-1 - var(--vxe-ui-gantt-current-split-bar-action-btn-offset-left) - .2em)}.vxe-gantt--view-split-bar-action-btn i{font-size:.5em}.vxe-gantt--gantt-container.sy-pos--left.hide--left,.vxe-gantt--gantt-container.sy-pos--right.hide--right{--vxe-ui-gantt-current-split-bar-action-btn-offset-left:var(--vxe-ui-gantt-scrollbar-width)}.vxe-gantt--resizable-split-tip{display:none;position:absolute;top:0;left:0;width:1px;height:100%;z-index:7;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize}.vxe-gantt--resizable-split-tip:before{content:"";display:block;height:100%;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-tip-number{position:absolute;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.vxe-gantt--resizable-split-number-left,.vxe-gantt--resizable-split-number-right{position:absolute;padding:.25em .25em;font-size:12px;border-radius:var(--vxe-ui-border-radius);white-space:nowrap;color:#fff;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-number-left{right:0}.vxe-gantt--resizable-split-number-right{left:1px}.vxe-gantt.is--loading>.vxe-gantt-view--layout-wrapper>.vxe-gantt-view--scroll-y-virtual,.vxe-gantt.is--loading>.vxe-gantt-view--scroll-x-virtual{visibility:hidden}.vxe-gantt .vxe-gantt-view--scroll-x-virtual{height:0}.vxe-gantt .vxe-gantt-view--scroll-y-virtual{width:0}.vxe-gantt .vxe-gantt-view--scroll-x-virtual,.vxe-gantt .vxe-gantt-view--scroll-y-virtual{visibility:hidden;position:relative;flex-shrink:0;z-index:7}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{width:100%;left:0;bottom:0}.vxe-gantt .vxe-gantt-view--scroll-x-handle{overflow-y:hidden;overflow-x:scroll;height:18px}.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{height:100%}.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{width:100%;height:100%;right:0;top:0}.vxe-gantt .vxe-gantt-view--scroll-y-handle{overflow-y:scroll;overflow-x:hidden;width:18px;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-space{height:1px}.vxe-gantt .vxe-gantt-view--scroll-y-space{width:1px}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{display:none;position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{bottom:0;width:0;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner:before,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:var(--vxe-ui-table-border-width);border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner{left:0}.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{right:0}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner{right:1px}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner:before{border-right:0}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner{bottom:1px}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner:before{border-bottom:0}.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{top:0;right:0;width:100%;height:0}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner{margin-top:-1px}.vxe-gantt-view--layout-wrapper{display:flex;flex-direction:row;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt-view--viewport-wrapper{position:relative;overflow:hidden;flex-grow:1}.vxe-gantt-view--render-vars{width:0;height:0;overflow:hidden}.vxe-gantt-view--column-info{width:var(--vxe-ui-gantt-view-default-cell-width)}.vxe-gantt-view{flex-grow:1;overflow:hidden}.vxe-gantt-view .vxe-body--x-space{width:100%;height:1px;margin-bottom:-1px}.vxe-gantt-view .vxe-body--y-space{width:0;float:left}.vxe-gantt-view--body-table,.vxe-gantt-view--header-table{border:0;border-spacing:0;border-collapse:separate;table-layout:fixed}.vxe-gantt-view--body-table col,.vxe-gantt-view--header-table col{width:var(--vxe-ui-gantt-view-default-cell-width)}.vxe-gantt-view--body-table{-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt-view--header-wrapper{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt-view--footer-wrapper{margin-top:calc(var(--vxe-ui-table-border-width)*-1);background-color:var(--vxe-ui-table-footer-background-color)}.vxe-gantt-view--body-wrapper,.vxe-gantt-view--header-wrapper{overflow:hidden}.vxe-gantt-view--header-inner-wrapper{overflow-y:hidden;overflow-x:scroll}.vxe-gantt-view--body-inner-wrapper{overflow-y:scroll;overflow-x:scroll}.vxe-gantt-view--body-inner-wrapper,.vxe-gantt-view--header-inner-wrapper{position:relative;width:100%;height:100%;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.vxe-gantt-view--body-inner-wrapper::-webkit-scrollbar,.vxe-gantt-view--header-inner-wrapper::-webkit-scrollbar{display:none}.vxe-gantt-view--header-column{text-align:center;font-size:1em;height:var(--vxe-ui-gantt-view-cell-height,var(--vxe-ui-table-row-line-height))}.vxe-gantt-view--header-column.is--now{color:var(--vxe-ui-gantt-view-task-now-line-color,var(--vxe-ui-font-primary-color))}.vxe-gantt-view--body-column,.vxe-gantt-view--footer-column,.vxe-gantt-view--header-column{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view--body-row.row--pending>.vxe-gantt-view--body-column:after{content:"";position:absolute;top:50%;left:0;width:100%;height:0;border-bottom:1px solid var(--vxe-ui-table-validate-error-color);z-index:1}.vxe-gantt-view--chart-now-line{position:absolute;left:0;top:0;height:100%}.vxe-gantt-view--chart-now-line:before{content:"";display:block;width:var(--vxe-ui-gantt-view-task-now-line-width,1px);height:100%;background-color:var(--vxe-ui-gantt-view-task-now-line-background-color,var(--vxe-ui-font-primary-color))}.vxe-gantt-view--body-row.row--stripe{background-color:var(--vxe-ui-table-row-striped-background-color)}.vxe-gantt-view--body-row.row--radio{background-color:var(--vxe-ui-table-row-radio-checked-background-color)}.vxe-gantt-view--body-row.row--checked{background-color:var(--vxe-ui-table-row-checkbox-checked-background-color)}.vxe-gantt-view--body-row.row--current{background-color:var(--vxe-ui-table-row-current-background-color)}.vxe-gantt-view--body-row.row--hover{background-color:var(--vxe-ui-table-row-hover-background-color)}.vxe-gantt-view--body-row.row--hover.row--stripe{background-color:var(--vxe-ui-table-row-hover-striped-background-color)}.vxe-gantt-view--body-row.row--hover.row--radio{background-color:var(--vxe-ui-table-row-hover-radio-checked-background-color)}.vxe-gantt-view--body-row.row--hover.row--checked{background-color:var(--vxe-ui-table-row-hover-checkbox-checked-background-color)}.vxe-gantt-view--body-row.row--hover.row--current{background-color:var(--vxe-ui-table-row-hover-current-background-color)}.vxe-gantt-view--body-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--body-row.row--drag-origin>.vxe-gantt-view--body-column{opacity:.3}.vxe-gantt-view--body-column .vxe-gantt-view-cell--row-resizable{position:absolute;left:0;bottom:-.4em;height:.8em;width:100%;text-align:center;z-index:1;cursor:row-resize}.vxe-gantt-view--body-row:last-child .vxe-gantt-view--body-column .vxe-gantt-view-cell--row-resizable{height:.4em;bottom:0}.vxe-gantt{font-size:var(--vxe-ui-font-size-default)}.vxe-gantt.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-gantt.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-gantt.size--mini{font-size:var(--vxe-ui-font-size-mini)}
|
|
1
|
+
:root{--vxe-ui-gantt-view-default-cell-width:2.6em;--vxe-ui-gantt-view-chart-bar-height:1.6em;--vxe-ui-gantt-view-split-bar-width:2px;--vxe-ui-gantt-view-split-bar-action-btn-width:1.2em;--vxe-ui-gantt-view-split-bar-action-btn-height:2.4em;--vxe-ui-gantt-view-handle-button-background-color:var(--vxe-ui-gantt-view-split-bar-background-color);--vxe-ui-gantt-view-table-default-width:30%;--vxe-ui-gantt-view-task-bar-border-radius:calc(var(--vxe-ui-gantt-view-chart-bar-height)/2);--vxe-ui-gantt-view-task-bar-background-color:var(--vxe-ui-font-primary-lighten-color);--vxe-ui-gantt-view-task-bar-completed-background-color:var(--vxe-ui-font-primary-color);--vxe-ui-gantt-view-task-bar-overview-background-color:var(--vxe-ui-font-disabled-color);--vxe-ui-gantt-view-bar-critical-path-line-color:var(--vxe-ui-status-error-darken-color);--vxe-ui-gantt-view-task-line-color:var(--vxe-ui-font-primary-color);--vxe-ui-gantt-view-task-line-width:2px;--vxe-ui-gantt-view-task-line-arrow-width:5}[data-vxe-ui-theme=light]{--vxe-ui-gantt-view-split-bar-background-color:#e2e2e3;--vxe-ui-gantt-view-split-bar-hover-background-color:#d8d8d8}[data-vxe-ui-theme=dark]{--vxe-ui-gantt-view-split-bar-background-color:#444;--vxe-ui-gantt-view-split-bar-hover-background-color:#606060}.vxe-gantt-view--chart-task-wrapper{position:absolute;top:0;left:0;pointer-events:none}.vxe-gantt-view--chart-row,.vxe-gantt-view--chart-subview-row{position:relative;width:100%;height:0}.vxe-gantt-view--chart-row.is--critical>.vxe-gantt-view--chart-bar .vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-row.is--critical>.vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-custom-bar-content-wrapper{border:var(--vxe-ui-gantt-view-task-line-width) solid var(--vxe-ui-gantt-view-bar-critical-path-line-color)}.vxe-gantt-view--chart-row.row--pending .vxe-gantt-view--chart-bar{color:var(--vxe-ui-font-disabled-color);opacity:.5;text-decoration:line-through}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar .vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar .vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar:hover:after,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar:hover:after{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-subview-row.row--pending .vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-row.row--pending .vxe-gantt-view--chart-subview-custom-bar{color:var(--vxe-ui-font-disabled-color);opacity:.5;text-decoration:line-through}.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar .vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar .vxe-gantt-view--chart-subview-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar:hover:after,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar .vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar .vxe-gantt-view--chart-subview-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar:hover:after{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-subview-wrapper.is--overview>.vxe-gantt-view--chart-subview-row .vxe-gantt-view--chart-subview-bar{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-overview-background-color)}.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-custom-bar,.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-custom-bar{display:flex;flex-direction:row;position:absolute;top:50%;left:0;transform:translateY(-50%);pointer-events:all}.vxe-gantt-view--chart-row>.vxe-gantt-view--chart-bar.is--default,.vxe-gantt-view--chart-row>.vxe-gantt-view--chart-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color)}.vxe-gantt-view--chart-subview-row>.vxe-gantt-view--chart-subview-bar.is--subview,.vxe-gantt-view--chart-subview-row>.vxe-gantt-view--chart-subview-custom-bar.is--subview{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-overview-background-color)}.vxe-gantt-view--chart-subview-row>.vxe-gantt-view--chart-subview-bar.is--default,.vxe-gantt-view--chart-subview-row>.vxe-gantt-view--chart-subview-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color)}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper{height:var(--vxe-ui-gantt-view-chart-bar-height)}.vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-custom-bar-content-wrapper{min-height:var(--vxe-ui-gantt-view-chart-bar-height)}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-custom-bar-content-wrapper{width:100%;overflow:hidden}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper{width:100%;display:flex;flex-direction:row;align-items:center}.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-custom-bar,.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-custom-bar{align-items:center}.vxe-gantt-view--chart-bar.is--default:hover:after,.vxe-gantt-view--chart-custom-bar.is--default:hover:after,.vxe-gantt-view--chart-subview-bar.is--default:hover:after,.vxe-gantt-view--chart-subview-custom-bar.is--default:hover:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.1);pointer-events:none}.vxe-gantt-view--chart-bar.is--milestone,.vxe-gantt-view--chart-custom-bar.is--milestone,.vxe-gantt-view--chart-subview-bar.is--milestone,.vxe-gantt-view--chart-subview-custom-bar.is--milestone{white-space:nowrap}.vxe-gantt-view--chart-progress{flex-shrink:0;width:0;height:100%;text-align:left;background-color:var(--vxe-ui-gantt-view-task-bar-completed-background-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view--chart-content{position:absolute;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9em;padding:0 .6em}.vxe-gantt-view--chart-milestone-wrapper{display:flex;flex-direction:row;align-items:center}.vxe-gantt-view--chart-milestone-icon{flex-shrink:0;padding:0 .3em}.vxe-gantt-view--chart-milestone-icon,.vxe-gantt-view--chart-milestone-icon.theme--primary{color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--chart-milestone-icon.theme--success{color:var(--vxe-ui-status-success-color)}.vxe-gantt-view--chart-milestone-icon.theme--info{color:var(--vxe-ui-status-info-color)}.vxe-gantt-view--chart-milestone-icon.theme--warning{color:var(--vxe-ui-status-warning-color)}.vxe-gantt-view--chart-milestone-icon.theme--danger{color:var(--vxe-ui-status-danger-color)}.vxe-gantt-view--chart-milestone-icon.theme--error{color:var(--vxe-ui-status-error-color)}.vxe-gantt-view--chart-milestone-icon i{display:inline-block}.vxe-gantt-view--chart-milestone-content{flex-grow:1}.vxe-gantt-view--chart-row.row--drag-move,.vxe-gantt-view--chart-subview-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--chart-row.row--drag-origin,.vxe-gantt-view--chart-subview-row.row--drag-origin{opacity:.3}.vxe-gantt{--vxe-ui-gantt-current-split-bar-action-btn-offset-left:0px;--vxe-ui-gantt-current-font-size:var(--vxe-ui-font-size-default)}.vxe-gantt.size--xlarge{--vxe-ui-gantt-current-font-size:var(--vxe-ui-font-size-xlarge)}.vxe-gantt.size--large{--vxe-ui-gantt-current-font-size:var(--vxe-ui-font-size-large)}.vxe-gantt.size--medium{--vxe-ui-gantt-current-font-size:var(--vxe-ui-font-size-medium)}.vxe-gantt.size--small{--vxe-ui-gantt-current-font-size:var(--vxe-ui-font-size-small)}.vxe-gantt.size--mini{--vxe-ui-gantt-current-font-size:var(--vxe-ui-font-size-mini)}.vxe-gantt{position:relative;display:flex;flex-direction:column;font-size:var(--vxe-ui-gantt-current-font-size)}.vxe-gantt.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:99;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color)}.vxe-gantt.is--loading>.vxe-gantt-view .vxe-loading{background-color:transparent}.vxe-gantt.is--maximize{position:fixed;top:0;left:0;width:100%;height:100%;padding:.5em 1em;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt.is--split-drag{cursor:col-resize}.vxe-gantt.is--split-drag .vxe-gantt--table-wrapper:after,.vxe-gantt.is--split-drag .vxe-gantt--view-wrapper:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt .vxe-gantt--bottom-wrapper,.vxe-gantt .vxe-gantt--form-wrapper,.vxe-gantt .vxe-gantt--top-wrapper{position:relative}.vxe-gantt .vxe-gantt--gantt-container{position:relative;display:flex;flex-direction:row;flex-grow:1;overflow:hidden}.vxe-gantt .vxe-gantt--left-wrapper,.vxe-gantt .vxe-gantt--right-wrapper{flex-shrink:0;overflow:auto;outline:0}.vxe-gantt .vxe-gantt--table-wrapper,.vxe-gantt .vxe-gantt--view-wrapper{position:relative;flex-grow:1;overflow:hidden}.vxe-gantt .vxe-gantt--view-split-bar-handle{background-color:var(--vxe-ui-gantt-view-split-bar-background-color)}.vxe-gantt .vxe-gantt--view-split-bar-handle:active,.vxe-gantt .vxe-gantt--view-split-bar-handle:hover{background-color:var(--vxe-ui-gantt-view-split-bar-hover-background-color)}.vxe-gantt.is--animat .vxe-gantt--table-wrapper{transition:width .3s ease-in-out}.vxe-gantt.show--animat.hide--right .vxe-gantt--table-wrapper{width:calc(100% - var(--vxe-ui-gantt-view-split-bar-width))!important;flex-shrink:0;flex-grow:unset}.vxe-gantt--gantt-container.hide--left>.vxe-gantt--table-wrapper{width:0!important;flex-shrink:0;flex-grow:unset}.vxe-gantt--gantt-container.show--left.show--right>.vxe-gantt--table-wrapper{flex-grow:unset;flex-shrink:0;width:var(--vxe-ui-gantt-view-table-default-width)}.vxe-gantt--gantt-container.hide--right>.vxe-gantt--view-wrapper{width:0!important;flex-shrink:0;flex-grow:unset}.vxe-gantt--gantt-container.show--left.show--right .vxe-gantt--view-split-bar{width:var(--vxe-ui-gantt-view-split-bar-width)}.vxe-gantt--view-split-bar{width:0;flex-shrink:0}.vxe-gantt--view-split-bar.is--resize{cursor:col-resize}.vxe-gantt--layout-body-wrapper{display:flex;flex-direction:row;overflow:auto;flex-grow:1}.vxe-gantt--layout-body-content-wrapper{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.vxe-gantt--layout-aside-left-wrapper,.vxe-gantt--layout-footer-wrapper,.vxe-gantt--layout-header-wrapper{flex-shrink:0;overflow:auto}.vxe-gantt--border-line{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none;border:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--full .vxe-gantt-view--body-column,.vxe-gantt.border--full .vxe-gantt-view--footer-column,.vxe-gantt.border--full .vxe-gantt-view--header-column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color)),linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:var(--vxe-ui-table-border-width) 100%,100% var(--vxe-ui-table-border-width);background-position:100% 0,100% 100%}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:0;border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner:before{border-bottom-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer .vxe-gantt-view--scroll-x-handle-appearance{position:absolute;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance{top:0;border-bottom:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance{bottom:0;height:calc(100% + var(--vxe-ui-table-border-width));border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner:before{border-left-width:var(--vxe-ui-table-border-width);border-right-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-top-corner:before{width:calc(100% + 1px);left:-1px}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-handle-appearance{position:absolute;top:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sy-pos--left .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full.sy-pos--left .vxe-gantt-view--scroll-y-handle-appearance{left:0;border-right:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-handle-appearance{right:0;width:calc(100% + var(--vxe-ui-table-border-width));border-left:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--body-column,.vxe-gantt.border--default .vxe-gantt-view--footer-column,.vxe-gantt.border--default .vxe-gantt-view--header-column,.vxe-gantt.border--inner .vxe-gantt-view--body-column,.vxe-gantt.border--inner .vxe-gantt-view--footer-column,.vxe-gantt.border--inner .vxe-gantt-view--header-column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:100% var(--vxe-ui-table-border-width);background-position:100% 100%}.vxe-gantt.border--default .vxe-gantt-view--footer-wrapper,.vxe-gantt.border--full .vxe-gantt-view--footer-wrapper,.vxe-gantt.border--inner .vxe-gantt-view--footer-wrapper{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--inner .vxe-gantt--border-line{border-width:0 0 1px 0}.vxe-gantt.border--none .vxe-gantt--border-line{display:none}.vxe-gantt--gantt-container.is--ah-split-btn>.vxe-gantt--view-split-bar .vxe-gantt--view-split-bar-action-btn{opacity:0}.vxe-gantt--gantt-container.is--ah-split-btn:hover>.vxe-gantt--view-split-bar .vxe-gantt--view-split-bar-action-btn{opacity:1}.vxe-gantt--view-split-bar{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt--view-split-bar-handle{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3}.vxe-gantt--view-split-bar-btn-wrapper{position:absolute;width:100%;top:50%;transform:translateY(-50%);z-index:5;pointer-events:none}.vxe-gantt--view-split-bar-action-btn{position:absolute;display:flex;flex-direction:row;align-items:center;justify-content:center;height:var(--vxe-ui-gantt-view-split-bar-action-btn-height);width:var(--vxe-ui-gantt-view-split-bar-action-btn-width);border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-gantt-view-handle-button-background-color);border:1px solid var(--vxe-ui-input-border-color);pointer-events:all;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .1s ease-in-out}.vxe-gantt--view-split-bar-action-btn:hover{color:#fff;background-color:var(--vxe-ui-font-primary-color)}.vxe-gantt--view-split-bar-action-btn:active{transform:scale(.9)}.vxe-gantt--view-split-bar-action-btn.is--prev{left:calc(var(--vxe-ui-gantt-view-split-bar-action-btn-width)*-1 - var(--vxe-ui-gantt-current-split-bar-action-btn-offset-left) - .2em)}.vxe-gantt--view-split-bar-action-btn.is--next{right:calc(var(--vxe-ui-gantt-view-split-bar-action-btn-width)*-1 - var(--vxe-ui-gantt-current-split-bar-action-btn-offset-left) - .2em)}.vxe-gantt--view-split-bar-action-btn i{font-size:.5em}.vxe-gantt--gantt-container.sy-pos--left.hide--left,.vxe-gantt--gantt-container.sy-pos--right.hide--right{--vxe-ui-gantt-current-split-bar-action-btn-offset-left:var(--vxe-ui-gantt-scrollbar-width)}.vxe-gantt--resizable-split-tip{display:none;position:absolute;top:0;left:0;width:1px;height:100%;z-index:7;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize}.vxe-gantt--resizable-split-tip:before{content:"";display:block;height:100%;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-tip-number{position:absolute;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.vxe-gantt--resizable-split-number-left,.vxe-gantt--resizable-split-number-right{position:absolute;padding:.25em .25em;font-size:12px;border-radius:var(--vxe-ui-border-radius);white-space:nowrap;color:#fff;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-number-left{right:0}.vxe-gantt--resizable-split-number-right{left:1px}.vxe-gantt.is--loading>.vxe-gantt-view--layout-wrapper>.vxe-gantt-view--scroll-y-virtual,.vxe-gantt.is--loading>.vxe-gantt-view--scroll-x-virtual{visibility:hidden}.vxe-gantt .vxe-gantt-view--scroll-x-virtual{height:0}.vxe-gantt .vxe-gantt-view--scroll-y-virtual{width:0}.vxe-gantt .vxe-gantt-view--scroll-x-virtual,.vxe-gantt .vxe-gantt-view--scroll-y-virtual{visibility:hidden;position:relative;flex-shrink:0;z-index:7}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{width:100%;left:0;bottom:0}.vxe-gantt .vxe-gantt-view--scroll-x-handle{overflow-y:hidden;overflow-x:scroll;height:18px}.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{height:100%}.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{width:100%;height:100%;right:0;top:0}.vxe-gantt .vxe-gantt-view--scroll-y-handle{overflow-y:scroll;overflow-x:hidden;width:18px;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-space{height:1px}.vxe-gantt .vxe-gantt-view--scroll-y-space{width:1px}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{display:none;position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{bottom:0;width:0;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner:before,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:var(--vxe-ui-table-border-width);border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner{left:0}.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{right:0}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner{right:1px}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner:before{border-right:0}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner{bottom:1px}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner:before{border-bottom:0}.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{top:0;right:0;width:100%;height:0}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner{margin-top:-1px}.vxe-gantt-view--layout-wrapper{display:flex;flex-direction:row;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt-view--viewport-wrapper{position:relative;overflow:hidden;flex-grow:1}.vxe-gantt-view--render-vars{width:0;height:0;overflow:hidden}.vxe-gantt-view--column-info{width:var(--vxe-ui-gantt-view-default-cell-width)}.vxe-gantt-view{flex-grow:1;overflow:hidden}.vxe-gantt-view .vxe-body--x-space{width:100%;height:1px;margin-bottom:-1px}.vxe-gantt-view .vxe-body--y-space{width:0;float:left}.vxe-gantt-view--body-table,.vxe-gantt-view--header-table{border:0;border-spacing:0;border-collapse:separate;table-layout:fixed}.vxe-gantt-view--body-table col,.vxe-gantt-view--header-table col{width:var(--vxe-ui-gantt-view-default-cell-width)}.vxe-gantt-view--body-table{-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt-view--header-wrapper{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt-view--footer-wrapper{margin-top:calc(var(--vxe-ui-table-border-width)*-1);background-color:var(--vxe-ui-table-footer-background-color)}.vxe-gantt-view--body-wrapper,.vxe-gantt-view--header-wrapper{overflow:hidden}.vxe-gantt-view--header-inner-wrapper{overflow-y:hidden;overflow-x:scroll}.vxe-gantt-view--body-inner-wrapper{overflow-y:scroll;overflow-x:scroll}.vxe-gantt-view--body-inner-wrapper,.vxe-gantt-view--header-inner-wrapper{position:relative;width:100%;height:100%;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.vxe-gantt-view--body-inner-wrapper::-webkit-scrollbar,.vxe-gantt-view--header-inner-wrapper::-webkit-scrollbar{display:none}.vxe-gantt-view--header-column{text-align:center;font-size:1em;height:var(--vxe-ui-gantt-view-cell-height,var(--vxe-ui-table-row-line-height))}.vxe-gantt-view--header-column.is--now{color:var(--vxe-ui-gantt-view-task-now-line-color,var(--vxe-ui-font-primary-color))}.vxe-gantt-view--body-column,.vxe-gantt-view--footer-column,.vxe-gantt-view--header-column{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view--body-row.row--pending>.vxe-gantt-view--body-column:after{content:"";position:absolute;top:50%;left:0;width:100%;height:0;border-bottom:1px solid var(--vxe-ui-table-validate-error-color);z-index:1}.vxe-gantt-view--chart-now-line{position:absolute;left:0;top:0;height:100%}.vxe-gantt-view--chart-now-line:before{content:"";display:block;width:var(--vxe-ui-gantt-view-task-now-line-width,1px);height:100%;background-color:var(--vxe-ui-gantt-view-task-now-line-background-color,var(--vxe-ui-font-primary-color))}.vxe-gantt-view--body-row.row--stripe{background-color:var(--vxe-ui-table-row-striped-background-color)}.vxe-gantt-view--body-row.row--radio{background-color:var(--vxe-ui-table-row-radio-checked-background-color)}.vxe-gantt-view--body-row.row--checked{background-color:var(--vxe-ui-table-row-checkbox-checked-background-color)}.vxe-gantt-view--body-row.row--current{background-color:var(--vxe-ui-table-row-current-background-color)}.vxe-gantt-view--body-row.row--hover{background-color:var(--vxe-ui-table-row-hover-background-color)}.vxe-gantt-view--body-row.row--hover.row--stripe{background-color:var(--vxe-ui-table-row-hover-striped-background-color)}.vxe-gantt-view--body-row.row--hover.row--radio{background-color:var(--vxe-ui-table-row-hover-radio-checked-background-color)}.vxe-gantt-view--body-row.row--hover.row--checked{background-color:var(--vxe-ui-table-row-hover-checkbox-checked-background-color)}.vxe-gantt-view--body-row.row--hover.row--current{background-color:var(--vxe-ui-table-row-hover-current-background-color)}.vxe-gantt-view--body-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--body-row.row--drag-origin>.vxe-gantt-view--body-column{opacity:.3}.vxe-gantt-view--body-column .vxe-gantt-view-cell--row-resizable{position:absolute;left:0;bottom:-.4em;height:.8em;width:100%;text-align:center;z-index:1;cursor:row-resize}.vxe-gantt-view--body-row:last-child .vxe-gantt-view--body-column .vxe-gantt-view-cell--row-resizable{height:.4em;bottom:0}
|
package/dist/style.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--vxe-ui-gantt-view-default-cell-width:2.6em;--vxe-ui-gantt-view-chart-bar-height:1.6em;--vxe-ui-gantt-view-split-bar-width:2px;--vxe-ui-gantt-view-split-bar-action-btn-width:1.2em;--vxe-ui-gantt-view-split-bar-action-btn-height:2.4em;--vxe-ui-gantt-view-handle-button-background-color:var(--vxe-ui-gantt-view-split-bar-background-color);--vxe-ui-gantt-view-table-default-width:30%;--vxe-ui-gantt-view-task-bar-border-radius:calc(var(--vxe-ui-gantt-view-chart-bar-height)/2);--vxe-ui-gantt-view-task-bar-background-color:var(--vxe-ui-font-primary-lighten-color);--vxe-ui-gantt-view-task-bar-completed-background-color:var(--vxe-ui-font-primary-color);--vxe-ui-gantt-view-task-bar-overview-background-color:var(--vxe-ui-font-disabled-color);--vxe-ui-gantt-view-task-line-color:var(--vxe-ui-font-primary-color);--vxe-ui-gantt-view-task-line-width:2px;--vxe-ui-gantt-view-task-line-arrow-width:5}[data-vxe-ui-theme=light]{--vxe-ui-gantt-view-split-bar-background-color:#e2e2e3;--vxe-ui-gantt-view-split-bar-hover-background-color:#d8d8d8}[data-vxe-ui-theme=dark]{--vxe-ui-gantt-view-split-bar-background-color:#444;--vxe-ui-gantt-view-split-bar-hover-background-color:#606060}.vxe-gantt-view--chart-task-wrapper{position:absolute;top:0;left:0;pointer-events:none}.vxe-gantt-view--chart-row,.vxe-gantt-view--chart-subview-row{position:relative;width:100%;height:0}.vxe-gantt-view--chart-row.row--pending .vxe-gantt-view--chart-bar{color:var(--vxe-ui-font-disabled-color);opacity:.5;text-decoration:line-through}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar .vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar .vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar:hover:after,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar:hover:after{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-subview-row.row--pending .vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-row.row--pending .vxe-gantt-view--chart-subview-custom-bar{color:var(--vxe-ui-font-disabled-color);opacity:.5;text-decoration:line-through}.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar .vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar .vxe-gantt-view--chart-subview-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar:hover:after,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar .vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar .vxe-gantt-view--chart-subview-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar:hover:after{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-subview-wrapper.is--overview>.vxe-gantt-view--chart-subview-row .vxe-gantt-view--chart-subview-bar{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-overview-background-color)}.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-custom-bar,.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-custom-bar{display:flex;flex-direction:row;position:absolute;top:50%;left:0;transform:translateY(-50%);pointer-events:all}.vxe-gantt-view--chart-row>.vxe-gantt-view--chart-bar.is--default,.vxe-gantt-view--chart-row>.vxe-gantt-view--chart-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color)}.vxe-gantt-view--chart-subview-row>.vxe-gantt-view--chart-subview-bar.is--subview,.vxe-gantt-view--chart-subview-row>.vxe-gantt-view--chart-subview-custom-bar.is--subview{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-overview-background-color)}.vxe-gantt-view--chart-subview-row>.vxe-gantt-view--chart-subview-bar.is--default,.vxe-gantt-view--chart-subview-row>.vxe-gantt-view--chart-subview-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color)}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper{height:var(--vxe-ui-gantt-view-chart-bar-height)}.vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-custom-bar-content-wrapper{min-height:var(--vxe-ui-gantt-view-chart-bar-height)}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-custom-bar-content-wrapper{width:100%;overflow:hidden}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper{width:100%;display:flex;flex-direction:row;align-items:center}.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-custom-bar,.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-custom-bar{align-items:center}.vxe-gantt-view--chart-bar.is--default:hover:after,.vxe-gantt-view--chart-custom-bar.is--default:hover:after,.vxe-gantt-view--chart-subview-bar.is--default:hover:after,.vxe-gantt-view--chart-subview-custom-bar.is--default:hover:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.1);pointer-events:none}.vxe-gantt-view--chart-bar.is--milestone,.vxe-gantt-view--chart-custom-bar.is--milestone,.vxe-gantt-view--chart-subview-bar.is--milestone,.vxe-gantt-view--chart-subview-custom-bar.is--milestone{white-space:nowrap}.vxe-gantt-view--chart-progress{flex-shrink:0;width:0;height:100%;text-align:left;background-color:var(--vxe-ui-gantt-view-task-bar-completed-background-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view--chart-content{position:absolute;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9em;padding:0 .6em}.vxe-gantt-view--chart-milestone-wrapper{display:flex;flex-direction:row;align-items:center}.vxe-gantt-view--chart-milestone-icon{flex-shrink:0;padding:0 .3em}.vxe-gantt-view--chart-milestone-icon,.vxe-gantt-view--chart-milestone-icon.theme--primary{color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--chart-milestone-icon.theme--success{color:var(--vxe-ui-status-success-color)}.vxe-gantt-view--chart-milestone-icon.theme--info{color:var(--vxe-ui-status-info-color)}.vxe-gantt-view--chart-milestone-icon.theme--warning{color:var(--vxe-ui-status-warning-color)}.vxe-gantt-view--chart-milestone-icon.theme--danger{color:var(--vxe-ui-status-danger-color)}.vxe-gantt-view--chart-milestone-icon.theme--error{color:var(--vxe-ui-status-error-color)}.vxe-gantt-view--chart-milestone-icon i{display:inline-block}.vxe-gantt-view--chart-milestone-content{flex-grow:1}.vxe-gantt-view--chart-row.row--drag-move,.vxe-gantt-view--chart-subview-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--chart-row.row--drag-origin,.vxe-gantt-view--chart-subview-row.row--drag-origin{opacity:.3}.vxe-gantt{--vxe-ui-gantt-current-split-bar-action-btn-offset-left:0px;position:relative;display:flex;flex-direction:column}.vxe-gantt.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:99;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color)}.vxe-gantt.is--loading>.vxe-gantt-view .vxe-loading{background-color:transparent}.vxe-gantt.is--maximize{position:fixed;top:0;left:0;width:100%;height:100%;padding:.5em 1em;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt.is--split-drag{cursor:col-resize}.vxe-gantt.is--split-drag .vxe-gantt--table-wrapper:after,.vxe-gantt.is--split-drag .vxe-gantt--view-wrapper:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt .vxe-gantt--bottom-wrapper,.vxe-gantt .vxe-gantt--form-wrapper,.vxe-gantt .vxe-gantt--top-wrapper{position:relative}.vxe-gantt .vxe-gantt--gantt-container{position:relative;display:flex;flex-direction:row;flex-grow:1;overflow:hidden}.vxe-gantt .vxe-gantt--left-wrapper,.vxe-gantt .vxe-gantt--right-wrapper{flex-shrink:0;overflow:auto;outline:0}.vxe-gantt .vxe-gantt--table-wrapper,.vxe-gantt .vxe-gantt--view-wrapper{position:relative;flex-grow:1;overflow:hidden}.vxe-gantt .vxe-gantt--view-split-bar-handle{background-color:var(--vxe-ui-gantt-view-split-bar-background-color)}.vxe-gantt .vxe-gantt--view-split-bar-handle:active,.vxe-gantt .vxe-gantt--view-split-bar-handle:hover{background-color:var(--vxe-ui-gantt-view-split-bar-hover-background-color)}.vxe-gantt.is--animat .vxe-gantt--table-wrapper{transition:width .3s ease-in-out}.vxe-gantt.show--animat.hide--right .vxe-gantt--table-wrapper{width:calc(100% - var(--vxe-ui-gantt-view-split-bar-width))!important;flex-shrink:0;flex-grow:unset}.vxe-gantt--gantt-container.hide--left>.vxe-gantt--table-wrapper{width:0!important;flex-shrink:0;flex-grow:unset}.vxe-gantt--gantt-container.show--left.show--right>.vxe-gantt--table-wrapper{flex-grow:unset;flex-shrink:0;width:var(--vxe-ui-gantt-view-table-default-width)}.vxe-gantt--gantt-container.hide--right>.vxe-gantt--view-wrapper{width:0!important;flex-shrink:0;flex-grow:unset}.vxe-gantt--gantt-container.show--left.show--right .vxe-gantt--view-split-bar{width:var(--vxe-ui-gantt-view-split-bar-width)}.vxe-gantt--view-split-bar{width:0;flex-shrink:0}.vxe-gantt--view-split-bar.is--resize{cursor:col-resize}.vxe-gantt--layout-body-wrapper{display:flex;flex-direction:row;overflow:auto;flex-grow:1}.vxe-gantt--layout-body-content-wrapper{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.vxe-gantt--layout-aside-left-wrapper,.vxe-gantt--layout-footer-wrapper,.vxe-gantt--layout-header-wrapper{flex-shrink:0;overflow:auto}.vxe-gantt--border-line{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none;border:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--full .vxe-gantt-view--body-column,.vxe-gantt.border--full .vxe-gantt-view--footer-column,.vxe-gantt.border--full .vxe-gantt-view--header-column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color)),linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:var(--vxe-ui-table-border-width) 100%,100% var(--vxe-ui-table-border-width);background-position:100% 0,100% 100%}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:0;border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner:before{border-bottom-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer .vxe-gantt-view--scroll-x-handle-appearance{position:absolute;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance{top:0;border-bottom:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance{bottom:0;height:calc(100% + var(--vxe-ui-table-border-width));border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner:before{border-left-width:var(--vxe-ui-table-border-width);border-right-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-top-corner:before{width:calc(100% + 1px);left:-1px}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-handle-appearance{position:absolute;top:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sy-pos--left .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full.sy-pos--left .vxe-gantt-view--scroll-y-handle-appearance{left:0;border-right:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-handle-appearance{right:0;width:calc(100% + var(--vxe-ui-table-border-width));border-left:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--body-column,.vxe-gantt.border--default .vxe-gantt-view--footer-column,.vxe-gantt.border--default .vxe-gantt-view--header-column,.vxe-gantt.border--inner .vxe-gantt-view--body-column,.vxe-gantt.border--inner .vxe-gantt-view--footer-column,.vxe-gantt.border--inner .vxe-gantt-view--header-column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:100% var(--vxe-ui-table-border-width);background-position:100% 100%}.vxe-gantt.border--default .vxe-gantt-view--footer-wrapper,.vxe-gantt.border--full .vxe-gantt-view--footer-wrapper,.vxe-gantt.border--inner .vxe-gantt-view--footer-wrapper{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--inner .vxe-gantt--border-line{border-width:0 0 1px 0}.vxe-gantt.border--none .vxe-gantt--border-line{display:none}.vxe-gantt--gantt-container.is--ah-split-btn>.vxe-gantt--view-split-bar .vxe-gantt--view-split-bar-action-btn{opacity:0}.vxe-gantt--gantt-container.is--ah-split-btn:hover>.vxe-gantt--view-split-bar .vxe-gantt--view-split-bar-action-btn{opacity:1}.vxe-gantt--view-split-bar{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt--view-split-bar-handle{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3}.vxe-gantt--view-split-bar-btn-wrapper{position:absolute;width:100%;top:50%;transform:translateY(-50%);z-index:5;pointer-events:none}.vxe-gantt--view-split-bar-action-btn{position:absolute;display:flex;flex-direction:row;align-items:center;justify-content:center;height:var(--vxe-ui-gantt-view-split-bar-action-btn-height);width:var(--vxe-ui-gantt-view-split-bar-action-btn-width);border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-gantt-view-handle-button-background-color);border:1px solid var(--vxe-ui-input-border-color);pointer-events:all;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .1s ease-in-out}.vxe-gantt--view-split-bar-action-btn:hover{color:#fff;background-color:var(--vxe-ui-font-primary-color)}.vxe-gantt--view-split-bar-action-btn:active{transform:scale(.9)}.vxe-gantt--view-split-bar-action-btn.is--prev{left:calc(var(--vxe-ui-gantt-view-split-bar-action-btn-width)*-1 - var(--vxe-ui-gantt-current-split-bar-action-btn-offset-left) - .2em)}.vxe-gantt--view-split-bar-action-btn.is--next{right:calc(var(--vxe-ui-gantt-view-split-bar-action-btn-width)*-1 - var(--vxe-ui-gantt-current-split-bar-action-btn-offset-left) - .2em)}.vxe-gantt--view-split-bar-action-btn i{font-size:.5em}.vxe-gantt--gantt-container.sy-pos--left.hide--left,.vxe-gantt--gantt-container.sy-pos--right.hide--right{--vxe-ui-gantt-current-split-bar-action-btn-offset-left:var(--vxe-ui-gantt-scrollbar-width)}.vxe-gantt--resizable-split-tip{display:none;position:absolute;top:0;left:0;width:1px;height:100%;z-index:7;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize}.vxe-gantt--resizable-split-tip:before{content:"";display:block;height:100%;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-tip-number{position:absolute;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.vxe-gantt--resizable-split-number-left,.vxe-gantt--resizable-split-number-right{position:absolute;padding:.25em .25em;font-size:12px;border-radius:var(--vxe-ui-border-radius);white-space:nowrap;color:#fff;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-number-left{right:0}.vxe-gantt--resizable-split-number-right{left:1px}.vxe-gantt.is--loading>.vxe-gantt-view--layout-wrapper>.vxe-gantt-view--scroll-y-virtual,.vxe-gantt.is--loading>.vxe-gantt-view--scroll-x-virtual{visibility:hidden}.vxe-gantt .vxe-gantt-view--scroll-x-virtual{height:0}.vxe-gantt .vxe-gantt-view--scroll-y-virtual{width:0}.vxe-gantt .vxe-gantt-view--scroll-x-virtual,.vxe-gantt .vxe-gantt-view--scroll-y-virtual{visibility:hidden;position:relative;flex-shrink:0;z-index:7}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{width:100%;left:0;bottom:0}.vxe-gantt .vxe-gantt-view--scroll-x-handle{overflow-y:hidden;overflow-x:scroll;height:18px}.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{height:100%}.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{width:100%;height:100%;right:0;top:0}.vxe-gantt .vxe-gantt-view--scroll-y-handle{overflow-y:scroll;overflow-x:hidden;width:18px;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-space{height:1px}.vxe-gantt .vxe-gantt-view--scroll-y-space{width:1px}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{display:none;position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{bottom:0;width:0;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner:before,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:var(--vxe-ui-table-border-width);border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner{left:0}.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{right:0}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner{right:1px}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner:before{border-right:0}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner{bottom:1px}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner:before{border-bottom:0}.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{top:0;right:0;width:100%;height:0}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner{margin-top:-1px}.vxe-gantt-view--layout-wrapper{display:flex;flex-direction:row;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt-view--viewport-wrapper{position:relative;overflow:hidden;flex-grow:1}.vxe-gantt-view--render-vars{width:0;height:0;overflow:hidden}.vxe-gantt-view--column-info{width:var(--vxe-ui-gantt-view-default-cell-width)}.vxe-gantt-view{flex-grow:1;overflow:hidden}.vxe-gantt-view .vxe-body--x-space{width:100%;height:1px;margin-bottom:-1px}.vxe-gantt-view .vxe-body--y-space{width:0;float:left}.vxe-gantt-view--body-table,.vxe-gantt-view--header-table{border:0;border-spacing:0;border-collapse:separate;table-layout:fixed}.vxe-gantt-view--body-table col,.vxe-gantt-view--header-table col{width:var(--vxe-ui-gantt-view-default-cell-width)}.vxe-gantt-view--body-table{-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt-view--header-wrapper{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt-view--footer-wrapper{margin-top:calc(var(--vxe-ui-table-border-width)*-1);background-color:var(--vxe-ui-table-footer-background-color)}.vxe-gantt-view--body-wrapper,.vxe-gantt-view--header-wrapper{overflow:hidden}.vxe-gantt-view--header-inner-wrapper{overflow-y:hidden;overflow-x:scroll}.vxe-gantt-view--body-inner-wrapper{overflow-y:scroll;overflow-x:scroll}.vxe-gantt-view--body-inner-wrapper,.vxe-gantt-view--header-inner-wrapper{position:relative;width:100%;height:100%;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.vxe-gantt-view--body-inner-wrapper::-webkit-scrollbar,.vxe-gantt-view--header-inner-wrapper::-webkit-scrollbar{display:none}.vxe-gantt-view--header-column{text-align:center;font-size:1em;height:var(--vxe-ui-gantt-view-cell-height,var(--vxe-ui-table-row-line-height))}.vxe-gantt-view--header-column.is--now{color:var(--vxe-ui-gantt-view-task-now-line-color,var(--vxe-ui-font-primary-color))}.vxe-gantt-view--body-column,.vxe-gantt-view--footer-column,.vxe-gantt-view--header-column{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view--body-row.row--pending>.vxe-gantt-view--body-column:after{content:"";position:absolute;top:50%;left:0;width:100%;height:0;border-bottom:1px solid var(--vxe-ui-table-validate-error-color);z-index:1}.vxe-gantt-view--chart-now-line{position:absolute;left:0;top:0;height:100%}.vxe-gantt-view--chart-now-line:before{content:"";display:block;width:var(--vxe-ui-gantt-view-task-now-line-width,1px);height:100%;background-color:var(--vxe-ui-gantt-view-task-now-line-background-color,var(--vxe-ui-font-primary-color))}.vxe-gantt-view--body-row.row--stripe{background-color:var(--vxe-ui-table-row-striped-background-color)}.vxe-gantt-view--body-row.row--radio{background-color:var(--vxe-ui-table-row-radio-checked-background-color)}.vxe-gantt-view--body-row.row--checked{background-color:var(--vxe-ui-table-row-checkbox-checked-background-color)}.vxe-gantt-view--body-row.row--current{background-color:var(--vxe-ui-table-row-current-background-color)}.vxe-gantt-view--body-row.row--hover{background-color:var(--vxe-ui-table-row-hover-background-color)}.vxe-gantt-view--body-row.row--hover.row--stripe{background-color:var(--vxe-ui-table-row-hover-striped-background-color)}.vxe-gantt-view--body-row.row--hover.row--radio{background-color:var(--vxe-ui-table-row-hover-radio-checked-background-color)}.vxe-gantt-view--body-row.row--hover.row--checked{background-color:var(--vxe-ui-table-row-hover-checkbox-checked-background-color)}.vxe-gantt-view--body-row.row--hover.row--current{background-color:var(--vxe-ui-table-row-hover-current-background-color)}.vxe-gantt-view--body-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--body-row.row--drag-origin>.vxe-gantt-view--body-column{opacity:.3}.vxe-gantt-view--body-column .vxe-gantt-view-cell--row-resizable{position:absolute;left:0;bottom:-.4em;height:.8em;width:100%;text-align:center;z-index:1;cursor:row-resize}.vxe-gantt-view--body-row:last-child .vxe-gantt-view--body-column .vxe-gantt-view-cell--row-resizable{height:.4em;bottom:0}.vxe-gantt{font-size:var(--vxe-ui-font-size-default)}.vxe-gantt.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-gantt.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-gantt.size--mini{font-size:var(--vxe-ui-font-size-mini)}
|
|
1
|
+
:root{--vxe-ui-gantt-view-default-cell-width:2.6em;--vxe-ui-gantt-view-chart-bar-height:1.6em;--vxe-ui-gantt-view-split-bar-width:2px;--vxe-ui-gantt-view-split-bar-action-btn-width:1.2em;--vxe-ui-gantt-view-split-bar-action-btn-height:2.4em;--vxe-ui-gantt-view-handle-button-background-color:var(--vxe-ui-gantt-view-split-bar-background-color);--vxe-ui-gantt-view-table-default-width:30%;--vxe-ui-gantt-view-task-bar-border-radius:calc(var(--vxe-ui-gantt-view-chart-bar-height)/2);--vxe-ui-gantt-view-task-bar-background-color:var(--vxe-ui-font-primary-lighten-color);--vxe-ui-gantt-view-task-bar-completed-background-color:var(--vxe-ui-font-primary-color);--vxe-ui-gantt-view-task-bar-overview-background-color:var(--vxe-ui-font-disabled-color);--vxe-ui-gantt-view-bar-critical-path-line-color:var(--vxe-ui-status-error-darken-color);--vxe-ui-gantt-view-task-line-color:var(--vxe-ui-font-primary-color);--vxe-ui-gantt-view-task-line-width:2px;--vxe-ui-gantt-view-task-line-arrow-width:5}[data-vxe-ui-theme=light]{--vxe-ui-gantt-view-split-bar-background-color:#e2e2e3;--vxe-ui-gantt-view-split-bar-hover-background-color:#d8d8d8}[data-vxe-ui-theme=dark]{--vxe-ui-gantt-view-split-bar-background-color:#444;--vxe-ui-gantt-view-split-bar-hover-background-color:#606060}.vxe-gantt-view--chart-task-wrapper{position:absolute;top:0;left:0;pointer-events:none}.vxe-gantt-view--chart-row,.vxe-gantt-view--chart-subview-row{position:relative;width:100%;height:0}.vxe-gantt-view--chart-row.is--critical>.vxe-gantt-view--chart-bar .vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-row.is--critical>.vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-custom-bar-content-wrapper{border:var(--vxe-ui-gantt-view-task-line-width) solid var(--vxe-ui-gantt-view-bar-critical-path-line-color)}.vxe-gantt-view--chart-row.row--pending .vxe-gantt-view--chart-bar{color:var(--vxe-ui-font-disabled-color);opacity:.5;text-decoration:line-through}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar .vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar .vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar:hover:after,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar:hover:after{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-subview-row.row--pending .vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-row.row--pending .vxe-gantt-view--chart-subview-custom-bar{color:var(--vxe-ui-font-disabled-color);opacity:.5;text-decoration:line-through}.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar .vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar .vxe-gantt-view--chart-subview-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-bar:hover:after,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar .vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar .vxe-gantt-view--chart-subview-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-row.is--round>.vxe-gantt-view--chart-subview-custom-bar:hover:after{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-subview-wrapper.is--overview>.vxe-gantt-view--chart-subview-row .vxe-gantt-view--chart-subview-bar{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-overview-background-color)}.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-custom-bar,.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-custom-bar{display:flex;flex-direction:row;position:absolute;top:50%;left:0;transform:translateY(-50%);pointer-events:all}.vxe-gantt-view--chart-row>.vxe-gantt-view--chart-bar.is--default,.vxe-gantt-view--chart-row>.vxe-gantt-view--chart-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color)}.vxe-gantt-view--chart-subview-row>.vxe-gantt-view--chart-subview-bar.is--subview,.vxe-gantt-view--chart-subview-row>.vxe-gantt-view--chart-subview-custom-bar.is--subview{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-overview-background-color)}.vxe-gantt-view--chart-subview-row>.vxe-gantt-view--chart-subview-bar.is--default,.vxe-gantt-view--chart-subview-row>.vxe-gantt-view--chart-subview-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color)}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper{height:var(--vxe-ui-gantt-view-chart-bar-height)}.vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-custom-bar-content-wrapper{min-height:var(--vxe-ui-gantt-view-chart-bar-height)}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper,.vxe-gantt-view--chart-subview-custom-bar-content-wrapper{width:100%;overflow:hidden}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-subview-bar-content-wrapper{width:100%;display:flex;flex-direction:row;align-items:center}.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-custom-bar,.vxe-gantt-view--chart-subview-bar,.vxe-gantt-view--chart-subview-custom-bar{align-items:center}.vxe-gantt-view--chart-bar.is--default:hover:after,.vxe-gantt-view--chart-custom-bar.is--default:hover:after,.vxe-gantt-view--chart-subview-bar.is--default:hover:after,.vxe-gantt-view--chart-subview-custom-bar.is--default:hover:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.1);pointer-events:none}.vxe-gantt-view--chart-bar.is--milestone,.vxe-gantt-view--chart-custom-bar.is--milestone,.vxe-gantt-view--chart-subview-bar.is--milestone,.vxe-gantt-view--chart-subview-custom-bar.is--milestone{white-space:nowrap}.vxe-gantt-view--chart-progress{flex-shrink:0;width:0;height:100%;text-align:left;background-color:var(--vxe-ui-gantt-view-task-bar-completed-background-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view--chart-content{position:absolute;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9em;padding:0 .6em}.vxe-gantt-view--chart-milestone-wrapper{display:flex;flex-direction:row;align-items:center}.vxe-gantt-view--chart-milestone-icon{flex-shrink:0;padding:0 .3em}.vxe-gantt-view--chart-milestone-icon,.vxe-gantt-view--chart-milestone-icon.theme--primary{color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--chart-milestone-icon.theme--success{color:var(--vxe-ui-status-success-color)}.vxe-gantt-view--chart-milestone-icon.theme--info{color:var(--vxe-ui-status-info-color)}.vxe-gantt-view--chart-milestone-icon.theme--warning{color:var(--vxe-ui-status-warning-color)}.vxe-gantt-view--chart-milestone-icon.theme--danger{color:var(--vxe-ui-status-danger-color)}.vxe-gantt-view--chart-milestone-icon.theme--error{color:var(--vxe-ui-status-error-color)}.vxe-gantt-view--chart-milestone-icon i{display:inline-block}.vxe-gantt-view--chart-milestone-content{flex-grow:1}.vxe-gantt-view--chart-row.row--drag-move,.vxe-gantt-view--chart-subview-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--chart-row.row--drag-origin,.vxe-gantt-view--chart-subview-row.row--drag-origin{opacity:.3}.vxe-gantt{--vxe-ui-gantt-current-split-bar-action-btn-offset-left:0px;--vxe-ui-gantt-current-font-size:var(--vxe-ui-font-size-default)}.vxe-gantt.size--xlarge{--vxe-ui-gantt-current-font-size:var(--vxe-ui-font-size-xlarge)}.vxe-gantt.size--large{--vxe-ui-gantt-current-font-size:var(--vxe-ui-font-size-large)}.vxe-gantt.size--medium{--vxe-ui-gantt-current-font-size:var(--vxe-ui-font-size-medium)}.vxe-gantt.size--small{--vxe-ui-gantt-current-font-size:var(--vxe-ui-font-size-small)}.vxe-gantt.size--mini{--vxe-ui-gantt-current-font-size:var(--vxe-ui-font-size-mini)}.vxe-gantt{position:relative;display:flex;flex-direction:column;font-size:var(--vxe-ui-gantt-current-font-size)}.vxe-gantt.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:99;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color)}.vxe-gantt.is--loading>.vxe-gantt-view .vxe-loading{background-color:transparent}.vxe-gantt.is--maximize{position:fixed;top:0;left:0;width:100%;height:100%;padding:.5em 1em;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt.is--split-drag{cursor:col-resize}.vxe-gantt.is--split-drag .vxe-gantt--table-wrapper:after,.vxe-gantt.is--split-drag .vxe-gantt--view-wrapper:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt .vxe-gantt--bottom-wrapper,.vxe-gantt .vxe-gantt--form-wrapper,.vxe-gantt .vxe-gantt--top-wrapper{position:relative}.vxe-gantt .vxe-gantt--gantt-container{position:relative;display:flex;flex-direction:row;flex-grow:1;overflow:hidden}.vxe-gantt .vxe-gantt--left-wrapper,.vxe-gantt .vxe-gantt--right-wrapper{flex-shrink:0;overflow:auto;outline:0}.vxe-gantt .vxe-gantt--table-wrapper,.vxe-gantt .vxe-gantt--view-wrapper{position:relative;flex-grow:1;overflow:hidden}.vxe-gantt .vxe-gantt--view-split-bar-handle{background-color:var(--vxe-ui-gantt-view-split-bar-background-color)}.vxe-gantt .vxe-gantt--view-split-bar-handle:active,.vxe-gantt .vxe-gantt--view-split-bar-handle:hover{background-color:var(--vxe-ui-gantt-view-split-bar-hover-background-color)}.vxe-gantt.is--animat .vxe-gantt--table-wrapper{transition:width .3s ease-in-out}.vxe-gantt.show--animat.hide--right .vxe-gantt--table-wrapper{width:calc(100% - var(--vxe-ui-gantt-view-split-bar-width))!important;flex-shrink:0;flex-grow:unset}.vxe-gantt--gantt-container.hide--left>.vxe-gantt--table-wrapper{width:0!important;flex-shrink:0;flex-grow:unset}.vxe-gantt--gantt-container.show--left.show--right>.vxe-gantt--table-wrapper{flex-grow:unset;flex-shrink:0;width:var(--vxe-ui-gantt-view-table-default-width)}.vxe-gantt--gantt-container.hide--right>.vxe-gantt--view-wrapper{width:0!important;flex-shrink:0;flex-grow:unset}.vxe-gantt--gantt-container.show--left.show--right .vxe-gantt--view-split-bar{width:var(--vxe-ui-gantt-view-split-bar-width)}.vxe-gantt--view-split-bar{width:0;flex-shrink:0}.vxe-gantt--view-split-bar.is--resize{cursor:col-resize}.vxe-gantt--layout-body-wrapper{display:flex;flex-direction:row;overflow:auto;flex-grow:1}.vxe-gantt--layout-body-content-wrapper{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.vxe-gantt--layout-aside-left-wrapper,.vxe-gantt--layout-footer-wrapper,.vxe-gantt--layout-header-wrapper{flex-shrink:0;overflow:auto}.vxe-gantt--border-line{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none;border:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--full .vxe-gantt-view--body-column,.vxe-gantt.border--full .vxe-gantt-view--footer-column,.vxe-gantt.border--full .vxe-gantt-view--header-column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color)),linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:var(--vxe-ui-table-border-width) 100%,100% var(--vxe-ui-table-border-width);background-position:100% 0,100% 100%}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:0;border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner:before{border-bottom-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer .vxe-gantt-view--scroll-x-handle-appearance{position:absolute;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance{top:0;border-bottom:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--full.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance{bottom:0;height:calc(100% + var(--vxe-ui-table-border-width));border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner:before{border-left-width:var(--vxe-ui-table-border-width);border-right-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-top-corner:before{width:calc(100% + 1px);left:-1px}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-handle-appearance{position:absolute;top:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sy-pos--left .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full.sy-pos--left .vxe-gantt-view--scroll-y-handle-appearance{left:0;border-right:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-handle-appearance,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-handle-appearance{right:0;width:calc(100% + var(--vxe-ui-table-border-width));border-left:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--body-column,.vxe-gantt.border--default .vxe-gantt-view--footer-column,.vxe-gantt.border--default .vxe-gantt-view--header-column,.vxe-gantt.border--inner .vxe-gantt-view--body-column,.vxe-gantt.border--inner .vxe-gantt-view--footer-column,.vxe-gantt.border--inner .vxe-gantt-view--header-column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:100% var(--vxe-ui-table-border-width);background-position:100% 100%}.vxe-gantt.border--default .vxe-gantt-view--footer-wrapper,.vxe-gantt.border--full .vxe-gantt-view--footer-wrapper,.vxe-gantt.border--inner .vxe-gantt-view--footer-wrapper{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--inner .vxe-gantt--border-line{border-width:0 0 1px 0}.vxe-gantt.border--none .vxe-gantt--border-line{display:none}.vxe-gantt--gantt-container.is--ah-split-btn>.vxe-gantt--view-split-bar .vxe-gantt--view-split-bar-action-btn{opacity:0}.vxe-gantt--gantt-container.is--ah-split-btn:hover>.vxe-gantt--view-split-bar .vxe-gantt--view-split-bar-action-btn{opacity:1}.vxe-gantt--view-split-bar{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt--view-split-bar-handle{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3}.vxe-gantt--view-split-bar-btn-wrapper{position:absolute;width:100%;top:50%;transform:translateY(-50%);z-index:5;pointer-events:none}.vxe-gantt--view-split-bar-action-btn{position:absolute;display:flex;flex-direction:row;align-items:center;justify-content:center;height:var(--vxe-ui-gantt-view-split-bar-action-btn-height);width:var(--vxe-ui-gantt-view-split-bar-action-btn-width);border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-gantt-view-handle-button-background-color);border:1px solid var(--vxe-ui-input-border-color);pointer-events:all;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .1s ease-in-out}.vxe-gantt--view-split-bar-action-btn:hover{color:#fff;background-color:var(--vxe-ui-font-primary-color)}.vxe-gantt--view-split-bar-action-btn:active{transform:scale(.9)}.vxe-gantt--view-split-bar-action-btn.is--prev{left:calc(var(--vxe-ui-gantt-view-split-bar-action-btn-width)*-1 - var(--vxe-ui-gantt-current-split-bar-action-btn-offset-left) - .2em)}.vxe-gantt--view-split-bar-action-btn.is--next{right:calc(var(--vxe-ui-gantt-view-split-bar-action-btn-width)*-1 - var(--vxe-ui-gantt-current-split-bar-action-btn-offset-left) - .2em)}.vxe-gantt--view-split-bar-action-btn i{font-size:.5em}.vxe-gantt--gantt-container.sy-pos--left.hide--left,.vxe-gantt--gantt-container.sy-pos--right.hide--right{--vxe-ui-gantt-current-split-bar-action-btn-offset-left:var(--vxe-ui-gantt-scrollbar-width)}.vxe-gantt--resizable-split-tip{display:none;position:absolute;top:0;left:0;width:1px;height:100%;z-index:7;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize}.vxe-gantt--resizable-split-tip:before{content:"";display:block;height:100%;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-tip-number{position:absolute;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.vxe-gantt--resizable-split-number-left,.vxe-gantt--resizable-split-number-right{position:absolute;padding:.25em .25em;font-size:12px;border-radius:var(--vxe-ui-border-radius);white-space:nowrap;color:#fff;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-number-left{right:0}.vxe-gantt--resizable-split-number-right{left:1px}.vxe-gantt.is--loading>.vxe-gantt-view--layout-wrapper>.vxe-gantt-view--scroll-y-virtual,.vxe-gantt.is--loading>.vxe-gantt-view--scroll-x-virtual{visibility:hidden}.vxe-gantt .vxe-gantt-view--scroll-x-virtual{height:0}.vxe-gantt .vxe-gantt-view--scroll-y-virtual{width:0}.vxe-gantt .vxe-gantt-view--scroll-x-virtual,.vxe-gantt .vxe-gantt-view--scroll-y-virtual{visibility:hidden;position:relative;flex-shrink:0;z-index:7}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{width:100%;left:0;bottom:0}.vxe-gantt .vxe-gantt-view--scroll-x-handle{overflow-y:hidden;overflow-x:scroll;height:18px}.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{height:100%}.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{width:100%;height:100%;right:0;top:0}.vxe-gantt .vxe-gantt-view--scroll-y-handle{overflow-y:scroll;overflow-x:hidden;width:18px;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-space{height:1px}.vxe-gantt .vxe-gantt-view--scroll-y-space{width:1px}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{display:none;position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{bottom:0;width:0;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner:before,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:var(--vxe-ui-table-border-width);border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner{left:0}.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{right:0}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner{right:1px}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner:before{border-right:0}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner{bottom:1px}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner:before{border-bottom:0}.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{top:0;right:0;width:100%;height:0}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner{margin-top:-1px}.vxe-gantt-view--layout-wrapper{display:flex;flex-direction:row;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt-view--viewport-wrapper{position:relative;overflow:hidden;flex-grow:1}.vxe-gantt-view--render-vars{width:0;height:0;overflow:hidden}.vxe-gantt-view--column-info{width:var(--vxe-ui-gantt-view-default-cell-width)}.vxe-gantt-view{flex-grow:1;overflow:hidden}.vxe-gantt-view .vxe-body--x-space{width:100%;height:1px;margin-bottom:-1px}.vxe-gantt-view .vxe-body--y-space{width:0;float:left}.vxe-gantt-view--body-table,.vxe-gantt-view--header-table{border:0;border-spacing:0;border-collapse:separate;table-layout:fixed}.vxe-gantt-view--body-table col,.vxe-gantt-view--header-table col{width:var(--vxe-ui-gantt-view-default-cell-width)}.vxe-gantt-view--body-table{-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt-view--header-wrapper{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt-view--footer-wrapper{margin-top:calc(var(--vxe-ui-table-border-width)*-1);background-color:var(--vxe-ui-table-footer-background-color)}.vxe-gantt-view--body-wrapper,.vxe-gantt-view--header-wrapper{overflow:hidden}.vxe-gantt-view--header-inner-wrapper{overflow-y:hidden;overflow-x:scroll}.vxe-gantt-view--body-inner-wrapper{overflow-y:scroll;overflow-x:scroll}.vxe-gantt-view--body-inner-wrapper,.vxe-gantt-view--header-inner-wrapper{position:relative;width:100%;height:100%;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.vxe-gantt-view--body-inner-wrapper::-webkit-scrollbar,.vxe-gantt-view--header-inner-wrapper::-webkit-scrollbar{display:none}.vxe-gantt-view--header-column{text-align:center;font-size:1em;height:var(--vxe-ui-gantt-view-cell-height,var(--vxe-ui-table-row-line-height))}.vxe-gantt-view--header-column.is--now{color:var(--vxe-ui-gantt-view-task-now-line-color,var(--vxe-ui-font-primary-color))}.vxe-gantt-view--body-column,.vxe-gantt-view--footer-column,.vxe-gantt-view--header-column{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view--body-row.row--pending>.vxe-gantt-view--body-column:after{content:"";position:absolute;top:50%;left:0;width:100%;height:0;border-bottom:1px solid var(--vxe-ui-table-validate-error-color);z-index:1}.vxe-gantt-view--chart-now-line{position:absolute;left:0;top:0;height:100%}.vxe-gantt-view--chart-now-line:before{content:"";display:block;width:var(--vxe-ui-gantt-view-task-now-line-width,1px);height:100%;background-color:var(--vxe-ui-gantt-view-task-now-line-background-color,var(--vxe-ui-font-primary-color))}.vxe-gantt-view--body-row.row--stripe{background-color:var(--vxe-ui-table-row-striped-background-color)}.vxe-gantt-view--body-row.row--radio{background-color:var(--vxe-ui-table-row-radio-checked-background-color)}.vxe-gantt-view--body-row.row--checked{background-color:var(--vxe-ui-table-row-checkbox-checked-background-color)}.vxe-gantt-view--body-row.row--current{background-color:var(--vxe-ui-table-row-current-background-color)}.vxe-gantt-view--body-row.row--hover{background-color:var(--vxe-ui-table-row-hover-background-color)}.vxe-gantt-view--body-row.row--hover.row--stripe{background-color:var(--vxe-ui-table-row-hover-striped-background-color)}.vxe-gantt-view--body-row.row--hover.row--radio{background-color:var(--vxe-ui-table-row-hover-radio-checked-background-color)}.vxe-gantt-view--body-row.row--hover.row--checked{background-color:var(--vxe-ui-table-row-hover-checkbox-checked-background-color)}.vxe-gantt-view--body-row.row--hover.row--current{background-color:var(--vxe-ui-table-row-hover-current-background-color)}.vxe-gantt-view--body-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--body-row.row--drag-origin>.vxe-gantt-view--body-column{opacity:.3}.vxe-gantt-view--body-column .vxe-gantt-view-cell--row-resizable{position:absolute;left:0;bottom:-.4em;height:.8em;width:100%;text-align:center;z-index:1;cursor:row-resize}.vxe-gantt-view--body-row:last-child .vxe-gantt-view--body-column .vxe-gantt-view-cell--row-resizable{height:.4em;bottom:0}
|
|
@@ -37,7 +37,8 @@ export default defineVxeComponent({
|
|
|
37
37
|
const taskBarSlot = ganttSlots.taskBar || ganttSlots['task-bar'];
|
|
38
38
|
const taskBarOverviewSlot = ganttSlots.taskBarOverview || ganttSlots['task-bar-overview'];
|
|
39
39
|
const { treeConfig, taskBarMilestoneConfig, taskBarSubviewConfig } = ganttProps;
|
|
40
|
-
const { activeLink, activeBarRowid } = ganttReactData;
|
|
40
|
+
const { activeLink, activeBarRowid, criticalPathFlag } = ganttReactData;
|
|
41
|
+
const { criticalRowMaps } = ganttInternalData;
|
|
41
42
|
const titleField = computeTitleField.value;
|
|
42
43
|
const progressField = computeProgressField.value;
|
|
43
44
|
const typeField = computeTypeField.value;
|
|
@@ -56,7 +57,7 @@ export default defineVxeComponent({
|
|
|
56
57
|
rowIndex,
|
|
57
58
|
_rowIndex
|
|
58
59
|
};
|
|
59
|
-
const { showProgress, showContent, contentMethod, barStyle, moveable, showTooltip } = taskBarOpts;
|
|
60
|
+
const { showProgress, showCriticalPath, showContent, contentMethod, barStyle, moveable, showTooltip } = taskBarOpts;
|
|
60
61
|
const isBarRowStyle = XEUtils.isFunction(barStyle);
|
|
61
62
|
const barStyObj = (barStyle ? (isBarRowStyle ? barStyle(barParams) || undefined : barStyle) : {}) || {};
|
|
62
63
|
const barRound = barStyObj.round;
|
|
@@ -215,6 +216,7 @@ export default defineVxeComponent({
|
|
|
215
216
|
rowid: childRowid,
|
|
216
217
|
class: ['vxe-gantt-view--chart-subview-row', `is--${childRenderTaskType}`, {
|
|
217
218
|
'is--progress': showProgress,
|
|
219
|
+
'is--critical': showCriticalPath && criticalPathFlag && criticalRowMaps.has(childRowid),
|
|
218
220
|
'is--round': childRound,
|
|
219
221
|
'is--move': moveable,
|
|
220
222
|
'row--pending': !!pendingRowFlag && !!pendingRowMaps[childRowid]
|
|
@@ -308,6 +310,7 @@ export default defineVxeComponent({
|
|
|
308
310
|
rowid,
|
|
309
311
|
class: ['vxe-gantt-view--chart-row', `is--${renderTaskType}`, {
|
|
310
312
|
'is--progress': showProgress,
|
|
313
|
+
'is--critical': showCriticalPath && criticalPathFlag && criticalRowMaps.has(rowid),
|
|
311
314
|
'row--pending': !!pendingRowFlag && !!pendingRowMaps[rowid],
|
|
312
315
|
'is--round': barRound,
|
|
313
316
|
'is--move': moveable
|
|
@@ -3,16 +3,21 @@ import { defineVxeComponent } from '../../ui/src/comp';
|
|
|
3
3
|
import { setScrollTop, setScrollLeft, removeClass, addClass, hasClass } from '../../ui/src/dom';
|
|
4
4
|
import { VxeUI } from '@vxe-ui/core';
|
|
5
5
|
import { getRefElem, getTaskBarLeft, getTaskBarWidth, hasMilestoneTask, getTaskType, hasSubviewTask } from './util';
|
|
6
|
+
import { VxeGanttDependencyType } from './static';
|
|
6
7
|
import XEUtils from 'xe-utils';
|
|
7
8
|
import GanttViewHeaderComponent from './gantt-header';
|
|
8
9
|
import GanttViewBodyComponent from './gantt-body';
|
|
9
10
|
import GanttViewFooterComponent from './gantt-footer';
|
|
10
11
|
const { globalEvents } = VxeUI;
|
|
12
|
+
const { FinishToStart, StartToFinish, StartToStart, FinishToFinish } = VxeGanttDependencyType;
|
|
11
13
|
const sourceType = 'gantt';
|
|
12
14
|
const secondMs = 1000;
|
|
13
15
|
const minuteMs = 1000 * 60;
|
|
14
16
|
const hourMs = 1000 * 60 * 60;
|
|
15
17
|
const dayMs = hourMs * 24;
|
|
18
|
+
function getTaskLinkKey(from, to, type) {
|
|
19
|
+
return from + '_' + to + '_' + (type || 0);
|
|
20
|
+
}
|
|
16
21
|
function createInternalData() {
|
|
17
22
|
return {
|
|
18
23
|
xeTable: null,
|
|
@@ -76,8 +81,10 @@ export default defineVxeComponent({
|
|
|
76
81
|
setup(props, context) {
|
|
77
82
|
const xID = XEUtils.uniqueId();
|
|
78
83
|
const $xeGantt = inject('$xeGantt', {});
|
|
79
|
-
const
|
|
80
|
-
const
|
|
84
|
+
const ganttProps = $xeGantt.props;
|
|
85
|
+
const ganttReactData = $xeGantt.reactData;
|
|
86
|
+
const ganttInternalData = $xeGantt.internalData;
|
|
87
|
+
const { computeDateFormat, computeTaskBarOpts, computeTaskViewOpts, computeStartField, computeEndField, computeTypeField, computeScrollbarOpts, computeScrollbarXToTop, computeScrollbarYToLeft, computeScaleUnit, computeWeekScale, computeMinScale, computeTaskNowLineOpts, computeScaleStep } = $xeGantt.getComputeMaps();
|
|
81
88
|
const refElem = ref();
|
|
82
89
|
const refScrollXVirtualElem = ref();
|
|
83
90
|
const refScrollYVirtualElem = ref();
|
|
@@ -202,7 +209,6 @@ export default defineVxeComponent({
|
|
|
202
209
|
return dateList;
|
|
203
210
|
});
|
|
204
211
|
const computeNowLineLeft = computed(() => {
|
|
205
|
-
const ganttReactData = $xeGantt.reactData;
|
|
206
212
|
const { minViewDate, maxViewDate, viewCellWidth } = reactData;
|
|
207
213
|
const { visibleColumn, todayDateMaps } = internalData;
|
|
208
214
|
const minScale = computeMinScale.value;
|
|
@@ -263,7 +269,6 @@ export default defineVxeComponent({
|
|
|
263
269
|
return XEUtils.toStringDate(dateValue, dateFormat);
|
|
264
270
|
};
|
|
265
271
|
const updateTodayData = () => {
|
|
266
|
-
const ganttReactData = $xeGantt.reactData;
|
|
267
272
|
const { taskScaleList } = ganttReactData;
|
|
268
273
|
const minScale = computeMinScale.value;
|
|
269
274
|
if (minScale) {
|
|
@@ -295,7 +300,6 @@ export default defineVxeComponent({
|
|
|
295
300
|
}
|
|
296
301
|
};
|
|
297
302
|
const handleColumnHeader = () => {
|
|
298
|
-
const ganttReactData = $xeGantt.reactData;
|
|
299
303
|
const { taskScaleList } = ganttReactData;
|
|
300
304
|
const scaleUnit = computeScaleUnit.value;
|
|
301
305
|
const minScale = computeMinScale.value;
|
|
@@ -970,7 +974,7 @@ export default defineVxeComponent({
|
|
|
970
974
|
handleTableColumn();
|
|
971
975
|
};
|
|
972
976
|
const handleUpdateData = () => {
|
|
973
|
-
const
|
|
977
|
+
const { linkList } = ganttReactData;
|
|
974
978
|
const { treeConfig } = ganttProps;
|
|
975
979
|
const { scrollXStore } = internalData;
|
|
976
980
|
const $xeTable = internalData.xeTable;
|
|
@@ -978,6 +982,7 @@ export default defineVxeComponent({
|
|
|
978
982
|
const edMaps = {};
|
|
979
983
|
let minDate = null;
|
|
980
984
|
let maxDate = null;
|
|
985
|
+
const allList = [];
|
|
981
986
|
if ($xeTable) {
|
|
982
987
|
const startField = computeStartField.value;
|
|
983
988
|
const endField = computeEndField.value;
|
|
@@ -1014,6 +1019,7 @@ export default defineVxeComponent({
|
|
|
1014
1019
|
maxDate = endDate;
|
|
1015
1020
|
}
|
|
1016
1021
|
}
|
|
1022
|
+
allList.push(row);
|
|
1017
1023
|
};
|
|
1018
1024
|
if (isRowGroupStatus) {
|
|
1019
1025
|
// 行分组
|
|
@@ -1037,7 +1043,219 @@ export default defineVxeComponent({
|
|
|
1037
1043
|
internalData.startMaps = sdMaps;
|
|
1038
1044
|
internalData.endMaps = edMaps;
|
|
1039
1045
|
handleParseColumn();
|
|
1046
|
+
handleCriticalPath(allList, linkList);
|
|
1040
1047
|
};
|
|
1048
|
+
/**
|
|
1049
|
+
* 正向:后置 ES 的下连接线
|
|
1050
|
+
*/
|
|
1051
|
+
function forwardCriticalPathLowerBound(linkType, predES, predEF, duration) {
|
|
1052
|
+
switch (linkType) {
|
|
1053
|
+
case FinishToStart:
|
|
1054
|
+
return predEF;
|
|
1055
|
+
case StartToFinish:
|
|
1056
|
+
return predES - duration;
|
|
1057
|
+
case StartToStart:
|
|
1058
|
+
return predES;
|
|
1059
|
+
case FinishToFinish:
|
|
1060
|
+
return predEF - duration;
|
|
1061
|
+
default:
|
|
1062
|
+
return 0;
|
|
1063
|
+
}
|
|
1064
|
+
}
|
|
1065
|
+
/**
|
|
1066
|
+
* 反向:前置 LF 的上连接线
|
|
1067
|
+
*/
|
|
1068
|
+
function backwardCriticalPathUpperBound(linkType, succLS, succLF, duration) {
|
|
1069
|
+
switch (linkType) {
|
|
1070
|
+
case FinishToStart:
|
|
1071
|
+
return succLS;
|
|
1072
|
+
case StartToFinish:
|
|
1073
|
+
return succLF + duration;
|
|
1074
|
+
case StartToStart:
|
|
1075
|
+
return succLS + duration;
|
|
1076
|
+
case FinishToFinish:
|
|
1077
|
+
return succLF;
|
|
1078
|
+
default:
|
|
1079
|
+
return -1;
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
/**
|
|
1083
|
+
* 关键边:两端都关键时,约束是否连接
|
|
1084
|
+
*/
|
|
1085
|
+
function isCriticalPathLinkTight(linkType, fromES, fromEF, toES, toEF, tolerance) {
|
|
1086
|
+
switch (linkType) {
|
|
1087
|
+
case FinishToStart:
|
|
1088
|
+
return Math.abs(fromEF - toES) < tolerance;
|
|
1089
|
+
case StartToFinish:
|
|
1090
|
+
return Math.abs(fromES - toEF) < tolerance;
|
|
1091
|
+
case StartToStart:
|
|
1092
|
+
return Math.abs(fromES - toES) < tolerance;
|
|
1093
|
+
case FinishToFinish:
|
|
1094
|
+
return Math.abs(fromEF - toEF) < tolerance;
|
|
1095
|
+
default:
|
|
1096
|
+
return false;
|
|
1097
|
+
}
|
|
1098
|
+
}
|
|
1099
|
+
function handleCriticalPath(data, links) {
|
|
1100
|
+
const taskBarOpts = computeTaskBarOpts.value;
|
|
1101
|
+
const $xeTable = internalData.xeTable;
|
|
1102
|
+
const criticalRowList = [];
|
|
1103
|
+
const criticalRowMaps = new Map();
|
|
1104
|
+
const criticalLinkKeyMaps = new Map();
|
|
1105
|
+
ganttInternalData.criticalRowList = criticalRowList;
|
|
1106
|
+
ganttInternalData.criticalRowMaps = criticalRowMaps;
|
|
1107
|
+
ganttInternalData.criticalLinkKeyMaps = criticalLinkKeyMaps;
|
|
1108
|
+
if (!taskBarOpts.showCriticalPath || !links.length || !data.length || !$xeTable) {
|
|
1109
|
+
if (ganttReactData.criticalRowIds.length || ganttReactData.criticalLinks.length) {
|
|
1110
|
+
ganttReactData.criticalPathFlag++;
|
|
1111
|
+
}
|
|
1112
|
+
ganttReactData.criticalLinks = [];
|
|
1113
|
+
ganttReactData.criticalRowIds = [];
|
|
1114
|
+
return;
|
|
1115
|
+
}
|
|
1116
|
+
const { chartMaps } = internalData;
|
|
1117
|
+
const tolerance = 1e-6;
|
|
1118
|
+
const nodeMap = new Map();
|
|
1119
|
+
for (const row of data) {
|
|
1120
|
+
const rowid = $xeTable.getRowid(row);
|
|
1121
|
+
const chartRest = chartMaps[rowid];
|
|
1122
|
+
nodeMap.set(rowid, {
|
|
1123
|
+
row,
|
|
1124
|
+
rowid: rowid,
|
|
1125
|
+
duration: chartRest ? chartRest.oWidthSize : 0,
|
|
1126
|
+
incoming: [],
|
|
1127
|
+
outgoing: [],
|
|
1128
|
+
indeg: 0,
|
|
1129
|
+
ES: 0,
|
|
1130
|
+
EF: 0,
|
|
1131
|
+
LS: 0,
|
|
1132
|
+
LF: 0
|
|
1133
|
+
});
|
|
1134
|
+
}
|
|
1135
|
+
// 边界
|
|
1136
|
+
const linkList = [];
|
|
1137
|
+
for (const link of links) {
|
|
1138
|
+
const fromKey = '' + link.from;
|
|
1139
|
+
const toKey = '' + link.to;
|
|
1140
|
+
if (!nodeMap.has(fromKey) || !nodeMap.has(toKey) || fromKey === toKey) {
|
|
1141
|
+
continue;
|
|
1142
|
+
}
|
|
1143
|
+
const lkItemitem = {
|
|
1144
|
+
from: link.from,
|
|
1145
|
+
to: link.to,
|
|
1146
|
+
type: XEUtils.toNumber(link.type) || 0,
|
|
1147
|
+
raw: link
|
|
1148
|
+
};
|
|
1149
|
+
linkList.push(lkItemitem);
|
|
1150
|
+
const toObjItem = nodeMap.get('' + link.to);
|
|
1151
|
+
const fromObjItem = nodeMap.get('' + link.from);
|
|
1152
|
+
if (fromObjItem) {
|
|
1153
|
+
fromObjItem.outgoing.push(lkItemitem);
|
|
1154
|
+
}
|
|
1155
|
+
if (toObjItem) {
|
|
1156
|
+
toObjItem.incoming.push(lkItemitem);
|
|
1157
|
+
toObjItem.indeg++;
|
|
1158
|
+
}
|
|
1159
|
+
}
|
|
1160
|
+
// 拓扑排序 + 环检测
|
|
1161
|
+
const queueList = [];
|
|
1162
|
+
nodeMap.forEach(nodeitem => {
|
|
1163
|
+
if (nodeitem.indeg === 0) {
|
|
1164
|
+
queueList.push(nodeitem);
|
|
1165
|
+
}
|
|
1166
|
+
});
|
|
1167
|
+
const orderList = [];
|
|
1168
|
+
for (let head = 0; head < queueList.length; head++) {
|
|
1169
|
+
const node = queueList[head];
|
|
1170
|
+
orderList.push(node);
|
|
1171
|
+
for (const lkItemitem of node.outgoing) {
|
|
1172
|
+
const toObjItem = nodeMap.get('' + lkItemitem.to);
|
|
1173
|
+
if (toObjItem) {
|
|
1174
|
+
const nextDeg = toObjItem.indeg - 1;
|
|
1175
|
+
toObjItem.indeg = nextDeg;
|
|
1176
|
+
if (nextDeg === 0) {
|
|
1177
|
+
queueList.push(nodeMap.get('' + lkItemitem.to));
|
|
1178
|
+
}
|
|
1179
|
+
}
|
|
1180
|
+
}
|
|
1181
|
+
}
|
|
1182
|
+
if (orderList.length !== nodeMap.size) {
|
|
1183
|
+
// 异常数据,依赖图中存在环
|
|
1184
|
+
if (ganttReactData.criticalRowIds.length || ganttReactData.criticalLinks.length) {
|
|
1185
|
+
ganttReactData.criticalPathFlag++;
|
|
1186
|
+
}
|
|
1187
|
+
ganttReactData.criticalLinks = [];
|
|
1188
|
+
ganttReactData.criticalRowIds = [];
|
|
1189
|
+
return;
|
|
1190
|
+
}
|
|
1191
|
+
// 正向:ES / EF
|
|
1192
|
+
let criticalDuration = 0;
|
|
1193
|
+
for (const node of orderList) {
|
|
1194
|
+
let earliestStart = 0;
|
|
1195
|
+
for (const lkItem of node.incoming) {
|
|
1196
|
+
const fromObjItem = nodeMap.get('' + lkItem.from);
|
|
1197
|
+
if (fromObjItem) {
|
|
1198
|
+
const need = forwardCriticalPathLowerBound(lkItem.type, fromObjItem.ES, fromObjItem.EF, node.duration);
|
|
1199
|
+
if (need > earliestStart) {
|
|
1200
|
+
earliestStart = need;
|
|
1201
|
+
}
|
|
1202
|
+
}
|
|
1203
|
+
}
|
|
1204
|
+
node.ES = earliestStart;
|
|
1205
|
+
node.EF = earliestStart + node.duration;
|
|
1206
|
+
if (node.EF > criticalDuration) {
|
|
1207
|
+
criticalDuration = node.EF;
|
|
1208
|
+
}
|
|
1209
|
+
}
|
|
1210
|
+
// 反向:LS / LF
|
|
1211
|
+
for (let i = orderList.length - 1; i >= 0; i--) {
|
|
1212
|
+
const node = orderList[i];
|
|
1213
|
+
let latestFinish = criticalDuration;
|
|
1214
|
+
for (const lkItem of node.outgoing) {
|
|
1215
|
+
const toObjItem = nodeMap.get('' + lkItem.to);
|
|
1216
|
+
if (toObjItem) {
|
|
1217
|
+
const need = backwardCriticalPathUpperBound(lkItem.type, toObjItem.LS, toObjItem.LF, node.duration);
|
|
1218
|
+
if (need < latestFinish) {
|
|
1219
|
+
latestFinish = need;
|
|
1220
|
+
}
|
|
1221
|
+
}
|
|
1222
|
+
}
|
|
1223
|
+
node.LF = latestFinish;
|
|
1224
|
+
node.LS = latestFinish - node.duration;
|
|
1225
|
+
}
|
|
1226
|
+
// 关键任务
|
|
1227
|
+
const criticalSet = new Set();
|
|
1228
|
+
const criticalRowIds = [];
|
|
1229
|
+
for (const nodeItem of orderList) {
|
|
1230
|
+
if (Math.abs(nodeItem.LS - nodeItem.ES) < tolerance) {
|
|
1231
|
+
criticalSet.add(nodeItem.rowid);
|
|
1232
|
+
criticalRowIds.push(nodeItem.rowid);
|
|
1233
|
+
criticalRowList.push(nodeItem.row);
|
|
1234
|
+
criticalRowMaps.set(nodeItem.rowid, nodeItem.row);
|
|
1235
|
+
}
|
|
1236
|
+
}
|
|
1237
|
+
// 关键连接线
|
|
1238
|
+
const criticalLinks = [];
|
|
1239
|
+
for (const lkItem of linkList) {
|
|
1240
|
+
const toObjItem = nodeMap.get('' + lkItem.to);
|
|
1241
|
+
const fromObjItem = nodeMap.get('' + lkItem.from);
|
|
1242
|
+
if (!toObjItem || !fromObjItem) {
|
|
1243
|
+
continue;
|
|
1244
|
+
}
|
|
1245
|
+
// 两端必须都是关键任务
|
|
1246
|
+
if (!criticalSet.has(fromObjItem.rowid) || !criticalSet.has(toObjItem.rowid)) {
|
|
1247
|
+
continue;
|
|
1248
|
+
}
|
|
1249
|
+
// 约束必须是连接的
|
|
1250
|
+
if (isCriticalPathLinkTight(lkItem.type, fromObjItem.ES, fromObjItem.EF, toObjItem.ES, toObjItem.EF, tolerance)) {
|
|
1251
|
+
criticalLinks.push(lkItem.raw);
|
|
1252
|
+
criticalLinkKeyMaps.set(getTaskLinkKey(lkItem.from, lkItem.to, lkItem.type), lkItem.raw);
|
|
1253
|
+
}
|
|
1254
|
+
}
|
|
1255
|
+
ganttReactData.criticalLinks = criticalLinks;
|
|
1256
|
+
ganttReactData.criticalRowIds = criticalRowIds;
|
|
1257
|
+
ganttReactData.criticalPathFlag++;
|
|
1258
|
+
}
|
|
1041
1259
|
const calcScrollbar = () => {
|
|
1042
1260
|
const { scrollXWidth, scrollYHeight } = reactData;
|
|
1043
1261
|
const { elemStore } = internalData;
|