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.featureManagement': 'Aktivierungsstatus der Kernfunktionsmodule steuern',
'featureManagement.groupDescription.voiceManagement': 'Konfigurieren, welche Funktionen für Agenten (KI-Assistenten) sichtbar und verfügbar sind', 'featureManagement.groupDescription.voiceManagement': 'Konfigurieren, welche Funktionen für Agenten (KI-Assistenten) sichtbar und verfügbar sind',
'featureManagement.moduleCount': '{count} Module insgesamt', 'featureManagement.moduleCount': '{count} Module insgesamt',
'featureManagement.enabled': 'Aktiviert',
'featureManagement.disabled': 'Deaktiviert',
// Feature names and descriptions // Feature names and descriptions
'feature.voiceprintRecognition.name': 'Stimmerkennung', '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.featureManagement': 'Control the enable status of core feature modules',
'featureManagement.groupDescription.voiceManagement': 'Configure which features are visible and available to agents (AI assistants)', 'featureManagement.groupDescription.voiceManagement': 'Configure which features are visible and available to agents (AI assistants)',
'featureManagement.moduleCount': '{count} modules in total', 'featureManagement.moduleCount': '{count} modules in total',
'featureManagement.enabled': 'Enabled',
'featureManagement.disabled': 'Disabled',
// Feature names and descriptions // Feature names and descriptions
'feature.voiceprintRecognition.name': 'Voiceprint Recognition', '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.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.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.moduleCount': '{count} módulos no total',
'featureManagement.enabled': 'Ativado',
'featureManagement.disabled': 'Desativado',
// Nomes e descrições de funcionalidades // Nomes e descrições de funcionalidades
'feature.voiceprintRecognition.name': 'Reconhecimento de Impressão Vocal', '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.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.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.moduleCount': 'Tổng cộng {count} mô-đun',
'featureManagement.enabled': 'Đã bật',
'featureManagement.disabled': 'Chưa bật',
// Feature names and descriptions // Feature names and descriptions
'feature.voiceprintRecognition.name': 'Nhận dạng giọng nói', '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.featureManagement': '控制系统核心功能模块的启用状态',
'featureManagement.groupDescription.voiceManagement': '配置哪些功能对智能体(AI助手)可见和可用', 'featureManagement.groupDescription.voiceManagement': '配置哪些功能对智能体(AI助手)可见和可用',
'featureManagement.moduleCount': '共 {count} 个模块', 'featureManagement.moduleCount': '共 {count} 个模块',
'featureManagement.enabled': '已启用',
'featureManagement.disabled': '未启用',
// 功能名称和描述 // 功能名称和描述
'feature.voiceprintRecognition.name': '声纹识别', 'feature.voiceprintRecognition.name': '声纹识别',
-2
View File
@@ -1420,8 +1420,6 @@ export default {
'featureManagement.groupDescription.featureManagement': '控制系統核心功能模組的啟用狀態', 'featureManagement.groupDescription.featureManagement': '控制系統核心功能模組的啟用狀態',
'featureManagement.groupDescription.voiceManagement': '配置哪些功能對智能體(AI助手)可見和可用', 'featureManagement.groupDescription.voiceManagement': '配置哪些功能對智能體(AI助手)可見和可用',
'featureManagement.moduleCount': '共 {count} 個模組', 'featureManagement.moduleCount': '共 {count} 個模組',
'featureManagement.enabled': '已啟用',
'featureManagement.disabled': '未啟用',
// 功能名稱和描述 // 功能名稱和描述
'feature.voiceprintRecognition.name': '聲紋識別', 'feature.voiceprintRecognition.name': '聲紋識別',
@@ -8,13 +8,13 @@
<div class="config-header"> <div class="config-header">
<h2 class="page-title">{{ $t('header.featureManagement') }}</h2> <h2 class="page-title">{{ $t('header.featureManagement') }}</h2>
<div class="header-actions"> <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') }} {{ isAllSelected ? $t('featureManagement.deselectAll') : $t('featureManagement.selectAll') }}
</CustomButton> </CustomButton>
<CustomButton size="small" @click="handleReset" :disabled="isSaving"> <CustomButton icon="el-icon-refresh" size="medium" @click="handleReset" :disabled="isSaving">
{{ $t('featureManagement.reset') }} {{ $t('featureManagement.reset') }}
</CustomButton> </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') }} {{ isSaving ? $t('featureManagement.saving') : $t('featureManagement.save') }}
</CustomButton> </CustomButton>
</div> </div>
@@ -45,19 +45,17 @@
<div class="feature-content"> <div class="feature-content">
<div class="feature-header"> <div class="feature-header">
<h3 class="feature-name">{{ $t(`feature.${feature.id}.name`) }}</h3> <h3 class="feature-name">{{ $t(`feature.${feature.id}.name`) }}</h3>
<span v-if="feature.enabled" class="feature-enabled-tag">{{ $t('featureManagement.enabled') }}</span> <div class="feature-checkbox-container">
<span v-else class="feature-disabled-tag">{{ $t('featureManagement.disabled') }}</span> <el-checkbox
v-model="feature.enabled"
@change="!isSaving && toggleFeature(feature)"
class="feature-checkbox"
:disabled="isSaving"
/>
</div>
</div> </div>
<p class="feature-description">{{ $t(`feature.${feature.id}.description`) }}</p> <p class="feature-description">{{ $t(`feature.${feature.id}.description`) }}</p>
</div> </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> </div>
</div> </div>
@@ -84,19 +82,17 @@
<div class="feature-content"> <div class="feature-content">
<div class="feature-header"> <div class="feature-header">
<h3 class="feature-name">{{ $t(`feature.${feature.id}.name`) }}</h3> <h3 class="feature-name">{{ $t(`feature.${feature.id}.name`) }}</h3>
<span v-if="feature.enabled" class="feature-enabled-tag">{{ $t('featureManagement.enabled') }}</span> <div class="feature-checkbox-container">
<span v-else class="feature-disabled-tag">{{ $t('featureManagement.disabled') }}</span> <el-checkbox
v-model="feature.enabled"
@change="!isSaving && toggleFeature(feature)"
class="feature-checkbox"
:disabled="isSaving"
/>
</div>
</div> </div>
<p class="feature-description">{{ $t(`feature.${feature.id}.description`) }}</p> <p class="feature-description">{{ $t(`feature.${feature.id}.description`) }}</p>
</div> </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> </div>
</div> </div>
@@ -504,15 +500,18 @@ export default {
transform: translateY(-2px); transform: translateY(-2px);
} }
.feature-content { .feature-content {
width: 100%;
margin-left: 16px; margin-left: 16px;
} }
.feature-header { .feature-header {
display: flex; display: flex;
align-items: center; align-items: flex-start;
justify-content: space-between;
margin-bottom: 6px; margin-bottom: 6px;
} }
.feature-checkbox-container { .feature-checkbox-container {
margin-top: 4px;
display: flex; display: flex;
align-items: center; align-items: center;
margin-left: 30px; margin-left: 30px;
@@ -531,36 +530,18 @@ export default {
color: #5778ff; 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 { .feature-name {
white-space: normal;
word-break: break-word;
overflow-wrap: break-word;
font-size: 18px; font-size: 18px;
line-height: 18px; line-height: 1.4;
font-weight: 600; font-weight: 600;
color: #333; color: #333;
margin: 0; margin: 0;
transition: color 0.3s ease; transition: color 0.3s ease;
} }
.feature-description { .feature-description {
font-size: 14px; font-size: 14px;
line-height: 1.6; line-height: 1.6;
@@ -570,7 +551,6 @@ export default {
text-align: left; text-align: left;
} }
/* 功能分组容器 - 左右布局 */ /* 功能分组容器 - 左右布局 */
.feature-groups-container { .feature-groups-container {
display: flex; display: flex;