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.
- package/dist/es/applayout/index.css +1 -1
- package/dist/es/dynamicsetting/dynamicDrawer.js +254 -12
- package/dist/es/dynamicsetting/interface.d.ts +7 -0
- package/dist/es/table/interface.d.ts +9 -0
- package/dist/es/table/useDynamicListByColumns.js +2 -1
- package/dist/index.dark.css +2 -2
- package/dist/index.default.css +2 -2
- package/package.json +7 -3
|
@@ -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
|
-
//
|
|
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 =
|
|
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
|
-
|
|
259
|
-
|
|
260
|
-
|
|
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
|
-
|
|
263
|
-
|
|
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;
|