Compare commits

..

1 Commits
mimicry ... dev

Author SHA1 Message Date
e9fb33cc61 fix: 更新开发环境API和WebSocket地址 2026-08-27 13:56:24 +08:00
10 changed files with 21 additions and 1503 deletions

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,6 @@ import 'element-plus/theme-chalk/dark/css-vars.css'
import locale from 'element-plus/es/locale/lang/zh-cn' import locale from 'element-plus/es/locale/lang/zh-cn'
import '@/assets/styles/index.scss' // global css import '@/assets/styles/index.scss' // global css
import '@/assets/styles/neumorphism.scss' // neumorphic theme overrides
import App from './App' import App from './App'
import store from './store' import store from './store'

View File

@ -15,11 +15,7 @@
<el-table-column prop="language" label="语种" /> <el-table-column prop="language" label="语种" />
<el-table-column prop="dialect" label="方言" /> <el-table-column prop="dialect" label="方言" />
<el-table-column prop="emotion" label="情绪" /> <el-table-column prop="emotion" label="情绪" />
<el-table-column prop="voice" label="音色" > <el-table-column prop="voice" label="音色" />
<template #default="{ row }">
<span>{{ voiceOption.find(item => item.value === row.voice)?.label || row.voice }}</span>
</template>
</el-table-column>
<el-table-column prop="fileSize" label="文件大小" /> <el-table-column prop="fileSize" label="文件大小" />
<el-table-column label="操作" fixed="right"> <el-table-column label="操作" fixed="right">
<template #default="{ row }"> <template #default="{ row }">
@ -108,45 +104,10 @@ const props = defineProps({
const addCorpusVisible = ref(false) const addCorpusVisible = ref(false)
const voiceOption = ref([ const voiceOption = ref([
{ {
label: '普通话-男声', label: '女声',
value: 'x4_lingbosong' value: 'xiaoyan'
}, { }
label: '普通话-女声',
value: 'x4_yezi'
},
{
label: '晓燕-女声',
value: 'x4_xiaoyan'
},
{
label: '晓燕-女声',
value: 'xiaoyan'
}, {
label: '英语-女声',
value: 'x4_EnUs_Laura_education'
}, {
label: '英语-男声',
value: 'x4_enus_ryan_assist'
}, {
label: '粤语-女声',
value: 'x3_xiaoyue'
}, {
label: '东北话-女声',
value: 'x4_xiaobei'
}, {
label: '四川话-女声',
value: 'x3_yezi_sc'
}, {
label: '韩语-女声',
value: 'x2_KoKr_Miya'
}, {
label: '日语-女声',
value: 'x2_JaJp_ZhongCun'
}, {
label: '俄语-女声',
value: 'x2_RuRu_Keshu'
}
]) ])
const langOption = ref([ const langOption = ref([

View File

@ -110,15 +110,6 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8">
<el-form-item label="情绪">
<el-select v-model="form.emotion" placeholder="情绪">
<el-option label="高兴" value="高兴" />
<el-option label="悲伤" value="悲伤" />
<el-option label="平淡" value="平淡" />
</el-select>
</el-form-item>
</el-col>
</el-row> </el-row>
<el-row style="margin-top: 20px;" :gutter="20"> <el-row style="margin-top: 20px;" :gutter="20">
<el-col :span="12"> <el-col :span="12">
@ -220,8 +211,7 @@ const form = ref({
volume: 50, volume: 50,
pitch: 50, pitch: 50,
sampleRate: '16000', sampleRate: '16000',
outputFormat: 'wav', outputFormat: 'wav'
emotion: '高兴'
}) })
const formRef = ref(null) const formRef = ref(null)

View File

@ -39,17 +39,17 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="类型" > <el-table-column label="类型" width="130">
<template #default="{ row }">{{ kindLabel(row.deviceKind, row.typeName) }}</template> <template #default="{ row }">{{ kindLabel(row.deviceKind, row.typeName) }}</template>
</el-table-column> </el-table-column>
<el-table-column label="运行状态" align="center"> <el-table-column label="运行状态" width="120" align="center">
<template #default="{ row }"> <template #default="{ row }">
<el-tag :type="row.onlineStatus === '1' ? 'success' : 'info'" effect="light"> <el-tag :type="row.onlineStatus === '1' ? 'success' : 'info'" effect="light">
{{ row.onlineStatus === '1' ? '在线' : '离线' }} {{ row.onlineStatus === '1' ? '在线' : '离线' }}
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="健康状态" align="center"> <el-table-column label="健康状态" width="120" align="center">
<template #default="{ row }"> <template #default="{ row }">
<el-tag :type="isFault(row) ? 'danger' : 'success'" effect="plain"> <el-tag :type="isFault(row) ? 'danger' : 'success'" effect="plain">
{{ isFault(row) ? '故障' : '正常' }} {{ isFault(row) ? '故障' : '正常' }}
@ -60,7 +60,7 @@
<template #default="{ row }">{{ row.errorMessage || '运行正常' }}</template> <template #default="{ row }">{{ row.errorMessage || '运行正常' }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="lastSeenTime" label="最后上报" width="180" /> <el-table-column prop="lastSeenTime" label="最后上报" width="180" />
<el-table-column label="操作" fixed="right" align="center"> <el-table-column label="操作" width="100" fixed="right" align="center">
<template #default="{ row }"> <template #default="{ row }">
<el-button v-if="controlRoute(row.deviceKind)" link type="primary" <el-button v-if="controlRoute(row.deviceKind)" link type="primary"
:disabled="row.onlineStatus !== '1'" @click="openControl(row)">示教</el-button> :disabled="row.onlineStatus !== '1'" @click="openControl(row)">示教</el-button>

View File

@ -1,5 +1,5 @@
<template> <template>
<div class="container cockpit-shell"> <div class="container">
<div class="header"> <div class="header">
<Header @active-page="activePage" /> <Header @active-page="activePage" />
</div> </div>
@ -28,34 +28,23 @@ const activePage = (page) => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.container.cockpit-shell { .container {
width: 100%; width: 100%;
height: 100%; height: 100%;
position: relative; position: relative;
z-index: 1; z-index: 1;
background: var(--neu-bg); background-color: #000d2e;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
color: var(--neu-text-primary);
.header { .header {
height: 64px; height: 64px;
background: var(--neu-bg); background: linear-gradient(180deg, rgba(0, 20, 70, 0.98) 0%, rgba(0, 10, 50, 0.95) 100%);
border-bottom: 0; border-bottom: 1px solid rgba(0, 194, 255, 0.3);
box-shadow: 0 8px 16px -12px var(--neu-shadow-dark), 0 -4px 10px -10px var(--neu-shadow-light);
z-index: 2;
} }
.body-box { .body-box {
flex: 1; flex: 1;
min-height: 0;
padding: 14px;
}
}
@media (max-width: 768px) {
.container.cockpit-shell .body-box {
padding: 8px;
} }
} }
</style> </style>

View File

@ -164,7 +164,7 @@
<el-table-column <el-table-column
label="操作" label="操作"
class-name="small-padding fixed-width" class-name="small-padding fixed-width"
width="240" width="200"
fixed="right" fixed="right"
> >
<template #default="scope"> <template #default="scope">

View File

@ -128,7 +128,7 @@
label="操作" label="操作"
align="center" align="center"
class-name="small-padding fixed-width" class-name="small-padding fixed-width"
width="320" width="280"
fixed="right" fixed="right"
> >
<template #default="{ row }"> <template #default="{ row }">

View File

@ -163,7 +163,7 @@
<el-table-column <el-table-column
label="操作" label="操作"
class-name="small-padding fixed-width" class-name="small-padding fixed-width"
width="280" width="200"
fixed="right" fixed="right"
> >
<template #default="scope"> <template #default="scope">

View File

@ -17,11 +17,7 @@
width="150" width="150"
show-overflow-tooltip show-overflow-tooltip
/> />
<el-table-column label="音色" align="center" prop="voice"> <el-table-column label="音色" align="center" prop="voice" />
<template #default="{ row }">
<span>{{ voiceOption.find(item => item.value === row.voice)?.label || row.voice }}</span>
</template>
</el-table-column>
<el-table-column label="语种" align="center" prop="language" /> <el-table-column label="语种" align="center" prop="language" />
</el-table> </el-table>
@ -99,49 +95,6 @@ const props = defineProps({
}, },
}); });
const voiceOption = ref([
{
label: '普通话-男声',
value: 'x4_lingbosong'
}, {
label: '普通话-女声',
value: 'x4_yezi'
},
{
label: '晓燕-女声',
value: 'x4_xiaoyan'
},
{
label: '晓燕-女声',
value: 'xiaoyan'
}, {
label: '英语-女声',
value: 'x4_EnUs_Laura_education'
}, {
label: '英语-男声',
value: 'x4_enus_ryan_assist'
}, {
label: '粤语-女声',
value: 'x3_xiaoyue'
}, {
label: '东北话-女声',
value: 'x4_xiaobei'
}, {
label: '四川话-女声',
value: 'x3_yezi_sc'
}, {
label: '韩语-女声',
value: 'x2_KoKr_Miya'
}, {
label: '日语-女声',
value: 'x2_JaJp_ZhongCun'
}, {
label: '俄语-女声',
value: 'x2_RuRu_Keshu'
}
])
const emits = defineEmits(["updateSelectRows"]); const emits = defineEmits(["updateSelectRows"]);
const selectList = ref([]); const selectList = ref([]);