merge: retain latest client presentation and truck compile fix

This commit is contained in:
2026-10-19 15:04:43 +08:00
6 changed files with 46 additions and 11 deletions
@@ -377,7 +377,7 @@ onMounted(() => { if (props.detailPage) void loadDetail(); else if (!props.creat
<template>
<section v-loading="loading" class="business-orders client-ui" :aria-busy="loading">
<header v-if="mode === 'create'" class="page-head">
<header v-if="mode === 'create'" class="page-head" :class="{ 'looseboard-page-head': props.kind === 'looseboard' }">
<div>
<h2>{{ configuration.title }}下单</h2>
<p>请填写订单信息,带 * 项为必填项</p>
@@ -499,6 +499,7 @@ onMounted(() => { if (props.detailPage) void loadDetail(); else if (!props.creat
<style scoped>
.business-orders { display: grid; gap: var(--client-section-gap); }
.page-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.looseboard-page-head { max-width: 1180px; padding-right: 30px; box-sizing: border-box; }
.page-head h2 { margin: 0; color: #111827; font-size: 26px; }
.page-head p { margin: 7px 0 0; color: #64748b; font-size: 14px; }
.business-table-card { overflow: hidden; border: 1px solid var(--client-border); border-radius: var(--client-radius); background: #fff; }
@@ -543,15 +544,23 @@ onMounted(() => { if (props.detailPage) void loadDetail(); else if (!props.creat
.mode-buttons :deep(.el-radio-button:first-child .el-radio-button__inner) { border-left: 1px solid #dce3eb; }
.mode-buttons :deep(.el-radio-button__original-radio:checked + .el-radio-button__inner) { border-color: #5965d8; background: #f0f2ff; color: #4f5bd5; box-shadow: none; }
.form-grid { display: grid; gap: 0 22px; padding: 0 30px; }
.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.two-col { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); max-width: 1180px; }
.two-col > .el-form-item { min-width: 0; }
.cargo-section { margin-top: 4px; padding-top: 7px; background: #fafafa; border-top: 1px solid #f0f2f5; border-bottom: 1px solid #f0f2f5; }
.cargo-grid { grid-template-columns: 1.25fr 1.25fr 1.25fr 1.25fr; }
.cargo-grid { grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(150px, .9fr)); max-width: 1180px; }
.lower-grid { padding-top: 20px; }
.lower-grid :deep(.el-date-editor) { width: 100%; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 5px; padding: 20px 30px 25px; border-top: 1px solid #f0f2f5; }
.looseboard-form-card .form-actions { padding-right: max(30px, calc(100% - 1150px)); }
.form-actions .el-button { min-width: 80px; height: 36px; border-radius: 7px; }
.form-actions .el-button--primary { background: linear-gradient(135deg, #6774df, #7553aa); border: 0; box-shadow: 0 5px 12px rgb(103 116 223 / 24%); }
@media (min-width: 1400px) {
.looseboard-form-card :deep(.el-input), .looseboard-form-card :deep(.el-select), .looseboard-form-card :deep(.el-date-editor) { max-width: 560px; }
.cargo-grid :deep(.el-input), .cargo-grid :deep(.el-input-number) { max-width: 300px; }
.lower-grid :deep(.el-input-number), .lower-grid :deep(.el-date-editor) { max-width: 560px; }
}
@media (max-width: 767px) {
.business-orders { gap: 14px; }
.page-head { align-items: flex-start; gap: 12px; }