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