fix: 修复授权页面卡类选项显示空括号问题
- 只有当 billing_type 有值时才显示括号内容 - 将"卡类权限"标签改为"选择卡类",更清晰 - 添加 selectCardTypePlaceholder 翻译 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -269,16 +269,16 @@ onMounted(() => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="space-y-2">
|
<div class="space-y-2">
|
||||||
<UiLabel>{{ t('admin.agentApps.createForm.cardPermission') }} <span class="text-destructive">*</span></UiLabel>
|
<UiLabel>{{ t('admin.agentApps.createForm.selectCardType') }} <span class="text-destructive">*</span></UiLabel>
|
||||||
<div class="flex gap-3">
|
<div class="flex gap-3">
|
||||||
<div class="flex-1">
|
<div class="flex-1">
|
||||||
<UiSelect v-model="selectedCardTypeId" :disabled="!form.application_id || saving">
|
<UiSelect v-model="selectedCardTypeId" :disabled="!form.application_id || saving">
|
||||||
<UiSelectTrigger>
|
<UiSelectTrigger>
|
||||||
<UiSelectValue :placeholder="t('admin.agentApps.createForm.selectCardType')" />
|
<UiSelectValue :placeholder="t('admin.agentApps.createForm.selectCardTypePlaceholder')" />
|
||||||
</UiSelectTrigger>
|
</UiSelectTrigger>
|
||||||
<UiSelectContent>
|
<UiSelectContent>
|
||||||
<UiSelectItem v-for="ct in availableCardTypes" :key="ct.id" :value="String(ct.id)">
|
<UiSelectItem v-for="ct in availableCardTypes" :key="ct.id" :value="String(ct.id)">
|
||||||
{{ ct.name }} ({{ ct.billing_type }})
|
{{ ct.name }}<template v-if="ct.billing_type"> ({{ ct.billing_type }})</template>
|
||||||
</UiSelectItem>
|
</UiSelectItem>
|
||||||
</UiSelectContent>
|
</UiSelectContent>
|
||||||
</UiSelect>
|
</UiSelect>
|
||||||
@@ -293,7 +293,7 @@ onMounted(() => {
|
|||||||
<div v-for="(p, index) in permissions" :key="p.card_type_id" class="flex items-center justify-between p-3 gap-4">
|
<div v-for="(p, index) in permissions" :key="p.card_type_id" class="flex items-center justify-between p-3 gap-4">
|
||||||
<div class="flex-1 min-w-0">
|
<div class="flex-1 min-w-0">
|
||||||
<div class="font-medium truncate">{{ p.card_type_name }}</div>
|
<div class="font-medium truncate">{{ p.card_type_name }}</div>
|
||||||
<div class="text-sm text-muted-foreground">{{ p.billing_type }}</div>
|
<div v-if="p.billing_type" class="text-sm text-muted-foreground">{{ p.billing_type }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center gap-2 shrink-0">
|
<div class="flex items-center gap-2 shrink-0">
|
||||||
<div class="flex items-center gap-1">
|
<div class="flex items-center gap-1">
|
||||||
|
|||||||
@@ -232,16 +232,16 @@ onMounted(() => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="space-y-2">
|
<div class="space-y-2">
|
||||||
<UiLabel>{{ t('admin.agentApps.createForm.cardPermission') }} <span class="text-destructive">*</span></UiLabel>
|
<UiLabel>{{ t('admin.agentApps.createForm.selectCardType') }} <span class="text-destructive">*</span></UiLabel>
|
||||||
<div class="flex gap-3">
|
<div class="flex gap-3">
|
||||||
<div class="flex-1">
|
<div class="flex-1">
|
||||||
<UiSelect v-model="selectedCardTypeId" :disabled="!form.application_id || saving">
|
<UiSelect v-model="selectedCardTypeId" :disabled="!form.application_id || saving">
|
||||||
<UiSelectTrigger>
|
<UiSelectTrigger>
|
||||||
<UiSelectValue :placeholder="t('admin.agentApps.createForm.selectCardType')" />
|
<UiSelectValue :placeholder="t('admin.agentApps.createForm.selectCardTypePlaceholder')" />
|
||||||
</UiSelectTrigger>
|
</UiSelectTrigger>
|
||||||
<UiSelectContent>
|
<UiSelectContent>
|
||||||
<UiSelectItem v-for="ct in availableCardTypes" :key="ct.id" :value="String(ct.id)">
|
<UiSelectItem v-for="ct in availableCardTypes" :key="ct.id" :value="String(ct.id)">
|
||||||
{{ ct.name }} ({{ ct.billing_type }})
|
{{ ct.name }}<template v-if="ct.billing_type"> ({{ ct.billing_type }})</template>
|
||||||
</UiSelectItem>
|
</UiSelectItem>
|
||||||
</UiSelectContent>
|
</UiSelectContent>
|
||||||
</UiSelect>
|
</UiSelect>
|
||||||
@@ -256,7 +256,7 @@ onMounted(() => {
|
|||||||
<div v-for="(p, index) in permissions" :key="p.card_type_id" class="flex items-center justify-between p-3 gap-4">
|
<div v-for="(p, index) in permissions" :key="p.card_type_id" class="flex items-center justify-between p-3 gap-4">
|
||||||
<div class="flex-1 min-w-0">
|
<div class="flex-1 min-w-0">
|
||||||
<div class="font-medium truncate">{{ p.card_type_name }}</div>
|
<div class="font-medium truncate">{{ p.card_type_name }}</div>
|
||||||
<div class="text-sm text-muted-foreground">{{ p.billing_type }}</div>
|
<div v-if="p.billing_type" class="text-sm text-muted-foreground">{{ p.billing_type }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center gap-2 shrink-0">
|
<div class="flex items-center gap-2 shrink-0">
|
||||||
<div class="flex items-center gap-1">
|
<div class="flex items-center gap-1">
|
||||||
|
|||||||
@@ -1717,6 +1717,7 @@
|
|||||||
"selectAppPlaceholder": "Please select an application",
|
"selectAppPlaceholder": "Please select an application",
|
||||||
"cardPermission": "Card Type Permissions",
|
"cardPermission": "Card Type Permissions",
|
||||||
"selectCardType": "Select Card Type",
|
"selectCardType": "Select Card Type",
|
||||||
|
"selectCardTypePlaceholder": "Please select a card type",
|
||||||
"addCardType": "Add",
|
"addCardType": "Add",
|
||||||
"cardTypeList": "Authorized Card Types",
|
"cardTypeList": "Authorized Card Types",
|
||||||
"cardTypeName": "Card Type Name",
|
"cardTypeName": "Card Type Name",
|
||||||
|
|||||||
@@ -1706,6 +1706,7 @@
|
|||||||
"selectAppPlaceholder": "请选择应用",
|
"selectAppPlaceholder": "请选择应用",
|
||||||
"cardPermission": "卡类权限",
|
"cardPermission": "卡类权限",
|
||||||
"selectCardType": "选择卡类",
|
"selectCardType": "选择卡类",
|
||||||
|
"selectCardTypePlaceholder": "请选择卡类",
|
||||||
"addCardType": "添加",
|
"addCardType": "添加",
|
||||||
"cardTypeList": "已授权卡类",
|
"cardTypeList": "已授权卡类",
|
||||||
"cardTypeName": "卡类名称",
|
"cardTypeName": "卡类名称",
|
||||||
|
|||||||
Reference in New Issue
Block a user