解决添加多租户之后的前后端数据错误问题。
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user