style(business): 统一业务状态标签为文字+颜色样式

- 新增全局 `.status-text` 样式,去除 el-tag 背景和边框,仅保留彩色文字和跟随文字颜色的圆点
- 业务状态相关的 el-tag 标签全部加上 `class="status-text"`,覆盖调度状态、审批状态、运单状态等全站业务状态展示
- 统一发货模板查看弹窗的卡片样式,新增分区块样式与运费信息展示板块
- 调整发货模板弹窗详情 label 宽度,所有 el-descriptions 的 label 宽度统一为 140px 以保证视觉一致
- 表格列内嵌输入控件全宽默认样式生效,无需单独设置跨度,解决输入框显示不足问题
- 弹窗中的部分表单和导入区域使用 `section-card` 统一卡片风格
- 客商档案查看模式改为独立路由,实现查看与编辑隔离并调整对应操作按钮文案
- 相关样式调整及细节优化,包括运费单位颜色等辅助样式,保证界面细节统一规范
This commit is contained in:
2026-08-24 20:15:14 +08:00
parent 6bd8d18e20
commit 8883186344
19 changed files with 312 additions and 97 deletions
+19 -32
View File
@@ -43,7 +43,7 @@
</el-button>
</template>
<template #customerCode="{ row }">
<el-button type="primary" link @click="openArchive(row, true)">
<el-button type="primary" link @click="viewArchive(row)">
{{ row.customerCode }}
</el-button>
</template>
@@ -80,7 +80,7 @@
<el-link
type="primary"
v-if="hasPermission('customer_archive_view')"
@click="openArchive(row, true)"
@click="viewArchive(row)"
>
查看
</el-link>
@@ -794,12 +794,12 @@
</el-dialog>
<div class="archive-form__footer">
<el-button v-if="!isArchivePage" @click="closeArchive">
{{ readonly ? '关闭' : '取消' }}
<el-button v-if="!isArchivePage || readonly" @click="closeArchive">
{{ isArchivePage ? '返回' : readonly ? '关闭' : '取消' }}
</el-button>
<el-button type="primary" v-if="!readonly" @click="saveArchive">保存</el-button>
<el-button type="success" v-if="!readonly" @click="saveAndSubmitArchive">提交</el-button>
<el-button v-if="!readonly" @click="closeArchive">返回</el-button>
<el-button v-if="!readonly && !isArchivePage" @click="closeArchive">返回</el-button>
</div>
</component>
@@ -1809,7 +1809,11 @@ export default {
this.initBusinessDictionaries();
this.initScoreQuantificationOptions();
if (this.isArchivePage) {
this.openArchive(this.$route.query.id ? { id: this.$route.query.id } : null);
const readonly = this.$route.query.view === '1' || this.$route.query.view === 'true';
this.openArchive(
this.$route.query.id ? { id: this.$route.query.id } : null,
readonly
);
}
},
computed: {
@@ -1827,24 +1831,10 @@ export default {
return this.$route.path === '/vehicle/customer-archive/form';
},
archiveContainer() {
return this.isArchivePage ? 'div' : 'el-dialog';
return 'div';
},
archiveContainerProps() {
if (this.isArchivePage) {
return { class: 'archive-page-form' };
}
return {
title: this.dialogTitle,
appendToBody: true,
modelValue: this.archiveBox,
width: '92%',
top: '4vh',
modal: true,
showClose: true,
closeOnClickModal: true,
closeOnPressEscape: true,
class: 'archive-dialog',
};
return { class: 'archive-page-form' };
},
regionCascaderProps() {
return {
@@ -3588,12 +3578,14 @@ export default {
query: isEdit ? { id: row.id, name: '编辑客商档案' } : { name: '新增客商档案' },
});
},
viewArchive(row) {
this.$router.push({
path: '/vehicle/customer-archive/form',
query: { id: row.id, name: '查看客商档案', view: '1' },
});
},
closeArchive() {
if (this.isArchivePage) {
this.$router.push('/vehicle/customer-archive');
return;
}
this.archiveBox = false;
this.$router.push('/vehicle/customer-archive');
},
openArchive(row, readonly = false) {
this.readonly = readonly;
@@ -4858,11 +4850,6 @@ export default {
font-size: 14px;
}
:deep(.archive-dialog .el-dialog__body) {
max-height: 72vh;
overflow: auto;
}
.archive-page-form {
min-height: 100%;
margin-bottom: 60px;