fix(ui): 统一文本中单位和符号的全角格式

- 将“里程(km)”、“耗时(ms)”、“得分率(%)”等标签中的括号改为中文全角括号
- 统一调整“万元”、“天”、“份”等单位的显示格式,使用全角符号增强一致性
- 业务合同管理及项目申请相关表单中字段标签规范化全角字符
- 客户档案页面联系人和收款信息模块使用section-card组件包裹,提高界面一致性
- 部分表格列标签中的单位如“吨”、“方”、“元”使用全角括号修正
- 优化项目申请模块路由跳转逻辑,调整部分弹窗标题显示
- 引入section-card组件用于多个功能区块,加强结构层次感和视觉统一性
This commit is contained in:
2026-08-24 17:30:18 +08:00
parent 4ca91f9b56
commit 6bd8d18e20
18 changed files with 229 additions and 219 deletions
+26 -51
View File
@@ -96,7 +96,7 @@
@update:model-value="projectBox = $event"
@closed="resetProjectDialog"
>
<div v-if="isProjectFormPage" class="project-apply-page__title">
<div v-if="isProjectFormPage" class="archive-page-form__title">
{{ projectDialogTitle }}
</div>
<el-form
@@ -176,6 +176,7 @@
<el-form-item label="承办部门" prop="undertakeDeptId">
<el-cascader
v-model="form.undertakeDeptId"
style="width: 100%"
placeholder="请选择承办部门"
clearable
filterable
@@ -1084,17 +1085,26 @@ export default {
return this.isAdmin || this.validData(this.permission && this.permission[code], false);
},
openProjectFormPage() {
const type = this.$route.query.mode === 'edit' ? 'edit' : 'add';
const type = this.$route.query.mode || 'add';
const id = this.$route.query.id;
this.dialogType = type;
this.dialogReadonly = false;
this.dialogReadonly = type === 'view';
this.projectBox = true;
if (type === 'add') {
this.applyProjectDetail({ ...emptyForm(), projectType: '普通项目' });
if (['add', 'majorSupplement'].includes(type)) {
this.applyProjectDetail({
...emptyForm(),
projectType: type === 'majorSupplement' ? '重大项目' : '普通项目',
});
this.fillDefaultUsers();
return;
}
this.api.getDetail(id).then(res => this.applyProjectDetail(res.data.data || {}));
this.api.getDetail(id).then(res => {
const detail = res.data.data || {};
this.applyProjectDetail({
...detail,
changeType: type === 'change' ? this.resolveChangeType(detail) : detail.changeType,
});
});
},
closeProjectForm() {
if (this.isProjectFormPage) {
@@ -1294,34 +1304,16 @@ export default {
});
},
openProjectDialog(type, row = {}) {
if (['add', 'edit'].includes(type)) {
this.$router.push({
path: '/business/project-apply/form',
query:
type === 'edit'
? { mode: type, id: row.id, name: `编辑${this.config.title}` }
: { mode: type, name: `新增${this.config.title}` },
});
return;
const query = { mode: type };
if (['edit', 'view', 'change'].includes(type)) {
query.id = row.id;
}
this.dialogType = type;
this.dialogReadonly = type === 'view';
this.projectBox = true;
if (type === 'add' || type === 'majorSupplement') {
this.applyProjectDetail({
...emptyForm(),
projectType: type === 'majorSupplement' ? '重大项目' : '普通项目',
});
this.fillDefaultUsers();
return;
}
this.api.getDetail(row.id).then(res => {
const detail = res.data.data || {};
this.applyProjectDetail({
...detail,
changeType: type === 'change' ? this.resolveChangeType(detail) : detail.changeType,
});
});
if (type === 'add') query.name = `新增${this.config.title}`;
else if (type === 'edit') query.name = `编辑${this.config.title}`;
else if (type === 'view') query.name = `查看${this.config.title}`;
else if (type === 'majorSupplement') query.name = '重大项目补录';
else if (type === 'change') query.name = '项目变更';
this.$router.push({ path: '/business/project-apply/form', query });
},
resetProjectDialog() {
this.$refs.projectForm?.clearValidate();
@@ -2094,28 +2086,11 @@ export default {
.project-apply-page-form {
min-height: 100%;
margin-bottom: 60px;
//padding: 20px 24px 92px;
//background: #f5f6fa;
}
.project-apply-page__title {
display: flex;
align-items: center;
margin-bottom: 16px;
color: #303133;
font-size: 18px;
font-weight: 600;
&::before {
//width: 4px;
height: 18px;
margin-right: 8px;
//background: #409eff;
border-radius: 2px;
content: '';
}
}
.project-apply-dialog__footer {
display: flex;
justify-content: flex-end;