forked from SmartBench/CMVR-IOT-UI
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 94fde69dd9 | |||
| 28639f0771 | |||
| 7225f7ea60 |
1374
src/assets/styles/neumorphism.scss
Normal file
1374
src/assets/styles/neumorphism.scss
Normal file
File diff suppressed because it is too large
Load Diff
@ -8,6 +8,7 @@ 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'
|
||||||
|
|||||||
@ -15,7 +15,11 @@
|
|||||||
<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 }">
|
||||||
@ -104,10 +108,45 @@ const props = defineProps({
|
|||||||
const addCorpusVisible = ref(false)
|
const addCorpusVisible = ref(false)
|
||||||
|
|
||||||
const voiceOption = ref([
|
const voiceOption = ref([
|
||||||
{
|
{
|
||||||
label: '女声',
|
label: '普通话-男声',
|
||||||
value: 'xiaoyan'
|
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 langOption = ref([
|
const langOption = ref([
|
||||||
|
|||||||
@ -110,6 +110,15 @@
|
|||||||
</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">
|
||||||
@ -211,7 +220,8 @@ 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)
|
||||||
|
|||||||
@ -39,17 +39,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="类型" width="130">
|
<el-table-column label="类型" >
|
||||||
<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="运行状态" width="120" align="center">
|
<el-table-column label="运行状态" 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="健康状态" width="120" align="center">
|
<el-table-column label="健康状态" 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="操作" width="100" fixed="right" align="center">
|
<el-table-column label="操作" 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>
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="container">
|
<div class="container cockpit-shell">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<Header @active-page="activePage" />
|
<Header @active-page="activePage" />
|
||||||
</div>
|
</div>
|
||||||
@ -28,23 +28,34 @@ const activePage = (page) => {
|
|||||||
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.container {
|
.container.cockpit-shell {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background-color: #000d2e;
|
background: var(--neu-bg);
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
color: var(--neu-text-primary);
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
height: 64px;
|
height: 64px;
|
||||||
background: linear-gradient(180deg, rgba(0, 20, 70, 0.98) 0%, rgba(0, 10, 50, 0.95) 100%);
|
background: var(--neu-bg);
|
||||||
border-bottom: 1px solid rgba(0, 194, 255, 0.3);
|
border-bottom: 0;
|
||||||
|
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>
|
||||||
@ -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="200"
|
width="240"
|
||||||
fixed="right"
|
fixed="right"
|
||||||
>
|
>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
|||||||
@ -128,7 +128,7 @@
|
|||||||
label="操作"
|
label="操作"
|
||||||
align="center"
|
align="center"
|
||||||
class-name="small-padding fixed-width"
|
class-name="small-padding fixed-width"
|
||||||
width="280"
|
width="320"
|
||||||
fixed="right"
|
fixed="right"
|
||||||
>
|
>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
|
|||||||
@ -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="200"
|
width="280"
|
||||||
fixed="right"
|
fixed="right"
|
||||||
>
|
>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
|||||||
@ -17,7 +17,11 @@
|
|||||||
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>
|
||||||
|
|
||||||
@ -95,6 +99,49 @@ 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([]);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user