br-dionysus 1.0.17 → 1.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +99 -55
- package/attributes.json +1 -1
- package/dist/br-dionysus.es.js +3168 -3176
- package/dist/br-dionysus.umd.js +8 -8
- package/dist/index.css +1 -1
- package/dist/packages/MSelectTable/src/MSelectTable.vue.d.ts +16 -11
- package/package.json +1 -1
- package/packages/Hook/useTableConfig/useTableConfig.ts +1 -1
- package/packages/MSelectTable/docs/README.md +51 -49
- package/packages/MSelectTable/docs/demo.vue +48 -6
- package/packages/MSelectTable/src/MSelectTable.vue +43 -22
- package/packages/TabPage/src/TabPage.vue +0 -1
- package/web-types.json +1 -1
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";[data-v-a6e74708]:root{--br-dionysus-primary-color: #646CFFFF;--br-dionysus-primary-bg-color: #979fff}.u-icon-box[data-v-a6e74708]{display:none}.g-box[data-v-a6e74708]{position:relative;overflow:hidden;padding-left:16px;padding-right:16px;width:100%;background-color:#fff;box-sizing:border-box}.g-box .u-page-btn[data-v-a6e74708]{position:absolute;bottom:0;height:33px;border:0;box-sizing:border-box;background-color:#fff;opacity:.6;cursor:pointer}.g-box .s-previous-btn[data-v-a6e74708]{left:0}.g-box .s-next-btn[data-v-a6e74708]{right:0;transform:rotate(180deg)}.g-dionysus-box[data-v-a6e74708]{overflow:hidden;width:100%}.g-tab-page-box[data-v-a6e74708]{display:flex;color:#4a4a4a;white-space:nowrap;box-sizing:border-box;box-shadow:2px 0 8px #1d23290d;transform:translate(0);transition:.2s}.g-tab-page-box .u-li[data-v-a6e74708]{display:inline-block;position:relative;height:33px;font-size:14px;box-sizing:border-box;cursor:pointer}.g-tab-page-box .u-li .u-gp[data-v-a6e74708]{display:flex;position:relative;z-index:1;padding:6px 8px;height:100%;align-items:center;background-color:#fff;border-radius:6px 6px 0 0;box-sizing:border-box}.g-tab-page-box .u-li .u-gp[data-v-a6e74708]:after{position:absolute;bottom:0;right:0;z-index:1;content:"";width:12px;height:12px;border-radius:6px 6px 0;pointer-events:none}.g-tab-page-box .u-li .u-gp[data-v-a6e74708]:before{position:absolute;bottom:0;left:0;z-index:1;content:"";width:12px;height:12px;border-radius:6px 6px 6px 0;pointer-events:none}.g-tab-page-box .u-li[data-v-a6e74708]:after{position:absolute;bottom:0;right:0;z-index:2;content:"";width:12px;height:12px;border-radius:6px;pointer-events:none}.g-tab-page-box .u-li[data-v-a6e74708]:before{position:absolute;bottom:0;left:0;z-index:2;content:"";width:12px;height:12px;border-radius:6px;pointer-events:none}.g-tab-page-box .u-li[data-hover=true] .u-gp[data-v-a6e74708],.g-tab-page-box .u-li[data-hover=true] .u-gp[data-v-a6e74708]:after,.g-tab-page-box .u-li[data-hover=true] .u-gp[data-v-a6e74708]:before,.g-tab-page-box .u-li[data-hover=true][data-active=false][data-v-a6e74708]:after,.g-tab-page-box .u-li[data-hover=true][data-active=false][data-v-a6e74708]:before{background-color:#dfe1e5}.g-tab-page-box .u-li[data-hover-before=true] .u-gp[data-v-a6e74708]:after{background-color:#dfe1e5}.g-tab-page-box .u-li[data-hover-before=true][data-v-a6e74708]:after{background-color:#fff}.g-tab-page-box .u-li[data-hover-after=true] .u-gp[data-v-a6e74708]:before{background-color:#dfe1e5}.g-tab-page-box .u-li[data-hover-after=true][data-v-a6e74708]:before{background-color:#fff}.g-tab-page-box .u-li[data-active-before=true] .u-gp[data-v-a6e74708]:after{background-color:var(--br-dionysus-primary-bg-color)}.g-tab-page-box .u-li[data-active-before=true][data-v-a6e74708]:after{background-color:#fff}.g-tab-page-box .u-li[data-active-after=true] .u-gp[data-v-a6e74708]:before{background-color:var(--br-dionysus-primary-bg-color)}.g-tab-page-box .u-li[data-active-after=true][data-v-a6e74708]:before{background-color:#fff}.g-tab-page-box .u-li[data-active=true][data-v-a6e74708]{color:var(--br-dionysus-primary-color)}.g-tab-page-box .u-li[data-active=true] .u-gp[data-v-a6e74708],.g-tab-page-box .u-li[data-active=true] .u-gp[data-v-a6e74708]:before,.g-tab-page-box .u-li[data-active=true] .u-gp[data-v-a6e74708]:after,.g-tab-page-box .u-li[data-active=true][data-v-a6e74708]:after,.g-tab-page-box .u-li[data-active=true][data-v-a6e74708]:before{background-color:var(--br-dionysus-primary-bg-color)}.g-tab-page-box .u-li .u-icon[data-v-a6e74708]{margin-right:8px;pointer-events:none}.g-tab-page-box .u-li .u-sn[data-v-a6e74708]{pointer-events:none}.g-tab-page-box .u-li .u-btn[data-v-a6e74708]{position:relative;//margin-left: 14px;margin-left:4px;width:14px;height:14px;font-size:14px;border-radius:50%}.g-tab-page-box .u-li .u-btn[data-v-a6e74708]:after{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;content:"";border-radius:50%}.g-tab-page-box .u-li .u-btn[data-v-a6e74708]:hover{color:#fff;background-color:#9ca3af}.g-tab-page-box .u-li[data-active=true] .u-btn[data-v-a6e74708]:hover{color:#fff;background-color:var(--br-dionysus-primary-color)}.g-tab-page-box .s-icon[data-v-a6e74708]{display:block;position:relative;width:14px;height:14px}.g-tab-page-box .s-icon[data-v-a6e74708]:after{position:absolute;top:50%;left:50%;content:"";width:1px;height:10px;background-color:#303133;transform:translate(-50%,-50%) rotate(45deg)}.g-tab-page-box .s-icon[data-v-a6e74708]:before{position:absolute;top:50%;left:50%;content:"";width:1px;height:10px;background-color:#303133;transform:translate(-50%,-50%) rotate(-45deg)}.g-tab-page-box .u-li[data-active=true] .s-icon[data-v-a6e74708]:after,.g-tab-page-box .u-li[data-active=true] .s-icon[data-v-a6e74708]:before{background-color:var(--br-dionysus-primary-color)}.g-tab-page-box .u-li .u-btn:hover .s-icon[data-v-a6e74708]:after,.g-tab-page-box .u-li .u-btn:hover .s-icon[data-v-a6e74708]:before{background-color:#fff}.g-tab-page-box .u-li[data-active=true] .u-btn:hover .s-icon[data-v-a6e74708]:after,.g-tab-page-box .u-li[data-active=true] .u-btn:hover .s-icon[data-v-a6e74708]:before{background-color:#fff}.g-tab-page-box .u-li[data-active=false][data-hover=false][data-active-before=false][data-hover-before=false] .u-sn[data-v-a6e74708]:after{position:absolute;top:50%;right:0;z-index:2;content:"";width:1px;height:50%;transform:translateY(-50%);background-color:#4a4a4a}.g-tab-page-box .u-li:nth-last-of-type(1)[data-active=false][data-hover=false] .u-sn[data-v-a6e74708]:after{background-color:#0000!important}.g-m-input-number-box[data-v-92e141ac]{position:relative;width:100%}.g-m-input-number-box .m-input-number[data-v-92e141ac]{width:100%}.g-m-input-number-box .u-text[data-thousandth-place=true][data-v-92e141ac]{display:inline-block;position:absolute;top:0;left:0;margin-bottom:0;padding-left:15px;padding-right:15px;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-feature-settings:normal;font-stretch:100%;font-weight:400;text-indent:0;color:#606266;text-align:left;letter-spacing:normal;word-spacing:0;background-color:#0000;border-radius:4px;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:text;pointer-events:none}.g-m-input-number-box .u-text[data-thousandth-place=true][data-v-92e141ac]:hover{border-color:#c0c4cc}.g-m-input-number-box .u-text[data-thousandth-place=true][data-size=mini][data-v-92e141ac]{font-size:12px;height:28px;line-height:28px}.g-m-input-number-box .u-text[data-thousandth-place=true][data-disabled=true][data-v-92e141ac]{color:#00000040}.g-m-input-number-box .u-text[data-thousandth-place=true][data-focus=true][data-v-92e141ac]{color:#0000}.g-m-input-number-box[data-is-table-mini=true] .u-text[data-size=mini][data-v-92e141ac]{height:24px;font-size:14px;line-height:24px}.g-m-input-number-box[data-no-spacing] .u-text[data-v-92e141ac]{padding-left:0}.g-m-input-number-box .m-input-number .el-input__inner{text-align:left}.g-m-input-number-box .m-input-number[data-thousandth-place=true] .el-input__inner{color:#0000}.g-m-input-number-box .m-input-number[data-focus=true] .el-input__inner{color:#606266}.g-m-input-number-box .m-input-number[no-border=true] .el-input__inner{border:0}.g-m-input-number-box[data-is-table-mini=true] .m-input-number .el-input__inner{height:24px;font-size:14px;line-height:24px}.g-m-input-number-box[data-no-spacing=true] .m-input-number .el-input__inner{padding-left:0}.g-inline-box[data-v-fbfdbd5f]{margin-bottom:14px;padding-top:10px;border:1px solid var(--el-border-color-lighter);border-radius:4px}.m-inline-btn[data-v-fbfdbd5f]{padding:0 14px 10px}.m-inline[data-v-fbfdbd5f]{display:flex;position:relative;width:100%}.m-inline-btn+.m-inline[data-show-inline-btn=true][data-v-fbfdbd5f]{padding-top:10px}.m-inline-btn+.m-inline[data-show-inline-btn=true][data-v-fbfdbd5f]:before{position:absolute;top:0;left:50%;content:"";width:calc(100% - 28px);height:1px;background-color:var(--el-border-color-lighter);transform:translate(-50%)}.u-btn-gp[data-v-fbfdbd5f]{display:flex;padding-bottom:10px;padding-left:14px;padding-right:14px;align-items:center;box-sizing:border-box}.u-row[data-v-fbfdbd5f]{display:flex;overflow:hidden;max-height:34px;flex:1}.u-row[data-unfold=true][data-v-fbfdbd5f]{max-height:none!important}.u-btn-unfold[data-v-fbfdbd5f]{margin-left:8px;width:12px;height:24px;line-height:24px;text-align:center;color:var(--el-text-color-regular);transform:rotate(90deg);cursor:pointer}.u-btn-unfold[data-unfold=true][data-v-fbfdbd5f]{transform:rotate(270deg)}.g-inline-box .m-inline[dataCover] [data-box]{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--m-inline-min-width),1fr))}.g-inline-box .m-inline[dataCover] [data-box] [data-item]{padding-bottom:10px;min-width:var(--m-inline-min-width);max-width:var(--m-inline-max-width)}.g-inline-box .m-inline[dataCover] .el-form-item{margin-bottom:0;width:100%}.g-inline-box .m-inline[dataCover] .el-form-item .el-input,.g-inline-box .m-inline[dataCover] .el-form-item .el-cascader,.g-inline-box .m-inline[dataCover] .el-form{width:100%}.g-inline-box .m-inline[dataCover] .el-form .u-it-gp{display:flex}.g-inline-box .m-inline[dataCover] .u-row[data-single-line=true] .el-form{display:flex;justify-content:flex-start}.g-skin-config-box[data-v-56c57a90]{display:flex}.g-skin-config-box .u-tt[data-v-56c57a90]{padding:0 24px;line-height:50px;box-shadow:0 1px 2px #00152914}.g-skin-config-box .u-box[data-v-56c57a90]{display:flex;padding:20px 24px;height:calc(100% - 50px);flex-direction:column}.g-skin-config-box .u-box .u-box-tt[data-v-56c57a90]{margin:34px 0}.g-skin-config-box .u-box .u-group[data-v-56c57a90]{display:flex;margin-bottom:12px;justify-content:space-between;align-items:center;color:var(--m-fc-body)}.g-skin-config-box .u-box .u-gulp[data-v-56c57a90]{display:flex;margin:0 -10px;flex-direction:column;flex-wrap:wrap;flex:1}.g-skin-config-box .u-box .u-list[data-v-56c57a90]{display:flex;flex-wrap:wrap}.g-skin-config-box .u-box .u-list .u-li[data-v-56c57a90]{display:flex;margin-bottom:10px;width:12.5%;justify-content:center}.g-skin-config-box .u-box .u-list .u-li .u-color[data-v-56c57a90]{display:flex;width:20px;height:20px;color:#fff;align-items:center;justify-content:center;cursor:pointer}.g-skin-config-box .u-pc[data-v-56c57a90]{display:flex;margin-top:10px;width:100%;flex:1;justify-content:center}.u-btn[data-v-56c57a90]{display:flex;font-size:18px;color:var(--el-color-primary);cursor:pointer}.u-btn svg path[data-v-56c57a90]{stroke:var(--el-color-primary);fill:var(--el-color-primary)}.u-slt[data-v-56c57a90]{width:100px}.u-it[data-v-56c57a90]{width:106px}.g-skin-config-box .el-drawer__body{padding:0}.g-skin-config-box .el-switch{height:auto}.g-skin-config-box .u-pc{display:flex;justify-content:center}.g-skin-config-box .u-pc .el-color-picker{width:100%}.g-skin-config-box .u-pc .el-color-picker .el-color-picker__trigger{width:100%;height:34px}.g-skin-config-box .u-tabs .el-tabs__item{padding:0 10px}.el-table__empty-text img[data-v-3add7d19]{width:15%}.u-icon[data-v-427c315c]{display:inline-block;position:relative;width:14px;height:14px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAMdJREFUOE/tkyESwjAQRfMj0Xgkp2AmaQweHCeAS1AuASfAgce0yQynQOLRyHyazpRpoW2YAcnKbP7L7t8sxJeBoM+yLK04Ukp678vzWBhj0iegEK5jgnq+eGTzO4C1dkhyDGAvhBhFKrmSXAC4aK1vjV6dcxPv/QnAoA1C8i6lnCqlzlX+zaw8z2cADh2AeZIkx3qu1W3n3JLktnERWCmldq/gznFZa8NUyvFWjrdV9QcIEfWgz8BgaicgLFj467H9+Gjr+iAPDfV1EeVT6aEAAAAASUVORK5CYII=);background-size:100% 100%;transform:translateY(2px);cursor:pointer}.u-filter-group[data-v-427c315c]{display:inline-block;position:relative}.m-filter-box[data-is-open=true]{opacity:1;pointer-events:auto}.m-filter-box[data-is-open=false]{opacity:0;pointer-events:none}.m-filter-box .u-filter-mask{position:fixed;top:0;left:0;z-index:2050;width:100%;height:100%}.m-filter-box .u-it-gp{padding:10px;border-bottom:1px solid var(--el-border-color-lighter)}.m-filter-box .u-list-box{overflow:hidden;position:fixed;top:0;left:0;z-index:2050;max-width:50%;background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);border-radius:var(--el-popper-border-radius, 4px);box-shadow:var(--el-box-shadow-light)}.m-filter-box .u-list-box .u-checkbox-group{overflow-y:auto;display:block;padding:10px;max-height:280px}.m-filter-box .u-list-box label.el-checkbox{display:flex;align-items:center;margin-right:5px;margin-bottom:12px;margin-left:5px;height:unset}.m-filter-box .u-list-box label.el-checkbox:last-child{margin-bottom:0}.m-filter-box .u-list-box .u-btn-gp{border-top:1px solid var(--el-border-color-lighter);padding:8px}.m-filter-box .u-list-box button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.m-filter-box .u-list-box button{background:0 0;border:none;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-small);padding:0 3px}.vab[data-v-f5392071]{vertical-align:baseline}.g-m-table-column-set-box[data-v-f5392071]{display:flex;position:relative}.g-m-table-column-set-box[data-fold=true][data-v-f5392071]{overflow:hidden;width:10px;transition:width .3s}.g-m-table-column-set-box[data-fold=true][data-v-f5392071]:hover{width:36px}.g-m-table-column-set-box[data-visible=true][data-v-f5392071]{overflow:visible;width:auto!important}.m-panel-box[data-v-f5392071]{display:none;overflow-y:auto;padding:6px 4px;position:absolute;top:30px;right:0;z-index:7;min-width:214px;max-height:300px;background-color:#fff;border-radius:8px;border:1px solid var(--el-border-color-lighter);box-shadow:2px 0 8px #1d23290d;box-sizing:border-box}.m-panel-box[data-active=true][data-v-f5392071]{display:block}.m-panel-box .u-list .u-li[data-v-f5392071]{display:flex;align-items:center;padding:4px}.m-panel-box .u-list .u-li .u-icon[data-v-f5392071]{margin-right:8px;font-size:12px;color:var(--el-color-primary);cursor:move}.m-panel-box .u-tt[data-v-f5392071],.m-panel-box .u-tc[data-v-f5392071]{display:flex;padding-top:10px}.m-panel-box .u-tt .u-p[data-v-f5392071],.m-panel-box .u-tc .u-p[data-v-f5392071]{display:block;padding-left:4px;width:50px;align-self:auto;white-space:nowrap;line-height:24px;font-weight:700}.m-panel-box .u-tc[data-v-f5392071]{padding-top:0}.m-panel-box .u-tc .u-p[data-v-f5392071]{line-height:40px}.m-panel-box .u-divider[data-v-f5392071]{margin-top:10px;margin-bottom:0}.m-masked[data-v-f5392071],.g-m-table-column-set-teleport[data-v-f5392071]{position:fixed;top:0;left:0;z-index:6;width:100%;height:100%}.u-group[data-v-88e3837e]{display:flex;align-items:center}.u-group .u-checkbox[data-v-88e3837e]{padding-right:4px;pointer-events:none;margin-right:0}.u-checkbox[data-v-ce4ca417]{height:var(--el-checkbox-height, 20px)}.g-select-table-box{width:100%}.u-img{width:80px}.m-select-table .el-table{--el-table-header-bg-color: var(--m-list-el-table-header-bg-color, #f5f5f5)}.m-select-table .el-select-dropdown__empty{padding:0}.m-select-table .el-select-dropdown__empty .btn-box{text-align:right;padding-bottom:6px}.m-select-table .m-table-select{padding:6px;overflow-y:auto}.m-select-table .m-page{padding:4px}
|
|
1
|
+
@charset "UTF-8";[data-v-aa54745e]:root{--br-dionysus-primary-color: #646CFFFF;--br-dionysus-primary-bg-color: #979fff}.u-icon-box[data-v-aa54745e]{display:none}.g-box[data-v-aa54745e]{position:relative;overflow:hidden;padding-left:16px;padding-right:16px;width:100%;background-color:#fff;box-sizing:border-box}.g-box .u-page-btn[data-v-aa54745e]{position:absolute;bottom:0;height:33px;border:0;box-sizing:border-box;background-color:#fff;opacity:.6;cursor:pointer}.g-box .s-previous-btn[data-v-aa54745e]{left:0}.g-box .s-next-btn[data-v-aa54745e]{right:0;transform:rotate(180deg)}.g-dionysus-box[data-v-aa54745e]{overflow:hidden;width:100%}.g-tab-page-box[data-v-aa54745e]{display:flex;color:#4a4a4a;white-space:nowrap;box-sizing:border-box;box-shadow:2px 0 8px #1d23290d;transform:translate(0);transition:.2s}.g-tab-page-box .u-li[data-v-aa54745e]{display:inline-block;position:relative;height:33px;font-size:14px;box-sizing:border-box;cursor:pointer}.g-tab-page-box .u-li .u-gp[data-v-aa54745e]{display:flex;position:relative;z-index:1;padding:6px 8px;height:100%;align-items:center;background-color:#fff;border-radius:6px 6px 0 0;box-sizing:border-box}.g-tab-page-box .u-li .u-gp[data-v-aa54745e]:after{position:absolute;bottom:0;right:0;z-index:1;content:"";width:12px;height:12px;border-radius:6px 6px 0;pointer-events:none}.g-tab-page-box .u-li .u-gp[data-v-aa54745e]:before{position:absolute;bottom:0;left:0;z-index:1;content:"";width:12px;height:12px;border-radius:6px 6px 6px 0;pointer-events:none}.g-tab-page-box .u-li[data-v-aa54745e]:after{position:absolute;bottom:0;right:0;z-index:2;content:"";width:12px;height:12px;border-radius:6px;pointer-events:none}.g-tab-page-box .u-li[data-v-aa54745e]:before{position:absolute;bottom:0;left:0;z-index:2;content:"";width:12px;height:12px;border-radius:6px;pointer-events:none}.g-tab-page-box .u-li[data-hover=true] .u-gp[data-v-aa54745e],.g-tab-page-box .u-li[data-hover=true] .u-gp[data-v-aa54745e]:after,.g-tab-page-box .u-li[data-hover=true] .u-gp[data-v-aa54745e]:before,.g-tab-page-box .u-li[data-hover=true][data-active=false][data-v-aa54745e]:after,.g-tab-page-box .u-li[data-hover=true][data-active=false][data-v-aa54745e]:before{background-color:#dfe1e5}.g-tab-page-box .u-li[data-hover-before=true] .u-gp[data-v-aa54745e]:after{background-color:#dfe1e5}.g-tab-page-box .u-li[data-hover-before=true][data-v-aa54745e]:after{background-color:#fff}.g-tab-page-box .u-li[data-hover-after=true] .u-gp[data-v-aa54745e]:before{background-color:#dfe1e5}.g-tab-page-box .u-li[data-hover-after=true][data-v-aa54745e]:before{background-color:#fff}.g-tab-page-box .u-li[data-active-before=true] .u-gp[data-v-aa54745e]:after{background-color:var(--br-dionysus-primary-bg-color)}.g-tab-page-box .u-li[data-active-before=true][data-v-aa54745e]:after{background-color:#fff}.g-tab-page-box .u-li[data-active-after=true] .u-gp[data-v-aa54745e]:before{background-color:var(--br-dionysus-primary-bg-color)}.g-tab-page-box .u-li[data-active-after=true][data-v-aa54745e]:before{background-color:#fff}.g-tab-page-box .u-li[data-active=true][data-v-aa54745e]{color:var(--br-dionysus-primary-color)}.g-tab-page-box .u-li[data-active=true] .u-gp[data-v-aa54745e],.g-tab-page-box .u-li[data-active=true] .u-gp[data-v-aa54745e]:before,.g-tab-page-box .u-li[data-active=true] .u-gp[data-v-aa54745e]:after,.g-tab-page-box .u-li[data-active=true][data-v-aa54745e]:after,.g-tab-page-box .u-li[data-active=true][data-v-aa54745e]:before{background-color:var(--br-dionysus-primary-bg-color)}.g-tab-page-box .u-li .u-icon[data-v-aa54745e]{margin-right:8px;pointer-events:none}.g-tab-page-box .u-li .u-sn[data-v-aa54745e]{pointer-events:none}.g-tab-page-box .u-li .u-btn[data-v-aa54745e]{position:relative;margin-left:4px;width:14px;height:14px;font-size:14px;border-radius:50%}.g-tab-page-box .u-li .u-btn[data-v-aa54745e]:after{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;content:"";border-radius:50%}.g-tab-page-box .u-li .u-btn[data-v-aa54745e]:hover{color:#fff;background-color:#9ca3af}.g-tab-page-box .u-li[data-active=true] .u-btn[data-v-aa54745e]:hover{color:#fff;background-color:var(--br-dionysus-primary-color)}.g-tab-page-box .s-icon[data-v-aa54745e]{display:block;position:relative;width:14px;height:14px}.g-tab-page-box .s-icon[data-v-aa54745e]:after{position:absolute;top:50%;left:50%;content:"";width:1px;height:10px;background-color:#303133;transform:translate(-50%,-50%) rotate(45deg)}.g-tab-page-box .s-icon[data-v-aa54745e]:before{position:absolute;top:50%;left:50%;content:"";width:1px;height:10px;background-color:#303133;transform:translate(-50%,-50%) rotate(-45deg)}.g-tab-page-box .u-li[data-active=true] .s-icon[data-v-aa54745e]:after,.g-tab-page-box .u-li[data-active=true] .s-icon[data-v-aa54745e]:before{background-color:var(--br-dionysus-primary-color)}.g-tab-page-box .u-li .u-btn:hover .s-icon[data-v-aa54745e]:after,.g-tab-page-box .u-li .u-btn:hover .s-icon[data-v-aa54745e]:before{background-color:#fff}.g-tab-page-box .u-li[data-active=true] .u-btn:hover .s-icon[data-v-aa54745e]:after,.g-tab-page-box .u-li[data-active=true] .u-btn:hover .s-icon[data-v-aa54745e]:before{background-color:#fff}.g-tab-page-box .u-li[data-active=false][data-hover=false][data-active-before=false][data-hover-before=false] .u-sn[data-v-aa54745e]:after{position:absolute;top:50%;right:0;z-index:2;content:"";width:1px;height:50%;transform:translateY(-50%);background-color:#4a4a4a}.g-tab-page-box .u-li:nth-last-of-type(1)[data-active=false][data-hover=false] .u-sn[data-v-aa54745e]:after{background-color:#0000!important}.g-m-input-number-box[data-v-92e141ac]{position:relative;width:100%}.g-m-input-number-box .m-input-number[data-v-92e141ac]{width:100%}.g-m-input-number-box .u-text[data-thousandth-place=true][data-v-92e141ac]{display:inline-block;position:absolute;top:0;left:0;margin-bottom:0;padding-left:15px;padding-right:15px;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-feature-settings:normal;font-stretch:100%;font-weight:400;text-indent:0;color:#606266;text-align:left;letter-spacing:normal;word-spacing:0;background-color:#0000;border-radius:4px;border:1px solid rgba(0,0,0,0);box-sizing:border-box;cursor:text;pointer-events:none}.g-m-input-number-box .u-text[data-thousandth-place=true][data-v-92e141ac]:hover{border-color:#c0c4cc}.g-m-input-number-box .u-text[data-thousandth-place=true][data-size=mini][data-v-92e141ac]{font-size:12px;height:28px;line-height:28px}.g-m-input-number-box .u-text[data-thousandth-place=true][data-disabled=true][data-v-92e141ac]{color:#00000040}.g-m-input-number-box .u-text[data-thousandth-place=true][data-focus=true][data-v-92e141ac]{color:#0000}.g-m-input-number-box[data-is-table-mini=true] .u-text[data-size=mini][data-v-92e141ac]{height:24px;font-size:14px;line-height:24px}.g-m-input-number-box[data-no-spacing] .u-text[data-v-92e141ac]{padding-left:0}.g-m-input-number-box .m-input-number .el-input__inner{text-align:left}.g-m-input-number-box .m-input-number[data-thousandth-place=true] .el-input__inner{color:#0000}.g-m-input-number-box .m-input-number[data-focus=true] .el-input__inner{color:#606266}.g-m-input-number-box .m-input-number[no-border=true] .el-input__inner{border:0}.g-m-input-number-box[data-is-table-mini=true] .m-input-number .el-input__inner{height:24px;font-size:14px;line-height:24px}.g-m-input-number-box[data-no-spacing=true] .m-input-number .el-input__inner{padding-left:0}.g-inline-box[data-v-fbfdbd5f]{margin-bottom:14px;padding-top:10px;border:1px solid var(--el-border-color-lighter);border-radius:4px}.m-inline-btn[data-v-fbfdbd5f]{padding:0 14px 10px}.m-inline[data-v-fbfdbd5f]{display:flex;position:relative;width:100%}.m-inline-btn+.m-inline[data-show-inline-btn=true][data-v-fbfdbd5f]{padding-top:10px}.m-inline-btn+.m-inline[data-show-inline-btn=true][data-v-fbfdbd5f]:before{position:absolute;top:0;left:50%;content:"";width:calc(100% - 28px);height:1px;background-color:var(--el-border-color-lighter);transform:translate(-50%)}.u-btn-gp[data-v-fbfdbd5f]{display:flex;padding-bottom:10px;padding-left:14px;padding-right:14px;align-items:center;box-sizing:border-box}.u-row[data-v-fbfdbd5f]{display:flex;overflow:hidden;max-height:34px;flex:1}.u-row[data-unfold=true][data-v-fbfdbd5f]{max-height:none!important}.u-btn-unfold[data-v-fbfdbd5f]{margin-left:8px;width:12px;height:24px;line-height:24px;text-align:center;color:var(--el-text-color-regular);transform:rotate(90deg);cursor:pointer}.u-btn-unfold[data-unfold=true][data-v-fbfdbd5f]{transform:rotate(270deg)}.g-inline-box .m-inline[dataCover] [data-box]{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--m-inline-min-width),1fr))}.g-inline-box .m-inline[dataCover] [data-box] [data-item]{padding-bottom:10px;min-width:var(--m-inline-min-width);max-width:var(--m-inline-max-width)}.g-inline-box .m-inline[dataCover] .el-form-item{margin-bottom:0;width:100%}.g-inline-box .m-inline[dataCover] .el-form-item .el-input,.g-inline-box .m-inline[dataCover] .el-form-item .el-cascader,.g-inline-box .m-inline[dataCover] .el-form{width:100%}.g-inline-box .m-inline[dataCover] .el-form .u-it-gp{display:flex}.g-inline-box .m-inline[dataCover] .u-row[data-single-line=true] .el-form{display:flex;justify-content:flex-start}.g-skin-config-box[data-v-56c57a90]{display:flex}.g-skin-config-box .u-tt[data-v-56c57a90]{padding:0 24px;line-height:50px;box-shadow:0 1px 2px #00152914}.g-skin-config-box .u-box[data-v-56c57a90]{display:flex;padding:20px 24px;height:calc(100% - 50px);flex-direction:column}.g-skin-config-box .u-box .u-box-tt[data-v-56c57a90]{margin:34px 0}.g-skin-config-box .u-box .u-group[data-v-56c57a90]{display:flex;margin-bottom:12px;justify-content:space-between;align-items:center;color:var(--m-fc-body)}.g-skin-config-box .u-box .u-gulp[data-v-56c57a90]{display:flex;margin:0 -10px;flex-direction:column;flex-wrap:wrap;flex:1}.g-skin-config-box .u-box .u-list[data-v-56c57a90]{display:flex;flex-wrap:wrap}.g-skin-config-box .u-box .u-list .u-li[data-v-56c57a90]{display:flex;margin-bottom:10px;width:12.5%;justify-content:center}.g-skin-config-box .u-box .u-list .u-li .u-color[data-v-56c57a90]{display:flex;width:20px;height:20px;color:#fff;align-items:center;justify-content:center;cursor:pointer}.g-skin-config-box .u-pc[data-v-56c57a90]{display:flex;margin-top:10px;width:100%;flex:1;justify-content:center}.u-btn[data-v-56c57a90]{display:flex;font-size:18px;color:var(--el-color-primary);cursor:pointer}.u-btn svg path[data-v-56c57a90]{stroke:var(--el-color-primary);fill:var(--el-color-primary)}.u-slt[data-v-56c57a90]{width:100px}.u-it[data-v-56c57a90]{width:106px}.g-skin-config-box .el-drawer__body{padding:0}.g-skin-config-box .el-switch{height:auto}.g-skin-config-box .u-pc{display:flex;justify-content:center}.g-skin-config-box .u-pc .el-color-picker{width:100%}.g-skin-config-box .u-pc .el-color-picker .el-color-picker__trigger{width:100%;height:34px}.g-skin-config-box .u-tabs .el-tabs__item{padding:0 10px}.el-table__empty-text img[data-v-3add7d19]{width:15%}.u-icon[data-v-427c315c]{display:inline-block;position:relative;width:14px;height:14px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAMdJREFUOE/tkyESwjAQRfMj0Xgkp2AmaQweHCeAS1AuASfAgce0yQynQOLRyHyazpRpoW2YAcnKbP7L7t8sxJeBoM+yLK04Ukp678vzWBhj0iegEK5jgnq+eGTzO4C1dkhyDGAvhBhFKrmSXAC4aK1vjV6dcxPv/QnAoA1C8i6lnCqlzlX+zaw8z2cADh2AeZIkx3qu1W3n3JLktnERWCmldq/gznFZa8NUyvFWjrdV9QcIEfWgz8BgaicgLFj467H9+Gjr+iAPDfV1EeVT6aEAAAAASUVORK5CYII=);background-size:100% 100%;transform:translateY(2px);cursor:pointer}.u-filter-group[data-v-427c315c]{display:inline-block;position:relative}.m-filter-box[data-is-open=true]{opacity:1;pointer-events:auto}.m-filter-box[data-is-open=false]{opacity:0;pointer-events:none}.m-filter-box .u-filter-mask{position:fixed;top:0;left:0;z-index:2050;width:100%;height:100%}.m-filter-box .u-it-gp{padding:10px;border-bottom:1px solid var(--el-border-color-lighter)}.m-filter-box .u-list-box{overflow:hidden;position:fixed;top:0;left:0;z-index:2050;max-width:50%;background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);border-radius:var(--el-popper-border-radius, 4px);box-shadow:var(--el-box-shadow-light)}.m-filter-box .u-list-box .u-checkbox-group{overflow-y:auto;display:block;padding:10px;max-height:280px}.m-filter-box .u-list-box label.el-checkbox{display:flex;align-items:center;margin-right:5px;margin-bottom:12px;margin-left:5px;height:unset}.m-filter-box .u-list-box label.el-checkbox:last-child{margin-bottom:0}.m-filter-box .u-list-box .u-btn-gp{border-top:1px solid var(--el-border-color-lighter);padding:8px}.m-filter-box .u-list-box button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.m-filter-box .u-list-box button{background:0 0;border:none;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-small);padding:0 3px}.vab[data-v-f5392071]{vertical-align:baseline}.g-m-table-column-set-box[data-v-f5392071]{display:flex;position:relative}.g-m-table-column-set-box[data-fold=true][data-v-f5392071]{overflow:hidden;width:10px;transition:width .3s}.g-m-table-column-set-box[data-fold=true][data-v-f5392071]:hover{width:36px}.g-m-table-column-set-box[data-visible=true][data-v-f5392071]{overflow:visible;width:auto!important}.m-panel-box[data-v-f5392071]{display:none;overflow-y:auto;padding:6px 4px;position:absolute;top:30px;right:0;z-index:7;min-width:214px;max-height:300px;background-color:#fff;border-radius:8px;border:1px solid var(--el-border-color-lighter);box-shadow:2px 0 8px #1d23290d;box-sizing:border-box}.m-panel-box[data-active=true][data-v-f5392071]{display:block}.m-panel-box .u-list .u-li[data-v-f5392071]{display:flex;align-items:center;padding:4px}.m-panel-box .u-list .u-li .u-icon[data-v-f5392071]{margin-right:8px;font-size:12px;color:var(--el-color-primary);cursor:move}.m-panel-box .u-tt[data-v-f5392071],.m-panel-box .u-tc[data-v-f5392071]{display:flex;padding-top:10px}.m-panel-box .u-tt .u-p[data-v-f5392071],.m-panel-box .u-tc .u-p[data-v-f5392071]{display:block;padding-left:4px;width:50px;align-self:auto;white-space:nowrap;line-height:24px;font-weight:700}.m-panel-box .u-tc[data-v-f5392071]{padding-top:0}.m-panel-box .u-tc .u-p[data-v-f5392071]{line-height:40px}.m-panel-box .u-divider[data-v-f5392071]{margin-top:10px;margin-bottom:0}.m-masked[data-v-f5392071],.g-m-table-column-set-teleport[data-v-f5392071]{position:fixed;top:0;left:0;z-index:6;width:100%;height:100%}.u-group[data-v-88e3837e]{display:flex;align-items:center}.u-group .u-checkbox[data-v-88e3837e]{padding-right:4px;pointer-events:none;margin-right:0}.u-checkbox[data-v-ce4ca417]{height:var(--el-checkbox-height, 20px)}.g-select-table-box{width:100%}.u-img{width:80px}.m-select-table .el-table{--el-table-header-bg-color: var(--m-list-el-table-header-bg-color, #f5f5f5)}.m-select-table .el-select-dropdown__empty{padding:0}.m-select-table .el-select-dropdown__empty .btn-box{text-align:right;padding-bottom:6px}.m-select-table .m-table-select{padding:6px;overflow-y:auto}.m-select-table .m-page{padding:4px}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { Page } from './../../typings/class';
|
|
1
2
|
declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
2
3
|
modelValue?: string | number | (string | number)[] | undefined;
|
|
3
4
|
/** 显示值 */
|
|
4
|
-
name?: string | undefined;
|
|
5
|
+
name?: string | number | (string | number)[] | undefined;
|
|
5
6
|
placeholder?: string | undefined;
|
|
6
7
|
disabled?: boolean | undefined;
|
|
7
8
|
size?: "" | "small" | "large" | undefined;
|
|
@@ -64,14 +65,16 @@ declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_T
|
|
|
64
65
|
clear: () => void;
|
|
65
66
|
focus: () => void;
|
|
66
67
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
clear: () => void;
|
|
69
|
+
"update:modelValue": (value: string | number | (string | number)[]) => void;
|
|
70
|
+
selected: (values: string | number | (string | number)[], rows: Option | Option[]) => void;
|
|
71
|
+
toPage: (page: Page, query?: string | undefined) => void;
|
|
72
|
+
selectMultiple: (values: (string | number)[], rows: Option[]) => void;
|
|
73
|
+
removeTag: (tag: any) => void;
|
|
71
74
|
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
72
75
|
modelValue?: string | number | (string | number)[] | undefined;
|
|
73
76
|
/** 显示值 */
|
|
74
|
-
name?: string | undefined;
|
|
77
|
+
name?: string | number | (string | number)[] | undefined;
|
|
75
78
|
placeholder?: string | undefined;
|
|
76
79
|
disabled?: boolean | undefined;
|
|
77
80
|
size?: "" | "small" | "large" | undefined;
|
|
@@ -130,13 +133,15 @@ declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_T
|
|
|
130
133
|
border: boolean;
|
|
131
134
|
popupWidth: number;
|
|
132
135
|
}>>> & {
|
|
133
|
-
"onUpdate:modelValue"?: ((
|
|
134
|
-
onSelected?: ((
|
|
135
|
-
onSelectMultiple?: ((
|
|
136
|
-
onToPage?: ((
|
|
136
|
+
"onUpdate:modelValue"?: ((value: string | number | (string | number)[]) => any) | undefined;
|
|
137
|
+
onSelected?: ((values: string | number | (string | number)[], rows: Option | Option[]) => any) | undefined;
|
|
138
|
+
onSelectMultiple?: ((values: (string | number)[], rows: Option[]) => any) | undefined;
|
|
139
|
+
onToPage?: ((page: Page, query?: string | undefined) => any) | undefined;
|
|
140
|
+
onClear?: (() => any) | undefined;
|
|
141
|
+
onRemoveTag?: ((tag: any) => any) | undefined;
|
|
137
142
|
}, {
|
|
138
143
|
size: 'small' | 'large' | '';
|
|
139
|
-
name: string
|
|
144
|
+
name: string | number | Array<number | string>;
|
|
140
145
|
modelValue: string | number | Array<number | string>;
|
|
141
146
|
disabled: boolean;
|
|
142
147
|
multiple: boolean;
|
package/package.json
CHANGED
|
@@ -45,7 +45,7 @@ const useTableConfig = (name: string, tableTitle: TableTitle[], tableData: Ref <
|
|
|
45
45
|
/** 表格列头 */
|
|
46
46
|
const _tableTitle: Ref<TableTitle[]> = ref<TableTitle[]>([])
|
|
47
47
|
const tableConfig: Ref<TableConfig> = ref<TableConfig>(JSON.parse(localStorage.getItem('tableConfig' + name) || '{}'))
|
|
48
|
-
const pageConfig = JSON.parse(localStorage.getItem('tablePage' + name) || '{
|
|
48
|
+
const pageConfig = JSON.parse(localStorage.getItem('tablePage' + name) || '{}')
|
|
49
49
|
const page = ref<Page>(new Page(pageConfig))
|
|
50
50
|
/** 列筛选 */
|
|
51
51
|
const filterMethod = (value: string, row: any, column: Column) => {
|
|
@@ -13,74 +13,76 @@ import demo from './demo.vue'
|
|
|
13
13
|
|
|
14
14
|
### 2) Attributes
|
|
15
15
|
|
|
16
|
-
| 参数
|
|
17
|
-
|
|
18
|
-
| value / v-model | 绑定值
|
|
19
|
-
| name | 显示值,有值时覆盖所有显示逻辑,直接显示name
|
|
20
|
-
| placeholder | 占位符
|
|
21
|
-
| disabled | 是否禁用
|
|
22
|
-
| size | 大小
|
|
23
|
-
| options | 下拉表的 表内数据,详情见Option接口
|
|
24
|
-
| total | 总数量 当有值时,出现分页器
|
|
25
|
-
| filterMethod | 自定义搜索方法 (使用时必须传递filterable)
|
|
26
|
-
| filterable | 是否开启筛选 (如果开启但没有传递自定义搜索方法 效果为筛选当前页数据的 keywords[label]) | boolean | - |
|
|
27
|
-
| remote | 是否使用远程搜索
|
|
28
|
-
| remoteMethod | 自定义远程搜索方法 (使用时必须传递filterable和remote)
|
|
29
|
-
| tableTitle | 下拉表的 表头定义,详情见TableTitle接口
|
|
30
|
-
| multiple | 是否开启多选
|
|
31
|
-
| keywords | 关键字配置(value-key 配置)映射关键字
|
|
32
|
-
| reserveSelection | 是否打开翻页多选 需要是多选才有效
|
|
33
|
-
| tableHeight | 表格高度
|
|
34
|
-
| isAffirmBtn | 是否有确认按钮 当使用此按钮时 selected事件无效 需使用selectMultiple事件
|
|
35
|
-
| scrollbarAlwaysOn | 是否常态显示滚动条
|
|
36
|
-
| allowCreate | 是否能够创建条目
|
|
37
|
-
| popupWidth | 弹窗的宽度
|
|
38
|
-
| border
|
|
16
|
+
| 参数 | 说明 | 类型 | 可选 | 是否必填 | 默认值 |
|
|
17
|
+
|-------------------|----------------------------------------------------------|-------------------------------------|---------------------------|:----:|---------------------------------|
|
|
18
|
+
| value / v-model | 绑定值 | number,string, Array<number,string> | - | 否 | '' |
|
|
19
|
+
| name | 显示值,有值时覆盖所有显示逻辑,直接显示name | number,string, Array<number,string> | - | 否 | '' |
|
|
20
|
+
| placeholder | 占位符 | string | - | 否 | 请选择 |
|
|
21
|
+
| disabled | 是否禁用 | boolean | - | 否 | false |
|
|
22
|
+
| size | 大小 | enum | large \| default \| small | 否 | default |
|
|
23
|
+
| options | 下拉表的 表内数据,详情见Option接口 | Option[] | - | 否 | [] |
|
|
24
|
+
| total | 总数量 当有值时,出现分页器 | number | null | 否 | null |
|
|
25
|
+
| filterMethod | 自定义搜索方法 (使用时必须传递filterable) | Function | null | 否 | null |
|
|
26
|
+
| filterable | 是否开启筛选 (如果开启但没有传递自定义搜索方法 效果为筛选当前页数据的 keywords[label]) | boolean | - | 否 | false |
|
|
27
|
+
| remote | 是否使用远程搜索 | boolean | - | 否 | false |
|
|
28
|
+
| remoteMethod | 自定义远程搜索方法 (使用时必须传递filterable和remote) | Function | - | 否 | {} |
|
|
29
|
+
| tableTitle | 下拉表的 表头定义,详情见TableTitle接口 | TableTitle[] | - | 否 | [] |
|
|
30
|
+
| multiple | 是否开启多选 | boolean | - | 否 | false |
|
|
31
|
+
| keywords | 关键字配置(value-key 配置)映射关键字 | Option | - | 否 | {label: 'label' ,value:'value'} |
|
|
32
|
+
| reserveSelection | 是否打开翻页多选 需要是多选才有效 | boolean | - | 否 | false |
|
|
33
|
+
| tableHeight | 表格高度 | string | number | 否 | 200 |
|
|
34
|
+
| isAffirmBtn | 是否有确认按钮 当使用此按钮时 selected事件无效 需使用selectMultiple事件 | boolean | - | 否 | false |
|
|
35
|
+
| scrollbarAlwaysOn | 是否常态显示滚动条 | boolean | - | 否 | false |
|
|
36
|
+
| allowCreate | 是否能够创建条目 | boolean | - | 否 | false |
|
|
37
|
+
| popupWidth | 弹窗的宽度 | string,number | - | 否 | 500 |
|
|
38
|
+
| border | 表格边框 | boolean | - | 否 | false |
|
|
39
39
|
|
|
40
40
|
#### Options(选项接口)
|
|
41
41
|
|
|
42
|
-
| 参数
|
|
43
|
-
|
|
44
|
-
| label | 选项的标签,若不设置则默认与value相同 | string |
|
|
45
|
-
| value |
|
|
46
|
-
| disabled |
|
|
47
|
-
| \[propName: string] |
|
|
42
|
+
| 参数 | 说明 | 类型 | 可选值 | 是否必填 |
|
|
43
|
+
|---------------------|:---------------------:|:-----------------:|:---:|:----:|
|
|
44
|
+
| label | 选项的标签,若不设置则默认与value相同 | string | - | 是 |
|
|
45
|
+
| value | 选项的值 | string \| number | - | 是 |
|
|
46
|
+
| disabled | 是否禁用该选项 | boolean | - | 否 |
|
|
47
|
+
| \[propName: string] | 额外字段 | string \| number | - | 否 |
|
|
48
48
|
|
|
49
49
|
#### Page (分页对象)
|
|
50
50
|
|
|
51
|
-
| 参数
|
|
52
|
-
|
|
53
|
-
| total | 总数
|
|
54
|
-
| pageSize | 分页大小
|
|
55
|
-
| currentPage | 页码
|
|
51
|
+
| 参数 | 说明 | 类型 |
|
|
52
|
+
|------------------|---------|----------|
|
|
53
|
+
| total | 总数 | number |
|
|
54
|
+
| pageSize | 分页大小 | number |
|
|
55
|
+
| currentPage | 页码 | number |
|
|
56
56
|
| pageSizesOptions | 分页大小可选项 | number[] |
|
|
57
57
|
|
|
58
58
|
### 3) events
|
|
59
59
|
|
|
60
|
-
| 事件名
|
|
61
|
-
|
|
62
|
-
| selected | 单选或多选之后的回调
|
|
63
|
-
| toPage | 当没有使用filterMethod时候才会有回调否则没有 | page 表格分页
|
|
64
|
-
| selectMultiple | 多选确认按钮时的回调 配合isAffirmBtn使用
|
|
60
|
+
| 事件名 | 说明 | 回调参数 |
|
|
61
|
+
|----------------|------------------------------|---------------------------------------------------------------|
|
|
62
|
+
| selected | 单选或多选之后的回调 | 根据多选和单选的模式不同 返回的也有所区别 单选为 (value,row) 多选为(values[],rows[]) |
|
|
63
|
+
| toPage | 当没有使用filterMethod时候才会有回调否则没有 | page 表格分页 |
|
|
64
|
+
| selectMultiple | 多选确认按钮时的回调 配合isAffirmBtn使用 | (values: Array<string \| number>, rows: Option[]) |
|
|
65
|
+
| clear | 用户点击清空按钮时触发 | - |
|
|
66
|
+
| removeTag | 多选模式下移除tag时触发 | (tag: any) |
|
|
65
67
|
|
|
66
68
|
### 4) Methods
|
|
67
69
|
|
|
68
|
-
| 方法名
|
|
69
|
-
|
|
70
|
+
| 方法名 | 说明 |
|
|
71
|
+
|----------------------|--------------------------------------------------------------------------|
|
|
70
72
|
| defaultBackFillValue | 手动重载反填 使用场景 当前开启多选 并且开启翻页多选的时候 这个时候需要默认反填上值的话 需要赋值之后 延迟调用此方法 其余场景 为默认反填 |
|
|
71
|
-
| clear | 清空已选择
|
|
72
|
-
| focus | 聚焦下拉框
|
|
73
|
+
| clear | 清空已选择 |
|
|
74
|
+
| focus | 聚焦下拉框 |
|
|
73
75
|
|
|
74
76
|
#### filterMethod
|
|
75
77
|
|
|
76
|
-
| 返回值
|
|
77
|
-
|
|
78
|
+
| 返回值 | 类型 | 说明 |
|
|
79
|
+
|-------------|--------|--------|
|
|
78
80
|
| searchValue | string | 返回输入的值 |
|
|
79
|
-
| Page | Page | 整个分页类
|
|
81
|
+
| Page | Page | 整个分页类 |
|
|
80
82
|
|
|
81
83
|
#### remoteMethod
|
|
82
84
|
|
|
83
|
-
| 返回值
|
|
84
|
-
|
|
85
|
+
| 返回值 | 类型 | 说明 |
|
|
86
|
+
|-------------|--------|--------|
|
|
85
87
|
| searchValue | string | 返回输入的值 |
|
|
86
|
-
| Page | Page | 整个分页类
|
|
88
|
+
| Page | Page | 整个分页类 |
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
placeholder="请选择单号"
|
|
10
10
|
:tableTitle="commodityOptionsTitle"
|
|
11
11
|
:options="options"
|
|
12
|
-
:keywords="{label: 'ApprovedQtyPU',value: 'DocNo' }"
|
|
12
|
+
:keywords="{ label: 'ApprovedQtyPU', value: 'DocNo' }"
|
|
13
13
|
@selected="selected"
|
|
14
14
|
@selectMultiple="selectMultiple"
|
|
15
15
|
tableHeight="200"
|
|
@@ -23,16 +23,40 @@
|
|
|
23
23
|
border
|
|
24
24
|
:remoteMethod="remoteMethod"
|
|
25
25
|
></m-select-table>
|
|
26
|
-
<p
|
|
27
|
-
<p
|
|
26
|
+
<p>多选单绑定的value为字符串类型</p>
|
|
27
|
+
<p>第二个选择器的值: {{ code2 }}</p>
|
|
28
28
|
<m-select-table
|
|
29
29
|
class="u-select"
|
|
30
30
|
ref="selectRef"
|
|
31
31
|
v-model="code2"
|
|
32
|
+
:name="code2Name"
|
|
33
|
+
placeholder="请选择单号"
|
|
34
|
+
:tableTitle="commodityOptionsTitle"
|
|
35
|
+
:options="options"
|
|
36
|
+
:keywords="{ label: 'ApprovedQtyPU', value: 'DocNo' }"
|
|
37
|
+
@selected="selected"
|
|
38
|
+
@selectMultiple="selectMultiple"
|
|
39
|
+
tableHeight="200"
|
|
40
|
+
@toPage="toPage"
|
|
41
|
+
:total="total"
|
|
42
|
+
scrollbarAlwaysOn
|
|
43
|
+
filterable
|
|
44
|
+
remote
|
|
45
|
+
multiple
|
|
46
|
+
border
|
|
47
|
+
:remoteMethod="remoteMethod"
|
|
48
|
+
@clear="test"
|
|
49
|
+
></m-select-table>
|
|
50
|
+
<p>单选</p>
|
|
51
|
+
<p>第三个择器的值: {{ code3 }}</p>
|
|
52
|
+
<m-select-table
|
|
53
|
+
class="u-select"
|
|
54
|
+
ref="selectRef"
|
|
55
|
+
v-model="code3"
|
|
32
56
|
placeholder="请选择单号"
|
|
33
57
|
:tableTitle="commodityOptionsTitle"
|
|
34
58
|
:options="options"
|
|
35
|
-
:keywords="{ label: 'ApprovedQtyPU',value: 'DocNo' }"
|
|
59
|
+
:keywords="{ label: 'ApprovedQtyPU', value: 'DocNo' }"
|
|
36
60
|
@selected="selected"
|
|
37
61
|
@selectMultiple="selectMultiple"
|
|
38
62
|
tableHeight="200"
|
|
@@ -45,6 +69,17 @@
|
|
|
45
69
|
:remoteMethod="remoteMethod"
|
|
46
70
|
:popupWidth="800"
|
|
47
71
|
></m-select-table>
|
|
72
|
+
<!--<el-select-->
|
|
73
|
+
<!-- v-model="code2"-->
|
|
74
|
+
<!-- multiple-->
|
|
75
|
+
<!-->-->
|
|
76
|
+
<!-- <el-option-->
|
|
77
|
+
<!-- v-for="item in options"-->
|
|
78
|
+
<!-- :key="item.DocNo"-->
|
|
79
|
+
<!-- :label="item.ApprovedQtyPU"-->
|
|
80
|
+
<!-- :value="item.DocNo"-->
|
|
81
|
+
<!-- ></el-option>-->
|
|
82
|
+
<!--</el-select>-->
|
|
48
83
|
</div>
|
|
49
84
|
</template>
|
|
50
85
|
|
|
@@ -52,6 +87,10 @@
|
|
|
52
87
|
import { ref, onMounted } from 'vue'
|
|
53
88
|
import { Page } from 'packages/typings/class'
|
|
54
89
|
|
|
90
|
+
const test = () => {
|
|
91
|
+
console.log('xxx')
|
|
92
|
+
}
|
|
93
|
+
|
|
55
94
|
const commodityOptionsTitle: TableTitle[] = [{
|
|
56
95
|
prop: 'PRDocType',
|
|
57
96
|
label: '单据类型'
|
|
@@ -74,6 +113,7 @@ const selectRef: any = ref<HTMLElement | null>(null)
|
|
|
74
113
|
|
|
75
114
|
const code = ref<string | number | Array<string | number>>([])
|
|
76
115
|
const code2 = ref<string | number | Array<string | number>>('')
|
|
116
|
+
const code2Name = ref<string | number | Array<string | number>>([])
|
|
77
117
|
const code3 = ref<string | number | Array<string | number>>('')
|
|
78
118
|
|
|
79
119
|
const total = ref(0)
|
|
@@ -107,7 +147,9 @@ setTimeout(() => {
|
|
|
107
147
|
ACCode: 'xxxACCode2'
|
|
108
148
|
}]
|
|
109
149
|
code.value = [1, 2]
|
|
110
|
-
code2.value =
|
|
150
|
+
code2.value = ''
|
|
151
|
+
code2Name.value = ['xxxApprovedQtyPU2', 'xxxApprovedQtyPU3', 'xxxApprovedQtyPU4']
|
|
152
|
+
code3.value = 1
|
|
111
153
|
|
|
112
154
|
// setTimeout(() => {
|
|
113
155
|
// options.value = []
|
|
@@ -154,6 +196,6 @@ onMounted(() => {
|
|
|
154
196
|
|
|
155
197
|
<style>
|
|
156
198
|
.u-select {
|
|
157
|
-
width:
|
|
199
|
+
width: 240px;
|
|
158
200
|
}
|
|
159
201
|
</style>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
ref="selectRef"
|
|
5
5
|
v-bind="selectAttr"
|
|
6
6
|
popperClass="m-select-table"
|
|
7
|
-
:multiple="
|
|
7
|
+
:multiple="isElSelectMultiple"
|
|
8
8
|
:disabled="props.disabled"
|
|
9
9
|
:placeholder="props.placeholder"
|
|
10
10
|
@visibleChange="visibleChange"
|
|
@@ -111,12 +111,11 @@ import {
|
|
|
111
111
|
} from 'vue'
|
|
112
112
|
import { ElSelect, ElTable } from 'element-plus'
|
|
113
113
|
import { Page } from './../../typings/class'
|
|
114
|
-
import checkType from '../../../tool/checkType'
|
|
115
114
|
|
|
116
115
|
const props = withDefaults(defineProps<{
|
|
117
116
|
modelValue?: string | number | Array<number | string>,
|
|
118
117
|
/** 显示值 */
|
|
119
|
-
name?: string
|
|
118
|
+
name?: string | number | Array<number | string>,
|
|
120
119
|
placeholder?: string,
|
|
121
120
|
disabled?: boolean,
|
|
122
121
|
size?: 'small' | 'large' | '',
|
|
@@ -173,12 +172,18 @@ const props = withDefaults(defineProps<{
|
|
|
173
172
|
popupWidth: 500
|
|
174
173
|
})
|
|
175
174
|
|
|
175
|
+
const isElSelectMultiple = computed(() => {
|
|
176
|
+
if (Array.isArray(props.name)) return true
|
|
177
|
+
if (props.name || props.name === 0) return false
|
|
178
|
+
return props.multiple
|
|
179
|
+
})
|
|
180
|
+
|
|
176
181
|
const modelValue = ref<string | number | Array<number | string>>(props.modelValue)
|
|
177
182
|
watch(
|
|
178
183
|
() => props.modelValue,
|
|
179
184
|
() => {
|
|
180
|
-
if (props.multiple && !checkType.isArray(props.modelValue)) return console.error('multiple为true时,modelValue必须为数组格式')
|
|
181
|
-
if (!props.multiple && (checkType.isArray(props.modelValue) || checkType.isObject(props.modelValue))) return console.error('multiple为false时,modelValue必须为基础类型')
|
|
185
|
+
// if (props.multiple && !checkType.isArray(props.modelValue)) return console.error('multiple为true时,modelValue必须为数组格式')
|
|
186
|
+
// if (!props.multiple && (checkType.isArray(props.modelValue) || checkType.isObject(props.modelValue))) return console.error('multiple为false时,modelValue必须为基础类型')
|
|
182
187
|
modelValue.value = props.modelValue
|
|
183
188
|
}
|
|
184
189
|
)
|
|
@@ -187,11 +192,11 @@ const selectModelValue = ref<string | number | Array<number | string>>(props.mul
|
|
|
187
192
|
watch(
|
|
188
193
|
() => props.name,
|
|
189
194
|
() => {
|
|
190
|
-
if (
|
|
195
|
+
if (props.name === '' || props.name === null || props.name === undefined) return false
|
|
191
196
|
selectModelValue.value = props.name
|
|
192
197
|
}
|
|
193
198
|
)
|
|
194
|
-
if (props.name) {
|
|
199
|
+
if (props.name || props.name === 0) {
|
|
195
200
|
selectModelValue.value = props.name
|
|
196
201
|
}
|
|
197
202
|
|
|
@@ -213,11 +218,23 @@ const state = reactive<{
|
|
|
213
218
|
searchValue: ''
|
|
214
219
|
})
|
|
215
220
|
// 抛出事件
|
|
216
|
-
const emit = defineEmits
|
|
221
|
+
const emit = defineEmits<{
|
|
222
|
+
/** 单选或多选之后的回调 */
|
|
223
|
+
selected: [values: string | number | Array<string | number>, rows: Option[] | Option],
|
|
224
|
+
/** 多选确认按钮时的回调 配合isAffirmBtn使用 */
|
|
225
|
+
selectMultiple: [values: Array<string | number>, rows: Option[]],
|
|
226
|
+
/** 当没有使用filterMethod时候才会有回调否则没有 */
|
|
227
|
+
toPage: [page: Page, query?: string],
|
|
228
|
+
'update:modelValue': [value: string | number | Array<string | number>],
|
|
229
|
+
/** 用户点击清空按钮时触发 */
|
|
230
|
+
clear: [],
|
|
231
|
+
/** 多选模式下移除tag时触发 */
|
|
232
|
+
removeTag: [tag: any]
|
|
233
|
+
}>()
|
|
217
234
|
|
|
218
235
|
const allowCreateRow = computed(() => {
|
|
219
236
|
if (!props.allowCreate) return []
|
|
220
|
-
const modelValue = props.multiple
|
|
237
|
+
const modelValue: Array<string | number> = props.multiple && Array.isArray(props.modelValue) ? props.modelValue : []
|
|
221
238
|
const value = [...modelValue, state.searchValue].filter(item => item)
|
|
222
239
|
return value
|
|
223
240
|
.filter(item => !props.options.some(node => node[props.keywords.value] === item))
|
|
@@ -247,10 +264,11 @@ watch(() => allowCreateRow.value, (val, oval) => {
|
|
|
247
264
|
})
|
|
248
265
|
|
|
249
266
|
const upSelectModelValue = () => {
|
|
250
|
-
if (props.name) return false
|
|
267
|
+
if (props.name || props.name === 0) return false
|
|
251
268
|
// 多选
|
|
252
269
|
if (props.multiple) {
|
|
253
|
-
const
|
|
270
|
+
const _value: Array<string | number> = Array.isArray(modelValue.value) ? modelValue.value : [modelValue.value].filter(item => item !== '')
|
|
271
|
+
const data: Array<string | number> = _value.map(item => {
|
|
254
272
|
const row: any = props.options.find(node => node[props.keywords.value as any] === item) || {}
|
|
255
273
|
return row[props.keywords.label] || item
|
|
256
274
|
})
|
|
@@ -301,29 +319,31 @@ const rowClick = (row: Option) => {
|
|
|
301
319
|
// 确认的回调
|
|
302
320
|
const selectMultiple = () => {
|
|
303
321
|
blur()
|
|
304
|
-
emit('selectMultiple', state.ids
|
|
322
|
+
emit('selectMultiple', state.ids as Array<string | number>, state.selectRowS)
|
|
305
323
|
}
|
|
306
324
|
|
|
307
325
|
// 多选事件
|
|
308
|
-
const selectionChange = (
|
|
309
|
-
const select =
|
|
326
|
+
const selectionChange = (selection: Option[]) => {
|
|
327
|
+
const select = selection.map((item) => item[props.keywords.value])
|
|
328
|
+
const _value: Array<string | number> = Array.isArray(modelValue.value) ? modelValue.value : [modelValue.value].filter(item => item !== '')
|
|
310
329
|
// 是否为删除
|
|
311
|
-
const isDelete =
|
|
330
|
+
const isDelete = _value.some(item => !select.includes(item))
|
|
312
331
|
if (isDelete && !isVisible.value) return
|
|
313
|
-
modelValue.value =
|
|
314
|
-
state.ids =
|
|
315
|
-
state.selectRowS =
|
|
332
|
+
modelValue.value = selection.map((item) => item[props.keywords.value])
|
|
333
|
+
state.ids = selection.map((item) => item[props.keywords.value])
|
|
334
|
+
state.selectRowS = selection
|
|
316
335
|
if (props.isAffirmBtn) return // 有确认按钮不走多选事件
|
|
317
|
-
emit('selected', state.ids
|
|
336
|
+
emit('selected', state.ids as Array<string | number>, state.selectRowS)
|
|
318
337
|
}
|
|
319
338
|
// tags删除后回调
|
|
320
339
|
const removeTag = (tag: any) => {
|
|
321
340
|
const row = state.tabData.find((item) => item[props.keywords.label] === tag)
|
|
322
341
|
selectTableRef.value.toggleRowSelection(row, false)
|
|
342
|
+
emit('removeTag', tag)
|
|
323
343
|
}
|
|
324
344
|
const change = (value: string | number | Array<string | number>) => {
|
|
325
|
-
if (props.multiple) {
|
|
326
|
-
const removeValue =
|
|
345
|
+
if (props.multiple && Array.isArray(value) && Array.isArray(modelValue.value)) {
|
|
346
|
+
const removeValue = modelValue.value
|
|
327
347
|
.filter(item => !(value as Array<string | number>).includes(item))
|
|
328
348
|
removeValue.forEach(item => {
|
|
329
349
|
const row = tabDataMap.value.find(node => node[props.keywords.value] === item)
|
|
@@ -336,7 +356,7 @@ const change = (value: string | number | Array<string | number>) => {
|
|
|
336
356
|
// 默认反填
|
|
337
357
|
const defaultBackFillValue = () => {
|
|
338
358
|
if (props.multiple) {
|
|
339
|
-
const modelArray = props.modelValue
|
|
359
|
+
const modelArray: Array<string | number> = Array.isArray(props.modelValue) ? props.modelValue : [props.modelValue]
|
|
340
360
|
const newArr = (state.tabData as Option[]).filter(item => modelArray.includes(item[props.keywords.value as keyof typeof item]))
|
|
341
361
|
setTimeout(() => {
|
|
342
362
|
newArr.forEach((row) => {
|
|
@@ -384,6 +404,7 @@ const clear = () => {
|
|
|
384
404
|
selectTableRef.value.setCurrentRow()
|
|
385
405
|
modelValue.value = ''
|
|
386
406
|
}
|
|
407
|
+
emit('clear')
|
|
387
408
|
}
|
|
388
409
|
|
|
389
410
|
const selectAttr = computed(() => {
|