Compare commits

...

5 Commits

Author SHA1 Message Date
gxwebsoft 58033f5a79 Merge remote-tracking branch 'origin/master' 2026-08-11 12:15:15 +08:00
gxwebsoft 1e505d5dbf style(customer-archive): 优化tabs样式并调整弹窗内边距
- 移除el-tabs组件上的多余class,简化样式
- 将.el-dialog__body背景色从#f5f6fa调整为#f3f3f3
- 缩减.el-dialog__body内边距由16px至8px,提升弹窗内容区紧凑度
- 减小白卡容器margin-bottom,由16px调整为8px,统一视觉间距
2026-08-11 12:15:08 +08:00
gxwebsoft 559d8e7391 style(customer-archive): 优化编辑弹窗表单布局和样式
- 将 el-form 的 label-width 固定为 96px,保证标签宽度统一
- 调整 form 各部分 gutter 为 24,使列间距更均匀
- 联系信息分组布局由三列改为四列,与其他分组对齐
- 提升 label 支持自动换行,解决长标签截断问题
- 在全局样式中新添弹窗内自定义分组白卡样式,提升 Avue 弹窗穿透稳定性
- 修改代理配置中的 target 地址指向内网服务器
- 清理业务弹窗表格边框,移除多余 border 属性及样式
2026-08-11 11:06:47 +08:00
gxwebsoft 637de76165 Merge remote-tracking branch 'origin/master' 2026-08-11 08:41:32 +08:00
gxwebsoft 7fad45bc1e fix(transport-plan): 修复详情页列对齐并调整新增弹窗卡片间距
- 调整发货地址、到货地址及备注字段span设置,实现基本信息区多列平整布局
- 优化标签列固定宽度及内容换行样式,保证表格展示整齐不溢出
- transport-plan新增弹窗各分组白卡间距从12px增至16px,提升视觉分隔效果
- 验证构建成功,确保样式修改不影响整体功能表现
2026-08-07 16:01:36 +08:00
6 changed files with 93 additions and 30 deletions
+10
View File
@@ -186,3 +186,13 @@
- 需求:用户截图反馈 /business/transport-plan 新增弹窗中各分组白卡(基本信息/收发货信息/货物信息/附件)之间上下间距不够,要求像 project-apply 弹窗一样有明显间距。
- 改动:`src/views/business/components/business-crud-page.vue`
- `:deep(.avue-form__group:has(.dialog-section-title))` 的 `margin-bottom` 从 `12px` 增至 `16px`,与 project-apply.vue 的 `__grid` 卡片间距一致。
## 发货模板查看弹窗表格去边框
- 需求:用户截图反馈 /business/shipping-template 查看弹窗中「货物信息」表格有边框线,要求去掉。
- 改动:`src/views/business/components/business-crud-page.vue`
- 详情弹窗中货物信息和附件 `<el-table>` 移除 `border` 属性,清理残留 border-color 样式。
## 编辑弹窗自定义分组白卡样式提升到全局
- 现象:/business/shipping-template 新增/编辑弹窗中「模板信息」「基本信息」等分组未显示白底卡片(scoped :deep() 对 Avue 内部弹窗穿透不稳定)。
- 根因:发货模板/运输计划用 hidden form item + formslot 注入 `.dialog-section-title` 做分组标题,白卡样式原写在 business-crud-page.vue 的 `<style scoped>` 中,Avue CRUD 弹窗为库内渲染,:deep() 穿透不可靠。
- 修复:在 `src/styles/element-ui.scss` 全局新增 `.el-dialog .avue-form__group:has(.dialog-section-title)` 白卡规则(bg #fff / radius 6px / shadow / padding 16px / margin-bottom 16px),确保所有弹窗生效。
+12
View File
@@ -0,0 +1,12 @@
# 2026-08-11 工作日志
## 客商档案编辑弹窗布局改造(customer-archive.vue)
客户需求:参考截图,编辑弹窗表单改为 4 列布局、label 固定 6 汉字宽、超长换行、列间有间距。
改动(仅 `src/views/vehicle/customer-archive.vue` 一个文件):
- `el-form` 的 `label-width` 由 `auto` → `96px`(≈6 汉字 + 12px padding)。
- `el-form` 的 `gutter` 由 `18` → `24`(4 个 section-card 分组全部统一)。
- 联系信息分组 `el-col :span="8"`(3列)→ `:span="6"`(4列),与工商/财务分组对齐。
- `<style scoped>` 中 `.archive-form` 新增 label 规则:固定 `width:96px` + `padding-right:12px` + `white-space:normal` + `text-align:right` + `overflow:visible`,使长 label(如"统一社会信用代码")自动折行。
注意:`.score-detail-form` 已有独立 `.el-form-item__label` 规则,与本次改动无关,未触碰。
+21 -3
View File
@@ -217,8 +217,8 @@
// 1) 所有弹窗内容区统一灰底 + 16px 内边距(与 project-apply 一致,避免内容贴边)
.el-dialog__body {
background-color: #f5f6fa;
padding: 16px;
background-color: #f3f3f3;
padding: 8px;
}
// 2) Avue 默认弹窗表单自动包成白卡,无需逐页改 option 即统一标准
@@ -249,6 +249,24 @@
}
}
// 3b) Avue 弹窗内自定义标题分组(formslot + dialog-section-title)渲染为白卡
.el-dialog .avue-form__group:has(.dialog-section-title) {
background: #fff;
border-radius: 6px;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
padding: 16px;
margin-bottom: 16px;
.avue-form__group--title {
padding: 0 !important;
margin-bottom: 12px;
}
.avue-form__row {
padding: 0 !important;
}
}
// 4) 弹窗内表单项默认上下间距 16px(覆盖默认 18px / 22px)
.el-dialog .el-form-item {
margin-bottom: 16px;
@@ -259,7 +277,7 @@
background: #fff;
border-radius: 6px;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
margin-bottom: 16px;
margin-bottom: 8px;
overflow: hidden;
&:last-child {
@@ -261,7 +261,7 @@
<div
class="dialog-section-title dialog-section-title--action business-crud-page__shipping-title"
>
<span>收发货信息</span>
<span>收发货信息1</span>
<el-link
v-if="!dialogReadonly"
type="primary"
@@ -2153,7 +2153,7 @@
</el-descriptions>
</section-card>
<section-card v-if="config.enableTransportPlanForm" title="货物信息">
<el-table :data="transportCargoRows" border empty-text="暂无货物信息">
<el-table :data="transportCargoRows" empty-text="暂无货物信息">
<el-table-column type="index" label="序号" width="70" align="center" />
<el-table-column prop="cargoName" label="货物名称" min-width="180" />
<el-table-column prop="cargoType" label="货物类型" min-width="150" />
@@ -2169,7 +2169,7 @@
</el-table>
</section-card>
<section-card v-if="config.enableAttachmentTable" :title="config.attachmentTitle || '附件'">
<el-table :data="attachmentRows" border empty-text="暂无附件">
<el-table :data="attachmentRows" empty-text="暂无附件">
<el-table-column type="index" label="序号" width="70" align="center" />
<el-table-column label="文件名" min-width="260">
<template #default="{ row }">{{ row.originalName || row.name || '-' }}</template>
@@ -10669,10 +10669,6 @@ export default {
white-space: pre-wrap;
word-break: break-word;
}
:deep(.el-table) {
border-color: #eff1f7;
}
}
}
+46 -17
View File
@@ -147,12 +147,12 @@
:model="archiveForm"
:rules="formRules"
label-position="right"
label-width="auto"
label-width="96px"
:disabled="readonly"
class="archive-form"
>
<section-card title="工商信息">
<el-row :gutter="18">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="客商编号" prop="customerCode">
<el-input v-model="archiveForm.customerCode" disabled placeholder="保存后自动生成" />
@@ -253,7 +253,7 @@
:model-value="archiveForm.businessTermType === '长期'"
@change="handleNoFixedTermChange"
>
无固定期限
无
</el-checkbox>
</div>
</el-form-item>
@@ -273,7 +273,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-col :span="12">
<el-form-item label="地址" prop="registeredDetailAddress" required>
<div class="archive-form__address">
<el-cascader
@@ -298,18 +298,18 @@
</section-card>
<section-card title="联系信息">
<el-row :gutter="18">
<el-col :span="8">
<el-row :gutter="24">
<el-col :span="6">
<el-form-item label="客商负责人" prop="principal">
<el-input v-model="archiveForm.principal" maxlength="10" show-word-limit />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="联系电话" prop="contactPhone">
<el-input v-model="archiveForm.contactPhone" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<el-form-item label="所属组织" prop="deptName">
<el-tree-select
v-model="archiveForm.deptId"
@@ -329,7 +329,7 @@
</section-card>
<section-card title="财务/信用信息">
<el-row :gutter="18">
<el-row :gutter="24">
<el-col :span="6">
<el-form-item label="注册资金(万元)" prop="registeredCapital">
<el-input
@@ -376,7 +376,7 @@
</section-card>
<section-card title="其他信息">
<el-row :gutter="18">
<el-row :gutter="24">
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input
@@ -391,7 +391,7 @@
</section-card>
</el-form>
<el-tabs v-model="activeTab" class="archive-tabs">
<el-tabs v-model="activeTab">
<el-tab-pane label="评分表" name="scores">
<section-card>
<template #extra>
@@ -3617,15 +3617,44 @@ export default {
}
.archive-form {
:deep(.el-input-number),
:deep(.el-select),
:deep(.el-cascader),
:deep(.el-date-editor) {
width: 100%;
// form-item 横向 flex 布局,严格约束宽度不让子组件撑开
:deep(.el-form-item) {
display: flex;
align-items: flex-start;
min-width: 0;
overflow: hidden;
}
:deep(.el-form-item__content) {
flex: 1;
min-width: 0;
overflow: hidden;
> .el-input,
> .el-select,
> .el-cascader,
> .el-date-editor,
> .el-input-number,
> .el-tree-select {
width: 100% !important;
max-width: 100%;
}
}
:deep(.el-form-item__label) {
width: 96px;
padding-right: 12px;
white-space: normal;
line-height: 32px;
text-align: right;
word-break: break-all;
overflow: visible;
text-overflow: unset;
flex-shrink: 0;
}
}
business-term-field,
.business-term-field,
.archive-form__address {
display: flex;
align-items: center;
+1 -3
View File
@@ -63,10 +63,8 @@ export default ({
port: 2888,
proxy: {
'/api': {
target: 'http://localhost',
//target: 'https://saber3.bladex.cn/api',
target: 'http://172.16.203.228:8000',
changeOrigin: true,
rewrite: path => path.replace(/^\/api/, ''),
},
},
},