From 10d96084e6d8febaa3bf0f13dda499f1d89b1600 Mon Sep 17 00:00:00 2001 From: iqudoo Date: Fri, 12 Jun 2026 22:09:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E7=BE=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 2 +- metadata.json | 6 --- src/App.tsx | 146 ++++++++++++++++++++++++++++++-------------------- src/index.css | 8 +++ 4 files changed, 97 insertions(+), 65 deletions(-) delete mode 100644 metadata.json diff --git a/index.html b/index.html index 5df21d5..45f43e3 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ - 智能标签排版设计与打印生成器 + 标签设计生成器
diff --git a/metadata.json b/metadata.json deleted file mode 100644 index 47894ff..0000000 --- a/metadata.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "批量标签排版设计与打印生成器", - "description": "支持可视化绘制条码、二维码及多行文本标签模版,支持Excel/CSV数据批量导入与动态变量映射排版,一键平衡居中生成A4多页精细网格裁切图层,实现工业级无卷曲实体打印。", - "requestFramePermissions": [], - "majorCapabilities": ["MAJOR_CAPABILITY_SERVER_SIDE_GEMINI_API"] -} diff --git a/src/App.tsx b/src/App.tsx index 20b755c..46c8a2e 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -30,6 +30,7 @@ import { Plus, Download, Upload, + Printer, Trash2, X, } from 'lucide-react'; @@ -639,10 +640,10 @@ export default function App() { return (
{/* @@ -652,36 +653,55 @@ export default function App() { */} {!(isMobile && workflowStep === 'print-view') && (
{/* Title logo and slogan description */} -
+
-

- 批量标签排版印刷生成器 +

+ 标签设计生成器

{workflowStep !== 'template-design' && workflowStep !== 'print-view' && (

- 所见即所得,上传Excel批量排版生成标签 + 所见即所得

)}
- {workflowStep === 'template-select' && hasTemplates && !isMobile && ( -
- + )} +
@@ -767,18 +787,19 @@ export default function App() { key={tmpl.id} onClick={() => handleSelectTemplate(tmpl.id!)} className={`bg-white border rounded-2xl p-5 shadow-xs transition-all flex flex-col cursor-pointer relative overflow-hidden group select-none ${isActive - ? 'ring-2 ring-indigo-500 border-indigo-500 bg-indigo-50/5' - : 'border-gray-200 hover:shadow-md hover:border-indigo-200' + // ? 'ring-2 ring-indigo-500 border-indigo-500 bg-indigo-50/5' + ? 'border-gray-200 hover:shadow-md hover:border-indigo-200' + : 'border-gray-200 hover:shadow-md hover:border-indigo-200' }`} > - {isActive && ( + {/* {isActive && (
当前选中
- )} + )} */}
@@ -834,36 +855,45 @@ export default function App() { e.stopPropagation(); openPrintView(tmpl.id!); }} - className={`shrink-0 whitespace-nowrap inline-flex items-center gap-1 px-3 py-1.5 bg-indigo-600 hover:bg-indigo-700 text-white rounded-lg text-[11px] font-bold transition shadow-xs cursor-pointer ${isMobile ? 'mobile-primary-btn flex-1' : '' - }`} + className={`inline-flex items-center gap-1.5 bg-indigo-600 hover:bg-indigo-700 active:bg-indigo-800 text-white transition shadow-xs cursor-pointer ${ + isMobile + ? 'mobile-primary-btn flex-1 min-w-0 justify-center min-h-[44px] px-4 py-2.5 rounded-xl text-[13px] font-semibold' + : 'shrink-0 whitespace-nowrap px-3 py-1.5 rounded-lg text-[11px] font-bold' + }`} > - - {isMobile ? '上传数据并导出 PDF' : '排版导出'} + + {isMobile ? '排版生成标签' : '排版导出'} + + + - {!isMobile && ( - <> - - - - )}
); @@ -1014,8 +1044,8 @@ export default function App() { !appliedExportData || appliedLayoutResult.selectedCount === 0 || pdfGenerating } className={`inline-flex items-center gap-1.5 px-3 py-1 text-[11px] font-semibold transition cursor-pointer ${appliedExportData && appliedLayoutResult.selectedCount > 0 && !pdfGenerating - ? 'bg-[#31a8ff] hover:bg-[#2890d8] text-white' - : 'bg-[#444] text-[#666] cursor-not-allowed' + ? 'bg-[#31a8ff] hover:bg-[#2890d8] text-white' + : 'bg-[#444] text-[#666] cursor-not-allowed' }`} > {pdfGenerating ? ( diff --git a/src/index.css b/src/index.css index 8382c71..ac4066c 100644 --- a/src/index.css +++ b/src/index.css @@ -1142,6 +1142,14 @@ body, gap: 8px !important; } + .mobile-template-header.mobile-template-header-row { + flex-direction: row !important; + flex-wrap: nowrap !important; + align-items: center !important; + justify-content: space-between !important; + gap: 12px !important; + } + .mobile-template-header h1 span:first-child { font-size: 12px; }