zmdms-webui 3.2.1 → 3.2.3

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.
@@ -1 +1 @@
1
- .zmdms-container{background-color:#e9ecf3}.zmdms-container .zmdms-sider{background-color:#5b76f6;background-repeat:no-repeat;background-size:100% auto;background-size:cover;z-index:102}.zmdms-container .zmdms-content{background-color:#e9ecf3}.zmdms-container .zmdms-content--header{align-items:center;background:#fff;display:flex;height:48px;justify-content:space-between;line-height:48px;padding:0 0 0 10px}.zmdms-container .zmdms-content--header .ant-tabs{flex:1;margin-top:8px;width:calc(100% - 350px)}.zmdms-container .zmdms-content--header .ant-tabs.zmdms-content--header-tabs{width:300px}.zmdms-container .zmdms-content--header .ant-tabs .ant-tabs-tab>div{padding:0}.zmdms-container .zmdms-content--header .ant-tabs .ant-tabs-tab a{color:#768696;display:inline-block;padding:0 20px}.zmdms-container .zmdms-content--header .ant-tabs .ant-tabs-tab.ant-tabs-tab-with-remove a{padding:0 10px 0 20px}.zmdms-container .zmdms-content--header .ant-tabs .ant-tabs-nav{margin-bottom:0}.zmdms-container .zmdms-content--content{height:calc(100vh - 48px);position:relative}.zmdms-container .zmdms-content--header-info{color:#000000a6;display:flex;height:48px;max-width:350px}.zmdms-container .zmdms-content--header-info .full-screen{cursor:pointer;text-align:center;width:36px}.zmdms-container .zmdms-content--header-info .user-operation{align-items:center;cursor:pointer;display:flex;padding:0 12px}.zmdms-container .zmdms-content--header-info .user-operation:hover{background-color:#f7f7f7}.zmdms-container .zmdms-content--header-info .user-operation>span:last-child{color:#000000a6;display:inline-block;margin-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:70px}.zmdms-menu{display:flex;flex-direction:column;height:100vh}.zmdms-menu .zmdms-logo{align-items:center;display:block;display:flex;height:48px;padding:9px 0 5px}.zmdms-menu .zmdms-logo.zmdms-logo--line{position:relative;z-index:1000}.zmdms-menu .zmdms-logo.zmdms-logo--line:after{background:#505cbe;content:"";height:29px;position:absolute;right:-.5px;width:1px}.zmdms-menu .zmdms-logo>img{display:block;margin:0 auto;width:78px}.zmdms-menu .zmdms-menu--search{background-color:#5b8af666;position:relative}.zmdms-menu .zmdms-menu--search>input{background-color:#5b8af666;border:none;color:#fff;font-size:13px;height:36px;line-height:36px}.zmdms-menu .zmdms-menu--search>input::placeholder{color:#fff;font-size:13px}.zmdms-menu .zmdms-menu--search .zmdms-menu--search__icon{align-items:center;color:#fff;cursor:pointer;display:flex;font-size:16px;height:30px;justify-content:center;position:absolute;right:0;top:3px;width:30px}.zmdms-menu .zmdms-menu--main{background:#0000;border-right:none;flex:1;overflow-x:hidden;overflow-y:auto}.zmdms-menu .zmdms-menu--main.zmdms-menu--main-hide-bg .ant-menu-item-selected{background:#1566d2!important}.zmdms-menu .zmdms-menu--main.zmdms-menu--main-item-line .ant-menu-item{height:auto!important;line-height:20px!important;min-height:36px}.zmdms-menu .zmdms-menu--main.zmdms-menu--main-item-line .ant-menu-item .ant-menu-title-content{word-wrap:break-word;display:inline-block;height:auto!important;text-overflow:unset!important;white-space:pre-wrap;width:100%}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu,.zmdms-menu .zmdms-menu--main>.ant-menu-submenu.ant-menu-submenu-open>.ant-menu-submenu-title{color:#fff}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu>.ant-menu-submenu-title{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#5b76f5;background-color:#5b8af666;color:#ffffffa6;display:flex;font-size:13px;height:36px;line-height:36px;margin:0;padding:0}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow{color:#ffffffa6;right:6px}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-title-content{flex:none;width:88%}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu>.ant-menu-submenu-title:hover,.zmdms-menu .zmdms-menu--main>.ant-menu-submenu>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow{color:#fff}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub.ant-menu-inline{background:#0000}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item{align-items:center;color:#ffffffa6;display:flex;font-size:13px;height:36px;line-height:36px;margin:0}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item a{color:inherit}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item:active{background:#0000}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item:hover{color:#fff}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item:not(:last-child){margin-bottom:0}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item.ant-menu-item-selected{background:#5b76f5;color:#fff;width:100%}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item.ant-menu-item-selected:after{border-right:none}.zmdms-menu .zmdms-menu--main::-webkit-scrollbar{height:4px;width:6px}.zmdms-menu .zmdms-menu--main::-webkit-scrollbar-track{background:#fff0;border-radius:4px}.zmdms-menu .zmdms-menu--main::-webkit-scrollbar-thumb{background:#5b76f6;border-radius:4px}.zmdms-menu .zmdms-menu--main::-webkit-scrollbar-thumb:hover{background:#5b76f6}.zmdms-menu .zmdms-menu--main>.ant-menu-item{align-items:center;color:#ffffffa6;display:flex;font-size:13px;height:36px;line-height:36px;margin:0}.zmdms-menu .zmdms-menu--main>.ant-menu-item a{color:inherit}.zmdms-menu .zmdms-menu--main>.ant-menu-item:active{background:#0000}.zmdms-menu .zmdms-menu--main>.ant-menu-item:hover{color:#fff}.zmdms-menu .zmdms-menu--main>.ant-menu-item:not(:last-child){margin-bottom:0}.zmdms-menu .zmdms-menu--main>.ant-menu-item.ant-menu-item-selected{background:#5b76f6;color:#fff;width:100%}.zmdms-menu .zmdms-menu--main>.ant-menu-item.ant-menu-item-selected:after{border-right:none}.zmdms-menu--sub{padding:0}.zmdms-menu--sub .ant-drawer-content{background:#0000;background-position:100%;background-repeat:no-repeat;background-size:cover;overflow:hidden}.zmdms-menu--sub .ant-drawer-content .ant-menu{background:#0000;color:#fff}.zmdms-menu--sub.ant-drawer-left>.ant-drawer-content-wrapper{left:-1px}.zmdms-menu--sub .ant-drawer-header{background:#0000;border-bottom:none;padding:0}.zmdms-menu--sub .ant-drawer-header .ant-drawer-header-title{align-items:center;color:#fff;display:flex;height:48px;justify-content:center}.zmdms-menu--sub .ant-drawer-header .ant-drawer-header-title .ant-drawer-title{align-items:center;color:#fff;display:flex;font-size:14px;justify-content:center}.zmdms-menu--sub .ant-drawer-header .ant-drawer-header-title .ant-drawer-title img{width:118px}.zmdms-menu--sub .ant-drawer-body{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#5b76f566;font-size:13px;overflow-x:hidden;padding:0}.zmdms-menu--sub .ant-drawer-body::-webkit-scrollbar{height:4px;width:6px}.zmdms-menu--sub .ant-drawer-body::-webkit-scrollbar-track{background:#fff0;border-radius:4px}.zmdms-menu--sub .ant-drawer-body::-webkit-scrollbar-thumb{background:#5b76f6;border-radius:4px}.zmdms-menu--sub .ant-drawer-body::-webkit-scrollbar-thumb:hover{background:#5b76f6}.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu.ant-menu-submenu-inline{border-bottom:1px solid #8d9eff47;padding-bottom:0}.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline{background:#0000;padding:0 10px}.zmdms-menu--sub .ant-drawer-body .ant-menu-item,.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item{align-items:center;border-radius:4px;color:#fff;display:flex;font-size:13px;height:30px;line-height:30px;margin:0}.zmdms-menu--sub .ant-drawer-body .ant-menu-item:not(:last-child),.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item:not(:last-child){margin-bottom:0}.zmdms-menu--sub .ant-drawer-body .ant-menu-item a,.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item a{color:#fff}.zmdms-menu--sub .ant-drawer-body .ant-menu-item:active,.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item:active{background:#0000}.zmdms-menu--sub .ant-drawer-body .ant-menu-item:last-child,.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item:last-child{margin-bottom:10px}.zmdms-menu--sub .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title,.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu-title{color:#fff;font-size:13px;font-weight:700;height:30px;line-height:30px}.zmdms-menu--sub .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow,.zmdms-menu--sub .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:hover,.zmdms-menu--sub .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow,.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu-title .ant-menu-submenu-arrow,.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu-title:hover,.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu-title:hover .ant-menu-submenu-arrow{color:#fff}.zmdms-menu--sub .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:active,.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu-title:active{background:#0000}.zmdms-menu--sub .ant-drawer-body .ant-menu-root>.ant-menu-item-only-child{margin-top:2px}.zmdms-menu--sub .ant-drawer-body .ant-menu-root>.ant-menu-item-only-child .ant-menu-title-content{font-weight:700}.zmdms-menu--sub .ant-drawer-body .ant-menu-item-selected{background-color:#5b76f5!important;color:#fff}.zmdms-menu--sub .ant-drawer-body .ant-menu-item-selected:after{border-right:none}.zmdms-menu--sub .ant-drawer-footer{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#5b76f566;border-top:1px solid #5670ea;display:flex;height:40px;justify-content:center;line-height:40px;padding:3px 10px}.zmdms-menu--sub .ant-drawer-footer .zt-btn-link{color:#fff}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-content,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-content .ant-menu{background:#fff}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-header{background:#fff;border-bottom:1px solid #ebf3fe}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body::-webkit-scrollbar{height:4px;width:6px}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body::-webkit-scrollbar-track{background:#fff;border-radius:4px}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body::-webkit-scrollbar-thumb{background:#8695a1;border-radius:4px}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body::-webkit-scrollbar-thumb:hover{background:#727e88}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-item,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-item a,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item a{color:#000000d9}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-item a:hover,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item a:hover{color:#5b76f6}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-submenu-title{color:#000000a6;font-size:13px;font-weight:700;height:30px;line-height:30px}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-submenu-title .ant-menu-submenu-arrow{color:#000000d9}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:hover,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-submenu-title:hover,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-submenu-title:hover .ant-menu-submenu-arrow{color:#5b76f6}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:active,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-submenu-title:active{background:#0000}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-item-selected{background-color:#e6f7ff!important;color:#4285f4!important}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-footer{-webkit-backdrop-filter:none;backdrop-filter:none;background:none;border-top:1px solid #ebf3fe}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-footer .zt-btn-link{color:#4285f4!important}.zmdms-menu--sub.zmdms-menu--sub-item-line .ant-menu-item{height:auto!important;line-height:20px!important;min-height:30px}.zmdms-menu--sub.zmdms-menu--sub-item-line .ant-menu-item .ant-menu-title-content{word-wrap:break-word;display:inline-block;height:auto!important;text-overflow:unset!important;white-space:pre-wrap;width:100%}.logout-spin{background-color:#ffffffb3;bottom:0;left:0;padding-top:100px;position:fixed;right:0;top:0;z-index:1000}
1
+ .zmdms-container{background-color:#e9ecf3}.zmdms-container .zmdms-sider{background-color:#5b76f6;background-repeat:no-repeat;background-size:100% auto;background-size:cover;z-index:102}.zmdms-container .zmdms-content{background-color:#e9ecf3}.zmdms-container .zmdms-content--header{align-items:center;background:#fff;display:flex;height:48px;justify-content:space-between;line-height:48px;padding:0 0 0 10px}.zmdms-container .zmdms-content--header .ant-tabs{flex:1;margin-top:8px;width:calc(100% - 350px)}.zmdms-container .zmdms-content--header .ant-tabs.zmdms-content--header-tabs{width:300px}.zmdms-container .zmdms-content--header .ant-tabs .ant-tabs-tab>div{padding:0}.zmdms-container .zmdms-content--header .ant-tabs .ant-tabs-tab a{color:#768696;display:inline-block;padding:0 20px}.zmdms-container .zmdms-content--header .ant-tabs .ant-tabs-tab.ant-tabs-tab-with-remove a{padding:0 10px 0 20px}.zmdms-container .zmdms-content--header .ant-tabs .ant-tabs-nav{margin-bottom:0}.zmdms-container .zmdms-content--content{height:calc(100vh - 48px);position:relative}.zmdms-container .zmdms-content--header-info{color:#000000a6;display:flex;height:48px;max-width:350px}.zmdms-container .zmdms-content--header-info .full-screen{cursor:pointer;text-align:center;width:36px}.zmdms-container .zmdms-content--header-info .user-operation{align-items:center;cursor:pointer;display:flex;padding:0 12px}.zmdms-container .zmdms-content--header-info .user-operation:hover{background-color:#f7f7f7}.zmdms-container .zmdms-content--header-info .user-operation>span:last-child{color:#000000a6;display:inline-block;margin-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:70px}.zmdms-menu{display:flex;flex-direction:column;height:100vh}.zmdms-menu .zmdms-logo{align-items:center;display:block;display:flex;height:48px;padding:9px 0 5px}.zmdms-menu .zmdms-logo.zmdms-logo--line{position:relative;z-index:1000}.zmdms-menu .zmdms-logo.zmdms-logo--line:after{background:#505cbe;content:"";height:29px;position:absolute;right:-.5px;width:1px}.zmdms-menu .zmdms-logo>img{display:block;margin:0 auto;width:78px}.zmdms-menu .zmdms-menu--search{background-color:#5b8af666;position:relative}.zmdms-menu .zmdms-menu--search>input{background-color:#5b8af666;border:none;color:#fff;font-size:13px;height:36px;line-height:36px}.zmdms-menu .zmdms-menu--search>input::placeholder{color:#fff;font-size:13px}.zmdms-menu .zmdms-menu--search .zmdms-menu--search__icon{align-items:center;color:#fff;cursor:pointer;display:flex;font-size:16px;height:30px;justify-content:center;position:absolute;right:0;top:3px;width:30px}.zmdms-menu .zmdms-menu--main{background:#0000;border-right:none;flex:1;overflow-x:hidden;overflow-y:auto}.zmdms-menu .zmdms-menu--main.zmdms-menu--main-hide-bg .ant-menu-item-selected{background:#1566d2!important}.zmdms-menu .zmdms-menu--main.zmdms-menu--main-item-line .ant-menu-item{height:auto!important;line-height:20px!important;min-height:36px}.zmdms-menu .zmdms-menu--main.zmdms-menu--main-item-line .ant-menu-item .ant-menu-title-content{word-wrap:break-word;display:inline-block;height:auto!important;text-overflow:unset!important;white-space:pre-wrap;width:100%}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu,.zmdms-menu .zmdms-menu--main>.ant-menu-submenu.ant-menu-submenu-open>.ant-menu-submenu-title{color:#fff}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu>.ant-menu-submenu-title{align-items:center;backdrop-filter:blur(4px);background-color:#5b76f5;background-color:#5b8af666;color:#ffffffa6;display:flex;font-size:13px;height:36px;line-height:36px;margin:0;padding:0}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow{color:#ffffffa6;right:6px}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-title-content{flex:none;width:88%}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu>.ant-menu-submenu-title:hover,.zmdms-menu .zmdms-menu--main>.ant-menu-submenu>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow{color:#fff}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub.ant-menu-inline{background:#0000}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item{align-items:center;color:#ffffffa6;display:flex;font-size:13px;height:36px;line-height:36px;margin:0}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item a{color:inherit}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item:active{background:#0000}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item:hover{color:#fff}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item:not(:last-child){margin-bottom:0}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item.ant-menu-item-selected{background:#5b76f5;color:#fff;width:100%}.zmdms-menu .zmdms-menu--main>.ant-menu-submenu .ant-menu-sub>.ant-menu-item.ant-menu-item-selected:after{border-right:none}.zmdms-menu .zmdms-menu--main::-webkit-scrollbar{height:4px;width:6px}.zmdms-menu .zmdms-menu--main::-webkit-scrollbar-track{background:#fff0;border-radius:4px}.zmdms-menu .zmdms-menu--main::-webkit-scrollbar-thumb{background:#5b76f6;border-radius:4px}.zmdms-menu .zmdms-menu--main::-webkit-scrollbar-thumb:hover{background:#5b76f6}.zmdms-menu .zmdms-menu--main>.ant-menu-item{align-items:center;color:#ffffffa6;display:flex;font-size:13px;height:36px;line-height:36px;margin:0}.zmdms-menu .zmdms-menu--main>.ant-menu-item a{color:inherit}.zmdms-menu .zmdms-menu--main>.ant-menu-item:active{background:#0000}.zmdms-menu .zmdms-menu--main>.ant-menu-item:hover{color:#fff}.zmdms-menu .zmdms-menu--main>.ant-menu-item:not(:last-child){margin-bottom:0}.zmdms-menu .zmdms-menu--main>.ant-menu-item.ant-menu-item-selected{background:#5b76f6;color:#fff;width:100%}.zmdms-menu .zmdms-menu--main>.ant-menu-item.ant-menu-item-selected:after{border-right:none}.zmdms-menu--sub{padding:0}.zmdms-menu--sub .ant-drawer-content{background:#0000;background-position:100%;background-repeat:no-repeat;background-size:cover;overflow:hidden}.zmdms-menu--sub .ant-drawer-content .ant-menu{background:#0000;color:#fff}.zmdms-menu--sub.ant-drawer-left>.ant-drawer-content-wrapper{left:-1px}.zmdms-menu--sub .ant-drawer-header{background:#0000;border-bottom:none;padding:0}.zmdms-menu--sub .ant-drawer-header .ant-drawer-header-title{align-items:center;color:#fff;display:flex;height:48px;justify-content:center}.zmdms-menu--sub .ant-drawer-header .ant-drawer-header-title .ant-drawer-title{align-items:center;color:#fff;display:flex;font-size:14px;justify-content:center}.zmdms-menu--sub .ant-drawer-header .ant-drawer-header-title .ant-drawer-title img{width:118px}.zmdms-menu--sub .ant-drawer-body{backdrop-filter:blur(2px);background:#5b76f566;font-size:13px;overflow-x:hidden;padding:0}.zmdms-menu--sub .ant-drawer-body::-webkit-scrollbar{height:4px;width:6px}.zmdms-menu--sub .ant-drawer-body::-webkit-scrollbar-track{background:#fff0;border-radius:4px}.zmdms-menu--sub .ant-drawer-body::-webkit-scrollbar-thumb{background:#5b76f6;border-radius:4px}.zmdms-menu--sub .ant-drawer-body::-webkit-scrollbar-thumb:hover{background:#5b76f6}.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu.ant-menu-submenu-inline{border-bottom:1px solid #8d9eff47;padding-bottom:0}.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline{background:#0000;padding:0 10px}.zmdms-menu--sub .ant-drawer-body .ant-menu-item,.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item{align-items:center;border-radius:4px;color:#fff;display:flex;font-size:13px;height:30px;line-height:30px;margin:0}.zmdms-menu--sub .ant-drawer-body .ant-menu-item:not(:last-child),.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item:not(:last-child){margin-bottom:0}.zmdms-menu--sub .ant-drawer-body .ant-menu-item a,.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item a{color:#fff}.zmdms-menu--sub .ant-drawer-body .ant-menu-item:active,.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item:active{background:#0000}.zmdms-menu--sub .ant-drawer-body .ant-menu-item:last-child,.zmdms-menu--sub .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item:last-child{margin-bottom:10px}.zmdms-menu--sub .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title,.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu-title{color:#fff;font-size:13px;font-weight:700;height:30px;line-height:30px}.zmdms-menu--sub .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow,.zmdms-menu--sub .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:hover,.zmdms-menu--sub .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow,.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu-title .ant-menu-submenu-arrow,.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu-title:hover,.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu-title:hover .ant-menu-submenu-arrow{color:#fff}.zmdms-menu--sub .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:active,.zmdms-menu--sub .ant-drawer-body .ant-menu-submenu-title:active{background:#0000}.zmdms-menu--sub .ant-drawer-body .ant-menu-root>.ant-menu-item-only-child{margin-top:2px}.zmdms-menu--sub .ant-drawer-body .ant-menu-root>.ant-menu-item-only-child .ant-menu-title-content{font-weight:700}.zmdms-menu--sub .ant-drawer-body .ant-menu-item-selected{background-color:#5b76f5!important;color:#fff}.zmdms-menu--sub .ant-drawer-body .ant-menu-item-selected:after{border-right:none}.zmdms-menu--sub .ant-drawer-footer{align-items:center;backdrop-filter:blur(2px);background:#5b76f566;border-top:1px solid #5670ea;display:flex;height:40px;justify-content:center;line-height:40px;padding:3px 10px}.zmdms-menu--sub .ant-drawer-footer .zt-btn-link{color:#fff}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-content,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-content .ant-menu{background:#fff}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-header{background:#fff;border-bottom:1px solid #ebf3fe}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body{backdrop-filter:none;background:#fff}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body::-webkit-scrollbar{height:4px;width:6px}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body::-webkit-scrollbar-track{background:#fff;border-radius:4px}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body::-webkit-scrollbar-thumb{background:#8695a1;border-radius:4px}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body::-webkit-scrollbar-thumb:hover{background:#727e88}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-item,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-item a,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item a{color:#000000d9}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-item a:hover,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-sub.ant-menu-inline>.ant-menu-item a:hover{color:#5b76f6}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-submenu-title{color:#000000a6;font-size:13px;font-weight:700;height:30px;line-height:30px}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-submenu-title .ant-menu-submenu-arrow{color:#000000d9}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:hover,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:hover .ant-menu-submenu-arrow,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-submenu-title:hover,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-submenu-title:hover .ant-menu-submenu-arrow{color:#5b76f6}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title:active,.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-submenu-title:active{background:#0000}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-body .ant-menu-item-selected{background-color:#e6f7ff!important;color:#4285f4!important}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-footer{backdrop-filter:none;background:none;border-top:1px solid #ebf3fe}.zmdms-menu--sub.zmdms-menu--sub-hide-bg .ant-drawer-footer .zt-btn-link{color:#4285f4!important}.zmdms-menu--sub.zmdms-menu--sub-item-line .ant-menu-item{height:auto!important;line-height:20px!important;min-height:30px}.zmdms-menu--sub.zmdms-menu--sub-item-line .ant-menu-item .ant-menu-title-content{word-wrap:break-word;display:inline-block;height:auto!important;text-overflow:unset!important;white-space:pre-wrap;width:100%}.logout-spin{background-color:#ffffffb3;bottom:0;left:0;padding-top:100px;position:fixed;right:0;top:0;z-index:1000}
@@ -201,7 +201,7 @@ var DynamicDrawer = function (props, ref) {
201
201
  }
202
202
  }
203
203
  }
