mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-22 07:03:53 +08:00
添加国际化的功能,调整页面
This commit is contained in:
@@ -1,8 +1,14 @@
|
||||
<template>
|
||||
<el-dialog :title="title" :visible.sync="visible" width="60%" @close="handleClose">
|
||||
<el-form ref="templateForm" :model="templateData" label-width="120px" :rules="rules">
|
||||
<el-form-item label="模板名称" prop="agentName">
|
||||
<el-input v-model="templateData.agentName" placeholder="请输入模板名称" />
|
||||
<el-form-item :label="$t('agentTemplateManagement.templateDialog.templateName')" prop="agentName">
|
||||
<el-input v-model="templateData.agentName" :placeholder="$t('agentTemplateManagement.templateDialog.templateNamePlaceholder')" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('agentTemplateManagement.templateDialog.description')" prop="description">
|
||||
<el-input v-model="templateData.description" :placeholder="$t('agentTemplateManagement.templateDialog.descriptionPlaceholder')" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('agentTemplateManagement.templateDialog.roleName')" prop="roleName">
|
||||
<el-input v-model="templateData.roleName" :placeholder="$t('agentTemplateManagement.templateDialog.roleNamePlaceholder')" />
|
||||
</el-form-item>
|
||||
<el-form-item label="语言编码" prop="langCode">
|
||||
<el-input v-model="templateData.langCode" placeholder="请输入语言编码,如zh-CN" />
|
||||
@@ -20,8 +26,8 @@
|
||||
<el-option label="记录文本和语音" :value="2" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="角色设定参数" prop="systemPrompt">
|
||||
<el-input v-model="templateData.systemPrompt" type="textarea" placeholder="请输入角色设定参数" :rows="4" />
|
||||
<el-form-item :label="$t('agentTemplateManagement.templateDialog.systemPrompt')" prop="systemPrompt">
|
||||
<el-input v-model="templateData.systemPrompt" type="textarea" :placeholder="$t('agentTemplateManagement.templateDialog.systemPromptPlaceholder')" :rows="4" />
|
||||
<div class="form-tip">角色设定参数将作为智能体的系统提示,定义智能体的行为和回答风格</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="总结记忆" prop="summaryMemory">
|
||||
@@ -30,8 +36,8 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="handleClose">取消</el-button>
|
||||
<el-button type="primary" @click="handleSave">确定</el-button>
|
||||
<el-button @click="handleClose">{{ $t('agentTemplateManagement.templateDialog.cancel') }}</el-button>
|
||||
<el-button type="primary" @click="handleSave">{{ $t('agentTemplateManagement.templateDialog.save') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
@@ -58,18 +64,13 @@ export default {
|
||||
// 表单验证规则
|
||||
rules: {
|
||||
agentName: [
|
||||
{ required: true, message: '请输入模板名称', trigger: 'blur' },
|
||||
{ min: 2, max: 50, message: '模板名称长度在 2 到 50 个字符', trigger: 'blur' }
|
||||
{ required: true, message: this.$t('agentTemplateManagement.templateDialog.nameRequired'), trigger: 'blur' }
|
||||
],
|
||||
langCode: [
|
||||
{ required: true, message: '请输入语言编码', trigger: 'blur' }
|
||||
],
|
||||
language: [
|
||||
{ required: true, message: '请输入交互语种', trigger: 'blur' }
|
||||
roleName: [
|
||||
{ required: true, message: this.$t('agentTemplateManagement.templateDialog.roleNameRequired'), trigger: 'blur' }
|
||||
],
|
||||
systemPrompt: [
|
||||
{ required: true, message: '请输入角色设定参数', trigger: 'blur' },
|
||||
{ min: 10, message: '角色设定参数至少需要 10 个字符', trigger: 'blur' }
|
||||
{ required: true, message: this.$t('agentTemplateManagement.templateDialog.systemPromptRequired'), trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -824,4 +824,74 @@ export default {
|
||||
'providerDialog.selectFieldsToDelete': 'Please select fields to delete first',
|
||||
'providerDialog.confirmBatchDeleteFields': 'Are you sure to delete {count} selected fields?',
|
||||
'providerDialog.batchDeleteFieldsSuccess': 'Successfully deleted {count} fields',
|
||||
|
||||
// ...existing code ...
|
||||
agentTemplateManagement: {
|
||||
title: 'Default Role Management',
|
||||
templateName: 'Template Name',
|
||||
description: 'Description',
|
||||
createTime: 'Creation Time',
|
||||
action: 'Action',
|
||||
createTemplate: 'Create Template',
|
||||
editTemplate: 'Edit Template',
|
||||
deleteTemplate: 'Delete Template',
|
||||
deleteSuccess: 'Template deleted successfully',
|
||||
confirmDelete: 'Are you sure you want to delete the selected templates?',
|
||||
batchDelete: 'Batch Delete',
|
||||
batchDeleteSuccess: 'Batch deletion successful',
|
||||
selectTemplate: 'Please select a template',
|
||||
select: 'Select',
|
||||
searchPlaceholder: 'Please enter template name to search',
|
||||
search: 'Search',
|
||||
serialNumber: 'Serial Number',
|
||||
selectAll: 'Select All',
|
||||
deselectAll: 'Deselect All',
|
||||
templateDialog: {
|
||||
title: 'Template Configuration',
|
||||
templateName: 'Template Name',
|
||||
templateNamePlaceholder: 'Please enter template name',
|
||||
description: 'Description',
|
||||
descriptionPlaceholder: 'Please enter description',
|
||||
roleName: 'Role Name',
|
||||
roleNamePlaceholder: 'Please enter role name',
|
||||
avatar: 'Avatar',
|
||||
selectAvatar: 'Select Avatar',
|
||||
systemPrompt: 'System Prompt',
|
||||
systemPromptPlaceholder: 'Please enter system prompt',
|
||||
modelConfig: 'Model Configuration',
|
||||
modelName: 'Model Name',
|
||||
temperature: 'Temperature',
|
||||
topP: 'Top P',
|
||||
maxTokens: 'Max Tokens',
|
||||
save: 'Save',
|
||||
cancel: 'Cancel',
|
||||
nameRequired: 'Please enter template name',
|
||||
roleNameRequired: 'Please enter role name',
|
||||
systemPromptRequired: 'Please enter system prompt'
|
||||
}
|
||||
},
|
||||
templateQuickConfig: {
|
||||
title: 'Module Quick Configuration',
|
||||
basicSettings: 'Basic Settings',
|
||||
agentSettings: {
|
||||
agentName: 'Nickname',
|
||||
agentNamePlaceholder: 'Please enter nickname',
|
||||
systemPrompt: 'Introduction',
|
||||
systemPromptPlaceholder: 'Please enter introduction'
|
||||
},
|
||||
modelSettings: 'Model Settings',
|
||||
voiceSettings: 'Voice Settings',
|
||||
serviceSettings: 'Service Settings',
|
||||
deviceSettings: 'Device Settings',
|
||||
pluginSettings: 'Plugin Settings',
|
||||
saveConfig: 'Save Configuration',
|
||||
resetConfig: 'Reset Configuration',
|
||||
configSaved: 'Configuration saved successfully',
|
||||
configReset: 'Configuration has been reset',
|
||||
confirmReset: 'Are you sure you want to reset the configuration?',
|
||||
success: 'Success',
|
||||
error: 'Error',
|
||||
warning: 'Warning',
|
||||
info: 'Info'
|
||||
}
|
||||
};
|
||||
@@ -385,7 +385,7 @@ export default {
|
||||
'dictManagement.dictValue': '字典值',
|
||||
'dictManagement.sort': '排序',
|
||||
'dictManagement.delete': '删除',
|
||||
'dictManagement.selectAll': '全选',
|
||||
'dictManagement.selectAll': '默认角色管理',
|
||||
'dictManagement.deselectAll': '取消全选',
|
||||
'dictManagement.addDictType': '新增字典类型',
|
||||
'dictManagement.batchDeleteDictType': '批量删除字典类型',
|
||||
@@ -825,4 +825,76 @@ export default {
|
||||
'providerDialog.selectFieldsToDelete': '请先选择要删除的字段',
|
||||
'providerDialog.confirmBatchDeleteFields': '确定要删除选中的{count}个字段吗?',
|
||||
'providerDialog.batchDeleteFieldsSuccess': '成功删除{count}个字段',
|
||||
};
|
||||
|
||||
// 默认角色模版和模版快速配置页面
|
||||
// 在agentTemplateManagement对象中添加
|
||||
agentTemplateManagement: {
|
||||
title: '默认角色管理',
|
||||
templateName: '模板名称',
|
||||
description: '模板描述',
|
||||
createTime: '创建时间',
|
||||
action: '操作',
|
||||
createTemplate: '创建模板',
|
||||
editTemplate: '编辑模板',
|
||||
deleteTemplate: '删除模板',
|
||||
deleteSuccess: '模板删除成功',
|
||||
confirmDelete: '确定要删除选中的模板吗?',
|
||||
batchDelete: '批量删除',
|
||||
batchDeleteSuccess: '批量删除成功',
|
||||
selectTemplate: '请选择模板',
|
||||
select: '选择',
|
||||
searchPlaceholder: '请输入模板名称搜索',
|
||||
search: '搜索',
|
||||
serialNumber: '序号',
|
||||
selectAll: '全选',
|
||||
deselectAll: '取消全选',
|
||||
templateDialog: {
|
||||
title: '模板配置',
|
||||
templateName: '模板名称',
|
||||
templateNamePlaceholder: '请输入模板名称',
|
||||
description: '模板描述',
|
||||
descriptionPlaceholder: '请输入模板描述',
|
||||
roleName: '角色名称',
|
||||
roleNamePlaceholder: '请输入角色名称',
|
||||
avatar: '头像',
|
||||
selectAvatar: '选择头像',
|
||||
systemPrompt: '系统提示词',
|
||||
systemPromptPlaceholder: '请输入系统提示词',
|
||||
modelConfig: '模型配置',
|
||||
modelName: '模型名称',
|
||||
temperature: '温度',
|
||||
topP: 'Top P',
|
||||
maxTokens: '最大 tokens',
|
||||
save: '保存',
|
||||
cancel: '取消',
|
||||
nameRequired: '请输入模板名称',
|
||||
roleNameRequired: '请输入角色名称',
|
||||
systemPromptRequired: '请输入系统提示词'
|
||||
}
|
||||
},
|
||||
templateQuickConfig: {
|
||||
title: '模块快速配置',
|
||||
basicSettings: '基本设置',
|
||||
agentSettings: '助手昵称',
|
||||
agentSettings: {
|
||||
agentName: '助手昵称',
|
||||
agentNamePlaceholder: '请输入助手昵称',
|
||||
systemPrompt: '角色介绍',
|
||||
systemPromptPlaceholder: '请输入角色介绍'
|
||||
},
|
||||
modelSettings: '模型设置',
|
||||
voiceSettings: '语音设置',
|
||||
serviceSettings: '服务设置',
|
||||
deviceSettings: '设备设置',
|
||||
pluginSettings: '插件设置',
|
||||
saveConfig: '保存配置',
|
||||
resetConfig: '重置配置',
|
||||
configSaved: '配置保存成功',
|
||||
configReset: '配置已重置',
|
||||
confirmReset: '确定要重置配置吗?',
|
||||
success: '成功',
|
||||
error: '错误',
|
||||
warning: '警告',
|
||||
info: '提示'
|
||||
}
|
||||
}
|
||||
@@ -824,4 +824,73 @@ export default {
|
||||
'providerDialog.selectFieldsToDelete': '請先選擇要刪除的字段',
|
||||
'providerDialog.confirmBatchDeleteFields': '確定要刪除選中的{count}個字段嗎?',
|
||||
'providerDialog.batchDeleteFieldsSuccess': '成功刪除{count}個字段',
|
||||
};
|
||||
|
||||
agentTemplateManagement: {
|
||||
title: '預設角色管理',
|
||||
templateName: '模板名稱',
|
||||
description: '模板描述',
|
||||
createTime: '建立時間',
|
||||
action: '操作',
|
||||
createTemplate: '建立模板',
|
||||
editTemplate: '編輯模板',
|
||||
deleteTemplate: '刪除模板',
|
||||
deleteSuccess: '模板刪除成功',
|
||||
confirmDelete: '確定要刪除選取的模板嗎?',
|
||||
batchDelete: '批次刪除',
|
||||
batchDeleteSuccess: '批次刪除成功',
|
||||
selectTemplate: '請選擇模板',
|
||||
select: '選擇',
|
||||
searchPlaceholder: '請輸入模板名稱搜尋',
|
||||
search: '搜尋',
|
||||
serialNumber:'序號',
|
||||
selectAll: '全選',
|
||||
deselectAll: '取消全選',
|
||||
templateDialog: {
|
||||
title: '模板配置',
|
||||
templateName: '模板名稱',
|
||||
templateNamePlaceholder: '請輸入模板名稱',
|
||||
description: '模板描述',
|
||||
descriptionPlaceholder: '請輸入模板描述',
|
||||
roleName: '角色名稱',
|
||||
roleNamePlaceholder: '請輸入角色名稱',
|
||||
avatar: '頭像',
|
||||
selectAvatar: '選擇頭像',
|
||||
systemPrompt: '系統提示詞',
|
||||
systemPromptPlaceholder: '請輸入系統提示詞',
|
||||
modelConfig: '模型配置',
|
||||
modelName: '模型名稱',
|
||||
temperature: '溫度',
|
||||
topP: 'Top P',
|
||||
maxTokens: '最大 tokens',
|
||||
save: '保存',
|
||||
cancel: '取消',
|
||||
nameRequired: '請輸入模板名稱',
|
||||
roleNameRequired: '請輸入角色名稱',
|
||||
systemPromptRequired: '請輸入系統提示詞'
|
||||
}
|
||||
},
|
||||
templateQuickConfig: {
|
||||
title: '模組快速配置',
|
||||
basicSettings: '基本設置',
|
||||
agentSettings: {
|
||||
agentName: '助手暱稱',
|
||||
agentNamePlaceholder: '請輸入助手暱稱',
|
||||
systemPrompt: '角色介紹',
|
||||
systemPromptPlaceholder: '請輸入角色介紹'
|
||||
},
|
||||
modelSettings: '模型設置',
|
||||
voiceSettings: '語音設置',
|
||||
serviceSettings: '服務設置',
|
||||
deviceSettings: '設備設置',
|
||||
pluginSettings: '外掛設置',
|
||||
saveConfig: '保存配置',
|
||||
resetConfig: '重置配置',
|
||||
configSaved: '配置保存成功',
|
||||
configReset: '配置已重置',
|
||||
confirmReset: '確定要重置配置嗎?',
|
||||
success: '成功',
|
||||
error: '錯誤',
|
||||
warning: '警告',
|
||||
info: '提示'
|
||||
}
|
||||
}
|
||||
@@ -3,12 +3,12 @@
|
||||
<HeaderBar />
|
||||
|
||||
<div class="operation-bar">
|
||||
<h2 class="page-title">默认角色管理</h2>
|
||||
<h2 class="page-title">{{ $t('agentTemplateManagement.title') }}</h2>
|
||||
<div class="right-operations">
|
||||
<el-input placeholder="请输入模板名称查询" v-model="search" class="search-input" clearable
|
||||
<el-input :placeholder="$t('agentTemplateManagement.searchPlaceholder')" v-model="search" class="search-input" clearable
|
||||
@keyup.enter.native="handleSearch" style="width: 240px" />
|
||||
<el-button class="btn-search" @click="handleSearch">
|
||||
搜索
|
||||
{{ $t('agentTemplateManagement.search') }}
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -23,61 +23,60 @@
|
||||
<el-table ref="templateTable" :data="templateList" style="width: 100%" v-loading="templateLoading"
|
||||
element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
|
||||
element-loading-background="rgba(255, 255, 255, 0.7)"
|
||||
class="transparent-table"> <!-- 移除@row-click="handleRowClick" -->
|
||||
class="transparent-table" :header-cell-style="{padding: '10px 20px'}" :cell-style="{padding: '10px 20px'}"> <!-- 移除@row-click="handleRowClick" -->
|
||||
<!-- 自定义选择列,实现表头是"选择"文字,数据行是小方框 -->
|
||||
<el-table-column label="选择" align="center" width="80">
|
||||
<el-table-column :label="$t('agentTemplateManagement.select')" align="center" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-checkbox v-model="scope.row.selected" @change="handleRowSelectionChange(scope.row)" @click.stop></el-checkbox>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="模板名称" prop="agentName" align="center"></el-table-column>
|
||||
<el-table-column label="语言编码" prop="langCode" align="center"></el-table-column>
|
||||
<el-table-column label="交互语种" prop="language" align="center"></el-table-column>
|
||||
<el-table-column label="排序" prop="sort" align="center"></el-table-column>
|
||||
<!-- 将原来的操作列合并为一列,显示编辑和删除按钮 -->
|
||||
<el-table-column label="操作" width="160" align="center">
|
||||
<el-table-column :label="$t('agentTemplateManagement.templateName')" prop="agentName" min-width="250" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="mini" @click.stop="editTemplate(scope.row)">编辑</el-button>
|
||||
<el-button type="text" size="mini" @click.stop="deleteTemplate(scope.row)" class="delete-btn">删除</el-button>
|
||||
<span>{{ scope.row.agentName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 修改为序号列1 -->
|
||||
<el-table-column :label="$t('agentTemplateManagement.serialNumber')" min-width="120" align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ (currentPage - 1) * pageSize + scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 删除重复的序号列2 -->
|
||||
<el-table-column :label="$t('agentTemplateManagement.action')" min-width="250" align="center">
|
||||
<template slot-scope="scope">
|
||||
<div style="display: flex; justify-content: center; gap: 15px;">
|
||||
<el-button type="text" @click="editTemplate(scope.row)">{{ $t('agentTemplateManagement.editTemplate') }}</el-button>
|
||||
<el-button type="text" @click="handleDelete(scope.row.id)">{{ $t('agentTemplateManagement.deleteTemplate') }}</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<!-- 修改table_bottom结构,添加按钮组容器 -->
|
||||
|
||||
<!-- 表格底部操作栏 -->
|
||||
<div class="table_bottom">
|
||||
<!-- 左侧按钮组 -->
|
||||
<div class="ctrl_btn">
|
||||
<!-- 将checkbox改为按钮样式 -->
|
||||
<el-button size="mini" type="primary" class="select-all-btn" @click="handleSelectAll">
|
||||
{{ isAllSelected ? '取消全选' : '全选' }}
|
||||
<el-button type="primary" @click="handleSelectAll" size="mini" class="select-all-btn">
|
||||
{{ isAllSelected ? $t('agentTemplateManagement.deselectAll') : $t('agentTemplateManagement.selectAll') }}
|
||||
</el-button>
|
||||
<el-button size="mini" type="success" @click="showAddTemplateDialog">新增模板</el-button>
|
||||
<el-button size="mini" type="danger" @click="batchDeleteTemplate" :disabled="selectedTemplates.length === 0">
|
||||
批量删除模板
|
||||
<el-button type="success" @click="handleCreate" size="mini">
|
||||
{{ $t('agentTemplateManagement.createTemplate') }}
|
||||
</el-button>
|
||||
<el-button type="danger" @click="batchDeleteTemplate" :disabled="!hasSelected" size="mini">
|
||||
{{ $t('agentTemplateManagement.batchDelete') }}
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<!-- 右侧分页控件 -->
|
||||
<div class="custom-pagination">
|
||||
<el-select v-model="pageSize" @change="handlePageSizeChange" class="page-size-select">
|
||||
<el-option v-for="item in pageSizeOptions" :key="item" :label="`${item}条/页`" :value="item">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
||||
<button class="pagination-btn" :disabled="currentPage === 1" @click="goFirst">
|
||||
首页
|
||||
</button>
|
||||
<button class="pagination-btn" :disabled="currentPage === 1" @click="goPrev">
|
||||
上一页
|
||||
</button>
|
||||
<button v-for="page in visiblePages" :key="page" class="pagination-btn"
|
||||
:class="{ active: page === currentPage }" @click="goToPage(page)">
|
||||
{{ page }}
|
||||
</button>
|
||||
<button class="pagination-btn" :disabled="currentPage === pageCount" @click="goNext">
|
||||
下一页
|
||||
</button>
|
||||
<span class="total-text">共{{ total }}条记录</span>
|
||||
<!-- 分页 -->
|
||||
<div class="custom-pagination">
|
||||
<el-pagination
|
||||
v-model:current-page="currentPage"
|
||||
v-model:page-size="pageSize"
|
||||
:page-sizes="pageSizeOptions"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="total"
|
||||
@size-change="handlePageSizeChange"
|
||||
@current-change="handlePageChange"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
@@ -85,12 +84,14 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 使用模板编辑弹框组件 -->
|
||||
<AgentTemplateDialog :visible.sync="templateDialogVisible" :title="templateDialogTitle" :templateData="templateForm"
|
||||
@save="saveTemplate" />
|
||||
<el-footer style="flex-shrink:unset;">
|
||||
<version-footer />
|
||||
</el-footer>
|
||||
<!-- 模板编辑弹框 -->
|
||||
<AgentTemplateDialog
|
||||
ref="templateDialog"
|
||||
:visible.sync="templateDialogVisible"
|
||||
:title="templateDialogTitle"
|
||||
:template-data="templateForm"
|
||||
@save="saveTemplate"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -147,14 +148,18 @@ export default {
|
||||
created() {
|
||||
this.loadTemplateList()
|
||||
},
|
||||
// 在computed部分添加hasSelected属性
|
||||
computed: {
|
||||
pageCount() {
|
||||
return Math.ceil(this.total / this.pageSize)
|
||||
pageCount() {
|
||||
return Math.ceil(this.total / this.pageSize)
|
||||
},
|
||||
visiblePages() {
|
||||
return this.getVisiblePages()
|
||||
},
|
||||
hasSelected() {
|
||||
return this.selectedTemplates.length > 0
|
||||
}
|
||||
},
|
||||
visiblePages() {
|
||||
return this.getVisiblePages()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 加载模板列表
|
||||
// 改进loadTemplateList方法的错误处理逻辑
|
||||
@@ -230,8 +235,13 @@ export default {
|
||||
})
|
||||
},
|
||||
|
||||
// 添加handleCreate方法,与模板中绑定的按钮保持一致
|
||||
handleCreate() {
|
||||
this.showAddTemplateDialog();
|
||||
},
|
||||
|
||||
// 保留原有的editTemplate方法
|
||||
// 编辑模板 - 完全替换这个方法
|
||||
// 编辑模板
|
||||
editTemplate(row) {
|
||||
// 跳转到模板快速配置页面,并传递模板ID参数
|
||||
this.$router.push({
|
||||
@@ -341,9 +351,31 @@ export default {
|
||||
|
||||
|
||||
// 分页相关方法
|
||||
handlePageSizeChange() {
|
||||
this.currentPage = 1
|
||||
// 添加日期格式化函数
|
||||
formatDate(dateString) {
|
||||
if (!dateString) return ''
|
||||
const date = new Date(dateString)
|
||||
const year = date.getFullYear()
|
||||
const month = String(date.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(date.getDate()).padStart(2, '0')
|
||||
const hours = String(date.getHours()).padStart(2, '0')
|
||||
const minutes = String(date.getMinutes()).padStart(2, '0')
|
||||
const seconds = String(date.getSeconds()).padStart(2, '0')
|
||||
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
|
||||
},
|
||||
|
||||
// 完善分页相关方法
|
||||
handlePageChange(page) {
|
||||
this.currentPage = page
|
||||
this.loadTemplateList()
|
||||
},
|
||||
|
||||
handlePageSizeChange(size) {
|
||||
this.pageSize = size
|
||||
this.currentPage = 1
|
||||
this.loadTemplateList()
|
||||
},
|
||||
|
||||
goFirst() {
|
||||
this.currentPage = 1
|
||||
},
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<HeaderBar />
|
||||
|
||||
<div class="operation-bar">
|
||||
<h2 class="page-title">模板快速配置</h2>
|
||||
<h2 class="page-title">{{ $t('templateQuickConfig.title') }}</h2>
|
||||
</div>
|
||||
|
||||
<div class="main-wrapper">
|
||||
@@ -17,8 +17,8 @@
|
||||
</div>
|
||||
<span class="header-title">{{ form.agentName }}</span>
|
||||
<div class="header-actions">
|
||||
<el-button type="primary" class="save-btn" @click="saveConfig">保存配置</el-button>
|
||||
<el-button class="reset-btn" @click="resetConfig">重置</el-button>
|
||||
<el-button type="primary" class="save-btn" @click="saveConfig">{{ $t('templateQuickConfig.saveConfig') }}</el-button>
|
||||
<el-button class="reset-btn" @click="resetConfig">{{ $t('templateQuickConfig.resetConfig') }}</el-button>
|
||||
<button class="custom-close-btn" @click="goToHome">
|
||||
×
|
||||
</button>
|
||||
@@ -28,21 +28,21 @@
|
||||
|
||||
<el-form ref="form" :model="form" label-width="72px" class="full-height-form">
|
||||
<!-- 助手昵称 -->
|
||||
<el-form-item label="助手昵称" prop="agentName" class="nickname-item">
|
||||
<el-form-item :label="$t('templateQuickConfig.agentSettings.agentName')" prop="agentName" class="nickname-item">
|
||||
<el-input
|
||||
v-model="form.agentName"
|
||||
placeholder="请输入助手昵称"
|
||||
:placeholder="$t('templateQuickConfig.agentSettings.agentNamePlaceholder')"
|
||||
:validate-event="false"
|
||||
class="form-input"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 角色介绍 -->
|
||||
<el-form-item label="角色介绍" prop="systemPrompt" class="description-item">
|
||||
<el-form-item :label="$t('templateQuickConfig.agentSettings.systemPrompt')" prop="systemPrompt" class="description-item">
|
||||
<el-input
|
||||
v-model="form.systemPrompt"
|
||||
type="textarea"
|
||||
placeholder="请输入角色介绍"
|
||||
:placeholder="$t('templateQuickConfig.agentSettings.systemPromptPlaceholder')"
|
||||
:validate-event="false"
|
||||
show-word-limit
|
||||
maxlength="2000"
|
||||
|
||||
Reference in New Issue
Block a user