This commit is contained in:
2026-10-20 23:34:11 +08:00
parent f155976f52
commit 13e4aa56ec
321 changed files with 6756 additions and 2110 deletions
@@ -1,4 +1,5 @@
<script setup lang="ts">
import '@/styles/adminWorkbench.css'
import InlineHelp from '@/shared/components/InlineHelp.vue'
import '@/styles/adminDensity.css'
import { computed, onMounted, reactive, ref, watch } from 'vue'
@@ -252,7 +253,7 @@ async function toggleStatus(row: PlatformExpressCompanyResource) {
await ElMessageBox.confirm(
`确定${action}“${row.companyName}”吗?${nextStatus === 'INACTIVE' ? '停用后不会再作为可用快递公司。' : ''}`,
`${action}快递公司`,
{ customClass: 'admin-density-confirm', type: nextStatus === 'ACTIVE' ? 'success' : 'warning', confirmButtonText: `确认${action}`, cancelButtonText: '取消' },
{ customClass: 'admin-density-confirm admin-workbench', type: nextStatus === 'ACTIVE' ? 'success' : 'warning', confirmButtonText: `确认${action}`, cancelButtonText: '取消' },
)
} catch {
return
@@ -282,13 +283,13 @@ onMounted(() => {
</script>
<template>
<AdminPage class="admin-density">
<AdminPage class="admin-density admin-workbench">
<div class="business-page express-company-page">
<ListPageLayout ariaLabel="快递公司列表">
<section><DataTable appearance="integrated" :stripe="false" column-settings-mode="show" :results-visible="!loadError"
<section class="workbench-table is-page-surface"><DataTable appearance="integrated" :stripe="false" column-settings-mode="show" :results-visible="!loadError"
v-model:page="page"
v-model:page-size="pageSize"
:data="rows"
@@ -354,7 +355,7 @@ onMounted(() => {
</DataTable></section>
</ListPageLayout>
<BatchImportDialog class="admin-density-dialog"
<BatchImportDialog class="admin-density-dialog admin-workbench is-dialog"
v-model="importOpen"
title="批量导入快递公司"
entity-label="快递公司"
@@ -366,7 +367,7 @@ onMounted(() => {
@success="loadExpressCompanies"
/>
<el-drawer v-model="editorOpen" :title="editorTitle" size="580px" class="editor-drawer admin-density admin-density-drawer" :close-on-click-modal="false">
<el-drawer v-model="editorOpen" :title="editorTitle" size="580px" class="editor-drawer admin-density admin-density-drawer admin-workbench is-drawer" :close-on-click-modal="false">
<el-form ref="formRef" :model="form" :rules="rules" label-position="top" class="density-form" :disabled="saving">
<FormSection class="density-form-section" title="基础信息">
<div class="form-grid two-cols">
@@ -396,14 +397,14 @@ onMounted(() => {
.state-alert p { margin: var(--admin-space-2) 0 0; line-height: 1.55; }
.state-alert .el-button { margin-top: var(--admin-space-4); }
.express-company-cell { display: flex; min-width: 0; align-items: center; gap: var(--admin-space-4); }
.express-company-cell > span { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border: 1px solid var(--cc-border); border-radius: var(--admin-radius); background: #f8fafc; color: var(--cc-primary); }
.express-company-cell > span { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border: 1px solid var(--workbench-border); border-radius: var(--admin-radius); background: var(--workbench-surface-soft); color: var(--workbench-primary); }
.express-company-cell > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.express-company-cell strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.external-link { display: inline-flex; align-items: center; gap: 5px; color: var(--cc-primary); font-size: var(--admin-font-caption); text-decoration: none; }
.external-link { display: inline-flex; align-items: center; gap: 5px; color: var(--workbench-primary); font-size: var(--admin-font-caption); text-decoration: none; }
.external-link:hover { text-decoration: underline; }
.tracking-template { display: block; max-width: 100%; color: #475467; font-family: "Cascadia Code", Consolas, monospace; font-size: var(--admin-font-caption); overflow-wrap: anywhere; }
.tracking-template { display: block; max-width: 100%; color: var(--workbench-text); font-family: "Cascadia Code", Consolas, monospace; font-size: var(--admin-font-caption); overflow-wrap: anywhere; }
.remark-cell { display: -webkit-box; overflow: hidden; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.form-help code { color: #475467; font-family: "Cascadia Code", Consolas, monospace; }
.form-help code { color: var(--workbench-text); font-family: "Cascadia Code", Consolas, monospace; }
.panel-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--admin-space-3); }
.panel-actions .el-button { margin-left: 0; }
@media (max-width: 720px) {