feat(ui): 渠道表单模型标签和映射输入框显示平台对应颜色

- PricingEntryCard 折叠态模型 tag 按平台着色
- ModelTagInput 模型标签按平台着色
- 模型映射输入框边框按平台着色
This commit is contained in:
erio
2026-03-31 21:27:32 +08:00
parent ddd495fb48
commit 40cebc250f
4 changed files with 47 additions and 3 deletions

View File

@@ -322,6 +322,7 @@
:value="srcModel"
type="text"
class="input flex-1 text-xs"
:class="getPlatformInputBorder(section.platform)"
:placeholder="t('admin.channels.form.mappingSource', 'Source model')"
@change="renameMappingKey(sIdx, srcModel, ($event.target as HTMLInputElement).value)"
/>
@@ -330,6 +331,7 @@
:value="section.model_mapping[srcModel]"
type="text"
class="input flex-1 text-xs"
:class="getPlatformInputBorder(section.platform)"
:placeholder="t('admin.channels.form.mappingTarget', 'Target model')"
@input="section.model_mapping[srcModel] = ($event.target as HTMLInputElement).value"
/>
@@ -363,6 +365,7 @@
v-for="(entry, idx) in section.model_pricing"
:key="idx"
:entry="entry"
:platform="section.platform"
@update="updatePricingEntry(sIdx, idx, $event)"
@remove="removePricingEntry(sIdx, idx)"
/>
@@ -532,6 +535,17 @@ function getRateBadgeClass(platform: string): string {
}
}
function getPlatformInputBorder(platform: string): string {
switch (platform) {
case 'anthropic': return 'border-orange-300 focus:border-orange-500 dark:border-orange-700'
case 'openai': return 'border-emerald-300 focus:border-emerald-500 dark:border-emerald-700'
case 'gemini': return 'border-blue-300 focus:border-blue-500 dark:border-blue-700'
case 'antigravity': return 'border-purple-300 focus:border-purple-500 dark:border-purple-700'
case 'sora': return 'border-rose-300 focus:border-rose-500 dark:border-rose-700'
default: return ''
}
}
// ── Helpers ──
function formatDate(value: string): string {
if (!value) return '-'