diff --git a/src/style/pages.scss b/src/style/pages.scss index 564c8cae..906b4ce3 100644 --- a/src/style/pages.scss +++ b/src/style/pages.scss @@ -42,3 +42,142 @@ .common-main .yzm .el-button {margin-left: 10px;} .common-main .link {color: var(--el-color-primary);cursor: pointer;} .common-main .link:hover {color: var(--el-color-primary-light-3);} + +/* ============================================================ + * 工作流表单结构化样式 + * 抽屉内打开的所有 *_form.vue 流程表单统一布局规范 + * - 主区: el-main > el-form 内容卡片化、分组分区 + * - 底部: 操作按钮 sticky 底栏 + * - 侧栏: 提升与正文的视觉区分 + * ============================================================ */ +.el-drawer__body { + .el-container { + height: 100%; + background: var(--el-fill-color-light); + } + + .el-main { + padding: 18px 20px 0 20px; + overflow-y: auto; + position: relative; + } + + /* 表单卡片化 */ + .el-main > .el-form { + background: var(--el-bg-color); + border: 1px solid var(--el-border-color-lighter); + border-radius: 12px; + padding: 22px 26px 8px 22px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02); + margin-bottom: 76px; /* 给 sticky footer 让位 */ + max-width: 1240px; + margin-left: auto; + margin-right: auto; + } + + .el-main > .el-form .el-form-item { + margin-bottom: 18px; + } + .el-main > .el-form .el-form-item__label { + font-weight: 500; + color: var(--el-text-color-regular); + } + + /* 关键:除非显式 grid(el-row/el-col)或表格类输入,单列 form-item 内容控件不拉满 */ + .el-main > .el-form > .el-form-item .el-form-item__content > .el-input, + .el-main > .el-form > .el-form-item .el-form-item__content > .el-input-number, + .el-main > .el-form > .el-form-item .el-form-item__content > .el-select, + .el-main > .el-form > .el-form-item .el-form-item__content > .el-cascader, + .el-main > .el-form > .el-form-item .el-form-item__content > .el-date-editor:not(.el-date-editor--datetimerange):not(.el-date-editor--daterange) { + max-width: 460px; + width: 100%; + } + /* textarea 单独放宽,便于书写多行 */ + .el-main > .el-form > .el-form-item .el-form-item__content > .el-input.el-input--textarea, + .el-main > .el-form > .el-form-item .el-form-item__content > .el-textarea { + max-width: 720px; + } + /* 复选/单选组保持自然宽度 */ + + /* 复用:表单内分区标题 */ + .wf-form-section { + display: flex; + align-items: center; + gap: 8px; + margin: 6px 0 14px; + padding-bottom: 8px; + border-bottom: 1px solid var(--el-border-color-lighter); + } + .wf-form-section::before { + content: ""; + width: 3px; + height: 14px; + border-radius: 2px; + background: var(--el-color-primary); + } + .wf-form-section > .title { + font-size: 14px; + font-weight: 600; + color: var(--el-text-color-primary); + letter-spacing: 0.4px; + } + .wf-form-section > .desc { + font-size: 12px; + color: var(--el-text-color-secondary); + margin-left: auto; + } + + /* sticky 底部操作栏 */ + .el-main > .el-footer, + .el-main > .el-form + .el-footer, + .el-main > .el-form .el-footer { + position: sticky; + bottom: 0; + left: 0; + right: 0; + height: auto !important; + padding: 12px 22px; + background: var(--el-bg-color); + border-top: 1px solid var(--el-border-color-lighter); + box-shadow: 0 -4px 16px -10px rgba(0, 0, 0, 0.15); + display: flex; + justify-content: flex-end; + flex-wrap: wrap; + gap: 8px; + z-index: 5; + margin: 0 -20px -18px; + } + .el-main > .el-footer .el-button + .el-button, + .el-main > .el-form + .el-footer .el-button + .el-button { + margin-left: 0; + } + + /* 右侧审批栏 */ + .el-aside { + background: var(--el-fill-color-light); + border-left: 1px solid var(--el-border-color-lighter); + padding: 14px 10px 14px 14px; + overflow-y: auto; + } +} + +/* ============================================================ + * 抽屉头部美化(所有工单详情) + * ============================================================ */ +.el-drawer__header { + padding: 14px 22px !important; + margin-bottom: 0 !important; + border-bottom: 1px solid var(--el-border-color-lighter); + background: linear-gradient( + 180deg, + var(--el-bg-color) 0%, + var(--el-fill-color-light) 100% + ); +} +.el-drawer__header > h4 { + font-size: 16px !important; + font-weight: 600; + letter-spacing: 0.4px; + margin: 0; +} + diff --git a/src/views/asm/assetlogin_form.vue b/src/views/asm/assetlogin_form.vue index 3131940f..c1dd4387 100644 --- a/src/views/asm/assetlogin_form.vue +++ b/src/views/asm/assetlogin_form.vue @@ -1,7 +1,10 @@