update: 系统功能配置页面适配调整

This commit is contained in:
zhuoqinglian
2026-06-15 11:23:31 +08:00
parent 67532dc230
commit b8ae0568e9
7 changed files with 27 additions and 59 deletions
-2
View File
@@ -1420,8 +1420,6 @@ export default {
'featureManagement.groupDescription.featureManagement': 'Aktivierungsstatus der Kernfunktionsmodule steuern',
'featureManagement.groupDescription.voiceManagement': 'Konfigurieren, welche Funktionen für Agenten (KI-Assistenten) sichtbar und verfügbar sind',
'featureManagement.moduleCount': '{count} Module insgesamt',
'featureManagement.enabled': 'Aktiviert',
'featureManagement.disabled': 'Deaktiviert',
// Feature names and descriptions
'feature.voiceprintRecognition.name': 'Stimmerkennung',
-2
View File
@@ -1420,8 +1420,6 @@ export default {
'featureManagement.groupDescription.featureManagement': 'Control the enable status of core feature modules',
'featureManagement.groupDescription.voiceManagement': 'Configure which features are visible and available to agents (AI assistants)',
'featureManagement.moduleCount': '{count} modules in total',
'featureManagement.enabled': 'Enabled',
'featureManagement.disabled': 'Disabled',
// Feature names and descriptions
'feature.voiceprintRecognition.name': 'Voiceprint Recognition',
-2
View File
@@ -1420,8 +1420,6 @@ export default {
'featureManagement.groupDescription.featureManagement': 'Controlar o status de ativação dos módulos de funcionalidade principal',
'featureManagement.groupDescription.voiceManagement': 'Configurar quais funcionalidades são visíveis e disponíveis para agentes (assistentes de IA)',
'featureManagement.moduleCount': '{count} módulos no total',
'featureManagement.enabled': 'Ativado',
'featureManagement.disabled': 'Desativado',
// Nomes e descrições de funcionalidades
'feature.voiceprintRecognition.name': 'Reconhecimento de Impressão Vocal',
-2
View File
@@ -1420,8 +1420,6 @@ export default {
'featureManagement.groupDescription.featureManagement': 'Kiểm soát trạng thái kích hoạt của các mô-đun tính năng cốt lõi',
'featureManagement.groupDescription.voiceManagement': 'Cấu hình các tính năng hiển thị và khả dụng cho agent (trợ lý AI)',
'featureManagement.moduleCount': 'Tổng cộng {count} mô-đun',
'featureManagement.enabled': 'Đã bật',
'featureManagement.disabled': 'Chưa bật',
// Feature names and descriptions
'feature.voiceprintRecognition.name': 'Nhận dạng giọng nói',
-2
View File
@@ -1418,8 +1418,6 @@ export default {
'featureManagement.groupDescription.featureManagement': '控制系统核心功能模块的启用状态',
'featureManagement.groupDescription.voiceManagement': '配置哪些功能对智能体(AI助手)可见和可用',
'featureManagement.moduleCount': '共 {count} 个模块',
'featureManagement.enabled': '已启用',
'featureManagement.disabled': '未启用',
// 功能名称和描述
'feature.voiceprintRecognition.name': '声纹识别',
-2
View File
@@ -1420,8 +1420,6 @@ export default {
'featureManagement.groupDescription.featureManagement': '控制系統核心功能模組的啟用狀態',
'featureManagement.groupDescription.voiceManagement': '配置哪些功能對智能體(AI助手)可見和可用',
'featureManagement.moduleCount': '共 {count} 個模組',
'featureManagement.enabled': '已啟用',
'featureManagement.disabled': '未啟用',
// 功能名稱和描述
'feature.voiceprintRecognition.name': '聲紋識別',
@@ -8,13 +8,13 @@
<div class="config-header">
<h2 class="page-title">{{ $t('header.featureManagement') }}</h2>
<div class="header-actions">
<CustomButton size="small" @click="!isSaving && toggleSelectAll()" :disabled="isSaving">
<CustomButton :icon="isAllSelected ? 'el-icon-circle-close' : 'el-icon-circle-check'" size="medium" @click="!isSaving && toggleSelectAll()" :disabled="isSaving">
{{ isAllSelected ? $t('featureManagement.deselectAll') : $t('featureManagement.selectAll') }}
</CustomButton>
<CustomButton size="small" @click="handleReset" :disabled="isSaving">
<CustomButton icon="el-icon-refresh" size="medium" @click="handleReset" :disabled="isSaving">
{{ $t('featureManagement.reset') }}
</CustomButton>
<CustomButton size="small" type="confirm" @click="handleSave" :disabled="isSaving">
<CustomButton icon="el-icon-setting" size="medium" type="confirm" @click="handleSave" :disabled="isSaving">
{{ isSaving ? $t('featureManagement.saving') : $t('featureManagement.save') }}
</CustomButton>
</div>
@@ -45,19 +45,17 @@
<div class="feature-content">
<div class="feature-header">
<h3 class="feature-name">{{ $t(`feature.${feature.id}.name`) }}</h3>
<span v-if="feature.enabled" class="feature-enabled-tag">{{ $t('featureManagement.enabled') }}</span>
<span v-else class="feature-disabled-tag">{{ $t('featureManagement.disabled') }}</span>
<div class="feature-checkbox-container">
<el-checkbox
v-model="feature.enabled"
@change="!isSaving && toggleFeature(feature)"
class="feature-checkbox"
:disabled="isSaving"
/>
</div>
</div>
<p class="feature-description">{{ $t(`feature.${feature.id}.description`) }}</p>
</div>
<div class="feature-checkbox-container">
<el-checkbox
v-model="feature.enabled"
@change="!isSaving && toggleFeature(feature)"
class="feature-checkbox"
:disabled="isSaving"
/>
</div>
</div>
</div>
</div>
@@ -84,19 +82,17 @@
<div class="feature-content">
<div class="feature-header">
<h3 class="feature-name">{{ $t(`feature.${feature.id}.name`) }}</h3>
<span v-if="feature.enabled" class="feature-enabled-tag">{{ $t('featureManagement.enabled') }}</span>
<span v-else class="feature-disabled-tag">{{ $t('featureManagement.disabled') }}</span>
<div class="feature-checkbox-container">
<el-checkbox
v-model="feature.enabled"
@change="!isSaving && toggleFeature(feature)"
class="feature-checkbox"
:disabled="isSaving"
/>
</div>
</div>
<p class="feature-description">{{ $t(`feature.${feature.id}.description`) }}</p>
</div>
<div class="feature-checkbox-container">
<el-checkbox
v-model="feature.enabled"
@change="!isSaving && toggleFeature(feature)"
class="feature-checkbox"
:disabled="isSaving"
/>
</div>
</div>
</div>
</div>
@@ -504,15 +500,18 @@ export default {
transform: translateY(-2px);
}
.feature-content {
width: 100%;
margin-left: 16px;
}
.feature-header {
display: flex;
align-items: center;
align-items: flex-start;
justify-content: space-between;
margin-bottom: 6px;
}
.feature-checkbox-container {
margin-top: 4px;
display: flex;
align-items: center;
margin-left: 30px;
@@ -531,36 +530,18 @@ export default {
color: #5778ff;
}
.feature-enabled-tag {
background: #5778ff;
font-size: 14px;
color: #FFFFFF;
padding: 4px 8px;
border-radius: 10px;
margin-left: 10px;
font-weight: 500;
}
.feature-disabled-tag {
background: #DCDFE6;
font-size: 14px;
color: #FFFFFF;
padding: 4px 8px;
border-radius: 10px;
margin-left: 10px;
font-weight: 500;
}
.feature-name {
white-space: normal;
word-break: break-word;
overflow-wrap: break-word;
font-size: 18px;
line-height: 18px;
line-height: 1.4;
font-weight: 600;
color: #333;
margin: 0;
transition: color 0.3s ease;
}
.feature-description {
font-size: 14px;
line-height: 1.6;
@@ -570,7 +551,6 @@ export default {
text-align: left;
}
/* 功能分组容器 - 左右布局 */
.feature-groups-container {
display: flex;