204
- // 2. 构建互斥关系映射
204
+ // 2. 构建互斥关系映射(包括主元素和子元素)
205
205
  var exclusiveMap = {};
206
206
  tempDynamicList.forEach(function (item) {
207
207
  var key = item.key;
@@ -210,6 +210,17 @@ var DynamicDrawer = function (props, ref) {
210
210
  .map(function (k) { return k.trim(); })
211
211
  .filter(Boolean);
212
212
  exclusiveMap[key] = new Set(__spreadArray([key], exclusiveKeys, true));
213
+ // 添加子元素的互斥关系
214
+ if (item.children) {
215
+ item.children.forEach(function (child) {
216
+ var childKey = child.key;
217
+ var childExclusiveKeys = (child.dimensionExclusive || "")
218
+ .split(",")
219
+ .map(function (k) { return k.trim(); })
220
+ .filter(Boolean);
221
+ exclusiveMap[childKey] = new Set(__spreadArray([childKey], childExclusiveKeys, true));
222
+ });
223
+ }
213
224
  });
214
225
  // 3. 检查本次勾选是否有互斥
215
226
  var hasConflict = false;
@@ -229,9 +240,141 @@ var DynamicDrawer = function (props, ref) {
229
240
  myMessage.warning("所选项存在互斥关系,不能同时勾选!");
230
241
  return; // 拦截本次勾选
231
242
  }
232
- // 3. 正常更新,包括联动子元素
243
+ // 4. 处理依赖关系:自动勾选依赖项
244
+ var finalCheckedValues = __spreadArray([], checkedValues, true);
245
+ // 构建依赖关系映射(包括主元素和子元素)
246
+ var dependenciesMap = {};
247
+ tempDynamicList.forEach(function (item) {
248
+ if (item.dimensionDependencies) {
249
+ dependenciesMap[item.key] = item.dimensionDependencies;
250
+ }
251
+ // 添加子元素的依赖
252
+ if (item.children) {
253
+ item.children.forEach(function (child) {
254
+ if (child.dimensionDependencies) {
255
+ dependenciesMap[child.key] = child.dimensionDependencies;
256
+ }
257
+ });
258
+ }
259
+ });
260
+ // 如果本次是勾选操作(isChecked = true),检查并自动添加依赖项
261
+ if (isChecked && changedKey && dependenciesMap[changedKey]) {
262
+ var deps = dependenciesMap[changedKey];
263
+ var autoCheckKeys_1 = [];
264
+ var childrenCheckedKeys_1 = {}; // 记录需要勾选的子元素 { parentIndex: [childKeys] }
265
+ // 处理 required 依赖(必须全部选中)
266
+ if (deps.required && deps.required.length > 0) {
267
+ deps.required.forEach(function (depKey) {
268
+ // 检查依赖项是否在主列表中
269
+ var depInMain = tempDynamicList.find(function (d) { return d.key === depKey; });
270
+ if (depInMain && !finalCheckedValues.includes(depKey)) {
271
+ autoCheckKeys_1.push(depKey);
272
+ }
273
+ else if (!depInMain) {
274
+ // 依赖项可能在子元素中,查找并记录
275
+ tempDynamicList.forEach(function (item, pIndex) {
276
+ if (item.children) {
277
+ var child = item.children.find(function (c) { return c.key === depKey; });
278
+ if (child && !child.checked) {
279
+ if (!childrenCheckedKeys_1[pIndex]) {
280
+ childrenCheckedKeys_1[pIndex] = [];
281
+ }
282
+ childrenCheckedKeys_1[pIndex].push(depKey);
283
+ autoCheckKeys_1.push(depKey);
284
+ }
285
+ }
286
+ });
287
+ }
288
+ });
289
+ }
290
+ // 处理 anyOf 依赖(至少选中一个)
291
+ if (deps.anyOf && deps.anyOf.length > 0) {
292
+ // 检查 anyOf 中是否已经有被选中的(包括主列表和子元素)
293
+ var hasAnyOfSelected = deps.anyOf.some(function (depKey) {
294
+ var inMain = finalCheckedValues.includes(depKey);
295
+ if (inMain)
296
+ return true;
297
+ // 检查子元素
298
+ var foundInChild = false;
299
+ tempDynamicList.forEach(function (item) {
300
+ if (item.children) {
301
+ var child = item.children.find(function (c) { return c.key === depKey; });
302
+ if (child && child.checked) {
303
+ foundInChild = true;
304
+ }
305
+ }
306
+ });
307
+ return foundInChild;
308
+ });
309
+ // 如果没有任何一个被选中,自动选中第一个
310
+ if (!hasAnyOfSelected && deps.anyOf[0]) {
311
+ var depKey_1 = deps.anyOf[0];
312
+ var depInMain = tempDynamicList.find(function (d) { return d.key === depKey_1; });
313
+ if (depInMain && !finalCheckedValues.includes(depKey_1)) {
314
+ autoCheckKeys_1.push(depKey_1);
315
+ }
316
+ else {
317
+ // 查找子元素
318
+ tempDynamicList.forEach(function (item, pIndex) {
319
+ if (item.children) {
320
+ var child = item.children.find(function (c) { return c.key === depKey_1; });
321
+ if (child && !child.checked) {
322
+ if (!childrenCheckedKeys_1[pIndex]) {
323
+ childrenCheckedKeys_1[pIndex] = [];
324
+ }
325
+ childrenCheckedKeys_1[pIndex].push(depKey_1);
326
+ autoCheckKeys_1.push(depKey_1);
327
+ }
328
+ }
329
+ });
330
+ }
331
+ }
332
+ }
333
+ // 添加自动勾选的主元素
334
+ autoCheckKeys_1.forEach(function (key) {
335
+ if (!finalCheckedValues.includes(key)) {
336
+ finalCheckedValues.push(key);
337
+ }
338
+ });
339
+ // 提示用户
340
+ if (autoCheckKeys_1.length > 0) {
341
+ var depLabels = autoCheckKeys_1
342
+ .map(function (key) {
343
+ // 先在主列表中查找
344
+ var item = tempDynamicList.find(function (d) { return d.key === key; });
345
+ if (item)
346
+ return (item === null || item === void 0 ? void 0 : item.label) || key;
347
+ // 在子元素中查找
348
+ var label = key;
349
+ tempDynamicList.forEach(function (pItem) {
350
+ if (pItem.children) {
351
+ var child = pItem.children.find(function (c) { return c.key === key; });
352
+ if (child) {
353
+ label = child.label || key;
354
+ }
355
+ }
356
+ });
357
+ return label;
358
+ })
359
+ .join("、");
360
+ myMessage.success("\u5DF2\u81EA\u52A8\u52FE\u9009\u4F9D\u8D56\u9879\uFF1A".concat(depLabels));
361
+ }
362
+ // 6. 更新子元素的选中状态(针对依赖项)
363
+ if (Object.keys(childrenCheckedKeys_1).length > 0) {
364
+ tempDynamicList.forEach(function (item, pIndex) {
365
+ if (item.children && childrenCheckedKeys_1[pIndex]) {
366
+ item.children.forEach(function (child) {
367
+ if (childrenCheckedKeys_1[pIndex].includes(child.key)) {
368
+ child.checked = true;
369
+ }
370
+ });
371
+ }
372
+ });
373
+ }
374
+ }
375
+ // 5. 正常更新,包括联动子元素
233
376
  var newDynamicList = tempDynamicList.map(function (item) {
234
- var isItemChecked = checkedValues.includes(item.key);
377
+ var isItemChecked = finalCheckedValues.includes(item.key);
235
378
  var newItem = __assign(__assign({}, item), { checked: isItemChecked });
236
379
  // 如果当前变化的是这个主元素,并且它有子元素,联动子元素
237
380
  if (item.key === changedKey &&
@@ -254,19 +397,118 @@ var DynamicDrawer = function (props, ref) {
254
397
  var changeCList = ((_b = (_a = newDynamicList[pIndex].children) === null || _a === void 0 ? void 0 : _a.map) === null || _b === void 0 ? void 0 : _b.call(_a, function (item) { return (__assign({}, item)); })) ||
255
398
  [] ||
256
399
  [];
257
- // 更新子元素的选中状态
258
- changeCList.forEach(function (item) {
259
- if (!checkedValues.find(function (value) { return value === item.key; })) {
260
- item.checked = false;
400
+ // 1. 找出本次变化的子元素
401
+ var prevCheckedKeys = new Set(checkedValues.filter(function (key) {
402
+ var item = changeCList.find(function (d) { return d.key === key; });
403
+ return item && item.checked;
404
+ }));
405
+ var currentCheckedKeys = new Set(checkedValues);
406
+ var changedKey = null;
407
+ var isChecked = false;
408
+ for (var _i = 0, checkedValues_2 = checkedValues; _i < checkedValues_2.length; _i++) {
409
+ var key = checkedValues_2[_i];
410
+ if (!prevCheckedKeys.has(key)) {
411
+ changedKey = key;
412
+ isChecked = true;
413
+ break;
414
+ }
415
+ }
416
+ if (!changedKey) {
417
+ for (var _c = 0, changeCList_1 = changeCList; _c < changeCList_1.length; _c++) {
418
+ var item = changeCList_1[_c];
419
+ if (item.checked && !currentCheckedKeys.has(item.key)) {
420
+ changedKey = item.key;
421
+ isChecked = false;
422
+ break;
423
+ }
261
424
  }
262
- else {
263
- item.checked = true;
425
+ }
426
+ // 2. 构建完整的依赖关系映射(包括所有主元素和子元素)
427
+ var dependenciesMap = {};
428
+ // 添加主元素的依赖
429
+ tempDynamicList.forEach(function (item) {
430
+ if (item.dimensionDependencies) {
431
+ dependenciesMap[item.key] = item.dimensionDependencies;
264
432
  }
433
+ // 添加子元素的依赖
434
+ if (item.children) {
435
+ item.children.forEach(function (child) {
436
+ if (child.dimensionDependencies) {
437
+ dependenciesMap[child.key] = child.dimensionDependencies;
438
+ }
439
+ });
440
+ }
441
+ });
442
+ // 3. 如果本次是勾选操作,检查并自动添加依赖项
443
+ var finalCheckedValues = __spreadArray([], checkedValues, true);
444
+ if (isChecked && changedKey && dependenciesMap[changedKey]) {
445
+ var deps = dependenciesMap[changedKey];
446
+ var autoCheckKeys_2 = [];
447
+ // 处理 required 依赖(必须全部选中)
448
+ if (deps.required && deps.required.length > 0) {
449
+ deps.required.forEach(function (depKey) {
450
+ // 检查依赖项是否在当前子列表或主列表中
451
+ var depInChildren = changeCList.find(function (c) { return c.key === depKey; });
452
+ if (depInChildren && !finalCheckedValues.includes(depKey)) {
453
+ autoCheckKeys_2.push(depKey);
454
+ }
455
+ else if (!depInChildren) {
456
+ // 依赖项在主列表中,需要检查主列表
457
+ var depInMain = newDynamicList.find(function (d) { return d.key === depKey; });
458
+ if (depInMain && !depInMain.checked) {
459
+ depInMain.checked = true;
460
+ var depLabel = depInMain.label || depInMain.key;
461
+ myMessage.success("\u5DF2\u81EA\u52A8\u52FE\u9009\u4F9D\u8D56\u9879\uFF1A".concat(depLabel));
462
+ }
463
+ }
464
+ });
465
+ }
466
+ // 处理 anyOf 依赖(至少选中一个)
467
+ if (deps.anyOf && deps.anyOf.length > 0) {
468
+ var hasAnyOfSelected = deps.anyOf.some(function (depKey) {
469
+ var depInChildren = changeCList.find(function (c) { return c.key === depKey; });
470
+ var depInMain = newDynamicList.find(function (d) { return d.key === depKey; });
471
+ return ((depInChildren && finalCheckedValues.includes(depKey)) ||
472
+ (depInMain && depInMain.checked));
473
+ });
474
+ if (!hasAnyOfSelected && deps.anyOf[0]) {
475
+ var depKey_2 = deps.anyOf[0];
476
+ var depInChildren = changeCList.find(function (c) { return c.key === depKey_2; });
477
+ if (depInChildren && !finalCheckedValues.includes(depKey_2)) {
478
+ autoCheckKeys_2.push(depKey_2);
479
+ }
480
+ else {
481
+ var depInMain = newDynamicList.find(function (d) { return d.key === depKey_2; });
482
+ if (depInMain && !depInMain.checked) {
483
+ depInMain.checked = true;
484
+ var depLabel = depInMain.label || depInMain.key;
485
+ myMessage.success("\u5DF2\u81EA\u52A8\u52FE\u9009\u4F9D\u8D56\u9879\uFF1A".concat(depLabel));
486
+ }
487
+ }
488
+ }
489
+ }
490
+ // 添加自动勾选的子项
491
+ if (autoCheckKeys_2.length > 0) {
492
+ autoCheckKeys_2.forEach(function (key) {
493
+ if (!finalCheckedValues.includes(key)) {
494
+ finalCheckedValues.push(key);
495
+ }
496
+ });
497
+ var depLabels = autoCheckKeys_2
498
+ .map(function (key) {
499
+ var item = changeCList.find(function (c) { return c.key === key; });
500
+ return (item === null || item === void 0 ? void 0 : item.label) || key;
501
+ })
502
+ .join("、");
503
+ myMessage.success("\u5DF2\u81EA\u52A8\u52FE\u9009\u4F9D\u8D56\u9879\uFF1A".concat(depLabels));
504
+ }
505
+ }
506
+ // 4. 更新子元素的选中状态
507
+ changeCList.forEach(function (item) {
508
+ item.checked = finalCheckedValues.includes(item.key);
265
509
  });
266
510
  newDynamicList[pIndex].children = changeCList;
267
- // 联动父元素
268
- // const allChildrenChecked =
269
- // changeCList.length > 0 && changeCList.every((child) => child.checked);
511
+ // 5. 联动父元素
270
512
  var someChildrenChecked = changeCList.some(function (child) { return child.checked; });
271
513
  if (someChildrenChecked) {
272
514
  // 只要有子元素选中,父元素就应该是 checked = true
@@ -13,6 +13,13 @@ interface IDynamicItem {
13
13
  /** 维度优先级分组,同组内遵循 dimensionPriority,跨组不比较 */
14
14
  dimensionGroup?: string;
15
15
  dimensionExclusive?: string;
16
+ /** 维度依赖关系配置 */
17
+ dimensionDependencies?: {
18
+ /** AND关系:必须全部依赖这些字段 */
19
+ required?: string[];
20
+ /** OR关系:至少依赖其中一个 */
21
+ anyOf?: string[];
22
+ };
16
23
  isDimensionSum?: boolean;
17
24
  [props: string]: any;
18
25
  }
@@ -210,6 +210,15 @@ interface IColumnType<RecordType> extends Omit<ColumnType<RecordType>, "render">
210
210
  * 自定义维度互斥的字段,多个需要逗号分隔,比如:name,age
211
211
  */
212
212
  dimensionExclusive?: string;
213
+ /**
214
+ * 维度依赖关系配置
215
+ */
216
+ dimensionDependencies?: {
217
+ /** AND关系:必须全部依赖这些字段 */
218
+ required?: string[];
219
+ /** OR关系:至少依赖其中一个 */
220
+ anyOf?: string[];
221
+ };
213
222
  /**
214
223
  * 维度是否开启合计
215
224
  */
@@ -6,7 +6,7 @@ import { useMemoizedFn } from 'ahooks';
6
6
 
7
7
  // 处理列信息
8
8
  function parseColumn(column, index, indexs) {
9
- var _a = column, key = _a.key, dataIndex = _a.dataIndex, title = _a.title, dynamicTitle = _a.dynamicTitle, dynamicDisabled = _a.dynamicDisabled, defaultUnChecked = _a.defaultUnChecked, width = _a.width, fixed = _a.fixed, isDimension = _a.isDimension, dimensionPriority = _a.dimensionPriority, dimensionGroup = _a.dimensionGroup, dimensionExclusive = _a.dimensionExclusive, isDimensionSum = _a.isDimensionSum;
9
+ var _a = column, key = _a.key, dataIndex = _a.dataIndex, title = _a.title, dynamicTitle = _a.dynamicTitle, dynamicDisabled = _a.dynamicDisabled, defaultUnChecked = _a.defaultUnChecked, width = _a.width, fixed = _a.fixed, isDimension = _a.isDimension, dimensionPriority = _a.dimensionPriority, dimensionGroup = _a.dimensionGroup, dimensionExclusive = _a.dimensionExclusive, dimensionDependencies = _a.dimensionDependencies, isDimensionSum = _a.isDimensionSum;
10
10
  // 动态列配置 title必须为一个字符串
11
11
  if (title && !dynamicTitle && typeof title !== "string") {
12
12
  console.error("\u4F60\u4F20\u5165\u7684title\u4E0D\u662F\u4E00\u4E2A\u5B57\u7B26\u4E32,\u5E76\u4E14\u4F60\u6CA1\u6709\u4F20\u5165dynamicTitle\u7684\u914D\u7F6E\u3002\n \u95EE\u9898\u53EF\u80FD\u51FA\u73B0\u518D:".concat(key || dataIndex, " \u5217\u3002\u8BF7\u4F20\u5165\u4E00\u4E2AdynamicTitle \u4F5C\u4E3A\u52A8\u6001\u5217\u914D\u7F6E\u7684title\u503C"));
@@ -33,6 +33,7 @@ function parseColumn(column, index, indexs) {
33
33
  dimensionPriority: dimensionPriority,
34
34
  dimensionGroup: dimensionGroup,
35
35
  dimensionExclusive: dimensionExclusive,
36
+ dimensionDependencies: dimensionDependencies,
36
37
  isDimensionSum: isDimensionSum,
37
38
  };
38
39
  column.key = myKey;