@jt-home/mfe-components 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .jt-attachment-preview-service-lock{overflow:hidden}.jt-attachment-preview-service{--jt-attachment-preview-service-image-fit: contain;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:5vh 5vw;background:#00000080;color:#333}.jt-attachment-preview-service__modal{display:flex;flex-direction:column;width:90vw;height:90vh;overflow:hidden;border-radius:6px;background:#f7f7f7;box-shadow:0 2px 8px #1f232914}.jt-attachment-preview-service__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:50px;border-bottom:1px solid #f5f5f5;background:#fff}.jt-attachment-preview-service__filename{position:relative;min-width:0;max-width:calc(90vw - 190px);padding-left:29px;overflow:hidden;font-size:16px;font-weight:500;line-height:50px;text-overflow:ellipsis;white-space:nowrap;color:#333}.jt-attachment-preview-service__filename:before{content:"";position:absolute;left:20px;top:50%;width:3px;height:10px;border-radius:1px;background:#e60000;transform:translateY(-50%)}.jt-attachment-preview-service__header-actions{display:flex;align-items:center;flex-shrink:0;height:100%}.jt-attachment-preview-service__top-download,.jt-attachment-preview-service__close{display:inline-flex;align-items:center;justify-content:center;height:100%;border:0;background:#fff;color:#0009;text-decoration:none;cursor:pointer}.jt-attachment-preview-service__top-download{gap:4px;min-width:72px;height:36px;padding:0 12px;font-size:16px;line-height:1;vertical-align:top}.jt-attachment-preview-service__close{width:42px;padding:0;font-size:22px;font-weight:400;line-height:1}.jt-attachment-preview-service__top-download:hover,.jt-attachment-preview-service__close:hover{background:#f9f9f9;color:#333}.jt-attachment-preview-service__download-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:18px;height:18px;font-size:18px;line-height:1;transform:translateY(1px)}.jt-attachment-preview-service__download-icon svg{display:block}.jt-attachment-preview-service__download-text{display:inline-flex;align-items:center;height:18px;line-height:1}.jt-attachment-preview-service__body{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:hidden;background:#f7f7f7}.jt-attachment-preview-service__media,.jt-attachment-preview-service__iframe{display:block;width:100%;height:100%;border:0}.jt-attachment-preview-service__image-viewer{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden}.jt-attachment-preview-service__image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:var(--jt-attachment-preview-service-image-fit);transform-origin:center center;transition:transform .16s ease;user-select:none;will-change:transform;-webkit-user-drag:none}.jt-attachment-preview-service__image--draggable{cursor:grab;touch-action:none}.jt-attachment-preview-service__image--dragging{cursor:grabbing;transition:none}.jt-attachment-preview-service__image-toolbar{position:absolute;left:50%;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 8px;border-radius:4px;background:#000000a8;color:#fff;box-shadow:0 2px 8px #1f23291f;transform:translate(-50%)}.jt-attachment-preview-service__image-tool{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:4px;background:transparent;color:#fff;font-size:16px;line-height:1;cursor:pointer}.jt-attachment-preview-service__image-tool:hover{background:#ffffff29}.jt-attachment-preview-service__image-scale{min-width:42px;color:#fff;font-size:12px;line-height:1;text-align:center}.jt-attachment-preview-service__audio{width:min(520px,100% - 32px)}.jt-attachment-preview-service__pdf-viewer{position:relative;width:100%;height:100%;overflow:hidden;background:#f7f7f7}.jt-attachment-preview-service__pdf-layout{display:flex;width:100%;height:100%;min-height:0}.jt-attachment-preview-service__pdf-layout--hidden{visibility:hidden}.jt-attachment-preview-service__pdf-outline{flex:0 0 220px;width:220px;height:100%;overflow:hidden;border-right:1px solid #f5f5f5;background:#fff}.jt-attachment-preview-service__pdf-outline-title{height:36px;padding:0 12px;border-bottom:1px solid #f5f5f5;color:#333;font-size:13px;font-weight:500;line-height:36px}.jt-attachment-preview-service__pdf-outline-list{height:calc(100% - 36px);overflow:auto;padding:8px 0}.jt-attachment-preview-service__pdf-outline-item{display:block;width:100%;height:32px;padding-right:10px;border:0;background:transparent;color:#0009;font-size:12px;line-height:32px;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer}.jt-attachment-preview-service__pdf-outline-item:hover{background:#f9f9f9;color:#e60000}.jt-attachment-preview-service__pdf-outline-item:disabled{color:#00000080;cursor:not-allowed}.jt-attachment-preview-service__pdf-pages{display:flex;flex:1;flex-direction:column;align-items:center;gap:16px;min-width:0;min-height:100%;overflow:auto;padding:20px}.jt-attachment-preview-service__pdf-page{display:block;max-width:100%;background:#fff;box-shadow:0 2px 10px #1f232924}.jt-attachment-preview-service__pdf-state{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;color:#333;font-size:12px;text-align:center}.jt-attachment-preview-service__pdf-error{max-width:min(520px,90vw - 48px);color:#0009;font-size:11px;line-height:1.5}.jt-attachment-preview-service__detecting{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#333;text-align:center}.jt-attachment-preview-service__detecting-spinner{width:28px;height:28px;margin-bottom:14px;border:2px solid #d9d9d9;border-top-color:#e60000;border-radius:50%;animation:jt-attachment-preview-service-spin .8s linear infinite}.jt-attachment-preview-service__detecting-title{font-size:12px;font-weight:500}.jt-attachment-preview-service__detecting-desc{margin-top:6px;color:#0009;font-size:10px}@keyframes jt-attachment-preview-service-spin{to{transform:rotate(360deg)}}.jt-attachment-preview-service__pdf-fallback-tip{position:absolute;left:50%;bottom:16px;z-index:2;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:8px 12px;border-radius:4px;background:#000000b8;color:#fff;font-size:12px;transform:translate(-50%)}.jt-attachment-preview-service__fallback-download{border:0;background:transparent;flex-shrink:0;color:#fff;font-size:12px;text-decoration:underline;cursor:pointer}.jt-attachment-preview-service__empty,.jt-attachment-preview-service__unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:16px;text-align:center}.jt-attachment-preview-service__empty{color:#0009;font-size:14px}.jt-attachment-preview-service__file-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;max-width:calc(90vw - 48px);min-height:0}.jt-attachment-preview-service__preview-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:0}.jt-attachment-preview-service__preview-fallback-icon{display:block;width:72px;height:72px;object-fit:contain}.jt-attachment-preview-service__file-icon{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:44px;padding:0 6px;border-radius:4px;background:#2563eb;color:#fff;font-size:20px;font-weight:600;line-height:1}.jt-attachment-preview-service__unsupported-text{margin-top:12px;font-size:16px;color:#333;font-weight:500}.jt-attachment-preview-service__file-name{max-width:min(360px,90vw - 48px);margin-top:6px;overflow:hidden;color:#666;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.jt-attachment-preview-service__primary-download{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:34px;height:22px;margin-top:14px;padding:0 10px;border:0;border-radius:4px;background:#e60000;color:#fff;font-size:12px;text-decoration:none;cursor:pointer}.jt-attachment-preview-service__primary-download:hover{background:#e51e1b}:root{--color-primary: #e60000;--color-primary-light: #ff3a3a;--color-primary-hover: #e51e1b;--color-primary-bg-light: #ffe5e5;--color-primary-bg-lighter: #fdf7f7;--color-primary-bg-subtle: rgba(230, 0, 0, .05);--color-primary-bg-subtle-2: rgba(230, 0, 0, .1);--color-primary-tint-1: #ffecec;--color-primary-tint-2: #ffd1d1;--color-primary-tint-3: #f7b2b2;--color-bg-page: #f9f9f9;--color-bg-card: #ffffff;--color-bg-input: #f9fafb;--color-bg-table-header: #f6f3f3;--color-bg-elevated: #fbf9f9;--color-text-primary: #333333;--color-text-regular: rgba(0, 0, 0, .8);--color-text-secondary: rgba(0, 0, 0, .6);--color-text-tertiary: rgba(0, 0, 0, .4);--color-text-disabled: rgba(0, 0, 0, .2);--color-border-default: #e5e5e5;--color-border-light: #f5f5f5;--color-border-medium: #d9d9d9;--color-border-dark: #999999;--color-border-strong: #666666;--color-border-primary: #e60000;--color-link: #0066ff;--color-error: #e60000;--color-icon-gray: #a6a6a6;--gradient-primary-button: linear-gradient(90deg, #e60000 0%, #ff3a3a 100%);--gradient-secondary-button: linear-gradient(90deg, #ff3a3a 0%, #e60000 100%);--gradient-bg-soft: linear-gradient(90deg, #f9f9f9 0%, #ffecec 100%);--font-family-primary: "PingFang SC", -apple-system, BlinkMacSystemFont, sans-serif;--font-family-secondary: "Source Han Sans", "PingFang SC", sans-serif;--font-size-title-lg: 20px;--font-size-title: 16px;--font-size-body: 16px;--font-size-body-sm: 14px;--font-size-caption: 12px;--font-size-caption-sm: 10px;--font-size-ui: 13px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--spacing-1: 2px;--spacing-2: 4px;--spacing-3: 8px;--spacing-4: 10px;--spacing-5: 12px;--spacing-6: 16px;--spacing-8: 20px;--spacing-10: 32px;--spacing-12: 50px;--spacing-16: 80px;--spacing-20: 160px;--radius-none: 0;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-base: 12px;--radius-lg: 14px;--radius-xl: 16px;--radius-pill: 50px;--shadow-card: 0px 2px 8px 0px rgba(0, 0, 0, .05);--shadow-dropdown: 0px 4px 4px 0px rgba(0, 0, 0, .1);--el-color-primary: #e60000;--el-color-primary-light-3: #f04d4d;--el-color-primary-light-5: #f38080;--el-color-primary-light-7: #f8b3b3;--el-color-primary-light-8: #facccc;--el-color-primary-light-9: #fde6e6;--el-color-primary-dark-2: #b80000;--el-border-color: #e5e5e5;--el-border-color-light: #e5e5e5;--el-border-color-lighter: #e5e5e5;--el-border-color-extra-light: #e5e5e5;--el-border-color-dark: #e5e5e5;--el-border-color-darker: #e5e5e5}[class^=jt-],[class*=" jt-"],[class^=jt-] *,[class*=" jt-"] *{box-sizing:border-box}.jt-button.el-button[data-v-fbcdce34]{--jt-button-icon-size: 14px;--el-button-hover-text-color: #333333;--el-button-hover-border-color: #e5e5e5;--el-button-hover-bg-color: #ffffff;--el-button-active-text-color: #333333;--el-button-active-border-color: #e5e5e5;--el-button-active-bg-color: #ffffff;height:28px;border-radius:4px;border:1px solid #e5e5e5;background:#fff;padding-left:14px;padding-right:14px;font-size:12px;font-weight:400;color:#333}.jt-button.el-button+.jt-button.el-button[data-v-fbcdce34]{margin-left:10px}.jt-button.el-button[data-v-fbcdce34] .jt-button__icon{width:var(--jt-button-icon-size);height:var(--jt-button-icon-size);margin-right:4px;font-size:var(--jt-button-icon-size)}.jt-button.el-button[data-v-fbcdce34] .jt-button__icon svg,.jt-button.el-button[data-v-fbcdce34] .jt-button__icon img{width:var(--jt-button-icon-size);height:var(--jt-button-icon-size)}.jt-button.el-button[data-v-fbcdce34] .jt-button__icon img{display:block}.jt-button.el-button[data-v-fbcdce34] .jt-button__icon+span{margin-left:0}.jt-button.el-button[data-v-fbcdce34]:hover,.jt-button.el-button[data-v-fbcdce34]:focus,.jt-button.el-button[data-v-fbcdce34]:active{border-color:#e5e5e5;background:#fff;color:#333}.jt-button.el-button--primary[data-v-fbcdce34]{border:none;background:linear-gradient(90deg,#e60000,#ff3a3a);color:#fff}.jt-button.el-button--primary[data-v-fbcdce34]:hover,.jt-button.el-button--primary[data-v-fbcdce34]:focus{background:linear-gradient(90deg,#e60000,#ff3a3a);color:#fff}.jt-button.el-button--primary[data-v-fbcdce34] .el-icon{color:#fff}.jt-cascader[data-v-9164edeb]{width:100%;--jt-cascader-text-color: #333333;--jt-cascader-placeholder-color: #999999;--jt-cascader-border-color: #e5e5e5;--jt-cascader-hover-border-color: #cccccc;--jt-cascader-focus-border-color: #e60000;--el-input-text-color: var(--jt-cascader-text-color);--el-input-placeholder-color: var(--jt-cascader-placeholder-color);--el-input-border-color: var(--jt-cascader-border-color);--el-input-hover-border-color: var(--jt-cascader-hover-border-color);--el-color-primary: var(--jt-cascader-focus-border-color)}[data-v-2aaf2264] .jt-date-picker.el-date-editor{--el-date-editor-width: 100%;--jt-date-picker-text-color: #333333;--jt-date-picker-placeholder-color: #999999;--jt-date-picker-border-color: #e5e5e5;--jt-date-picker-hover-border-color: #cccccc;--jt-date-picker-focus-border-color: #e60000;--el-input-text-color: var(--jt-date-picker-text-color);--el-input-placeholder-color: var(--jt-date-picker-placeholder-color);--el-input-border-color: var(--jt-date-picker-border-color);--el-input-hover-border-color: var(--jt-date-picker-hover-border-color);--el-input-focus-border-color: var(--jt-date-picker-focus-border-color);--el-input-focus-border: var(--jt-date-picker-focus-border-color);--el-color-primary: var(--jt-date-picker-focus-border-color)}.jt-input[data-v-c4e9cb3f]{--jt-input-text-color: #333333;--jt-input-placeholder-color: #999999;--jt-input-border-color: #e5e5e5;--jt-input-hover-border-color: #cccccc;--jt-input-focus-border-color: #e60000;--el-input-text-color: var(--jt-input-text-color);--el-input-placeholder-color: var(--jt-input-placeholder-color);--el-input-border-color: var(--jt-input-border-color);--el-input-hover-border-color: var(--jt-input-hover-border-color);--el-input-focus-border-color: var(--jt-input-focus-border-color)}.jt-select[data-v-abce8e44]{--jt-select-text-color: #333333;--jt-select-placeholder-color: #999999;--jt-select-border-color: #e5e5e5;--jt-select-hover-border-color: #cccccc;--jt-select-focus-border-color: #e60000;--el-input-text-color: var(--jt-select-text-color);--el-input-placeholder-color: var(--jt-select-placeholder-color);--el-input-border-color: var(--jt-select-border-color);--el-input-hover-border-color: var(--jt-select-hover-border-color);--el-color-primary: var(--jt-select-focus-border-color)}.jt-form-items[data-v-002c0b17]{--jt-form-columns: 4;--jt-form-gap: 16px;width:100%;display:grid;grid-template-columns:repeat(var(--jt-form-columns),minmax(0,1fr));column-gap:var(--jt-form-gap);row-gap:var(--jt-form-gap)}.jt-form-items__item[data-v-002c0b17]{margin:0;width:100%}.jt-form-items__actions[data-v-002c0b17]{margin:0;width:100%;align-self:end}.jt-form-items__item[data-v-002c0b17] .el-form-item__content{width:100%;min-width:0}.jt-form-items__actions[data-v-002c0b17] .el-form-item__content{display:flex;justify-content:flex-end;align-items:center;width:100%;min-width:0}.jt-form-items__item[data-v-002c0b17] .el-date-editor.el-input,.jt-form-items__item[data-v-002c0b17] .el-date-editor--daterange,.jt-form-items__item[data-v-002c0b17] .el-date-editor .el-input__wrapper,.jt-form-items__item[data-v-002c0b17] .el-cascader{width:100%;min-width:0}.jt-filter-bar[data-v-94909b80]{padding-left:12px;padding-right:12px}.jt-filter-bar__form[data-v-94909b80]{width:100%;display:contents}.jt-filter-bar__btns[data-v-94909b80]{display:flex;justify-content:flex-end;align-items:center;width:100%;height:32px;min-width:0;text-align:right}.jt-filter-bar__icon-arrow[data-v-94909b80]{transition:transform .2s ease}.jt-filter-bar__icon-arrow.is-collapsed[data-v-94909b80]{transform:rotate(180deg)}.jt-table[data-v-4804a967]{flex:1;min-height:0;--el-table-border-color: transparent;--el-table-bg-color: #fff;--el-table-tr-bg-color: #fff;--el-table-header-bg-color: #f6f3f3;--el-table-header-text-color: #333333;--el-table-text-color: #333333;--el-table-row-hover-bg-color: transparent;--el-color-primary: #e60000;background:#fff}.jt-table[data-v-4804a967] .el-table__inner-wrapper:before{height:0}.jt-table[data-v-4804a967] .el-table__header-wrapper{border-radius:12px;overflow:hidden}.jt-table[data-v-4804a967] th.el-table__cell{background:#f6f3f3;font-size:14px;font-weight:400;color:#333;padding:12px 0;border:none}.jt-table[data-v-4804a967] th.el-table__cell:first-child{border-radius:12px 0 0 12px}.jt-table[data-v-4804a967] th.el-table__cell:last-child{border-radius:0 12px 12px 0}.jt-table[data-v-4804a967] th.el-table__cell .cell{padding:0 10px}.jt-table[data-v-4804a967] td.el-table__cell{font-size:14px;font-weight:500;color:#333;padding:12px 0;border:none}.jt-table[data-v-4804a967] td.el-table__cell .cell{padding:0 10px}.jt-table[data-v-4804a967] .el-table__row:nth-child(odd) td{background:#fff}.jt-table[data-v-4804a967] .el-table__row:nth-child(2n) td{background:#fbf9f9}.jt-table[data-v-4804a967] .el-table__row td:first-child{border-radius:12px 0 0 12px}.jt-table[data-v-4804a967] .el-table__row td:last-child{border-radius:0 12px 12px 0}.jt-table[data-v-4804a967] .el-table__empty-block{min-height:200px}.jt-pagination[data-v-19ef6db6]{display:flex;justify-content:center;align-items:center;gap:10px;background:#fff}.jt-pagination[data-v-19ef6db6] .el-pagination{--el-pagination-button-width: 24px;--el-pagination-button-height: 24px;--el-pagination-font-size: 12px;gap:4px}.jt-pagination[data-v-19ef6db6] .el-pager li{width:24px;height:24px;min-width:24px;border-radius:4px;border:1px solid #e1e4e7;font-size:12px;font-weight:400;color:#333;line-height:22px;padding:0;margin:0 2px;background:transparent}.jt-pagination[data-v-19ef6db6] .el-pager li.is-active{background:#e60000;border-color:#e60000;color:#fff}.jt-pagination[data-v-19ef6db6] .btn-prev,.jt-pagination[data-v-19ef6db6] .btn-next{width:24px;height:24px;min-width:24px;border-radius:4px;border:1px solid #e1e4e7;padding:0;margin:0 2px;background:transparent}.jt-pagination[data-v-19ef6db6] .el-pagination__jump{font-size:12px;color:#333;margin-left:4px}.jt-pagination[data-v-19ef6db6] .el-pagination__jump .el-input{width:56px}.jt-pagination[data-v-19ef6db6] .el-pagination__jump .el-input__wrapper{height:24px;border-radius:4px;border:1px solid #e1e4e7;box-shadow:none!important;padding:0 4px}.jt-pagination__count[data-v-19ef6db6]{font-size:14px;font-weight:400;color:#333}.jt-crud-table[data-v-6df082c6]{width:100%;flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;background:#fff}.jt-crud-table[data-v-6df082c6] .jt-pagination{margin-top:auto;flex-shrink:0}.jt-crud-table__toolbar[data-v-6df082c6]{display:flex;justify-content:flex-end;align-items:center;min-width:0}.jt-pagination[data-v-72da666d]{display:flex;justify-content:center;align-items:center;gap:10px;background:#fff}.jt-pagination[data-v-72da666d] .el-pagination{--el-pagination-button-width: 24px;--el-pagination-button-height: 24px;--el-pagination-font-size: 12px;gap:14px}.jt-pagination[data-v-72da666d] .el-pager li{width:24px;height:24px;line-height:24px;min-width:24px;border-radius:4px;border:1px solid #e1e4e7;font-size:12px;font-weight:400;color:#333;padding:0;background:transparent}.jt-pagination[data-v-72da666d] .el-pager li:not(:first-child){margin-left:14px}.jt-pagination[data-v-72da666d] .el-pager li.is-active{background:#fdebe8;border-color:#e60000;color:#e60000}.jt-pagination[data-v-72da666d] .btn-prev,.jt-pagination[data-v-72da666d] .btn-next{width:24px;height:24px;min-width:24px;border-radius:4px;border:1px solid #e1e4e7;padding:0;margin:0 2px;background:transparent}.jt-pagination[data-v-72da666d] .el-pagination__jump{font-size:12px;color:#333;margin-left:4px}.jt-pagination[data-v-72da666d] .el-pagination__jump .el-input{width:56px}.jt-pagination[data-v-72da666d] .el-pagination__jump .el-input__wrapper{height:24px;border-radius:4px;border:1px solid #e1e4e7;box-shadow:none!important;padding:0 4px}.jt-pagination__count[data-v-72da666d]{font-size:14px;font-weight:400;color:#333}.jt-page-header[data-v-0a93ea2c]{--jt-page-header-bg-color: #f9f9f9;--jt-page-header-height: 44px;--jt-page-header-padding-x: 12px;--jt-page-header-border-radius: 6px;--jt-page-header-title-font-size: 16px;--jt-page-header-title-marker-width: 4px;--jt-page-header-title-marker-height: 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:var(--jt-page-header-height);padding-left:var(--jt-page-header-padding-x);padding-right:var(--jt-page-header-padding-x);background-color:var(--jt-page-header-bg-color);border-radius:var(--jt-page-header-border-radius)}.jt-page-header .jt-page-header__title[data-v-0a93ea2c]{display:flex;align-items:center;font-size:var(--jt-page-header-title-font-size);font-weight:500;color:#333}.jt-page-header .jt-page-header__title[data-v-0a93ea2c]:before{content:"";display:block;width:var(--jt-page-header-title-marker-width);height:var(--jt-page-header-title-marker-height);margin-right:6px;background-color:#e60000;border-radius:1px}.jt-page-header--subsection[data-v-0a93ea2c]{--jt-page-header-bg-color: #fff;--jt-page-header-height: 32px;--jt-page-header-padding-x: 0;--jt-page-header-title-font-size: 14px;--jt-page-header-title-marker-width: 3px;--jt-page-header-title-marker-height: 10px}.jt-page-header__title[data-v-0a93ea2c],.jt-page-header__operates[data-v-0a93ea2c]{min-width:0}.jt-page-header__operates[data-v-0a93ea2c]{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.global-info-field-control[data-v-ba86a0ae]{--global-info-control-height: 32px;--global-info-control-border: #d9d9d9;--global-info-control-disabled-bg: #f9fafb;--global-info-control-radius: 4px;width:100%;height:var(--global-info-control-height);min-width:0;font-size:13px;box-sizing:border-box}.global-info-field-control[data-v-ba86a0ae] *,.global-info-field-control[data-v-ba86a0ae] *:before,.global-info-field-control[data-v-ba86a0ae] *:after{box-sizing:border-box}.global-info-field-control.el-input[data-v-ba86a0ae],.global-info-field-control.el-input-number[data-v-ba86a0ae],.global-info-field-control.el-date-editor[data-v-ba86a0ae],.global-info-field-control.el-select[data-v-ba86a0ae]{width:100%;min-width:0;height:var(--global-info-control-height);line-height:var(--global-info-control-height)}.global-info-field-control.el-date-editor[data-v-ba86a0ae]{--el-date-editor-width: 100%}.global-info-field-control.el-date-editor.el-input[data-v-ba86a0ae],.global-info-field-control.el-date-editor.el-input__wrapper[data-v-ba86a0ae]{width:100%;min-width:0;height:var(--global-info-control-height)}.global-info-field-control[data-v-ba86a0ae] .el-input,.global-info-field-control[data-v-ba86a0ae] .el-input-number,.global-info-field-control[data-v-ba86a0ae] .el-date-editor,.global-info-field-control[data-v-ba86a0ae] .el-select{width:100%;min-width:0;height:var(--global-info-control-height);line-height:var(--global-info-control-height)}.global-info-field-control[data-v-ba86a0ae] .el-input__wrapper,.global-info-field-control[data-v-ba86a0ae] .el-select__wrapper,.global-info-field-control[data-v-ba86a0ae] .el-input-number__wrapper,.global-info-field-control[data-v-ba86a0ae] .el-date-editor.el-input__wrapper,.global-info-field-control.el-date-editor.el-input__wrapper[data-v-ba86a0ae]{width:100%;min-width:0;min-height:var(--global-info-control-height);height:var(--global-info-control-height);border-radius:var(--global-info-control-radius);background:#fff;box-shadow:0 0 0 1px var(--global-info-control-border) inset}.global-info-field-control[data-v-ba86a0ae] .el-input__inner,.global-info-field-control[data-v-ba86a0ae] .el-select__selection,.global-info-field-control[data-v-ba86a0ae] .el-input-number .el-input__inner,.global-info-field-control[data-v-ba86a0ae] .el-date-editor .el-input__inner,.global-info-field-control.el-date-editor[data-v-ba86a0ae] .el-input__inner{height:var(--global-info-control-height);line-height:var(--global-info-control-height)}.global-info-field-control[data-v-ba86a0ae] .el-input__prefix,.global-info-field-control[data-v-ba86a0ae] .el-input__suffix,.global-info-field-control[data-v-ba86a0ae] .el-select__prefix,.global-info-field-control[data-v-ba86a0ae] .el-select__suffix{height:var(--global-info-control-height)}.global-info-field-control[data-v-ba86a0ae] .el-select__wrapper{padding-top:0;padding-bottom:0}.global-info-field-control[data-v-ba86a0ae] .el-input__wrapper.is-disabled,.global-info-field-control[data-v-ba86a0ae] .el-select__wrapper.is-disabled,.global-info-field-control[data-v-ba86a0ae] .el-textarea__inner:disabled,.global-info-field-control[data-v-ba86a0ae] .el-input-number.is-disabled .el-input__wrapper,.global-info-field-control.el-date-editor.is-disabled.el-input__wrapper[data-v-ba86a0ae]{background-color:var(--global-info-control-disabled-bg);box-shadow:0 0 0 1px #e5e5e5 inset}.global-info-field-control[data-v-ba86a0ae] .el-input-number__decrease,.global-info-field-control[data-v-ba86a0ae] .el-input-number__increase{height:calc(var(--global-info-control-height) / 2);line-height:calc(var(--global-info-control-height) / 2)}.global-info-field-control[data-v-ba86a0ae] .el-textarea__inner{min-height:72px;border-color:#d9d9d9;border-radius:var(--global-info-control-radius);font-size:13px}.global-info-field-control--switch[data-v-ba86a0ae]{display:inline-flex;height:var(--global-info-control-height);align-items:center}.global-info-field-control--file[data-v-ba86a0ae]{--global-info-control-height: 36px;display:flex;height:var(--global-info-control-height);min-width:0;align-items:center;justify-content:center;border:1px solid #e60000;border-radius:var(--global-info-control-radius);background:#fdebeb;color:#e60000;cursor:pointer;line-height:var(--global-info-control-height)}.global-info-field-control--file.is-filled[data-v-ba86a0ae]{border-color:#e5e5e5;background:#fff}.global-info-field-control--file.is-disabled[data-v-ba86a0ae]{background:var(--global-info-control-disabled-bg);color:#0003;cursor:not-allowed}.global-info-field-control__file-input[data-v-ba86a0ae]{display:none}.global-info-field-control__file-text[data-v-ba86a0ae],.global-info-field-control__file-upload[data-v-ba86a0ae]{min-width:0;overflow:hidden;font-size:14px;line-height:24px;text-overflow:ellipsis;white-space:nowrap}.global-info-field-control--code[data-v-ba86a0ae] .el-textarea__inner{font-family:Consolas,Monaco,Courier New,monospace}.global-info-field-value[data-v-aa0d493d]{display:inline-block;min-height:32px;color:#333;line-height:32px;word-break:break-word}.global-info-field-value--html[data-v-aa0d493d],.global-info-field-value--multi-row[data-v-aa0d493d],.global-info-field-value--code[data-v-aa0d493d]{white-space:pre-wrap}.global-info-field-value--code[data-v-aa0d493d]{width:100%;margin:0;padding:8px 10px;border:1px solid #e5e5e5;border-radius:4px;background:#f9fafb;color:#333;font-family:Consolas,Monaco,Courier New,monospace;line-height:20px}.global-info-field-value--file[data-v-aa0d493d]{color:#e60000;text-decoration:underline;text-underline-offset:3px}.global-info-form-renderer[data-v-9dcd2ba9]{width:100%}.global-info-form-renderer__label[data-v-9dcd2ba9]{display:inline-flex;align-items:center;gap:2px}.global-info-form-renderer__required[data-v-9dcd2ba9]{color:#e60000}.global-info-form-renderer[data-v-9dcd2ba9] .el-form-item{margin-bottom:18px}.global-info-form-renderer[data-v-9dcd2ba9] .el-form-item__label{min-height:20px;margin-bottom:6px;color:#0009;font-size:13px;line-height:20px}.global-info-form-renderer[data-v-9dcd2ba9] .el-input-number,.global-info-form-renderer[data-v-9dcd2ba9] .el-date-editor,.global-info-form-renderer[data-v-9dcd2ba9] .el-select{width:100%}.global-info-delete-confirm{min-width:240px;padding:12px;border:1px solid #ebeef5;border-radius:6px;box-shadow:0 4px 12px #1f232924}.global-info-delete-confirm .el-popconfirm__main{color:#1f2329;font-size:13px;line-height:20px}.global-info-delete-confirm .el-popconfirm__action{margin-top:12px}.global-info-delete-confirm .el-button--primary{border-color:#e60000;background:#e60000}.global-info-table-renderer[data-v-2fa29438]{width:100%}.global-info-table-renderer__table-scroll[data-v-2fa29438]{width:100%;overflow-x:auto;border-radius:12px;background:#f9f9f9}.global-info-table-renderer__table[data-v-2fa29438]{min-width:100%;background:#f9f9f9;color:#222;font-family:PingFang SC,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:24px;--el-table-bg-color: #f9f9f9;--el-table-tr-bg-color: #f9f9f9;--el-table-header-bg-color: #f9f9f9;--el-table-row-hover-bg-color: #f9f9f9;--el-table-border-color: transparent;--el-table-text-color: #222222;--el-table-header-text-color: #333333}.global-info-table-renderer__header[data-v-2fa29438]{display:inline-flex;align-items:center;justify-content:center;gap:2px;color:#333;font-size:14px;font-weight:400;line-height:24px;white-space:nowrap}.global-info-table-renderer__required[data-v-2fa29438],.global-info-table-renderer__delete[data-v-2fa29438]{color:#e60000}.global-info-table-renderer__delete[data-v-2fa29438]{display:inline-flex;align-items:center;gap:4px;font-size:14px;line-height:24px}.global-info-table-renderer__delete-icon[data-v-2fa29438]{font-size:14px}.global-info-table-renderer[data-v-2fa29438] .el-table__inner-wrapper:before,.global-info-table-renderer[data-v-2fa29438] .el-table__border-left-patch,.global-info-table-renderer[data-v-2fa29438] .el-table__border-bottom-patch{display:none}.global-info-table-renderer[data-v-2fa29438] .el-table__header-wrapper th.el-table__cell,.global-info-table-renderer[data-v-2fa29438] .el-table__body-wrapper td.el-table__cell{padding:4px 0;border-bottom:0;background:#f9f9f9}.global-info-table-renderer[data-v-2fa29438] .el-table__header .cell,.global-info-table-renderer[data-v-2fa29438] .el-table__body .cell{min-height:24px;padding:0 12px;color:#222;font-size:14px;font-weight:400;line-height:24px;text-align:center;white-space:nowrap}.global-info-table-renderer[data-v-2fa29438] .el-table__body .cell>.global-info-field-control,.global-info-table-renderer[data-v-2fa29438] .el-table__body .cell .global-info-field-control,.global-info-table-renderer[data-v-2fa29438] .el-table__body .cell .el-input,.global-info-table-renderer[data-v-2fa29438] .el-table__body .cell .el-input-number,.global-info-table-renderer[data-v-2fa29438] .el-table__body .cell .el-select,.global-info-table-renderer[data-v-2fa29438] .el-table__body .cell .el-date-editor{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.global-info-table-renderer[data-v-2fa29438] .el-table__body .cell .el-input__wrapper,.global-info-table-renderer[data-v-2fa29438] .el-table__body .cell .el-select__wrapper,.global-info-table-renderer[data-v-2fa29438] .el-table__body .cell .el-input-number__wrapper,.global-info-table-renderer[data-v-2fa29438] .el-table__body .cell .el-date-editor.el-input__wrapper{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.global-info-table-renderer[data-v-2fa29438] .el-table__header .cell{color:#333}.global-info-table-renderer[data-v-2fa29438] .el-table__fixed-right{background:#f9f9f9}.global-info-section-block[data-v-0d8ae722]{width:100%;min-width:0;padding:0;background:transparent;border:0;border-radius:0}.global-info-section-block__header[data-v-0d8ae722],.global-info-section-block__title-wrap[data-v-0d8ae722],.global-info-section-block__actions[data-v-0d8ae722]{display:flex;align-items:center}.global-info-section-block__header[data-v-0d8ae722]{justify-content:space-between;gap:16px;margin-bottom:12px}.global-info-section-block__title-wrap[data-v-0d8ae722]{min-width:0;gap:8px}.global-info-section-block__marker[data-v-0d8ae722]{width:4px;height:4px;flex:0 0 auto;background:#e60000;border-radius:50%}.global-info-section-block__title[data-v-0d8ae722]{margin:0;overflow:hidden;color:#333;font-size:14px;font-weight:600;line-height:24px;text-overflow:ellipsis;white-space:nowrap}.global-info-section-block__actions[data-v-0d8ae722]{flex:0 0 auto;gap:8px}.global-info-section-block__edit[data-v-0d8ae722],.global-info-section-block__cancel[data-v-0d8ae722],.global-info-section-block__add[data-v-0d8ae722],.global-info-section-block__confirm[data-v-0d8ae722]{min-width:48px;height:24px;padding:0 12px;color:#e60000;background:#ffecec;border-radius:12px;font-size:12px;line-height:24px}.global-info-section-block__confirm[data-v-0d8ae722]{color:#fff;background:#e60000}.global-info-section-block__body[data-v-0d8ae722]{min-width:0}.global-info-section-block__status[data-v-0d8ae722]{min-height:80px;display:flex;align-items:center;justify-content:center;color:#0006;font-size:14px}.global-info-group[data-v-778e227f]{width:100%;min-width:0;padding:16px 20px 20px;background:#fff;border:1px solid #e5e5e5;border-radius:12px}.global-info-group__header[data-v-778e227f]{display:flex;min-width:0;align-items:center;gap:8px;margin-bottom:16px}.global-info-group__marker[data-v-778e227f]{width:3px;height:12px;flex:0 0 auto;background:#e60000;border-radius:2px}.global-info-group__title[data-v-778e227f]{min-width:0;margin:0;overflow:hidden;color:#333;font-size:16px;font-weight:600;line-height:24px;text-overflow:ellipsis;white-space:nowrap}.global-info-group__body[data-v-778e227f]{min-width:0}.global-info-group__section[data-v-778e227f]{min-width:0;padding-bottom:20px;border-bottom:1px solid #e5e5e5}.global-info-group__section+.global-info-group__section[data-v-778e227f]{margin-top:20px}.global-info-group__section[data-v-778e227f]:last-child{padding-bottom:0;border-bottom:0}.global-info-group__empty[data-v-778e227f]{min-height:80px;display:flex;align-items:center;justify-content:center;color:#0006;font-size:14px}.global-info-sections[data-v-f15cf0fb]{display:flex;min-width:0;flex-direction:column;gap:12px}
1
+ .jt-attachment-preview-service-lock{overflow:hidden}.jt-attachment-preview-service{--jt-attachment-preview-service-image-fit: contain;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:5vh 5vw;background:#00000080;color:#333}.jt-attachment-preview-service__modal{display:flex;flex-direction:column;width:90vw;height:90vh;overflow:hidden;border-radius:6px;background:#f7f7f7;box-shadow:0 2px 8px #1f232914}.jt-attachment-preview-service__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:50px;border-bottom:1px solid #f5f5f5;background:#fff}.jt-attachment-preview-service__filename{position:relative;min-width:0;max-width:calc(90vw - 190px);padding-left:29px;overflow:hidden;font-size:16px;font-weight:500;line-height:50px;text-overflow:ellipsis;white-space:nowrap;color:#333}.jt-attachment-preview-service__filename:before{content:"";position:absolute;left:20px;top:50%;width:3px;height:10px;border-radius:1px;background:#e60000;transform:translateY(-50%)}.jt-attachment-preview-service__header-actions{display:flex;align-items:center;flex-shrink:0;height:100%}.jt-attachment-preview-service__top-download,.jt-attachment-preview-service__close{display:inline-flex;align-items:center;justify-content:center;height:100%;border:0;background:#fff;color:#0009;text-decoration:none;cursor:pointer}.jt-attachment-preview-service__top-download{gap:4px;min-width:72px;height:36px;padding:0 12px;font-size:16px;line-height:1;vertical-align:top}.jt-attachment-preview-service__close{width:42px;padding:0;font-size:22px;font-weight:400;line-height:1}.jt-attachment-preview-service__top-download:hover,.jt-attachment-preview-service__close:hover{background:#f9f9f9;color:#333}.jt-attachment-preview-service__download-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:18px;height:18px;font-size:18px;line-height:1;transform:translateY(1px)}.jt-attachment-preview-service__download-icon svg{display:block}.jt-attachment-preview-service__download-text{display:inline-flex;align-items:center;height:18px;line-height:1}.jt-attachment-preview-service__body{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:hidden;background:#f7f7f7}.jt-attachment-preview-service__media,.jt-attachment-preview-service__iframe{display:block;width:100%;height:100%;border:0}.jt-attachment-preview-service__image-viewer{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden}.jt-attachment-preview-service__image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:var(--jt-attachment-preview-service-image-fit);transform-origin:center center;transition:transform .16s ease;user-select:none;will-change:transform;-webkit-user-drag:none}.jt-attachment-preview-service__image--draggable{cursor:grab;touch-action:none}.jt-attachment-preview-service__image--dragging{cursor:grabbing;transition:none}.jt-attachment-preview-service__image-toolbar{position:absolute;left:50%;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 8px;border-radius:4px;background:#000000a8;color:#fff;box-shadow:0 2px 8px #1f23291f;transform:translate(-50%)}.jt-attachment-preview-service__image-tool{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:4px;background:transparent;color:#fff;font-size:16px;line-height:1;cursor:pointer}.jt-attachment-preview-service__image-tool:hover{background:#ffffff29}.jt-attachment-preview-service__image-scale{min-width:42px;color:#fff;font-size:12px;line-height:1;text-align:center}.jt-attachment-preview-service__audio{width:min(520px,100% - 32px)}.jt-attachment-preview-service__pdf-viewer{position:relative;width:100%;height:100%;overflow:hidden;background:#f7f7f7}.jt-attachment-preview-service__pdf-layout{display:flex;width:100%;height:100%;min-height:0}.jt-attachment-preview-service__pdf-layout--hidden{visibility:hidden}.jt-attachment-preview-service__pdf-outline{flex:0 0 220px;width:220px;height:100%;overflow:hidden;border-right:1px solid #f5f5f5;background:#fff}.jt-attachment-preview-service__pdf-outline-title{height:36px;padding:0 12px;border-bottom:1px solid #f5f5f5;color:#333;font-size:13px;font-weight:500;line-height:36px}.jt-attachment-preview-service__pdf-outline-list{height:calc(100% - 36px);overflow:auto;padding:8px 0}.jt-attachment-preview-service__pdf-outline-item{display:block;width:100%;height:32px;padding-right:10px;border:0;background:transparent;color:#0009;font-size:12px;line-height:32px;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer}.jt-attachment-preview-service__pdf-outline-item:hover{background:#f9f9f9;color:#e60000}.jt-attachment-preview-service__pdf-outline-item:disabled{color:#00000080;cursor:not-allowed}.jt-attachment-preview-service__pdf-pages{display:flex;flex:1;flex-direction:column;align-items:center;gap:16px;min-width:0;min-height:100%;overflow:auto;padding:20px}.jt-attachment-preview-service__pdf-page{display:block;max-width:100%;background:#fff;box-shadow:0 2px 10px #1f232924}.jt-attachment-preview-service__pdf-state{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;color:#333;font-size:12px;text-align:center}.jt-attachment-preview-service__pdf-error{max-width:min(520px,90vw - 48px);color:#0009;font-size:11px;line-height:1.5}.jt-attachment-preview-service__detecting{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#333;text-align:center}.jt-attachment-preview-service__detecting-spinner{width:28px;height:28px;margin-bottom:14px;border:2px solid #d9d9d9;border-top-color:#e60000;border-radius:50%;animation:jt-attachment-preview-service-spin .8s linear infinite}.jt-attachment-preview-service__detecting-title{font-size:12px;font-weight:500}.jt-attachment-preview-service__detecting-desc{margin-top:6px;color:#0009;font-size:10px}@keyframes jt-attachment-preview-service-spin{to{transform:rotate(360deg)}}.jt-attachment-preview-service__pdf-fallback-tip{position:absolute;left:50%;bottom:16px;z-index:2;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:8px 12px;border-radius:4px;background:#000000b8;color:#fff;font-size:12px;transform:translate(-50%)}.jt-attachment-preview-service__fallback-download{border:0;background:transparent;flex-shrink:0;color:#fff;font-size:12px;text-decoration:underline;cursor:pointer}.jt-attachment-preview-service__empty,.jt-attachment-preview-service__unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:16px;text-align:center}.jt-attachment-preview-service__empty{color:#0009;font-size:14px}.jt-attachment-preview-service__file-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;max-width:calc(90vw - 48px);min-height:0}.jt-attachment-preview-service__preview-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:0}.jt-attachment-preview-service__preview-fallback-icon{display:block;width:72px;height:72px;object-fit:contain}.jt-attachment-preview-service__file-icon{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:44px;padding:0 6px;border-radius:4px;background:#2563eb;color:#fff;font-size:20px;font-weight:600;line-height:1}.jt-attachment-preview-service__unsupported-text{margin-top:12px;font-size:16px;color:#333;font-weight:500}.jt-attachment-preview-service__file-name{max-width:min(360px,90vw - 48px);margin-top:6px;overflow:hidden;color:#666;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.jt-attachment-preview-service__primary-download{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:34px;height:22px;margin-top:14px;padding:0 10px;border:0;border-radius:4px;background:#e60000;color:#fff;font-size:12px;text-decoration:none;cursor:pointer}.jt-attachment-preview-service__primary-download:hover{background:#e51e1b}:root{--color-primary: #e60000;--color-primary-light: #ff3a3a;--color-primary-hover: #e51e1b;--color-primary-bg-light: #ffe5e5;--color-primary-bg-lighter: #fdf7f7;--color-primary-bg-subtle: rgba(230, 0, 0, .05);--color-primary-bg-subtle-2: rgba(230, 0, 0, .1);--color-primary-tint-1: #ffecec;--color-primary-tint-2: #ffd1d1;--color-primary-tint-3: #f7b2b2;--color-bg-page: #f9f9f9;--color-bg-card: #ffffff;--color-bg-input: #f9fafb;--color-bg-table-header: #f6f3f3;--color-bg-elevated: #fbf9f9;--color-text-primary: #333333;--color-text-regular: rgba(0, 0, 0, .8);--color-text-secondary: rgba(0, 0, 0, .6);--color-text-tertiary: rgba(0, 0, 0, .4);--color-text-disabled: rgba(0, 0, 0, .2);--color-border-default: #e5e5e5;--color-border-light: #f5f5f5;--color-border-medium: #d9d9d9;--color-border-dark: #999999;--color-border-strong: #666666;--color-border-primary: #e60000;--color-link: #0066ff;--color-error: #e60000;--color-icon-gray: #a6a6a6;--gradient-primary-button: linear-gradient(90deg, #e60000 0%, #ff3a3a 100%);--gradient-secondary-button: linear-gradient(90deg, #ff3a3a 0%, #e60000 100%);--gradient-bg-soft: linear-gradient(90deg, #f9f9f9 0%, #ffecec 100%);--font-family-primary: "PingFang SC", -apple-system, BlinkMacSystemFont, sans-serif;--font-family-secondary: "Source Han Sans", "PingFang SC", sans-serif;--font-size-title-lg: 20px;--font-size-title: 16px;--font-size-body: 16px;--font-size-body-sm: 14px;--font-size-caption: 12px;--font-size-caption-sm: 10px;--font-size-ui: 13px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--spacing-1: 2px;--spacing-2: 4px;--spacing-3: 8px;--spacing-4: 10px;--spacing-5: 12px;--spacing-6: 16px;--spacing-8: 20px;--spacing-10: 32px;--spacing-12: 50px;--spacing-16: 80px;--spacing-20: 160px;--radius-none: 0;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-base: 12px;--radius-lg: 14px;--radius-xl: 16px;--radius-pill: 50px;--shadow-card: 0px 2px 8px 0px rgba(0, 0, 0, .05);--shadow-dropdown: 0px 4px 4px 0px rgba(0, 0, 0, .1);--el-color-primary: #e60000;--el-color-primary-light-3: #f04d4d;--el-color-primary-light-5: #f38080;--el-color-primary-light-7: #f8b3b3;--el-color-primary-light-8: #facccc;--el-color-primary-light-9: #fde6e6;--el-color-primary-dark-2: #b80000;--el-border-color: #e5e5e5;--el-border-color-light: #e5e5e5;--el-border-color-lighter: #e5e5e5;--el-border-color-extra-light: #e5e5e5;--el-border-color-dark: #e5e5e5;--el-border-color-darker: #e5e5e5}[class^=jt-],[class*=" jt-"],[class^=jt-] *,[class*=" jt-"] *{box-sizing:border-box}.jt-button.el-button[data-v-fb1ad093]{--jt-button-icon-size: 14px;--el-button-hover-text-color: #333333;--el-button-hover-border-color: #e5e5e5;--el-button-hover-bg-color: #ffffff;--el-button-active-text-color: #333333;--el-button-active-border-color: #e5e5e5;--el-button-active-bg-color: #ffffff;height:28px;border-radius:4px;border:1px solid #e5e5e5;background:#fff;padding-left:14px;padding-right:14px;font-size:12px;font-weight:400;color:#333}.jt-button.el-button+.jt-button.el-button[data-v-fb1ad093]{margin-left:10px}.jt-button.el-button[data-v-fb1ad093] .jt-button__icon{width:var(--jt-button-icon-size);height:var(--jt-button-icon-size);margin-right:4px;font-size:var(--jt-button-icon-size)}.jt-button.el-button[data-v-fb1ad093] .jt-button__icon svg,.jt-button.el-button[data-v-fb1ad093] .jt-button__icon img{width:var(--jt-button-icon-size);height:var(--jt-button-icon-size)}.jt-button.el-button[data-v-fb1ad093] .jt-button__icon img{display:block}.jt-button.el-button[data-v-fb1ad093] .jt-button__icon+span{margin-left:0}.jt-button.el-button[data-v-fb1ad093]:hover,.jt-button.el-button[data-v-fb1ad093]:focus,.jt-button.el-button[data-v-fb1ad093]:active{border-color:#e5e5e5;background:#fff;color:#333}.jt-button.el-button--primary[data-v-fb1ad093]{border:none;background:linear-gradient(90deg,#e60000,#ff3a3a);color:#fff}.jt-button.el-button--primary[data-v-fb1ad093]:hover,.jt-button.el-button--primary[data-v-fb1ad093]:focus{background:linear-gradient(90deg,#e60000,#ff3a3a);color:#fff}.jt-button.el-button--primary[data-v-fb1ad093] .el-icon{color:#fff}.jt-cascader[data-v-04314919]{width:100%;--jt-cascader-text-color: #333333;--jt-cascader-placeholder-color: #999999;--jt-cascader-border-color: #e5e5e5;--jt-cascader-hover-border-color: #cccccc;--jt-cascader-focus-border-color: #e60000;--el-input-text-color: var(--jt-cascader-text-color);--el-input-placeholder-color: var(--jt-cascader-placeholder-color);--el-input-border-color: var(--jt-cascader-border-color);--el-input-hover-border-color: var(--jt-cascader-hover-border-color);--el-color-primary: var(--jt-cascader-focus-border-color)}[data-v-b02a89a7] .jt-date-picker.el-date-editor{--el-date-editor-width: 100%;--jt-date-picker-text-color: #333333;--jt-date-picker-placeholder-color: #999999;--jt-date-picker-border-color: #e5e5e5;--jt-date-picker-hover-border-color: #cccccc;--jt-date-picker-focus-border-color: #e60000;--el-input-text-color: var(--jt-date-picker-text-color);--el-input-placeholder-color: var(--jt-date-picker-placeholder-color);--el-input-border-color: var(--jt-date-picker-border-color);--el-input-hover-border-color: var(--jt-date-picker-hover-border-color);--el-input-focus-border-color: var(--jt-date-picker-focus-border-color);--el-input-focus-border: var(--jt-date-picker-focus-border-color);--el-color-primary: var(--jt-date-picker-focus-border-color)}.jt-input[data-v-cbdadda6]{--jt-input-text-color: #333333;--jt-input-placeholder-color: #999999;--jt-input-border-color: #e5e5e5;--jt-input-hover-border-color: #cccccc;--jt-input-focus-border-color: #e60000;--el-input-text-color: var(--jt-input-text-color);--el-input-placeholder-color: var(--jt-input-placeholder-color);--el-input-border-color: var(--jt-input-border-color);--el-input-hover-border-color: var(--jt-input-hover-border-color);--el-input-focus-border-color: var(--jt-input-focus-border-color)}.jt-select[data-v-974489c0]{--jt-select-text-color: #333333;--jt-select-placeholder-color: #999999;--jt-select-border-color: #e5e5e5;--jt-select-hover-border-color: #cccccc;--jt-select-focus-border-color: #e60000;--el-input-text-color: var(--jt-select-text-color);--el-input-placeholder-color: var(--jt-select-placeholder-color);--el-input-border-color: var(--jt-select-border-color);--el-input-hover-border-color: var(--jt-select-hover-border-color);--el-color-primary: var(--jt-select-focus-border-color)}.jt-form-items[data-v-34dd1869]{--jt-form-columns: 4;--jt-form-gap: 16px;width:100%;display:grid;grid-template-columns:repeat(var(--jt-form-columns),minmax(0,1fr));column-gap:var(--jt-form-gap);row-gap:var(--jt-form-gap)}.jt-form-items__item[data-v-34dd1869]{margin:0;width:100%}.jt-form-items__actions[data-v-34dd1869]{margin:0;width:100%;align-self:end}.jt-form-items__item[data-v-34dd1869] .el-form-item__content{width:100%;min-width:0}.jt-form-items__actions[data-v-34dd1869] .el-form-item__content{display:flex;justify-content:flex-end;align-items:center;width:100%;min-width:0}.jt-form-items__item[data-v-34dd1869] .el-date-editor.el-input,.jt-form-items__item[data-v-34dd1869] .el-date-editor--daterange,.jt-form-items__item[data-v-34dd1869] .el-date-editor .el-input__wrapper,.jt-form-items__item[data-v-34dd1869] .el-cascader{width:100%;min-width:0}.jt-filter-bar[data-v-728c0ffb]{padding-left:12px;padding-right:12px}.jt-filter-bar__form[data-v-728c0ffb]{width:100%;display:contents}.jt-filter-bar__btns[data-v-728c0ffb]{display:flex;justify-content:flex-end;align-items:center;width:100%;height:32px;min-width:0;text-align:right}.jt-filter-bar__icon-arrow[data-v-728c0ffb]{transition:transform .2s ease}.jt-filter-bar__icon-arrow.is-collapsed[data-v-728c0ffb]{transform:rotate(180deg)}.jt-table[data-v-a5da37f4]{flex:1;min-height:0;--el-table-border-color: transparent;--el-table-bg-color: #fff;--el-table-tr-bg-color: #fff;--el-table-header-bg-color: #f6f3f3;--el-table-header-text-color: #333333;--el-table-text-color: #333333;--el-table-row-hover-bg-color: transparent;--el-color-primary: #e60000;background:#fff}.jt-table[data-v-a5da37f4] .el-table__inner-wrapper:before{height:0}.jt-table[data-v-a5da37f4] .el-table__header-wrapper{border-radius:12px;overflow:hidden}.jt-table[data-v-a5da37f4] th.el-table__cell{background:#f6f3f3;font-size:14px;font-weight:400;color:#333;padding:12px 0;border:none}.jt-table[data-v-a5da37f4] th.el-table__cell:first-child{border-radius:12px 0 0 12px}.jt-table[data-v-a5da37f4] th.el-table__cell:last-child{border-radius:0 12px 12px 0}.jt-table[data-v-a5da37f4] th.el-table__cell .cell{padding:0 10px}.jt-table[data-v-a5da37f4] td.el-table__cell{font-size:14px;font-weight:500;color:#333;padding:12px 0;border:none}.jt-table[data-v-a5da37f4] td.el-table__cell .cell{padding:0 10px}.jt-table[data-v-a5da37f4] .el-table__row:nth-child(odd) td{background:#fff}.jt-table[data-v-a5da37f4] .el-table__row:nth-child(2n) td{background:#fbf9f9}.jt-table[data-v-a5da37f4] .el-table__row td:first-child{border-radius:12px 0 0 12px}.jt-table[data-v-a5da37f4] .el-table__row td:last-child{border-radius:0 12px 12px 0}.jt-table[data-v-a5da37f4] .el-table__empty-block{min-height:200px}.jt-pagination[data-v-0f25e0f2]{display:flex;justify-content:center;align-items:center;gap:10px;background:#fff}.jt-pagination[data-v-0f25e0f2] .el-pagination{--el-pagination-button-width: 24px;--el-pagination-button-height: 24px;--el-pagination-font-size: 12px;gap:4px}.jt-pagination[data-v-0f25e0f2] .el-pager li{width:24px;height:24px;min-width:24px;border-radius:4px;border:1px solid #e1e4e7;font-size:12px;font-weight:400;color:#333;line-height:22px;padding:0;margin:0 2px;background:transparent}.jt-pagination[data-v-0f25e0f2] .el-pager li.is-active{background:#e60000;border-color:#e60000;color:#fff}.jt-pagination[data-v-0f25e0f2] .btn-prev,.jt-pagination[data-v-0f25e0f2] .btn-next{width:24px;height:24px;min-width:24px;border-radius:4px;border:1px solid #e1e4e7;padding:0;margin:0 2px;background:transparent}.jt-pagination[data-v-0f25e0f2] .el-pagination__jump{font-size:12px;color:#333;margin-left:4px}.jt-pagination[data-v-0f25e0f2] .el-pagination__jump .el-input{width:56px}.jt-pagination[data-v-0f25e0f2] .el-pagination__jump .el-input__wrapper{height:24px;border-radius:4px;border:1px solid #e1e4e7;box-shadow:none!important;padding:0 4px}.jt-pagination__count[data-v-0f25e0f2]{font-size:14px;font-weight:400;color:#333}.jt-crud-table[data-v-fb176520]{width:100%;flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;background:#fff}.jt-crud-table[data-v-fb176520] .jt-pagination{margin-top:auto;flex-shrink:0}.jt-crud-table__toolbar[data-v-fb176520]{display:flex;justify-content:flex-end;align-items:center;min-width:0}.jt-page-header[data-v-15f58225]{--jt-page-header-bg-color: #f9f9f9;--jt-page-header-height: 44px;--jt-page-header-padding-x: 12px;--jt-page-header-border-radius: 6px;--jt-page-header-title-font-size: 16px;--jt-page-header-title-marker-width: 4px;--jt-page-header-title-marker-height: 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:var(--jt-page-header-height);padding-left:var(--jt-page-header-padding-x);padding-right:var(--jt-page-header-padding-x);background-color:var(--jt-page-header-bg-color);border-radius:var(--jt-page-header-border-radius)}.jt-page-header .jt-page-header__title[data-v-15f58225]{display:flex;align-items:center;font-size:var(--jt-page-header-title-font-size);font-weight:600;color:#333}.jt-page-header .jt-page-header__title[data-v-15f58225]:before{content:"";display:block;width:var(--jt-page-header-title-marker-width);height:var(--jt-page-header-title-marker-height);margin-right:6px;background-color:#e60000;border-radius:1px}.jt-page-header--subsection[data-v-15f58225]{--jt-page-header-bg-color: #fff;--jt-page-header-height: 32px;--jt-page-header-padding-x: 0;--jt-page-header-title-font-size: 14px;--jt-page-header-title-marker-width: 3px;--jt-page-header-title-marker-height: 10px}.jt-page-header__title[data-v-15f58225],.jt-page-header__operates[data-v-15f58225]{min-width:0}.jt-page-header__operates[data-v-15f58225]{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.global-info-field-control[data-v-a905ae74]{--global-info-control-height: 32px;--global-info-control-border: #d9d9d9;--global-info-control-disabled-bg: #f9fafb;--global-info-control-radius: 4px;width:100%;height:var(--global-info-control-height);min-width:0;font-size:13px;box-sizing:border-box}.global-info-field-control[data-v-a905ae74] *,.global-info-field-control[data-v-a905ae74] *:before,.global-info-field-control[data-v-a905ae74] *:after{box-sizing:border-box}.global-info-field-control.el-input[data-v-a905ae74],.global-info-field-control.el-input-number[data-v-a905ae74],.global-info-field-control.el-date-editor[data-v-a905ae74],.global-info-field-control.el-select[data-v-a905ae74]{width:100%;min-width:0;height:var(--global-info-control-height);line-height:var(--global-info-control-height)}.global-info-field-control.el-date-editor[data-v-a905ae74]{--el-date-editor-width: 100%}.global-info-field-control.el-date-editor.el-input[data-v-a905ae74],.global-info-field-control.el-date-editor.el-input__wrapper[data-v-a905ae74]{width:100%;min-width:0;height:var(--global-info-control-height)}.global-info-field-control[data-v-a905ae74] .el-input,.global-info-field-control[data-v-a905ae74] .el-input-number,.global-info-field-control[data-v-a905ae74] .el-date-editor,.global-info-field-control[data-v-a905ae74] .el-select{width:100%;min-width:0;height:var(--global-info-control-height);line-height:var(--global-info-control-height)}.global-info-field-control[data-v-a905ae74] .el-input__wrapper,.global-info-field-control[data-v-a905ae74] .el-select__wrapper,.global-info-field-control[data-v-a905ae74] .el-input-number__wrapper,.global-info-field-control[data-v-a905ae74] .el-date-editor.el-input__wrapper,.global-info-field-control.el-date-editor.el-input__wrapper[data-v-a905ae74]{width:100%;min-width:0;min-height:var(--global-info-control-height);height:var(--global-info-control-height);border-radius:var(--global-info-control-radius);background:#fff;box-shadow:0 0 0 1px var(--global-info-control-border) inset}.global-info-field-control[data-v-a905ae74] .el-input__inner,.global-info-field-control[data-v-a905ae74] .el-select__selection,.global-info-field-control[data-v-a905ae74] .el-input-number .el-input__inner,.global-info-field-control[data-v-a905ae74] .el-date-editor .el-input__inner,.global-info-field-control.el-date-editor[data-v-a905ae74] .el-input__inner{height:var(--global-info-control-height);line-height:var(--global-info-control-height)}.global-info-field-control[data-v-a905ae74] .el-input__prefix,.global-info-field-control[data-v-a905ae74] .el-input__suffix,.global-info-field-control[data-v-a905ae74] .el-select__prefix,.global-info-field-control[data-v-a905ae74] .el-select__suffix{height:var(--global-info-control-height)}.global-info-field-control[data-v-a905ae74] .el-select__wrapper{padding-top:0;padding-bottom:0}.global-info-field-control[data-v-a905ae74] .el-input__wrapper.is-disabled,.global-info-field-control[data-v-a905ae74] .el-select__wrapper.is-disabled,.global-info-field-control[data-v-a905ae74] .el-textarea__inner:disabled,.global-info-field-control[data-v-a905ae74] .el-input-number.is-disabled .el-input__wrapper,.global-info-field-control.el-date-editor.is-disabled.el-input__wrapper[data-v-a905ae74]{background-color:var(--global-info-control-disabled-bg);box-shadow:0 0 0 1px #e5e5e5 inset}.global-info-field-control[data-v-a905ae74] .el-input-number__decrease,.global-info-field-control[data-v-a905ae74] .el-input-number__increase{height:calc(var(--global-info-control-height) / 2);line-height:calc(var(--global-info-control-height) / 2)}.global-info-field-control[data-v-a905ae74] .el-textarea__inner{min-height:72px;border-color:#d9d9d9;border-radius:var(--global-info-control-radius);font-size:13px}.global-info-field-control--switch[data-v-a905ae74]{display:inline-flex;height:var(--global-info-control-height);align-items:center}.global-info-field-control--file[data-v-a905ae74]{--global-info-control-height: 36px;display:flex;height:var(--global-info-control-height);min-width:0;align-items:center;justify-content:center;border:1px solid #e60000;border-radius:var(--global-info-control-radius);background:#fdebeb;color:#e60000;cursor:pointer;line-height:var(--global-info-control-height)}.global-info-field-control--file.is-filled[data-v-a905ae74]{border-color:#e5e5e5;background:#fff}.global-info-field-control--file.is-disabled[data-v-a905ae74]{background:var(--global-info-control-disabled-bg);color:#0003;cursor:not-allowed}.global-info-field-control__file-input[data-v-a905ae74]{display:none}.global-info-field-control__file-text[data-v-a905ae74],.global-info-field-control__file-upload[data-v-a905ae74]{min-width:0;overflow:hidden;font-size:14px;line-height:24px;text-overflow:ellipsis;white-space:nowrap}.global-info-field-control--code[data-v-a905ae74] .el-textarea__inner{font-family:Consolas,Monaco,Courier New,monospace}.global-info-field-value[data-v-f7ce14aa]{display:inline-block;min-height:32px;color:#333;line-height:32px;word-break:break-word}.global-info-field-value--html[data-v-f7ce14aa],.global-info-field-value--multi-row[data-v-f7ce14aa],.global-info-field-value--code[data-v-f7ce14aa]{white-space:pre-wrap}.global-info-field-value--code[data-v-f7ce14aa]{width:100%;margin:0;padding:8px 10px;border:1px solid #e5e5e5;border-radius:4px;background:#f9fafb;color:#333;font-family:Consolas,Monaco,Courier New,monospace;line-height:20px}.global-info-field-value--file[data-v-f7ce14aa]{color:#e60000;text-decoration:underline;text-underline-offset:3px}.global-info-form-renderer[data-v-0de9b842]{width:100%}.global-info-form-renderer__label[data-v-0de9b842]{display:inline-flex;align-items:center;gap:2px}.global-info-form-renderer__required[data-v-0de9b842]{color:#e60000}.global-info-form-renderer[data-v-0de9b842] .el-form-item{margin-bottom:18px}.global-info-form-renderer[data-v-0de9b842] .el-form-item__label{min-height:20px;margin-bottom:6px;color:#0009;font-size:13px;line-height:20px}.global-info-form-renderer[data-v-0de9b842] .el-input-number,.global-info-form-renderer[data-v-0de9b842] .el-date-editor,.global-info-form-renderer[data-v-0de9b842] .el-select{width:100%}.global-info-delete-confirm{min-width:240px;padding:12px;border:1px solid #ebeef5;border-radius:6px;box-shadow:0 4px 12px #1f232924}.global-info-delete-confirm .el-popconfirm__main{color:#1f2329;font-size:13px;line-height:20px}.global-info-delete-confirm .el-popconfirm__action{margin-top:12px}.global-info-delete-confirm .el-button--primary{border-color:#e60000;background:#e60000}.global-info-table-renderer[data-v-8f6d6cb2]{width:100%}.global-info-table-renderer__table-scroll[data-v-8f6d6cb2]{width:100%;overflow-x:auto;border-radius:12px;background:#f9f9f9}.global-info-table-renderer__table[data-v-8f6d6cb2]{min-width:100%;background:#f9f9f9;color:#222;font-family:PingFang SC,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:24px;--el-table-bg-color: #f9f9f9;--el-table-tr-bg-color: #f9f9f9;--el-table-header-bg-color: #f9f9f9;--el-table-row-hover-bg-color: #f9f9f9;--el-table-border-color: transparent;--el-table-text-color: #222222;--el-table-header-text-color: #333333}.global-info-table-renderer__header[data-v-8f6d6cb2]{display:inline-flex;align-items:center;justify-content:center;gap:2px;color:#333;font-size:14px;font-weight:400;line-height:24px;white-space:nowrap}.global-info-table-renderer__required[data-v-8f6d6cb2],.global-info-table-renderer__delete[data-v-8f6d6cb2]{color:#e60000}.global-info-table-renderer__delete[data-v-8f6d6cb2]{display:inline-flex;align-items:center;gap:4px;font-size:14px;line-height:24px}.global-info-table-renderer__delete-icon[data-v-8f6d6cb2]{font-size:14px}.global-info-table-renderer[data-v-8f6d6cb2] .el-table__inner-wrapper:before,.global-info-table-renderer[data-v-8f6d6cb2] .el-table__border-left-patch,.global-info-table-renderer[data-v-8f6d6cb2] .el-table__border-bottom-patch{display:none}.global-info-table-renderer[data-v-8f6d6cb2] .el-table__header-wrapper th.el-table__cell,.global-info-table-renderer[data-v-8f6d6cb2] .el-table__body-wrapper td.el-table__cell{padding:4px 0;border-bottom:0;background:#f9f9f9}.global-info-table-renderer[data-v-8f6d6cb2] .el-table__header .cell,.global-info-table-renderer[data-v-8f6d6cb2] .el-table__body .cell{min-height:24px;padding:0 12px;color:#222;font-size:14px;font-weight:400;line-height:24px;text-align:center;white-space:nowrap}.global-info-table-renderer[data-v-8f6d6cb2] .el-table__body .cell>.global-info-field-control,.global-info-table-renderer[data-v-8f6d6cb2] .el-table__body .cell .global-info-field-control,.global-info-table-renderer[data-v-8f6d6cb2] .el-table__body .cell .el-input,.global-info-table-renderer[data-v-8f6d6cb2] .el-table__body .cell .el-input-number,.global-info-table-renderer[data-v-8f6d6cb2] .el-table__body .cell .el-select,.global-info-table-renderer[data-v-8f6d6cb2] .el-table__body .cell .el-date-editor{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.global-info-table-renderer[data-v-8f6d6cb2] .el-table__body .cell .el-input__wrapper,.global-info-table-renderer[data-v-8f6d6cb2] .el-table__body .cell .el-select__wrapper,.global-info-table-renderer[data-v-8f6d6cb2] .el-table__body .cell .el-input-number__wrapper,.global-info-table-renderer[data-v-8f6d6cb2] .el-table__body .cell .el-date-editor.el-input__wrapper{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.global-info-table-renderer[data-v-8f6d6cb2] .el-table__header .cell{color:#333}.global-info-table-renderer[data-v-8f6d6cb2] .el-table__fixed-right{background:#f9f9f9}.global-info-section-block[data-v-7e16fe3d]{width:100%;min-width:0;padding:0;background:transparent;border:0;border-radius:0}.global-info-section-block__header[data-v-7e16fe3d],.global-info-section-block__title-wrap[data-v-7e16fe3d],.global-info-section-block__actions[data-v-7e16fe3d]{display:flex;align-items:center}.global-info-section-block__header[data-v-7e16fe3d]{justify-content:space-between;gap:16px;margin-bottom:12px}.global-info-section-block__title-wrap[data-v-7e16fe3d]{min-width:0;gap:8px}.global-info-section-block__marker[data-v-7e16fe3d]{width:4px;height:4px;flex:0 0 auto;background:#e60000;border-radius:50%}.global-info-section-block__title[data-v-7e16fe3d]{margin:0;overflow:hidden;color:#333;font-size:14px;font-weight:600;line-height:24px;text-overflow:ellipsis;white-space:nowrap}.global-info-section-block__actions[data-v-7e16fe3d]{flex:0 0 auto;gap:8px}.global-info-section-block__edit[data-v-7e16fe3d],.global-info-section-block__cancel[data-v-7e16fe3d],.global-info-section-block__add[data-v-7e16fe3d],.global-info-section-block__confirm[data-v-7e16fe3d]{min-width:48px;height:24px;padding:0 12px;color:#e60000;background:#ffecec;border-radius:12px;font-size:12px;line-height:24px}.global-info-section-block__confirm[data-v-7e16fe3d]{color:#fff;background:#e60000}.global-info-section-block__body[data-v-7e16fe3d]{min-width:0}.global-info-section-block__status[data-v-7e16fe3d]{min-height:80px;display:flex;align-items:center;justify-content:center;color:#0006;font-size:14px}.global-info-group[data-v-b6f26a79]{width:100%;min-width:0;padding:16px 20px 20px;background:#fff;border:1px solid #e5e5e5;border-radius:12px}.global-info-group__header[data-v-b6f26a79]{display:flex;min-width:0;align-items:center;gap:8px;margin-bottom:16px}.global-info-group__marker[data-v-b6f26a79]{width:3px;height:12px;flex:0 0 auto;background:#e60000;border-radius:2px}.global-info-group__title[data-v-b6f26a79]{min-width:0;margin:0;overflow:hidden;color:#333;font-size:16px;font-weight:600;line-height:24px;text-overflow:ellipsis;white-space:nowrap}.global-info-group__body[data-v-b6f26a79]{min-width:0}.global-info-group__section[data-v-b6f26a79]{min-width:0;padding-bottom:20px;border-bottom:1px solid #e5e5e5}.global-info-group__section+.global-info-group__section[data-v-b6f26a79]{margin-top:20px}.global-info-group__section[data-v-b6f26a79]:last-child{padding-bottom:0;border-bottom:0}.global-info-group__empty[data-v-b6f26a79]{min-height:80px;display:flex;align-items:center;justify-content:center;color:#0006;font-size:14px}.global-info-sections[data-v-904289c5]{display:flex;min-width:0;flex-direction:column;gap:12px}
@@ -1,5 +1,4 @@
1
- export { JtCrudTable, JtFilterBar, JtTable } from './table/index';
2
- export { JtPagination } from './JtPagination/index';
1
+ export { JtCrudTable, JtFilterBar, JtPagination, JtTable } from './table/index';
3
2
  export type { JtCrudColumn, JtCrudOption, JtDicItem, JtPaginationData, JtSearchType, } from './table/index';
4
3
  export { JtButton } from './JtButton/index';
5
4
  export { JtAttachmentPreview, JtAttachmentPreviewByParams, setupJtAttachmentPreview, } from './JtAttachmentPreview/index';
@@ -9,5 +8,4 @@ export { GlobalInfoAutoRenderer, GlobalInfoDeleteConfirm, GlobalInfoFieldControl
9
8
  export type { JTCascaderFormItemConfig, JTCompatibleFormItemType, JTElementFormItemType, JTFormItemCascaderOption, JTFormItemConfig, JTFormItemEventHandler, JTFormItemType, JTFormItemsForm, JTFormItemsProps, JtOptionItem, } from './form/index';
10
9
  export type { JtPageHeaderOperate, JtPageHeaderProps } from './JtPageHeader/index';
11
10
  export type { JtAttachmentPreviewHandler, JtAttachmentPreviewFileOptions, JtAttachmentPreviewRequestConfig, JtAttachmentPreviewService, JtAttachmentPreviewMode, JtAttachmentPreviewOptions, JtAttachmentPreviewResolvedType, } from './JtAttachmentPreview/index';
12
- export type { JtPaginationOption } from './JtPagination/index';
13
11
  export type { GlobalInfoActions, GlobalInfoApiOperation, GlobalInfoDetailParams, GlobalInfoField, GlobalInfoFieldOption, GlobalInfoInfoSet, GlobalInfoNode, GlobalInfoOperationContext, GlobalInfoOpenTreeParams, GlobalInfoProviderSlotProps, GlobalInfoRawRecord, GlobalInfoRenderType, GlobalInfoScheme, GlobalInfoSection, GlobalInfoSectionLoadTarget, GlobalInfoSectionSlotScope, GlobalInfoSectionStatus, GlobalInfoSectionTarget, GlobalInfoService, GlobalInfoSetMark, GlobalInfoState, GlobalInfoTemplateTreeParams, GlobalInfoUpdateParams, GlobalInfoViewModel, } from './globalInfo/index';
@@ -1,3 +1,3 @@
1
1
  import './assets/styles/base.css';
2
2
  export { GlobalInfoAutoRenderer, GlobalInfoDeleteConfirm, GlobalInfoFieldControl, GlobalInfoFieldValue, GlobalInfoFormRenderer, GlobalInfoGroup, GlobalInfoProvider, GlobalInfoSectionBlock, GlobalInfoSectionOutlet, GlobalInfoSections, GlobalInfoTableRenderer, JtAttachmentPreview, JtAttachmentPreviewByParams, JtCascader, JtButton, JtCrudTable, JtDatePicker, JtFilterBar, JtFormItems, JtInput, JtPageHeader, JtPagination, JtSelect, JtTable, buildGlobalInfoUpdatePayload, createEmptyGlobalInfoViewModel, isGlobalInfoNode, mergeGlobalInfoChildren, normalizeGlobalInfoDetail, normalizeGlobalInfoTree, resolveGlobalInfoRenderType, setupJtAttachmentPreview, useGlobalInfoController, } from './components/index';
3
- export type { GlobalInfoActions, GlobalInfoApiOperation, GlobalInfoDetailParams, GlobalInfoField, GlobalInfoFieldOption, GlobalInfoInfoSet, GlobalInfoNode, GlobalInfoOperationContext, GlobalInfoOpenTreeParams, GlobalInfoProviderSlotProps, GlobalInfoRawRecord, GlobalInfoRenderType, GlobalInfoScheme, GlobalInfoSection, GlobalInfoSectionLoadTarget, GlobalInfoSectionSlotScope, GlobalInfoSectionStatus, GlobalInfoSectionTarget, GlobalInfoService, GlobalInfoSetMark, GlobalInfoState, GlobalInfoTemplateTreeParams, GlobalInfoUpdateParams, GlobalInfoViewModel, JTCascaderFormItemConfig, JtCrudColumn, JtCrudOption, JtDicItem, JTCompatibleFormItemType, JTElementFormItemType, JTFormItemConfig, JTFormItemEventHandler, JTFormItemType, JTFormItemsForm, JTFormItemsProps, JTFormItemCascaderOption, JtAttachmentPreviewHandler, JtAttachmentPreviewFileOptions, JtAttachmentPreviewRequestConfig, JtAttachmentPreviewService, JtAttachmentPreviewMode, JtAttachmentPreviewOptions, JtAttachmentPreviewResolvedType, JtOptionItem, JtPageHeaderOperate, JtPageHeaderProps, JtPaginationData, JtPaginationOption, JtSearchType, } from './components/index';
3
+ export type { GlobalInfoActions, GlobalInfoApiOperation, GlobalInfoDetailParams, GlobalInfoField, GlobalInfoFieldOption, GlobalInfoInfoSet, GlobalInfoNode, GlobalInfoOperationContext, GlobalInfoOpenTreeParams, GlobalInfoProviderSlotProps, GlobalInfoRawRecord, GlobalInfoRenderType, GlobalInfoScheme, GlobalInfoSection, GlobalInfoSectionLoadTarget, GlobalInfoSectionSlotScope, GlobalInfoSectionStatus, GlobalInfoSectionTarget, GlobalInfoService, GlobalInfoSetMark, GlobalInfoState, GlobalInfoTemplateTreeParams, GlobalInfoUpdateParams, GlobalInfoViewModel, JTCascaderFormItemConfig, JtCrudColumn, JtCrudOption, JtDicItem, JTCompatibleFormItemType, JTElementFormItemType, JTFormItemConfig, JTFormItemEventHandler, JTFormItemType, JTFormItemsForm, JTFormItemsProps, JTFormItemCascaderOption, JtAttachmentPreviewHandler, JtAttachmentPreviewFileOptions, JtAttachmentPreviewRequestConfig, JtAttachmentPreviewService, JtAttachmentPreviewMode, JtAttachmentPreviewOptions, JtAttachmentPreviewResolvedType, JtOptionItem, JtPageHeaderOperate, JtPageHeaderProps, JtPaginationData, JtSearchType, } from './components/index';
package/package.json CHANGED
@@ -1,87 +1,87 @@
1
- {
2
- "name": "@jt-home/mfe-components",
3
- "version": "1.0.6",
4
- "private": false,
5
- "type": "module",
6
- "main": "dist/index.cjs",
7
- "module": "dist/index.mjs",
8
- "types": "dist/types/main.d.ts",
9
- "style": "dist/style.css",
10
- "publishConfig": {
11
- "access": "public"
12
- },
13
- "exports": {
14
- ".": {
15
- "types": "./dist/types/main.d.ts",
16
- "import": "./dist/index.mjs",
17
- "require": "./dist/index.cjs"
18
- },
19
- "./JtAttachmentPreview": {
20
- "types": "./dist/types/components/JtAttachmentPreview/index.d.ts",
21
- "import": "./dist/JtAttachmentPreview/index.mjs",
22
- "require": "./dist/JtAttachmentPreview/index.cjs"
23
- },
24
- "./style.css": "./dist/style.css",
25
- "./JtAttachmentPreview/style.css": "./dist/JtAttachmentPreview/style.css"
26
- },
27
- "files": [
28
- "dist"
29
- ],
30
- "sideEffects": [
31
- "*.css",
32
- "*.scss"
33
- ],
34
- "scripts": {
35
- "dev": "vite",
36
- "build:types": "vue-tsc -p tsconfig.lib.json",
37
- "build:bundle": "vite build",
38
- "build": "pnpm run build:bundle && pnpm run build:types",
39
- "build:analyze": "vite build --mode analyze",
40
- "prepublishOnly": "pnpm build",
41
- "preview": "vite preview --host 127.0.0.1 --port 5001",
42
- "test:component-attrs": "tsc --module NodeNext --moduleResolution NodeNext --target ES2020 --outDir tmp/unit-tests src/utils/componentAttrs.ts src/utils/componentAttrs.test.ts && node tmp/unit-tests/componentAttrs.test.js"
43
- },
44
- "dependencies": {
45
- "@element-plus/icons-vue": "^2.3.2",
46
- "@jt-home/mfe-components": "link:",
47
- "pdfjs-dist": "^5.7.284"
48
- },
49
- "devDependencies": {
50
- "@babel/eslint-parser": "^7.24.5",
51
- "@commitlint/cli": "^20.4.2",
52
- "@commitlint/config-conventional": "^20.4.2",
53
- "@dd-code/eslint-config-standard": "^1.0.3",
54
- "@types/node": "^24.10.1",
55
- "@typescript-eslint/eslint-plugin": "^7.9.0",
56
- "@typescript-eslint/parser": "^7.9.0",
57
- "@vitejs/plugin-vue": "^5.2.4",
58
- "@vue/tsconfig": "^0.8.1",
59
- "element-plus": "^2.14.0",
60
- "eslint": "^8.57.0",
61
- "eslint-config-prettier": "^9.1.0",
62
- "eslint-plugin-html": "^8.1.1",
63
- "eslint-plugin-import": "^2.29.1",
64
- "eslint-plugin-prettier": "^5.1.3",
65
- "eslint-plugin-react": "^7.34.1",
66
- "eslint-plugin-vue": "^9.26.0",
67
- "husky": "^9.1.7",
68
- "postcss": "^8.5.8",
69
- "postcss-pxtorem": "^6.1.0",
70
- "prettier": "^3.2.5",
71
- "rollup-plugin-visualizer": "^7.0.1",
72
- "sass": "^1.97.3",
73
- "typescript": "^5.4.5",
74
- "unocss": "^66.6.2",
75
- "unplugin-auto-import": "^19.3.0",
76
- "unplugin-vue-components": "^28.8.0",
77
- "vite": "^5.4.6",
78
- "vite-plugin-svg-icons": "^2.0.1",
79
- "vue": "3.5.10",
80
- "vue-eslint-parser": "^9.4.2",
81
- "vue-tsc": "^3.1.5"
82
- },
83
- "peerDependencies": {
84
- "element-plus": "^2.14.0",
85
- "vue": "^3.5.10"
86
- }
87
- }
1
+ {
2
+ "name": "@jt-home/mfe-components",
3
+ "version": "1.0.8",
4
+ "private": false,
5
+ "type": "module",
6
+ "main": "dist/index.cjs",
7
+ "module": "dist/index.mjs",
8
+ "types": "dist/types/main.d.ts",
9
+ "style": "dist/style.css",
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/types/main.d.ts",
16
+ "import": "./dist/index.mjs",
17
+ "require": "./dist/index.cjs"
18
+ },
19
+ "./JtAttachmentPreview": {
20
+ "types": "./dist/types/components/JtAttachmentPreview/index.d.ts",
21
+ "import": "./dist/JtAttachmentPreview/index.mjs",
22
+ "require": "./dist/JtAttachmentPreview/index.cjs"
23
+ },
24
+ "./style.css": "./dist/style.css",
25
+ "./JtAttachmentPreview/style.css": "./dist/JtAttachmentPreview/style.css"
26
+ },
27
+ "files": [
28
+ "dist"
29
+ ],
30
+ "sideEffects": [
31
+ "*.css",
32
+ "*.scss"
33
+ ],
34
+ "scripts": {
35
+ "dev": "vite",
36
+ "build:types": "vue-tsc -p tsconfig.lib.json",
37
+ "build:bundle": "vite build",
38
+ "build": "pnpm run build:bundle && pnpm run build:types",
39
+ "build:analyze": "vite build --mode analyze",
40
+ "prepublishOnly": "pnpm build",
41
+ "preview": "vite preview --host 127.0.0.1 --port 5001",
42
+ "test:component-attrs": "tsc --module NodeNext --moduleResolution NodeNext --target ES2020 --outDir tmp/unit-tests src/utils/componentAttrs.ts src/utils/componentAttrs.test.ts && node tmp/unit-tests/componentAttrs.test.js"
43
+ },
44
+ "dependencies": {
45
+ "@element-plus/icons-vue": "^2.3.2",
46
+ "@jt-home/mfe-components": "link:",
47
+ "pdfjs-dist": "^5.7.284"
48
+ },
49
+ "devDependencies": {
50
+ "@babel/eslint-parser": "^7.24.5",
51
+ "@commitlint/cli": "^20.4.2",
52
+ "@commitlint/config-conventional": "^20.4.2",
53
+ "@dd-code/eslint-config-standard": "^1.0.3",
54
+ "@types/node": "^24.10.1",
55
+ "@typescript-eslint/eslint-plugin": "^7.9.0",
56
+ "@typescript-eslint/parser": "^7.9.0",
57
+ "@vitejs/plugin-vue": "^5.2.4",
58
+ "@vue/tsconfig": "^0.8.1",
59
+ "element-plus": "^2.14.0",
60
+ "eslint": "^8.57.0",
61
+ "eslint-config-prettier": "^9.1.0",
62
+ "eslint-plugin-html": "^8.1.1",
63
+ "eslint-plugin-import": "^2.29.1",
64
+ "eslint-plugin-prettier": "^5.1.3",
65
+ "eslint-plugin-react": "^7.34.1",
66
+ "eslint-plugin-vue": "^9.26.0",
67
+ "husky": "^9.1.7",
68
+ "postcss": "^8.5.8",
69
+ "postcss-pxtorem": "^6.1.0",
70
+ "prettier": "^3.2.5",
71
+ "rollup-plugin-visualizer": "^7.0.1",
72
+ "sass": "^1.97.3",
73
+ "typescript": "^5.4.5",
74
+ "unocss": "^66.6.2",
75
+ "unplugin-auto-import": "^19.3.0",
76
+ "unplugin-vue-components": "^28.8.0",
77
+ "vite": "^5.4.6",
78
+ "vite-plugin-svg-icons": "^2.0.1",
79
+ "vue": "3.5.10",
80
+ "vue-eslint-parser": "^9.4.2",
81
+ "vue-tsc": "^3.1.5"
82
+ },
83
+ "peerDependencies": {
84
+ "element-plus": "^2.14.0",
85
+ "vue": "^3.5.10"
86
+ }
87
+ }
package/readme.md CHANGED
@@ -9,10 +9,10 @@
9
9
  | `JtButton` | 基于 Element Plus `ElButton` 的通用按钮,统一按钮样式,支持图标 prop 和图标插槽。 | [查看文档](#jtbutton) |
10
10
  | `JtPageHeader` | 页面或业务区块标题栏,支持右侧操作按钮配置和操作事件。 | [查看文档](#jtpageheader) |
11
11
  | `JtFormItems` | 配置化表单项渲染器,负责渲染表单项,不内置表单提交逻辑。 | [查看文档](#jtformitems) |
12
- | `JtFilterBar` | 查询筛选区组件,组合表单项、查询、重置和展开收起能力。 | [查看文档](#jtfilterbar) |
13
- | `JtTable` | 配置化表格组件,支持列配置、统一列属性、插槽扩展和常用表格能力。 | [查看文档](#jttable) |
14
- | `JtPagination` | 分页组件封装,统一分页数据和分页事件。 | [查看文档](#jtpagination) |
15
- | `JtTableLayout` | 查询区、工具栏、表格区的标准页面布局容器。 | [查看文档](#jttablelayout) |
12
+ | `JtFilterBar` | 查询筛选区组件,组合表单项、查询、重置和展开收起能力。 | [查看文档](#jtfilterbar) |
13
+ | `JtTable` | 配置化表格组件,支持列配置、统一列属性、插槽扩展和常用表格能力。 | [查看文档](#jttable) |
14
+ | `JtPagination` | 表格分页组件,统一分页展示和分页事件。 | [查看文档](./src/components/table/README.md#jtpagination) |
15
+ | `JtTableLayout` | 查询区、工具栏、表格区的标准页面布局容器。 | [查看文档](#jttablelayout) |
16
16
  | `JtCrud` | 面向常规列表页的 CRUD 组合组件,整合查询、表格、分页和头部操作。 | [查看文档](#jtcrud) |
17
17
  | `JtCrudTable` / `table` | 面向表格 CRUD 场景的增强模块,支持筛选列、字典映射、远程筛选、分页和插槽扩展。 | [查看文档](./src/components/table/README.md) |
18
18
  | `GlobalInfoProvider` / `globalInfo` | 面向“全球信息模板”的数据容器、自动渲染器和业务扩展出口。 | [查看文档](./src/components/globalInfo/README.md) |
@@ -84,22 +84,20 @@ import {
84
84
  JtButton,
85
85
  JtPageHeader,
86
86
  JtFormItems,
87
- JtFilterBar,
88
- JtTable,
89
- JtPagination,
90
- JtTableLayout,
87
+ JtFilterBar,
88
+ JtTable,
89
+ JtPagination,
90
+ JtTableLayout,
91
91
  JtCrud,
92
92
  } from '@jt-home/mfe-components';
93
93
 
94
94
  import type {
95
95
  JTFormItemConfig,
96
96
  JtFilterBarProps,
97
- JtTableColumn,
98
- JtTableProps,
99
- JtPageHeaderProps,
100
- JtPaginationData,
101
- JtPaginationOption,
102
- JtTableLayoutProps,
97
+ JtTableColumn,
98
+ JtTableProps,
99
+ JtPageHeaderProps,
100
+ JtTableLayoutProps,
103
101
  JtCrudSearchProps,
104
102
  JtCrudTableProps,
105
103
  } from '@jt-home/mfe-components';
@@ -484,55 +482,7 @@ function handlePageChange(nextPage: number, nextSize: number) {
484
482
  | `#列prop` | 当列配置 `showSlot: true` 时,用同名插槽自定义单元格 |
485
483
  | `doLayout` / `clearSelection` / `toggleRowSelection` | 暴露的表格实例方法 |
486
484
 
487
- ## JtPagination
488
-
489
- `JtPagination` 是分页组件,基于 Element Plus `ElPagination` 封装,统一分页样式,并在分页右侧展示总条数。除 `currentPage` / `pageSize` 使用 `v-model` 托管外,其余 props 与事件均沿用 Element Plus `ElPagination`。
490
-
491
- ```vue
492
- <template>
493
- <JtPagination
494
- v-model:current-page="page.currentPage"
495
- v-model:page-size="page.pageSize"
496
- :total="page.total"
497
- @change="handleChange"
498
- />
499
- </template>
500
-
501
- <script setup lang="ts">
502
- import { reactive } from 'vue';
503
- import { JtPagination } from '@jt-home/mfe-components';
504
-
505
- const page = reactive({
506
- currentPage: 1,
507
- pageSize: 20,
508
- total: 120,
509
- });
510
-
511
- function handleChange(nextPage: number, nextSize: number) {
512
- page.currentPage = nextPage;
513
- page.pageSize = nextSize;
514
- }
515
- </script>
516
- ```
517
-
518
- ### Props / Events
519
-
520
- | 名称 | 说明 | 类型 | 默认值 |
521
- | --- | --- | --- | --- |
522
- | `currentPage` | 当前页,支持 `v-model:current-page` | `number` | `1` |
523
- | `pageSize` | 每页条数,支持 `v-model:page-size` | `number` | `20` |
524
- | `total` | 总条数 | `number` | `0` |
525
- | `pageSizes` | 每页条数选项 | `number[]` | `[10, 20, 50, 100]` |
526
- | `layout` | Element Plus 分页布局 | `string` | `prev, pager, next, jumper` |
527
- | `hideOnSinglePage` | 单页时隐藏分页和总数 | `boolean` | `false` |
528
- | 其他 `ElPagination` props | 透传到 Element Plus `ElPagination` | `PaginationProps` | - |
529
- | `current-change` | 当前页变化 | `(page: number) => void` | - |
530
- | `size-change` | 每页条数变化 | `(size: number) => void` | - |
531
- | `change` | 页码或每页条数变化 | `(page: number, pageSize: number) => void` | - |
532
- | `prev-click` / `next-click` | 点击上一页 / 下一页 | `(page: number) => void` | - |
533
- | 其他 `ElPagination` events | 与 Element Plus `ElPagination` 保持一致 | `paginationEmits` | - |
534
-
535
- ## JtTableLayout
485
+ ## JtTableLayout
536
486
 
537
487
  `JtTableLayout` 是搜索区和表格区的纯布局组件。它不处理业务数据,只负责页面结构、标题区和插槽位置。
538
488
 
@@ -1,2 +0,0 @@
1
- export { default as JtPagination } from './index.vue';
2
- export type { JtPaginationData, JtPaginationOption } from './types';
@@ -1,22 +0,0 @@
1
- import { PaginationProps } from 'element-plus';
2
- type ElPaginationProps = Partial<Omit<PaginationProps, 'currentPage' | 'pageSize'>>;
3
- type __VLS_Props = ElPaginationProps;
4
- type __VLS_ModelProps = {
5
- 'currentPage'?: number;
6
- 'pageSize'?: number;
7
- };
8
- type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
9
- declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
- "update:currentPage": (value: number) => any;
11
- "update:pageSize": (value: number) => any;
12
- }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
13
- "onUpdate:currentPage"?: ((value: number) => any) | undefined;
14
- "onUpdate:pageSize"?: ((value: number) => any) | undefined;
15
- }>, {
16
- readonly layout: string;
17
- readonly total: number;
18
- readonly pageSizes: number[];
19
- readonly hideOnSinglePage: boolean;
20
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
- declare const _default: typeof __VLS_export;
22
- export default _default;
@@ -1,16 +0,0 @@
1
- /** 分页数据。 */
2
- export interface JtPaginationData {
3
- /** 当前页码。 */
4
- currentPage: number;
5
- /** 每页条数。 */
6
- pageSize: number;
7
- /** 总条数。 */
8
- total: number;
9
- }
10
- /** JtPagination 组件配置。 */
11
- export interface JtPaginationOption {
12
- /** el-pagination 的 layout。 */
13
- paginationLayout?: string;
14
- /** 每页条数选项。 */
15
- pageSizes?: number[];
16
- }