mirror of
https://gh-proxy.org/https://github.com/klinsmaya/SQLBot.git
synced 2026-11-08 01:06:59 +08:00
feat(parameter): Add parameter configuration
This commit is contained in:
committed by
fit2cloud-chenyw
parent
d92c377e59
commit
9e39a58da1
@@ -7,6 +7,21 @@
|
||||
"AI Model Configuration": "AI Model Configuration",
|
||||
"Details": "Details"
|
||||
},
|
||||
"parameter": {
|
||||
"parameter_configuration": "Parameter Configuration",
|
||||
"question_count_settings": "Question Count Settings",
|
||||
"model_thinking_process": "Expand Model Thinking Process",
|
||||
"rows_of_data": "Limit 1000 Rows of Data",
|
||||
"third_party_platform_settings": "Third-Party Platform Settings",
|
||||
"by_third_party_platform": "Automatic User Creation by Third-Party Platform",
|
||||
"platform_user_organization": "Third-Party Platform User Organization",
|
||||
"platform_user_roles": "Third-Party Platform User Roles",
|
||||
"excessive_data_volume": "Disabling the 1000-row data limit may cause system lag due to excessive data volume.",
|
||||
"prompt": "Prompt",
|
||||
"disabling_successfully": "Disabling Successfully",
|
||||
"closed_by_default": "In the Question Count window, control whether the model thinking process is expanded or closed by default.",
|
||||
"and_platform_integration": "Scope includes authentication settings and platform integration."
|
||||
},
|
||||
"prompt": {
|
||||
"default_password": "Default password:{msg}",
|
||||
"no_sql_sample": "No SQL sample currently available",
|
||||
@@ -800,4 +815,4 @@
|
||||
"modelType": {
|
||||
"llm": "Large Language Model"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,21 @@
|
||||
"AI Model Configuration": "모델 구성",
|
||||
"Details": "세부"
|
||||
},
|
||||
"parameter": {
|
||||
"parameter_configuration": "매개변수 구성",
|
||||
"question_count_settings": "질문 수 설정",
|
||||
"model_thinking_process": "모델 사고 프로세스 확장",
|
||||
"rows_of_data": "데이터 1,000행 제한",
|
||||
"third_party_platform_settings": "타사 플랫폼 설정",
|
||||
"by_third_party_platform": "타사 플랫폼에 의한 자동 사용자 생성",
|
||||
"platform_user_organization": "타사 플랫폼 사용자 구성",
|
||||
"platform_user_roles": "타사 플랫폼 사용자 역할",
|
||||
"excessive_data_volume": "1,000행 데이터 제한을 비활성화하면 과도한 데이터 양으로 인해 시스템 지연이 발생할 수 있습니다.",
|
||||
"prompt": "프롬프트",
|
||||
"disabling_successfully": "비활성화 완료",
|
||||
"closed_by_default": "질문 수 창에서 모델 사고 프로세스를 기본적으로 확장할지 또는 닫을지 여부를 제어합니다.",
|
||||
"and_platform_integration": "범위에는 인증 설정 및 플랫폼 통합이 포함됩니다."
|
||||
},
|
||||
"prompt": {
|
||||
"default_password:": "기본 비밀번호:{msg}",
|
||||
"no_sql_sample": "현재 사용 가능한 SQL 샘플 라이브러리가 없습니다",
|
||||
@@ -800,4 +815,4 @@
|
||||
"modelType": {
|
||||
"llm": "대형 언어 모델"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,21 @@
|
||||
"AI Model Configuration": "模型配置",
|
||||
"Details": "详情"
|
||||
},
|
||||
"parameter": {
|
||||
"parameter_configuration": "参数配置",
|
||||
"question_count_settings": "问数设置",
|
||||
"model_thinking_process": "展开模型思考过程",
|
||||
"rows_of_data": "限制 1000 行数据",
|
||||
"third_party_platform_settings": "第三方平台设置",
|
||||
"by_third_party_platform": "第三方自动创建用户",
|
||||
"platform_user_organization": "第三方平台用户组织",
|
||||
"platform_user_roles": "第三方平台用户角色",
|
||||
"excessive_data_volume": "关闭1000行的数据限制后,数据量过大,可能会造成系统卡顿",
|
||||
"prompt": "提示",
|
||||
"disabling_successfully": "关闭成功",
|
||||
"closed_by_default": "在问数窗口中,控制模型思考过程默认展开或者关闭",
|
||||
"and_platform_integration": "作用域包括认证设置和平台对接"
|
||||
},
|
||||
"prompt": {
|
||||
"default_password": "默认密码:{msg}",
|
||||
"no_sql_sample": "暂无 SQL 示例",
|
||||
@@ -801,4 +816,4 @@
|
||||
"modelType": {
|
||||
"llm": "大语言模型"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,7 @@ import Professional from '@/views/system/professional/index.vue'
|
||||
import Training from '@/views/system/training/index.vue'
|
||||
import Prompt from '@/views/system/prompt/index.vue'
|
||||
import Appearance from '@/views/system/appearance/index.vue'
|
||||
import Parameter from '@/views/system/parameter/index.vue'
|
||||
import Authentication from '@/views/system/authentication/index.vue'
|
||||
import Permission from '@/views/system/permission/index.vue'
|
||||
import User from '@/views/system/user/User.vue'
|
||||
@@ -196,6 +197,12 @@ export const routes = [
|
||||
component: Appearance,
|
||||
meta: { title: t('system.appearance_settings') },
|
||||
},
|
||||
{
|
||||
path: 'parameter',
|
||||
name: 'parameter',
|
||||
component: Parameter,
|
||||
meta: { title: t('parameter.parameter_configuration') },
|
||||
},
|
||||
{
|
||||
path: 'authentication',
|
||||
name: 'authentication',
|
||||
|
||||
@@ -0,0 +1,191 @@
|
||||
<script lang="ts" setup>
|
||||
import { ref, shallowRef } from 'vue'
|
||||
import icon_info_outlined_1 from '@/assets/svg/icon_info_outlined_1.svg'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
|
||||
const { t } = useI18n()
|
||||
|
||||
const chatSetting = ref({
|
||||
modelThinkingProcess: false,
|
||||
rows_of_data: false,
|
||||
})
|
||||
|
||||
const platform = ref({
|
||||
organization: false,
|
||||
modelThinkingProcess: false,
|
||||
roles: [],
|
||||
})
|
||||
|
||||
const organizations = shallowRef<any[]>([])
|
||||
const roles = shallowRef<any[]>([])
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="parameter">
|
||||
<div class="title">
|
||||
{{ t('parameter.parameter_configuration') }}
|
||||
</div>
|
||||
<div class="card-container">
|
||||
<div class="card">
|
||||
<div class="card-title">
|
||||
{{ t('parameter.question_count_settings') }}
|
||||
</div>
|
||||
<div class="card-item">
|
||||
<div class="label">
|
||||
{{ t('parameter.model_thinking_process') }}
|
||||
|
||||
<el-tooltip effect="dark" :content="t('parameter.closed_by_default')" placement="top">
|
||||
<el-icon size="16">
|
||||
<icon_info_outlined_1></icon_info_outlined_1>
|
||||
</el-icon>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
<div class="value">
|
||||
<el-switch v-model="chatSetting.modelThinkingProcess" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-item" style="margin-left: 16px">
|
||||
<div class="label">
|
||||
{{ t('parameter.rows_of_data') }}
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="t('parameter.excessive_data_volume')"
|
||||
placement="top"
|
||||
>
|
||||
<el-icon size="16">
|
||||
<icon_info_outlined_1></icon_info_outlined_1>
|
||||
</el-icon>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
<div class="value">
|
||||
<el-switch v-model="chatSetting.rows_of_data" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-title">
|
||||
{{ t('parameter.third_party_platform_settings') }}
|
||||
</div>
|
||||
<div class="card-item" style="width: 100%">
|
||||
<div class="label">
|
||||
{{ t('parameter.by_third_party_platform') }}
|
||||
</div>
|
||||
<div class="value">
|
||||
<el-switch v-model="platform.modelThinkingProcess" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-item">
|
||||
<div class="label">
|
||||
{{ t('parameter.platform_user_organization') }}
|
||||
<span class="require"></span>
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="t('parameter.and_platform_integration')"
|
||||
placement="top"
|
||||
>
|
||||
<el-icon size="16">
|
||||
<icon_info_outlined_1></icon_info_outlined_1>
|
||||
</el-icon>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
<div class="value">
|
||||
<el-select filterable v-model="platform.organization">
|
||||
<el-option
|
||||
v-for="item in organizations"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-item" style="margin-left: 16px">
|
||||
<div class="label">
|
||||
{{ t('parameter.platform_user_roles') }}
|
||||
<span class="require"></span>
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="t('parameter.and_platform_integration')"
|
||||
placement="top"
|
||||
>
|
||||
<el-icon size="16">
|
||||
<icon_info_outlined_1></icon_info_outlined_1>
|
||||
</el-icon>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
<div class="value">
|
||||
<el-select multiple filterable v-model="platform.roles">
|
||||
<el-option
|
||||
v-for="item in roles"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="save" style="margin-top: 16px">
|
||||
<el-button type="primary">{{ t('common.save') }}</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.parameter {
|
||||
.title {
|
||||
font-weight: 500;
|
||||
font-style: Medium;
|
||||
font-size: 20px;
|
||||
line-height: 28px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.card-container {
|
||||
.card {
|
||||
width: 100%;
|
||||
border-radius: 12px;
|
||||
padding: 16px;
|
||||
border: 1px solid #dee0e3;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 16px;
|
||||
.card-title {
|
||||
font-weight: 500;
|
||||
font-style: Medium;
|
||||
font-size: 16px;
|
||||
line-height: 24px;
|
||||
width: 100%;
|
||||
}
|
||||
.card-item {
|
||||
margin-top: 16px;
|
||||
width: calc(50% - 8px);
|
||||
.label {
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
line-height: 22px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.ed-icon {
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
.require::after {
|
||||
content: '*';
|
||||
color: var(--ed-color-danger);
|
||||
margin-left: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.value {
|
||||
margin-top: 8px;
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user