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
@@ -892,7 +892,7 @@
</el-form-item>
<el-form-item
v-if="!isNonRoadTransport"
label="里程(km)"
label="里程km"
class="business-crud-page__task-span-1"
>
<el-input
@@ -1013,7 +1013,7 @@
:disabled="dialogReadonly"
/>
</el-form-item>
<el-form-item label="里程(km)" class="business-crud-page__task-span-1">
<el-form-item label="里程km" class="business-crud-page__task-span-1">
<el-input
v-model="form.mileage"
placeholder="请输入"
@@ -1474,7 +1474,7 @@
</template>
</el-input>
</el-form-item>
<el-form-item label="里程(km)">
<el-form-item label="里程km">
<el-input
v-model="form.mileage"
placeholder="请输入里程"
@@ -1951,7 +1951,7 @@
:disabled="dialogReadonly"
@input="value => handleIntegerInput('copyCount', value)"
/>
<span></span>
</div>
</template>
@@ -1963,7 +1963,7 @@
:disabled="dialogReadonly"
@input="value => handleIntegerInput('paymentDays', value)"
/>
<span></span>
</div>
</template>
@@ -2207,7 +2207,7 @@
<el-table :data="paymentRatioRows" border>
<el-table-column type="index" label="序号" width="80" align="center" />
<el-table-column prop="paymentTerm" label="付款笔数" min-width="180" align="center" />
<el-table-column label="付款比例上限" min-width="220" align="center">
<el-table-column label="付款比例上限%" min-width="220" align="center">
<template #default="{ row }">
<el-input-number
v-model="row.ratioLimit"
@@ -2217,7 +2217,7 @@
:disabled="dialogReadonly"
controls-position="right"
/>
<span class="business-crud-page__ratio-unit">%</span>
</template>
</el-table-column>
<el-table-column label="备注" min-width="220">
@@ -2237,7 +2237,7 @@
</template>
</el-table-column>
</el-table>
<el-button v-if="!dialogReadonly" type="primary" plain @click="addPaymentRatioRow">
<el-button v-if="!dialogReadonly" type="primary" plain @click="addPaymentRatioRow" style="margin-top: 12px">
添加
</el-button>
</div>
@@ -2858,7 +2858,7 @@
v-if="waybillIsRoadTransport(detailRow) && !waybillIsCarrier(detailRow)"
class="business-crud-page__waybill-detail-field"
>
<span>里程(km)</span><strong>{{ detailRow.mileage || '-' }}</strong>
<span>里程km</span><strong>{{ detailRow.mileage || '-' }}</strong>
</div>
<div
class="business-crud-page__waybill-detail-field business-crud-page__waybill-detail-field--remark"
@@ -4347,7 +4347,7 @@
{{ dispatchItemForm.quantityUnit || '吨' }}
</div>
</el-form-item>
<el-form-item label="里程(公里)" :required="dispatchItemForm.carrierType !== '承运商'">
<el-form-item label="里程公里" :required="dispatchItemForm.carrierType !== '承运商'">
<el-input
v-model="dispatchItemForm.mileage"
placeholder="请输入"
@@ -4534,7 +4534,7 @@
</el-form-item>
<el-form-item
v-if="dispatchIsRoadTransport && dispatchItemForm.carrierType !== '承运商'"
label="里程(km)"
label="里程km"
required
>
<el-input
@@ -17,7 +17,7 @@
<header @click="toggleSegment(route.segmentNo)"><h3><span class="segment-index">{{ segmentNumber(route, index) }}</span><span>{{ route.departureName || '-' }} {{ route.arrivalName || '-' }}</span><span class="segment-detail__transport-type">{{ segmentTransportType(route) || '-' }}</span><span class="segment-detail__progress-bar"><span :style="{ width: `${segmentProgress(route)}%` }"></span></span><span class="segment-detail__progress">已调度 <em>{{ quantity(route.dispatchedQuantity) }}</em> / {{ quantity(plannedQuantity(route)) }} {{ plannedUnit(route) }}</span></h3><div class="segment-detail__header-right"><el-tooltip :content="isSegmentExpanded(route.segmentNo) ? '折叠' : '展开'" placement="top"><el-button circle :icon="isSegmentExpanded(route.segmentNo) ? ArrowUp : ArrowDown" @click.stop="toggleSegment(route.segmentNo)" /></el-tooltip></div></header>
<div v-show="isSegmentExpanded(route.segmentNo)" class="segment-execution">
<div class="segment-stats"><div><span>总量</span><strong>{{ quantity(master.totalQuantity) }}<small></small></strong></div><div><span>已调度</span><strong class="dispatched">{{ quantity(route.dispatchedQuantity) }}<small></small></strong></div><div><span>剩余</span><strong class="remaining">{{ quantity(remainingQuantity(route)) }}<small></small></strong></div></div>
<el-table :data="route.waybills || []" border class="waybill-table"><el-table-column label="运单号" min-width="180"><template #default="{ row }"><el-link type="primary" @click="openWaybill(row)">{{ row.waybillNo }}</el-link></template></el-table-column><el-table-column prop="carrierName" label="承运商" min-width="190" /><el-table-column label="司机/车牌" min-width="180"><template #default="{ row }">{{ driverVehicle(row) }}</template></el-table-column><el-table-column prop="cargoType" label="货物类型" min-width="120" /><el-table-column label="数量(吨)" width="130"><template #default="{ row }">{{ quantity(row.quantity) }}</template></el-table-column><el-table-column label="状态" width="130"><template #default="{ row }"><el-tag :type="waybillStatusType(row.businessStatus)" size="small">{{ waybillStatusName(row.businessStatus) }}</el-tag></template></el-table-column><el-table-column prop="createTime" label="创建时间" min-width="180" /></el-table>
<el-table :data="route.waybills || []" border class="waybill-table"><el-table-column label="运单号" min-width="180"><template #default="{ row }"><el-link type="primary" @click="openWaybill(row)">{{ row.waybillNo }}</el-link></template></el-table-column><el-table-column prop="carrierName" label="承运商" min-width="190" /><el-table-column label="司机/车牌" min-width="180"><template #default="{ row }">{{ driverVehicle(row) }}</template></el-table-column><el-table-column prop="cargoType" label="货物类型" min-width="120" /><el-table-column label="数量(吨)" width="130"><template #default="{ row }">{{ quantity(row.quantity) }}</template></el-table-column><el-table-column label="状态" width="130"><template #default="{ row }"><el-tag :type="waybillStatusType(row.businessStatus)" size="small">{{ waybillStatusName(row.businessStatus) }}</el-tag></template></el-table-column><el-table-column prop="createTime" label="创建时间" min-width="180" /></el-table>
<el-empty v-if="!(route.waybills || []).length" description="暂无运单明细" :image-size="56" />
<div v-if="(route.transportPlans || []).length" class="transport-plan-detail"><h4>关联计划单</h4><el-table :data="route.transportPlans" border><el-table-column label="计划单号" min-width="160"><template #default="{ row }"><el-link type="primary" @click="openPlan(row)">{{ row.planNo }}</el-link></template></el-table-column><el-table-column prop="planName" label="计划名称" min-width="180" /><el-table-column prop="transportType" label="运输方式" width="130" /><el-table-column prop="planStartDate" label="计划开始日期" width="130" /><el-table-column prop="planEndDate" label="计划结束日期" width="130" /><el-table-column prop="businessStatus" label="状态" width="110" /></el-table></div>
</div>
@@ -30,15 +30,15 @@
<el-table-column prop="cargoName" label="货物名称" min-width="150" />
<el-table-column prop="cargoType" label="货物类型" min-width="130" />
<el-table-column prop="packageType" label="包装" min-width="120" />
<el-table-column label="重量(吨)" min-width="110"><template #default="{ row }">{{ row.weight ?? row.weightTon ?? (row.quantityUnit === '吨' ? row.quantity : '-') }}</template></el-table-column>
<el-table-column label="体积(方)" min-width="110"><template #default="{ row }">{{ row.volume ?? row.volumeCubic ?? '-' }}</template></el-table-column>
<el-table-column label="重量(吨)" min-width="110"><template #default="{ row }">{{ row.weight ?? row.weightTon ?? (row.quantityUnit === '吨' ? row.quantity : '-') }}</template></el-table-column>
<el-table-column label="体积(方)" min-width="110"><template #default="{ row }">{{ row.volume ?? row.volumeCubic ?? '-' }}</template></el-table-column>
<el-table-column label="数量" min-width="100"><template #default="{ row }">{{ row.quantity ?? '-' }}{{ row.quantityUnit ? ` ${row.quantityUnit}` : '' }}</template></el-table-column>
<el-table-column prop="materialCode" label="物料编码" min-width="130" />
<el-table-column prop="deviceCode" label="设备编码" min-width="130" />
<el-table-column prop="brand" label="品牌" min-width="120" />
<el-table-column label="规格型号" min-width="150"><template #default="{ row }">{{ [row.specification, row.model].filter(Boolean).join('/') || '-' }}</template></el-table-column>
<el-table-column prop="remark" label="备注" min-width="160" />
<el-table-column label="货物单价(元)" min-width="130"><template #default="{ row }">{{ row.unitPrice ?? '-' }}</template></el-table-column>
<el-table-column label="货物单价(元)" min-width="130"><template #default="{ row }">{{ row.unitPrice ?? '-' }}</template></el-table-column>
<el-table-column label="计划日期" min-width="130"><template #default="{ row }">{{ row.planDate || row.planStartDate || '-' }}</template></el-table-column>
</el-table>
<el-empty v-if="!(master.goods || []).length" description="暂无货物信息" :image-size="56" />
@@ -159,7 +159,7 @@
<el-col :span="6"><el-form-item label="箱号" required><el-input v-model="route.containerNo" placeholder="请输入" /></el-form-item></el-col>
<el-col :span="6"><el-form-item label="舱位" required><el-input v-model="route.cabinNo" placeholder="请输入" /></el-form-item></el-col>
</template>
<el-col :span="6"><el-form-item label="里程(km)"><el-input :model-value="route.mileage" inputmode="numeric" maxlength="10" placeholder="请输入" @input="value => handleMileageInput(route, value)" /></el-form-item></el-col>
<el-col :span="6"><el-form-item label="里程km"><el-input :model-value="route.mileage" inputmode="numeric" maxlength="10" placeholder="请输入" @input="value => handleMileageInput(route, value)" /></el-form-item></el-col>
<el-col :span="6"><el-form-item label="备注"><el-input v-model="route.remark" maxlength="200" show-word-limit placeholder="请输入" /></el-form-item></el-col>
</el-row>
</el-form>