refactor(ui): 调整多个组件的内边距和样式一致性

fix(GoodMusic): 修复录音列表数据结构和显示问题
style: 统一多个组件的头部内边距为10px 20px 10px
chore: 切换API基础路径为生产环境
This commit is contained in:
2025-10-22 18:02:55 +08:00
parent db6433693a
commit 288a525537
7 changed files with 55 additions and 23 deletions

View File

@@ -5,8 +5,8 @@ import { useUserStore } from '@/stores/user'
// 创建axios实例 // 创建axios实例
const service = axios.create({ const service = axios.create({
// baseURL: 'https://mldash.nycjy.cn/' || '', // API基础路径支持完整URL baseURL: 'https://mldash.nycjy.cn/' || '', // API基础路径支持完整URL
baseURL: 'http://192.168.15.121:8890' || '', // API基础路径支持完整URL // baseURL: 'http://192.168.15.121:8890' || '', // API基础路径支持完整URL
timeout: 100000, // 请求超时时间 timeout: 100000, // 请求超时时间
headers: { headers: {
'Content-Type': 'application/json;charset=UTF-8' 'Content-Type': 'application/json;charset=UTF-8'

View File

@@ -658,7 +658,7 @@ $white: #ffffff;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
padding: 20px 20px 16px; padding: 10px 20px 10px;
border-bottom: 1px solid #ebeef5; border-bottom: 1px solid #ebeef5;
h3 { margin: 0; color: $slate-900; font-size: 18px; font-weight: 600; } h3 { margin: 0; color: $slate-900; font-size: 18px; font-weight: 600; }
} }

View File

@@ -311,7 +311,7 @@ onBeforeUnmount(() => {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
padding: 20px 20px 16px; padding: 10px 20px 10px;
border-bottom: 1px solid #ebeef5; border-bottom: 1px solid #ebeef5;
h3 { margin: 0; color: #303133; font-size: 18px; font-weight: 600; } h3 { margin: 0; color: #303133; font-size: 18px; font-weight: 600; }
} }

View File

@@ -18,6 +18,7 @@
:class="{ active: selectedRecording === index }" :class="{ active: selectedRecording === index }"
@click="selectRecording(index)" @click="selectRecording(index)"
> >
<span class="recording-index">{{ recording.score}}</span>
<div class="recording-info"> <div class="recording-info">
<div class="recording-name" :title="recording.name">{{ recording.name.length > 10 ? recording.name.substring(0, 10) + '...' : recording.name }}</div> <div class="recording-name" :title="recording.name">{{ recording.name.length > 10 ? recording.name.substring(0, 10) + '...' : recording.name }}</div>
<div class="recording-meta"> <div class="recording-meta">
@@ -172,8 +173,8 @@ import MarkdownIt from 'markdown-it'
// Props定义 // Props定义
const props = defineProps({ const props = defineProps({
qualityCalls: { qualityCalls: {
type: Object, type: Array,
default: () => ({}) default: () => []
} }
}) })
@@ -221,25 +222,24 @@ const recordings = computed(() => {
if (!props.qualityCalls ) { if (!props.qualityCalls ) {
return staticRecordings.value; return staticRecordings.value;
} }
console.log(66666,props.qualityCalls);
const recordingsList = []; const recordingsList = [];
Object.keys(props.qualityCalls).forEach(userName => { props.qualityCalls.forEach((record, index) => {
props.qualityCalls[userName].forEach((record, index) => {
recordingsList.push({ recordingsList.push({
id: recordingsList.length + 1, id: recordingsList.length + 1,
name: record.obj_file_name ? record.obj_file_name.split('/').pop() : `${record.sale_name}-录音-${index + 1}`, name: record.record_name ? record.record_name : `${record.sale_name}-录音-${index + 1}`,
date: new Date().toISOString().split('T')[0], date: new Date().toISOString().split('T')[0],
url: record.obj_file_name, url: record.record_file_addr,
transcription: record.context || null, transcription: record.record_context || null,
score: record.score, score: record.record_score,
sop: record.sop, sop: record.record_report,
sale_name: record.sale_name, sale_name: record.record_name,
size: 2048576, // 默认文件大小 2MB size: 2048576, // 默认文件大小 2MB
uploadTime: new Date().toLocaleDateString('zh-CN') uploadTime: record.created_at,
});
}); });
}); });
return recordingsList; return recordingsList;
}) })
@@ -512,7 +512,7 @@ const downloadRecording = (index) => {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
padding: 20px 20px 0; padding: 10px 20px 0;
border-bottom: 1px solid #ebeef5; border-bottom: 1px solid #ebeef5;
} }
@@ -549,7 +549,7 @@ const downloadRecording = (index) => {
} }
.chart-content { .chart-content {
padding: 20px; padding: 10px;
} }
.recording-section { .recording-section {
@@ -562,7 +562,6 @@ const downloadRecording = (index) => {
.recording-list { .recording-list {
margin-bottom: 20px; margin-bottom: 20px;
max-height: 400px; max-height: 400px;
overflow-y: auto;
} }
.recording-item { .recording-item {
@@ -602,6 +601,39 @@ const downloadRecording = (index) => {
display: inline-block; display: inline-block;
} }
.recording-index {
/* 基础分数样式 */
padding: 2px 8px;
border-radius: 12px;
font-size: 12px;
font-weight: 600;
background-color: #e9ecef;
color: #495057;
margin-right: 10px;
}
/* 第一名样式 */
.recording-item:first-child .recording-index {
background: linear-gradient(135deg, #FFD700, #FFA500);
color: #fff;
box-shadow: 0 2px 4px rgba(255, 215, 0, 0.3);
}
/* 第二名样式 */
.recording-item:nth-child(2) .recording-index {
background: linear-gradient(135deg, #C0C0C0, #A9A9A9);
color: #fff;
box-shadow: 0 2px 4px rgba(192, 192, 192, 0.3);
}
/* 第三名样式 */
.recording-item:nth-child(3) .recording-index {
background: linear-gradient(135deg, #CD7F32, #A0522D);
color: #fff;
box-shadow: 0 2px 4px rgba(205, 127, 50, 0.3);
}
.recording-meta { .recording-meta {
display: flex; display: flex;
gap: 12px; gap: 12px;

View File

@@ -196,7 +196,7 @@ async function exportData() {
} }
.chart-header { .chart-header {
padding: 20px 20px 16px; padding: 10px 20px 10px;
border-bottom: 1px solid #ebeef5; border-bottom: 1px solid #ebeef5;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;

View File

@@ -178,7 +178,7 @@
</main> </main>
<!-- Loading 组件 --> <!-- Loading 组件 -->
<Loading :visible="isLoading" text="数据加载中..." /> <!-- <Loading :visible="isLoading" text="数据加载中..." /> -->
</div> </div>
</template> </template>

View File

@@ -151,7 +151,7 @@ $white: #ffffff;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
padding: 0px 20px 16px; padding: 0px 20px 10px;
border-bottom: 1px solid #ebeef5; border-bottom: 1px solid #ebeef5;
h3 { h3 {
margin: 0; margin: 0;