去掉底部导航:ai对话

This commit is contained in:
zhonghua.li
2026-04-05 20:37:10 +08:00
parent d73a554bc4
commit b53195de68
7 changed files with 31 additions and 56 deletions

View File

@@ -61,13 +61,6 @@ Component({
iconPath: '/static/tabbar/customer.png',
selectedIconPath: '/static/tabbar/customer_active.png',
},
{
key: 'ai_qa',
text: 'AI问答',
pagePath: 'pages/ai_qa/ai_qa',
iconPath: '/static/tabbar/expression.png',
selectedIconPath: '/static/tabbar/expression_active.png',
},
{
key: 'ai_analysis',
text: 'AI分析',
@@ -290,7 +283,6 @@ Component({
'furniture_reception': 'pages/furniture_reception/furniture_reception',
'common_begin_reception': 'pages/furniture_reception/common_begin_reception',
'furniture_customer': 'pages/furniture_customer/furniture_customer',
'ai_qa': 'pages/ai_qa/ai_qa',
'ai_analysis': 'pages/ai_analysis/ai_analysis',
'furniture_top_sales': 'pages/furniture_top_sales/furniture_top_sales'
};
@@ -519,7 +511,7 @@ Component({
const hasFurnitureRole = roles.includes('furniture');
if (isAdminFurniture || hasFurnitureRole) {
const furnitureTabs = ['furniture_reception', 'furniture_customer', 'ai_qa', 'ai_analysis', 'ucenter'];
const furnitureTabs = ['furniture_reception', 'furniture_customer', 'ai_analysis', 'ucenter'];
console.log('[TabBar][allowed] furniture/admin_furniture role ->', furnitureTabs);
return furnitureTabs;
}

View File

@@ -77,13 +77,6 @@ export default {
iconPath: '/static/tabbar/me.png',
selectedIconPath: '/static/tabbar/me_active.png',
},
{
key: 'ai_qa',
text: 'AI问答',
pagePath: '/pages/ai_qa/ai_qa',
iconPath: '/static/tabbar/expression.png',
selectedIconPath: '/static/tabbar/expression_active.png',
},
{
key: 'ai_analysis',
text: 'AI分析',
@@ -119,13 +112,6 @@ export default {
iconPath: '/static/tabbar/customer.png',
selectedIconPath: '/static/tabbar/customer_active.png',
},
{
key: 'ai_qa',
text: 'AI问答',
pagePath: 'pages/ai_qa/ai_qa',
iconPath: '/static/tabbar/expression.png',
selectedIconPath: '/static/tabbar/expression_active.png',
},
{
key: 'ai_analysis',
text: 'AI分析',
@@ -148,7 +134,7 @@ export default {
console.log('VISIBLE TABS CALC - THIS MUST SHOW IN H5');
// 简化逻辑直接返回家具相关的tabs跳过权限检查
const furnitureKeys = ['furniture_reception', 'furniture_customer', 'ai_qa', 'ai_analysis', 'ucenter'];
const furnitureKeys = ['furniture_reception', 'furniture_customer', 'ai_analysis', 'ucenter'];
const result = furnitureKeys.map(key => {
return this.allTabs.find(tab => tab.key === key);
}).filter(Boolean);
@@ -303,15 +289,15 @@ export default {
console.log('GET ALLOWED KEYS - 简化版本总是返回家具相关tabs');
// 简化逻辑总是返回家具相关的tabs
const furnitureTabs = ['furniture_reception', 'furniture_customer', 'ai_qa', 'ai_analysis', 'ucenter'];
const furnitureTabs = ['furniture_reception', 'furniture_customer', 'ai_analysis', 'ucenter'];
console.log('[TabBar][allowed] 简化逻辑 ->', furnitureTabs);
return furnitureTabs;
},
// #ifdef H5
toggleNativeTabs() {
// H5 平台自定义 tabbar 不生效,直接根据角色显隐原生 tabbar 项
// 当前位置顺序(根据 pages.json 中的 tabBar.list 顺序接待、客户、AI问答、AI分析、我的、团队、总结和统计…
const ORDER = ['furniture_reception', 'furniture_customer', 'ai_qa', 'ai_analysis', 'ucenter', 'reception', 'customer', 'team', 'meeting_summary', 'common_begin_reception'];
// 当前位置顺序(根据 pages.json 中的 tabBar.list 顺序接待、客户、AI分析、我的、团队、总结和统计…
const ORDER = ['furniture_reception', 'furniture_customer', 'ai_analysis', 'ucenter', 'reception', 'customer', 'team', 'meeting_summary', 'common_begin_reception'];
const allowed = this.getAllowedKeys();
// 限制重试次数,防止渲染时机未就绪
this._h5TabRetries = (this._h5TabRetries || 0) + 1;
@@ -342,7 +328,6 @@ export default {
const tabBarList = [
'pages/furniture_reception/furniture_reception',
'pages/furniture_customer/furniture_customer',
'pages/ai_qa/ai_qa',
'pages/ai_analysis/ai_analysis',
'pages/ucenter/ucenter'
];
@@ -384,7 +369,6 @@ export default {
el.textContent && (
el.textContent.includes('接待') ||
el.textContent.includes('客户') ||
el.textContent.includes('AI问答') ||
el.textContent.includes('AI分析') ||
el.textContent.includes('我的')
)
@@ -422,9 +406,9 @@ export default {
return;
}
// 按文本内容排序接待、客户、AI问答、AI分析、我的
// 按文本内容排序接待、客户、AI分析、我的
const sortedElements = tabElements.sort((a, b) => {
const order = ['接待', '客户', 'AI问答', 'AI分析', '我的'];
const order = ['接待', '客户', 'AI分析', '我的'];
const aIndex = order.findIndex(text => a.textContent.includes(text));
const bIndex = order.findIndex(text => b.textContent.includes(text));
return aIndex - bIndex;
@@ -434,7 +418,7 @@ export default {
// 处理每个元素
sortedElements.forEach((element, index) => {
const keyMap = ['furniture_reception', 'furniture_customer', 'ai_qa', 'ai_analysis', 'ucenter'];
const keyMap = ['furniture_reception', 'furniture_customer', 'ai_analysis', 'ucenter'];
const key = keyMap[index];
const shouldShow = allowed.includes(key);

View File

@@ -433,12 +433,6 @@
"selectedIconPath": "static/tabbar/customer_active.png",
"text": "客户"
},
{
"pagePath": "pages/ai_qa/ai_qa",
"iconPath": "static/tabbar/expression.png",
"selectedIconPath": "static/tabbar/expression_active.png",
"text": "AI问答"
},
{
"pagePath": "pages/ai_analysis/ai_analysis",
"iconPath": "static/tabbar/ai_analysis.png",

View File

@@ -2432,23 +2432,28 @@
}
return null;
};
// 格式化时间:将 ISO 格式转换为 YYYY-MM-DD HH:mm:ss
// 录音开始时间:优先后端专用字段,兼容多种命名,最后退回创建时间
const recordingStartRaw =
item.startTime ||
item.createTime;
let formattedTime = '';
if (item.createTime) {
const date = new Date(item.createTime);
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
const hours = String(date.getHours()).padStart(2, '0');
const minutes = String(date.getMinutes()).padStart(2, '0');
const seconds = String(date.getSeconds()).padStart(2, '0');
formattedTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
if (recordingStartRaw) {
const date = new Date(recordingStartRaw);
if (!Number.isNaN(date.getTime())) {
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
const hours = String(date.getHours()).padStart(2, '0');
const minutes = String(date.getMinutes()).padStart(2, '0');
const seconds = String(date.getSeconds()).padStart(2, '0');
formattedTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}
}
return {
id: item.id,
title: `${item.salesName || ''}的服务记录`,
date: formattedTime ? `时间:${formattedTime}` : '',
date: formattedTime ? `开始时间:${formattedTime}` : '',
description: item.summary || '',
customerName: item.customerName || '',
recordingName: item.recordingName || '', // 记录名称

View File

@@ -414,7 +414,7 @@ export default {
return null;
}
const formattedUpdateTime = this.formatDateTime(record.updateTime || record.createTime);
const formattedCreateTime = this.formatDateTime(record.createTime);
const tags = [];
if (record.recordingName) {
tags.push({ text: `录音:${record.recordingName}`, color: 'blue' });
@@ -436,7 +436,7 @@ export default {
recordingName: record.recordingName || '',
remarks: record.remarks || '',
tags,
durationText: formattedUpdateTime ? `最近更新时间:${formattedUpdateTime}` : '最近暂无更新时间'
durationText: formattedCreateTime ? `开始时间:${formattedCreateTime}` : '暂无开始时间'
};
},
formatDateTime(value) {

View File

@@ -375,7 +375,7 @@
this[item.event]();
} else if (item.to) {
// 如果是 tabBar 页面,使用 switchTab
const tabBarPages = ['/pages/furniture_reception/furniture_reception', '/pages/furniture_customer/furniture_customer', '/pages/ai_qa/ai_qa', '/pages/ai_analysis/ai_analysis', '/pages/ucenter/ucenter']
const tabBarPages = ['/pages/furniture_reception/furniture_reception', '/pages/furniture_customer/furniture_customer', '/pages/ai_analysis/ai_analysis', '/pages/ucenter/ucenter']
if (tabBarPages.includes(item.to)) {
uni.switchTab({
url: item.to

View File

@@ -1,8 +1,8 @@
{
"hash": "4fc165e1",
"configHash": "d56fac9b",
"hash": "e6523039",
"configHash": "eb10526c",
"lockfileHash": "14a73d7a",
"browserHash": "2199751e",
"browserHash": "894ba490",
"optimized": {},
"chunks": {}
}