@jt-home/mfe-components 1.0.2 → 1.0.4
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/index.cjs +2 -2
- package/dist/index.mjs +1963 -1611
- package/dist/pdf-BmBuG7of.js +18058 -0
- package/dist/pdf-Da0bm_Ya.cjs +55 -0
- package/dist/pdf.worker.min-4PI-nNLo.js +4 -0
- package/dist/pdf.worker.min-BAJUPwg6.cjs +1 -0
- package/dist/style.css +1 -1
- package/dist/types/components/JtAttachmentPreview/index.d.ts +4 -0
- package/dist/types/components/JtAttachmentPreview/types.d.ts +33 -0
- package/dist/types/components/form/JtFormItems.vue.d.ts +2 -2
- package/dist/types/components/globalInfo/renderers/GlobalInfoDeleteConfirm.vue.d.ts +2 -2
- package/dist/types/components/index.d.ts +2 -0
- package/dist/types/components/table/JtCrudTable.vue.d.ts +5 -5
- package/dist/types/components/table/JtFilterBar.vue.d.ts +1 -1
- package/dist/types/main.d.ts +2 -2
- package/package.json +7 -4
- package/readme.md +77 -77
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
: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-20df934b]{width:100%;display:grid;grid-template-columns:repeat(var(--jt-form-columns, 4),minmax(0,1fr));column-gap:var(--jt-form-gap, 16px);row-gap:var(--jt-form-gap, 16px)}.jt-form-items__item[data-v-20df934b]{margin:0;width:100%}.jt-form-items__actions[data-v-20df934b]{margin:0;width:100%;align-self:end}.jt-form-items__item[data-v-20df934b] .el-form-item__content{width:100%;min-width:0}.jt-form-items__actions[data-v-20df934b] .el-form-item__content{display:flex;justify-content:flex-end;align-items:center;width:100%;min-width:0}.jt-form-items__item[data-v-20df934b] .el-date-editor.el-input,.jt-form-items__item[data-v-20df934b] .el-date-editor--daterange,.jt-form-items__item[data-v-20df934b] .el-date-editor .el-input__wrapper,.jt-form-items__item[data-v-20df934b] .el-cascader{width:100%;min-width:0}.jt-filter-bar[data-v-ea82d792]{padding-left:12px;padding-right:12px}.jt-filter-bar__form[data-v-ea82d792]{width:100%;display:contents}.jt-filter-bar__btns[data-v-ea82d792]{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-ea82d792]{transition:transform .2s ease}.jt-filter-bar__icon-arrow.is-collapsed[data-v-ea82d792]{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-2f59fb4a]{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:var(--jt-page-header-height, 44px);padding-left:var(--jt-page-header-padding-x, 12px);padding-right:var(--jt-page-header-padding-x, 12px);background-color:var(--jt-page-header-bg-color, #f9f9f9);border-radius:var(--jt-page-header-border-radius, 6px)}.jt-page-header .jt-page-header__title[data-v-2f59fb4a]{display:flex;align-items:center;font-size:var(--jt-page-header-title-font-size, 16px);font-weight:500;color:#333}.jt-page-header .jt-page-header__title[data-v-2f59fb4a]:before{content:"";display:block;width:var(--jt-page-header-title-marker-width, 4px);height:var(--jt-page-header-title-marker-height, 12px);margin-right:6px;background-color:#e60000;border-radius:1px}.jt-page-header--subsection[data-v-2f59fb4a]{--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-2f59fb4a],.jt-page-header__operates[data-v-2f59fb4a]{min-width:0}.jt-page-header__operates[data-v-2f59fb4a]{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
|
+
: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-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:#0000000d;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{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:var(--jt-attachment-preview-service-image-fit)}.jt-attachment-preview-service__audio{width:min(520px,100% - 32px)}.jt-attachment-preview-service__pdf-viewer{position:relative;width:100%;height:100%;overflow:auto;background:#f7f7f7}.jt-attachment-preview-service__pdf-pages{display:flex;flex-direction:column;align-items:center;gap:16px;min-height:100%;padding:20px}.jt-attachment-preview-service__pdf-pages--hidden{visibility:hidden}.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__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{flex-shrink:0;color:#fff;font-size:12px;text-decoration:underline}.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__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;color:#333;font-size:12px}.jt-attachment-preview-service__file-name{max-width:min(360px,90vw - 48px);margin-top:6px;overflow:hidden;color:#0009;font-size:10px;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-radius:4px;background:#e60000;color:#fff;font-size:12px;text-decoration:none}.jt-attachment-preview-service__primary-download:hover{background:#e51e1b}.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}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import './style.scss';
|
|
2
|
+
import type { JtAttachmentPreviewHandler, JtAttachmentPreviewOptions } from './types';
|
|
3
|
+
export type { JtAttachmentPreviewMode, JtAttachmentPreviewOptions, JtAttachmentPreviewHandler, JtAttachmentPreviewResolvedType, } from './types';
|
|
4
|
+
export declare function JtAttachmentPreview(options: string | JtAttachmentPreviewOptions): JtAttachmentPreviewHandler;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export type JtAttachmentPreviewMode = 'auto' | 'image' | 'pdf' | 'video' | 'audio' | 'iframe';
|
|
2
|
+
export interface JtAttachmentPreviewOptions {
|
|
3
|
+
/** 附件地址,传入后会打开预览弹窗。 */
|
|
4
|
+
url: string;
|
|
5
|
+
/** 附件名称,不传时会从 url 中自动截取。 */
|
|
6
|
+
name?: string;
|
|
7
|
+
/** 预览模式,默认根据 url 后缀自动识别。 */
|
|
8
|
+
mode?: JtAttachmentPreviewMode;
|
|
9
|
+
/** 文件 MIME 类型,适合 url 不带后缀时辅助识别。 */
|
|
10
|
+
mimeType?: string;
|
|
11
|
+
/** 图片填充方式。 */
|
|
12
|
+
fit?: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
|
|
13
|
+
/** 是否显示下载入口。 */
|
|
14
|
+
downloadable?: boolean;
|
|
15
|
+
/** 下载文件名,不传时使用 name 或 url 中截取的文件名。 */
|
|
16
|
+
downloadName?: string;
|
|
17
|
+
/** 弹窗层级。 */
|
|
18
|
+
zIndex?: number;
|
|
19
|
+
/** iframe sandbox 属性,不传则不限制 iframe。 */
|
|
20
|
+
sandbox?: string;
|
|
21
|
+
/** 按 Esc 时是否关闭弹窗。 */
|
|
22
|
+
closeOnPressEscape?: boolean;
|
|
23
|
+
/** 加载成功回调。 */
|
|
24
|
+
onLoad?: (event: Event) => void;
|
|
25
|
+
/** 加载失败回调。 */
|
|
26
|
+
onError?: (event: Event) => void;
|
|
27
|
+
/** 关闭弹窗回调。 */
|
|
28
|
+
onClose?: () => void;
|
|
29
|
+
}
|
|
30
|
+
export type JtAttachmentPreviewResolvedType = 'empty' | 'image' | 'pdf' | 'video' | 'audio' | 'iframe' | 'unsupported';
|
|
31
|
+
export interface JtAttachmentPreviewHandler {
|
|
32
|
+
close: () => void;
|
|
33
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { JTFormItemsProps } from './types';
|
|
2
|
-
declare var __VLS_8: string, __VLS_9: {},
|
|
2
|
+
declare var __VLS_8: string, __VLS_9: {}, __VLS_26: {};
|
|
3
3
|
type __VLS_Slots = {} & {
|
|
4
4
|
[K in NonNullable<typeof __VLS_8>]?: (props: typeof __VLS_9) => any;
|
|
5
5
|
} & {
|
|
6
|
-
actions?: (props: typeof
|
|
6
|
+
actions?: (props: typeof __VLS_26) => any;
|
|
7
7
|
};
|
|
8
8
|
declare const __VLS_base: import("vue").DefineComponent<JTFormItemsProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<JTFormItemsProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
9
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -8,11 +8,11 @@ type __VLS_Slots = {} & {
|
|
|
8
8
|
default?: (props: typeof __VLS_12) => any;
|
|
9
9
|
};
|
|
10
10
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
11
|
-
confirm: () => any;
|
|
12
11
|
cancel: () => any;
|
|
12
|
+
confirm: () => any;
|
|
13
13
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
14
|
-
onConfirm?: (() => any) | undefined;
|
|
15
14
|
onCancel?: (() => any) | undefined;
|
|
15
|
+
onConfirm?: (() => any) | undefined;
|
|
16
16
|
}>, {
|
|
17
17
|
title: string;
|
|
18
18
|
confirmText: string;
|
|
@@ -2,10 +2,12 @@ export { JtCrudTable, JtFilterBar, JtTable } from './table/index';
|
|
|
2
2
|
export { JtPagination } from './JtPagination/index';
|
|
3
3
|
export type { JtCrudColumn, JtCrudOption, JtDicItem, JtPaginationData, JtSearchType, } from './table/index';
|
|
4
4
|
export { JtButton } from './JtButton/index';
|
|
5
|
+
export { JtAttachmentPreview } from './JtAttachmentPreview/index';
|
|
5
6
|
export { JtCascader, JtDatePicker, JtFormItems, JtInput, JtSelect } from './form/index';
|
|
6
7
|
export { JtPageHeader } from './JtPageHeader/index';
|
|
7
8
|
export { GlobalInfoAutoRenderer, GlobalInfoDeleteConfirm, GlobalInfoFieldControl, GlobalInfoFieldValue, GlobalInfoFormRenderer, GlobalInfoGroup, GlobalInfoProvider, GlobalInfoSectionBlock, GlobalInfoSectionOutlet, GlobalInfoSections, GlobalInfoTableRenderer, useGlobalInfoController, buildGlobalInfoUpdatePayload, createEmptyGlobalInfoViewModel, isGlobalInfoNode, mergeGlobalInfoChildren, normalizeGlobalInfoDetail, normalizeGlobalInfoTree, resolveGlobalInfoRenderType, } from './globalInfo/index';
|
|
8
9
|
export type { JTCascaderFormItemConfig, JTCompatibleFormItemType, JTElementFormItemType, JTFormItemCascaderOption, JTFormItemConfig, JTFormItemEventHandler, JTFormItemType, JTFormItemsForm, JTFormItemsProps, JtOptionItem, } from './form/index';
|
|
9
10
|
export type { JtPageHeaderOperate, JtPageHeaderProps } from './JtPageHeader/index';
|
|
11
|
+
export type { JtAttachmentPreviewHandler, JtAttachmentPreviewMode, JtAttachmentPreviewOptions, JtAttachmentPreviewResolvedType, } from './JtAttachmentPreview/index';
|
|
10
12
|
export type { JtPaginationOption } from './JtPagination/index';
|
|
11
13
|
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';
|
|
@@ -20,7 +20,7 @@ declare var __VLS_1: {}, __VLS_16: `${string}-search`, __VLS_17: {
|
|
|
20
20
|
value: any;
|
|
21
21
|
column: JtCrudColumn;
|
|
22
22
|
setValue: (val: any) => void;
|
|
23
|
-
search: () => void
|
|
23
|
+
search: () => Promise<void>;
|
|
24
24
|
reset: () => void;
|
|
25
25
|
disabled: boolean;
|
|
26
26
|
}, __VLS_19: {}, __VLS_31: `${string}-header`, __VLS_32: any, __VLS_36: `${string}-data`, __VLS_37: any, __VLS_40: any;
|
|
@@ -134,13 +134,13 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
134
134
|
value: any;
|
|
135
135
|
column: JtCrudColumn;
|
|
136
136
|
setValue: (val: any) => void;
|
|
137
|
-
search: () => void
|
|
137
|
+
search: () => Promise<void>;
|
|
138
138
|
reset: () => void;
|
|
139
139
|
disabled: boolean;
|
|
140
140
|
}) => any) | undefined;
|
|
141
141
|
} & {
|
|
142
142
|
'search-menu'?: (props: {
|
|
143
|
-
search: () => void
|
|
143
|
+
search: () => Promise<void>;
|
|
144
144
|
reset: () => void;
|
|
145
145
|
disabled: boolean;
|
|
146
146
|
collapsed: boolean;
|
|
@@ -240,13 +240,13 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
240
240
|
value: any;
|
|
241
241
|
column: JtCrudColumn;
|
|
242
242
|
setValue: (val: any) => void;
|
|
243
|
-
search: () => void
|
|
243
|
+
search: () => Promise<void>;
|
|
244
244
|
reset: () => void;
|
|
245
245
|
disabled: boolean;
|
|
246
246
|
}) => any) | undefined;
|
|
247
247
|
} & {
|
|
248
248
|
'search-menu'?: (props: {
|
|
249
|
-
search: () => void
|
|
249
|
+
search: () => Promise<void>;
|
|
250
250
|
reset: () => void;
|
|
251
251
|
disabled: boolean;
|
|
252
252
|
collapsed: boolean;
|
|
@@ -12,7 +12,7 @@ type __VLS_Props = {
|
|
|
12
12
|
* 已禁用时直接拦截,避免业务接口进行中重复查询。
|
|
13
13
|
* 真正的禁用开关由使用方通过 ref.searchLoading() / ref.searchDone() 控制。
|
|
14
14
|
*/
|
|
15
|
-
declare function handleSearch(): void
|
|
15
|
+
declare function handleSearch(): Promise<void>;
|
|
16
16
|
/** 重置在禁用期间不响应,避免业务接口进行中重复操作。 */
|
|
17
17
|
declare function handleReset(): void;
|
|
18
18
|
declare function toggleCollapsed(): void;
|
package/dist/types/main.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './assets/styles/base.css';
|
|
2
|
-
export { GlobalInfoAutoRenderer, GlobalInfoDeleteConfirm, GlobalInfoFieldControl, GlobalInfoFieldValue, GlobalInfoFormRenderer, GlobalInfoGroup, GlobalInfoProvider, GlobalInfoSectionBlock, GlobalInfoSectionOutlet, GlobalInfoSections, GlobalInfoTableRenderer, JtCascader, JtButton, JtCrudTable, JtDatePicker, JtFilterBar, JtFormItems, JtInput, JtPageHeader, JtPagination, JtSelect, JtTable, buildGlobalInfoUpdatePayload, createEmptyGlobalInfoViewModel, isGlobalInfoNode, mergeGlobalInfoChildren, normalizeGlobalInfoDetail, normalizeGlobalInfoTree, resolveGlobalInfoRenderType, 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, JtOptionItem, JtPageHeaderOperate, JtPageHeaderProps, JtPaginationData, JtPaginationOption, JtSearchType, } from './components/index';
|
|
2
|
+
export { GlobalInfoAutoRenderer, GlobalInfoDeleteConfirm, GlobalInfoFieldControl, GlobalInfoFieldValue, GlobalInfoFormRenderer, GlobalInfoGroup, GlobalInfoProvider, GlobalInfoSectionBlock, GlobalInfoSectionOutlet, GlobalInfoSections, GlobalInfoTableRenderer, JtAttachmentPreview, JtCascader, JtButton, JtCrudTable, JtDatePicker, JtFilterBar, JtFormItems, JtInput, JtPageHeader, JtPagination, JtSelect, JtTable, buildGlobalInfoUpdatePayload, createEmptyGlobalInfoViewModel, isGlobalInfoNode, mergeGlobalInfoChildren, normalizeGlobalInfoDetail, normalizeGlobalInfoTree, resolveGlobalInfoRenderType, 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, JtAttachmentPreviewMode, JtAttachmentPreviewOptions, JtAttachmentPreviewResolvedType, JtOptionItem, JtPageHeaderOperate, JtPageHeaderProps, JtPaginationData, JtPaginationOption, JtSearchType, } from './components/index';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jt-home/mfe-components",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -35,7 +35,10 @@
|
|
|
35
35
|
"preview": "vite preview --host 127.0.0.1 --port 5001",
|
|
36
36
|
"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"
|
|
37
37
|
},
|
|
38
|
-
"dependencies": {
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@element-plus/icons-vue": "^2.3.2",
|
|
40
|
+
"pdfjs-dist": "^5.7.284"
|
|
41
|
+
},
|
|
39
42
|
"devDependencies": {
|
|
40
43
|
"@babel/eslint-parser": "^7.24.5",
|
|
41
44
|
"@commitlint/cli": "^20.4.2",
|
|
@@ -71,7 +74,7 @@
|
|
|
71
74
|
"vue-tsc": "^3.1.5"
|
|
72
75
|
},
|
|
73
76
|
"peerDependencies": {
|
|
74
|
-
"
|
|
75
|
-
"
|
|
77
|
+
"element-plus": "^2.14.0",
|
|
78
|
+
"vue": "^3.5.10"
|
|
76
79
|
}
|
|
77
80
|
}
|
package/readme.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# @jt-home/mfe-components
|
|
1
|
+
# @jt-home/mfe-components
|
|
2
2
|
|
|
3
3
|
## 组件总览
|
|
4
4
|
|
|
5
|
-
`@jt-home/mfe-components` 是基于 Vue 3 和 Element Plus 的业务组件库,主要沉淀通用表单、筛选、表格、分页、CRUD 页面骨架,以及全球信息模板相关的数据渲染组件。业务系统可按需从 npm 包中引入组件和类型。
|
|
5
|
+
`@jt-home/mfe-components` 是基于 Vue 3 和 Element Plus 的业务组件库,主要沉淀通用表单、筛选、表格、分页、CRUD 页面骨架,以及全球信息模板相关的数据渲染组件。业务系统可按需从 npm 包中引入组件和类型。
|
|
6
6
|
|
|
7
7
|
| 组件 / 模块 | 大概功能 | 文档 |
|
|
8
8
|
| --- | --- | --- |
|
|
@@ -19,67 +19,67 @@
|
|
|
19
19
|
|
|
20
20
|
组件库说明文档。
|
|
21
21
|
|
|
22
|
-
> 说明:业务使用时通过 npm 包引入,例如 `import { JtButton } from '@jt-home/mfe-components'`。
|
|
23
|
-
|
|
24
|
-
## npm 发布
|
|
25
|
-
|
|
26
|
-
组件库使用 npm 库构建,发布前请先生成 JS/CSS 产物和类型声明:
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
pnpm build
|
|
30
|
-
npm pack --dry-run
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
- `pnpm build` 会先执行 `build:bundle` 生成 `dist/index.mjs`、`dist/index.cjs` 和 `dist/style.css`,再执行 `build:types` 生成 `dist/types/main.d.ts` 及组件类型声明。
|
|
34
|
-
- `npm pack --dry-run` 用于发布前检查实际会进入 npm 包的文件。
|
|
35
|
-
- `vue` 和 `element-plus` 是 `peerDependencies`,使用方项目需要自行安装。
|
|
36
|
-
- 发布时执行 `npm publish`;如果使用公司私有 npm 仓库,需要先确认 `.npmrc` 的 `registry` 和登录 token。
|
|
37
|
-
|
|
38
|
-
## 样式按需引入
|
|
39
|
-
|
|
40
|
-
组件库构建时会通过 Vite/Rollup `external` 排除 `vue` 和 `element-plus` 的 JS 代码,避免把它们打进组件库包里;但会放行 Element Plus 的样式路径,让组件使用到的 Element Plus CSS 可以跟随组件库入口自动加载:
|
|
41
|
-
|
|
42
|
-
```ts
|
|
43
|
-
rollupOptions: {
|
|
44
|
-
external: isExternalDependency,
|
|
45
|
-
}
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
这表示使用方项目仍需要安装并提供 `vue` 和 `element-plus`:
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
pnpm add vue element-plus @jt-home/mfe-components
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
业务项目正常只需要引入组件:
|
|
55
|
-
|
|
56
|
-
```ts
|
|
57
|
-
import { JtButton } from '@jt-home/mfe-components';
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
构建产物的 `dist/index.mjs` / `dist/index.cjs` 会自动引用:
|
|
61
|
-
|
|
62
|
-
```ts
|
|
63
|
-
import './style.css';
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
同时会按组件实际使用情况引用 Element Plus 样式,例如:
|
|
67
|
-
|
|
68
|
-
```ts
|
|
69
|
-
import 'element-plus/theme-chalk/el-button.css';
|
|
70
|
-
import 'element-plus/theme-chalk/el-input.css';
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
因此使用方不需要再手动写:
|
|
74
|
-
|
|
75
|
-
```ts
|
|
76
|
-
import 'element-plus/dist/index.css';
|
|
77
|
-
import '@jt-home/mfe-components/style.css';
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## 安装与使用
|
|
81
|
-
|
|
82
|
-
```ts
|
|
22
|
+
> 说明:业务使用时通过 npm 包引入,例如 `import { JtButton } from '@jt-home/mfe-components'`。
|
|
23
|
+
|
|
24
|
+
## npm 发布
|
|
25
|
+
|
|
26
|
+
组件库使用 npm 库构建,发布前请先生成 JS/CSS 产物和类型声明:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
pnpm build
|
|
30
|
+
npm pack --dry-run
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
- `pnpm build` 会先执行 `build:bundle` 生成 `dist/index.mjs`、`dist/index.cjs` 和 `dist/style.css`,再执行 `build:types` 生成 `dist/types/main.d.ts` 及组件类型声明。
|
|
34
|
+
- `npm pack --dry-run` 用于发布前检查实际会进入 npm 包的文件。
|
|
35
|
+
- `vue` 和 `element-plus` 是 `peerDependencies`,使用方项目需要自行安装。
|
|
36
|
+
- 发布时执行 `npm publish`;如果使用公司私有 npm 仓库,需要先确认 `.npmrc` 的 `registry` 和登录 token。
|
|
37
|
+
|
|
38
|
+
## 样式按需引入
|
|
39
|
+
|
|
40
|
+
组件库构建时会通过 Vite/Rollup `external` 排除 `vue` 和 `element-plus` 的 JS 代码,避免把它们打进组件库包里;但会放行 Element Plus 的样式路径,让组件使用到的 Element Plus CSS 可以跟随组件库入口自动加载:
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
rollupOptions: {
|
|
44
|
+
external: isExternalDependency,
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
这表示使用方项目仍需要安装并提供 `vue` 和 `element-plus`:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
pnpm add vue element-plus @jt-home/mfe-components
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
业务项目正常只需要引入组件:
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
import { JtButton } from '@jt-home/mfe-components';
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
构建产物的 `dist/index.mjs` / `dist/index.cjs` 会自动引用:
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
import './style.css';
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
同时会按组件实际使用情况引用 Element Plus 样式,例如:
|
|
67
|
+
|
|
68
|
+
```ts
|
|
69
|
+
import 'element-plus/theme-chalk/el-button.css';
|
|
70
|
+
import 'element-plus/theme-chalk/el-input.css';
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
因此使用方不需要再手动写:
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
import 'element-plus/dist/index.css';
|
|
77
|
+
import '@jt-home/mfe-components/style.css';
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## 安装与使用
|
|
81
|
+
|
|
82
|
+
```ts
|
|
83
83
|
import {
|
|
84
84
|
JtButton,
|
|
85
85
|
JtPageHeader,
|
|
@@ -89,7 +89,7 @@ import {
|
|
|
89
89
|
JtPagination,
|
|
90
90
|
JtTableLayout,
|
|
91
91
|
JtCrud,
|
|
92
|
-
} from '@jt-home/mfe-components';
|
|
92
|
+
} from '@jt-home/mfe-components';
|
|
93
93
|
|
|
94
94
|
import type {
|
|
95
95
|
JTFormItemConfig,
|
|
@@ -102,7 +102,7 @@ import type {
|
|
|
102
102
|
JtTableLayoutProps,
|
|
103
103
|
JtCrudSearchProps,
|
|
104
104
|
JtCrudTableProps,
|
|
105
|
-
} from '@jt-home/mfe-components';
|
|
105
|
+
} from '@jt-home/mfe-components';
|
|
106
106
|
```
|
|
107
107
|
|
|
108
108
|
## JtButton
|
|
@@ -125,7 +125,7 @@ import type {
|
|
|
125
125
|
|
|
126
126
|
<script setup lang="ts">
|
|
127
127
|
import { Plus } from '@element-plus/icons-vue';
|
|
128
|
-
import { JtButton } from '@jt-home/mfe-components';
|
|
128
|
+
import { JtButton } from '@jt-home/mfe-components';
|
|
129
129
|
|
|
130
130
|
function handleAdd() {
|
|
131
131
|
console.log('新增');
|
|
@@ -169,8 +169,8 @@ function handleAdd() {
|
|
|
169
169
|
</template>
|
|
170
170
|
|
|
171
171
|
<script setup lang="ts">
|
|
172
|
-
import { JtPageHeader } from '@jt-home/mfe-components';
|
|
173
|
-
import type { JtPageHeaderOperate } from '@jt-home/mfe-components';
|
|
172
|
+
import { JtPageHeader } from '@jt-home/mfe-components';
|
|
173
|
+
import type { JtPageHeaderOperate } from '@jt-home/mfe-components';
|
|
174
174
|
|
|
175
175
|
const operates: JtPageHeaderOperate[] = [
|
|
176
176
|
{ key: 'add', label: '新增', type: 'primary', onClick: handleAdd },
|
|
@@ -245,8 +245,8 @@ function handleOperateClick(operate: JtPageHeaderOperate) {
|
|
|
245
245
|
import { reactive, ref } from 'vue';
|
|
246
246
|
import { ElForm } from 'element-plus';
|
|
247
247
|
import type { FormInstance } from 'element-plus';
|
|
248
|
-
import { JtFormItems } from '@jt-home/mfe-components';
|
|
249
|
-
import type { JTFormItemConfig } from '@jt-home/mfe-components';
|
|
248
|
+
import { JtFormItems } from '@jt-home/mfe-components';
|
|
249
|
+
import type { JTFormItemConfig } from '@jt-home/mfe-components';
|
|
250
250
|
|
|
251
251
|
const formRef = ref<FormInstance>();
|
|
252
252
|
const form = reactive({
|
|
@@ -340,8 +340,8 @@ async function handleSubmit() {
|
|
|
340
340
|
|
|
341
341
|
<script setup lang="ts">
|
|
342
342
|
import { reactive } from 'vue';
|
|
343
|
-
import { JtFilterBar } from '@jt-home/mfe-components';
|
|
344
|
-
import type { JTFormItemConfig } from '@jt-home/mfe-components';
|
|
343
|
+
import { JtFilterBar } from '@jt-home/mfe-components';
|
|
344
|
+
import type { JTFormItemConfig } from '@jt-home/mfe-components';
|
|
345
345
|
|
|
346
346
|
const queryForm = reactive({
|
|
347
347
|
customerName: '',
|
|
@@ -415,8 +415,8 @@ function handleReset() {
|
|
|
415
415
|
<script setup lang="ts">
|
|
416
416
|
import { reactive, ref } from 'vue';
|
|
417
417
|
import { ElTag } from 'element-plus';
|
|
418
|
-
import { JtTable } from '@jt-home/mfe-components';
|
|
419
|
-
import type { JtTableColumn } from '@jt-home/mfe-components';
|
|
418
|
+
import { JtTable } from '@jt-home/mfe-components';
|
|
419
|
+
import type { JtTableColumn } from '@jt-home/mfe-components';
|
|
420
420
|
|
|
421
421
|
const page = reactive({ currentPage: 1, pageSize: 20 });
|
|
422
422
|
const total = ref(2);
|
|
@@ -500,7 +500,7 @@ function handlePageChange(nextPage: number, nextSize: number) {
|
|
|
500
500
|
|
|
501
501
|
<script setup lang="ts">
|
|
502
502
|
import { reactive } from 'vue';
|
|
503
|
-
import { JtPagination } from '@jt-home/mfe-components';
|
|
503
|
+
import { JtPagination } from '@jt-home/mfe-components';
|
|
504
504
|
|
|
505
505
|
const page = reactive({
|
|
506
506
|
currentPage: 1,
|
|
@@ -597,14 +597,14 @@ function handleChange(nextPage: number, nextSize: number) {
|
|
|
597
597
|
<script setup lang="ts">
|
|
598
598
|
import { computed, reactive, ref } from 'vue';
|
|
599
599
|
import { ElMessage, ElTag } from 'element-plus';
|
|
600
|
-
import { JtCrud } from '@jt-home/mfe-components';
|
|
600
|
+
import { JtCrud } from '@jt-home/mfe-components';
|
|
601
601
|
import type {
|
|
602
602
|
JTFormItemConfig,
|
|
603
603
|
JtCrudSearchProps,
|
|
604
604
|
JtCrudTableProps,
|
|
605
605
|
JtPageHeaderOperate,
|
|
606
606
|
JtPageHeaderProps,
|
|
607
|
-
} from '@jt-home/mfe-components';
|
|
607
|
+
} from '@jt-home/mfe-components';
|
|
608
608
|
|
|
609
609
|
const queryForm = reactive({
|
|
610
610
|
customerName: '',
|