1.优化渠道管理手动结算表单样式

This commit is contained in:
2026-05-30 15:05:55 +08:00
parent eb4c17cadf
commit 16a7ef7413

View File

@@ -67,41 +67,49 @@
<div class="title">{{ t('channel.manual_settle') }}</div> <div class="title">{{ t('channel.manual_settle') }}</div>
</template> </template>
<div v-loading="manualSettle.previewLoading" class="manual-settle-dialog-body"> <div v-loading="manualSettle.previewLoading" class="manual-settle-dialog-body">
<el-descriptions
class="manual-settle-summary"
:column="manualSettleSummaryColumns"
border
:size="manualSettleViewportMobile ? 'small' : 'default'"
>
<el-descriptions-item :label="t('channel.manual_settle_settlement_no')">
{{ manualSettle.form.settlement_no || '-' }}
</el-descriptions-item>
<el-descriptions-item :label="t('channel.manual_settle_period_start')">
{{ manualSettle.form.period_start_at || '-' }}
</el-descriptions-item>
<el-descriptions-item :label="t('channel.manual_settle_period_end')">
{{ manualSettle.form.period_end_at || '-' }}
</el-descriptions-item>
<el-descriptions-item :label="t('channel.manual_settle_total_bet')">
{{ manualSettle.form.total_bet_amount || '-' }}
</el-descriptions-item>
<el-descriptions-item :label="t('channel.manual_settle_total_payout')">
{{ manualSettle.form.total_payout_amount || '-' }}
</el-descriptions-item>
<el-descriptions-item :label="t('channel.manual_settle_platform_profit')">
{{ manualSettle.form.platform_profit_amount || '-' }}
</el-descriptions-item>
<el-descriptions-item :label="t('channel.manual_settle_commission_rate')">
{{ manualSettle.form.commission_rate || '-' }}
</el-descriptions-item>
<el-descriptions-item :label="t('channel.manual_settle_calc_base')">
{{ manualSettle.form.calc_base_amount || '-' }}
</el-descriptions-item>
<el-descriptions-item :label="t('channel.manual_settle_commission_amount')">
<span class="manual-settle-summary-highlight">{{ manualSettle.form.commission_amount || '-' }}</span>
</el-descriptions-item>
</el-descriptions>
<el-form <el-form
:model="manualSettle.form" :model="manualSettle.form"
:label-width="manualSettleFormLabelWidth" :label-width="manualSettleFormLabelWidth"
:label-position="manualSettleFormLabelPosition" label-position="top"
size="small" :size="manualSettleFormSize"
class="manual-settle-form" class="manual-settle-form"
> >
<el-form-item :label="t('channel.manual_settle_settlement_no')"> <el-form-item :label="t('channel.share_config')" class="manual-settle-form-item-full manual-settle-split-form-item">
<el-input v-model="manualSettle.form.settlement_no" readonly />
</el-form-item>
<el-form-item :label="t('channel.manual_settle_period_start')">
<el-input v-model="manualSettle.form.period_start_at" readonly />
</el-form-item>
<el-form-item :label="t('channel.manual_settle_period_end')">
<el-input v-model="manualSettle.form.period_end_at" readonly />
</el-form-item>
<el-form-item :label="t('channel.manual_settle_total_bet')">
<el-input v-model="manualSettle.form.total_bet_amount" readonly />
</el-form-item>
<el-form-item :label="t('channel.manual_settle_total_payout')">
<el-input v-model="manualSettle.form.total_payout_amount" readonly />
</el-form-item>
<el-form-item :label="t('channel.manual_settle_platform_profit')">
<el-input v-model="manualSettle.form.platform_profit_amount" readonly />
</el-form-item>
<el-form-item :label="t('channel.manual_settle_commission_rate')">
<el-input v-model="manualSettle.form.commission_rate" readonly />
</el-form-item>
<el-form-item :label="t('channel.manual_settle_calc_base')">
<el-input v-model="manualSettle.form.calc_base_amount" readonly />
</el-form-item>
<el-form-item :label="t('channel.manual_settle_commission_amount')">
<el-input v-model="manualSettle.form.commission_amount" readonly />
</el-form-item>
<el-form-item :label="t('channel.share_config')" class="manual-settle-form-item-full">
<div class="manual-settle-split-block"> <div class="manual-settle-split-block">
<div <div
class="manual-settle-split-table-scroll" class="manual-settle-split-table-scroll"
@@ -118,7 +126,7 @@
:tree-props="{ children: 'children' }" :tree-props="{ children: 'children' }"
default-expand-all default-expand-all
border border
size="small" :size="manualSettleTableSize"
:fit="!manualSettleViewportMobile" :fit="!manualSettleViewportMobile"
class="manual-settle-split-table" class="manual-settle-split-table"
:class="{ 'is-mobile': manualSettleViewportMobile, 'w100': !manualSettleViewportMobile }" :class="{ 'is-mobile': manualSettleViewportMobile, 'w100': !manualSettleViewportMobile }"
@@ -439,9 +447,11 @@ const { t } = useI18n()
const MANUAL_SETTLE_MOBILE_BREAKPOINT = 768 const MANUAL_SETTLE_MOBILE_BREAKPOINT = 768
const manualSettleViewportMobile = ref(typeof window !== 'undefined' ? window.innerWidth <= MANUAL_SETTLE_MOBILE_BREAKPOINT : false) const manualSettleViewportMobile = ref(typeof window !== 'undefined' ? window.innerWidth <= MANUAL_SETTLE_MOBILE_BREAKPOINT : false)
const manualSettleCalcCollapse = ref<string[]>([]) const manualSettleCalcCollapse = ref<string[]>([])
const manualSettleDialogWidth = computed(() => (manualSettleViewportMobile.value ? '96%' : '740px')) const manualSettleDialogWidth = computed(() => (manualSettleViewportMobile.value ? '96%' : '920px'))
const manualSettleFormLabelPosition = computed(() => (manualSettleViewportMobile.value ? 'top' : 'right')) const manualSettleSummaryColumns = computed(() => (manualSettleViewportMobile.value ? 1 : 3))
const manualSettleFormLabelWidth = computed(() => (manualSettleViewportMobile.value ? 'auto' : '140px')) const manualSettleFormSize = computed(() => (manualSettleViewportMobile.value ? 'small' : 'default'))
const manualSettleTableSize = computed(() => (manualSettleViewportMobile.value ? 'small' : 'default'))
const manualSettleFormLabelWidth = computed(() => 'auto')
const manualSettleTableLayout = computed(() => 'fixed') const manualSettleTableLayout = computed(() => 'fixed')
const manualSettleSplitCol = computed(() => { const manualSettleSplitCol = computed(() => {
if (manualSettleViewportMobile.value) { if (manualSettleViewportMobile.value) {
@@ -456,13 +466,13 @@ const manualSettleSplitCol = computed(() => {
} }
} }
return { return {
adminWidth: 108, adminWidth: 132,
baseWidth: 76, baseWidth: 88,
shareWidth: 58, shareWidth: 72,
grossWidth: 72, grossWidth: 88,
commissionShareWidth: 62, commissionShareWidth: 76,
feeWidth: 64, feeWidth: 80,
netWidth: 72, netWidth: 88,
} }
}) })
@@ -1482,29 +1492,34 @@ onUnmounted(() => {
display: flex !important; display: flex !important;
flex-direction: column; flex-direction: column;
width: 92% !important; width: 92% !important;
max-width: 740px; max-width: 920px;
max-height: 86vh; max-height: 90vh;
margin: 7vh auto !important; margin: 5vh auto !important;
padding-bottom: 0; padding-bottom: 0;
overflow: hidden; overflow: hidden;
} }
:deep(.manual-settle-dialog .el-dialog__header) { :deep(.manual-settle-dialog .el-dialog__header) {
flex-shrink: 0; flex-shrink: 0;
padding: 12px 16px; padding: 14px 20px;
margin-right: 0; margin-right: 0;
} }
:deep(.manual-settle-dialog .el-dialog__header .title) {
font-size: 16px;
font-weight: 600;
}
:deep(.manual-settle-dialog .el-dialog__body) { :deep(.manual-settle-dialog .el-dialog__body) {
flex: 1 1 auto; flex: 1 1 auto;
min-height: 0; min-height: 0;
height: auto !important; height: auto !important;
max-height: calc(86vh - 108px); max-height: calc(90vh - 116px);
overflow-y: auto !important; overflow-y: auto !important;
overflow-x: hidden; overflow-x: hidden;
-webkit-overflow-scrolling: touch; -webkit-overflow-scrolling: touch;
overscroll-behavior: contain; overscroll-behavior: contain;
padding: 10px 14px 12px; padding: 16px 20px 18px;
} }
:deep(.manual-settle-dialog .el-dialog__footer) { :deep(.manual-settle-dialog .el-dialog__footer) {
@@ -1524,17 +1539,45 @@ onUnmounted(() => {
border-radius: 4px; border-radius: 4px;
} }
.manual-settle-summary {
margin-bottom: 16px;
}
.manual-settle-summary :deep(.el-descriptions__label) {
width: 148px;
font-size: 13px;
color: var(--el-text-color-secondary);
font-weight: 500;
}
.manual-settle-summary :deep(.el-descriptions__content) {
font-size: 14px;
line-height: 1.5;
color: var(--el-text-color-primary);
}
.manual-settle-summary-highlight {
font-size: 15px;
font-weight: 600;
color: var(--el-color-primary);
}
.manual-settle-form { .manual-settle-form {
display: grid; display: block;
grid-template-columns: repeat(3, minmax(0, 1fr));
column-gap: 12px;
row-gap: 0;
min-width: 0; min-width: 0;
max-width: 100%; max-width: 100%;
} }
.manual-settle-form :deep(.el-form-item) { .manual-settle-form :deep(.el-form-item) {
margin-bottom: 8px; margin-bottom: 14px;
}
.manual-settle-split-form-item :deep(.el-form-item__label) {
font-size: 14px;
font-weight: 600;
line-height: 1.5;
padding-bottom: 8px;
color: var(--el-text-color-primary);
} }
.manual-settle-form-item-full { .manual-settle-form-item-full {
@@ -1613,19 +1656,21 @@ onUnmounted(() => {
.manual-settle-split-table :deep(.el-table__header th.el-table__cell), .manual-settle-split-table :deep(.el-table__header th.el-table__cell),
.manual-settle-split-table :deep(.el-table__body td.el-table__cell) { .manual-settle-split-table :deep(.el-table__body td.el-table__cell) {
padding: 6px 4px; padding: 10px 8px;
} }
.manual-settle-split-table :deep(.el-table__header .cell), .manual-settle-split-table :deep(.el-table__header .cell),
.manual-settle-split-table :deep(.el-table__body .cell) { .manual-settle-split-table :deep(.el-table__body .cell) {
padding: 0 2px; padding: 0 4px;
font-size: 12px; font-size: 14px;
line-height: 1.35; line-height: 1.5;
word-break: break-all; word-break: break-word;
} }
.manual-settle-split-table :deep(.el-table__header .cell) { .manual-settle-split-table :deep(.el-table__header .cell) {
white-space: normal; white-space: normal;
font-weight: 600;
color: var(--el-text-color-primary);
} }
.manual-settle-split-table.is-mobile :deep(.el-table__header th.el-table__cell), .manual-settle-split-table.is-mobile :deep(.el-table__header th.el-table__cell),
@@ -1648,19 +1693,19 @@ onUnmounted(() => {
} }
.manual-settle-calc-collapse { .manual-settle-calc-collapse {
margin-top: 8px; margin-top: 12px;
border: none; border: none;
} }
.manual-settle-calc-collapse :deep(.el-collapse-item__header) { .manual-settle-calc-collapse :deep(.el-collapse-item__header) {
height: 34px; height: 40px;
line-height: 34px; line-height: 40px;
font-size: 13px; font-size: 14px;
font-weight: 500; font-weight: 500;
border-bottom: none; border-bottom: none;
background: var(--el-fill-color-light); background: var(--el-fill-color-light);
border-radius: 4px; border-radius: 6px;
padding: 0 10px; padding: 0 12px;
} }
.manual-settle-calc-collapse :deep(.el-collapse-item__wrap) { .manual-settle-calc-collapse :deep(.el-collapse-item__wrap) {
@@ -1668,14 +1713,15 @@ onUnmounted(() => {
} }
.manual-settle-calc-collapse :deep(.el-collapse-item__content) { .manual-settle-calc-collapse :deep(.el-collapse-item__content) {
padding: 8px 10px 2px; padding: 10px 12px 4px;
} }
.manual-settle-calc-list { .manual-settle-calc-list {
margin: 0; margin: 0;
padding-left: 18px; padding-left: 20px;
line-height: 1.5; line-height: 1.65;
font-size: 12px; font-size: 13px;
color: var(--el-text-color-regular);
} }
.manual-settle-calc-list li + li { .manual-settle-calc-list li + li {
@@ -1685,7 +1731,12 @@ onUnmounted(() => {
.manual-settle-footer { .manual-settle-footer {
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
gap: 8px; gap: 10px;
padding: 4px 0 0;
}
.manual-settle-footer .el-button {
min-width: 88px;
} }
/* 渠道记录弹窗:可滚动、适配移动端(勿使用 ba-operate-dialog 固定高度) */ /* 渠道记录弹窗:可滚动、适配移动端(勿使用 ba-operate-dialog 固定高度) */
@@ -1744,8 +1795,13 @@ onUnmounted(() => {
grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-columns: repeat(2, minmax(0, 1fr));
} }
.manual-settle-form { .manual-settle-summary :deep(.el-descriptions__label) {
grid-template-columns: repeat(2, minmax(0, 1fr)); width: auto;
font-size: 12px;
}
.manual-settle-summary :deep(.el-descriptions__content) {
font-size: 13px;
} }
} }
@@ -1763,24 +1819,24 @@ onUnmounted(() => {
:deep(.manual-settle-dialog .el-dialog__body) { :deep(.manual-settle-dialog .el-dialog__body) {
max-height: calc(94vh - 96px); max-height: calc(94vh - 96px);
padding: 10px 10px 12px; padding: 12px 12px 14px;
} }
:deep(.manual-settle-dialog .el-dialog__footer) { :deep(.manual-settle-dialog .el-dialog__footer) {
padding: 8px 10px 10px; padding: 8px 10px 10px;
} }
.manual-settle-form { .manual-settle-summary {
grid-template-columns: 1fr; margin-bottom: 12px;
} }
.manual-settle-form :deep(.el-form-item) { .manual-settle-form :deep(.el-form-item) {
margin-bottom: 10px; margin-bottom: 10px;
} }
.manual-settle-form :deep(.el-form-item__label) { .manual-settle-split-form-item :deep(.el-form-item__label) {
padding-bottom: 4px; font-size: 13px;
line-height: 1.4; padding-bottom: 6px;
} }
.manual-settle-form-item-full :deep(.el-form-item__content) { .manual-settle-form-item-full :deep(.el-form-item__content) {