This commit is contained in:
parent
87c7fffd3e
commit
66d4805935
|
|
@ -184,18 +184,7 @@ export const permissionRoutes = [
|
|||
// requiresAuth: true
|
||||
// }
|
||||
// },
|
||||
{
|
||||
path: 'users/:id/invites',
|
||||
name: 'AdminUserInvites',
|
||||
component: AdminUserInvites,
|
||||
meta: {
|
||||
title: '邀请列表',
|
||||
icon: 'UserFilled',
|
||||
menuOrder: 9,
|
||||
hideInMenu: true,
|
||||
requiresAuth: true
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -268,7 +257,18 @@ const routes = [
|
|||
hideInMenu: true,
|
||||
requiresAuth: true
|
||||
}
|
||||
}
|
||||
},{
|
||||
path: 'users/:id/invites',
|
||||
name: 'AdminUserInvites',
|
||||
component: AdminUserInvites,
|
||||
meta: {
|
||||
title: '邀请列表',
|
||||
icon: 'UserFilled',
|
||||
menuOrder: 9,
|
||||
hideInMenu: true,
|
||||
requiresAuth: true
|
||||
}
|
||||
},
|
||||
]//[]//
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column prop="orderPrice" :label="t('admin.review.orderPrice')" min-width="120">
|
||||
<template #default="{ row }">
|
||||
¥{{ row.orderPrice.toFixed(2) }}
|
||||
${{ row.orderPrice.toFixed(2) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="status" :label="t('admin.review.status')" min-width="120">
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@
|
|||
<el-icon><Money /></el-icon>
|
||||
</div>
|
||||
<div class="stat-info">
|
||||
<div class="stat-number">¥{{ formatNumber(stats.revenue) }}</div>
|
||||
<div class="stat-number">${{ formatNumber(stats.revenue) }}</div>
|
||||
<div class="stat-label">{{ t('admin.dashboard.stats.revenue') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -91,7 +91,7 @@
|
|||
height: `${(point.value / maxSalesValue) * 200}px`,
|
||||
background: `linear-gradient(to top, #6b46c1, #a78bfa)`
|
||||
}"
|
||||
:title="`${point.date}: ¥${formatNumber(point.value)}`"
|
||||
:title="`${point.date}: $${formatNumber(point.value)}`"
|
||||
></div>
|
||||
</div>
|
||||
<div class="chart-labels">
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
<el-icon><Money /></el-icon>
|
||||
</div>
|
||||
<div class="stat-info">
|
||||
<div class="stat-number">¥{{ orderStats.revenue.toLocaleString() }}</div>
|
||||
<div class="stat-number">${{ orderStats.revenue.toLocaleString() }}</div>
|
||||
<div class="stat-label">{{ t('admin.orders.stats.revenue') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -131,7 +131,7 @@
|
|||
<el-table-column prop="customerName" :label="t('admin.orders.customer')" width="120" />
|
||||
<el-table-column prop="totalAmount" :label="t('admin.orders.total')" width="120">
|
||||
<template #default="{ row }">
|
||||
¥{{ row.totalAmount.toFixed(2) }}
|
||||
${{ row.totalAmount.toFixed(2) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="status" :label="t('admin.orders.status')" width="120">
|
||||
|
|
@ -239,7 +239,7 @@
|
|||
{{ selectedOrder.customerName }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item :label="t('admin.orders.total')">
|
||||
¥{{ selectedOrder.totalAmount.toFixed(2) }}
|
||||
${{ selectedOrder.totalAmount.toFixed(2) }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item :label="t('admin.orders.status')">
|
||||
<el-tag :type="getStatusTagType(selectedOrder.status)">
|
||||
|
|
@ -257,7 +257,7 @@
|
|||
<el-table-column prop="quantity" :label="t('admin.orders.quantity')" width="100" />
|
||||
<el-table-column prop="price" :label="t('admin.orders.price')" width="120">
|
||||
<template #default="{ row }">
|
||||
¥{{ row.price.toFixed(2) }}
|
||||
${{ row.price.toFixed(2) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
<el-icon><Money /></el-icon>
|
||||
</div>
|
||||
<div class="stat-info">
|
||||
<div class="stat-number">¥{{ orderStats.revenue }}</div>
|
||||
<div class="stat-number">${{ orderStats.revenue }}</div>
|
||||
<div class="stat-label">{{ t('admin.orders.stats.revenue') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -126,7 +126,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column prop="actual_amount" :label="t('admin.orders.total')" width="120">
|
||||
<template #default="{ row }">
|
||||
¥{{ row.actual_amount.toFixed(2) }}
|
||||
${{ row.actual_amount.toFixed(2) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="status" :label="t('admin.orders.status')" width="120">
|
||||
|
|
@ -188,7 +188,7 @@
|
|||
{{ selectedOrder?.order_info?.shipping?.firstName || '-'+selectedOrder?.order_info?.shipping?.lastName || '-' }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item :label="t('admin.orders.total')">
|
||||
¥{{ selectedOrder?.actual_amount?.toFixed(2) || '-' }}
|
||||
${{ selectedOrder?.actual_amount?.toFixed(2) || '-' }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item :label="t('admin.orders.status')">
|
||||
<el-tag :type="getStatusTagType(selectedOrder).status">
|
||||
|
|
@ -216,7 +216,7 @@
|
|||
<el-table-column prop="quantity" :label="t('admin.orders.quantity')" width="100" />
|
||||
<el-table-column prop="price" :label="t('admin.orders.price')" width="120">
|
||||
<template #default="{ row }">
|
||||
¥{{ row.price.toFixed(2) }}
|
||||
${{ row.price.toFixed(2) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
<span class="product-name">{{ order.order_info.ipName||'rob' }}</span>
|
||||
<span class="product-quantity">x{{ order.order_info.quantity }}</span>
|
||||
</div>
|
||||
<div class="product-price">¥{{order.actual_amount}}</div>
|
||||
<div class="product-price">${{order.actual_amount}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -9,20 +9,20 @@
|
|||
<div class="summary-items">
|
||||
<div class="summary-item">
|
||||
<span>{{ $t('payment.subtotal') }}</span>
|
||||
<span>¥{{ (amount / 100).toFixed(2) }}</span>
|
||||
<span>${{ (amount / 100).toFixed(2) }}</span>
|
||||
</div>
|
||||
<div class="summary-item">
|
||||
<span>{{ $t('payment.tax') }}</span>
|
||||
<span>¥{{ (taxAmount / 100).toFixed(2) }}</span>
|
||||
<span>${{ (taxAmount / 100).toFixed(2) }}</span>
|
||||
</div>
|
||||
<div class="summary-item">
|
||||
<span>{{ $t('payment.shipping') }}</span>
|
||||
<span>{{ shippingAmount > 0 ? `¥${(shippingAmount / 100).toFixed(2)}` : $t('payment.free') }}</span>
|
||||
<span>{{ shippingAmount > 0 ? `$${(shippingAmount / 100).toFixed(2)}` : $t('payment.free') }}</span>
|
||||
</div>
|
||||
<div class="summary-divider"></div>
|
||||
<div class="summary-item total">
|
||||
<span>{{ $t('payment.total') }}</span>
|
||||
<span>¥{{ ((amount + taxAmount + shippingAmount) / 100).toFixed(2) }}</span>
|
||||
<span>${{ ((amount + taxAmount + shippingAmount) / 100).toFixed(2) }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
:disabled="!canPay"
|
||||
>
|
||||
<el-icon v-if="!processing"><Lock /></el-icon>
|
||||
{{ $t('payment.payNow') }} ¥{{ ((amount + taxAmount + shippingAmount - discountAmount) / 100).toFixed(2) }}
|
||||
{{ $t('payment.payNow') }} ${{ ((amount + taxAmount + shippingAmount - discountAmount) / 100).toFixed(2) }}
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -315,10 +315,10 @@
|
|||
<!-- 官方服务 -->
|
||||
<el-form-item
|
||||
:label="t('agentTemplate.officialServices')"
|
||||
prop="knowledge_base_ids"
|
||||
prop="mcp_endpoints"
|
||||
class="knowledge-base-item"
|
||||
>
|
||||
<el-checkbox-group v-model="agentForm.knowledge_base_ids" style="width: 100%;">
|
||||
<el-checkbox-group v-model="agentForm.mcp_endpoints" style="width: 100%;">
|
||||
<el-checkbox label="2" style="margin-right: 20px;">{{ t('agentTemplate.weather') }}</el-checkbox>
|
||||
<el-checkbox label="8" style="margin-right: 20px;">{{ t('agentTemplate.jokes') }}</el-checkbox>
|
||||
<el-checkbox label="9" style="margin-right: 20px;">{{ t('agentTemplate.music') }}</el-checkbox>
|
||||
|
|
@ -473,7 +473,7 @@ Communication Style:
|
|||
asr_speed: 'normal',
|
||||
tts_speech_speed: 'normal',
|
||||
tts_pitch: 0,
|
||||
knowledge_base_ids: ['2', '8', '9', '101']
|
||||
mcp_endpoints: ['2', '8', '9', '101']// 知识库ID列表
|
||||
})
|
||||
|
||||
// 自定义模板数据
|
||||
|
|
@ -618,7 +618,7 @@ const formRules = computed(() => ({
|
|||
tts_pitch: [
|
||||
{ required: true, message: '请调整角色音调', trigger: 'change' }
|
||||
],
|
||||
knowledge_base_ids: [
|
||||
mcp_endpoints: [
|
||||
{ type: 'array', message: '请至少选择一个官方服务', trigger: 'change' }
|
||||
]
|
||||
}))
|
||||
|
|
@ -739,7 +739,7 @@ const saveAgent = async () => {
|
|||
character: agentForm.introduction,
|
||||
memory: agentForm.memory,
|
||||
memory_type: agentForm.memoryType,
|
||||
knowledge_base_ids: agentForm.knowledge_base_ids
|
||||
mcp_endpoints: agentForm.mcp_endpoints
|
||||
}
|
||||
|
||||
let result
|
||||
|
|
@ -873,7 +873,7 @@ const getAgentDetail = async (agentId) => {
|
|||
agentForm.asr_speed = agentDetail.asr_speed || 'normal'
|
||||
agentForm.tts_speech_speed = agentDetail.tts_speech_speed || 'normal'
|
||||
agentForm.tts_pitch = agentDetail.tts_pitch || 0
|
||||
agentForm.knowledge_base_ids = agentDetail.knowledge_base_ids || []
|
||||
agentForm.mcp_endpoints = agentDetail.mcp_endpoints || []
|
||||
|
||||
// 保存智能体id到表单数据中
|
||||
agentForm.id = agentId
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
<span class="name">{{ order.order_info.ipName }}</span>
|
||||
<span style="margin-top: 10px;" class="qty">x{{ order.order_info.quantity }}</span>
|
||||
</div>
|
||||
<div class="price">¥{{order.actual_amount}}</div>
|
||||
<div class="price">${{order.actual_amount}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -296,9 +296,9 @@ const userData = ref({
|
|||
combinedInviteList: [],
|
||||
|
||||
// 佣金统计(独立模块)
|
||||
totalConsumption: '¥0',
|
||||
totalCommission: '¥0',
|
||||
availableCommission: '¥0'
|
||||
totalConsumption: '$0',
|
||||
totalCommission: '$0',
|
||||
availableCommission: '$0'
|
||||
})
|
||||
|
||||
// 加载状态
|
||||
|
|
|
|||
|
|
@ -295,9 +295,9 @@ const userData = ref({
|
|||
combinedInviteList: [],
|
||||
|
||||
// 佣金统计(独立模块)
|
||||
totalConsumption: '¥0',
|
||||
totalCommission: '¥0',
|
||||
availableCommission: '¥0'
|
||||
totalConsumption: '$0',
|
||||
totalCommission: '$0',
|
||||
availableCommission: '$0'
|
||||
})
|
||||
|
||||
// 加载状态
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ export function formatCurrency(amount, currency = 'CNY', locale = 'zh-CN', decim
|
|||
}).format(amount)
|
||||
} catch {
|
||||
// 回退到简单的格式化
|
||||
const symbol = currency === 'CNY' ? '¥' : currency
|
||||
const symbol = currency === 'CNY' ? '$' : currency
|
||||
return symbol + formatNumber(amount, decimals)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue