style(billing-plan-editor): 使用 SectionCard 包裹计费方案编辑区块
- 引入 SectionCard 组件包裹计费方案显示和编辑区域 - 为默认方案信息添加带提示的 Info 图标和 Tooltip - 优化模板缩进和结构,提升可读性 feat(contract-manage): 优化合同管理搜索和操作栏体验 - 允许签约类型字段作为搜索条件且支持排序和提示 - 将签约类型从快捷搜索区移动到标准搜索表单中 - 废除冗余的 contractSignType 状态,使用表单绑定自动处理 - 调整搜索栏快捷筛选区域顺序,实现与按钮组的视觉统一 fix(contract-manage): 修正底部操作栏文案及按钮显示逻辑 - 底部操作栏将“关闭”文案修改为“取消”,符合统一规范 - 草稿编辑页底部按钮增加[暂存/提交临时/提交正式],一致新增页操作 - 按钮样式调整,采用右侧对齐并使用按键间距12px替代gap style(contract-manage-change): 统一变更页底部操作栏样式和交互 - 底部操作栏使用固定悬浮布局,避免内容被遮挡 - 调整按钮顺序为[取消][提交],并修改“关闭”为“取消” - 增加统一的按钮间距与操作栏背景和阴影样式 - 为页面容器添加底部内边距,保障悬浮栏空间 style(contract-manage): 修复“合同文件”标题样式加粗问题 - 补充 scoped 样式,利用 :deep 影响子组件中标题的字体加粗和颜色 fix(customer-archive): 调整文本行高以优化显示效果 - 将内容文本的行高从18px调整为16px,提升视觉紧凑度 style(customer-archive): 调整必填项标签布局 - 删除因padding造成的标签视觉错位,确保label与控件垂直居中对齐
This commit is contained in:
@@ -83,7 +83,10 @@
|
||||
</section>
|
||||
|
||||
<section class="change-section change-reason-section"><div class="dialog-section-title">变更原因</div><el-form-item prop="changeReason"><el-input v-model="form.changeReason" type="textarea" :rows="2" maxlength="2000" show-word-limit placeholder="请输入变更原因" /></el-form-item><div class="dialog-section-title">变更材料</div><el-upload action="#" :auto-upload="false" multiple :show-file-list="false" @change="handleChangeMaterial"><el-button plain>上传变更材料</el-button></el-upload></section>
|
||||
<div class="page-footer"><el-button type="primary" @click="submit">提交</el-button><el-button @click="$router.back()">关闭</el-button></div>
|
||||
<div class="page-footer">
|
||||
<el-button @click="$router.back()">取消</el-button>
|
||||
<el-button type="primary" @click="submit">提交</el-button>
|
||||
</div>
|
||||
</el-form>
|
||||
|
||||
<el-dialog v-model="documentPreviewVisible" :title="previewFile.name || '附件预览'" append-to-body destroy-on-close width="90%" top="4vh">
|
||||
@@ -151,11 +154,11 @@ export default {
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.contract-change-page { min-height: 100%; background: #f5f6fa; }
|
||||
<style scoped lang="scss">
|
||||
.contract-change-page { min-height: 100%; padding-bottom: 72px; background: #f5f6fa; }
|
||||
.contract-change-page :deep(.basic-container__card) { border: 0; background: transparent; box-shadow: none; }
|
||||
.contract-change-form { background: #f5f6fa; }
|
||||
.change-section { padding: 20px 24px; background: #fff; border-bottom: 1px solid #eff1f7; }
|
||||
.change-section { padding: 20px 24px; background: #fff; border-bottom: 1px solid #eff1f7; margin-top: 12px; }
|
||||
.contract-basic-section { margin-bottom: 12px; padding: 14px 16px 16px; overflow: hidden; background: #fff; border-bottom: 0; border-radius: 6px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); }
|
||||
.contract-basic-section > .dialog-section-title { margin-bottom: 20px; color: #303133; }
|
||||
.contract-basic-section__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 48px; }
|
||||
@@ -182,8 +185,34 @@ export default {
|
||||
.attachment-upload .el-upload { display: inline-flex; }
|
||||
.settlement-switch { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
|
||||
.settlement-form { display: grid; grid-template-columns: repeat(3, minmax(240px, 1fr)); gap: 8px 28px; }
|
||||
.change-reason-section { border: 1px dashed #ff8f9a; margin: 20px 16px; }
|
||||
.page-footer { display: flex; gap: 16px; padding: 20px 40px; border-top: 1px solid #eff1f7; }
|
||||
.change-reason-section { margin: 20px 0; }
|
||||
.page-footer {
|
||||
position: fixed;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 230px;
|
||||
z-index: 20;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
min-height: 64px;
|
||||
box-sizing: border-box;
|
||||
padding: 12px 24px;
|
||||
background: #fff;
|
||||
border-top: 1px solid #eff1f7;
|
||||
box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
|
||||
|
||||
// 统一 12px 间距,与全站底部操作栏(去 gap,由相邻按钮 margin 提供)一致
|
||||
.el-button + .el-button {
|
||||
margin-left: 12px;
|
||||
}
|
||||
}
|
||||
:global(.avue--collapse .page-footer) {
|
||||
left: 60px;
|
||||
}
|
||||
:global(.avue-layout--horizontal .page-footer) {
|
||||
left: 0;
|
||||
}
|
||||
@media (max-width: 1200px) { .contract-basic-section__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; } }
|
||||
@media (max-width: 768px) { .contract-basic-section__grid { grid-template-columns: 1fr; } }
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user