解决添加多租户之后的前后端数据错误问题。

This commit is contained in:
zhonghua1
2025-12-17 10:43:03 +08:00
parent 74a5742e03
commit 0467861168
3 changed files with 116 additions and 27 deletions

View File

@@ -77,7 +77,7 @@
<view
class="service-card"
v-for="(item, index) in serviceStatusList"
:key="index"
:key="item.id || index"
@click="viewServiceDetail(item)">
<view class="card-header">
<view class="staff-info">
@@ -590,14 +590,26 @@ import { getApiUrl } from "@/common/config.js";
method: 'GET',
timeout: 10000
});
if (res.statusCode === 200 && res.data && res.data.success) {
const records = Array.isArray(res.data.data) ? res.data.data : [];
const mapped = records.map(item => this.buildServiceStatusItem(item));
if (records.length === 0) {
this.serviceStatusList = [];
this.serviceStatusTotal = 0;
return;
}
const mapped = records
.map(item => this.buildServiceStatusItem(item))
.filter(item => item !== null); // 过滤掉无效的数据
// 第一页或强制刷新时重置列表,否则追加
if (this.serviceStatusPage.current === 1 || force) {
this.serviceStatusList = mapped;
// 使用 Vue 3 的响应式更新方式
this.serviceStatusList = [...mapped];
} else {
this.serviceStatusList = this.serviceStatusList.concat(mapped);
this.serviceStatusList = [...this.serviceStatusList, ...mapped];
}
this.serviceStatusTotal = Number(res.data.total) || 0;
} else {
@@ -619,6 +631,11 @@ import { getApiUrl } from "@/common/config.js";
}
},
buildServiceStatusItem(record = {}) {
if (!record || typeof record !== 'object') {
console.warn('[buildServiceStatusItem] 记录数据无效:', record);
return null;
}
const formattedUpdateTime = this.formatDateTime(record.updateTime || record.createTime);
const tags = [];
if (record.recordingName) {
@@ -630,8 +647,9 @@ import { getApiUrl } from "@/common/config.js";
if (record.projectName) {
tags.push({ text: `项目:${record.projectName}`, color: 'blue' });
}
return {
id: record.id,
const item = {
id: record.id || '',
staffName: record.salesName || '未分配销售',
status: record.syncStatus || '服务中',
customerName: record.customerName || '',
@@ -639,6 +657,9 @@ import { getApiUrl } from "@/common/config.js";
tags,
durationText: formattedUpdateTime ? `最近更新时间:${formattedUpdateTime}` : '最近暂无更新时间'
};
console.log('[buildServiceStatusItem] 构建的列表项:', item);
return item;
},
formatDateTime(value) {
if (!value) {