@jt-home/mfe-components 1.0.58 → 1.0.60-beta.0
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 +3167 -2617
- package/dist/style.css +1 -1
- package/dist/types/components/globalInfo/components/GlobalInfoGroup.vue.d.ts +9 -4
- package/dist/types/components/globalInfo/components/GlobalInfoLeftNav.vue.d.ts +29 -0
- package/dist/types/components/globalInfo/components/GlobalInfoSectionBlock.vue.d.ts +17 -12
- package/dist/types/components/globalInfo/components/GlobalInfoSectionOutlet.vue.d.ts +13 -0
- package/dist/types/components/globalInfo/components/GlobalInfoSections.vue.d.ts +9 -4
- package/dist/types/components/globalInfo/index.d.ts +6 -2
- package/dist/types/components/globalInfo/model/fieldUtils.d.ts +1 -1
- package/dist/types/components/globalInfo/model/fieldValidation.d.ts +19 -0
- package/dist/types/components/globalInfo/model/types.d.ts +48 -1
- package/dist/types/components/globalInfo/model/valueListOptions.d.ts +4 -0
- package/dist/types/components/globalInfo/renderers/GlobalInfoAutoRenderer.vue.d.ts +50 -1
- package/dist/types/components/globalInfo/renderers/GlobalInfoFormRenderer.vue.d.ts +2 -0
- package/dist/types/components/globalInfo/renderers/GlobalInfoMultiFormRenderer.vue.d.ts +49 -0
- package/dist/types/components/globalInfo/renderers/optionPreload.d.ts +12 -2
- package/dist/types/components/index.d.ts +1 -1
- package/dist/types/main.d.ts +1 -1
- package/package.json +1 -1
- package/readme.md +694 -694
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.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-88d22345]{--jt-button-icon-size: 14px;--jt-button-icon-gap: 6px;--jt-button-height: 32px;--jt-button-padding-x: 16px;--jt-button-radius: 4px;--jt-button-font-size: 13px;--jt-button-primary-color: #e60000;--jt-button-primary-bg: linear-gradient(90deg, #e60000 0%, #ff3a3a 100%);--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:var(--jt-button-height);min-width:64px;border-radius:var(--jt-button-radius);border:1px solid #e5e5e5;background:#fff;padding-left:var(--jt-button-padding-x);padding-right:var(--jt-button-padding-x);font-size:var(--jt-button-font-size);font-weight:400;color:#333}.jt-button.el-button.el-button--large[data-v-88d22345]{--jt-button-height: 36px}.jt-button.el-button.el-button--small[data-v-88d22345]{--jt-button-height: 28px;--jt-button-padding-x: 14px;--jt-button-font-size: 12px}.jt-button.el-button+.jt-button.el-button[data-v-88d22345]{margin-left:10px}.jt-button.el-button[data-v-88d22345] .jt-button__icon{width:var(--jt-button-icon-size);height:var(--jt-button-icon-size);margin-right:var(--jt-button-icon-gap);font-size:var(--jt-button-icon-size)}.jt-button.el-button[data-v-88d22345] .jt-button__icon svg,.jt-button.el-button[data-v-88d22345] .jt-button__icon img{width:var(--jt-button-icon-size);height:var(--jt-button-icon-size)}.jt-button.el-button[data-v-88d22345] .jt-button__icon img{display:block}.jt-button.el-button[data-v-88d22345] .jt-button__icon+span{margin-left:0}.jt-button.el-button[data-v-88d22345]:hover,.jt-button.el-button[data-v-88d22345]:focus,.jt-button.el-button[data-v-88d22345]:active{border-color:#e5e5e5;background:#fff;color:#333}.jt-button.el-button--primary[data-v-88d22345]{border:none;background:var(--jt-button-primary-bg);color:#fff}.jt-button.el-button--primary[data-v-88d22345]:hover,.jt-button.el-button--primary[data-v-88d22345]:focus{background:var(--jt-button-primary-bg);color:#fff}.jt-button.el-button--primary[data-v-88d22345] .el-icon{color:#fff}.jt-cascader{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);--jt-cascader-control-height: 36px;--el-component-size: var(--jt-cascader-control-height)}.jt-cascader.el-cascader--large{--jt-cascader-control-height: var(--el-component-size-large)}.jt-cascader.el-cascader--small{--jt-cascader-control-height: var(--el-component-size-small)}.jt-cascader .el-input,.jt-cascader .el-input__wrapper{height:var(--jt-cascader-control-height);min-height:var(--jt-cascader-control-height)}.jt-cascader .el-cascader__tags{height:var(--jt-cascader-control-height);max-height:var(--jt-cascader-control-height);align-items:center;flex-wrap:nowrap;overflow:hidden}.jt-cascader .el-cascader__tags .el-tag{flex:0 1 auto;min-width:0}.jt-cascader .el-cascader__tags .el-tag+.el-tag{flex:0 0 auto}.jt-cascader .el-cascader__search-input{width:0;min-width:0;flex:1 1 0}[data-v-014934ea] .jt-date-picker.el-date-editor{--el-date-editor-width: 100%;--jt-date-picker-control-height: 36px;--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);--el-component-size: var(--jt-date-picker-control-height);min-height:var(--jt-date-picker-control-height)}[data-v-014934ea] .jt-date-picker.el-date-editor .el-input__wrapper{min-height:var(--jt-date-picker-control-height)}.jt-input[data-v-35a97cb4]{--jt-input-control-height: 36px;--jt-input-text-color: #333333;--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-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);--el-component-size: var(--jt-input-control-height)}.jt-input[data-v-35a97cb4] .el-input__wrapper{min-height:var(--jt-input-control-height)}.jt-select[data-v-cb498ab1]{--jt-select-control-height: 36px;--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);--el-component-size: var(--jt-select-control-height)}.jt-select[data-v-cb498ab1] .el-select__wrapper{min-height:var(--jt-select-control-height)}.jt-form-items[data-v-1a92ea6a]{--jt-form-columns: 4;--jt-form-gap: 10px;--jt-form-column-gap: 10px;--jt-form-row-gap: 16px;--jt-form-control-height: 36px;--jt-form-control-radius: 8px;--jt-form-disabled-bg: #f9fafb;--jt-form-label-line-height: 20px;--jt-form-label-gap: 6px;--jt-form-label-color: #333333;--jt-form-label-font-weight: 400;--jt-form-required-color: #e60000;width:100%;display:grid;grid-template-columns:repeat(var(--jt-form-columns),minmax(0,1fr));column-gap:var(--jt-form-column-gap, var(--jt-form-gap));row-gap:var(--jt-form-row-gap, var(--jt-form-gap))}.jt-form-items__item[data-v-1a92ea6a]{margin:0;width:100%}.jt-form-items__item[data-v-1a92ea6a] .el-form-item__label{height:auto;line-height:var(--jt-form-label-line-height);margin-bottom:var(--jt-form-label-gap);font-size:14px;font-weight:var(--jt-form-label-font-weight);color:var(--jt-form-label-color)}.jt-form-items__item[data-v-1a92ea6a] .el-form-item__label:before{color:var(--jt-form-required-color)!important}.jt-form-items__actions[data-v-1a92ea6a]{margin:0;width:100%;align-self:end}.jt-form-items__item[data-v-1a92ea6a] .el-form-item__content{width:100%;min-width:0;line-height:var(--jt-form-control-height)}.jt-form-items__actions[data-v-1a92ea6a] .el-form-item__content{display:flex;justify-content:flex-end;align-items:center;width:100%;min-width:0}.jt-form-items__item[data-v-1a92ea6a] .el-input,.jt-form-items__item[data-v-1a92ea6a] .el-select,.jt-form-items__item[data-v-1a92ea6a] .el-cascader,.jt-form-items__item[data-v-1a92ea6a] .el-date-editor,.jt-form-items__item[data-v-1a92ea6a] .el-date-editor.el-input,.jt-form-items__item[data-v-1a92ea6a] .el-date-editor--daterange,.jt-form-items__item[data-v-1a92ea6a] .el-input__wrapper,.jt-form-items__item[data-v-1a92ea6a] .el-select__wrapper,.jt-form-items__item[data-v-1a92ea6a] .el-date-editor .el-input__wrapper{box-sizing:border-box;width:100%;min-width:0;height:var(--jt-form-control-height);min-height:var(--jt-form-control-height);border-radius:var(--jt-form-control-radius)}.jt-form-items__item[data-v-1a92ea6a] .el-input__inner,.jt-form-items__item[data-v-1a92ea6a] .el-select__placeholder,.jt-form-items__item[data-v-1a92ea6a] .el-cascader__placeholder,.jt-form-items__item[data-v-1a92ea6a] .el-range-input{height:calc(var(--jt-form-control-height) - 2px);line-height:calc(var(--jt-form-control-height) - 2px);font-size:14px}.jt-form-items__item[data-v-1a92ea6a] .el-input.is-disabled .el-input__wrapper,.jt-form-items__item[data-v-1a92ea6a] .el-select__wrapper.is-disabled,.jt-form-items__item[data-v-1a92ea6a] .el-cascader.is-disabled .el-input__wrapper,.jt-form-items__item[data-v-1a92ea6a] .el-date-editor.is-disabled,.jt-form-items__item[data-v-1a92ea6a] .el-date-editor .el-input__wrapper.is-disabled{background:var(--jt-form-disabled-bg)}.jt-form-items__item[data-v-1a92ea6a] .el-input.is-disabled .el-input__inner,.jt-form-items__item[data-v-1a92ea6a] .el-select__wrapper.is-disabled .el-select__selected-item,.jt-form-items__item[data-v-1a92ea6a] .el-select__wrapper .el-select__selected-item .el-tag,.jt-form-items__item[data-v-1a92ea6a] .el-cascader.is-disabled .el-input__inner,.jt-form-items__item[data-v-1a92ea6a] .el-textarea.is-disabled .el-textarea__inner,.jt-form-items__item[data-v-1a92ea6a] .el-date-editor--date .el-input__inner{color:#333;-webkit-text-fill-color:#333333}.jt-form-items__item[data-v-1a92ea6a] .el-textarea__inner{color:#333;font-size:14px;line-height:20px}.jt-filter-bar[data-v-ef45c5c6]{padding:var(--jt-filter-padding)}.jt-filter-bar__form[data-v-ef45c5c6]{width:100%;display:contents}.jt-filter-bar[data-v-ef45c5c6] .jt-form-items{grid-template-columns:repeat(var(--jt-filter-field-columns),minmax(0,1fr));column-gap:var(--jt-filter-column-gap);row-gap:var(--jt-filter-row-gap)}.jt-filter-bar[data-v-ef45c5c6] .jt-form-items__actions{grid-column:1/-1!important;width:100%;min-width:0;justify-self:end}.jt-filter-bar.is-single-filter[data-v-ef45c5c6] .jt-form-items__actions{grid-column:var(--jt-filter-actions-start)/-1!important}.jt-filter-bar[data-v-ef45c5c6] .jt-form-items__actions .el-form-item__content{width:100%;min-width:0}.jt-filter-bar__btns[data-v-ef45c5c6]{display:flex;justify-content:flex-end;align-items:center;width:var(--jt-filter-btns-width);min-width:var(--jt-filter-btns-width);flex:0 0 var(--jt-filter-btns-width);text-align:right;margin-top:4px}.jt-filter-bar__btns[data-v-ef45c5c6] .jt-button.el-button{--jt-button-icon-gap: 4px;flex-shrink:0;min-width:max-content}.jt-filter-bar__btn-query.el-button--primary[data-v-ef45c5c6]{background:linear-gradient(90deg,#e60000,#ff3a3a);border-color:transparent}.jt-filter-bar__btn-query.el-button--primary[data-v-ef45c5c6]:hover,.jt-filter-bar__btn-query.el-button--primary[data-v-ef45c5c6]:focus{background:linear-gradient(90deg,#e60000,#ff3a3a);border-color:transparent}.jt-filter-bar__icon-arrow[data-v-ef45c5c6]{transition:transform .2s ease}.jt-filter-bar__icon-arrow.is-collapsed[data-v-ef45c5c6]{transform:rotate(180deg)}.jt-table[data-v-c0585233]{--jt-table-header-bg: #f9f9f9;--jt-table-row-striped-bg: #f9f9f9;--jt-table-row-height: 40px;--jt-table-row-gap: 10px;--jt-table-cell-line-height: 20px;--jt-table-radius: 6px;--jt-table-empty-min-height: 120px;--el-table-border-color: transparent;--el-table-bg-color: #fff;--el-table-tr-bg-color: #fff;--el-table-header-bg-color: var(--jt-table-header-bg);--el-table-header-text-color: #333333;--el-table-text-color: #333333;--el-table-row-hover-bg-color: transparent;--el-color-primary: #e60000;background:#fff;border-radius:var(--jt-table-radius)}.jt-table[data-v-c0585233] .el-popper.el-tooltip{background-color:#000000b3!important}.jt-table[data-v-c0585233] .el-popper.el-tooltip .el-popper__arrow:before{width:0;height:0}.jt-table[data-v-c0585233] .el-table__inner-wrapper:before{height:0}.jt-table[data-v-c0585233] .el-table__header-wrapper{border-radius:var(--jt-table-radius);overflow:hidden}.jt-table[data-v-c0585233] .el-table__body{border-collapse:separate}.jt-table[data-v-c0585233] th.el-table__cell{height:var(--jt-table-row-height);background:#f9f9f9;font-size:14px;font-weight:400;color:#333;padding:0;border:none}.jt-table[data-v-c0585233] th.el-table__cell:first-child{border-radius:var(--jt-table-radius) 0 0 var(--jt-table-radius)}.jt-table[data-v-c0585233] th.el-table__cell:last-child{border-radius:0 var(--jt-table-radius) var(--jt-table-radius) 0}.jt-table[data-v-c0585233] th.el-table__cell .cell{padding:10px 20px;line-height:20px;font-size:14px;display:flex;align-items:center;justify-content:center}.jt-table[data-v-c0585233] td.el-table__cell{height:var(--jt-table-row-height);font-size:14px;font-weight:500;color:#333;padding:0;border:none}.jt-table[data-v-c0585233] td.el-table__cell .cell{padding:10px 12px;line-height:var(--jt-table-cell-line-height)}.jt-table[data-v-c0585233] .el-table__row:nth-child(odd) td{background:#fff!important}.jt-table[data-v-c0585233] .el-table__row:nth-child(2n) td{background:var(--jt-table-row-striped-bg)!important}.jt-table[data-v-c0585233] .el-table__row td:first-child{border-radius:var(--jt-table-radius) 0 0 var(--jt-table-radius)}.jt-table[data-v-c0585233] .el-table__row td:last-child{border-radius:0 var(--jt-table-radius) var(--jt-table-radius) 0}.jt-table[data-v-c0585233] .el-table__fixed-right th.el-table__cell,.jt-table[data-v-c0585233] .el-table__fixed th.el-table__cell{background:var(--jt-table-header-bg)}.jt-table[data-v-c0585233] .el-table__fixed-right .el-table__row:nth-child(odd) td,.jt-table[data-v-c0585233] .el-table__fixed .el-table__row:nth-child(odd) td{background:#fff}.jt-table[data-v-c0585233] .el-table__fixed-right .el-table__row:nth-child(2n) td,.jt-table[data-v-c0585233] .el-table__fixed .el-table__row:nth-child(2n) td{background:var(--jt-table-row-striped-bg)}.jt-table[data-v-c0585233] .el-table__empty-block{min-height:120px}.jt-table[data-v-c0585233] .el-table__empty-text{line-height:20px}.jt-pagination[data-v-64bc788b]{--jt-pagination-height: 24px;--jt-pagination-gap: 8px;display:flex;justify-content:center;align-items:center;gap:var(--jt-pagination-gap);min-height:var(--jt-pagination-height);background:#fff}.jt-pagination[data-v-64bc788b] .el-pagination{--el-pagination-button-width: var(--jt-pagination-height);--el-pagination-button-height: var(--jt-pagination-height);--el-pagination-font-size: 14px;gap:14px;font-weight:400}.jt-pagination[data-v-64bc788b] .el-pager{gap:14px}.jt-pagination[data-v-64bc788b] .el-pager li{width:auto;height:var(--jt-pagination-height);min-width:var(--jt-pagination-height);border-radius:4px;border:1px solid #e1e4e7;font-size:12px;font-weight:400;color:#333;line-height:22px;padding:0 6px;margin:0;background:transparent}.jt-pagination[data-v-64bc788b] .el-pager li.is-active{background:#fdebe8;border-color:#e60000;color:#e60000}.jt-pagination[data-v-64bc788b] .btn-prev,.jt-pagination[data-v-64bc788b] .btn-next{width:var(--jt-pagination-height);height:var(--jt-pagination-height);min-width:var(--jt-pagination-height);border-radius:4px;border:1px solid #e1e4e7;padding:0;margin:0;background:transparent}.jt-pagination[data-v-64bc788b] .el-pagination__jump{height:var(--jt-pagination-height);font-size:14px;color:#333;margin-left:4px;line-height:var(--jt-pagination-height)}.jt-pagination[data-v-64bc788b] .el-pagination__jump .el-input{width:56px}.jt-pagination[data-v-64bc788b] .el-pagination__jump .el-input__wrapper{height:var(--jt-pagination-height);border-radius:4px;border:1px solid #e1e4e7;box-shadow:none!important;padding:0 4px}.jt-pagination[data-v-64bc788b] .el-pagination__sizes{height:var(--jt-pagination-height);margin:0 4px 0 0}.jt-pagination[data-v-64bc788b] .el-pagination__sizes .el-select__wrapper{min-height:var(--jt-pagination-height);border-radius:4px;box-shadow:0 0 0 1px #e1e4e7 inset;font-size:14px}.jt-pagination__count[data-v-64bc788b]{font-size:14px;font-weight:400;color:#333;line-height:20px}.jt-crud-table[data-v-3600b216]{--jt-crud-table-gap: 20px;--jt-crud-table-radius: 12px;--jt-crud-table-result-gap: 16px;--jt-crud-table-group-gap: 10px;width:100%;min-height:0;display:flex;flex-direction:column;gap:var(--jt-crud-table-gap);padding:0;border-radius:var(--jt-crud-table-radius);background:#fff}.jt-crud-table__result[data-v-3600b216]{min-height:0;display:flex;flex-direction:column;gap:var(--jt-crud-table-result-gap)}.jt-crud-table__table-group[data-v-3600b216]{min-height:0;display:flex;flex-direction:column;gap:var(--jt-crud-table-group-gap)}.jt-crud-table[data-v-3600b216] .jt-pagination{padding-top:0;flex-shrink:0}.jt-crud-table__toolbar[data-v-3600b216]{display:flex;justify-content:flex-end;align-items:center;min-width:0}.jt-page-header[data-v-ea91845e]{--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;--jt-page-header-operates-gap: 10px;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-ea91845e]{display:flex;align-items:center;flex:1 1 auto;min-width:0;overflow:hidden;line-height:20px;font-size:var(--jt-page-header-title-font-size);font-weight:600;color:#333;white-space:nowrap}.jt-page-header .jt-page-header__title[data-v-ea91845e]:before{content:"";display:block;flex-shrink:0;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 .jt-page-header__title>span[data-v-ea91845e]{min-width:0;overflow:hidden;text-overflow:ellipsis}.jt-page-header--subsection[data-v-ea91845e]{--jt-page-header-bg-color: #fff;--jt-page-header-height: 32px;--jt-page-header-padding-x: 0;--jt-page-header-title-font-size: 15px;--jt-page-header-title-marker-width: 3px;--jt-page-header-title-marker-height: 10px}.jt-page-header__title[data-v-ea91845e],.jt-page-header__operates[data-v-ea91845e]{min-width:0}.jt-page-header__operates[data-v-ea91845e]{display:flex;align-items:center;justify-content:flex-end;margin-left:auto;flex-shrink:0;gap:var(--jt-page-header-operates-gap)}.jt-page-header__operates[data-v-ea91845e] .jt-button.el-button+.jt-button.el-button{margin-left:0}.global-info-field-control[data-v-6f0e8003]{--global-info-control-height: 36px;--global-info-control-border: #d9d9d9;--global-info-control-disabled-bg: #f9fafb;--global-info-control-radius: 8px;width:100%;height:var(--global-info-control-height);min-width:0;font-size:13px;box-sizing:border-box}.global-info-field-control[data-v-6f0e8003] *,.global-info-field-control[data-v-6f0e8003] *:before,.global-info-field-control[data-v-6f0e8003] *:after{box-sizing:border-box}.global-info-field-control.el-input[data-v-6f0e8003],.global-info-field-control.el-input-number[data-v-6f0e8003],.global-info-field-control.el-date-editor[data-v-6f0e8003],.global-info-field-control.el-select[data-v-6f0e8003]{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-6f0e8003]{--el-date-editor-width: 100%}.global-info-field-control.el-date-editor.el-input[data-v-6f0e8003],.global-info-field-control.el-date-editor.el-input__wrapper[data-v-6f0e8003]{width:100%;min-width:0;height:var(--global-info-control-height)}.global-info-field-control[data-v-6f0e8003] .el-input,.global-info-field-control[data-v-6f0e8003] .el-input-number,.global-info-field-control[data-v-6f0e8003] .el-date-editor,.global-info-field-control[data-v-6f0e8003] .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-6f0e8003] .el-input__wrapper,.global-info-field-control[data-v-6f0e8003] .el-select__wrapper,.global-info-field-control[data-v-6f0e8003] .el-input-number__wrapper,.global-info-field-control[data-v-6f0e8003] .el-date-editor.el-input__wrapper,.global-info-field-control.el-date-editor.el-input__wrapper[data-v-6f0e8003]{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-6f0e8003] .el-input__inner,.global-info-field-control[data-v-6f0e8003] .el-select__selection,.global-info-field-control[data-v-6f0e8003] .el-input-number .el-input__inner,.global-info-field-control[data-v-6f0e8003] .el-date-editor .el-input__inner,.global-info-field-control.el-date-editor[data-v-6f0e8003] .el-input__inner{height:var(--global-info-control-height);line-height:var(--global-info-control-height)}.global-info-field-control[data-v-6f0e8003] .el-input__prefix,.global-info-field-control[data-v-6f0e8003] .el-input__suffix,.global-info-field-control[data-v-6f0e8003] .el-select__prefix,.global-info-field-control[data-v-6f0e8003] .el-select__suffix{height:var(--global-info-control-height)}.global-info-field-control[data-v-6f0e8003] .el-select__wrapper{padding-top:1px;padding-bottom:1px}.global-info-field-control[data-v-6f0e8003] .el-input__wrapper.is-disabled,.global-info-field-control[data-v-6f0e8003] .el-select__wrapper.is-disabled,.global-info-field-control[data-v-6f0e8003] .el-textarea__inner:disabled,.global-info-field-control[data-v-6f0e8003] .el-input-number.is-disabled .el-input__wrapper,.global-info-field-control.el-date-editor.is-disabled.el-input__wrapper[data-v-6f0e8003]{background-color:var(--global-info-control-disabled-bg);box-shadow:0 0 0 1px #e5e5e5 inset}.global-info-field-control[data-v-6f0e8003] .el-input-number__decrease,.global-info-field-control[data-v-6f0e8003] .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-6f0e8003] .el-textarea__inner{min-height:var(--global-info-control-height);border-color:#d9d9d9;border-radius:var(--global-info-control-radius);font-size:13px}.global-info-field-control--switch[data-v-6f0e8003]{display:inline-flex;height:var(--global-info-control-height);align-items:center}.global-info-field-control--file[data-v-6f0e8003]{display:flex;gap:2px;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-6f0e8003]{border-color:#e5e5e5;background:#fff}.global-info-field-control--file.is-disabled[data-v-6f0e8003]{background:var(--global-info-control-disabled-bg);color:#0003;cursor:not-allowed}.global-info-field-control--textarea[data-v-6f0e8003]{height:auto;min-height:var(--global-info-control-height);line-height:normal}.global-info-field-control__file-input[data-v-6f0e8003]{display:none}.global-info-field-control__file-text[data-v-6f0e8003],.global-info-field-control__file-upload[data-v-6f0e8003],.global-info-field-control__file-preview-list[data-v-6f0e8003],.global-info-field-control__file-preview[data-v-6f0e8003]{min-width:0;overflow:hidden;font-size:13px;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.global-info-field-control__file-preview-list[data-v-6f0e8003]{display:inline-flex;max-width:100%;align-items:center}.global-info-field-control__file-preview[data-v-6f0e8003]{max-width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.global-info-field-control__file-separator[data-v-6f0e8003]{flex:none}.global-info-field-control--code[data-v-6f0e8003] .el-textarea__inner{font-family:Consolas,Monaco,Courier New,monospace}.global-info-field-control__option[data-v-6f0e8003]{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:8px 0;line-height:1.4}.global-info-field-control__option-label[data-v-6f0e8003],.global-info-field-control__option-descr[data-v-6f0e8003]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-info-field-control__option-label[data-v-6f0e8003]{color:#333;font-size:13px}.global-info-field-control__option-descr[data-v-6f0e8003]{margin-top:4px;color:#0009;font-size:12px}.global-info-field-control__descr-popper .el-select-dropdown__item{display:flex;height:auto;min-height:56px;align-items:center;line-height:normal}.global-info-field-value[data-v-ee821983]{display:inline-block;min-height:22px;color:#333;line-height:22px;word-break:break-word;font-size:15px}.global-info-field-value--html[data-v-ee821983],.global-info-field-value--multi-row[data-v-ee821983],.global-info-field-value--code[data-v-ee821983]{white-space:pre-wrap}.global-info-field-value--code[data-v-ee821983]{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-ee821983]{color:#e60000;text-decoration:underline;text-underline-offset:3px}.global-info-field-value__attachment-preview[data-v-ee821983]{padding:0;border:0;background:transparent;color:#e60000;cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:3px}.global-info-form-renderer[data-v-08b69ae0]{width:100%;--global-info-render-height: 36px;--global-info-render-label-bottom: 6px}.global-info-form-renderer__grid[data-v-08b69ae0]{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));column-gap:10px;row-gap:16px}.global-info-form-renderer__grid-item[data-v-08b69ae0]{min-width:0}.global-info-form-renderer__label[data-v-08b69ae0]{display:inline-flex;align-items:center;gap:2px;color:#6b6e77}.global-info-form-renderer__required[data-v-08b69ae0]{color:#e60000}.global-info-form-renderer[data-v-08b69ae0] .el-form-item{margin-bottom:0}.global-info-form-renderer[data-v-08b69ae0] .el-form-item .el-form-item__label{margin-bottom:var(--global-info-render-label-bottom)}.global-info-form-renderer[data-v-08b69ae0] .el-form-item .el-form-item__content{width:100%;min-width:0;line-height:36px}.global-info-form-renderer[data-v-08b69ae0] .el-form-item .el-form-item__content .el-input__inner,.global-info-form-renderer[data-v-08b69ae0] .el-form-item .el-form-item__content .el-select__selected-item,.global-info-form-renderer[data-v-08b69ae0] .el-form-item .el-form-item__content .el-textarea__inner{--el-input-text-color: #6b6e77 !important}.global-info-form-renderer[data-v-08b69ae0] .el-form-item__label{min-height:20px;margin-bottom:6px;color:#0009;font-size:13px;line-height:20px}.global-info-form-renderer[data-v-08b69ae0] .el-input-number,.global-info-form-renderer[data-v-08b69ae0] .el-date-editor,.global-info-form-renderer[data-v-08b69ae0] .el-select{width:100%;height:var(--global-info-render-height)}.global-info-form-renderer[data-v-08b69ae0] .el-input-number .el-input__wrapper,.global-info-form-renderer[data-v-08b69ae0] .el-date-editor .el-input__wrapper,.global-info-form-renderer[data-v-08b69ae0] .el-select .el-input__wrapper{border-radius:8px}.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-f4ab9070]{width:100%}.global-info-table-renderer__table-scroll[data-v-f4ab9070]{width:100%;overflow-x:auto;border-radius:8px;background:#f9f9f9}.global-info-table-renderer__table[data-v-f4ab9070]{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-f4ab9070]{display:inline-flex;align-items:center;justify-content:center;gap:2px;color:#6b6e77;font-size:14px;font-weight:400;line-height:24px;white-space:nowrap}.global-info-table-renderer__required[data-v-f4ab9070],.global-info-table-renderer__delete[data-v-f4ab9070]{color:#e60000!important}.global-info-table-renderer__delete[data-v-f4ab9070]{display:inline-flex;align-items:center;gap:4px;font-size:14px;line-height:24px}.global-info-table-renderer__delete-icon[data-v-f4ab9070]{font-size:14px}.global-info-table-renderer[data-v-f4ab9070] .el-table__inner-wrapper:before,.global-info-table-renderer[data-v-f4ab9070] .el-table__border-left-patch,.global-info-table-renderer[data-v-f4ab9070] .el-table__border-bottom-patch{display:none}.global-info-table-renderer[data-v-f4ab9070] .el-table__header-wrapper th.el-table__cell,.global-info-table-renderer[data-v-f4ab9070] .el-table__body-wrapper td.el-table__cell{padding:4px 0;border-bottom:0;background:#f9f9f9}.global-info-table-renderer[data-v-f4ab9070] .el-table__header .cell,.global-info-table-renderer[data-v-f4ab9070] .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-f4ab9070] .el-table__body .cell>.global-info-field-control,.global-info-table-renderer[data-v-f4ab9070] .el-table__body .cell .global-info-field-control,.global-info-table-renderer[data-v-f4ab9070] .el-table__body .cell .el-input,.global-info-table-renderer[data-v-f4ab9070] .el-table__body .cell .el-input-number,.global-info-table-renderer[data-v-f4ab9070] .el-table__body .cell .el-select,.global-info-table-renderer[data-v-f4ab9070] .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-f4ab9070] .el-table__body .cell .el-input__wrapper,.global-info-table-renderer[data-v-f4ab9070] .el-table__body .cell .el-select__wrapper,.global-info-table-renderer[data-v-f4ab9070] .el-table__body .cell .el-input-number__wrapper,.global-info-table-renderer[data-v-f4ab9070] .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--editing[data-v-f4ab9070] .el-table__body .cell{overflow:visible;text-overflow:initial}.global-info-table-renderer--editing[data-v-f4ab9070] .el-table__body .cell>.global-info-field-control,.global-info-table-renderer--editing[data-v-f4ab9070] .el-table__body .cell .global-info-field-control,.global-info-table-renderer--editing[data-v-f4ab9070] .el-table__body .cell .el-input,.global-info-table-renderer--editing[data-v-f4ab9070] .el-table__body .cell .el-input-number,.global-info-table-renderer--editing[data-v-f4ab9070] .el-table__body .cell .el-select,.global-info-table-renderer--editing[data-v-f4ab9070] .el-table__body .cell .el-date-editor,.global-info-table-renderer--editing[data-v-f4ab9070] .el-table__body .cell .el-input__wrapper,.global-info-table-renderer--editing[data-v-f4ab9070] .el-table__body .cell .el-select__wrapper,.global-info-table-renderer--editing[data-v-f4ab9070] .el-table__body .cell .el-input-number__wrapper,.global-info-table-renderer--editing[data-v-f4ab9070] .el-table__body .cell .el-date-editor.el-input__wrapper{min-width:120px}.global-info-table-renderer[data-v-f4ab9070] .el-table__header .cell{color:#333}.global-info-table-renderer[data-v-f4ab9070] .el-table__fixed-right{background:#f9f9f9}.global-info-section-block[data-v-01e68445]{width:100%;min-width:0;padding:0;background:transparent;border:0;border-radius:0}.global-info-section-block__header[data-v-01e68445],.global-info-section-block__title-wrap[data-v-01e68445],.global-info-section-block__actions[data-v-01e68445]{display:flex;align-items:center}.global-info-section-block__header[data-v-01e68445]{justify-content:space-between;gap:16px;margin-bottom:10px}.global-info-section-block__title-wrap[data-v-01e68445]{min-width:0;gap:8px}.global-info-section-block__marker[data-v-01e68445]{width:4px;height:4px;flex:0 0 auto;background:#e60000;border-radius:50%}.global-info-section-block__title[data-v-01e68445]{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-01e68445]{flex:0 0 auto;gap:8px}.global-info-section-block__edit[data-v-01e68445],.global-info-section-block__cancel[data-v-01e68445],.global-info-section-block__add[data-v-01e68445],.global-info-section-block__confirm[data-v-01e68445]{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:48px;height:24px;padding:0 12px;border:1px solid transparent;border-radius:12px;font-size:12px;font-weight:400;line-height:24px;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.global-info-section-block__edit[data-v-01e68445],.global-info-section-block__add[data-v-01e68445]{color:#e60000;background:#fff;border-color:#ffd1d1}.global-info-section-block__edit[data-v-01e68445]{gap:0}.global-info-section-block__cancel[data-v-01e68445]{color:#0009;background:#f5f5f5;border-color:#e5e5e5}.global-info-section-block__edit[data-v-01e68445]:hover,.global-info-section-block__edit[data-v-01e68445]:focus,.global-info-section-block__add[data-v-01e68445]:hover,.global-info-section-block__add[data-v-01e68445]:focus{color:#e51e1b;background:#fdf7f7;border-color:#f7b2b2}.global-info-section-block__cancel[data-v-01e68445]:hover,.global-info-section-block__cancel[data-v-01e68445]:focus{color:#333;background:#e5e5e5}.global-info-section-block__confirm[data-v-01e68445]{--el-button-text-color: #ffffff;--el-button-bg-color: #e60000;--el-button-border-color: #e60000;--el-button-hover-text-color: #ffffff;--el-button-hover-bg-color: #e51e1b;--el-button-hover-border-color: #e51e1b;--el-button-active-text-color: #ffffff;--el-button-active-bg-color: #e51e1b;--el-button-active-border-color: #e51e1b;color:#fff;background:#e60000;border-color:#e60000;box-shadow:0 4px 8px #e6000029}.global-info-section-block__confirm[data-v-01e68445]:hover,.global-info-section-block__confirm[data-v-01e68445]:focus{color:#fff;background:#e51e1b;border-color:#e51e1b}.global-info-section-block__edit.is-disabled[data-v-01e68445],.global-info-section-block__cancel.is-disabled[data-v-01e68445],.global-info-section-block__add.is-disabled[data-v-01e68445],.global-info-section-block__confirm.is-disabled[data-v-01e68445]{color:#0003;background:#f5f5f5;border-color:transparent;box-shadow:none}.global-info-section-block__edit-icon[data-v-01e68445]{width:12px;height:12px;flex:0 0 auto;display:block}.global-info-section-block__body[data-v-01e68445]{min-width:0}.global-info-section-block__status[data-v-01e68445]{min-height:80px;display:flex;align-items:center;justify-content:center;color:#0006;font-size:14px}.global-info-group[data-v-f7ea6e70]{width:100%;min-width:0;padding:16px 20px 20px;background:#fff;border-radius:12px}.global-info-group__header[data-v-f7ea6e70]{display:flex;min-width:0;align-items:center;gap:8px;margin-bottom:16px}.global-info-group__marker[data-v-f7ea6e70]{width:3px;height:12px;flex:0 0 auto;background:#e60000;border-radius:2px}.global-info-group__title[data-v-f7ea6e70]{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-f7ea6e70]{min-width:0}.global-info-group__section[data-v-f7ea6e70]{min-width:0;padding-bottom:20px;border-bottom:1px solid #e5e5e5}.global-info-group__section+.global-info-group__section[data-v-f7ea6e70]{margin-top:20px}.global-info-group__section[data-v-f7ea6e70]:last-child{padding-bottom:0;border-bottom:0}.global-info-group__empty[data-v-f7ea6e70]{min-height:80px;display:flex;align-items:center;justify-content:center;color:#0006;font-size:14px}.global-info-sections[data-v-d4ed3f80]{display:flex;min-width:0;flex-direction:column;gap:12px}
|
|
1
|
+
@charset "UTF-8";.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-407e719d]{--jt-button-icon-size: 14px;--jt-button-icon-gap: 6px;--jt-button-height: 32px;--jt-button-padding-x: 16px;--jt-button-radius: 4px;--jt-button-font-size: 13px;--jt-button-primary-color: #e60000;--jt-button-primary-bg: linear-gradient(90deg, #e60000 0%, #ff3a3a 100%);--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:var(--jt-button-height);min-width:64px;border-radius:var(--jt-button-radius);border:1px solid #e5e5e5;background:#fff;padding-left:var(--jt-button-padding-x);padding-right:var(--jt-button-padding-x);font-size:var(--jt-button-font-size);font-weight:400;color:#333}.jt-button.el-button.el-button--large[data-v-407e719d]{--jt-button-height: 36px}.jt-button.el-button.el-button--small[data-v-407e719d]{--jt-button-height: 28px;--jt-button-padding-x: 14px;--jt-button-font-size: 12px}.jt-button.el-button+.jt-button.el-button[data-v-407e719d]{margin-left:10px}.jt-button.el-button[data-v-407e719d] .jt-button__icon{width:var(--jt-button-icon-size);height:var(--jt-button-icon-size);margin-right:var(--jt-button-icon-gap);font-size:var(--jt-button-icon-size)}.jt-button.el-button[data-v-407e719d] .jt-button__icon svg,.jt-button.el-button[data-v-407e719d] .jt-button__icon img{width:var(--jt-button-icon-size);height:var(--jt-button-icon-size)}.jt-button.el-button[data-v-407e719d] .jt-button__icon img{display:block}.jt-button.el-button[data-v-407e719d] .jt-button__icon+span{margin-left:0}.jt-button.el-button[data-v-407e719d]:hover,.jt-button.el-button[data-v-407e719d]:focus,.jt-button.el-button[data-v-407e719d]:active{border-color:#e5e5e5;background:#fff;color:#333}.jt-button.el-button--primary[data-v-407e719d]{border:none;background:var(--jt-button-primary-bg);color:#fff}.jt-button.el-button--primary[data-v-407e719d]:hover,.jt-button.el-button--primary[data-v-407e719d]:focus{background:var(--jt-button-primary-bg);color:#fff}.jt-button.el-button--primary[data-v-407e719d] .el-icon{color:#fff}.jt-cascader{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);--jt-cascader-control-height: 36px;--el-component-size: var(--jt-cascader-control-height)}.jt-cascader.el-cascader--large{--jt-cascader-control-height: var(--el-component-size-large)}.jt-cascader.el-cascader--small{--jt-cascader-control-height: var(--el-component-size-small)}.jt-cascader .el-input,.jt-cascader .el-input__wrapper{height:var(--jt-cascader-control-height);min-height:var(--jt-cascader-control-height)}.jt-cascader .el-cascader__tags{height:var(--jt-cascader-control-height);max-height:var(--jt-cascader-control-height);align-items:center;flex-wrap:nowrap;overflow:hidden}.jt-cascader .el-cascader__tags .el-tag{flex:0 1 auto;min-width:0}.jt-cascader .el-cascader__tags .el-tag+.el-tag{flex:0 0 auto}.jt-cascader .el-cascader__search-input{width:0;min-width:0;flex:1 1 0}[data-v-34482973] .jt-date-picker.el-date-editor{--el-date-editor-width: 100%;--jt-date-picker-control-height: 36px;--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);--el-component-size: var(--jt-date-picker-control-height);min-height:var(--jt-date-picker-control-height)}[data-v-34482973] .jt-date-picker.el-date-editor .el-input__wrapper{min-height:var(--jt-date-picker-control-height)}.jt-input[data-v-b323beeb]{--jt-input-control-height: 36px;--jt-input-text-color: #333333;--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-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);--el-component-size: var(--jt-input-control-height)}.jt-input[data-v-b323beeb] .el-input__wrapper{min-height:var(--jt-input-control-height)}.jt-select[data-v-bbfe7769]{--jt-select-control-height: 36px;--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);--el-component-size: var(--jt-select-control-height)}.jt-select[data-v-bbfe7769] .el-select__wrapper{min-height:var(--jt-select-control-height)}.jt-form-items[data-v-2b3030a2]{--jt-form-columns: 4;--jt-form-gap: 10px;--jt-form-column-gap: 10px;--jt-form-row-gap: 16px;--jt-form-control-height: 36px;--jt-form-control-radius: 8px;--jt-form-disabled-bg: #f9fafb;--jt-form-label-line-height: 20px;--jt-form-label-gap: 6px;--jt-form-label-color: #333333;--jt-form-label-font-weight: 400;--jt-form-required-color: #e60000;width:100%;display:grid;grid-template-columns:repeat(var(--jt-form-columns),minmax(0,1fr));column-gap:var(--jt-form-column-gap, var(--jt-form-gap));row-gap:var(--jt-form-row-gap, var(--jt-form-gap))}.jt-form-items__item[data-v-2b3030a2]{margin:0;width:100%}.jt-form-items__item[data-v-2b3030a2] .el-form-item__label{height:auto;line-height:var(--jt-form-label-line-height);margin-bottom:var(--jt-form-label-gap);font-size:14px;font-weight:var(--jt-form-label-font-weight);color:var(--jt-form-label-color)}.jt-form-items__item[data-v-2b3030a2] .el-form-item__label:before{color:var(--jt-form-required-color)!important}.jt-form-items__actions[data-v-2b3030a2]{margin:0;width:100%;align-self:end}.jt-form-items__item[data-v-2b3030a2] .el-form-item__content{width:100%;min-width:0;line-height:var(--jt-form-control-height)}.jt-form-items__actions[data-v-2b3030a2] .el-form-item__content{display:flex;justify-content:flex-end;align-items:center;width:100%;min-width:0}.jt-form-items__item[data-v-2b3030a2] .el-input,.jt-form-items__item[data-v-2b3030a2] .el-select,.jt-form-items__item[data-v-2b3030a2] .el-cascader,.jt-form-items__item[data-v-2b3030a2] .el-date-editor,.jt-form-items__item[data-v-2b3030a2] .el-date-editor.el-input,.jt-form-items__item[data-v-2b3030a2] .el-date-editor--daterange,.jt-form-items__item[data-v-2b3030a2] .el-input__wrapper,.jt-form-items__item[data-v-2b3030a2] .el-select__wrapper,.jt-form-items__item[data-v-2b3030a2] .el-date-editor .el-input__wrapper{box-sizing:border-box;width:100%;min-width:0;height:var(--jt-form-control-height);min-height:var(--jt-form-control-height);border-radius:var(--jt-form-control-radius)}.jt-form-items__item[data-v-2b3030a2] .el-input__inner,.jt-form-items__item[data-v-2b3030a2] .el-select__placeholder,.jt-form-items__item[data-v-2b3030a2] .el-cascader__placeholder,.jt-form-items__item[data-v-2b3030a2] .el-range-input{height:calc(var(--jt-form-control-height) - 2px);line-height:calc(var(--jt-form-control-height) - 2px);font-size:14px}.jt-form-items__item[data-v-2b3030a2] .el-input.is-disabled .el-input__wrapper,.jt-form-items__item[data-v-2b3030a2] .el-select__wrapper.is-disabled,.jt-form-items__item[data-v-2b3030a2] .el-cascader.is-disabled .el-input__wrapper,.jt-form-items__item[data-v-2b3030a2] .el-date-editor.is-disabled,.jt-form-items__item[data-v-2b3030a2] .el-date-editor .el-input__wrapper.is-disabled{background:var(--jt-form-disabled-bg)}.jt-form-items__item[data-v-2b3030a2] .el-input.is-disabled .el-input__inner,.jt-form-items__item[data-v-2b3030a2] .el-select__wrapper.is-disabled .el-select__selected-item,.jt-form-items__item[data-v-2b3030a2] .el-select__wrapper .el-select__selected-item .el-tag,.jt-form-items__item[data-v-2b3030a2] .el-cascader.is-disabled .el-input__inner,.jt-form-items__item[data-v-2b3030a2] .el-textarea.is-disabled .el-textarea__inner,.jt-form-items__item[data-v-2b3030a2] .el-date-editor--date .el-input__inner{color:#333;-webkit-text-fill-color:#333333}.jt-form-items__item[data-v-2b3030a2] .el-textarea__inner{color:#333;font-size:14px;line-height:20px}.jt-filter-bar[data-v-30be59cf]{padding:var(--jt-filter-padding)}.jt-filter-bar__form[data-v-30be59cf]{width:100%;display:contents}.jt-filter-bar[data-v-30be59cf] .jt-form-items{grid-template-columns:repeat(var(--jt-filter-field-columns),minmax(0,1fr));column-gap:var(--jt-filter-column-gap);row-gap:var(--jt-filter-row-gap)}.jt-filter-bar[data-v-30be59cf] .jt-form-items__actions{grid-column:1/-1!important;width:100%;min-width:0;justify-self:end}.jt-filter-bar.is-single-filter[data-v-30be59cf] .jt-form-items__actions{grid-column:var(--jt-filter-actions-start)/-1!important}.jt-filter-bar[data-v-30be59cf] .jt-form-items__actions .el-form-item__content{width:100%;min-width:0}.jt-filter-bar__btns[data-v-30be59cf]{display:flex;justify-content:flex-end;align-items:center;width:var(--jt-filter-btns-width);min-width:var(--jt-filter-btns-width);flex:0 0 var(--jt-filter-btns-width);text-align:right;margin-top:4px}.jt-filter-bar__btns[data-v-30be59cf] .jt-button.el-button{--jt-button-icon-gap: 4px;flex-shrink:0;min-width:max-content}.jt-filter-bar__btn-query.el-button--primary[data-v-30be59cf]{background:linear-gradient(90deg,#e60000,#ff3a3a);border-color:transparent}.jt-filter-bar__btn-query.el-button--primary[data-v-30be59cf]:hover,.jt-filter-bar__btn-query.el-button--primary[data-v-30be59cf]:focus{background:linear-gradient(90deg,#e60000,#ff3a3a);border-color:transparent}.jt-filter-bar__icon-arrow[data-v-30be59cf]{transition:transform .2s ease}.jt-filter-bar__icon-arrow.is-collapsed[data-v-30be59cf]{transform:rotate(180deg)}.jt-table[data-v-5d076ddd]{--jt-table-header-bg: #f9f9f9;--jt-table-row-striped-bg: #f9f9f9;--jt-table-row-height: 40px;--jt-table-row-gap: 10px;--jt-table-cell-line-height: 20px;--jt-table-radius: 6px;--jt-table-empty-min-height: 120px;--el-table-border-color: transparent;--el-table-bg-color: #fff;--el-table-tr-bg-color: #fff;--el-table-header-bg-color: var(--jt-table-header-bg);--el-table-header-text-color: #333333;--el-table-text-color: #333333;--el-table-row-hover-bg-color: transparent;--el-color-primary: #e60000;background:#fff;border-radius:var(--jt-table-radius)}.jt-table[data-v-5d076ddd] .el-popper.el-tooltip{background-color:#000000b3!important}.jt-table[data-v-5d076ddd] .el-popper.el-tooltip .el-popper__arrow:before{width:0;height:0}.jt-table[data-v-5d076ddd] .el-table__inner-wrapper:before{height:0}.jt-table[data-v-5d076ddd] .el-table__header-wrapper{border-radius:var(--jt-table-radius);overflow:hidden}.jt-table[data-v-5d076ddd] .el-table__body{border-collapse:separate}.jt-table[data-v-5d076ddd] th.el-table__cell{height:var(--jt-table-row-height);background:#f9f9f9;font-size:14px;font-weight:400;color:#333;padding:0;border:none}.jt-table[data-v-5d076ddd] th.el-table__cell:first-child{border-radius:var(--jt-table-radius) 0 0 var(--jt-table-radius)}.jt-table[data-v-5d076ddd] th.el-table__cell:last-child{border-radius:0 var(--jt-table-radius) var(--jt-table-radius) 0}.jt-table[data-v-5d076ddd] th.el-table__cell .cell{padding:10px 20px;line-height:20px;font-size:14px;display:flex;align-items:center;justify-content:center}.jt-table[data-v-5d076ddd] td.el-table__cell{height:var(--jt-table-row-height);font-size:14px;font-weight:500;color:#333;padding:0;border:none}.jt-table[data-v-5d076ddd] td.el-table__cell .cell{padding:10px 12px;line-height:var(--jt-table-cell-line-height)}.jt-table[data-v-5d076ddd] .el-table__row:nth-child(odd) td{background:#fff!important}.jt-table[data-v-5d076ddd] .el-table__row:nth-child(2n) td{background:var(--jt-table-row-striped-bg)!important}.jt-table[data-v-5d076ddd] .el-table__row td:first-child{border-radius:var(--jt-table-radius) 0 0 var(--jt-table-radius)}.jt-table[data-v-5d076ddd] .el-table__row td:last-child{border-radius:0 var(--jt-table-radius) var(--jt-table-radius) 0}.jt-table[data-v-5d076ddd] .el-table__fixed-right th.el-table__cell,.jt-table[data-v-5d076ddd] .el-table__fixed th.el-table__cell{background:var(--jt-table-header-bg)}.jt-table[data-v-5d076ddd] .el-table__fixed-right .el-table__row:nth-child(odd) td,.jt-table[data-v-5d076ddd] .el-table__fixed .el-table__row:nth-child(odd) td{background:#fff}.jt-table[data-v-5d076ddd] .el-table__fixed-right .el-table__row:nth-child(2n) td,.jt-table[data-v-5d076ddd] .el-table__fixed .el-table__row:nth-child(2n) td{background:var(--jt-table-row-striped-bg)}.jt-table[data-v-5d076ddd] .el-table__empty-block{min-height:120px}.jt-table[data-v-5d076ddd] .el-table__empty-text{line-height:20px}.jt-pagination[data-v-03d564ec]{--jt-pagination-height: 24px;--jt-pagination-gap: 8px;display:flex;justify-content:center;align-items:center;gap:var(--jt-pagination-gap);min-height:var(--jt-pagination-height);background:#fff}.jt-pagination[data-v-03d564ec] .el-pagination{--el-pagination-button-width: var(--jt-pagination-height);--el-pagination-button-height: var(--jt-pagination-height);--el-pagination-font-size: 14px;gap:14px;font-weight:400}.jt-pagination[data-v-03d564ec] .el-pager{gap:14px}.jt-pagination[data-v-03d564ec] .el-pager li{width:auto;height:var(--jt-pagination-height);min-width:var(--jt-pagination-height);border-radius:4px;border:1px solid #e1e4e7;font-size:12px;font-weight:400;color:#333;line-height:22px;padding:0 6px;margin:0;background:transparent}.jt-pagination[data-v-03d564ec] .el-pager li.is-active{background:#fdebe8;border-color:#e60000;color:#e60000}.jt-pagination[data-v-03d564ec] .btn-prev,.jt-pagination[data-v-03d564ec] .btn-next{width:var(--jt-pagination-height);height:var(--jt-pagination-height);min-width:var(--jt-pagination-height);border-radius:4px;border:1px solid #e1e4e7;padding:0;margin:0;background:transparent}.jt-pagination[data-v-03d564ec] .el-pagination__jump{height:var(--jt-pagination-height);font-size:14px;color:#333;margin-left:4px;line-height:var(--jt-pagination-height)}.jt-pagination[data-v-03d564ec] .el-pagination__jump .el-input{width:56px}.jt-pagination[data-v-03d564ec] .el-pagination__jump .el-input__wrapper{height:var(--jt-pagination-height);border-radius:4px;border:1px solid #e1e4e7;box-shadow:none!important;padding:0 4px}.jt-pagination[data-v-03d564ec] .el-pagination__sizes{height:var(--jt-pagination-height);margin:0 4px 0 0}.jt-pagination[data-v-03d564ec] .el-pagination__sizes .el-select__wrapper{min-height:var(--jt-pagination-height);border-radius:4px;box-shadow:0 0 0 1px #e1e4e7 inset;font-size:14px}.jt-pagination__count[data-v-03d564ec]{font-size:14px;font-weight:400;color:#333;line-height:20px}.jt-crud-table[data-v-335c2682]{--jt-crud-table-gap: 20px;--jt-crud-table-radius: 12px;--jt-crud-table-result-gap: 16px;--jt-crud-table-group-gap: 10px;width:100%;min-height:0;display:flex;flex-direction:column;gap:var(--jt-crud-table-gap);padding:0;border-radius:var(--jt-crud-table-radius);background:#fff}.jt-crud-table__result[data-v-335c2682]{min-height:0;display:flex;flex-direction:column;gap:var(--jt-crud-table-result-gap)}.jt-crud-table__table-group[data-v-335c2682]{min-height:0;display:flex;flex-direction:column;gap:var(--jt-crud-table-group-gap)}.jt-crud-table[data-v-335c2682] .jt-pagination{padding-top:0;flex-shrink:0}.jt-crud-table__toolbar[data-v-335c2682]{display:flex;justify-content:flex-end;align-items:center;min-width:0}.jt-page-header[data-v-b6738d5d]{--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;--jt-page-header-operates-gap: 10px;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-b6738d5d]{display:flex;align-items:center;flex:1 1 auto;min-width:0;overflow:hidden;line-height:20px;font-size:var(--jt-page-header-title-font-size);font-weight:600;color:#333;white-space:nowrap}.jt-page-header .jt-page-header__title[data-v-b6738d5d]:before{content:"";display:block;flex-shrink:0;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 .jt-page-header__title>span[data-v-b6738d5d]{min-width:0;overflow:hidden;text-overflow:ellipsis}.jt-page-header--subsection[data-v-b6738d5d]{--jt-page-header-bg-color: #fff;--jt-page-header-height: 32px;--jt-page-header-padding-x: 0;--jt-page-header-title-font-size: 15px;--jt-page-header-title-marker-width: 3px;--jt-page-header-title-marker-height: 10px}.jt-page-header__title[data-v-b6738d5d],.jt-page-header__operates[data-v-b6738d5d]{min-width:0}.jt-page-header__operates[data-v-b6738d5d]{display:flex;align-items:center;justify-content:flex-end;margin-left:auto;flex-shrink:0;gap:var(--jt-page-header-operates-gap)}.jt-page-header__operates[data-v-b6738d5d] .jt-button.el-button+.jt-button.el-button{margin-left:0}.global-info-field-control[data-v-0cf322fd]{--global-info-control-height: 36px;--global-info-control-border: #d9d9d9;--global-info-control-disabled-bg: #f9fafb;--global-info-control-radius: 8px;width:100%;height:var(--global-info-control-height);min-width:0;font-size:13px;box-sizing:border-box}.global-info-field-control[data-v-0cf322fd] *,.global-info-field-control[data-v-0cf322fd] *:before,.global-info-field-control[data-v-0cf322fd] *:after{box-sizing:border-box}.global-info-field-control.el-input[data-v-0cf322fd],.global-info-field-control.el-input-number[data-v-0cf322fd],.global-info-field-control.el-date-editor[data-v-0cf322fd],.global-info-field-control.el-select[data-v-0cf322fd]{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-0cf322fd]{--el-date-editor-width: 100%}.global-info-field-control.el-date-editor.el-input[data-v-0cf322fd],.global-info-field-control.el-date-editor.el-input__wrapper[data-v-0cf322fd]{width:100%;min-width:0;height:var(--global-info-control-height)}.global-info-field-control[data-v-0cf322fd] .el-input,.global-info-field-control[data-v-0cf322fd] .el-input-number,.global-info-field-control[data-v-0cf322fd] .el-date-editor,.global-info-field-control[data-v-0cf322fd] .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-0cf322fd] .el-input__wrapper,.global-info-field-control[data-v-0cf322fd] .el-select__wrapper,.global-info-field-control[data-v-0cf322fd] .el-input-number__wrapper,.global-info-field-control[data-v-0cf322fd] .el-date-editor.el-input__wrapper,.global-info-field-control.el-date-editor.el-input__wrapper[data-v-0cf322fd]{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-0cf322fd] .el-input__inner,.global-info-field-control[data-v-0cf322fd] .el-select__selection,.global-info-field-control[data-v-0cf322fd] .el-input-number .el-input__inner,.global-info-field-control[data-v-0cf322fd] .el-date-editor .el-input__inner,.global-info-field-control.el-date-editor[data-v-0cf322fd] .el-input__inner{height:var(--global-info-control-height);line-height:var(--global-info-control-height)}.global-info-field-control[data-v-0cf322fd] .el-input__prefix,.global-info-field-control[data-v-0cf322fd] .el-input__suffix,.global-info-field-control[data-v-0cf322fd] .el-select__prefix,.global-info-field-control[data-v-0cf322fd] .el-select__suffix{height:var(--global-info-control-height)}.global-info-field-control[data-v-0cf322fd] .el-select__wrapper{padding-top:1px;padding-bottom:1px}.global-info-field-control[data-v-0cf322fd] .el-input__wrapper.is-disabled,.global-info-field-control[data-v-0cf322fd] .el-select__wrapper.is-disabled,.global-info-field-control[data-v-0cf322fd] .el-textarea__inner:disabled,.global-info-field-control[data-v-0cf322fd] .el-input-number.is-disabled .el-input__wrapper,.global-info-field-control.el-date-editor.is-disabled.el-input__wrapper[data-v-0cf322fd]{background-color:var(--global-info-control-disabled-bg);box-shadow:0 0 0 1px #e5e5e5 inset}.global-info-field-control[data-v-0cf322fd] .el-input-number__decrease,.global-info-field-control[data-v-0cf322fd] .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-0cf322fd] .el-textarea__inner{min-height:var(--global-info-control-height);border-color:#d9d9d9;border-radius:var(--global-info-control-radius);font-size:13px}.global-info-field-control--switch[data-v-0cf322fd]{display:inline-flex;height:var(--global-info-control-height);align-items:center}.global-info-field-control--file[data-v-0cf322fd]{display:flex;gap:2px;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-0cf322fd]{border-color:#e5e5e5;background:#fff}.global-info-field-control--file.is-disabled[data-v-0cf322fd]{background:var(--global-info-control-disabled-bg);color:#0003;cursor:not-allowed}.global-info-field-control--textarea[data-v-0cf322fd]{height:auto;min-height:var(--global-info-control-height);line-height:normal}.global-info-field-control--select-descr[data-v-0cf322fd]{height:var(--global-info-control-height)}.global-info-field-control__file-input[data-v-0cf322fd]{display:none}.global-info-field-control__file-text[data-v-0cf322fd],.global-info-field-control__file-upload[data-v-0cf322fd],.global-info-field-control__file-preview-list[data-v-0cf322fd],.global-info-field-control__file-preview[data-v-0cf322fd]{min-width:0;overflow:hidden;font-size:13px;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.global-info-field-control__file-preview-list[data-v-0cf322fd]{display:inline-flex;max-width:100%;align-items:center}.global-info-field-control__file-preview[data-v-0cf322fd]{max-width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.global-info-field-control__file-separator[data-v-0cf322fd]{flex:none}.global-info-field-control--code[data-v-0cf322fd] .el-textarea__inner{font-family:Consolas,Monaco,Courier New,monospace}.global-info-field-control__option[data-v-0cf322fd]{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:8px 0;line-height:1.4}.global-info-field-control__option-label[data-v-0cf322fd],.global-info-field-control__option-descr[data-v-0cf322fd]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-info-field-control__option-label[data-v-0cf322fd]{color:#333;font-size:13px}.global-info-field-control__option-descr[data-v-0cf322fd]{margin-top:4px;color:#0009;font-size:12px}.global-info-field-control__descr-popper .el-select-dropdown__item{display:flex;height:auto;min-height:56px;align-items:center;line-height:normal}.global-info-field-control__descr-popper{max-width:min(360px,100vw - 32px)}.global-info-field-control__descr-popper .el-select-dropdown__list,.global-info-field-control__descr-popper .el-select-dropdown__item,.global-info-field-control__descr-popper .global-info-field-control__option{max-width:100%}.global-info-field-value[data-v-6134bbbd]{display:inline-block;min-height:22px;color:#333;line-height:22px;word-break:break-word;font-size:15px}.global-info-field-value--html[data-v-6134bbbd],.global-info-field-value--multi-row[data-v-6134bbbd],.global-info-field-value--code[data-v-6134bbbd]{white-space:pre-wrap}.global-info-field-value--code[data-v-6134bbbd]{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-6134bbbd]{color:#e60000;text-decoration:underline;text-underline-offset:3px}.global-info-field-value__attachment-preview[data-v-6134bbbd]{padding:0;border:0;background:transparent;color:#e60000;cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:3px}.global-info-form-renderer[data-v-2b00ccac]{width:100%;--global-info-render-height: 36px;--global-info-render-label-bottom: 6px}.global-info-form-renderer__grid[data-v-2b00ccac]{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));column-gap:10px;row-gap:16px}.global-info-form-renderer__grid-item[data-v-2b00ccac]{min-width:0}.global-info-form-renderer__label[data-v-2b00ccac]{display:inline-flex;align-items:center;gap:2px;color:#6b6e77}.global-info-form-renderer__required[data-v-2b00ccac]{color:#e60000}.global-info-form-renderer[data-v-2b00ccac] .el-form-item{margin-bottom:0}.global-info-form-renderer[data-v-2b00ccac] .el-form-item .el-form-item__label{margin-bottom:var(--global-info-render-label-bottom)}.global-info-form-renderer[data-v-2b00ccac] .el-form-item .el-form-item__content{width:100%;min-width:0;line-height:36px}.global-info-form-renderer[data-v-2b00ccac] .el-form-item .el-form-item__content .el-input__inner,.global-info-form-renderer[data-v-2b00ccac] .el-form-item .el-form-item__content .el-select__selected-item,.global-info-form-renderer[data-v-2b00ccac] .el-form-item .el-form-item__content .el-textarea__inner{--el-input-text-color: #6b6e77 !important}.global-info-form-renderer[data-v-2b00ccac] .el-form-item__label{min-height:20px;margin-bottom:6px;color:#0009;font-size:13px;line-height:20px}.global-info-form-renderer[data-v-2b00ccac] .el-input-number,.global-info-form-renderer[data-v-2b00ccac] .el-date-editor,.global-info-form-renderer[data-v-2b00ccac] .el-select{width:100%;height:var(--global-info-render-height)}.global-info-form-renderer[data-v-2b00ccac] .el-input-number .el-input__wrapper,.global-info-form-renderer[data-v-2b00ccac] .el-date-editor .el-input__wrapper,.global-info-form-renderer[data-v-2b00ccac] .el-select .el-input__wrapper{border-radius:8px}.global-info-multi-form-renderer[data-v-fd65a86c]{display:flex;min-width:0;flex-direction:column;gap:12px}.global-info-multi-form-renderer__item[data-v-fd65a86c]{min-width:0}.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-ddec99d6]{width:100%}.global-info-table-renderer__table-scroll[data-v-ddec99d6]{width:100%;overflow-x:auto;border-radius:8px;background:#f9f9f9}.global-info-table-renderer__table[data-v-ddec99d6]{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-ddec99d6]{display:inline-flex;align-items:center;justify-content:center;gap:2px;color:#6b6e77;font-size:14px;font-weight:400;line-height:24px;white-space:nowrap}.global-info-table-renderer__required[data-v-ddec99d6],.global-info-table-renderer__delete[data-v-ddec99d6]{color:#e60000!important}.global-info-table-renderer__delete[data-v-ddec99d6]{display:inline-flex;align-items:center;gap:4px;font-size:14px;line-height:24px}.global-info-table-renderer__delete-icon[data-v-ddec99d6]{font-size:14px}.global-info-table-renderer__field[data-v-ddec99d6]{display:flex;min-width:0;flex-direction:column;gap:2px}.global-info-table-renderer__field.is-error[data-v-ddec99d6] .el-input__wrapper,.global-info-table-renderer__field.is-error[data-v-ddec99d6] .el-select__wrapper,.global-info-table-renderer__field.is-error[data-v-ddec99d6] .el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px #e60000 inset}.global-info-table-renderer__field-error[data-v-ddec99d6]{color:#e60000;font-size:12px;line-height:16px;white-space:normal}.global-info-table-renderer[data-v-ddec99d6] .el-table__inner-wrapper:before,.global-info-table-renderer[data-v-ddec99d6] .el-table__border-left-patch,.global-info-table-renderer[data-v-ddec99d6] .el-table__border-bottom-patch{display:none}.global-info-table-renderer[data-v-ddec99d6] .el-table__header-wrapper th.el-table__cell,.global-info-table-renderer[data-v-ddec99d6] .el-table__body-wrapper td.el-table__cell{padding:4px 0;border-bottom:0;background:#f9f9f9}.global-info-table-renderer[data-v-ddec99d6] .el-table__header .cell,.global-info-table-renderer[data-v-ddec99d6] .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-ddec99d6] .el-table__body .cell>.global-info-field-control,.global-info-table-renderer[data-v-ddec99d6] .el-table__body .cell .global-info-field-control,.global-info-table-renderer[data-v-ddec99d6] .el-table__body .cell .el-input,.global-info-table-renderer[data-v-ddec99d6] .el-table__body .cell .el-input-number,.global-info-table-renderer[data-v-ddec99d6] .el-table__body .cell .el-select,.global-info-table-renderer[data-v-ddec99d6] .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-ddec99d6] .el-table__body .cell .el-input__wrapper,.global-info-table-renderer[data-v-ddec99d6] .el-table__body .cell .el-select__wrapper,.global-info-table-renderer[data-v-ddec99d6] .el-table__body .cell .el-input-number__wrapper,.global-info-table-renderer[data-v-ddec99d6] .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--editing[data-v-ddec99d6] .el-table__body .cell{overflow:visible;text-overflow:initial}.global-info-table-renderer--editing[data-v-ddec99d6] .el-table__body .cell>.global-info-field-control,.global-info-table-renderer--editing[data-v-ddec99d6] .el-table__body .cell .global-info-field-control,.global-info-table-renderer--editing[data-v-ddec99d6] .el-table__body .cell .el-input,.global-info-table-renderer--editing[data-v-ddec99d6] .el-table__body .cell .el-input-number,.global-info-table-renderer--editing[data-v-ddec99d6] .el-table__body .cell .el-select,.global-info-table-renderer--editing[data-v-ddec99d6] .el-table__body .cell .el-date-editor,.global-info-table-renderer--editing[data-v-ddec99d6] .el-table__body .cell .el-input__wrapper,.global-info-table-renderer--editing[data-v-ddec99d6] .el-table__body .cell .el-select__wrapper,.global-info-table-renderer--editing[data-v-ddec99d6] .el-table__body .cell .el-input-number__wrapper,.global-info-table-renderer--editing[data-v-ddec99d6] .el-table__body .cell .el-date-editor.el-input__wrapper{min-width:120px}.global-info-table-renderer[data-v-ddec99d6] .el-table__header .cell{color:#333}.global-info-table-renderer[data-v-ddec99d6] .el-table__fixed-right{background:#f9f9f9}.global-info-section-block[data-v-2a3bc405]{width:100%;min-width:0;padding:0;background:transparent;border:0;border-radius:0}.global-info-section-block__header[data-v-2a3bc405],.global-info-section-block__title-wrap[data-v-2a3bc405],.global-info-section-block__actions[data-v-2a3bc405]{display:flex;align-items:center}.global-info-section-block__header[data-v-2a3bc405]{justify-content:space-between;gap:16px;margin-bottom:10px}.global-info-section-block__title-wrap[data-v-2a3bc405]{min-width:0;gap:8px}.global-info-section-block__marker[data-v-2a3bc405]{width:4px;height:4px;flex:0 0 auto;background:#e60000;border-radius:50%}.global-info-section-block__title[data-v-2a3bc405]{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-2a3bc405]{flex:0 0 auto;gap:8px}.global-info-section-block__edit[data-v-2a3bc405],.global-info-section-block__cancel[data-v-2a3bc405],.global-info-section-block__add[data-v-2a3bc405],.global-info-section-block__confirm[data-v-2a3bc405]{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:48px;height:24px;padding:0 12px;border:1px solid transparent;border-radius:12px;font-size:12px;font-weight:400;line-height:24px;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.global-info-section-block__edit[data-v-2a3bc405],.global-info-section-block__add[data-v-2a3bc405]{color:#e60000;background:#fff;border-color:#ffd1d1}.global-info-section-block__edit[data-v-2a3bc405]{gap:0}.global-info-section-block__cancel[data-v-2a3bc405]{color:#0009;background:#f5f5f5;border-color:#e5e5e5}.global-info-section-block__edit[data-v-2a3bc405]:hover,.global-info-section-block__edit[data-v-2a3bc405]:focus,.global-info-section-block__add[data-v-2a3bc405]:hover,.global-info-section-block__add[data-v-2a3bc405]:focus{color:#e51e1b;background:#fdf7f7;border-color:#f7b2b2}.global-info-section-block__cancel[data-v-2a3bc405]:hover,.global-info-section-block__cancel[data-v-2a3bc405]:focus{color:#333;background:#e5e5e5}.global-info-section-block__confirm[data-v-2a3bc405]{--el-button-text-color: #ffffff;--el-button-bg-color: #e60000;--el-button-border-color: #e60000;--el-button-hover-text-color: #ffffff;--el-button-hover-bg-color: #e51e1b;--el-button-hover-border-color: #e51e1b;--el-button-active-text-color: #ffffff;--el-button-active-bg-color: #e51e1b;--el-button-active-border-color: #e51e1b;color:#fff;background:#e60000;border-color:#e60000;box-shadow:0 4px 8px #e6000029}.global-info-section-block__confirm[data-v-2a3bc405]:hover,.global-info-section-block__confirm[data-v-2a3bc405]:focus{color:#fff;background:#e51e1b;border-color:#e51e1b}.global-info-section-block__edit.is-disabled[data-v-2a3bc405],.global-info-section-block__cancel.is-disabled[data-v-2a3bc405],.global-info-section-block__add.is-disabled[data-v-2a3bc405],.global-info-section-block__confirm.is-disabled[data-v-2a3bc405]{color:#0003;background:#f5f5f5;border-color:transparent;box-shadow:none}.global-info-section-block__edit-icon[data-v-2a3bc405]{width:12px;height:12px;flex:0 0 auto;display:block}.global-info-section-block__body[data-v-2a3bc405]{min-width:0}.global-info-section-block__loading-placeholder[data-v-2a3bc405]{min-height:80px}.global-info-section-block__status[data-v-2a3bc405]{min-height:80px;display:flex;align-items:center;justify-content:center;color:#0006;font-size:14px}.global-info-group[data-v-08c94b28]{width:100%;min-width:0;padding:16px 20px 20px;background:#fff;border-radius:12px}.global-info-group__header[data-v-08c94b28]{display:flex;min-width:0;align-items:center;gap:8px;margin-bottom:16px}.global-info-group__marker[data-v-08c94b28]{width:3px;height:12px;flex:0 0 auto;background:#e60000;border-radius:2px}.global-info-group__title[data-v-08c94b28]{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-08c94b28]{min-width:0}.global-info-group__section[data-v-08c94b28]{min-width:0;padding-bottom:20px;border-bottom:1px solid #e5e5e5}.global-info-group__section+.global-info-group__section[data-v-08c94b28]{margin-top:20px}.global-info-group__section[data-v-08c94b28]:last-child{padding-bottom:0;border-bottom:0}.global-info-group__empty[data-v-08c94b28]{min-height:80px;display:flex;align-items:center;justify-content:center;color:#0006;font-size:14px}.global-info-sections[data-v-3952a5a0]{display:flex;min-width:0;flex-direction:column;gap:12px}.global-info-left-nav[data-v-308bf3d4]{box-sizing:border-box;display:flex;min-width:0;flex-direction:column;gap:4px}.global-info-left-nav__item[data-v-308bf3d4]{position:relative;display:flex;width:100%;min-width:0;align-items:center;gap:6px;border:0;border-left:2px solid transparent;background:transparent;color:#0009;cursor:pointer;font-size:14px;line-height:22px;padding:6px 8px;text-align:left}.global-info-left-nav__item.is-active[data-v-308bf3d4]{border-left-color:#e60000;color:#e60000;font-weight:500}.global-info-left-nav__item.is-disabled[data-v-308bf3d4]{color:#0003;cursor:not-allowed}.global-info-left-nav__label[data-v-308bf3d4]{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-info-left-nav__tag[data-v-308bf3d4]{flex:none;color:inherit;font-size:12px;line-height:18px}.global-info-left-nav--timeline[data-v-308bf3d4]{gap:0}.global-info-left-nav--timeline .global-info-left-nav__item[data-v-308bf3d4]{min-height:var(--global-info-left-nav-timeline-item-height, 62px);display:grid;grid-template-columns:max-content max-content max-content;align-items:flex-start;column-gap:4px;padding:0 0 14px 20px;border-left:0;line-height:20px}.global-info-left-nav--timeline .global-info-left-nav__item[data-v-308bf3d4]:before{position:absolute;top:13px;bottom:0;left:5px;width:1px;background:var(--global-info-left-nav-timeline-line-color, #e5e5e5);content:""}.global-info-left-nav--timeline .global-info-left-nav__item[data-v-308bf3d4]:after{position:absolute;top:5px;left:1px;width:8px;height:8px;border:1px solid var(--global-info-left-nav-timeline-dot-border-color, #bfbfbf);border-radius:50%;background:var(--global-info-left-nav-timeline-dot-bg, #fff);content:""}.global-info-left-nav--timeline .global-info-left-nav__item[data-v-308bf3d4]:last-child:before{display:none}.global-info-left-nav--timeline .global-info-left-nav__item.is-active[data-v-308bf3d4]{color:#e60000}.global-info-left-nav--timeline .global-info-left-nav__item.is-active[data-v-308bf3d4]:after{border-color:var(--global-info-left-nav-timeline-active-color, #e60000);background:var(--global-info-left-nav-timeline-dot-bg, #fff);box-shadow:inset 0 0 0 2px var(--global-info-left-nav-timeline-active-color, #e60000)}.global-info-left-nav--timeline .global-info-left-nav__time[data-v-308bf3d4],.global-info-left-nav--timeline .global-info-left-nav__icon[data-v-308bf3d4]{grid-row:1;min-width:0;overflow:hidden;color:inherit;font-size:12px;font-weight:400;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.global-info-left-nav--timeline .global-info-left-nav__label[data-v-308bf3d4]{grid-row:2;grid-column:1/-1;color:inherit;font-size:12px;line-height:20px;white-space:normal}.global-info-left-nav--timeline .global-info-left-nav__tag[data-v-308bf3d4]{grid-row:1;margin-left:0;padding:0 4px;border:1px solid currentColor;border-radius:3px;color:#e60000;background:#fff;line-height:16px}.global-info-left-nav--anchor[data-v-308bf3d4]{gap:0}.global-info-left-nav--anchor .global-info-left-nav__item[data-v-308bf3d4]{min-height:var(--global-info-left-nav-anchor-item-height, 56px);align-items:flex-start;padding:0 0 14px 20px;border-left:0;color:var(--global-info-left-nav-anchor-color, #333);line-height:20px}.global-info-left-nav--anchor .global-info-left-nav__item[data-v-308bf3d4]:before{position:absolute;top:13px;bottom:0;left:5px;width:1px;background:var(--global-info-left-nav-anchor-line-color, #e5e5e5);content:""}.global-info-left-nav--anchor .global-info-left-nav__item[data-v-308bf3d4]:after{position:absolute;top:5px;left:1px;width:8px;height:8px;border:1px solid var(--global-info-left-nav-anchor-dot-border-color, #bfbfbf);border-radius:50%;background:var(--global-info-left-nav-anchor-dot-bg, #fff);content:""}.global-info-left-nav--anchor .global-info-left-nav__item[data-v-308bf3d4]:last-child:before{display:none}.global-info-left-nav--anchor .global-info-left-nav__item.is-active[data-v-308bf3d4]{color:var(--global-info-left-nav-anchor-active-color, #e60000)}.global-info-left-nav--anchor .global-info-left-nav__item.is-active[data-v-308bf3d4]:after{border-color:var(--global-info-left-nav-anchor-active-color, #e60000);background:var(--global-info-left-nav-anchor-dot-bg, #fff);box-shadow:inset 0 0 0 2px var(--global-info-left-nav-anchor-active-color, #e60000)}.global-info-left-nav--anchor .global-info-left-nav__label[data-v-308bf3d4]{color:inherit;font-size:12px;line-height:20px}
|
|
@@ -5,6 +5,7 @@ type __VLS_Props = {
|
|
|
5
5
|
state: GlobalInfoState;
|
|
6
6
|
actions: GlobalInfoActions;
|
|
7
7
|
index?: number;
|
|
8
|
+
loadOnVisible?: boolean;
|
|
8
9
|
renderConfig?: GlobalInfoRenderConfig;
|
|
9
10
|
};
|
|
10
11
|
declare var __VLS_1: {
|
|
@@ -57,18 +58,22 @@ declare var __VLS_1: {
|
|
|
57
58
|
handleCancel: () => void;
|
|
58
59
|
handleSave: () => Promise<unknown>;
|
|
59
60
|
}, __VLS_19: string, __VLS_20: {
|
|
61
|
+
field: import("../index.ts").GlobalInfoField;
|
|
60
62
|
section: import("../index.ts").GlobalInfoSection;
|
|
61
63
|
sectionView: import("../index.ts").GlobalInfoSection;
|
|
62
64
|
node: GlobalInfoNode | null | undefined;
|
|
63
65
|
editing: boolean;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
fields: import("../index.ts").GlobalInfoField[];
|
|
67
|
-
renderConfig: GlobalInfoRenderConfig | undefined;
|
|
66
|
+
modelValue: unknown;
|
|
67
|
+
value: unknown;
|
|
68
68
|
state: GlobalInfoState;
|
|
69
69
|
actions: GlobalInfoActions;
|
|
70
|
+
updateModelValue: (value: unknown) => void;
|
|
71
|
+
fields?: import("../index.ts").GlobalInfoField[];
|
|
72
|
+
renderConfig?: GlobalInfoRenderConfig;
|
|
70
73
|
viewModel?: import("../index.ts").GlobalInfoViewModel;
|
|
71
74
|
title?: string;
|
|
75
|
+
isEmpty?: boolean;
|
|
76
|
+
empty?: boolean;
|
|
72
77
|
isSelfSection?: boolean;
|
|
73
78
|
loading?: boolean;
|
|
74
79
|
error?: unknown;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { GlobalInfoNode, GlobalInfoSection } from '../model/types';
|
|
2
|
+
type GlobalInfoLeftNavItem = GlobalInfoNode | GlobalInfoSection;
|
|
3
|
+
type GlobalInfoLeftNavItemMeta = {
|
|
4
|
+
key?: string;
|
|
5
|
+
label?: string;
|
|
6
|
+
time?: string;
|
|
7
|
+
tag?: string;
|
|
8
|
+
icon?: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
targetId?: string;
|
|
11
|
+
};
|
|
12
|
+
type __VLS_Props = {
|
|
13
|
+
items: GlobalInfoLeftNavItem[];
|
|
14
|
+
activeKey?: string;
|
|
15
|
+
mode: 'anchor' | 'timeline';
|
|
16
|
+
itemMeta?: (item: GlobalInfoLeftNavItem, index: number) => GlobalInfoLeftNavItemMeta;
|
|
17
|
+
};
|
|
18
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
19
|
+
select: (item: GlobalInfoLeftNavItem, key: string) => any;
|
|
20
|
+
"update:activeKey": (key: string) => any;
|
|
21
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
22
|
+
onSelect?: ((item: GlobalInfoLeftNavItem, key: string) => any) | undefined;
|
|
23
|
+
"onUpdate:activeKey"?: ((key: string) => any) | undefined;
|
|
24
|
+
}>, {
|
|
25
|
+
mode: "anchor" | "timeline";
|
|
26
|
+
activeKey: string;
|
|
27
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
28
|
+
declare const _default: typeof __VLS_export;
|
|
29
|
+
export default _default;
|
|
@@ -4,6 +4,7 @@ type __VLS_Props = {
|
|
|
4
4
|
state: GlobalInfoState;
|
|
5
5
|
actions: GlobalInfoActions;
|
|
6
6
|
hideHeader?: boolean;
|
|
7
|
+
loadOnVisible?: boolean;
|
|
7
8
|
renderConfig?: GlobalInfoRenderConfig;
|
|
8
9
|
onEdit?: (section: GlobalInfoSection, node: GlobalInfoNode) => void | Promise<void>;
|
|
9
10
|
onCancel?: (section: GlobalInfoSection, node: GlobalInfoNode) => void | Promise<void>;
|
|
@@ -55,7 +56,7 @@ declare var __VLS_1: {
|
|
|
55
56
|
handleCancel?: () => Promise<void>;
|
|
56
57
|
handleAddTableRow?: () => void;
|
|
57
58
|
handleSave?: () => Promise<void>;
|
|
58
|
-
},
|
|
59
|
+
}, __VLS_44: {
|
|
59
60
|
section: GlobalInfoSection | null;
|
|
60
61
|
sectionView?: GlobalInfoSection | null;
|
|
61
62
|
node?: GlobalInfoNode | null;
|
|
@@ -78,7 +79,7 @@ declare var __VLS_1: {
|
|
|
78
79
|
handleCancel?: () => Promise<void>;
|
|
79
80
|
handleAddTableRow?: () => void;
|
|
80
81
|
handleSave?: () => Promise<void>;
|
|
81
|
-
},
|
|
82
|
+
}, __VLS_47: {
|
|
82
83
|
section: GlobalInfoSection | null;
|
|
83
84
|
sectionView?: GlobalInfoSection | null;
|
|
84
85
|
node?: GlobalInfoNode | null;
|
|
@@ -101,19 +102,23 @@ declare var __VLS_1: {
|
|
|
101
102
|
handleCancel?: () => Promise<void>;
|
|
102
103
|
handleAddTableRow?: () => void;
|
|
103
104
|
handleSave?: () => Promise<void>;
|
|
104
|
-
},
|
|
105
|
+
}, __VLS_65: string, __VLS_66: {
|
|
106
|
+
field: import("../index.ts").GlobalInfoField;
|
|
105
107
|
section: GlobalInfoSection;
|
|
106
108
|
sectionView: GlobalInfoSection;
|
|
107
109
|
node: GlobalInfoNode | null | undefined;
|
|
108
110
|
editing: boolean;
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
fields: import("../index.ts").GlobalInfoField[];
|
|
112
|
-
renderConfig: GlobalInfoRenderConfig | undefined;
|
|
111
|
+
modelValue: unknown;
|
|
112
|
+
value: unknown;
|
|
113
113
|
state: GlobalInfoState;
|
|
114
114
|
actions: GlobalInfoActions;
|
|
115
|
+
updateModelValue: (value: unknown) => void;
|
|
116
|
+
fields?: import("../index.ts").GlobalInfoField[];
|
|
117
|
+
renderConfig?: GlobalInfoRenderConfig;
|
|
115
118
|
viewModel?: import("../index.ts").GlobalInfoViewModel;
|
|
116
119
|
title?: string;
|
|
120
|
+
isEmpty?: boolean;
|
|
121
|
+
empty?: boolean;
|
|
117
122
|
isSelfSection?: boolean;
|
|
118
123
|
loading?: boolean;
|
|
119
124
|
error?: unknown;
|
|
@@ -124,7 +129,7 @@ declare var __VLS_1: {
|
|
|
124
129
|
handleCancel?: () => Promise<void>;
|
|
125
130
|
handleAddTableRow?: () => void;
|
|
126
131
|
handleSave?: () => Promise<void>;
|
|
127
|
-
},
|
|
132
|
+
}, __VLS_69: {
|
|
128
133
|
section: GlobalInfoSection | null;
|
|
129
134
|
sectionView?: GlobalInfoSection | null;
|
|
130
135
|
node?: GlobalInfoNode | null;
|
|
@@ -149,17 +154,17 @@ declare var __VLS_1: {
|
|
|
149
154
|
handleSave?: () => Promise<void>;
|
|
150
155
|
};
|
|
151
156
|
type __VLS_Slots = {} & {
|
|
152
|
-
[K in NonNullable<typeof
|
|
157
|
+
[K in NonNullable<typeof __VLS_65>]?: (props: typeof __VLS_66) => any;
|
|
153
158
|
} & {
|
|
154
159
|
header?: (props: typeof __VLS_1) => any;
|
|
155
160
|
} & {
|
|
156
161
|
actions?: (props: typeof __VLS_3) => any;
|
|
157
162
|
} & {
|
|
158
|
-
loading?: (props: typeof
|
|
163
|
+
loading?: (props: typeof __VLS_44) => any;
|
|
159
164
|
} & {
|
|
160
|
-
empty?: (props: typeof
|
|
165
|
+
empty?: (props: typeof __VLS_47) => any;
|
|
161
166
|
} & {
|
|
162
|
-
empty?: (props: typeof
|
|
167
|
+
empty?: (props: typeof __VLS_69) => any;
|
|
163
168
|
};
|
|
164
169
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
165
170
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -18,9 +18,22 @@ declare var __VLS_2: string, __VLS_3: {
|
|
|
18
18
|
renderConfig: GlobalInfoRenderConfig | undefined;
|
|
19
19
|
state: GlobalInfoState;
|
|
20
20
|
actions: GlobalInfoActions;
|
|
21
|
+
}, __VLS_14: string, __VLS_15: {
|
|
22
|
+
field: import("../index.ts").GlobalInfoField;
|
|
23
|
+
section: GlobalInfoSection;
|
|
24
|
+
sectionView: GlobalInfoSection;
|
|
25
|
+
node: GlobalInfoNode | null | undefined;
|
|
26
|
+
editing: boolean;
|
|
27
|
+
modelValue: unknown;
|
|
28
|
+
value: unknown;
|
|
29
|
+
state: GlobalInfoState;
|
|
30
|
+
actions: GlobalInfoActions;
|
|
31
|
+
updateModelValue: (value: unknown) => void;
|
|
21
32
|
};
|
|
22
33
|
type __VLS_Slots = {} & {
|
|
23
34
|
[K in NonNullable<typeof __VLS_2>]?: (props: typeof __VLS_3) => any;
|
|
35
|
+
} & {
|
|
36
|
+
[K in NonNullable<typeof __VLS_14>]?: (props: typeof __VLS_15) => any;
|
|
24
37
|
};
|
|
25
38
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
26
39
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -3,6 +3,7 @@ type __VLS_Props = {
|
|
|
3
3
|
nodes: GlobalInfoNode[];
|
|
4
4
|
state: GlobalInfoState;
|
|
5
5
|
actions: GlobalInfoActions;
|
|
6
|
+
loadOnVisible?: boolean;
|
|
6
7
|
renderConfig?: GlobalInfoRenderConfig;
|
|
7
8
|
};
|
|
8
9
|
declare var __VLS_2: string, __VLS_3: {
|
|
@@ -22,18 +23,22 @@ declare var __VLS_2: string, __VLS_3: {
|
|
|
22
23
|
index: number;
|
|
23
24
|
isEmpty: boolean;
|
|
24
25
|
}, __VLS_15: string, __VLS_16: {
|
|
26
|
+
field: import("../index.ts").GlobalInfoField;
|
|
25
27
|
section: import("../index.ts").GlobalInfoSection;
|
|
26
28
|
sectionView: import("../index.ts").GlobalInfoSection;
|
|
27
29
|
node: GlobalInfoNode | null | undefined;
|
|
28
30
|
editing: boolean;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
fields: import("../index.ts").GlobalInfoField[];
|
|
32
|
-
renderConfig: GlobalInfoRenderConfig | undefined;
|
|
31
|
+
modelValue: unknown;
|
|
32
|
+
value: unknown;
|
|
33
33
|
state: GlobalInfoState;
|
|
34
34
|
actions: GlobalInfoActions;
|
|
35
|
+
updateModelValue: (value: unknown) => void;
|
|
36
|
+
fields?: import("../index.ts").GlobalInfoField[];
|
|
37
|
+
renderConfig?: GlobalInfoRenderConfig;
|
|
35
38
|
viewModel?: import("../index.ts").GlobalInfoViewModel;
|
|
36
39
|
title?: string;
|
|
40
|
+
isEmpty?: boolean;
|
|
41
|
+
empty?: boolean;
|
|
37
42
|
isSelfSection?: boolean;
|
|
38
43
|
loading?: boolean;
|
|
39
44
|
error?: unknown;
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
export { default as GlobalInfoProvider } from './components/GlobalInfoProvider.vue';
|
|
2
2
|
export { default as GlobalInfoSections } from './components/GlobalInfoSections.vue';
|
|
3
3
|
export { default as GlobalInfoGroup } from './components/GlobalInfoGroup.vue';
|
|
4
|
+
export { default as GlobalInfoLeftNav } from './components/GlobalInfoLeftNav.vue';
|
|
4
5
|
export { default as GlobalInfoSectionBlock } from './components/GlobalInfoSectionBlock.vue';
|
|
5
6
|
export { default as GlobalInfoSectionOutlet } from './components/GlobalInfoSectionOutlet.vue';
|
|
6
7
|
export { default as GlobalInfoAutoRenderer } from './renderers/GlobalInfoAutoRenderer.vue';
|
|
7
8
|
export { default as GlobalInfoFormRenderer } from './renderers/GlobalInfoFormRenderer.vue';
|
|
9
|
+
export { default as GlobalInfoMultiFormRenderer } from './renderers/GlobalInfoMultiFormRenderer.vue';
|
|
8
10
|
export { default as GlobalInfoTableRenderer } from './renderers/GlobalInfoTableRenderer.vue';
|
|
9
11
|
export { default as GlobalInfoFieldControl } from './renderers/GlobalInfoFieldControl.vue';
|
|
10
12
|
export { default as GlobalInfoFieldValue } from './renderers/GlobalInfoFieldValue.vue';
|
|
11
13
|
export { default as GlobalInfoDeleteConfirm } from './renderers/GlobalInfoDeleteConfirm.vue';
|
|
12
14
|
export { useGlobalInfoController } from './controller/useGlobalInfoController';
|
|
13
|
-
export { buildGlobalInfoUpdatePayload, createEmptyGlobalInfoViewModel, isGlobalInfoNode, mergeGlobalInfoChildren, normalizeGlobalInfoDetail, normalizeGlobalInfoTree, resolveGlobalInfoRenderType, } from './model/adapter';
|
|
15
|
+
export { buildGlobalInfoUpdatePayload, createEmptyGlobalInfoViewModel, isGlobalInfoNode, mergeGlobalInfoChildren, normalizeGlobalInfoDetail, normalizeGlobalInfoOptions, normalizeGlobalInfoTree, resolveGlobalInfoRenderType, } from './model/adapter';
|
|
16
|
+
export { getGlobalInfoFieldErrorKey, isGlobalInfoFieldRequired, resolveGlobalInfoFieldRequiredMessage, validateGlobalInfoRequiredFields, } from './model/fieldValidation';
|
|
17
|
+
export type { GlobalInfoRequiredFieldValidationResult, } from './model/fieldValidation';
|
|
14
18
|
export { DEFAULT_GLOBAL_INFO_REQUIRED_INFO_SET_EMPTY_MESSAGE, validateGlobalInfoRequiredInfoSet, } from './model/requiredInfoSetValidation';
|
|
15
|
-
export type { GlobalInfoActions, GlobalInfoApiOperation, GlobalInfoDetailParams, GlobalInfoExternalOperationParamsFormatter, GlobalInfoExternalOperationParamsFormatterContext, GlobalInfoField, GlobalInfoFieldBusinessChangeContext, GlobalInfoFieldBusinessChangeHandler, GlobalInfoFieldHiddenContext, GlobalInfoFieldHiddenRule, GlobalInfoFieldOption, GlobalInfoInfoSet, GlobalInfoNode, GlobalInfoOperationContext, GlobalInfoOpenTreeParams, GlobalInfoProviderSlotProps, GlobalInfoRawRecord, GlobalInfoRequestSource, GlobalInfoRequestType, GlobalInfoRequiredInfoSetEmptyMessage, GlobalInfoRequiredInfoSetEmptyMessageContext, GlobalInfoRenderConfig, GlobalInfoRenderType, GlobalInfoScheme, GlobalInfoSection, GlobalInfoSectionLoadTarget, GlobalInfoSectionSlotScope, GlobalInfoSectionStatus, GlobalInfoSectionTarget, GlobalInfoService, GlobalInfoSetMark, GlobalInfoState, GlobalInfoTableRowDeleteVisibleContext, GlobalInfoTableRowDeleteVisibleRule, GlobalInfoTemplateTreeParams, GlobalInfoUpdateParams, GlobalInfoViewModel, } from './model/types';
|
|
19
|
+
export type { GlobalInfoActions, GlobalInfoApiOperation, GlobalInfoBeforeSaveContext, GlobalInfoBeforeSaveHandler, GlobalInfoBeforeSaveResult, GlobalInfoDetailParams, GlobalInfoExternalOperationParamsFormatter, GlobalInfoExternalOperationParamsFormatterContext, GlobalInfoField, GlobalInfoFieldBusinessChangeContext, GlobalInfoFieldBusinessChangeHandler, GlobalInfoFieldHiddenContext, GlobalInfoFieldHiddenRule, GlobalInfoFieldOption, GlobalInfoFieldRequiredContext, GlobalInfoFieldRequiredRule, GlobalInfoInfoSet, GlobalInfoNode, GlobalInfoOperationContext, GlobalInfoOpenTreeParams, GlobalInfoProviderSlotProps, GlobalInfoRawRecord, GlobalInfoRequestSource, GlobalInfoRequestType, GlobalInfoRequiredInfoSetEmptyMessage, GlobalInfoRequiredInfoSetEmptyMessageContext, GlobalInfoRenderConfig, GlobalInfoRenderType, GlobalInfoScheme, GlobalInfoSection, GlobalInfoSectionLoadTarget, GlobalInfoSectionSlotScope, GlobalInfoSectionStatus, GlobalInfoSectionTarget, GlobalInfoService, GlobalInfoSetMark, GlobalInfoState, GlobalInfoTableRowDeleteVisibleContext, GlobalInfoTableRowDeleteVisibleRule, GlobalInfoTemplateTreeParams, GlobalInfoUpdateParams, GlobalInfoViewModel, } from './model/types';
|
|
@@ -42,7 +42,7 @@ export declare function normalizeGlobalInfoSelectValues(field: GlobalInfoField,
|
|
|
42
42
|
export declare function toGlobalInfoSelectModelValue(field: GlobalInfoField, value: GlobalInfoFieldValue): GlobalInfoFieldValue;
|
|
43
43
|
export declare function fromGlobalInfoSelectModelValue(field: GlobalInfoField, value: GlobalInfoFieldValue): GlobalInfoFieldValue;
|
|
44
44
|
export declare function toGlobalInfoBooleanValue(value: GlobalInfoFieldValue): boolean;
|
|
45
|
-
export declare function isGlobalInfoOptionValueMatched(option: Pick<GlobalInfoFieldOption, 'value' | 'raw'> & Partial<Pick<GlobalInfoFieldOption, 'code'
|
|
45
|
+
export declare function isGlobalInfoOptionValueMatched(option: Pick<GlobalInfoFieldOption, 'value' | 'raw'> & Partial<Pick<GlobalInfoFieldOption, 'code'>>, value: GlobalInfoFieldValue): boolean;
|
|
46
46
|
export declare function resolveGlobalInfoVisibleFields(fields: GlobalInfoField[], section?: GlobalInfoSection | null, config?: GlobalInfoRenderConfig, runtime?: GlobalInfoFieldVisibilityRuntime): GlobalInfoField[];
|
|
47
47
|
export declare function isGlobalInfoSequenceField(field: GlobalInfoField): boolean;
|
|
48
48
|
export declare function isGlobalInfoSeqNoField(field: GlobalInfoField): boolean;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { GlobalInfoField, GlobalInfoRawRecord, GlobalInfoRenderConfig, GlobalInfoSection } from './types';
|
|
2
|
+
export interface GlobalInfoRequiredFieldValidationResult {
|
|
3
|
+
/** 字段实例级错误表;表格字段使用 rowIndex:fieldCode 作为 key。 */
|
|
4
|
+
fieldErrors: Record<string, string>;
|
|
5
|
+
/** 第一个错误文案,供保存前直接阻断。 */
|
|
6
|
+
firstMessage: string | null;
|
|
7
|
+
}
|
|
8
|
+
export declare function getGlobalInfoFieldErrorKey(field: GlobalInfoField, rowIndex?: number): string;
|
|
9
|
+
export declare function isGlobalInfoFieldRequired(field: GlobalInfoField, section: GlobalInfoSection, config: GlobalInfoRenderConfig | undefined, values: GlobalInfoRawRecord, runtime?: {
|
|
10
|
+
row?: GlobalInfoRawRecord;
|
|
11
|
+
rowIndex?: number;
|
|
12
|
+
rows?: GlobalInfoRawRecord[];
|
|
13
|
+
}): boolean;
|
|
14
|
+
export declare function resolveGlobalInfoFieldRequiredMessage(field: GlobalInfoField, section: GlobalInfoSection, config: GlobalInfoRenderConfig | undefined, values: GlobalInfoRawRecord, runtime?: {
|
|
15
|
+
row?: GlobalInfoRawRecord;
|
|
16
|
+
rowIndex?: number;
|
|
17
|
+
rows?: GlobalInfoRawRecord[];
|
|
18
|
+
}): string | null;
|
|
19
|
+
export declare function validateGlobalInfoRequiredFields(section: GlobalInfoSection, config?: GlobalInfoRenderConfig): GlobalInfoRequiredFieldValidationResult;
|
|
@@ -5,7 +5,7 @@ export type GlobalInfoPrimitive = string | number | boolean | null;
|
|
|
5
5
|
/** 字段值保持开放,文件、日期对象、自定义插槽值都可以透传。 */
|
|
6
6
|
export type GlobalInfoFieldValue = unknown;
|
|
7
7
|
/** 信息集最终渲染类型:表单、表格、文本、HTML、代码、多行、空态或文件。 */
|
|
8
|
-
export type GlobalInfoRenderType = 'form' | 'table' | 'text' | 'html' | 'code' | 'multi-row' | 'empty' | 'file';
|
|
8
|
+
export type GlobalInfoRenderType = 'form' | 'table' | 'multi-form' | 'text' | 'html' | 'code' | 'multi-row' | 'empty' | 'file';
|
|
9
9
|
/** 字段动态隐藏方法上下文,values 是当前表单或当前表格行的完整值。 */
|
|
10
10
|
export interface GlobalInfoFieldHiddenContext {
|
|
11
11
|
/** 当前字段定义。 */
|
|
@@ -86,12 +86,55 @@ export type GlobalInfoRequiredInfoSetEmptyMessageContext = {
|
|
|
86
86
|
infSetValues: GlobalInfoRawRecord[];
|
|
87
87
|
};
|
|
88
88
|
export type GlobalInfoRequiredInfoSetEmptyMessage = string | ((context: GlobalInfoRequiredInfoSetEmptyMessageContext) => string);
|
|
89
|
+
/** 字段级必填规则上下文,values 始终是当前表单或当前表格行的值。 */
|
|
90
|
+
export interface GlobalInfoFieldRequiredContext {
|
|
91
|
+
/** 当前字段定义。 */
|
|
92
|
+
field: GlobalInfoField;
|
|
93
|
+
/** 当前字段所属 section。 */
|
|
94
|
+
section: GlobalInfoSection;
|
|
95
|
+
/** 当前表单或表格行的所有字段值。 */
|
|
96
|
+
values: GlobalInfoRawRecord;
|
|
97
|
+
/** 当前字段值。 */
|
|
98
|
+
value: unknown;
|
|
99
|
+
/** 表格场景下的当前行数据,表单场景不传。 */
|
|
100
|
+
row?: GlobalInfoRawRecord;
|
|
101
|
+
/** 表格场景下的当前行下标,表单场景不传。 */
|
|
102
|
+
rowIndex?: number;
|
|
103
|
+
/** 表格场景下的完整 rows,表单场景不传。 */
|
|
104
|
+
rows?: GlobalInfoRawRecord[];
|
|
105
|
+
}
|
|
106
|
+
/** 返回 true 表示必填,返回字符串表示必填并使用该字符串作为错误文案。 */
|
|
107
|
+
export type GlobalInfoFieldRequiredRule = (context: GlobalInfoFieldRequiredContext) => boolean | string;
|
|
108
|
+
/** 保存前业务钩子上下文;payload 已经是即将提交给后端的数据。 */
|
|
109
|
+
export interface GlobalInfoBeforeSaveContext {
|
|
110
|
+
/** 当前保存的信息集。 */
|
|
111
|
+
section: GlobalInfoSection;
|
|
112
|
+
/** 当前归属节点。 */
|
|
113
|
+
node?: GlobalInfoNode | null;
|
|
114
|
+
/** 当前表单模型。 */
|
|
115
|
+
model: GlobalInfoRawRecord;
|
|
116
|
+
/** 当前表格行或表单单行数据。 */
|
|
117
|
+
rows: GlobalInfoRawRecord[];
|
|
118
|
+
/** 即将提交给后端的保存 payload。 */
|
|
119
|
+
payload: GlobalInfoUpdateParams;
|
|
120
|
+
/** 当前全局状态快照。 */
|
|
121
|
+
state: GlobalInfoState;
|
|
122
|
+
/** controller 动作集合。 */
|
|
123
|
+
actions: GlobalInfoActions;
|
|
124
|
+
}
|
|
125
|
+
export type GlobalInfoBeforeSaveResult = void | boolean | string | Error;
|
|
126
|
+
/** 保存前业务钩子;返回字符串、Error 或 false 时阻断保存。 */
|
|
127
|
+
export type GlobalInfoBeforeSaveHandler = (context: GlobalInfoBeforeSaveContext) => GlobalInfoBeforeSaveResult | Promise<GlobalInfoBeforeSaveResult>;
|
|
89
128
|
/** globalInfo 默认渲染器配置,字段隐藏只保留 hiddenRule 一种方式,避免多套规则互相覆盖。 */
|
|
90
129
|
export interface GlobalInfoRenderConfig {
|
|
91
130
|
/** 字段隐藏方法;字段值变化后 computed 会重新执行,返回 true 时隐藏当前字段。 */
|
|
92
131
|
hiddenRule?: GlobalInfoFieldHiddenRule;
|
|
132
|
+
/** 字段级动态必填规则;隐藏字段不会参与必填校验。 */
|
|
133
|
+
requiredRule?: GlobalInfoFieldRequiredRule;
|
|
93
134
|
/** 字段业务变更回调,用于把字段变更现场交给外部业务处理。 */
|
|
94
135
|
onFieldBusinessChange?: GlobalInfoFieldBusinessChangeHandler;
|
|
136
|
+
/** 保存前业务钩子;只负责阻断或放行,普通保存仍由 saveSection 继续执行。 */
|
|
137
|
+
onBeforeSave?: GlobalInfoBeforeSaveHandler;
|
|
95
138
|
/** 表格行删除按钮展示方法;返回 false 时只隐藏当前行删除入口。 */
|
|
96
139
|
rowDeleteVisibleRule?: GlobalInfoTableRowDeleteVisibleRule;
|
|
97
140
|
/** 信息集级必填为空时的提示文案;默认提示“信息集不能为空,最后一条数据不可删除”。 */
|
|
@@ -375,6 +418,8 @@ export interface GlobalInfoField {
|
|
|
375
418
|
placeholder?: string;
|
|
376
419
|
/** 静态或动态加载后的选项。 */
|
|
377
420
|
options?: GlobalInfoFieldOption[];
|
|
421
|
+
/** 信息集枚举来源类型:NOTRANS 不处理,REST 调接口,ENUMS 使用详情响应内联枚举。 */
|
|
422
|
+
valueListType?: string;
|
|
378
423
|
/** 字段动态接口描述,常用于级联下拉。 */
|
|
379
424
|
interface?: GlobalInfoApiOperation;
|
|
380
425
|
/** 当前字段变更后需要清空的字段 code 列表。 */
|
|
@@ -490,6 +535,8 @@ export interface GlobalInfoSectionStatus {
|
|
|
490
535
|
loaded: boolean;
|
|
491
536
|
/** 是否处于编辑态。 */
|
|
492
537
|
editing: boolean;
|
|
538
|
+
/** 字段实例级错误,key 为字段 code 或 rowIndex:fieldCode。 */
|
|
539
|
+
fieldErrors?: Record<string, string>;
|
|
493
540
|
}
|
|
494
541
|
/** 模板树适配后的返回结构。 */
|
|
495
542
|
export interface GlobalInfoTemplateResponse {
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { GlobalInfoField, GlobalInfoFieldOption, GlobalInfoRawRecord } from './types';
|
|
2
|
+
type NormalizeGlobalInfoOptions = (input: unknown) => GlobalInfoFieldOption[];
|
|
3
|
+
export declare function applyFieldValueListOptions(fields: GlobalInfoField[], _rawRows: unknown, sectionRecord: GlobalInfoRawRecord, normalizeOptions: NormalizeGlobalInfoOptions): GlobalInfoField[];
|
|
4
|
+
export {};
|