diff --git a/components/ai-analysis-dashboard-body.vue b/components/ai-analysis-dashboard-body.vue
new file mode 100644
index 0000000..a4f30f9
--- /dev/null
+++ b/components/ai-analysis-dashboard-body.vue
@@ -0,0 +1,389 @@
+
+
+
+
+
+
+
+
+ 🤝
+ 开始接待
+
+
+
+ 📋
+ 服务中
+
+
+
+ 🏷️
+ 标签管理
+
+
+
+
+
+
+
+
+
+ 👥
+ 客户列表
+
+
+
+ 📝
+ 服务记录
+
+
+
+
+
+
+
+
+
+ ⏱️
+ 录音时长
+
+
+
+ 👥
+ 接待客户数
+
+
+
+
+
+
+
+
+
+ 📊
+ 质检覆盖率
+
+
+
+ 🗣️
+ 员工话术评分
+
+
+
+
+
+
+
+
+
+ 🎯
+ 客户意向分级
+
+
+
+ 💰
+ 成交归因
+
+
+
+ 🚪
+ 开口率
+
+
+
+
+
+
+
+
+
+ 🚨
+ 过度承诺统计
+
+
+
+ 🔴
+ 触及红线统计
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/custom-tab-bar/index.js b/custom-tab-bar/index.js
index 93c5bd1..83029f4 100644
--- a/custom-tab-bar/index.js
+++ b/custom-tab-bar/index.js
@@ -54,13 +54,6 @@ Component({
iconPath: '/static/tabbar/customer.png',
selectedIconPath: '/static/tabbar/customer_active.png',
},
- {
- key: 'ai_analysis',
- text: 'AI分析',
- pagePath: 'pages/ai_analysis/ai_analysis',
- iconPath: '/static/tabbar/ai_analysis.png',
- selectedIconPath: '/static/tabbar/ai_analysis_active.png',
- },
{
key: 'workbench',
text: '工作台',
@@ -283,7 +276,6 @@ Component({
'common_begin_reception': 'pages/furniture_reception/common_begin_reception',
'workbench': 'pages/workbench/workbench',
'furniture_customer': 'pages-subpackage/furniture_customer/furniture_customer',
- 'ai_analysis': 'pages/ai_analysis/ai_analysis',
'furniture_top_sales': 'pages/furniture_top_sales/furniture_top_sales'
};
@@ -511,7 +503,7 @@ Component({
const hasFurnitureRole = roles.includes('furniture');
if (isAdminFurniture || hasFurnitureRole) {
- const furnitureTabs = ['ai_analysis', 'workbench', 'ucenter'];
+ const furnitureTabs = ['workbench', 'ucenter'];
console.log('[TabBar][allowed] furniture/admin_furniture role ->', furnitureTabs);
return furnitureTabs;
}
diff --git a/custom-tab-bar/index.vue b/custom-tab-bar/index.vue
index 20c4378..7e4713a 100644
--- a/custom-tab-bar/index.vue
+++ b/custom-tab-bar/index.vue
@@ -77,13 +77,6 @@ export default {
iconPath: '/static/tabbar/team.png',
selectedIconPath: '/static/tabbar/team_active.png',
},
- {
- key: 'ai_analysis',
- text: 'AI分析',
- pagePath: '/pages/ai_analysis/ai_analysis',
- iconPath: '/static/tabbar/ai_analysis.png',
- selectedIconPath: '/static/tabbar/ai_analysis_active.png',
- },
{
key: 'meeting_summary',
text: '总结和统计',
@@ -96,15 +89,8 @@ export default {
},
computed: {
furnitureTabs() {
- // 与 pages.json 的 tabBar 一致:AI分析、工作台、我的
+ // 与 pages.json 的 tabBar 一致:工作台、我的
return [
- {
- key: 'ai_analysis',
- text: 'AI分析',
- pagePath: '/pages/ai_analysis/ai_analysis',
- iconPath: '/static/tabbar/ai_analysis.png',
- selectedIconPath: '/static/tabbar/ai_analysis_active.png',
- },
{
key: 'workbench',
text: '工作台',
@@ -127,7 +113,7 @@ export default {
console.log('VISIBLE TABS CALC - THIS MUST SHOW IN H5');
// 简化逻辑:直接返回家具相关的tabs,跳过权限检查
- const furnitureKeys = ['ai_analysis', 'workbench', 'ucenter'];
+ const furnitureKeys = ['workbench', 'ucenter'];
const result = furnitureKeys.map(key => {
return this.allTabs.find(tab => tab.key === key);
}).filter(Boolean);
@@ -282,15 +268,15 @@ export default {
console.log('GET ALLOWED KEYS - 简化版本,总是返回家具相关tabs');
// 简化逻辑:总是返回家具相关的tabs
- const furnitureTabs = ['ai_analysis', 'workbench', 'ucenter'];
+ const furnitureTabs = ['workbench', 'ucenter'];
console.log('[TabBar][allowed] 简化逻辑 ->', furnitureTabs);
return furnitureTabs;
},
// #ifdef H5
toggleNativeTabs() {
// H5 平台自定义 tabbar 不生效,直接根据角色显隐原生 tabbar 项
- // 当前位置顺序(与 pages.json 的 tabBar.list 一致):AI分析、工作台、我的…
- const ORDER = ['ai_analysis', 'workbench', 'ucenter', 'reception', 'customer', 'team', 'meeting_summary', 'common_begin_reception'];
+ // 当前位置顺序(与 pages.json 的 tabBar.list 一致):工作台、我的…
+ const ORDER = ['workbench', 'ucenter', 'reception', 'customer', 'team', 'meeting_summary', 'common_begin_reception'];
const allowed = this.getAllowedKeys();
// 限制重试次数,防止渲染时机未就绪
this._h5TabRetries = (this._h5TabRetries || 0) + 1;
@@ -319,7 +305,6 @@ export default {
isInTabBar(pagePath) {
// 检查页面路径是否在原生tabBar配置中
const tabBarList = [
- 'pages/ai_analysis/ai_analysis',
'pages/workbench/workbench',
'pages/ucenter/ucenter',
];
@@ -359,7 +344,6 @@ export default {
const allElements = document.querySelectorAll('*');
const tabElements = Array.from(allElements).filter(el =>
el.textContent && (
- el.textContent.includes('AI分析') ||
el.textContent.includes('工作台') ||
el.textContent.includes('我的')
)
@@ -397,9 +381,9 @@ export default {
return;
}
- // 按文本内容排序:AI分析、工作台、我的
+ // 按文本内容排序:工作台、我的
const sortedElements = tabElements.sort((a, b) => {
- const order = ['AI分析', '工作台', '我的'];
+ const order = ['工作台', '我的'];
const aIndex = order.findIndex(text => a.textContent.includes(text));
const bIndex = order.findIndex(text => b.textContent.includes(text));
return aIndex - bIndex;
@@ -409,7 +393,7 @@ export default {
// 处理每个元素
sortedElements.forEach((element, index) => {
- const keyMap = ['ai_analysis', 'workbench', 'ucenter'];
+ const keyMap = ['workbench', 'ucenter'];
const key = keyMap[index];
const shouldShow = allowed.includes(key);
diff --git a/manifest.json b/manifest.json
index 165d38b..6483681 100644
--- a/manifest.json
+++ b/manifest.json
@@ -79,7 +79,6 @@
},
"usingComponents" : true,
"optimization" : {
- "lazyCodeLoading" : "requiredComponents",
"subPackages" : true
}
},
diff --git a/pages-subpackage/furniture_reception/furniture_reception-impl.vue b/pages-subpackage/furniture_reception/furniture_reception-impl.vue
index a09bc87..679b489 100644
--- a/pages-subpackage/furniture_reception/furniture_reception-impl.vue
+++ b/pages-subpackage/furniture_reception/furniture_reception-impl.vue
@@ -477,8 +477,8 @@ import ServiceListFurniture from "./serviceListFurniture.vue";
*/
refreshPageData() {
this.$nextTick(() => {
+ const list = this.$refs.serviceListRef;
if (this.activeTab === 'status') {
- const list = this.$refs.serviceListRef;
if (list && typeof list.onServiceStatusRefresh === 'function') {
list.onServiceStatusRefresh();
}
@@ -489,7 +489,9 @@ import ServiceListFurniture from "./serviceListFurniture.vue";
},
applyIncomingTab(tab) {
const allowed = ['status', 'reception', 'tag'];
- if (!allowed.includes(tab)) return;
+ if (!allowed.includes(tab)) {
+ return;
+ }
// 切tab并执行必要初始化(开始接待需要重置表单)
if (this.activeTab !== tab) {
@@ -500,6 +502,11 @@ import ServiceListFurniture from "./serviceListFurniture.vue";
} else if (tab === 'tag') {
this.tagViewMode = 'list';
this.fetchTagList({ force: true });
+ } else if (tab === 'status') {
+ // 从工作台进入「服务中」时补拉列表(mounted 可能早于布局或与 refresh 竞态)
+ this.$nextTick(() => {
+ this.refreshPageData();
+ });
}
},
// 计算并更新导航栏和内容区域的位置
@@ -568,11 +575,11 @@ import ServiceListFurniture from "./serviceListFurniture.vue";
// 检查页面栈,如果当前是第一个页面,则不能返回
const pages = getCurrentPages();
if (pages.length <= 1) {
- // 作为 tabBar 页从其他入口跳转进来时,兜底切回 AI 分析页
+ // 作为 tabBar 页从其他入口跳转进来时,兜底切回工作台
uni.switchTab({
- url: '/pages/ai_analysis/ai_analysis',
+ url: '/pages/workbench/workbench',
fail: (err) => {
- console.error('[FurnitureReception][goBack] 切回AI分析页失败:', err);
+ console.error('[FurnitureReception][goBack] 切回工作台失败:', err);
}
});
return;
@@ -1247,6 +1254,12 @@ import ServiceListFurniture from "./serviceListFurniture.vue";
/* top值通过内联样式动态设置 */
left: 0;
right: 0;
+ /* #ifdef MP-WEIXIN */
+ /* 子组件内 scroll-view 需明确高度链;flex 可避免 MP 下 height:100% 失效导致空白 */
+ display: flex;
+ flex-direction: column;
+ min-height: 0;
+ /* #endif */
/* #ifndef MP-WEIXIN */
bottom: 96rpx; /* H5环境:底部导航栏高度 */
/* #endif */
diff --git a/pages-subpackage/furniture_reception/furniture_reception_entry.vue b/pages-subpackage/furniture_reception/furniture_reception_entry.vue
new file mode 100644
index 0000000..1e3be1c
--- /dev/null
+++ b/pages-subpackage/furniture_reception/furniture_reception_entry.vue
@@ -0,0 +1,24 @@
+
+
+
+
+
diff --git a/pages-subpackage/furniture_reception/serviceListFurniture.vue b/pages-subpackage/furniture_reception/serviceListFurniture.vue
index ae93480..b2f9de8 100644
--- a/pages-subpackage/furniture_reception/serviceListFurniture.vue
+++ b/pages-subpackage/furniture_reception/serviceListFurniture.vue
@@ -79,6 +79,10 @@
服务中
+
+
+ {{ item.title }}
+
客户:{{ item.customerName || '未知客户' }}
@@ -540,6 +544,11 @@ export default {
if (record.projectName) {
tags.push({ text: `项目:${record.projectName}`, color: 'blue' });
}
+
+ const title =
+ firstNonEmptyString(record.recordingName) ||
+ (firstNonEmptyString(record.customerName) ? `${String(record.customerName).trim()}的接待记录` : '') ||
+ '';
return {
id: record.id || '',
@@ -549,6 +558,7 @@ export default {
customerPhone: record.customerPhone || '',
customerId: record.customerId || '',
recordingName: record.recordingName || '',
+ title,
remarks: record.remarks || '',
tags,
durationText: formattedCreateTime ? `开始时间:${formattedCreateTime}` : '暂无开始时间'
@@ -1012,11 +1022,16 @@ export default {
diff --git a/pages/furniture_reception/furniture_reception.vue b/pages/furniture_reception/furniture_reception.vue
index fa05ea5..74053ec 100644
--- a/pages/furniture_reception/furniture_reception.vue
+++ b/pages/furniture_reception/furniture_reception.vue
@@ -13,16 +13,12 @@
diff --git a/pages/workbench/workbench.vue b/pages/workbench/workbench.vue
index cc42450..e8190fa 100644
--- a/pages/workbench/workbench.vue
+++ b/pages/workbench/workbench.vue
@@ -19,7 +19,14 @@
:contentTop="contentTop"
:contentBottom="contentBottom"
/>
- 正在跳转到 AI 分析...
+
+
+ 当前未配置为销售或轻销场景(backend-scenario 不是 sales / soft_sales),工作台入口已隐藏。
+
@@ -29,6 +36,7 @@
import statusBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar';
// #endif
import SalesScenarioNew from './components/sales_scenario_new.vue';
+import AiAnalysisDashboardBody from '@/components/ai-analysis-dashboard-body.vue';
function getSystemInfo() {
try {
@@ -49,6 +57,7 @@ export default {
statusBar,
// #endif
SalesScenarioNew,
+ AiAnalysisDashboardBody,
},
data() {
const systemInfo = getSystemInfo();
@@ -57,6 +66,7 @@ export default {
contentTop: totalNavbarHeight + 'rpx',
contentBottom: '96rpx',
isSalesScenario: false,
+ isSoftSalesScenario: false,
};
},
onShow() {
@@ -64,13 +74,9 @@ export default {
},
methods: {
refreshScenario() {
- const scenario = (uni.getStorageSync('backend-scenario') || '').toString().toLowerCase();
+ const scenario = (uni.getStorageSync('backend-scenario') || '').toString().trim().toLowerCase();
this.isSalesScenario = scenario === 'sales';
- if (!this.isSalesScenario) {
- uni.switchTab({
- url: '/pages/ai_analysis/ai_analysis',
- });
- }
+ this.isSoftSalesScenario = scenario === 'soft_sales';
},
},
};
@@ -86,9 +92,13 @@ page {
background-color: #f5f5f5;
}
+/* 子组件(销售工作台 / AI 分析主体)使用 position:absolute + top/bottom,不占文档流;
+ 若此处无明确高度,父级会被压成 0,导致整块空白。 */
.content {
position: relative;
+ width: 100%;
min-height: 100vh;
+ box-sizing: border-box;
}
.redirecting-text {
diff --git a/uni_modules/uni-id-pages/components/uni-id-pages-fab-login/uni-id-pages-fab-login.vue b/uni_modules/uni-id-pages/components/uni-id-pages-fab-login/uni-id-pages-fab-login.vue
index e5bb02b..71c22ee 100644
--- a/uni_modules/uni-id-pages/components/uni-id-pages-fab-login/uni-id-pages-fab-login.vue
+++ b/uni_modules/uni-id-pages/components/uni-id-pages-fab-login/uni-id-pages-fab-login.vue
@@ -528,7 +528,7 @@
// 微信登录成功后跳转到首页
setTimeout(() => {
uni.switchTab({
- url: '/pages/ai_analysis/ai_analysis'
+ url: '/pages/workbench/workbench'
})
}, 500);
}).catch(err => {
@@ -542,7 +542,7 @@
// 即使获取用户信息失败,也要跳转
setTimeout(() => {
uni.switchTab({
- url: '/pages/ai_analysis/ai_analysis'
+ url: '/pages/workbench/workbench'
})
}, 500);
});
diff --git a/uni_modules/uni-id-pages/pages/login/login-withpwd.vue b/uni_modules/uni-id-pages/pages/login/login-withpwd.vue
index d5024f6..3def308 100644
--- a/uni_modules/uni-id-pages/pages/login/login-withpwd.vue
+++ b/uni_modules/uni-id-pages/pages/login/login-withpwd.vue
@@ -230,13 +230,13 @@
console.warn('[Login] Failed to update global role info:', e);
}
- // 登录成功后跳转到首页(tabBar 首页:AI分析)
+ // 登录成功后跳转到首页(tabBar 首页:工作台)
// 在微信小程序中增加延迟,确保store更新完全后再跳转
// #ifdef MP-WEIXIN
setTimeout(() => {
console.log('[Login] Preparing to navigate after login, hasLogin:', store.hasLogin)
uni.switchTab({
- url: '/pages/ai_analysis/ai_analysis',
+ url: '/pages/workbench/workbench',
success: () => {
console.log('[Login] Navigation successful, checking login status after navigation')
// 延迟检查,确保页面跳转完成后再检查状态
@@ -253,7 +253,7 @@
// #ifndef MP-WEIXIN
setTimeout(() => {
uni.switchTab({
- url: '/pages/ai_analysis/ai_analysis'
+ url: '/pages/workbench/workbench'
})
}, 300)
// #endif
diff --git a/unpackage/dist/build/mp-weixin/app.json b/unpackage/dist/build/mp-weixin/app.json
index 2976506..9d4bf80 100644
--- a/unpackage/dist/build/mp-weixin/app.json
+++ b/unpackage/dist/build/mp-weixin/app.json
@@ -46,6 +46,7 @@
"workspace/workspace",
"workspace/scene-detail",
"furniture_customer/furniture_customer",
+ "furniture_reception/furniture_reception_entry",
"bluetooth-recorder/bluetooth-recorder",
"uni-agree/uni-agree",
"ucenter/settings/settings",
@@ -86,18 +87,6 @@
"borderStyle": "black",
"backgroundColor": "#FFFFFF",
"list": [
- {
- "pagePath": "pages/furniture_reception/furniture_reception",
- "iconPath": "static/tabbar/reception.png",
- "selectedIconPath": "static/tabbar/reception_active.png",
- "text": "接待"
- },
- {
- "pagePath": "pages/ai_analysis/ai_analysis",
- "iconPath": "static/tabbar/ai_analysis.png",
- "selectedIconPath": "static/tabbar/ai_analysis_active.png",
- "text": "AI分析"
- },
{
"pagePath": "pages/workbench/workbench",
"iconPath": "static/tabbar/team.png",
diff --git a/unpackage/dist/build/mp-weixin/common/store.js b/unpackage/dist/build/mp-weixin/common/store.js
index 39d919b..71128f7 100644
--- a/unpackage/dist/build/mp-weixin/common/store.js
+++ b/unpackage/dist/build/mp-weixin/common/store.js
@@ -1 +1 @@
-"use strict";const e=require("./vendor.js"),t=require("./config.js"),a={pages:[{path:"pages/workbench/workbench",style:{navigationStyle:"custom"}},{path:"pages/furniture_reception/furniture_reception",style:{navigationStyle:"custom"}},{path:"pages/ucenter/ucenter",style:{navigationStyle:"custom"}},{path:"pages/team/team",style:{navigationStyle:"custom"}},{path:"pages/furniture_reception/common_begin_reception",style:{navigationStyle:"custom"}},{path:"pages/ai_analysis/ai_analysis",style:{navigationStyle:"custom"},componentPlaceholder:{QualityCoveragePopup:"pages-subpackage/ai_features/quality_coverage/quality-coverage-popup"}},{path:"pages/ai_qa/ai_qa",style:{navigationStyle:"custom"}},{path:"pages/xixi/xixi",style:{navigationStyle:"custom"},componentPlaceholder:{XixiWhoAmI:"pages-subpackage/xixi/components/xixi-who-am-i",XixiFirstMeeting:"pages-subpackage/xixi/components/xixi-first-meeting",XixiRecord:"pages-subpackage/xixi/components/xixi-record",XixiDiagnosis:"pages-subpackage/xixi/components/xixi-diagnosis",XixiDatingAdvice:"pages-subpackage/xixi/components/xixi-dating-advice"}}],subPackages:[{root:"uni_modules/uni-feedback",pages:[{path:"pages/opendb-feedback/opendb-feedback",style:{navigationBarTitleText:"意见反馈",enablePullDownRefresh:!1}}]},{root:"uni_modules/uni-id-pages",pages:[{path:"pages/userinfo/userinfo",style:{navigationBarTitleText:"个人资料"}},{path:"pages/userinfo/realname-verify/realname-verify",style:{enablePullDownRefresh:!1,navigationBarTitleText:"实名认证"}},{path:"pages/login/login-withoutpwd"},{path:"pages/login/login-withpwd"},{path:"pages/userinfo/deactivate/deactivate",style:{navigationBarTitleText:"注销账号"}},{path:"pages/userinfo/bind-mobile/bind-mobile",style:{navigationBarTitleText:"绑定手机号码"}},{path:"pages/login/login-smscode",style:{navigationBarTitleText:"手机验证码登录"}},{path:"pages/register/register",style:{navigationBarTitleText:"注册"}},{path:"pages/retrieve/retrieve",style:{navigationBarTitleText:"重置密码"}},{path:"pages/common/webview/webview",style:{enablePullDownRefresh:!1,navigationBarTitleText:""}},{path:"pages/userinfo/change_pwd/change_pwd",style:{enablePullDownRefresh:!1,navigationBarTitleText:"修改密码"}},{path:"pages/register/register-by-email",style:{navigationBarTitleText:"邮箱验证码注册"}},{path:"pages/retrieve/retrieve-by-email",style:{navigationBarTitleText:"通过邮箱重置密码"}},{path:"pages/userinfo/set-pwd/set-pwd",style:{enablePullDownRefresh:!1,navigationBarTitleText:"设置密码"}}]},{root:"pages-subpackage",pages:[{path:"champion/champion",style:{navigationStyle:"custom"}},{path:"list/list",style:{enablePullDownRefresh:!0,navigationStyle:"custom"}},{path:"grid/grid",style:{}},{path:"list/search/search",style:{navigationBarTitleText:"搜索"}},{path:"list/detail",style:{"app-plus":{titleNView:{buttons:[{type:"share"}],type:"transparent"}},h5:{titleNView:{type:"transparent"}},navigationBarTitleText:"文章详情"}},{path:"workspace/workspace",style:{navigationStyle:"custom"}},{path:"workspace/scene-detail",style:{navigationStyle:"custom"}},{path:"furniture_customer/furniture_customer",style:{navigationStyle:"custom"}},{path:"bluetooth-recorder/bluetooth-recorder",style:{navigationBarTitleText:"蓝牙录音设备",navigationStyle:"custom"}},{path:"uni-agree/uni-agree",style:{navigationStyle:"custom","app-plus":{popGesture:"none"}}},{path:"ucenter/settings/settings",style:{navigationBarTitleText:"设置"}},{path:"ucenter/read-news-log/read-news-log",style:{navigationBarTitleText:"阅读记录",enablePullDownRefresh:!0}},{path:"ai_features/speech_rating/speech_rating",style:{navigationStyle:"custom"}},{path:"ai_features/intent_level/intent_level",style:{navigationStyle:"custom"}},{path:"ai_features/deal_attribution/deal_attribution",style:{navigationStyle:"custom"}},{path:"ai_features/recording_duration/recording_duration",style:{navigationStyle:"custom"}},{path:"ai_features/customer_count/customer_count",style:{navigationStyle:"custom"}},{path:"ai_features/opening_rate/opening_rate",style:{navigationStyle:"custom"}},{path:"ai_features/over_commitment/over_commitment",style:{navigationStyle:"custom"}},{path:"ai_features/red_line_touch/red_line_touch",style:{navigationStyle:"custom"}},{path:"ai_qa/general_qa/general_qa",style:{navigationStyle:"custom"}},{path:"ai_qa/demand_qa/demand_qa",style:{navigationStyle:"custom"}},{path:"ai_qa/price_qa/price_qa",style:{navigationStyle:"custom"}},{path:"ai_qa/trust_qa/trust_qa",style:{navigationStyle:"custom"}},{path:"ai_qa/decision_qa/decision_qa",style:{navigationStyle:"custom"}},{path:"ai_qa/competitor_qa/competitor_qa",style:{navigationStyle:"custom"}},{path:"ai_qa/objection_qa/objection_qa",style:{navigationStyle:"custom"}},{path:"ai_qa/sharp_qa/sharp_qa",style:{navigationStyle:"custom"}},{path:"ai_qa/after_sales_qa/after_sales_qa",style:{navigationStyle:"custom"}}]}],globalStyle:{navigationBarTextStyle:"black",navigationBarTitleText:"移多旺科技",navigationBarBackgroundColor:"#FFFFFF",backgroundColor:"#F8F8F8",enablePullDownRefresh:!1,rpxCalcMaxDeviceWidth:375,rpxCalcBaseDeviceWidth:375},condition:{list:[{path:"pages-subpackage/list/detail"},{path:"pages-subpackage/ucenter/settings/settings"}],current:0},tabBar:{custom:!1,color:"#7A7E83",selectedColor:"#007AFF",borderStyle:"black",backgroundColor:"#FFFFFF",list:[{pagePath:"pages/furniture_reception/furniture_reception",iconPath:"static/tabbar/reception.png",selectedIconPath:"static/tabbar/reception_active.png",text:"接待"},{pagePath:"pages/ai_analysis/ai_analysis",iconPath:"static/tabbar/ai_analysis.png",selectedIconPath:"static/tabbar/ai_analysis_active.png",text:"AI分析"},{pagePath:"pages/workbench/workbench",iconPath:"static/tabbar/team.png",selectedIconPath:"static/tabbar/team_active.png",text:"工作台"},{pagePath:"pages/ucenter/ucenter",iconPath:"static/tabbar/me.png",selectedIconPath:"static/tabbar/me_active.png",text:"我的"}]},uniIdRouter:{loginPage:"uni_modules/uni-id-pages/pages/login/login-withpwd",needLogin:["/uni_modules/uni-id-pages/pages/userinfo/userinfo"],resToLogin:!0},easycom:{autoscan:!0,custom:{"^cloud-image$":"@/uni_modules/uni-id-pages/components/cloud-image/cloud-image.vue"}}};const i=function(){try{if(void 0!==e.index&&e.index&&"function"==typeof e.index.getStorageSync){return e.index.getStorageSync("uni-id-pages-userInfo")||{}}}catch(t){}return{}}()||{},n={async updateUserInfo(t=!1){t&&(this.setUserInfo(t),void 0!==e.index&&e.index.showToast&&e.index.showToast({title:"更新成功",icon:"none",duration:3e3}))},syncUserInfoFromStorage(){try{if(void 0!==e.index&&e.index&&"function"==typeof e.index.getStorageSync){const t=e.index.getStorageSync("uni-id-pages-userInfo")||{};if(Object.keys(t).length>0)return this.setUserInfo(t,{cover:!0}),!0}}catch(t){}return!1},setUserInfo(t,{cover:a}={cover:!1}){const i=t&&"object"==typeof t?t:{};let n=a?i:Object.assign({},o.userInfo||{},i);if(o.userInfo=Object.assign({},n),o.hasLogin=0!=Object.keys(o.userInfo).length,void 0!==e.index&&e.index&&"function"==typeof e.index.setStorageSync)try{e.index.setStorageSync("uni-id-pages-userInfo",o.userInfo)}catch(s){}return i},async logout(){if(void 0===e.index)return void console.warn("uni API not available for logout");const i=e.index.getStorageSync("backend-user-id");if(i)try{await e.index.request({url:t.getApiUrl("/api/sys/auth/logout"),method:"POST",header:{"Content-Type":"application/x-www-form-urlencoded"},data:{userId:i}})}catch(n){console.error("后端登出接口调用失败:",n)}e.index.removeStorageSync("backend-token"),e.index.removeStorageSync("backend-login-response"),e.index.removeStorageSync("backend-user-id"),e.index.removeStorageSync("backend-tenant-id"),e.index.removeStorageSync("uni_id_token"),e.index.setStorageSync("uni_id_token_expired",0),this.setUserInfo({},{cover:!0}),e.index.$emit("uni-id-pages-logout"),e.index.redirectTo({url:`/${a.uniIdRouter&&a.uniIdRouter.loginPage?a.uniIdRouter.loginPage:"uni_modules/uni-id-pages/pages/login/login-withoutpwd"}`})},loginBack(t={}){if(void 0===e.index)return void console.warn("uni API not available for loginBack");const{uniIdRedirectUrl:i=""}=t;let n=0,o=getCurrentPages();if(o.forEach(((e,t)=>{"login"==o[o.length-t-1].route.split("/")[3]&&n++})),i)return e.index.redirectTo({url:i,fail:t=>{e.index.switchTab({url:i,fail:e=>{console.log(t,e)}})}});if(n){const t=a.pages[0];return e.index.reLaunch({url:`/${t.path}`})}e.index.navigateBack({delta:n})},loginSuccess(t={}){const{showToast:a=!0,toastText:i="登录成功",autoBack:n=!0,uniIdRedirectUrl:o="",passwordConfirmed:s}=t;void 0!==e.index?(a&&e.index.showToast({title:i,icon:"none",duration:3e3}),this.updateUserInfo(),e.index.$emit("uni-id-pages-login-success"),n&&this.loginBack({uniIdRedirectUrl:o})):console.warn("uni API not available for loginSuccess")}},o={userInfo:i,hasLogin:0!=Object.keys(i).length};exports.mutations=n,exports.pagesJson=a,exports.store=o;
+"use strict";const e=require("./vendor.js"),t=require("./config.js"),a={pages:[{path:"pages/workbench/workbench",style:{navigationStyle:"custom"},componentPlaceholder:{QualityCoveragePopup:"pages-subpackage/ai_features/quality_coverage/quality-coverage-popup"}},{path:"pages/furniture_reception/furniture_reception",style:{navigationStyle:"custom"}},{path:"pages/ucenter/ucenter",style:{navigationStyle:"custom"}},{path:"pages/team/team",style:{navigationStyle:"custom"}},{path:"pages/furniture_reception/common_begin_reception",style:{navigationStyle:"custom"}},{path:"pages/ai_analysis/ai_analysis",style:{navigationStyle:"custom"},componentPlaceholder:{QualityCoveragePopup:"pages-subpackage/ai_features/quality_coverage/quality-coverage-popup"}},{path:"pages/ai_qa/ai_qa",style:{navigationStyle:"custom"}},{path:"pages/xixi/xixi",style:{navigationStyle:"custom"},componentPlaceholder:{XixiWhoAmI:"pages-subpackage/xixi/components/xixi-who-am-i",XixiFirstMeeting:"pages-subpackage/xixi/components/xixi-first-meeting",XixiRecord:"pages-subpackage/xixi/components/xixi-record",XixiDiagnosis:"pages-subpackage/xixi/components/xixi-diagnosis",XixiDatingAdvice:"pages-subpackage/xixi/components/xixi-dating-advice"}}],subPackages:[{root:"uni_modules/uni-feedback",pages:[{path:"pages/opendb-feedback/opendb-feedback",style:{navigationBarTitleText:"意见反馈",enablePullDownRefresh:!1}}]},{root:"uni_modules/uni-id-pages",pages:[{path:"pages/userinfo/userinfo",style:{navigationBarTitleText:"个人资料"}},{path:"pages/userinfo/realname-verify/realname-verify",style:{enablePullDownRefresh:!1,navigationBarTitleText:"实名认证"}},{path:"pages/login/login-withoutpwd"},{path:"pages/login/login-withpwd"},{path:"pages/userinfo/deactivate/deactivate",style:{navigationBarTitleText:"注销账号"}},{path:"pages/userinfo/bind-mobile/bind-mobile",style:{navigationBarTitleText:"绑定手机号码"}},{path:"pages/login/login-smscode",style:{navigationBarTitleText:"手机验证码登录"}},{path:"pages/register/register",style:{navigationBarTitleText:"注册"}},{path:"pages/retrieve/retrieve",style:{navigationBarTitleText:"重置密码"}},{path:"pages/common/webview/webview",style:{enablePullDownRefresh:!1,navigationBarTitleText:""}},{path:"pages/userinfo/change_pwd/change_pwd",style:{enablePullDownRefresh:!1,navigationBarTitleText:"修改密码"}},{path:"pages/register/register-by-email",style:{navigationBarTitleText:"邮箱验证码注册"}},{path:"pages/retrieve/retrieve-by-email",style:{navigationBarTitleText:"通过邮箱重置密码"}},{path:"pages/userinfo/set-pwd/set-pwd",style:{enablePullDownRefresh:!1,navigationBarTitleText:"设置密码"}}]},{root:"pages-subpackage",pages:[{path:"champion/champion",style:{navigationStyle:"custom"}},{path:"list/list",style:{enablePullDownRefresh:!0,navigationStyle:"custom"}},{path:"grid/grid",style:{}},{path:"list/search/search",style:{navigationBarTitleText:"搜索"}},{path:"list/detail",style:{"app-plus":{titleNView:{buttons:[{type:"share"}],type:"transparent"}},h5:{titleNView:{type:"transparent"}},navigationBarTitleText:"文章详情"}},{path:"workspace/workspace",style:{navigationStyle:"custom"}},{path:"workspace/scene-detail",style:{navigationStyle:"custom"}},{path:"furniture_customer/furniture_customer",style:{navigationStyle:"custom"}},{path:"furniture_reception/furniture_reception_entry",style:{navigationStyle:"custom"}},{path:"bluetooth-recorder/bluetooth-recorder",style:{navigationBarTitleText:"蓝牙录音设备",navigationStyle:"custom"}},{path:"uni-agree/uni-agree",style:{navigationStyle:"custom","app-plus":{popGesture:"none"}}},{path:"ucenter/settings/settings",style:{navigationBarTitleText:"设置"}},{path:"ucenter/read-news-log/read-news-log",style:{navigationBarTitleText:"阅读记录",enablePullDownRefresh:!0}},{path:"ai_features/speech_rating/speech_rating",style:{navigationStyle:"custom"}},{path:"ai_features/intent_level/intent_level",style:{navigationStyle:"custom"}},{path:"ai_features/deal_attribution/deal_attribution",style:{navigationStyle:"custom"}},{path:"ai_features/recording_duration/recording_duration",style:{navigationStyle:"custom"}},{path:"ai_features/customer_count/customer_count",style:{navigationStyle:"custom"}},{path:"ai_features/opening_rate/opening_rate",style:{navigationStyle:"custom"}},{path:"ai_features/over_commitment/over_commitment",style:{navigationStyle:"custom"}},{path:"ai_features/red_line_touch/red_line_touch",style:{navigationStyle:"custom"}},{path:"ai_qa/general_qa/general_qa",style:{navigationStyle:"custom"}},{path:"ai_qa/demand_qa/demand_qa",style:{navigationStyle:"custom"}},{path:"ai_qa/price_qa/price_qa",style:{navigationStyle:"custom"}},{path:"ai_qa/trust_qa/trust_qa",style:{navigationStyle:"custom"}},{path:"ai_qa/decision_qa/decision_qa",style:{navigationStyle:"custom"}},{path:"ai_qa/competitor_qa/competitor_qa",style:{navigationStyle:"custom"}},{path:"ai_qa/objection_qa/objection_qa",style:{navigationStyle:"custom"}},{path:"ai_qa/sharp_qa/sharp_qa",style:{navigationStyle:"custom"}},{path:"ai_qa/after_sales_qa/after_sales_qa",style:{navigationStyle:"custom"}}]}],globalStyle:{navigationBarTextStyle:"black",navigationBarTitleText:"移多旺科技",navigationBarBackgroundColor:"#FFFFFF",backgroundColor:"#F8F8F8",enablePullDownRefresh:!1,rpxCalcMaxDeviceWidth:375,rpxCalcBaseDeviceWidth:375},condition:{list:[{path:"pages-subpackage/list/detail"},{path:"pages-subpackage/ucenter/settings/settings"}],current:0},tabBar:{custom:!1,color:"#7A7E83",selectedColor:"#007AFF",borderStyle:"black",backgroundColor:"#FFFFFF",list:[{pagePath:"pages/workbench/workbench",iconPath:"static/tabbar/team.png",selectedIconPath:"static/tabbar/team_active.png",text:"工作台"},{pagePath:"pages/ucenter/ucenter",iconPath:"static/tabbar/me.png",selectedIconPath:"static/tabbar/me_active.png",text:"我的"}]},uniIdRouter:{loginPage:"uni_modules/uni-id-pages/pages/login/login-withpwd",needLogin:["/uni_modules/uni-id-pages/pages/userinfo/userinfo"],resToLogin:!0},easycom:{autoscan:!0,custom:{"^cloud-image$":"@/uni_modules/uni-id-pages/components/cloud-image/cloud-image.vue"}}};const i=function(){try{if(void 0!==e.index&&e.index&&"function"==typeof e.index.getStorageSync){return e.index.getStorageSync("uni-id-pages-userInfo")||{}}}catch(t){}return{}}()||{},n={async updateUserInfo(t=!1){t&&(this.setUserInfo(t),void 0!==e.index&&e.index.showToast&&e.index.showToast({title:"更新成功",icon:"none",duration:3e3}))},syncUserInfoFromStorage(){try{if(void 0!==e.index&&e.index&&"function"==typeof e.index.getStorageSync){const t=e.index.getStorageSync("uni-id-pages-userInfo")||{};if(Object.keys(t).length>0)return this.setUserInfo(t,{cover:!0}),!0}}catch(t){}return!1},setUserInfo(t,{cover:a}={cover:!1}){const i=t&&"object"==typeof t?t:{};let n=a?i:Object.assign({},o.userInfo||{},i);if(o.userInfo=Object.assign({},n),o.hasLogin=0!=Object.keys(o.userInfo).length,void 0!==e.index&&e.index&&"function"==typeof e.index.setStorageSync)try{e.index.setStorageSync("uni-id-pages-userInfo",o.userInfo)}catch(s){}return i},async logout(){if(void 0===e.index)return void console.warn("uni API not available for logout");const i=e.index.getStorageSync("backend-user-id");if(i)try{await e.index.request({url:t.getApiUrl("/api/sys/auth/logout"),method:"POST",header:{"Content-Type":"application/x-www-form-urlencoded"},data:{userId:i}})}catch(n){console.error("后端登出接口调用失败:",n)}e.index.removeStorageSync("backend-token"),e.index.removeStorageSync("backend-login-response"),e.index.removeStorageSync("backend-user-id"),e.index.removeStorageSync("backend-tenant-id"),e.index.removeStorageSync("uni_id_token"),e.index.setStorageSync("uni_id_token_expired",0),this.setUserInfo({},{cover:!0}),e.index.$emit("uni-id-pages-logout"),e.index.redirectTo({url:`/${a.uniIdRouter&&a.uniIdRouter.loginPage?a.uniIdRouter.loginPage:"uni_modules/uni-id-pages/pages/login/login-withoutpwd"}`})},loginBack(t={}){if(void 0===e.index)return void console.warn("uni API not available for loginBack");const{uniIdRedirectUrl:i=""}=t;let n=0,o=getCurrentPages();if(o.forEach(((e,t)=>{"login"==o[o.length-t-1].route.split("/")[3]&&n++})),i)return e.index.redirectTo({url:i,fail:t=>{e.index.switchTab({url:i,fail:e=>{console.log(t,e)}})}});if(n){const t=a.pages[0];return e.index.reLaunch({url:`/${t.path}`})}e.index.navigateBack({delta:n})},loginSuccess(t={}){const{showToast:a=!0,toastText:i="登录成功",autoBack:n=!0,uniIdRedirectUrl:o="",passwordConfirmed:s}=t;void 0!==e.index?(a&&e.index.showToast({title:i,icon:"none",duration:3e3}),this.updateUserInfo(),e.index.$emit("uni-id-pages-login-success"),n&&this.loginBack({uniIdRedirectUrl:o})):console.warn("uni API not available for loginSuccess")}},o={userInfo:i,hasLogin:0!=Object.keys(i).length};exports.mutations=n,exports.pagesJson=a,exports.store=o;
diff --git a/unpackage/dist/build/mp-weixin/components/ai-analysis-dashboard-body.js b/unpackage/dist/build/mp-weixin/components/ai-analysis-dashboard-body.js
new file mode 100644
index 0000000..320fbc1
--- /dev/null
+++ b/unpackage/dist/build/mp-weixin/components/ai-analysis-dashboard-body.js
@@ -0,0 +1 @@
+"use strict";const e=require("../common/vendor.js"),o={name:"AiAnalysisDashboardBody",props:{contentTop:{type:String,default:""},contentBottom:{type:String,default:"96rpx"}},data:()=>({showQualityCoverage:!1,openQualityCoverageTrigger:0}),computed:{scrollTop(){return this.contentTop||"88rpx"},scrollBottom(){return this.contentBottom||"96rpx"}},methods:{showQualityCoveragePopup(){this.showQualityCoverage=!0,this.$nextTick((()=>{this.openQualityCoverageTrigger++}))},onQualityCoveragePopupClose(){this.showQualityCoverage=!1},navigateToPage(o){const t=`pages-subpackage/ai_features/${o}/${o}`;e.index.navigateTo({url:`/${t}`,fail:o=>{console.error("导航失败:",o),e.index.showToast({title:"页面跳转失败",icon:"none"})}})},quickJumpReceptionTab(o){if(["status","reception","tag"].includes(o)){try{e.index.setStorageSync("workbench-reception-tab",o)}catch(t){console.warn("[AiAnalysisDashboardBody] 写入接待tab快捷跳转参数失败:",t)}e.index.navigateTo({url:`/pages-subpackage/furniture_reception/furniture_reception_entry?tab=${encodeURIComponent(o)}`,fail:o=>{console.error("[AiAnalysisDashboardBody] 快捷跳转接待页失败:",o),e.index.showToast({title:"跳转失败,请稍后重试",icon:"none"})}})}},quickJumpCustomerTab(o){["service","customer"].includes(o)&&e.index.navigateTo({url:`/pages-subpackage/furniture_customer/furniture_customer?tab=${o}`,fail:o=>{console.error("[AiAnalysisDashboardBody] 快捷跳转客户页失败:",o),e.index.showToast({title:"跳转失败,请稍后重试",icon:"none"})}})}}};if(!Array){e.resolveComponent("QualityCoveragePopup")()}const t=e._export_sfc(o,[["render",function(o,t,a,i,n,r){return e.e({a:e.o((e=>r.quickJumpReceptionTab("reception")),"9a"),b:e.o((e=>r.quickJumpReceptionTab("status")),"18"),c:e.o((e=>r.quickJumpReceptionTab("tag")),"59"),d:e.o((e=>r.quickJumpCustomerTab("customer")),"7c"),e:e.o((e=>r.quickJumpCustomerTab("service")),"e4"),f:e.o((e=>r.navigateToPage("recording_duration")),"99"),g:e.o((e=>r.navigateToPage("customer_count")),"57"),h:e.o(((...e)=>r.showQualityCoveragePopup&&r.showQualityCoveragePopup(...e)),"05"),i:e.o((e=>r.navigateToPage("speech_rating")),"a9"),j:e.o((e=>r.navigateToPage("intent_level")),"5b"),k:e.o((e=>r.navigateToPage("deal_attribution")),"4b"),l:e.o((e=>r.navigateToPage("opening_rate")),"89"),m:e.o((e=>r.navigateToPage("over_commitment")),"52"),n:e.o((e=>r.navigateToPage("red_line_touch")),"e8"),o:r.scrollTop,p:r.scrollBottom,q:n.showQualityCoverage},n.showQualityCoverage?{r:e.o(r.onQualityCoveragePopupClose,"99"),s:e.p({"open-trigger":n.openQualityCoverageTrigger})}:{})}],["__scopeId","data-v-da88ed95"]]);wx.createComponent(t);
diff --git a/unpackage/dist/build/mp-weixin/components/ai-analysis-dashboard-body.json b/unpackage/dist/build/mp-weixin/components/ai-analysis-dashboard-body.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/build/mp-weixin/components/ai-analysis-dashboard-body.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/build/mp-weixin/components/ai-analysis-dashboard-body.wxml b/unpackage/dist/build/mp-weixin/components/ai-analysis-dashboard-body.wxml
new file mode 100644
index 0000000..d7a75a4
--- /dev/null
+++ b/unpackage/dist/build/mp-weixin/components/ai-analysis-dashboard-body.wxml
@@ -0,0 +1 @@
+🤝开始接待📋服务中🏷️标签管理👥客户列表📝服务记录⏱️录音时长👥接待客户数📊质检覆盖率🗣️员工话术评分🎯客户意向分级💰成交归因🚪开口率🚨过度承诺统计🔴触及红线统计
\ No newline at end of file
diff --git a/unpackage/dist/build/mp-weixin/components/ai-analysis-dashboard-body.wxss b/unpackage/dist/build/mp-weixin/components/ai-analysis-dashboard-body.wxss
new file mode 100644
index 0000000..c6e905b
--- /dev/null
+++ b/unpackage/dist/build/mp-weixin/components/ai-analysis-dashboard-body.wxss
@@ -0,0 +1 @@
+.ai-dashboard-body.data-v-da88ed95{position:relative;width:100%}.content.data-v-da88ed95{padding-top:0!important;margin-top:0!important;position:relative;top:0;min-height:calc(100vh - 200rpx)}.content-scroll.data-v-da88ed95{position:absolute;left:0;right:0;top:0;bottom:0;padding:0!important;margin:0!important;box-sizing:border-box}.content-scroll>view.data-v-da88ed95{margin-top:0;padding-top:0;margin-bottom:0;padding-bottom:0}.category-section.data-v-da88ed95{margin:20rpx 30rpx;background:#fff;border-radius:16rpx;overflow:hidden;box-shadow:0 2rpx 8rpx rgba(0,0,0,.04)}.category-section.data-v-da88ed95:first-child{margin-top:0}.category-section.data-v-da88ed95:last-child{margin-bottom:0}.category-header.data-v-da88ed95{display:flex;align-items:center;padding:30rpx;background:#fff;border-bottom:1rpx solid #f0f0f0}.category-icon.data-v-da88ed95{font-size:32rpx;margin-right:20rpx}.category-title.data-v-da88ed95{font-size:32rpx;font-weight:500;color:#333}.function-grid.data-v-da88ed95{display:flex;flex-wrap:wrap;padding:10rpx}.quick-links-section .function-item.data-v-da88ed95{width:calc(33.333% - 10rpx);background:#fff;border-radius:12rpx;padding:24rpx 12rpx;margin:5rpx;text-align:center;box-shadow:0 2rpx 4rpx rgba(0,0,0,.04);transition:all .3s ease;border:1rpx solid #f0f0f0;box-sizing:border-box}.two-column .function-item.data-v-da88ed95{flex:1;background:#fff;border-radius:12rpx;padding:24rpx 16rpx;margin:0 5rpx;text-align:center;box-shadow:0 2rpx 4rpx rgba(0,0,0,.04);transition:all .3s ease;border:1rpx solid #f0f0f0}.three-column .function-item.data-v-da88ed95{width:31%;background:#fff;border-radius:12rpx;padding:24rpx 12rpx;margin:1%;text-align:center;box-shadow:0 2rpx 4rpx rgba(0,0,0,.04);transition:all .3s ease;border:1rpx solid #f0f0f0}.sales-analysis .function-item.full-row-item.data-v-da88ed95{flex:1;width:calc(50% - 10rpx);background:#fff;border-radius:12rpx;padding:24rpx 16rpx;margin:0 5rpx;text-align:center;box-shadow:0 2rpx 4rpx rgba(0,0,0,.04);transition:all .3s ease;border:1rpx solid #f0f0f0}.sales-analysis .function-item.new-line-item.data-v-da88ed95{flex-basis:100%;width:calc(50% - 10rpx);margin-top:10rpx}.function-item.data-v-da88ed95:active{transform:scale(.95);box-shadow:0 1rpx 2rpx rgba(0,0,0,.1)}.function-icon.data-v-da88ed95{font-size:48rpx;margin-bottom:12rpx}.function-name.data-v-da88ed95{display:block;font-size:28rpx;font-weight:500;color:#333;margin-bottom:8rpx}.function-desc.data-v-da88ed95{display:block;font-size:24rpx;color:#666;line-height:1.4}
diff --git a/unpackage/dist/build/mp-weixin/custom-tab-bar/index.js b/unpackage/dist/build/mp-weixin/custom-tab-bar/index.js
index 6c1da5d..83029f4 100644
--- a/unpackage/dist/build/mp-weixin/custom-tab-bar/index.js
+++ b/unpackage/dist/build/mp-weixin/custom-tab-bar/index.js
@@ -40,13 +40,6 @@ Component({
iconPath: '/static/tabbar/insight.png',
selectedIconPath: '/static/tabbar/insight_active.png',
},
- {
- key: 'furniture_reception',
- text: '接待',
- pagePath: 'pages/furniture_reception/furniture_reception',
- iconPath: '/static/tabbar/reception.png',
- selectedIconPath: '/static/tabbar/reception_active.png',
- },
{
key: 'common_begin_reception',
text: '开始接待',
@@ -62,11 +55,11 @@ Component({
selectedIconPath: '/static/tabbar/customer_active.png',
},
{
- key: 'ai_analysis',
- text: 'AI分析',
- pagePath: 'pages/ai_analysis/ai_analysis',
- iconPath: '/static/tabbar/ai_analysis.png',
- selectedIconPath: '/static/tabbar/ai_analysis_active.png',
+ key: 'workbench',
+ text: '工作台',
+ pagePath: 'pages/workbench/workbench',
+ iconPath: '/static/tabbar/team.png',
+ selectedIconPath: '/static/tabbar/team_active.png',
},
{
key: 'furniture_top_sales',
@@ -280,10 +273,9 @@ Component({
'team': 'pages/team/team',
'ucenter': 'pages/ucenter/ucenter',
'meeting_summary': 'pages-subpackage/meeting_summary/meeting_summary',
- 'furniture_reception': 'pages/furniture_reception/furniture_reception',
'common_begin_reception': 'pages/furniture_reception/common_begin_reception',
+ 'workbench': 'pages/workbench/workbench',
'furniture_customer': 'pages-subpackage/furniture_customer/furniture_customer',
- 'ai_analysis': 'pages/ai_analysis/ai_analysis',
'furniture_top_sales': 'pages/furniture_top_sales/furniture_top_sales'
};
@@ -511,7 +503,7 @@ Component({
const hasFurnitureRole = roles.includes('furniture');
if (isAdminFurniture || hasFurnitureRole) {
- const furnitureTabs = ['furniture_reception', 'furniture_customer', 'ai_analysis', 'ucenter'];
+ const furnitureTabs = ['workbench', 'ucenter'];
console.log('[TabBar][allowed] furniture/admin_furniture role ->', furnitureTabs);
return furnitureTabs;
}
diff --git a/unpackage/dist/build/mp-weixin/custom-tab-bar/index.vue b/unpackage/dist/build/mp-weixin/custom-tab-bar/index.vue
index 967839b..7e4713a 100644
--- a/unpackage/dist/build/mp-weixin/custom-tab-bar/index.vue
+++ b/unpackage/dist/build/mp-weixin/custom-tab-bar/index.vue
@@ -34,13 +34,6 @@ export default {
roles: [],
currentPath: '',
allTabs: [
- {
- key: 'furniture_reception',
- text: '接待',
- pagePath: '/pages/furniture_reception/furniture_reception',
- iconPath: '/static/tabbar/reception.png',
- selectedIconPath: '/static/tabbar/reception_active.png',
- },
{
key: 'furniture_customer',
text: '客户',
@@ -78,11 +71,11 @@ export default {
selectedIconPath: '/static/tabbar/me_active.png',
},
{
- key: 'ai_analysis',
- text: 'AI分析',
- pagePath: '/pages/ai_analysis/ai_analysis',
- iconPath: '/static/tabbar/ai_analysis.png',
- selectedIconPath: '/static/tabbar/ai_analysis_active.png',
+ key: 'workbench',
+ text: '工作台',
+ pagePath: '/pages/workbench/workbench',
+ iconPath: '/static/tabbar/team.png',
+ selectedIconPath: '/static/tabbar/team_active.png',
},
{
key: 'meeting_summary',
@@ -96,36 +89,22 @@ export default {
},
computed: {
furnitureTabs() {
- // 强制返回所有家具角色的tab,使用与pages.json相同的路径格式
+ // 与 pages.json 的 tabBar 一致:工作台、我的
return [
{
- key: 'furniture_reception',
- text: '接待',
- pagePath: 'pages/furniture_reception/furniture_reception', // 移除开头的/
- iconPath: '/static/tabbar/reception.png',
- selectedIconPath: '/static/tabbar/reception_active.png',
- },
- {
- key: 'furniture_customer',
- text: '客户',
- pagePath: 'pages-subpackage/furniture_customer/furniture_customer', // 移除开头的/
- iconPath: '/static/tabbar/customer.png',
- selectedIconPath: '/static/tabbar/customer_active.png',
- },
- {
- key: 'ai_analysis',
- text: 'AI分析',
- pagePath: 'pages/ai_analysis/ai_analysis',
- iconPath: '/static/tabbar/ai_analysis.png',
- selectedIconPath: '/static/tabbar/ai_analysis_active.png',
+ key: 'workbench',
+ text: '工作台',
+ pagePath: '/pages/workbench/workbench',
+ iconPath: '/static/tabbar/team.png',
+ selectedIconPath: '/static/tabbar/team_active.png',
},
{
key: 'ucenter',
text: '我的',
- pagePath: 'pages/ucenter/ucenter', // 移除开头的/
+ pagePath: '/pages/ucenter/ucenter',
iconPath: '/static/tabbar/me.png',
selectedIconPath: '/static/tabbar/me_active.png',
- }
+ },
];
},
@@ -134,7 +113,7 @@ export default {
console.log('VISIBLE TABS CALC - THIS MUST SHOW IN H5');
// 简化逻辑:直接返回家具相关的tabs,跳过权限检查
- const furnitureKeys = ['furniture_reception', 'furniture_customer', 'ai_analysis', 'ucenter'];
+ const furnitureKeys = ['workbench', 'ucenter'];
const result = furnitureKeys.map(key => {
return this.allTabs.find(tab => tab.key === key);
}).filter(Boolean);
@@ -289,15 +268,15 @@ export default {
console.log('GET ALLOWED KEYS - 简化版本,总是返回家具相关tabs');
// 简化逻辑:总是返回家具相关的tabs
- const furnitureTabs = ['furniture_reception', 'furniture_customer', 'ai_analysis', 'ucenter'];
+ const furnitureTabs = ['workbench', 'ucenter'];
console.log('[TabBar][allowed] 简化逻辑 ->', furnitureTabs);
return furnitureTabs;
},
// #ifdef H5
toggleNativeTabs() {
// H5 平台自定义 tabbar 不生效,直接根据角色显隐原生 tabbar 项
- // 当前位置顺序(根据 pages.json 中的 tabBar.list 顺序):接待、客户、AI分析、我的、团队、总结和统计…
- const ORDER = ['furniture_reception', 'furniture_customer', 'ai_analysis', 'ucenter', 'reception', 'customer', 'team', 'meeting_summary', 'common_begin_reception'];
+ // 当前位置顺序(与 pages.json 的 tabBar.list 一致):工作台、我的…
+ const ORDER = ['workbench', 'ucenter', 'reception', 'customer', 'team', 'meeting_summary', 'common_begin_reception'];
const allowed = this.getAllowedKeys();
// 限制重试次数,防止渲染时机未就绪
this._h5TabRetries = (this._h5TabRetries || 0) + 1;
@@ -326,10 +305,8 @@ export default {
isInTabBar(pagePath) {
// 检查页面路径是否在原生tabBar配置中
const tabBarList = [
- 'pages/furniture_reception/furniture_reception',
- 'pages-subpackage/furniture_customer/furniture_customer',
- 'pages/ai_analysis/ai_analysis',
- 'pages/ucenter/ucenter'
+ 'pages/workbench/workbench',
+ 'pages/ucenter/ucenter',
];
const normalizedPath = pagePath.startsWith('/') ? pagePath.substring(1) : pagePath;
const result = tabBarList.includes(normalizedPath);
@@ -367,9 +344,7 @@ export default {
const allElements = document.querySelectorAll('*');
const tabElements = Array.from(allElements).filter(el =>
el.textContent && (
- el.textContent.includes('接待') ||
- el.textContent.includes('客户') ||
- el.textContent.includes('AI分析') ||
+ el.textContent.includes('工作台') ||
el.textContent.includes('我的')
)
);
@@ -406,9 +381,9 @@ export default {
return;
}
- // 按文本内容排序:接待、客户、AI分析、我的
+ // 按文本内容排序:工作台、我的
const sortedElements = tabElements.sort((a, b) => {
- const order = ['接待', '客户', 'AI分析', '我的'];
+ const order = ['工作台', '我的'];
const aIndex = order.findIndex(text => a.textContent.includes(text));
const bIndex = order.findIndex(text => b.textContent.includes(text));
return aIndex - bIndex;
@@ -418,7 +393,7 @@ export default {
// 处理每个元素
sortedElements.forEach((element, index) => {
- const keyMap = ['furniture_reception', 'furniture_customer', 'ai_analysis', 'ucenter'];
+ const keyMap = ['workbench', 'ucenter'];
const key = keyMap[index];
const shouldShow = allowed.includes(key);
diff --git a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception-impl.js b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception-impl.js
index b4efe01..a7cd08b 100644
--- a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception-impl.js
+++ b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception-impl.js
@@ -1 +1 @@
-"use strict";const e=require("../../common/vendor.js"),t=require("../../common/config.js"),o={props:{incomingTab:{type:String,default:""}},components:{CommonBeginReception:()=>"./common_begin_reception.js",ServiceListFurniture:()=>"./serviceListFurniture.js"},data:()=>({activeTab:"status",navbarTop:"88rpx",contentTop:"160rpx",receptionForm:{id:"",customerName:"",contact:"",customerSource:"",gender:"女",age:"",dealershipId:"",dealershipName:"",salesId:"",salesName:"",salesPhone:"",recordingCount:0,intendedModel:"",infoCard:"",remark:"",detailedAddress:"",contactCount:0},tagViewMode:"list",tagList:[],tagLoading:!1,tagTotal:0,tagPage:{current:1,size:10},tagQuery:{industry:"",tagType:"",tagName:""},tagForm:{id:"",industry:"家居行业",tagType:"",name:"",detail:"",remark:"",enabled:!0},tagTypeOptions:["接待客户","质检SOP","客户画像"],showTagTypeDropdown:!1,selectedTagItem:null,showTagActionMenu:!1}),watch:{incomingTab:{immediate:!0,handler(e){this.applyIncomingTab(e)}}},computed:{computedNavbarTop(){console.log("[FurnitureReception][computedNavbarTop] 计算导航栏位置");const t=e.index.getSystemInfoSync().statusBarHeight||20,o=2*t+88,a=o+"rpx";return console.log("[FurnitureReception][computedNavbarTop] 计算结果:",{statusBarHeight:t,navbarHeight:44,totalNavbarHeight:o,result:a}),a},computedContentTop(){console.log("[FurnitureReception][computedContentTop] 计算内容区域位置");const t=e.index.getSystemInfoSync().statusBarHeight||20,o=2*t+88,a=o+72+"rpx";return console.log("[FurnitureReception][computedContentTop] 计算结果:",{statusBarHeight:t,navbarHeight:44,totalNavbarHeight:o,result:a}),a}},onLoad(){console.log("[FurnitureReception][onLoad] 页面加载"),this.updateNavbarPosition(),this.loadCurrentUserInfo()},onShow(){console.log("[FurnitureReception][onShow] 页面显示"),this.$nextTick((()=>{this.updateNavbarPosition(),setTimeout((()=>{this.updateNavbarPosition(),console.log("[FurnitureReception][onShow] 延迟更新后的位置:",{navbarTop:this.navbarTop,contentTop:this.contentTop,computedNavbarTop:this.computedNavbarTop,computedContentTop:this.computedContentTop})}),50)}))},onReady(){console.log("[FurnitureReception][onReady] 页面渲染完成"),console.log("[FurnitureReception][onReady] activeTab:",this.activeTab),console.log("[FurnitureReception][onReady] navbarTop:",this.navbarTop),console.log("[FurnitureReception][onReady] contentTop:",this.contentTop),console.log("[FurnitureReception][onReady] computedNavbarTop:",this.computedNavbarTop),console.log("[FurnitureReception][onReady] computedContentTop:",this.computedContentTop),this.updateNavbarPosition(),this.initUrlHidingAfterPageLoad();const t=e.index.getSystemInfoSync();console.log("[FurnitureReception][onReady] 系统信息:",{statusBarHeight:t.statusBarHeight,windowHeight:t.windowHeight,screenHeight:t.screenHeight}),setTimeout((()=>{e.index.createSelectorQuery().in(this).select(".tabs").boundingClientRect((e=>{console.log("[FurnitureReception][onReady] tab栏元素信息:",e),e?(console.log("[FurnitureReception][onReady] tab栏位置:",{top:e.top,left:e.left,width:e.width,height:e.height,expectedTop:this.navbarTop,computedNavbarTop:this.computedNavbarTop,isVisible:e.width>0&&e.height>0,isOnScreen:e.top>=0&&e.top{this.showTagTypeDropdown&&this.updateTagTypeDropdownPosition()}))},methods:{applyIncomingTab(e){["status","reception","tag"].includes(e)&&(this.activeTab!==e&&(this.activeTab=e),"reception"===e?this.resetReceptionForm():"tag"===e&&(this.tagViewMode="list",this.fetchTagList({force:!0})))},updateNavbarPosition(){console.log("[FurnitureReception][updateNavbarPosition] 开始更新导航栏位置");const t=e.index.getSystemInfoSync().statusBarHeight||20,o=2*t+88,a=o+"rpx",i=o+72+"rpx";console.log("[FurnitureReception][updateNavbarPosition] 更新导航栏位置:",{statusBarHeight:t,navbarHeight:44,totalNavbarHeight:o,navbarTop:a,contentTop:i,currentNavbarTop:this.navbarTop,currentContentTop:this.contentTop}),this.$set(this,"navbarTop",a),this.$set(this,"contentTop",i),this.$forceUpdate()},loadCurrentUserInfo(){try{const t=e.index.getStorageSync("backend-login-response")||{};t.userName&&(this.receptionForm.salesName=t.userName),t.phone?this.receptionForm.salesPhone=t.phone:t.userName&&(this.receptionForm.salesPhone=t.userName),t.userId&&(this.receptionForm.salesId=String(t.userId))}catch(t){console.error("加载当前登录用户信息失败:",t)}},goBack(){getCurrentPages().length<=1?e.index.switchTab({url:"/pages/ai_analysis/ai_analysis",fail:e=>{console.error("[FurnitureReception][goBack] 切回AI分析页失败:",e)}}):e.index.navigateBack({fail:e=>{console.error("[FurnitureReception][goBack] 返回失败:",e)}})},switchTab(e){this.activeTab=e,"reception"===e?this.resetReceptionForm():"tag"===e&&(this.tagViewMode="list",this.fetchTagList())},resetReceptionForm(){this.receptionForm={id:"",customerName:"",contact:"",customerSource:"",gender:"女",age:"",dealershipId:"",dealershipName:"",salesId:"",salesName:"",salesPhone:"",recordingCount:0,intendedModel:"",infoCard:"",remark:"",detailedAddress:"",contactCount:0},this.loadCurrentUserInfo()},onReceptionCancel(){this.resetReceptionForm()},onReceptionSaveSuccess({action:e,data:t}){t&&(this.receptionForm={...this.receptionForm,...t}),this.resetReceptionForm(),"start"===e&&console.log("开始接待成功",t)},onReceptionSaveError({action:e,error:t}){console.error("保存失败:",t)},onTagListSearch(){"tag"!==this.activeTab&&(this.activeTab="tag"),this.tagPage.current=1,this.fetchTagList({force:!0})},onTagListRefresh(){this.tagPage.current=1,this.fetchTagList({force:!0})},onTagListReachBottom(){this.tagLoading||this.tagList.length>=this.tagTotal||(this.tagPage.current+=1,this.fetchTagList())},async fetchTagList({force:o=!1}={}){var a,i,n,s,r;if(!this.tagLoading||o){this.tagLoading=!0;try{const c={current:this.tagPage.current,size:this.tagPage.size},g=null==(i=null==(a=this.tagQuery)?void 0:a.tagType)?void 0:i.trim(),l=null==(s=null==(n=this.tagQuery)?void 0:n.tagName)?void 0:s.trim();g&&(c.tagType=g),l&&(c.tagName=l);const h=t.getApiUrl("/api/industryTags/list");let p="",u="";try{p=e.index.getStorageSync("backend-tenant-id")||"",u=e.index.getStorageSync("backend-token")||""}catch(d){console.error("获取认证信息失败:",d)}const T={"Content-Type":"application/json"};u&&(T.Authorization=`Bearer ${u}`),p&&(T["X-Tenant-Id"]=p);const m=await e.index.request({url:h,method:"POST",data:c,header:T,timeout:3e4});if(200===m.statusCode&&m.data&&m.data.success){const e=Array.isArray(m.data.data)?m.data.data:[];1===this.tagPage.current||o?this.tagList=e:this.tagList=this.tagList.concat(e),this.tagTotal=Number(m.data.total)||0}else this.tagList=[],this.tagTotal=0,e.index.showToast({title:(null==(r=m.data)?void 0:r.message)||"获取标签列表失败",icon:"none"})}catch(c){console.error("获取标签列表失败:",c);let t="获取标签列表失败,请稍后重试";c.errMsg&&(c.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":c.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}finally{this.tagLoading=!1}}},showAddTag(){this.tagViewMode="add",this.showTagTypeDropdown=!1,this.tagForm={id:"",industry:"家居行业",tagType:"",name:"",detail:"",remark:"",enabled:!0}},onTagItemClick(e){},onTagActionBtnClick(e){this.selectedTagItem&&this.selectedTagItem.id===e.id&&this.showTagActionMenu?this.closeTagActionMenu():(this.selectedTagItem=e,this.showTagActionMenu=!0)},closeTagActionMenu(){this.showTagActionMenu=!1,this.selectedTagItem=null},editTag(e){this.closeTagActionMenu(),this.tagViewMode="edit",this.showTagTypeDropdown=!1,this.tagForm={id:e.id||"",industry:e.industry||"家居行业",tagType:e.tagType||"",name:e.tagName||e.name||"",detail:e.tagDetail||e.detail||"",remark:e.remark||"",enabled:void 0!==e.enabled?e.enabled:void 0===e.isEnabled||e.isEnabled}},async deleteTag(o){this.closeTagActionMenu();const a=o.id;a?e.index.showModal({title:"确认删除",content:`确定要删除标签"${o.tagName||o.name||"未命名标签"}"吗?`,success:async o=>{var i,n;if(o.confirm)try{e.index.showLoading({title:"删除中..."});const o=t.getApiUrl(`/api/industryTags/delete/${a}`);let r="",d="";try{r=e.index.getStorageSync("backend-tenant-id")||"",d=e.index.getStorageSync("backend-token")||""}catch(s){console.error("获取认证信息失败:",s)}const c={};d&&(c.Authorization=`Bearer ${d}`),r&&(c["X-Tenant-Id"]=r);const g=await e.index.request({url:o,method:"DELETE",header:c,timeout:3e4});e.index.hideLoading(),200===g.statusCode&&g.data&&g.data.success?(e.index.showToast({title:(null==(i=g.data)?void 0:i.message)||"删除成功",icon:"success"}),this.tagPage.current=1,this.fetchTagList({force:!0})):e.index.showToast({title:(null==(n=g.data)?void 0:n.message)||"删除失败",icon:"none"})}catch(r){e.index.hideLoading(),console.error("删除标签失败:",r);let t="删除失败,请重试";r.errMsg&&(r.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":r.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}}}):e.index.showToast({title:"无法获取标签ID",icon:"none"})},cancelAddTag(){this.tagViewMode="list",this.showTagTypeDropdown=!1,this.tagForm={id:"",industry:"家居行业",tagType:"",name:"",detail:"",remark:"",enabled:!0}},toggleTagTypeDropdown(){this.showTagTypeDropdown=!this.showTagTypeDropdown,this.showTagTypeDropdown&&this.$nextTick((()=>{this.updateTagTypeDropdownPosition()}))},updateTagTypeDropdownPosition(){e.index.createSelectorQuery().in(this).select(".tag-select").boundingClientRect((e=>{if(e){const t=this.$refs.tagTypeDropdown;t&&this.$nextTick((()=>{const o=t.$el||t;o&&o.style&&(o.style.top=e.bottom+8+"px",o.style.left=e.left+"px",o.style.width=e.width+"px")}))}})).exec()},selectTagType(e){this.tagForm.tagType=e,this.showTagTypeDropdown=!1},closeTagTypeDropdown(){this.showTagTypeDropdown=!1},onEnabledChange(e){this.tagForm.enabled=e.detail.value},async saveTag(){var o,a,i,n;if(this.tagForm.name&&this.tagForm.name.trim())try{e.index.showLoading({title:"edit"===this.tagViewMode?"更新中...":"保存中..."});const r={industry:(null==(o=this.tagForm.industry)?void 0:o.trim())||"",tagType:(null==(a=this.tagForm.tagType)?void 0:a.trim())||"",tagName:this.tagForm.name.trim(),tagDetail:(null==(i=this.tagForm.detail)?void 0:i.trim())||"",remark:(null==(n=this.tagForm.remark)?void 0:n.trim())||"",enabled:void 0===this.tagForm.enabled||this.tagForm.enabled};"edit"===this.tagViewMode&&this.tagForm.id&&(r.id=this.tagForm.id);const d="edit"===this.tagViewMode?t.getApiUrl("/api/industryTags/update"):t.getApiUrl("/api/industryTags/add"),c="edit"===this.tagViewMode?"PUT":"POST";let g="",l="";try{g=e.index.getStorageSync("backend-tenant-id")||"",l=e.index.getStorageSync("backend-token")||""}catch(s){console.error("获取认证信息失败:",s)}const h={"Content-Type":"application/json"};l&&(h.Authorization=`Bearer ${l}`),g&&(h["X-Tenant-Id"]=g);const p=await e.index.request({url:d,method:c,data:r,header:h,timeout:3e4}),{statusCode:u,data:T}=p;if(200!==u||!T||!T.success&&200!==T.code)throw new Error((null==T?void 0:T.message)||("edit"===this.tagViewMode?"更新失败":"保存失败"));e.index.showToast({title:(null==T?void 0:T.message)||("edit"===this.tagViewMode?"更新成功":"保存成功"),icon:"success"}),this.tagViewMode="list",this.tagPage.current=1,this.fetchTagList({force:!0})}catch(r){console.error("保存标签失败:",r);let t=(null==r?void 0:r.message)||("edit"===this.tagViewMode?"更新失败,请重试":"保存失败,请重试");r.errMsg&&(r.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":r.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}finally{e.index.hideLoading()}else e.index.showToast({title:"请输入标签名",icon:"none"})},initUrlHidingAfterPageLoad(){},attemptUrlHidingForCurrentPage(){},setupTabNavigationHiding(){},setupBrowserNavigationHiding(){}}};if(!Array){(e.resolveComponent("uni-nav-bar")+e.resolveComponent("service-list-furniture")+e.resolveComponent("common-begin-reception")+e.resolveComponent("uni-icons"))()}Math||((()=>"../../uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.js")+(()=>"../../uni_modules/uni-icons/components/uni-icons/uni-icons.js"))();const a=e._export_sfc(o,[["render",function(t,o,a,i,n,s){return e.e({a:e.o(s.goBack,"66"),b:e.p({fixed:!0,statusBar:!0,border:!1,title:"AI销冠系统",leftIcon:"left",color:"#333",backgroundColor:"#FFFFFF"}),c:"reception"===n.activeTab?1:"",d:e.o((e=>s.switchTab("reception")),"5d"),e:"status"===n.activeTab?1:"",f:e.o((e=>s.switchTab("status")),"a2"),g:"tag"===n.activeTab?1:"",h:e.o((e=>s.switchTab("tag")),"4c"),i:s.computedNavbarTop||n.navbarTop,j:"status"===n.activeTab},"status"===n.activeTab?{k:s.computedContentTop||n.contentTop}:{},{l:"reception"===n.activeTab},"reception"===n.activeTab?{m:e.o(s.onReceptionCancel,"4e"),n:e.o(s.onReceptionSaveSuccess,"82"),o:e.o(s.onReceptionSaveError,"79"),p:e.p({"initial-data":n.receptionForm})}:{},{q:"tag"===n.activeTab&&"list"===n.tagViewMode},"tag"===n.activeTab&&"list"===n.tagViewMode?e.e({r:e.t(n.tagTotal),s:e.o(((...e)=>s.onTagListSearch&&s.onTagListSearch(...e)),"b3"),t:n.tagQuery.tagType,v:e.o((e=>n.tagQuery.tagType=e.detail.value),"48"),w:e.o(((...e)=>s.onTagListSearch&&s.onTagListSearch(...e)),"13"),x:n.tagQuery.tagName,y:e.o((e=>n.tagQuery.tagName=e.detail.value),"c3"),z:e.p({type:"refresh",size:"18",color:"#2A68FF"}),A:e.o(((...e)=>s.onTagListRefresh&&s.onTagListRefresh(...e)),"fe"),B:e.p({type:"plus",size:"18",color:"#2A68FF"}),C:e.o(((...e)=>s.showAddTag&&s.showAddTag(...e)),"0b"),D:e.f(n.tagList,((t,o,a)=>e.e({a:e.t((t.tagName||t.name||"标").charAt(0)),b:e.t(t.tagName||t.name||"未命名标签"),c:e.o((e=>s.onTagItemClick(t)),o),d:"638dc4bb-5-"+a,e:e.o((e=>s.onTagActionBtnClick(t)),o),f:t.industry},t.industry?{g:e.t(t.industry)}:{},{h:e.o((e=>s.onTagItemClick(t)),o),i:t.tagDetail||t.detail||t.remark},t.tagDetail||t.detail||t.remark?e.e({j:t.tagDetail||t.detail},t.tagDetail||t.detail?{k:e.t(t.tagDetail||t.detail)}:{},{l:t.remark},t.remark?{m:e.t(t.remark)}:{},{n:e.o((e=>s.onTagItemClick(t)),o)}):{},{o:n.selectedTagItem&&n.selectedTagItem.id===t.id&&n.showTagActionMenu},n.selectedTagItem&&n.selectedTagItem.id===t.id&&n.showTagActionMenu?{p:e.o((e=>s.editTag(t)),o),q:e.o((e=>s.deleteTag(t)),o),r:e.o((()=>{}),o)}:{},{s:o,t:n.selectedTagItem&&n.selectedTagItem.id===t.id?1:""}))),E:e.p({type:"more-filled",size:"20",color:"#999"}),F:n.showTagActionMenu},n.showTagActionMenu?{G:e.o(((...e)=>s.closeTagActionMenu&&s.closeTagActionMenu(...e)),"46")}:{},{H:!n.tagLoading&&!n.tagList.length},(n.tagLoading||n.tagList.length,{}),{I:n.tagLoading&&n.tagList.length},(n.tagLoading&&n.tagList.length,{}),{J:s.computedContentTop||n.contentTop,K:e.o(((...e)=>s.onTagListReachBottom&&s.onTagListReachBottom(...e)),"9d")}):{},{L:"tag"===n.activeTab&&("add"===n.tagViewMode||"edit"===n.tagViewMode)},"tag"!==n.activeTab||"add"!==n.tagViewMode&&"edit"!==n.tagViewMode?{}:e.e({M:"add"===n.tagViewMode},"add"===n.tagViewMode?{N:n.tagForm.industry,O:e.o((e=>n.tagForm.industry=e.detail.value),"ac")}:{},{P:e.t(n.tagForm.tagType||"请选择标签分类"),Q:e.n(n.tagForm.tagType?"form-item__picker-text":"form-item__picker-placeholder"),R:e.p({type:"bottom",size:"16",color:"#9ca3af"}),S:e.o(((...e)=>s.toggleTagTypeDropdown&&s.toggleTagTypeDropdown(...e)),"ff"),T:n.showTagTypeDropdown},n.showTagTypeDropdown?{U:e.f(n.tagTypeOptions,((t,o,a)=>({a:e.t(t),b:t===n.tagForm.tagType?1:"",c:t,d:e.o((e=>s.selectTagType(t)),t)}))),V:e.o((()=>{}),"e2")}:{},{W:n.tagForm.name,X:e.o((e=>n.tagForm.name=e.detail.value),"9d"),Y:n.tagForm.detail,Z:e.o((e=>n.tagForm.detail=e.detail.value),"dd"),aa:n.tagForm.remark,ab:e.o((e=>n.tagForm.remark=e.detail.value),"d3"),ac:n.tagForm.enabled,ad:e.o(((...e)=>s.onEnabledChange&&s.onEnabledChange(...e)),"46"),ae:e.o(((...e)=>s.cancelAddTag&&s.cancelAddTag(...e)),"74"),af:e.t("edit"===n.tagViewMode?"更新":"保存"),ag:e.o(((...e)=>s.saveTag&&s.saveTag(...e)),"ce"),ah:n.showTagTypeDropdown},n.showTagTypeDropdown?{ai:e.o(((...e)=>s.closeTagTypeDropdown&&s.closeTagTypeDropdown(...e)),"6e")}:{},{aj:s.computedContentTop||n.contentTop}))}]]);wx.createComponent(a);
+"use strict";const e=require("../../common/vendor.js"),t=require("../../common/config.js"),o={props:{incomingTab:{type:String,default:""}},components:{CommonBeginReception:()=>"./common_begin_reception.js",ServiceListFurniture:()=>"./serviceListFurniture.js"},data:()=>({activeTab:"status",navbarTop:"88rpx",contentTop:"160rpx",receptionForm:{id:"",customerName:"",contact:"",customerSource:"",gender:"女",age:"",dealershipId:"",dealershipName:"",salesId:"",salesName:"",salesPhone:"",recordingCount:0,intendedModel:"",infoCard:"",remark:"",detailedAddress:"",contactCount:0},tagViewMode:"list",tagList:[],tagLoading:!1,tagTotal:0,tagPage:{current:1,size:10},tagQuery:{industry:"",tagType:"",tagName:""},tagForm:{id:"",industry:"家居行业",tagType:"",name:"",detail:"",remark:"",enabled:!0},tagTypeOptions:["接待客户","质检SOP","客户画像"],showTagTypeDropdown:!1,selectedTagItem:null,showTagActionMenu:!1}),watch:{incomingTab:{immediate:!0,handler(e){this.applyIncomingTab(e)}}},computed:{computedNavbarTop(){console.log("[FurnitureReception][computedNavbarTop] 计算导航栏位置");const t=e.index.getSystemInfoSync().statusBarHeight||20,o=2*t+88,a=o+"rpx";return console.log("[FurnitureReception][computedNavbarTop] 计算结果:",{statusBarHeight:t,navbarHeight:44,totalNavbarHeight:o,result:a}),a},computedContentTop(){console.log("[FurnitureReception][computedContentTop] 计算内容区域位置");const t=e.index.getSystemInfoSync().statusBarHeight||20,o=2*t+88,a=o+72+"rpx";return console.log("[FurnitureReception][computedContentTop] 计算结果:",{statusBarHeight:t,navbarHeight:44,totalNavbarHeight:o,result:a}),a}},onLoad(){console.log("[FurnitureReception][onLoad] 页面加载"),this.updateNavbarPosition(),this.loadCurrentUserInfo()},onShow(){console.log("[FurnitureReception][onShow] 页面显示"),this.$nextTick((()=>{this.updateNavbarPosition(),setTimeout((()=>{this.updateNavbarPosition(),console.log("[FurnitureReception][onShow] 延迟更新后的位置:",{navbarTop:this.navbarTop,contentTop:this.contentTop,computedNavbarTop:this.computedNavbarTop,computedContentTop:this.computedContentTop})}),50)}))},onReady(){console.log("[FurnitureReception][onReady] 页面渲染完成"),console.log("[FurnitureReception][onReady] activeTab:",this.activeTab),console.log("[FurnitureReception][onReady] navbarTop:",this.navbarTop),console.log("[FurnitureReception][onReady] contentTop:",this.contentTop),console.log("[FurnitureReception][onReady] computedNavbarTop:",this.computedNavbarTop),console.log("[FurnitureReception][onReady] computedContentTop:",this.computedContentTop),this.updateNavbarPosition(),this.initUrlHidingAfterPageLoad();const t=e.index.getSystemInfoSync();console.log("[FurnitureReception][onReady] 系统信息:",{statusBarHeight:t.statusBarHeight,windowHeight:t.windowHeight,screenHeight:t.screenHeight}),setTimeout((()=>{e.index.createSelectorQuery().in(this).select(".tabs").boundingClientRect((e=>{console.log("[FurnitureReception][onReady] tab栏元素信息:",e),e?(console.log("[FurnitureReception][onReady] tab栏位置:",{top:e.top,left:e.left,width:e.width,height:e.height,expectedTop:this.navbarTop,computedNavbarTop:this.computedNavbarTop,isVisible:e.width>0&&e.height>0,isOnScreen:e.top>=0&&e.top{this.showTagTypeDropdown&&this.updateTagTypeDropdownPosition()}))},methods:{refreshPageData(){this.$nextTick((()=>{const e=this.$refs.serviceListRef;"status"===this.activeTab?e&&"function"==typeof e.onServiceStatusRefresh&&e.onServiceStatusRefresh():"tag"===this.activeTab&&"list"===this.tagViewMode&&this.fetchTagList({force:!0})}))},applyIncomingTab(e){["status","reception","tag"].includes(e)&&(this.activeTab!==e&&(this.activeTab=e),"reception"===e?this.resetReceptionForm():"tag"===e?(this.tagViewMode="list",this.fetchTagList({force:!0})):"status"===e&&this.$nextTick((()=>{this.refreshPageData()})))},updateNavbarPosition(){console.log("[FurnitureReception][updateNavbarPosition] 开始更新导航栏位置");const t=e.index.getSystemInfoSync().statusBarHeight||20,o=2*t+88,a=o+"rpx",i=o+72+"rpx";console.log("[FurnitureReception][updateNavbarPosition] 更新导航栏位置:",{statusBarHeight:t,navbarHeight:44,totalNavbarHeight:o,navbarTop:a,contentTop:i,currentNavbarTop:this.navbarTop,currentContentTop:this.contentTop}),this.$set(this,"navbarTop",a),this.$set(this,"contentTop",i),this.$forceUpdate()},loadCurrentUserInfo(){try{const t=e.index.getStorageSync("backend-login-response")||{};t.userName&&(this.receptionForm.salesName=t.userName),t.phone?this.receptionForm.salesPhone=t.phone:t.userName&&(this.receptionForm.salesPhone=t.userName),t.userId&&(this.receptionForm.salesId=String(t.userId))}catch(t){console.error("加载当前登录用户信息失败:",t)}},goBack(){getCurrentPages().length<=1?e.index.switchTab({url:"/pages/workbench/workbench",fail:e=>{console.error("[FurnitureReception][goBack] 切回工作台失败:",e)}}):e.index.navigateBack({fail:e=>{console.error("[FurnitureReception][goBack] 返回失败:",e)}})},switchTab(e){this.activeTab=e,"reception"===e?this.resetReceptionForm():"tag"===e&&(this.tagViewMode="list",this.fetchTagList())},resetReceptionForm(){this.receptionForm={id:"",customerName:"",contact:"",customerSource:"",gender:"女",age:"",dealershipId:"",dealershipName:"",salesId:"",salesName:"",salesPhone:"",recordingCount:0,intendedModel:"",infoCard:"",remark:"",detailedAddress:"",contactCount:0},this.loadCurrentUserInfo()},onReceptionCancel(){this.resetReceptionForm()},onReceptionSaveSuccess({action:e,data:t}){t&&(this.receptionForm={...this.receptionForm,...t}),this.resetReceptionForm(),"start"===e&&console.log("开始接待成功",t)},onReceptionSaveError({action:e,error:t}){console.error("保存失败:",t)},onTagListSearch(){"tag"!==this.activeTab&&(this.activeTab="tag"),this.tagPage.current=1,this.fetchTagList({force:!0})},onTagListRefresh(){this.tagPage.current=1,this.fetchTagList({force:!0})},onTagListReachBottom(){this.tagLoading||this.tagList.length>=this.tagTotal||(this.tagPage.current+=1,this.fetchTagList())},async fetchTagList({force:o=!1}={}){var a,i,n,s,r;if(!this.tagLoading||o){this.tagLoading=!0;try{const d={current:this.tagPage.current,size:this.tagPage.size},g=null==(i=null==(a=this.tagQuery)?void 0:a.tagType)?void 0:i.trim(),l=null==(s=null==(n=this.tagQuery)?void 0:n.tagName)?void 0:s.trim();g&&(d.tagType=g),l&&(d.tagName=l);const h=t.getApiUrl("/api/industryTags/list");let p="",u="";try{p=e.index.getStorageSync("backend-tenant-id")||"",u=e.index.getStorageSync("backend-token")||""}catch(c){console.error("获取认证信息失败:",c)}const T={"Content-Type":"application/json"};u&&(T.Authorization=`Bearer ${u}`),p&&(T["X-Tenant-Id"]=p);const m=await e.index.request({url:h,method:"POST",data:d,header:T,timeout:3e4});if(200===m.statusCode&&m.data&&m.data.success){const e=Array.isArray(m.data.data)?m.data.data:[];1===this.tagPage.current||o?this.tagList=e:this.tagList=this.tagList.concat(e),this.tagTotal=Number(m.data.total)||0}else this.tagList=[],this.tagTotal=0,e.index.showToast({title:(null==(r=m.data)?void 0:r.message)||"获取标签列表失败",icon:"none"})}catch(d){console.error("获取标签列表失败:",d);let t="获取标签列表失败,请稍后重试";d.errMsg&&(d.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":d.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}finally{this.tagLoading=!1}}},showAddTag(){this.tagViewMode="add",this.showTagTypeDropdown=!1,this.tagForm={id:"",industry:"家居行业",tagType:"",name:"",detail:"",remark:"",enabled:!0}},onTagItemClick(e){},onTagActionBtnClick(e){this.selectedTagItem&&this.selectedTagItem.id===e.id&&this.showTagActionMenu?this.closeTagActionMenu():(this.selectedTagItem=e,this.showTagActionMenu=!0)},closeTagActionMenu(){this.showTagActionMenu=!1,this.selectedTagItem=null},editTag(e){this.closeTagActionMenu(),this.tagViewMode="edit",this.showTagTypeDropdown=!1,this.tagForm={id:e.id||"",industry:e.industry||"家居行业",tagType:e.tagType||"",name:e.tagName||e.name||"",detail:e.tagDetail||e.detail||"",remark:e.remark||"",enabled:void 0!==e.enabled?e.enabled:void 0===e.isEnabled||e.isEnabled}},async deleteTag(o){this.closeTagActionMenu();const a=o.id;a?e.index.showModal({title:"确认删除",content:`确定要删除标签"${o.tagName||o.name||"未命名标签"}"吗?`,success:async o=>{var i,n;if(o.confirm)try{e.index.showLoading({title:"删除中..."});const o=t.getApiUrl(`/api/industryTags/delete/${a}`);let r="",c="";try{r=e.index.getStorageSync("backend-tenant-id")||"",c=e.index.getStorageSync("backend-token")||""}catch(s){console.error("获取认证信息失败:",s)}const d={};c&&(d.Authorization=`Bearer ${c}`),r&&(d["X-Tenant-Id"]=r);const g=await e.index.request({url:o,method:"DELETE",header:d,timeout:3e4});e.index.hideLoading(),200===g.statusCode&&g.data&&g.data.success?(e.index.showToast({title:(null==(i=g.data)?void 0:i.message)||"删除成功",icon:"success"}),this.tagPage.current=1,this.fetchTagList({force:!0})):e.index.showToast({title:(null==(n=g.data)?void 0:n.message)||"删除失败",icon:"none"})}catch(r){e.index.hideLoading(),console.error("删除标签失败:",r);let t="删除失败,请重试";r.errMsg&&(r.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":r.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}}}):e.index.showToast({title:"无法获取标签ID",icon:"none"})},cancelAddTag(){this.tagViewMode="list",this.showTagTypeDropdown=!1,this.tagForm={id:"",industry:"家居行业",tagType:"",name:"",detail:"",remark:"",enabled:!0}},toggleTagTypeDropdown(){this.showTagTypeDropdown=!this.showTagTypeDropdown,this.showTagTypeDropdown&&this.$nextTick((()=>{this.updateTagTypeDropdownPosition()}))},updateTagTypeDropdownPosition(){e.index.createSelectorQuery().in(this).select(".tag-select").boundingClientRect((e=>{if(e){const t=this.$refs.tagTypeDropdown;t&&this.$nextTick((()=>{const o=t.$el||t;o&&o.style&&(o.style.top=e.bottom+8+"px",o.style.left=e.left+"px",o.style.width=e.width+"px")}))}})).exec()},selectTagType(e){this.tagForm.tagType=e,this.showTagTypeDropdown=!1},closeTagTypeDropdown(){this.showTagTypeDropdown=!1},onEnabledChange(e){this.tagForm.enabled=e.detail.value},async saveTag(){var o,a,i,n;if(this.tagForm.name&&this.tagForm.name.trim())try{e.index.showLoading({title:"edit"===this.tagViewMode?"更新中...":"保存中..."});const r={industry:(null==(o=this.tagForm.industry)?void 0:o.trim())||"",tagType:(null==(a=this.tagForm.tagType)?void 0:a.trim())||"",tagName:this.tagForm.name.trim(),tagDetail:(null==(i=this.tagForm.detail)?void 0:i.trim())||"",remark:(null==(n=this.tagForm.remark)?void 0:n.trim())||"",enabled:void 0===this.tagForm.enabled||this.tagForm.enabled};"edit"===this.tagViewMode&&this.tagForm.id&&(r.id=this.tagForm.id);const c="edit"===this.tagViewMode?t.getApiUrl("/api/industryTags/update"):t.getApiUrl("/api/industryTags/add"),d="edit"===this.tagViewMode?"PUT":"POST";let g="",l="";try{g=e.index.getStorageSync("backend-tenant-id")||"",l=e.index.getStorageSync("backend-token")||""}catch(s){console.error("获取认证信息失败:",s)}const h={"Content-Type":"application/json"};l&&(h.Authorization=`Bearer ${l}`),g&&(h["X-Tenant-Id"]=g);const p=await e.index.request({url:c,method:d,data:r,header:h,timeout:3e4}),{statusCode:u,data:T}=p;if(200!==u||!T||!T.success&&200!==T.code)throw new Error((null==T?void 0:T.message)||("edit"===this.tagViewMode?"更新失败":"保存失败"));e.index.showToast({title:(null==T?void 0:T.message)||("edit"===this.tagViewMode?"更新成功":"保存成功"),icon:"success"}),this.tagViewMode="list",this.tagPage.current=1,this.fetchTagList({force:!0})}catch(r){console.error("保存标签失败:",r);let t=(null==r?void 0:r.message)||("edit"===this.tagViewMode?"更新失败,请重试":"保存失败,请重试");r.errMsg&&(r.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":r.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}finally{e.index.hideLoading()}else e.index.showToast({title:"请输入标签名",icon:"none"})},initUrlHidingAfterPageLoad(){},attemptUrlHidingForCurrentPage(){},setupTabNavigationHiding(){},setupBrowserNavigationHiding(){}}};if(!Array){(e.resolveComponent("uni-nav-bar")+e.resolveComponent("service-list-furniture")+e.resolveComponent("common-begin-reception")+e.resolveComponent("uni-icons"))()}Math||((()=>"../../uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.js")+(()=>"../../uni_modules/uni-icons/components/uni-icons/uni-icons.js"))();const a=e._export_sfc(o,[["render",function(t,o,a,i,n,s){return e.e({a:e.o(s.goBack,"66"),b:e.p({fixed:!0,statusBar:!0,border:!1,title:"AI销冠系统",leftIcon:"left",color:"#333",backgroundColor:"#FFFFFF"}),c:"reception"===n.activeTab?1:"",d:e.o((e=>s.switchTab("reception")),"5d"),e:"status"===n.activeTab?1:"",f:e.o((e=>s.switchTab("status")),"a2"),g:"tag"===n.activeTab?1:"",h:e.o((e=>s.switchTab("tag")),"4c"),i:s.computedNavbarTop||n.navbarTop,j:"status"===n.activeTab},"status"===n.activeTab?{k:e.sr("serviceListRef","638dc4bb-1"),l:s.computedContentTop||n.contentTop}:{},{m:"reception"===n.activeTab},"reception"===n.activeTab?{n:e.o(s.onReceptionCancel,"be"),o:e.o(s.onReceptionSaveSuccess,"03"),p:e.o(s.onReceptionSaveError,"cf"),q:e.p({"initial-data":n.receptionForm})}:{},{r:"tag"===n.activeTab&&"list"===n.tagViewMode},"tag"===n.activeTab&&"list"===n.tagViewMode?e.e({s:e.t(n.tagTotal),t:e.o(((...e)=>s.onTagListSearch&&s.onTagListSearch(...e)),"e9"),v:n.tagQuery.tagType,w:e.o((e=>n.tagQuery.tagType=e.detail.value),"2d"),x:e.o(((...e)=>s.onTagListSearch&&s.onTagListSearch(...e)),"02"),y:n.tagQuery.tagName,z:e.o((e=>n.tagQuery.tagName=e.detail.value),"a5"),A:e.p({type:"refresh",size:"18",color:"#2A68FF"}),B:e.o(((...e)=>s.onTagListRefresh&&s.onTagListRefresh(...e)),"bb"),C:e.p({type:"plus",size:"18",color:"#2A68FF"}),D:e.o(((...e)=>s.showAddTag&&s.showAddTag(...e)),"a9"),E:e.f(n.tagList,((t,o,a)=>e.e({a:e.t((t.tagName||t.name||"标").charAt(0)),b:e.t(t.tagName||t.name||"未命名标签"),c:e.o((e=>s.onTagItemClick(t)),o),d:"638dc4bb-5-"+a,e:e.o((e=>s.onTagActionBtnClick(t)),o),f:t.industry},t.industry?{g:e.t(t.industry)}:{},{h:e.o((e=>s.onTagItemClick(t)),o),i:t.tagDetail||t.detail||t.remark},t.tagDetail||t.detail||t.remark?e.e({j:t.tagDetail||t.detail},t.tagDetail||t.detail?{k:e.t(t.tagDetail||t.detail)}:{},{l:t.remark},t.remark?{m:e.t(t.remark)}:{},{n:e.o((e=>s.onTagItemClick(t)),o)}):{},{o:n.selectedTagItem&&n.selectedTagItem.id===t.id&&n.showTagActionMenu},n.selectedTagItem&&n.selectedTagItem.id===t.id&&n.showTagActionMenu?{p:e.o((e=>s.editTag(t)),o),q:e.o((e=>s.deleteTag(t)),o),r:e.o((()=>{}),o)}:{},{s:o,t:n.selectedTagItem&&n.selectedTagItem.id===t.id?1:""}))),F:e.p({type:"more-filled",size:"20",color:"#999"}),G:n.showTagActionMenu},n.showTagActionMenu?{H:e.o(((...e)=>s.closeTagActionMenu&&s.closeTagActionMenu(...e)),"0a")}:{},{I:!n.tagLoading&&!n.tagList.length},(n.tagLoading||n.tagList.length,{}),{J:n.tagLoading&&n.tagList.length},(n.tagLoading&&n.tagList.length,{}),{K:s.computedContentTop||n.contentTop,L:e.o(((...e)=>s.onTagListReachBottom&&s.onTagListReachBottom(...e)),"89")}):{},{M:"tag"===n.activeTab&&("add"===n.tagViewMode||"edit"===n.tagViewMode)},"tag"!==n.activeTab||"add"!==n.tagViewMode&&"edit"!==n.tagViewMode?{}:e.e({N:"add"===n.tagViewMode},"add"===n.tagViewMode?{O:n.tagForm.industry,P:e.o((e=>n.tagForm.industry=e.detail.value),"73")}:{},{Q:e.t(n.tagForm.tagType||"请选择标签分类"),R:e.n(n.tagForm.tagType?"form-item__picker-text":"form-item__picker-placeholder"),S:e.p({type:"bottom",size:"16",color:"#9ca3af"}),T:e.o(((...e)=>s.toggleTagTypeDropdown&&s.toggleTagTypeDropdown(...e)),"d4"),U:n.showTagTypeDropdown},n.showTagTypeDropdown?{V:e.f(n.tagTypeOptions,((t,o,a)=>({a:e.t(t),b:t===n.tagForm.tagType?1:"",c:t,d:e.o((e=>s.selectTagType(t)),t)}))),W:e.o((()=>{}),"85")}:{},{X:n.tagForm.name,Y:e.o((e=>n.tagForm.name=e.detail.value),"c7"),Z:n.tagForm.detail,aa:e.o((e=>n.tagForm.detail=e.detail.value),"ab"),ab:n.tagForm.remark,ac:e.o((e=>n.tagForm.remark=e.detail.value),"05"),ad:n.tagForm.enabled,ae:e.o(((...e)=>s.onEnabledChange&&s.onEnabledChange(...e)),"8c"),af:e.o(((...e)=>s.cancelAddTag&&s.cancelAddTag(...e)),"f8"),ag:e.t("edit"===n.tagViewMode?"更新":"保存"),ah:e.o(((...e)=>s.saveTag&&s.saveTag(...e)),"52"),ai:n.showTagTypeDropdown},n.showTagTypeDropdown?{aj:e.o(((...e)=>s.closeTagTypeDropdown&&s.closeTagTypeDropdown(...e)),"07")}:{},{ak:s.computedContentTop||n.contentTop}))}]]);wx.createComponent(a);
diff --git a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception-impl.wxml b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception-impl.wxml
index e40d7dc..a1b6e11 100644
--- a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception-impl.wxml
+++ b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception-impl.wxml
@@ -1 +1 @@
-开始接待服务中标签管理共{{r}}条所属行业:{{item.g}}详情:{{item.k}}备注:{{item.m}}暂无标签正在加载更多...所属行业标签分类{{P}}{{option.a}}标签名详情备注是否启用取消{{af}}
\ No newline at end of file
+开始接待服务中标签管理共{{s}}条所属行业:{{item.g}}详情:{{item.k}}备注:{{item.m}}暂无标签正在加载更多...所属行业标签分类{{Q}}{{option.a}}标签名详情备注是否启用取消{{ag}}
\ No newline at end of file
diff --git a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception-impl.wxss b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception-impl.wxss
index 548c377..4043e62 100644
--- a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception-impl.wxss
+++ b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception-impl.wxss
@@ -1 +1 @@
-page{background-color:#f5f5f5}.page{height:100vh!important;min-height:100vh!important;background-color:#f5f5f5}.content{padding-top:0;margin-top:0;position:relative;height:100vh!important;min-height:100vh!important;max-height:100vh!important}.uni-navbar__placeholder,.uni-navbar__placeholder-view{display:none!important;height:0!important}.uni-navbar--border{border-bottom:none!important}.tabs{display:flex!important;visibility:visible!important;opacity:1!important;background-color:#fff;border-bottom:1px solid #E0E0E0;padding:0 16rpx;margin-top:0;position:fixed;left:0;right:0;z-index:999;height:72rpx;box-sizing:border-box;align-items:center;will-change:top}.tab-item{padding:24rpx 32rpx;position:relative}.tab-item text{font-size:30rpx;color:#666}.tab-item.active text{color:#333;font-weight:500}.tab-item.active:after{content:"";position:absolute;bottom:0;left:32rpx;right:32rpx;height:4rpx;background-color:#007aff;border-radius:2rpx}.service-status-container{position:absolute;left:0;right:0;bottom:0!important}.tag-list{position:absolute;left:0;right:0;bottom:0!important;background-color:#f5f5f5;padding:24rpx 16rpx 0;box-sizing:border-box}.service-status-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:8rpx;padding:12rpx 8rpx;margin-bottom:24rpx;background-color:#f8f8fa;border-radius:8rpx;border:1px solid #EFEFF2;overflow-x:auto;min-height:64rpx;box-sizing:border-box}.toolbar-total{font-size:24rpx;color:#666;white-space:nowrap;flex-shrink:0;margin-right:8rpx;line-height:1.2;padding:0 4rpx}.toolbar-input{flex:1;min-width:120rpx;max-width:200rpx;height:56rpx;line-height:56rpx;background-color:#f5f6fa;border-radius:8rpx;padding:0 12rpx;font-size:24rpx;border:1px solid transparent;box-sizing:border-box;flex-shrink:1}.toolbar-actions{display:flex;align-items:center;margin-left:auto;flex-shrink:0;gap:8rpx}.toolbar-btn{padding:0 12rpx;height:56rpx;min-width:56rpx;color:#2a68ff;display:flex;align-items:center;justify-content:center;gap:4rpx;font-size:24rpx;font-weight:400;line-height:1;box-sizing:border-box}.service-card.tag-card-item{width:100%;box-sizing:border-box;background-color:#fff;border-radius:16rpx;padding:32rpx;margin-bottom:24rpx;box-shadow:0 2rpx 8rpx rgba(0,0,0,.04);overflow:visible;position:relative}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20rpx;width:100%;box-sizing:border-box;padding:0;margin:0}.staff-info{display:flex;align-items:center;flex:1;min-width:0;margin:0;padding:0}.staff-avatar{width:64rpx;height:64rpx;background-color:#2196f3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:16rpx;margin-left:0;margin-top:0;margin-bottom:0;flex-shrink:0}.avatar-text{font-size:32rpx;color:#fff;font-weight:500}.staff-name{font-size:32rpx;font-weight:500;color:#333}.customer-tags{display:flex;flex-wrap:wrap;margin-bottom:20rpx;gap:12rpx;box-sizing:border-box;margin-left:0;margin-right:0;padding:0;width:100%;max-width:100%}.customer-info{margin-bottom:16rpx;display:flex;flex-direction:column;gap:8rpx;box-sizing:border-box;margin-left:0;margin-right:0;padding:0;width:100%;max-width:100%}.customer-name,.customer-phone{font-size:28rpx;color:#555}.tag-item{padding:8rpx 16rpx;border-radius:8rpx;box-sizing:border-box;word-wrap:break-word;word-break:break-all;display:inline-block;max-width:100%}.tag-blue{background-color:#e3f2fd}.tag-blue text{font-size:24rpx;color:#1976d2}.tag-orange{background-color:#fff3e0}.tag-orange text{font-size:24rpx;color:#f57c00}.tag-management{position:absolute;left:0;right:0;bottom:0!important;background-color:#f5f5f5;box-sizing:border-box}.tag-card-item{position:relative}.tag-card-action-btn{width:60rpx;height:60rpx;display:flex;align-items:center;justify-content:center;cursor:pointer;margin:0 0 0 auto;flex-shrink:0;flex-grow:0;position:relative;padding:0}.tag-card-action-btn uni-icons{display:block;margin:0;padding:0;line-height:1}.tag-card-action-btn:active{opacity:.7}.tag-action-menu{position:absolute;top:60rpx;right:32rpx;width:160rpx;background-color:#fff;border-radius:12rpx;box-shadow:0 4rpx 12rpx rgba(0,0,0,.15);z-index:100;overflow:hidden;margin-right:0}.tag-action-menu-item{padding:24rpx 32rpx;font-size:28rpx;color:#333;text-align:center;background-color:#fff}.tag-action-menu-item:active{background-color:#f5f5f5}.tag-action-menu-item--danger{color:#ff5722}.tag-action-menu-divider{height:1rpx;background-color:#e0e0e0;margin:0 16rpx}.tag-action-menu-mask{position:fixed;top:0;left:0;right:0;bottom:0;background-color:transparent;z-index:99}.tag-form{height:100%;padding:32rpx;box-sizing:border-box}.form-card{background-color:#fff;border-radius:24rpx;padding:40rpx 24rpx 32rpx;margin-bottom:32rpx;box-shadow:0 2rpx 16rpx rgba(0,0,0,.06)}.form-card .form-item:first-child{padding-top:24rpx;margin-top:16rpx}.form-item{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:flex-start;margin-bottom:32rpx;min-height:88rpx;padding-top:8rpx;box-sizing:border-box;width:100%;overflow:hidden;justify-content:center}.form-item:last-child{margin-bottom:0}.form-item__label{font-size:28rpx;color:#333;font-weight:500;width:140rpx;flex-shrink:0;flex-grow:0;margin-right:24rpx;margin-left:0;padding:12rpx 0 12rpx 16rpx;white-space:nowrap;box-sizing:border-box;min-height:88rpx;line-height:1.4;text-align:left;display:flex;align-items:flex-start;justify-content:flex-start}.form-item__input{flex:1!important;flex-shrink:1!important;flex-grow:1!important;min-width:0!important;max-width:none!important;width:auto!important;height:88rpx;line-height:88rpx;background-color:#f9fafb;border:2rpx solid #E5E7EB;border-radius:16rpx;padding:0 24rpx;font-size:28rpx;color:#333;box-sizing:border-box;transition:all .3s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-item__input:focus{border-color:#007aff;background-color:#fff;box-shadow:0 0 0 4rpx rgba(0,122,255,.1)}.form-item__textarea{flex:1!important;flex-shrink:1!important;flex-grow:1!important;min-width:0!important;max-width:none!important;width:auto!important;min-height:160rpx;background-color:#f9fafb;border:2rpx solid #E5E7EB;border-radius:16rpx;padding:20rpx 24rpx;font-size:28rpx;color:#333;box-sizing:border-box;line-height:1.6;transition:all .3s ease}.form-item__textarea:focus{border-color:#007aff;background-color:#fff;box-shadow:0 0 0 4rpx rgba(0,122,255,.1)}.tag-select-wrapper{position:relative;flex:1;flex-shrink:1;min-width:0;display:flex;align-items:center;overflow:hidden;height:88rpx}.tag-select{width:100%;height:88rpx;background-color:#f9fafb;border:2rpx solid #E5E7EB;border-radius:16rpx;padding:0 24rpx;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:pointer;transition:all .3s ease}.tag-select:active{border-color:#007aff;background-color:#fff;box-shadow:0 0 0 4rpx rgba(0,122,255,.1)}.form-item__picker-text{font-size:28rpx;color:#333;flex:1}.form-item__picker-placeholder{font-size:28rpx;color:#9ca3af;flex:1}.tag-select-dropdown{position:fixed;background-color:#fff;border:2rpx solid #E5E7EB;border-radius:16rpx;box-shadow:0 4rpx 20rpx rgba(0,0,0,.12);z-index:9999;overflow:hidden;max-height:400rpx;overflow-y:auto;min-width:200rpx}.tag-select-dropdown__item{padding:24rpx;border-bottom:1rpx solid #F3F4F6;transition:background-color .2s ease}.tag-select-dropdown__item:last-child{border-bottom:none}.tag-select-dropdown__item:active{background-color:#f9fafb}.tag-select-dropdown__item text{font-size:28rpx;color:#333}.tag-select-dropdown__item text.active{color:#007aff;font-weight:500}.tag-select-mask{position:fixed;top:0;left:0;right:0;bottom:0;background-color:transparent;z-index:9998}.form-item--textarea{align-items:flex-start}.form-item--switch{flex-direction:row;align-items:center;justify-content:space-between}.form-item--switch .form-item__label{margin-bottom:0}.form-item switch{margin-left:auto;transform:scale(.9)}.form-actions{display:flex;gap:24rpx;padding-top:16rpx}.form-btn{flex:1;height:88rpx;border-radius:16rpx;display:flex;align-items:center;justify-content:center;font-size:30rpx;font-weight:500;transition:all .3s ease}.form-btn--cancel{background-color:#f3f4f6;color:#6b7280}.form-btn--cancel:active{background-color:#e5e7eb;opacity:.8}.form-btn--save{background-color:#007aff;color:#fff}.form-btn--save:active{background-color:#0056cc;opacity:.9}.form-btn__text{font-size:30rpx;font-weight:500}
+page{background-color:#f5f5f5}.page{height:100vh!important;min-height:100vh!important;background-color:#f5f5f5}.content{padding-top:0;margin-top:0;position:relative;height:100vh!important;min-height:100vh!important;max-height:100vh!important}.uni-navbar__placeholder,.uni-navbar__placeholder-view{display:none!important;height:0!important}.uni-navbar--border{border-bottom:none!important}.tabs{display:flex!important;visibility:visible!important;opacity:1!important;background-color:#fff;border-bottom:1px solid #E0E0E0;padding:0 16rpx;margin-top:0;position:fixed;left:0;right:0;z-index:999;height:72rpx;box-sizing:border-box;align-items:center;will-change:top}.tab-item{padding:24rpx 32rpx;position:relative}.tab-item text{font-size:30rpx;color:#666}.tab-item.active text{color:#333;font-weight:500}.tab-item.active:after{content:"";position:absolute;bottom:0;left:32rpx;right:32rpx;height:4rpx;background-color:#007aff;border-radius:2rpx}.service-status-container{position:absolute;left:0;right:0;display:flex;flex-direction:column;min-height:0;bottom:0!important}.tag-list{position:absolute;left:0;right:0;bottom:0!important;background-color:#f5f5f5;padding:24rpx 16rpx 0;box-sizing:border-box}.service-status-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:8rpx;padding:12rpx 8rpx;margin-bottom:24rpx;background-color:#f8f8fa;border-radius:8rpx;border:1px solid #EFEFF2;overflow-x:auto;min-height:64rpx;box-sizing:border-box}.toolbar-total{font-size:24rpx;color:#666;white-space:nowrap;flex-shrink:0;margin-right:8rpx;line-height:1.2;padding:0 4rpx}.toolbar-input{flex:1;min-width:120rpx;max-width:200rpx;height:56rpx;line-height:56rpx;background-color:#f5f6fa;border-radius:8rpx;padding:0 12rpx;font-size:24rpx;border:1px solid transparent;box-sizing:border-box;flex-shrink:1}.toolbar-actions{display:flex;align-items:center;margin-left:auto;flex-shrink:0;gap:8rpx}.toolbar-btn{padding:0 12rpx;height:56rpx;min-width:56rpx;color:#2a68ff;display:flex;align-items:center;justify-content:center;gap:4rpx;font-size:24rpx;font-weight:400;line-height:1;box-sizing:border-box}.service-card.tag-card-item{width:100%;box-sizing:border-box;background-color:#fff;border-radius:16rpx;padding:32rpx;margin-bottom:24rpx;box-shadow:0 2rpx 8rpx rgba(0,0,0,.04);overflow:visible;position:relative}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20rpx;width:100%;box-sizing:border-box;padding:0;margin:0}.staff-info{display:flex;align-items:center;flex:1;min-width:0;margin:0;padding:0}.staff-avatar{width:64rpx;height:64rpx;background-color:#2196f3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:16rpx;margin-left:0;margin-top:0;margin-bottom:0;flex-shrink:0}.avatar-text{font-size:32rpx;color:#fff;font-weight:500}.staff-name{font-size:32rpx;font-weight:500;color:#333}.customer-tags{display:flex;flex-wrap:wrap;margin-bottom:20rpx;gap:12rpx;box-sizing:border-box;margin-left:0;margin-right:0;padding:0;width:100%;max-width:100%}.customer-info{margin-bottom:16rpx;display:flex;flex-direction:column;gap:8rpx;box-sizing:border-box;margin-left:0;margin-right:0;padding:0;width:100%;max-width:100%}.customer-name,.customer-phone{font-size:28rpx;color:#555}.tag-item{padding:8rpx 16rpx;border-radius:8rpx;box-sizing:border-box;word-wrap:break-word;word-break:break-all;display:inline-block;max-width:100%}.tag-blue{background-color:#e3f2fd}.tag-blue text{font-size:24rpx;color:#1976d2}.tag-orange{background-color:#fff3e0}.tag-orange text{font-size:24rpx;color:#f57c00}.tag-management{position:absolute;left:0;right:0;bottom:0!important;background-color:#f5f5f5;box-sizing:border-box}.tag-card-item{position:relative}.tag-card-action-btn{width:60rpx;height:60rpx;display:flex;align-items:center;justify-content:center;cursor:pointer;margin:0 0 0 auto;flex-shrink:0;flex-grow:0;position:relative;padding:0}.tag-card-action-btn uni-icons{display:block;margin:0;padding:0;line-height:1}.tag-card-action-btn:active{opacity:.7}.tag-action-menu{position:absolute;top:60rpx;right:32rpx;width:160rpx;background-color:#fff;border-radius:12rpx;box-shadow:0 4rpx 12rpx rgba(0,0,0,.15);z-index:100;overflow:hidden;margin-right:0}.tag-action-menu-item{padding:24rpx 32rpx;font-size:28rpx;color:#333;text-align:center;background-color:#fff}.tag-action-menu-item:active{background-color:#f5f5f5}.tag-action-menu-item--danger{color:#ff5722}.tag-action-menu-divider{height:1rpx;background-color:#e0e0e0;margin:0 16rpx}.tag-action-menu-mask{position:fixed;top:0;left:0;right:0;bottom:0;background-color:transparent;z-index:99}.tag-form{height:100%;padding:32rpx;box-sizing:border-box}.form-card{background-color:#fff;border-radius:24rpx;padding:40rpx 24rpx 32rpx;margin-bottom:32rpx;box-shadow:0 2rpx 16rpx rgba(0,0,0,.06)}.form-card .form-item:first-child{padding-top:24rpx;margin-top:16rpx}.form-item{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:flex-start;margin-bottom:32rpx;min-height:88rpx;padding-top:8rpx;box-sizing:border-box;width:100%;overflow:hidden;justify-content:center}.form-item:last-child{margin-bottom:0}.form-item__label{font-size:28rpx;color:#333;font-weight:500;width:140rpx;flex-shrink:0;flex-grow:0;margin-right:24rpx;margin-left:0;padding:12rpx 0 12rpx 16rpx;white-space:nowrap;box-sizing:border-box;min-height:88rpx;line-height:1.4;text-align:left;display:flex;align-items:flex-start;justify-content:flex-start}.form-item__input{flex:1!important;flex-shrink:1!important;flex-grow:1!important;min-width:0!important;max-width:none!important;width:auto!important;height:88rpx;line-height:88rpx;background-color:#f9fafb;border:2rpx solid #E5E7EB;border-radius:16rpx;padding:0 24rpx;font-size:28rpx;color:#333;box-sizing:border-box;transition:all .3s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-item__input:focus{border-color:#007aff;background-color:#fff;box-shadow:0 0 0 4rpx rgba(0,122,255,.1)}.form-item__textarea{flex:1!important;flex-shrink:1!important;flex-grow:1!important;min-width:0!important;max-width:none!important;width:auto!important;min-height:160rpx;background-color:#f9fafb;border:2rpx solid #E5E7EB;border-radius:16rpx;padding:20rpx 24rpx;font-size:28rpx;color:#333;box-sizing:border-box;line-height:1.6;transition:all .3s ease}.form-item__textarea:focus{border-color:#007aff;background-color:#fff;box-shadow:0 0 0 4rpx rgba(0,122,255,.1)}.tag-select-wrapper{position:relative;flex:1;flex-shrink:1;min-width:0;display:flex;align-items:center;overflow:hidden;height:88rpx}.tag-select{width:100%;height:88rpx;background-color:#f9fafb;border:2rpx solid #E5E7EB;border-radius:16rpx;padding:0 24rpx;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:pointer;transition:all .3s ease}.tag-select:active{border-color:#007aff;background-color:#fff;box-shadow:0 0 0 4rpx rgba(0,122,255,.1)}.form-item__picker-text{font-size:28rpx;color:#333;flex:1}.form-item__picker-placeholder{font-size:28rpx;color:#9ca3af;flex:1}.tag-select-dropdown{position:fixed;background-color:#fff;border:2rpx solid #E5E7EB;border-radius:16rpx;box-shadow:0 4rpx 20rpx rgba(0,0,0,.12);z-index:9999;overflow:hidden;max-height:400rpx;overflow-y:auto;min-width:200rpx}.tag-select-dropdown__item{padding:24rpx;border-bottom:1rpx solid #F3F4F6;transition:background-color .2s ease}.tag-select-dropdown__item:last-child{border-bottom:none}.tag-select-dropdown__item:active{background-color:#f9fafb}.tag-select-dropdown__item text{font-size:28rpx;color:#333}.tag-select-dropdown__item text.active{color:#007aff;font-weight:500}.tag-select-mask{position:fixed;top:0;left:0;right:0;bottom:0;background-color:transparent;z-index:9998}.form-item--textarea{align-items:flex-start}.form-item--switch{flex-direction:row;align-items:center;justify-content:space-between}.form-item--switch .form-item__label{margin-bottom:0}.form-item switch{margin-left:auto;transform:scale(.9)}.form-actions{display:flex;gap:24rpx;padding-top:16rpx}.form-btn{flex:1;height:88rpx;border-radius:16rpx;display:flex;align-items:center;justify-content:center;font-size:30rpx;font-weight:500;transition:all .3s ease}.form-btn--cancel{background-color:#f3f4f6;color:#6b7280}.form-btn--cancel:active{background-color:#e5e7eb;opacity:.8}.form-btn--save{background-color:#007aff;color:#fff}.form-btn--save:active{background-color:#0056cc;opacity:.9}.form-btn__text{font-size:30rpx;font-weight:500}
diff --git a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception_entry.js b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception_entry.js
new file mode 100644
index 0000000..1af3517
--- /dev/null
+++ b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception_entry.js
@@ -0,0 +1 @@
+"use strict";const n=require("../../common/vendor.js"),e={name:"FurnitureReceptionEntry",components:{FurnitureReceptionImpl:()=>"./furniture_reception-impl.js"},data:()=>({incomingTab:""}),onLoad(n={}){const e=null!=n.tab?String(n.tab):"";this.incomingTab=["status","reception","tag"].includes(e)?e:"reception"}};if(!Array){n.resolveComponent("furniture-reception-impl")()}const t=n._export_sfc(e,[["render",function(e,t,i,r,o,c){return{a:n.p({incomingTab:o.incomingTab})}}]]);wx.createPage(t);
diff --git a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception_entry.json b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception_entry.json
new file mode 100644
index 0000000..8a8f087
--- /dev/null
+++ b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception_entry.json
@@ -0,0 +1,6 @@
+{
+ "navigationStyle": "custom",
+ "usingComponents": {
+ "furniture-reception-impl": "./furniture_reception-impl"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception_entry.wxml b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception_entry.wxml
new file mode 100644
index 0000000..490f3ad
--- /dev/null
+++ b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/furniture_reception_entry.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.js b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.js
index 4b58f78..04ec434 100644
--- a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.js
+++ b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.js
@@ -1 +1 @@
-"use strict";const e=require("../../common/vendor.js"),t=require("../../common/config.js"),i=require("../../common/store.js");function r(...e){for(const t of e){if(null==t)continue;const e=String(t).trim();if(e)return e}return""}const s={data:()=>({serviceStatusLoading:!1,serviceStatusTotal:0,serviceStatusPage:{current:1,size:10},serviceStatusQuery:{salesName:"",customerName:"",salesPhone:""},isAdmin:!1,currentUserPhone:"",serviceStatusList:[],showSupplementModal:!1,currentSupplementItem:null,uploadingIds:[],supplementForm:{customerName:"",contact:"",recordingName:"",remarks:""},recorderSupported:!1,recorderManager:null,recordingServiceId:null,recordingContext:null}),mounted(){this.checkUserRole(),this.loadCurrentUserPhone(),this.initServiceRecorder(),this.fetchServiceStatusList()},beforeUnmount(){if(this.recorderManager&&this.recordingServiceId)try{this.recorderManager.stop()}catch(e){}},methods:{initServiceRecorder(){this.recorderSupported="function"==typeof e.index.getRecorderManager,this.recorderSupported&&(this.recorderManager=e.index.getRecorderManager(),this.recorderManager.onStop((t=>{const i=this.recordingContext;this.recordingServiceId=null,this.recordingContext=null;const r=t.tempFilePath||"";if(!i||!i.id)return;if(!r)return void e.index.showToast({title:"未获取到录音文件",icon:"none"});const s=`service_record_${i.id}_${Date.now()}.mp3`;this.uploadFileForRecord(i,{path:r,name:s})})),this.recorderManager.onError((()=>{this.recordingServiceId=null,this.recordingContext=null,e.index.showToast({title:"录音出错",icon:"none"})})))},isRecordingItem(e){return!(!e||!this.recordingServiceId)&&String(e)===this.recordingServiceId},startPhoneRecord(t){if(this.recorderSupported&&this.recorderManager)if(t&&t.id)if(this.recordingServiceId)e.index.showToast({title:"请先停止当前录音",icon:"none"});else if(this.isUploading(t.id))e.index.showToast({title:"正在上传,请稍候",icon:"none"});else{this.recordingContext={...t},this.recordingServiceId=String(t.id);try{this.recorderManager.start({duration:6e5,sampleRate:44100,numberOfChannels:1,encodeBitRate:96e3,format:"mp3"})}catch(i){this.recordingServiceId=null,this.recordingContext=null,e.index.showToast({title:"无法开始录音",icon:"none"})}}else e.index.showToast({title:"无法获取服务记录ID",icon:"none"});else e.index.showToast({title:"当前环境不支持录音,请使用微信小程序或 App",icon:"none"})},stopPhoneRecordAndUpload(e){this.recorderManager&&(null==e?void 0:e.id)&&String(e.id)===this.recordingServiceId&&this.recorderManager.stop()},checkUserRole(){try{const t=e=>"string"==typeof e?e.split(",").map((e=>e.trim().toLowerCase())).filter(Boolean):[],i=e.index.getStorageSync("backend-role-name")||"",r=(e.index.getStorageSync("backend-login-response")||{}).roleName||"",s=[...t(i),...t(r)];this.isAdmin=s.some((e=>e.includes("admin"))),console.log("用户角色检查:",{storedRole:i,respRole:r,roles:s,isAdmin:this.isAdmin})}catch(t){console.error("检查用户角色失败:",t),this.isAdmin=!1}},loadCurrentUserPhone(){try{const t=e.index.getStorageSync("backend-login-response")||{};t.phone?this.currentUserPhone=t.phone:t.userName?this.currentUserPhone=t.userName:this.currentUserPhone=""}catch(t){console.error("加载当前用户手机号或登录账户失败:",t),this.currentUserPhone=""}},onServiceStatusSearch(){this.serviceStatusPage.current=1,this.fetchServiceStatusList({force:!0})},onServiceStatusRefresh(){this.serviceStatusPage.current=1,this.fetchServiceStatusList({force:!0})},onServiceStatusReachBottom(){this.serviceStatusLoading||this.serviceStatusList.length>=this.serviceStatusTotal||(this.serviceStatusPage.current+=1,this.fetchServiceStatusList())},async fetchServiceStatusList({force:i=!1}={}){var r,s,o,n,a,c,l;if(!this.serviceStatusLoading||i){this.serviceStatusLoading=!0;try{const u={current:this.serviceStatusPage.current,size:this.serviceStatusPage.size,serviceStatus:"服务中"},h=null==(s=null==(r=this.serviceStatusQuery)?void 0:r.salesName)?void 0:s.trim(),m=null==(n=null==(o=this.serviceStatusQuery)?void 0:o.customerName)?void 0:n.trim();if(h&&(u.salesName=h),m&&(u.customerName=m),this.isAdmin){const e=null==(c=null==(a=this.serviceStatusQuery)?void 0:a.salesPhone)?void 0:c.trim();e&&(u.salesPhone=e)}else this.currentUserPhone&&(u.salesPhone=this.currentUserPhone);u.serviceStatus="服务中";const p=Object.keys(u).filter((e=>null!==u[e]&&void 0!==u[e]&&""!==u[e])).map((e=>`${encodeURIComponent(e)}=${encodeURIComponent(u[e])}`)).join("&");console.log("服务状态查询参数:",JSON.stringify(u)),console.log("查询字符串:",p);const S=t.getApiUrl("/api/audioManagement/list"),g=p?`${S}?${p}`:S;let v="",f="";try{v=e.index.getStorageSync("backend-tenant-id")||"",f=e.index.getStorageSync("backend-token")||""}catch(d){console.error("获取认证信息失败:",d)}const x={"Content-Type":"application/json"};f&&(x.Authorization=`Bearer ${f}`),v&&(x["X-Tenant-Id"]=v);const y=await e.index.request({url:g,method:"POST",data:{},header:x,timeout:3e4});if(200===y.statusCode&&y.data&&y.data.success){const e=Array.isArray(y.data.data)?y.data.data:[];if(0===e.length)return this.serviceStatusList=[],void(this.serviceStatusTotal=0);const t=e.map((e=>this.buildServiceStatusItem(e))).filter((e=>null!==e));1===this.serviceStatusPage.current||i?this.serviceStatusList=[...t]:this.serviceStatusList=[...this.serviceStatusList,...t],this.serviceStatusTotal=Number(y.data.total)||0}else this.serviceStatusList=[],this.serviceStatusTotal=0,e.index.showToast({title:(null==(l=y.data)?void 0:l.message)||"获取服务中列表失败",icon:"none"})}catch(u){console.error("获取服务中列表失败:",u);let t="获取服务状态失败,请稍后重试";u.errMsg&&(u.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":u.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}finally{this.serviceStatusLoading=!1}}},buildServiceStatusItem(e={}){if(!e||"object"!=typeof e)return null;const t=this.formatDateTime(e.createTime),i=[];return e.recordingName&&i.push({text:`录音:${e.recordingName}`,color:"blue"}),e.intentionLevel&&i.push({text:`意向:${e.intentionLevel}`,color:"orange"}),e.projectName&&i.push({text:`项目:${e.projectName}`,color:"blue"}),{id:e.id||"",staffName:e.salesName||"未分配销售",status:e.syncStatus||"服务中",customerName:e.customerName||"",customerPhone:e.customerPhone||"",customerId:e.customerId||"",recordingName:e.recordingName||"",remarks:e.remarks||"",tags:i,durationText:t?`开始时间:${t}`:"暂无开始时间"}},formatDateTime(e){if(!e)return"";const t=new Date(e);if(Number.isNaN(t.getTime()))return"";return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}`},viewServiceDetail(e){console.log("查看服务详情",e)},isUploading(e){return!!e&&this.uploadingIds.includes(String(e))},isMp3UploadFile(e){if(!e||!e.path)return!1;const t=e=>{if(!e||"string"!=typeof e)return"";return(e.split("/").pop()||e.split("\\").pop()||e).trim()},i=[t(e.name),t(e.path)].filter(Boolean);for(const r of i)if(r.toLowerCase().endsWith(".mp3"))return!0;return!1},async chooseAndUploadFile(t){if(!t||!t.id)return void e.index.showToast({title:"无法获取服务记录ID",icon:"none"});if(this.isUploading(t.id))return;const i=await this.selectUploadFile();i&&i.path&&await this.uploadFileForRecord(t,i)},selectUploadFile(){return new Promise((t=>{const i=i=>{const r=(e=>{const t=Array.isArray(null==e?void 0:e.tempFiles)?e.tempFiles:[];if(!t.length)return null;const i=t[0]||{},r=i.path||i.tempFilePath||i.url||"",s=i.name||r.split("/").pop()||`service_file_${Date.now()}`;return r?{path:r,name:s}:null})(i);return r?this.isMp3UploadFile(r)?void t(r):(e.index.showToast({title:"仅支持上传 MP3 文件",icon:"none"}),void t(null)):(e.index.showToast({title:"未选择有效文件",icon:"none"}),void t(null))},r=i=>{((null==i?void 0:i.errMsg)||"").includes("cancel")||(console.error("选择文件失败:",i),e.index.showToast({title:"选择文件失败",icon:"none"})),t(null)};"function"!=typeof e.index.chooseMessageFile?"function"!=typeof e.index.chooseFile?e.index.chooseImage({count:1,success:i,fail:r}):e.index.chooseFile({count:1,extension:[".mp3"],success:i,fail:r}):e.index.chooseMessageFile({count:1,type:"file",success:i,fail:r})}))},getAuthHeaders(){let t="",i="";try{t=e.index.getStorageSync("backend-tenant-id")||"",i=e.index.getStorageSync("backend-token")||""}catch(s){console.error("获取认证信息失败:",s)}const r={};return i&&(r.Authorization=`Bearer ${i}`),t&&(r["X-Tenant-Id"]=t),r},async uploadFileForRecord(i,r){const s=String(i.id);this.uploadingIds=[...this.uploadingIds,s];try{e.index.showLoading({title:"上传中..."});const n=await e.index.uploadFile({url:t.getApiUrl("/api/audio/upload"),filePath:r.path,name:"file",formData:{id:i.id,audioId:i.id,customerId:i.customerId||"",customerName:i.customerName||"",fileName:r.name||`service_file_${Date.now()}`},header:this.getAuthHeaders(),timeout:6e4});let a={};try{a="string"==typeof(null==n?void 0:n.data)?JSON.parse(n.data):(null==n?void 0:n.data)||{}}catch(o){a=(null==n?void 0:n.data)||{}}if(200===(null==n?void 0:n.statusCode)&&!1!==(null==a?void 0:a.success))return e.index.showToast({title:"上传成功",icon:"success"}),this.serviceStatusPage.current=1,void this.fetchServiceStatusList({force:!0});e.index.showToast({title:(null==a?void 0:a.message)||"上传失败",icon:"none"})}catch(n){console.error("上传文件失败:",n),e.index.showToast({title:(null==n?void 0:n.errMsg)||(null==n?void 0:n.message)||"上传失败",icon:"none"})}finally{e.index.hideLoading(),this.uploadingIds=this.uploadingIds.filter((e=>e!==s))}},async finishService(i){i&&i.id?e.index.showModal({title:"确认结束",content:"确定要结束这条服务记录吗?",success:async r=>{var s,o;if(r.confirm)try{e.index.showLoading({title:"结束中..."});const r=t.getApiUrl("/api/audioManagement/finishServiceById");let a="",c="";try{a=e.index.getStorageSync("backend-tenant-id")||"",c=e.index.getStorageSync("backend-token")||""}catch(n){console.error("获取认证信息失败:",n)}const l={"Content-Type":"application/json"};c&&(l.Authorization=`Bearer ${c}`),a&&(l["X-Tenant-Id"]=a);const d={id:i.id},u=await e.index.request({url:r,method:"POST",data:d,header:l,timeout:3e4});if(e.index.hideLoading(),200===u.statusCode&&u.data&&u.data.success){const t=((null==(s=u.data)?void 0:s.message)||"结束服务成功").replace(/[A-Za-z]+/g,"").split(/\n/).map((e=>e.trim())).filter(Boolean).join("\n")||"结束服务成功";e.index.showToast({title:t,icon:"success"}),this.serviceStatusPage.current=1,this.fetchServiceStatusList({force:!0})}else e.index.showToast({title:(null==(o=u.data)?void 0:o.message)||"结束服务失败",icon:"none"})}catch(a){e.index.hideLoading(),console.error("结束服务失败:",a);let t="结束服务失败,请重试";a.errMsg&&(a.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":a.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}}}):e.index.showToast({title:"无法获取服务记录ID",icon:"none"})},showSupplementDialog(e){this.currentSupplementItem=e,this.supplementForm={customerName:e.customerName||"",contact:e.customerPhone||"",recordingName:e.recordingName||"",remarks:e.remarks||""},this.showSupplementModal=!0},closeSupplementDialog(){this.showSupplementModal=!1,this.currentSupplementItem=null,this.supplementForm={customerName:"",contact:"",recordingName:"",remarks:""}},async saveSupplement(){var s,o,n,a,c;const l=null==(s=this.supplementForm.contact)?void 0:s.trim();if(!l||this.isValidPhoneNumber(l))if(this.currentSupplementItem&&this.currentSupplementItem.id)try{e.index.showLoading({title:"保存中..."});let s="",u="";try{s=e.index.getStorageSync("backend-tenant-id")||"",u=e.index.getStorageSync("backend-token")||""}catch(d){console.error("获取认证信息失败:",d)}const h={"Content-Type":"application/json"};u&&(h.Authorization=`Bearer ${u}`),s&&(h["X-Tenant-Id"]=s);let m={};try{m=e.index.getStorageSync("backend-login-response")||{}}catch(d){console.error("读取登录信息失败:",d)}const p=i.store.userInfo||{},S=r(m.phone,m.userName,p.username),g=r(m.realName,m.name,m.nickName,p.nickname,m.userName,p.username),v={id:this.currentSupplementItem.id,customerId:this.currentSupplementItem.customerId||"",customerName:(null==(o=this.supplementForm.customerName)?void 0:o.trim())||"",customerPhone:l||"",recordingName:(null==(n=this.supplementForm.recordingName)?void 0:n.trim())||"",remarks:(null==(a=this.supplementForm.remarks)?void 0:a.trim())||"",salesPhone:S,salesName:g},f=await e.index.request({url:t.getApiUrl("/api/audioManagement/updateForCustomerInfo"),method:"PUT",data:v,header:h,timeout:3e4});e.index.hideLoading(),200===f.statusCode&&f.data&&f.data.success?(e.index.showToast({title:"补录成功",icon:"success"}),this.closeSupplementDialog(),this.serviceStatusPage.current=1,this.fetchServiceStatusList({force:!0})):e.index.showToast({title:(null==(c=f.data)?void 0:c.message)||"补录失败",icon:"none"})}catch(u){e.index.hideLoading(),console.error("补录失败:",u);let t="补录失败,请重试";u.errMsg&&(u.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":u.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}else e.index.showToast({title:"无法获取服务记录ID",icon:"none"});else e.index.showToast({title:"请输入有效的客户电话",icon:"none"})},isValidPhoneNumber(e){const t=null==e?void 0:e.trim();return!!t&&/^1[3-9]\d{9}$/.test(t)}}};if(!Array){e.resolveComponent("uni-icons")()}Math;const o=e._export_sfc(s,[["render",function(t,i,r,s,o,n){return e.e({a:e.t(o.serviceStatusTotal),b:e.o(((...e)=>n.onServiceStatusSearch&&n.onServiceStatusSearch(...e)),"39"),c:o.serviceStatusQuery.salesName,d:e.o((e=>o.serviceStatusQuery.salesName=e.detail.value),"ef"),e:e.o(((...e)=>n.onServiceStatusSearch&&n.onServiceStatusSearch(...e)),"d8"),f:o.serviceStatusQuery.customerName,g:e.o((e=>o.serviceStatusQuery.customerName=e.detail.value),"49"),h:o.isAdmin},o.isAdmin?{i:e.o(((...e)=>n.onServiceStatusSearch&&n.onServiceStatusSearch(...e)),"c3"),j:o.serviceStatusQuery.salesPhone,k:e.o((e=>o.serviceStatusQuery.salesPhone=e.detail.value),"72")}:{},{l:e.p({type:"refresh",size:"18",color:"#2A68FF"}),m:e.o(((...e)=>n.onServiceStatusRefresh&&n.onServiceStatusRefresh(...e)),"bf"),n:e.f(o.serviceStatusList,((t,i,r)=>e.e({a:e.t(t.staffName?t.staffName.charAt(0):"未"),b:e.t(t.staffName||"未分配销售"),c:!n.isRecordingItem(t.id)},n.isRecordingItem(t.id)?{e:e.o((e=>n.stopPhoneRecordAndUpload(t)),t.id||i)}:{d:e.o((e=>n.startPhoneRecord(t)),t.id||i)},{f:e.o((e=>n.showSupplementDialog(t)),t.id||i),g:e.t(n.isUploading(t.id)?"上传中":"上传"),h:e.o((e=>n.chooseAndUploadFile(t)),t.id||i),i:e.o((e=>n.finishService(t)),t.id||i),j:"c057978e-1-"+r,k:e.t(t.customerName||"未知客户"),l:t.customerPhone},t.customerPhone?{m:e.t(t.customerPhone)}:{},{n:e.f(t.tags,((t,i,r)=>({a:e.t(t.text),b:e.n("tag-"+t.color),c:i}))),o:t.alert},t.alert?e.e({p:e.t(t.alert.title),q:"risk"===t.alert.type},"risk"===t.alert.type?{r:e.t(t.alert.message)}:{s:e.f(t.alert.messages,((t,i,r)=>({a:e.t(t),b:i})))},{t:e.n("risk"===t.alert.type?"alert-risk-text":"alert-reminder-text"),v:e.n("risk"===t.alert.type?"alert-risk-box":"alert-reminder-box")}):{},{w:e.t(t.durationText),x:t.id||i,y:e.o((e=>n.viewServiceDetail(t)),t.id||i)}))),o:e.p({type:"bars",size:"16",color:"#007AFF"}),p:!o.serviceStatusLoading&&!o.serviceStatusList.length},(o.serviceStatusLoading||o.serviceStatusList.length,{}),{q:o.serviceStatusLoading&&o.serviceStatusList.length},(o.serviceStatusLoading&&o.serviceStatusList.length,{}),{r:e.o(((...e)=>n.onServiceStatusReachBottom&&n.onServiceStatusReachBottom(...e)),"0f"),s:o.showSupplementModal},o.showSupplementModal?{t:e.p({type:"close",size:"20",color:"#999"}),v:e.o(((...e)=>n.closeSupplementDialog&&n.closeSupplementDialog(...e)),"7d"),w:o.supplementForm.customerName,x:e.o((e=>o.supplementForm.customerName=e.detail.value),"dd"),y:o.supplementForm.contact,z:e.o((e=>o.supplementForm.contact=e.detail.value),"c9"),A:o.supplementForm.recordingName,B:e.o((e=>o.supplementForm.recordingName=e.detail.value),"2e"),C:o.supplementForm.remarks,D:e.o((e=>o.supplementForm.remarks=e.detail.value),"0a"),E:e.o(((...e)=>n.closeSupplementDialog&&n.closeSupplementDialog(...e)),"44"),F:e.o(((...e)=>n.saveSupplement&&n.saveSupplement(...e)),"b2"),G:e.o((()=>{}),"8e"),H:e.o(((...e)=>n.closeSupplementDialog&&n.closeSupplementDialog(...e)),"92")}:{})}],["__scopeId","data-v-c057978e"]]);wx.createComponent(o);
+"use strict";const e=require("../../common/vendor.js"),t=require("../../common/config.js"),i=require("../../common/store.js");function r(...e){for(const t of e){if(null==t)continue;const e=String(t).trim();if(e)return e}return""}const s={data:()=>({serviceStatusLoading:!1,serviceStatusTotal:0,serviceStatusPage:{current:1,size:10},serviceStatusQuery:{salesName:"",customerName:"",salesPhone:""},isAdmin:!1,currentUserPhone:"",serviceStatusList:[],showSupplementModal:!1,currentSupplementItem:null,uploadingIds:[],supplementForm:{customerName:"",contact:"",recordingName:"",remarks:""},recorderSupported:!1,recorderManager:null,recordingServiceId:null,recordingContext:null}),mounted(){this.checkUserRole(),this.loadCurrentUserPhone(),this.initServiceRecorder(),this.fetchServiceStatusList()},beforeUnmount(){if(this.recorderManager&&this.recordingServiceId)try{this.recorderManager.stop()}catch(e){}},methods:{initServiceRecorder(){this.recorderSupported="function"==typeof e.index.getRecorderManager,this.recorderSupported&&(this.recorderManager=e.index.getRecorderManager(),this.recorderManager.onStop((t=>{const i=this.recordingContext;this.recordingServiceId=null,this.recordingContext=null;const r=t.tempFilePath||"";if(!i||!i.id)return;if(!r)return void e.index.showToast({title:"未获取到录音文件",icon:"none"});const s=`service_record_${i.id}_${Date.now()}.mp3`;this.uploadFileForRecord(i,{path:r,name:s})})),this.recorderManager.onError((()=>{this.recordingServiceId=null,this.recordingContext=null,e.index.showToast({title:"录音出错",icon:"none"})})))},isRecordingItem(e){return!(!e||!this.recordingServiceId)&&String(e)===this.recordingServiceId},startPhoneRecord(t){if(this.recorderSupported&&this.recorderManager)if(t&&t.id)if(this.recordingServiceId)e.index.showToast({title:"请先停止当前录音",icon:"none"});else if(this.isUploading(t.id))e.index.showToast({title:"正在上传,请稍候",icon:"none"});else{this.recordingContext={...t},this.recordingServiceId=String(t.id);try{this.recorderManager.start({duration:6e5,sampleRate:44100,numberOfChannels:1,encodeBitRate:96e3,format:"mp3"})}catch(i){this.recordingServiceId=null,this.recordingContext=null,e.index.showToast({title:"无法开始录音",icon:"none"})}}else e.index.showToast({title:"无法获取服务记录ID",icon:"none"});else e.index.showToast({title:"当前环境不支持录音,请使用微信小程序或 App",icon:"none"})},stopPhoneRecordAndUpload(e){this.recorderManager&&(null==e?void 0:e.id)&&String(e.id)===this.recordingServiceId&&this.recorderManager.stop()},checkUserRole(){try{const t=e=>"string"==typeof e?e.split(",").map((e=>e.trim().toLowerCase())).filter(Boolean):[],i=e.index.getStorageSync("backend-role-name")||"",r=(e.index.getStorageSync("backend-login-response")||{}).roleName||"",s=[...t(i),...t(r)];this.isAdmin=s.some((e=>e.includes("admin"))),console.log("用户角色检查:",{storedRole:i,respRole:r,roles:s,isAdmin:this.isAdmin})}catch(t){console.error("检查用户角色失败:",t),this.isAdmin=!1}},loadCurrentUserPhone(){try{const t=e.index.getStorageSync("backend-login-response")||{};t.phone?this.currentUserPhone=t.phone:t.userName?this.currentUserPhone=t.userName:this.currentUserPhone=""}catch(t){console.error("加载当前用户手机号或登录账户失败:",t),this.currentUserPhone=""}},onServiceStatusSearch(){this.serviceStatusPage.current=1,this.fetchServiceStatusList({force:!0})},onServiceStatusRefresh(){this.serviceStatusPage.current=1,this.fetchServiceStatusList({force:!0})},onServiceStatusReachBottom(){this.serviceStatusLoading||this.serviceStatusList.length>=this.serviceStatusTotal||(this.serviceStatusPage.current+=1,this.fetchServiceStatusList())},async fetchServiceStatusList({force:i=!1}={}){var r,s,o,n,a,c,l;if(!this.serviceStatusLoading||i){this.serviceStatusLoading=!0;try{const u={current:this.serviceStatusPage.current,size:this.serviceStatusPage.size,serviceStatus:"服务中"},m=null==(s=null==(r=this.serviceStatusQuery)?void 0:r.salesName)?void 0:s.trim(),h=null==(n=null==(o=this.serviceStatusQuery)?void 0:o.customerName)?void 0:n.trim();if(m&&(u.salesName=m),h&&(u.customerName=h),this.isAdmin){const e=null==(c=null==(a=this.serviceStatusQuery)?void 0:a.salesPhone)?void 0:c.trim();e&&(u.salesPhone=e)}else this.currentUserPhone&&(u.salesPhone=this.currentUserPhone);u.serviceStatus="服务中";const p=Object.keys(u).filter((e=>null!==u[e]&&void 0!==u[e]&&""!==u[e])).map((e=>`${encodeURIComponent(e)}=${encodeURIComponent(u[e])}`)).join("&");console.log("服务状态查询参数:",JSON.stringify(u)),console.log("查询字符串:",p);const S=t.getApiUrl("/api/audioManagement/list"),g=p?`${S}?${p}`:S;let v="",f="";try{v=e.index.getStorageSync("backend-tenant-id")||"",f=e.index.getStorageSync("backend-token")||""}catch(d){console.error("获取认证信息失败:",d)}const x={"Content-Type":"application/json"};f&&(x.Authorization=`Bearer ${f}`),v&&(x["X-Tenant-Id"]=v);const y=await e.index.request({url:g,method:"POST",data:{},header:x,timeout:3e4});if(200===y.statusCode&&y.data&&y.data.success){const e=Array.isArray(y.data.data)?y.data.data:[];if(0===e.length)return this.serviceStatusList=[],void(this.serviceStatusTotal=0);const t=e.map((e=>this.buildServiceStatusItem(e))).filter((e=>null!==e));1===this.serviceStatusPage.current||i?this.serviceStatusList=[...t]:this.serviceStatusList=[...this.serviceStatusList,...t],this.serviceStatusTotal=Number(y.data.total)||0}else this.serviceStatusList=[],this.serviceStatusTotal=0,e.index.showToast({title:(null==(l=y.data)?void 0:l.message)||"获取服务中列表失败",icon:"none"})}catch(u){console.error("获取服务中列表失败:",u);let t="获取服务状态失败,请稍后重试";u.errMsg&&(u.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":u.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}finally{this.serviceStatusLoading=!1}}},buildServiceStatusItem(e={}){if(!e||"object"!=typeof e)return null;const t=this.formatDateTime(e.createTime),i=[];e.recordingName&&i.push({text:`录音:${e.recordingName}`,color:"blue"}),e.intentionLevel&&i.push({text:`意向:${e.intentionLevel}`,color:"orange"}),e.projectName&&i.push({text:`项目:${e.projectName}`,color:"blue"});const s=r(e.recordingName)||(r(e.customerName)?`${String(e.customerName).trim()}的接待记录`:"")||"";return{id:e.id||"",staffName:e.salesName||"未分配销售",status:e.syncStatus||"服务中",customerName:e.customerName||"",customerPhone:e.customerPhone||"",customerId:e.customerId||"",recordingName:e.recordingName||"",title:s,remarks:e.remarks||"",tags:i,durationText:t?`开始时间:${t}`:"暂无开始时间"}},formatDateTime(e){if(!e)return"";const t=new Date(e);if(Number.isNaN(t.getTime()))return"";return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}`},viewServiceDetail(e){console.log("查看服务详情",e)},isUploading(e){return!!e&&this.uploadingIds.includes(String(e))},isMp3UploadFile(e){if(!e||!e.path)return!1;const t=e=>{if(!e||"string"!=typeof e)return"";return(e.split("/").pop()||e.split("\\").pop()||e).trim()},i=[t(e.name),t(e.path)].filter(Boolean);for(const r of i)if(r.toLowerCase().endsWith(".mp3"))return!0;return!1},async chooseAndUploadFile(t){if(!t||!t.id)return void e.index.showToast({title:"无法获取服务记录ID",icon:"none"});if(this.isUploading(t.id))return;const i=await this.selectUploadFile();i&&i.path&&await this.uploadFileForRecord(t,i)},selectUploadFile(){return new Promise((t=>{const i=i=>{const r=(e=>{const t=Array.isArray(null==e?void 0:e.tempFiles)?e.tempFiles:[];if(!t.length)return null;const i=t[0]||{},r=i.path||i.tempFilePath||i.url||"",s=i.name||r.split("/").pop()||`service_file_${Date.now()}`;return r?{path:r,name:s}:null})(i);return r?this.isMp3UploadFile(r)?void t(r):(e.index.showToast({title:"仅支持上传 MP3 文件",icon:"none"}),void t(null)):(e.index.showToast({title:"未选择有效文件",icon:"none"}),void t(null))},r=i=>{((null==i?void 0:i.errMsg)||"").includes("cancel")||(console.error("选择文件失败:",i),e.index.showToast({title:"选择文件失败",icon:"none"})),t(null)};"function"!=typeof e.index.chooseMessageFile?"function"!=typeof e.index.chooseFile?e.index.chooseImage({count:1,success:i,fail:r}):e.index.chooseFile({count:1,extension:[".mp3"],success:i,fail:r}):e.index.chooseMessageFile({count:1,type:"file",success:i,fail:r})}))},getAuthHeaders(){let t="",i="";try{t=e.index.getStorageSync("backend-tenant-id")||"",i=e.index.getStorageSync("backend-token")||""}catch(s){console.error("获取认证信息失败:",s)}const r={};return i&&(r.Authorization=`Bearer ${i}`),t&&(r["X-Tenant-Id"]=t),r},async uploadFileForRecord(i,r){const s=String(i.id);this.uploadingIds=[...this.uploadingIds,s];try{e.index.showLoading({title:"上传中..."});const n=await e.index.uploadFile({url:t.getApiUrl("/api/audio/upload"),filePath:r.path,name:"file",formData:{id:i.id,audioId:i.id,customerId:i.customerId||"",customerName:i.customerName||"",fileName:r.name||`service_file_${Date.now()}`},header:this.getAuthHeaders(),timeout:6e4});let a={};try{a="string"==typeof(null==n?void 0:n.data)?JSON.parse(n.data):(null==n?void 0:n.data)||{}}catch(o){a=(null==n?void 0:n.data)||{}}if(200===(null==n?void 0:n.statusCode)&&!1!==(null==a?void 0:a.success))return e.index.showToast({title:"上传成功",icon:"success"}),this.serviceStatusPage.current=1,void this.fetchServiceStatusList({force:!0});e.index.showToast({title:(null==a?void 0:a.message)||"上传失败",icon:"none"})}catch(n){console.error("上传文件失败:",n),e.index.showToast({title:(null==n?void 0:n.errMsg)||(null==n?void 0:n.message)||"上传失败",icon:"none"})}finally{e.index.hideLoading(),this.uploadingIds=this.uploadingIds.filter((e=>e!==s))}},async finishService(i){i&&i.id?e.index.showModal({title:"确认结束",content:"确定要结束这条服务记录吗?",success:async r=>{var s,o;if(r.confirm)try{e.index.showLoading({title:"结束中..."});const r=t.getApiUrl("/api/audioManagement/finishServiceById");let a="",c="";try{a=e.index.getStorageSync("backend-tenant-id")||"",c=e.index.getStorageSync("backend-token")||""}catch(n){console.error("获取认证信息失败:",n)}const l={"Content-Type":"application/json"};c&&(l.Authorization=`Bearer ${c}`),a&&(l["X-Tenant-Id"]=a);const d={id:i.id},u=await e.index.request({url:r,method:"POST",data:d,header:l,timeout:3e4});if(e.index.hideLoading(),200===u.statusCode&&u.data&&u.data.success){const t=((null==(s=u.data)?void 0:s.message)||"结束服务成功").replace(/[A-Za-z]+/g,"").split(/\n/).map((e=>e.trim())).filter(Boolean).join("\n")||"结束服务成功";e.index.showToast({title:t,icon:"success"}),this.serviceStatusPage.current=1,this.fetchServiceStatusList({force:!0})}else e.index.showToast({title:(null==(o=u.data)?void 0:o.message)||"结束服务失败",icon:"none"})}catch(a){e.index.hideLoading(),console.error("结束服务失败:",a);let t="结束服务失败,请重试";a.errMsg&&(a.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":a.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}}}):e.index.showToast({title:"无法获取服务记录ID",icon:"none"})},showSupplementDialog(e){this.currentSupplementItem=e,this.supplementForm={customerName:e.customerName||"",contact:e.customerPhone||"",recordingName:e.recordingName||"",remarks:e.remarks||""},this.showSupplementModal=!0},closeSupplementDialog(){this.showSupplementModal=!1,this.currentSupplementItem=null,this.supplementForm={customerName:"",contact:"",recordingName:"",remarks:""}},async saveSupplement(){var s,o,n,a,c;const l=null==(s=this.supplementForm.contact)?void 0:s.trim();if(!l||this.isValidPhoneNumber(l))if(this.currentSupplementItem&&this.currentSupplementItem.id)try{e.index.showLoading({title:"保存中..."});let s="",u="";try{s=e.index.getStorageSync("backend-tenant-id")||"",u=e.index.getStorageSync("backend-token")||""}catch(d){console.error("获取认证信息失败:",d)}const m={"Content-Type":"application/json"};u&&(m.Authorization=`Bearer ${u}`),s&&(m["X-Tenant-Id"]=s);let h={};try{h=e.index.getStorageSync("backend-login-response")||{}}catch(d){console.error("读取登录信息失败:",d)}const p=i.store.userInfo||{},S=r(h.phone,h.userName,p.username),g=r(h.realName,h.name,h.nickName,p.nickname,h.userName,p.username),v={id:this.currentSupplementItem.id,customerId:this.currentSupplementItem.customerId||"",customerName:(null==(o=this.supplementForm.customerName)?void 0:o.trim())||"",customerPhone:l||"",recordingName:(null==(n=this.supplementForm.recordingName)?void 0:n.trim())||"",remarks:(null==(a=this.supplementForm.remarks)?void 0:a.trim())||"",salesPhone:S,salesName:g},f=await e.index.request({url:t.getApiUrl("/api/audioManagement/updateForCustomerInfo"),method:"PUT",data:v,header:m,timeout:3e4});e.index.hideLoading(),200===f.statusCode&&f.data&&f.data.success?(e.index.showToast({title:"补录成功",icon:"success"}),this.closeSupplementDialog(),this.serviceStatusPage.current=1,this.fetchServiceStatusList({force:!0})):e.index.showToast({title:(null==(c=f.data)?void 0:c.message)||"补录失败",icon:"none"})}catch(u){e.index.hideLoading(),console.error("补录失败:",u);let t="补录失败,请重试";u.errMsg&&(u.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":u.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}else e.index.showToast({title:"无法获取服务记录ID",icon:"none"});else e.index.showToast({title:"请输入有效的客户电话",icon:"none"})},isValidPhoneNumber(e){const t=null==e?void 0:e.trim();return!!t&&/^1[3-9]\d{9}$/.test(t)}}};if(!Array){e.resolveComponent("uni-icons")()}Math;const o=e._export_sfc(s,[["render",function(t,i,r,s,o,n){return e.e({a:e.t(o.serviceStatusTotal),b:e.o(((...e)=>n.onServiceStatusSearch&&n.onServiceStatusSearch(...e)),"ba"),c:o.serviceStatusQuery.salesName,d:e.o((e=>o.serviceStatusQuery.salesName=e.detail.value),"27"),e:e.o(((...e)=>n.onServiceStatusSearch&&n.onServiceStatusSearch(...e)),"f6"),f:o.serviceStatusQuery.customerName,g:e.o((e=>o.serviceStatusQuery.customerName=e.detail.value),"5c"),h:o.isAdmin},o.isAdmin?{i:e.o(((...e)=>n.onServiceStatusSearch&&n.onServiceStatusSearch(...e)),"99"),j:o.serviceStatusQuery.salesPhone,k:e.o((e=>o.serviceStatusQuery.salesPhone=e.detail.value),"11")}:{},{l:e.p({type:"refresh",size:"18",color:"#2A68FF"}),m:e.o(((...e)=>n.onServiceStatusRefresh&&n.onServiceStatusRefresh(...e)),"5f"),n:e.f(o.serviceStatusList,((t,i,r)=>e.e({a:e.t(t.staffName?t.staffName.charAt(0):"未"),b:e.t(t.staffName||"未分配销售"),c:!n.isRecordingItem(t.id)},n.isRecordingItem(t.id)?{e:e.o((e=>n.stopPhoneRecordAndUpload(t)),t.id||i)}:{d:e.o((e=>n.startPhoneRecord(t)),t.id||i)},{f:e.o((e=>n.showSupplementDialog(t)),t.id||i),g:e.t(n.isUploading(t.id)?"上传中":"上传"),h:e.o((e=>n.chooseAndUploadFile(t)),t.id||i),i:e.o((e=>n.finishService(t)),t.id||i),j:"a30f78d6-1-"+r,k:t.title},t.title?{l:e.t(t.title)}:{},{m:e.t(t.customerName||"未知客户"),n:t.customerPhone},t.customerPhone?{o:e.t(t.customerPhone)}:{},{p:e.f(t.tags,((t,i,r)=>({a:e.t(t.text),b:e.n("tag-"+t.color),c:i}))),q:t.alert},t.alert?e.e({r:e.t(t.alert.title),s:"risk"===t.alert.type},"risk"===t.alert.type?{t:e.t(t.alert.message)}:{v:e.f(t.alert.messages,((t,i,r)=>({a:e.t(t),b:i})))},{w:e.n("risk"===t.alert.type?"alert-risk-text":"alert-reminder-text"),x:e.n("risk"===t.alert.type?"alert-risk-box":"alert-reminder-box")}):{},{y:e.t(t.durationText),z:t.id||i,A:e.o((e=>n.viewServiceDetail(t)),t.id||i)}))),o:e.p({type:"bars",size:"16",color:"#007AFF"}),p:!o.serviceStatusLoading&&!o.serviceStatusList.length},(o.serviceStatusLoading||o.serviceStatusList.length,{}),{q:o.serviceStatusLoading&&o.serviceStatusList.length},(o.serviceStatusLoading&&o.serviceStatusList.length,{}),{r:e.o(((...e)=>n.onServiceStatusReachBottom&&n.onServiceStatusReachBottom(...e)),"0e"),s:o.showSupplementModal},o.showSupplementModal?{t:e.p({type:"close",size:"20",color:"#999"}),v:e.o(((...e)=>n.closeSupplementDialog&&n.closeSupplementDialog(...e)),"7d"),w:o.supplementForm.customerName,x:e.o((e=>o.supplementForm.customerName=e.detail.value),"ab"),y:o.supplementForm.contact,z:e.o((e=>o.supplementForm.contact=e.detail.value),"24"),A:o.supplementForm.recordingName,B:e.o((e=>o.supplementForm.recordingName=e.detail.value),"00"),C:o.supplementForm.remarks,D:e.o((e=>o.supplementForm.remarks=e.detail.value),"94"),E:e.o(((...e)=>n.closeSupplementDialog&&n.closeSupplementDialog(...e)),"f0"),F:e.o(((...e)=>n.saveSupplement&&n.saveSupplement(...e)),"bb"),G:e.o((()=>{}),"a7"),H:e.o(((...e)=>n.closeSupplementDialog&&n.closeSupplementDialog(...e)),"cd")}:{})}],["__scopeId","data-v-a30f78d6"]]);wx.createComponent(o);
diff --git a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.wxml b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.wxml
index f37d4a9..2917176 100644
--- a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.wxml
+++ b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.wxml
@@ -1 +1 @@
-共{{a}}条刷新客户:{{item.k}}电话:{{item.m}}{{tag.a}}{{item.r}}{{msg.a}}{{item.w}}暂无服务中记录正在加载更多...客户姓名客户电话录音名客户详细地址
\ No newline at end of file
+共{{a}}条刷新{{item.l}}客户:{{item.m}}电话:{{item.o}}{{tag.a}}{{item.t}}{{msg.a}}{{item.y}}暂无服务中记录正在加载更多...客户姓名客户电话录音名客户详细地址
\ No newline at end of file
diff --git a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.wxss b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.wxss
index 886f257..61db191 100644
--- a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.wxss
+++ b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.wxss
@@ -1 +1 @@
-.service-status-list.data-v-c057978e{height:100%;width:100%;background-color:#f5f5f5;padding:24rpx 16rpx 0;box-sizing:border-box}.service-status-toolbar.data-v-c057978e{display:flex;flex-wrap:nowrap;align-items:center;gap:8rpx;padding:12rpx 8rpx;margin-bottom:24rpx;background-color:#f8f8fa;border-radius:8rpx;border:1px solid #EFEFF2;overflow-x:auto;min-height:64rpx;box-sizing:border-box}.toolbar-total.data-v-c057978e{font-size:24rpx;color:#666;white-space:nowrap;flex-shrink:0;margin-right:8rpx;line-height:1.2;padding:0 4rpx}.toolbar-input.data-v-c057978e{flex:1;min-width:120rpx;max-width:200rpx;height:56rpx;line-height:56rpx;background-color:#f5f6fa;border-radius:8rpx;padding:0 12rpx;font-size:24rpx;border:1px solid transparent;box-sizing:border-box;flex-shrink:1}.toolbar-actions.data-v-c057978e{display:flex;align-items:center;margin-left:auto;flex-shrink:0;gap:8rpx}.toolbar-btn.data-v-c057978e{padding:0 12rpx;height:56rpx;min-width:56rpx;color:#2a68ff;display:flex;align-items:center;justify-content:center;gap:4rpx;font-size:24rpx;font-weight:400;line-height:1;box-sizing:border-box}.service-card.data-v-c057978e{width:100%;box-sizing:border-box;background-color:#fff;border-radius:16rpx;padding:32rpx;margin-bottom:24rpx;box-shadow:0 2rpx 8rpx rgba(0,0,0,.04);overflow:visible}.card-header.data-v-c057978e{display:flex;justify-content:space-between;align-items:center;margin-bottom:20rpx;width:100%;box-sizing:border-box;padding:0;margin:0}.staff-info.data-v-c057978e{display:flex;align-items:center;flex:1;min-width:0;margin:0;padding:0}.staff-avatar.data-v-c057978e{width:64rpx;height:64rpx;background-color:#2196f3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:16rpx;margin-left:0;margin-top:0;margin-bottom:0;flex-shrink:0}.avatar-text.data-v-c057978e{font-size:32rpx;color:#fff;font-weight:500}.staff-name.data-v-c057978e{font-size:32rpx;font-weight:500;color:#333}.service-status.data-v-c057978e{display:flex;align-items:center;gap:8rpx}.service-status text.data-v-c057978e{font-size:26rpx;color:#007aff}.customer-tags.data-v-c057978e{display:flex;flex-wrap:wrap;margin-bottom:20rpx;gap:12rpx;box-sizing:border-box;margin-left:0;margin-right:0;padding:0;width:100%;max-width:100%}.customer-info.data-v-c057978e{margin-bottom:16rpx;display:flex;flex-direction:column;gap:8rpx;box-sizing:border-box;margin-left:0;margin-right:0;padding:0;width:100%;max-width:100%}.customer-name.data-v-c057978e,.customer-phone.data-v-c057978e{font-size:28rpx;color:#555}.tag-item.data-v-c057978e{padding:8rpx 16rpx;border-radius:8rpx;box-sizing:border-box;word-wrap:break-word;word-break:break-all;display:inline-block;max-width:100%}.tag-blue.data-v-c057978e{background-color:#e3f2fd}.tag-blue text.data-v-c057978e{font-size:24rpx;color:#1976d2}.tag-orange.data-v-c057978e{background-color:#fff3e0}.tag-orange text.data-v-c057978e{font-size:24rpx;color:#f57c00}.ai-alert.data-v-c057978e{border-radius:8rpx;padding:20rpx;margin-bottom:20rpx}.alert-risk-box.data-v-c057978e{background-color:#fff5f5}.alert-reminder-box.data-v-c057978e{background-color:#f5f5f5}.alert-header.data-v-c057978e{display:flex;align-items:center;margin-bottom:12rpx}.alert-icon.data-v-c057978e{margin-right:8rpx}.icon-circle.data-v-c057978e{width:24rpx;height:24rpx;border:2rpx solid #333;border-radius:50%;position:relative}.icon-circle.data-v-c057978e:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8rpx;height:8rpx;background-color:#333;border-radius:50%}.alert-title.data-v-c057978e{font-size:28rpx;font-weight:500;color:#333}.alert-content.data-v-c057978e{font-size:26rpx;line-height:1.6}.alert-risk-text.data-v-c057978e{color:#ff5722}.alert-reminder-text.data-v-c057978e{color:#666}.alert-list.data-v-c057978e{display:flex;flex-direction:column;gap:8rpx}.alert-item.data-v-c057978e{display:flex;align-items:flex-start}.alert-item.data-v-c057978e:before{content:"\2022";margin-right:8rpx;color:#666}.alert-item text.data-v-c057978e{font-size:26rpx;color:#666;line-height:1.6}.service-duration.data-v-c057978e{padding-top:16rpx;border-top:1px solid #F0F0F0}.service-duration text.data-v-c057978e{font-size:26rpx;color:#999}.service-action-btn.data-v-c057978e{padding:6rpx 16rpx;border-radius:4rpx;font-size:26rpx;font-weight:400;display:flex;align-items:center;justify-content:center;margin-right:12rpx;cursor:pointer}.service-action-btn--finish.data-v-c057978e{color:#007aff;background-color:transparent}.service-action-btn--finish.data-v-c057978e:active{opacity:.7}.service-action-btn--supplement.data-v-c057978e{color:#10b981;background-color:transparent}.service-action-btn--supplement.data-v-c057978e:active{opacity:.7}.service-action-btn--upload.data-v-c057978e{color:#7c3aed;background-color:transparent}.service-action-btn--upload.data-v-c057978e:active{opacity:.7}.service-action-btn--record.data-v-c057978e{color:#007aff;background-color:transparent}.service-action-btn--record.data-v-c057978e:active{opacity:.7}.service-action-btn--recording.data-v-c057978e{color:#ff3b30}.service-status-empty.data-v-c057978e,.service-status-loading-more.data-v-c057978e{padding:48rpx 0;text-align:center;color:#999;font-size:28rpx}.supplement-dialog-mask.data-v-c057978e{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.supplement-dialog.data-v-c057978e{width:640rpx;max-height:80vh;background-color:#fff;border-radius:24rpx;overflow:hidden;display:flex;flex-direction:column}.supplement-dialog__header.data-v-c057978e{display:flex;align-items:center;justify-content:space-between;padding:32rpx 32rpx 24rpx;border-bottom:1px solid #F0F0F0}.supplement-dialog__title.data-v-c057978e{font-size:32rpx;font-weight:500;color:#333}.supplement-dialog__close.data-v-c057978e{width:48rpx;height:48rpx;display:flex;align-items:center;justify-content:center}.supplement-dialog__body.data-v-c057978e{flex:1;padding:32rpx;overflow-y:auto}.supplement-form-item.data-v-c057978e{margin-bottom:32rpx}.supplement-form-item.data-v-c057978e:last-child{margin-bottom:0}.supplement-form-item__label.data-v-c057978e{display:block;font-size:28rpx;color:#333;font-weight:500;margin-bottom:16rpx}.supplement-form-item__input.data-v-c057978e{width:100%;height:88rpx;background-color:#f9fafb;border-radius:12rpx;padding:0 24rpx;font-size:28rpx;color:#333;box-sizing:border-box}.supplement-form-item__textarea.data-v-c057978e{width:100%;min-height:160rpx;background-color:#f9fafb;border-radius:12rpx;padding:24rpx;font-size:28rpx;color:#333;box-sizing:border-box;line-height:1.6}.supplement-dialog__footer.data-v-c057978e{display:flex;gap:24rpx;padding:24rpx 32rpx 32rpx;border-top:1px solid #F0F0F0}.supplement-dialog__btn.data-v-c057978e{flex:1;height:88rpx;border-radius:12rpx;display:flex;align-items:center;justify-content:center;font-size:32rpx;font-weight:500}.supplement-dialog__btn--cancel.data-v-c057978e{background-color:#f3f4f6;color:#6b7280}.supplement-dialog__btn--save.data-v-c057978e{background-color:#4c8dff;color:#fff}.supplement-dialog__btn.data-v-c057978e:active{opacity:.7}
+.service-status-list.data-v-a30f78d6{width:100%;background-color:#f5f5f5;padding:24rpx 16rpx 0;box-sizing:border-box;height:100%}.service-status-toolbar.data-v-a30f78d6{display:flex;flex-wrap:nowrap;align-items:center;gap:8rpx;padding:12rpx 8rpx;margin-bottom:24rpx;background-color:#f8f8fa;border-radius:8rpx;border:1px solid #EFEFF2;overflow-x:auto;min-height:64rpx;box-sizing:border-box}.toolbar-total.data-v-a30f78d6{font-size:24rpx;color:#666;white-space:nowrap;flex-shrink:0;margin-right:8rpx;line-height:1.2;padding:0 4rpx}.toolbar-input.data-v-a30f78d6{flex:1;min-width:120rpx;max-width:200rpx;height:56rpx;line-height:56rpx;background-color:#f5f6fa;border-radius:8rpx;padding:0 12rpx;font-size:24rpx;border:1px solid transparent;box-sizing:border-box;flex-shrink:1}.toolbar-actions.data-v-a30f78d6{display:flex;align-items:center;margin-left:auto;flex-shrink:0;gap:8rpx}.toolbar-btn.data-v-a30f78d6{padding:0 12rpx;height:56rpx;min-width:56rpx;color:#2a68ff;display:flex;align-items:center;justify-content:center;gap:4rpx;font-size:24rpx;font-weight:400;line-height:1;box-sizing:border-box}.service-card.data-v-a30f78d6{width:100%;box-sizing:border-box;background-color:#fff;border-radius:16rpx;padding:32rpx;margin-bottom:24rpx;box-shadow:0 2rpx 8rpx rgba(0,0,0,.04);overflow:visible}.card-header.data-v-a30f78d6{display:flex;justify-content:space-between;align-items:center;margin-bottom:20rpx;width:100%;box-sizing:border-box;padding:0;margin:0}.service-title.data-v-a30f78d6{margin-top:16rpx;margin-bottom:8rpx}.service-title__text.data-v-a30f78d6{font-size:28rpx;font-weight:600;color:#111827;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-info.data-v-a30f78d6{display:flex;align-items:center;flex:1;min-width:0;margin:0;padding:0}.staff-avatar.data-v-a30f78d6{width:64rpx;height:64rpx;background-color:#2196f3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:16rpx;margin-left:0;margin-top:0;margin-bottom:0;flex-shrink:0}.avatar-text.data-v-a30f78d6{font-size:32rpx;color:#fff;font-weight:500}.staff-name.data-v-a30f78d6{font-size:32rpx;font-weight:500;color:#333}.service-status.data-v-a30f78d6{display:flex;align-items:center;gap:8rpx}.service-status text.data-v-a30f78d6{font-size:26rpx;color:#007aff}.customer-tags.data-v-a30f78d6{display:flex;flex-wrap:wrap;margin-bottom:20rpx;gap:12rpx;box-sizing:border-box;margin-left:0;margin-right:0;padding:0;width:100%;max-width:100%}.customer-info.data-v-a30f78d6{margin-bottom:16rpx;display:flex;flex-direction:column;gap:8rpx;box-sizing:border-box;margin-left:0;margin-right:0;padding:0;width:100%;max-width:100%}.customer-name.data-v-a30f78d6,.customer-phone.data-v-a30f78d6{font-size:28rpx;color:#555}.tag-item.data-v-a30f78d6{padding:8rpx 16rpx;border-radius:8rpx;box-sizing:border-box;word-wrap:break-word;word-break:break-all;display:inline-block;max-width:100%}.tag-blue.data-v-a30f78d6{background-color:#e3f2fd}.tag-blue text.data-v-a30f78d6{font-size:24rpx;color:#1976d2}.tag-orange.data-v-a30f78d6{background-color:#fff3e0}.tag-orange text.data-v-a30f78d6{font-size:24rpx;color:#f57c00}.ai-alert.data-v-a30f78d6{border-radius:8rpx;padding:20rpx;margin-bottom:20rpx}.alert-risk-box.data-v-a30f78d6{background-color:#fff5f5}.alert-reminder-box.data-v-a30f78d6{background-color:#f5f5f5}.alert-header.data-v-a30f78d6{display:flex;align-items:center;margin-bottom:12rpx}.alert-icon.data-v-a30f78d6{margin-right:8rpx}.icon-circle.data-v-a30f78d6{width:24rpx;height:24rpx;border:2rpx solid #333;border-radius:50%;position:relative}.icon-circle.data-v-a30f78d6:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8rpx;height:8rpx;background-color:#333;border-radius:50%}.alert-title.data-v-a30f78d6{font-size:28rpx;font-weight:500;color:#333}.alert-content.data-v-a30f78d6{font-size:26rpx;line-height:1.6}.alert-risk-text.data-v-a30f78d6{color:#ff5722}.alert-reminder-text.data-v-a30f78d6{color:#666}.alert-list.data-v-a30f78d6{display:flex;flex-direction:column;gap:8rpx}.alert-item.data-v-a30f78d6{display:flex;align-items:flex-start}.alert-item.data-v-a30f78d6:before{content:"\2022";margin-right:8rpx;color:#666}.alert-item text.data-v-a30f78d6{font-size:26rpx;color:#666;line-height:1.6}.service-duration.data-v-a30f78d6{padding-top:16rpx;border-top:1px solid #F0F0F0}.service-duration text.data-v-a30f78d6{font-size:26rpx;color:#999}.service-action-btn.data-v-a30f78d6{padding:6rpx 16rpx;border-radius:4rpx;font-size:26rpx;font-weight:400;display:flex;align-items:center;justify-content:center;margin-right:12rpx;cursor:pointer}.service-action-btn--finish.data-v-a30f78d6{color:#007aff;background-color:transparent}.service-action-btn--finish.data-v-a30f78d6:active{opacity:.7}.service-action-btn--supplement.data-v-a30f78d6{color:#10b981;background-color:transparent}.service-action-btn--supplement.data-v-a30f78d6:active{opacity:.7}.service-action-btn--upload.data-v-a30f78d6{color:#7c3aed;background-color:transparent}.service-action-btn--upload.data-v-a30f78d6:active{opacity:.7}.service-action-btn--record.data-v-a30f78d6{color:#007aff;background-color:transparent}.service-action-btn--record.data-v-a30f78d6:active{opacity:.7}.service-action-btn--recording.data-v-a30f78d6{color:#ff3b30}.service-status-empty.data-v-a30f78d6,.service-status-loading-more.data-v-a30f78d6{padding:48rpx 0;text-align:center;color:#999;font-size:28rpx}.supplement-dialog-mask.data-v-a30f78d6{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.supplement-dialog.data-v-a30f78d6{width:640rpx;max-height:80vh;background-color:#fff;border-radius:24rpx;overflow:hidden;display:flex;flex-direction:column}.supplement-dialog__header.data-v-a30f78d6{display:flex;align-items:center;justify-content:space-between;padding:32rpx 32rpx 24rpx;border-bottom:1px solid #F0F0F0}.supplement-dialog__title.data-v-a30f78d6{font-size:32rpx;font-weight:500;color:#333}.supplement-dialog__close.data-v-a30f78d6{width:48rpx;height:48rpx;display:flex;align-items:center;justify-content:center}.supplement-dialog__body.data-v-a30f78d6{flex:1;padding:32rpx;overflow-y:auto}.supplement-form-item.data-v-a30f78d6{margin-bottom:32rpx}.supplement-form-item.data-v-a30f78d6:last-child{margin-bottom:0}.supplement-form-item__label.data-v-a30f78d6{display:block;font-size:28rpx;color:#333;font-weight:500;margin-bottom:16rpx}.supplement-form-item__input.data-v-a30f78d6{width:100%;height:88rpx;background-color:#f9fafb;border-radius:12rpx;padding:0 24rpx;font-size:28rpx;color:#333;box-sizing:border-box}.supplement-form-item__textarea.data-v-a30f78d6{width:100%;min-height:160rpx;background-color:#f9fafb;border-radius:12rpx;padding:24rpx;font-size:28rpx;color:#333;box-sizing:border-box;line-height:1.6}.supplement-dialog__footer.data-v-a30f78d6{display:flex;gap:24rpx;padding:24rpx 32rpx 32rpx;border-top:1px solid #F0F0F0}.supplement-dialog__btn.data-v-a30f78d6{flex:1;height:88rpx;border-radius:12rpx;display:flex;align-items:center;justify-content:center;font-size:32rpx;font-weight:500}.supplement-dialog__btn--cancel.data-v-a30f78d6{background-color:#f3f4f6;color:#6b7280}.supplement-dialog__btn--save.data-v-a30f78d6{background-color:#4c8dff;color:#fff}.supplement-dialog__btn.data-v-a30f78d6:active{opacity:.7}
diff --git a/unpackage/dist/build/mp-weixin/pages-subpackage/workspace/scene-detail.js b/unpackage/dist/build/mp-weixin/pages-subpackage/workspace/scene-detail.js
index d2a5a9b..19adfbb 100644
--- a/unpackage/dist/build/mp-weixin/pages-subpackage/workspace/scene-detail.js
+++ b/unpackage/dist/build/mp-weixin/pages-subpackage/workspace/scene-detail.js
@@ -1 +1 @@
-"use strict";const e=require("../../common/vendor.js"),n={data:()=>({sceneInfo:{title:"",navItems:[]}}),onLoad(n){if(n.scene)try{this.sceneInfo=JSON.parse(decodeURIComponent(n.scene))}catch(o){console.error("解析场景信息失败:",o),e.index.showToast({title:"参数错误",icon:"none"}),setTimeout((()=>{e.index.navigateBack()}),1500)}},methods:{goBack(){e.index.navigateBack()},navigateToPage(n){if(n.path){["/pages/furniture_reception/furniture_reception","/pages-subpackage/furniture_customer/furniture_customer","/pages/furniture_top_sales/furniture_top_sales","/pages/ucenter/ucenter"].includes(n.path)?e.index.switchTab({url:n.path,fail:n=>{console.error("跳转失败:",n),e.index.showToast({title:"页面不存在",icon:"none"})}}):e.index.navigateTo({url:n.path,fail:n=>{console.error("跳转失败:",n),e.index.showToast({title:"页面不存在",icon:"none"})}})}else e.index.showToast({title:"页面路径未配置",icon:"none"})}}};if(!Array){(e.resolveComponent("uni-nav-bar")+e.resolveComponent("uni-icons"))()}Math||((()=>"../../uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.js")+(()=>"../../uni_modules/uni-icons/components/uni-icons/uni-icons.js"))();const o=e._export_sfc(n,[["render",function(n,o,t,i,a,s){return{a:e.o(s.goBack,"23"),b:e.p({fixed:!0,statusBar:!0,border:!1,title:a.sceneInfo.title,leftIcon:"left",color:"#333",backgroundColor:"#FFFFFF"}),c:e.f(a.sceneInfo.navItems,((n,o,t)=>({a:"d06f0ee7-1-"+t,b:e.t(n.title),c:"d06f0ee7-2-"+t,d:o,e:e.o((e=>s.navigateToPage(n)),o)}))),d:e.p({type:"right",size:"20",color:"#CCCCCC"}),e:e.p({type:"right",size:"16",color:"#CCCCCC"})}}],["__scopeId","data-v-d06f0ee7"]]);wx.createPage(o);
+"use strict";const e=require("../../common/vendor.js"),n={data:()=>({sceneInfo:{title:"",navItems:[]}}),onLoad(n){if(n.scene)try{this.sceneInfo=JSON.parse(decodeURIComponent(n.scene))}catch(o){console.error("解析场景信息失败:",o),e.index.showToast({title:"参数错误",icon:"none"}),setTimeout((()=>{e.index.navigateBack()}),1500)}},methods:{goBack(){e.index.navigateBack()},navigateToPage(n){if(n.path){const o=["/pages-subpackage/furniture_customer/furniture_customer","/pages/workbench/workbench","/pages/furniture_top_sales/furniture_top_sales","/pages/ucenter/ucenter"];"/pages/furniture_reception/furniture_reception"===n.path?e.index.navigateTo({url:n.path,fail:n=>{console.error("跳转失败:",n),e.index.showToast({title:"页面不存在",icon:"none"})}}):o.includes(n.path)?e.index.switchTab({url:n.path,fail:n=>{console.error("跳转失败:",n),e.index.showToast({title:"页面不存在",icon:"none"})}}):e.index.navigateTo({url:n.path,fail:n=>{console.error("跳转失败:",n),e.index.showToast({title:"页面不存在",icon:"none"})}})}else e.index.showToast({title:"页面路径未配置",icon:"none"})}}};if(!Array){(e.resolveComponent("uni-nav-bar")+e.resolveComponent("uni-icons"))()}Math||((()=>"../../uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.js")+(()=>"../../uni_modules/uni-icons/components/uni-icons/uni-icons.js"))();const o=e._export_sfc(n,[["render",function(n,o,t,i,a,r){return{a:e.o(r.goBack,"23"),b:e.p({fixed:!0,statusBar:!0,border:!1,title:a.sceneInfo.title,leftIcon:"left",color:"#333",backgroundColor:"#FFFFFF"}),c:e.f(a.sceneInfo.navItems,((n,o,t)=>({a:"8dd186f2-1-"+t,b:e.t(n.title),c:"8dd186f2-2-"+t,d:o,e:e.o((e=>r.navigateToPage(n)),o)}))),d:e.p({type:"right",size:"20",color:"#CCCCCC"}),e:e.p({type:"right",size:"16",color:"#CCCCCC"})}}],["__scopeId","data-v-8dd186f2"]]);wx.createPage(o);
diff --git a/unpackage/dist/build/mp-weixin/pages-subpackage/workspace/scene-detail.wxml b/unpackage/dist/build/mp-weixin/pages-subpackage/workspace/scene-detail.wxml
index 7e1ef0d..9176eb0 100644
--- a/unpackage/dist/build/mp-weixin/pages-subpackage/workspace/scene-detail.wxml
+++ b/unpackage/dist/build/mp-weixin/pages-subpackage/workspace/scene-detail.wxml
@@ -1 +1 @@
-{{item.b}}
\ No newline at end of file
+{{item.b}}
\ No newline at end of file
diff --git a/unpackage/dist/build/mp-weixin/pages-subpackage/workspace/scene-detail.wxss b/unpackage/dist/build/mp-weixin/pages-subpackage/workspace/scene-detail.wxss
index 37f461b..4a1d437 100644
--- a/unpackage/dist/build/mp-weixin/pages-subpackage/workspace/scene-detail.wxss
+++ b/unpackage/dist/build/mp-weixin/pages-subpackage/workspace/scene-detail.wxss
@@ -1 +1 @@
-.page.data-v-d06f0ee7{min-height:100vh;background-color:#f5f5f5}.content.data-v-d06f0ee7{padding:44px 16px 20px}.nav-list.data-v-d06f0ee7{background:#fff;border-radius:12px;overflow:hidden}.nav-item.data-v-d06f0ee7{border-bottom:1px solid #F0F0F0}.nav-item.data-v-d06f0ee7:last-child{border-bottom:none}.nav-item-content.data-v-d06f0ee7{display:flex;align-items:center;padding:20px 16px;transition:background-color .2s}.nav-item:active .nav-item-content.data-v-d06f0ee7{background-color:#f5f5f5}.nav-item-icon.data-v-d06f0ee7{margin-right:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:8px}.nav-item-title.data-v-d06f0ee7{flex:1;font-size:16px;color:#333;font-weight:500}.nav-item-arrow.data-v-d06f0ee7{margin-left:12px}
+.page.data-v-8dd186f2{min-height:100vh;background-color:#f5f5f5}.content.data-v-8dd186f2{padding:44px 16px 20px}.nav-list.data-v-8dd186f2{background:#fff;border-radius:12px;overflow:hidden}.nav-item.data-v-8dd186f2{border-bottom:1px solid #F0F0F0}.nav-item.data-v-8dd186f2:last-child{border-bottom:none}.nav-item-content.data-v-8dd186f2{display:flex;align-items:center;padding:20px 16px;transition:background-color .2s}.nav-item:active .nav-item-content.data-v-8dd186f2{background-color:#f5f5f5}.nav-item-icon.data-v-8dd186f2{margin-right:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:8px}.nav-item-title.data-v-8dd186f2{flex:1;font-size:16px;color:#333;font-weight:500}.nav-item-arrow.data-v-8dd186f2{margin-left:12px}
diff --git a/unpackage/dist/build/mp-weixin/pages/ai_analysis/ai_analysis.js b/unpackage/dist/build/mp-weixin/pages/ai_analysis/ai_analysis.js
index 986c645..9c92f8f 100644
--- a/unpackage/dist/build/mp-weixin/pages/ai_analysis/ai_analysis.js
+++ b/unpackage/dist/build/mp-weixin/pages/ai_analysis/ai_analysis.js
@@ -1 +1 @@
-"use strict";const e=require("../../common/vendor.js");function t(){if(void 0!==e.wx$1&&e.wx$1.getWindowInfo)try{const t=e.wx$1.getWindowInfo();return{statusBarHeight:t.statusBarHeight||20,windowWidth:t.windowWidth,windowHeight:t.windowHeight}}catch(t){console.warn("[AIAnalysis] Failed to use wx.getWindowInfo, fallback to getSystemInfoSync:",t)}try{const t=e.index.getSystemInfoSync();return{statusBarHeight:t.statusBarHeight||20,windowWidth:t.windowWidth,windowHeight:t.windowHeight}}catch(t){return console.error("[AIAnalysis] Failed to get system info:",t),{statusBarHeight:20,windowWidth:375,windowHeight:667}}}const o={data:()=>({contentTop:2*t().statusBarHeight+88+"rpx",contentBottom:"96rpx",showQualityCoverage:!1,subpackageLoaded:!1,popupsInitialized:!1,openQualityCoverageTrigger:0}),computed:{computedContentTop:()=>2*t().statusBarHeight+88+"rpx"},onLoad(){this.updateNavbarPosition(),setTimeout((()=>{this.preloadSubpackage()}),100),this.$nextTick((()=>{setTimeout((()=>{this.popupsInitialized=!0,console.log("[AIAnalysis] Popup components ready (using v-show)")}),500)}))},onShow(){this.$nextTick((()=>{this.updateNavbarPosition(),setTimeout((()=>{this.updateNavbarPosition()}),50)}))},onReady(){this.$nextTick((()=>{e.index.createSelectorQuery().in(this).select(".uni-navbar__content").boundingClientRect((e=>{if(e&&e.height){const t=e.height,o=2*t,a=Math.max(o-4,0);this.$set(this,"contentTop",a+"rpx"),console.log("[AIAnalysis] 使用实际导航栏高度:",t,"px =",o,"rpx, 调整后:",a,"rpx")}else{const e=2*t().statusBarHeight+2*44,o=Math.max(e-4,0);this.$set(this,"contentTop",o+"rpx")}})).exec();e.index.createSelectorQuery().in(this).select(".tabbar").boundingClientRect((e=>{if(e&&e.height){const t=e.height,o=2*t,a=Math.max(o-4,0);this.$set(this,"contentBottom",a+"rpx"),console.log("[AIAnalysis] 使用实际tabbar高度:",t,"px =",o,"rpx, 调整后:",a,"rpx")}else this.$set(this,"contentBottom","96rpx")})).exec(),setTimeout((()=>{e.index.createSelectorQuery().in(this).select(".uni-navbar__content").boundingClientRect((e=>{if(e&&e.height){const t=e.height,o=2*t,a=Math.max(o-4,0);this.$set(this,"contentTop",a+"rpx"),console.log("[AIAnalysis] 延迟更新导航栏高度:",t,"px =",o,"rpx, 调整后:",a,"rpx")}})).exec();e.index.createSelectorQuery().in(this).select(".tabbar").boundingClientRect((e=>{if(e&&e.height){const t=e.height,o=2*t,a=Math.max(o-4,0);this.$set(this,"contentBottom",a+"rpx"),console.log("[AIAnalysis] 延迟更新tabbar高度:",t,"px =",o,"rpx, 调整后:",a,"rpx")}})).exec()}),200)}))},methods:{preloadSubpackage(){void 0!==e.wx$1&&e.wx$1.loadSubpackage?e.wx$1.loadSubpackage({name:"pages-subpackage",success:()=>{console.log("[AIAnalysis] Subpackage loaded successfully"),this.subpackageLoaded=!0},fail:e=>{console.error("[AIAnalysis] Failed to load subpackage:",e),this.subpackageLoaded=!0}}):(console.log("[AIAnalysis] loadSubpackage API not available, assuming subpackage will load automatically"),this.subpackageLoaded=!0)},showQualityCoveragePopup(){this.showQualityCoverage=!0,this.$nextTick((()=>{this.openQualityCoverageTrigger++}))},onQualityCoveragePopupClose(){this.showQualityCoverage=!1},updateNavbarPosition(){const e=2*t().statusBarHeight+88+"rpx";this.$set(this,"contentTop",e),this.$forceUpdate()},goBack(){getCurrentPages().length<=1?console.log("[AIAnalysis][goBack] 当前是第一个页面,无法返回"):e.index.navigateBack({fail:e=>{console.error("[AIAnalysis][goBack] 返回失败:",e)}})},navigateToPage(t){const o=`pages-subpackage/ai_features/${t}/${t}`;e.index.navigateTo({url:`/${o}`,fail:t=>{console.error("导航失败:",t),e.index.showToast({title:"页面跳转失败",icon:"none"})}})},quickJumpReceptionTab(t){if(["status","reception","tag"].includes(t)){try{e.index.setStorageSync("workbench-reception-tab",t)}catch(o){console.warn("[AIAnalysis] 写入接待tab快捷跳转参数失败:",o)}e.index.switchTab({url:"/pages/furniture_reception/furniture_reception",fail:t=>{console.error("[AIAnalysis] 快捷跳转接待页失败:",t),e.index.showToast({title:"跳转失败,请稍后重试",icon:"none"})}})}},quickJumpCustomerTab(t){["service","customer"].includes(t)&&e.index.navigateTo({url:`/pages-subpackage/furniture_customer/furniture_customer?tab=${t}`,fail:t=>{console.error("[AIAnalysis] 快捷跳转客户页失败:",t),e.index.showToast({title:"跳转失败,请稍后重试",icon:"none"})}})}}};if(!Array){(e.resolveComponent("uni-nav-bar")+e.resolveComponent("QualityCoveragePopup"))()}Math;const a=e._export_sfc(o,[["render",function(t,o,a,i,n,s){return e.e({a:e.o(s.goBack,"84"),b:e.p({fixed:!0,statusBar:!0,title:"AI销冠系统",leftIcon:"left",color:"#333",backgroundColor:"#FFFFFF"}),c:e.o((e=>s.quickJumpReceptionTab("reception")),"4f"),d:e.o((e=>s.quickJumpReceptionTab("status")),"6f"),e:e.o((e=>s.quickJumpReceptionTab("tag")),"70"),f:e.o((e=>s.quickJumpCustomerTab("customer")),"df"),g:e.o((e=>s.quickJumpCustomerTab("service")),"01"),h:e.o((e=>s.navigateToPage("recording_duration")),"19"),i:e.o((e=>s.navigateToPage("customer_count")),"98"),j:e.o(((...e)=>s.showQualityCoveragePopup&&s.showQualityCoveragePopup(...e)),"e2"),k:e.o((e=>s.navigateToPage("speech_rating")),"6b"),l:e.o((e=>s.navigateToPage("intent_level")),"28"),m:e.o((e=>s.navigateToPage("deal_attribution")),"85"),n:e.o((e=>s.navigateToPage("opening_rate")),"f0"),o:e.o((e=>s.navigateToPage("over_commitment")),"9b"),p:e.o((e=>s.navigateToPage("red_line_touch")),"40"),q:s.computedContentTop||n.contentTop,r:n.contentBottom||"96rpx",s:n.showQualityCoverage},n.showQualityCoverage?{t:e.o(s.onQualityCoveragePopupClose,"35"),v:e.p({"open-trigger":n.openQualityCoverageTrigger})}:{})}],["__scopeId","data-v-609012d3"]]);wx.createPage(a);
+"use strict";const t=require("../../common/vendor.js");function e(){if(void 0!==t.wx$1&&t.wx$1.getWindowInfo)try{const e=t.wx$1.getWindowInfo();return{statusBarHeight:e.statusBarHeight||20,windowWidth:e.windowWidth,windowHeight:e.windowHeight}}catch(e){console.warn("[AIAnalysis] Failed to use wx.getWindowInfo, fallback to getSystemInfoSync:",e)}try{const e=t.index.getSystemInfoSync();return{statusBarHeight:e.statusBarHeight||20,windowWidth:e.windowWidth,windowHeight:e.windowHeight}}catch(e){return console.error("[AIAnalysis] Failed to get system info:",e),{statusBarHeight:20,windowWidth:375,windowHeight:667}}}const o={components:{AiAnalysisDashboardBody:()=>"../../components/ai-analysis-dashboard-body.js"},data:()=>({contentTop:2*e().statusBarHeight+88+"rpx",contentBottom:"96rpx",subpackageLoaded:!1}),computed:{computedContentTop:()=>2*e().statusBarHeight+88+"rpx"},onLoad(){this.updateNavbarPosition(),setTimeout((()=>{this.preloadSubpackage()}),100)},onShow(){this.$nextTick((()=>{this.updateNavbarPosition(),setTimeout((()=>{this.updateNavbarPosition()}),50)}))},onReady(){this.$nextTick((()=>{t.index.createSelectorQuery().in(this).select(".uni-navbar__content").boundingClientRect((t=>{if(t&&t.height){const e=t.height,o=2*e,a=Math.max(o-4,0);this.$set(this,"contentTop",a+"rpx"),console.log("[AIAnalysis] 使用实际导航栏高度:",e,"px =",o,"rpx, 调整后:",a,"rpx")}else{const t=2*e().statusBarHeight+2*44,o=Math.max(t-4,0);this.$set(this,"contentTop",o+"rpx")}})).exec();t.index.createSelectorQuery().in(this).select(".tabbar").boundingClientRect((t=>{if(t&&t.height){const e=t.height,o=2*e,a=Math.max(o-4,0);this.$set(this,"contentBottom",a+"rpx"),console.log("[AIAnalysis] 使用实际tabbar高度:",e,"px =",o,"rpx, 调整后:",a,"rpx")}else this.$set(this,"contentBottom","96rpx")})).exec(),setTimeout((()=>{t.index.createSelectorQuery().in(this).select(".uni-navbar__content").boundingClientRect((t=>{if(t&&t.height){const e=t.height,o=2*e,a=Math.max(o-4,0);this.$set(this,"contentTop",a+"rpx"),console.log("[AIAnalysis] 延迟更新导航栏高度:",e,"px =",o,"rpx, 调整后:",a,"rpx")}})).exec();t.index.createSelectorQuery().in(this).select(".tabbar").boundingClientRect((t=>{if(t&&t.height){const e=t.height,o=2*e,a=Math.max(o-4,0);this.$set(this,"contentBottom",a+"rpx"),console.log("[AIAnalysis] 延迟更新tabbar高度:",e,"px =",o,"rpx, 调整后:",a,"rpx")}})).exec()}),200)}))},methods:{preloadSubpackage(){void 0!==t.wx$1&&t.wx$1.loadSubpackage?t.wx$1.loadSubpackage({name:"pages-subpackage",success:()=>{console.log("[AIAnalysis] Subpackage loaded successfully"),this.subpackageLoaded=!0},fail:t=>{console.error("[AIAnalysis] Failed to load subpackage:",t),this.subpackageLoaded=!0}}):(console.log("[AIAnalysis] loadSubpackage API not available, assuming subpackage will load automatically"),this.subpackageLoaded=!0)},updateNavbarPosition(){const t=2*e().statusBarHeight+88+"rpx";this.$set(this,"contentTop",t),this.$forceUpdate()},goBack(){getCurrentPages().length<=1?console.log("[AIAnalysis][goBack] 当前是第一个页面,无法返回"):t.index.navigateBack({fail:t=>{console.error("[AIAnalysis][goBack] 返回失败:",t)}})}}};if(!Array){(t.resolveComponent("uni-nav-bar")+t.resolveComponent("ai-analysis-dashboard-body"))()}Math;const a=t._export_sfc(o,[["render",function(e,o,a,n,s,i){return{a:t.o(i.goBack,"3a"),b:t.p({fixed:!0,statusBar:!0,title:"AI销冠系统",leftIcon:"left",color:"#333",backgroundColor:"#FFFFFF"}),c:t.p({"content-top":i.computedContentTop||s.contentTop,"content-bottom":s.contentBottom})}}],["__scopeId","data-v-eec594bd"]]);wx.createPage(a);
diff --git a/unpackage/dist/build/mp-weixin/pages/ai_analysis/ai_analysis.json b/unpackage/dist/build/mp-weixin/pages/ai_analysis/ai_analysis.json
index af4bb32..e0be12d 100644
--- a/unpackage/dist/build/mp-weixin/pages/ai_analysis/ai_analysis.json
+++ b/unpackage/dist/build/mp-weixin/pages/ai_analysis/ai_analysis.json
@@ -1,6 +1,7 @@
{
"navigationStyle": "custom",
"usingComponents": {
+ "ai-analysis-dashboard-body": "../../components/ai-analysis-dashboard-body",
"uni-nav-bar": "../../uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar"
}
}
\ No newline at end of file
diff --git a/unpackage/dist/build/mp-weixin/pages/ai_analysis/ai_analysis.wxml b/unpackage/dist/build/mp-weixin/pages/ai_analysis/ai_analysis.wxml
index fc2593f..0136436 100644
--- a/unpackage/dist/build/mp-weixin/pages/ai_analysis/ai_analysis.wxml
+++ b/unpackage/dist/build/mp-weixin/pages/ai_analysis/ai_analysis.wxml
@@ -1 +1 @@
-🤝开始接待📋服务中🏷️标签管理👥客户列表📝服务记录⏱️录音时长👥接待客户数📊质检覆盖率🗣️员工话术评分🎯客户意向分级💰成交归因🚪开口率🚨过度承诺统计🔴触及红线统计
\ No newline at end of file
+
\ No newline at end of file
diff --git a/unpackage/dist/build/mp-weixin/pages/ai_analysis/ai_analysis.wxss b/unpackage/dist/build/mp-weixin/pages/ai_analysis/ai_analysis.wxss
index db02cc4..2a58922 100644
--- a/unpackage/dist/build/mp-weixin/pages/ai_analysis/ai_analysis.wxss
+++ b/unpackage/dist/build/mp-weixin/pages/ai_analysis/ai_analysis.wxss
@@ -1 +1 @@
-page.data-v-609012d3{background-color:#f5f5f5}.page.data-v-609012d3{min-height:100vh;background-color:#f5f5f5}.content.data-v-609012d3{padding-top:0!important;margin-top:0!important;position:relative;min-height:100vh;top:0}.data-v-609012d3 .uni-navbar__placeholder,.data-v-609012d3 .uni-navbar__placeholder-view,.data-v-609012d3 [class*=tabbar][class*=placeholder],.data-v-609012d3 [class*=safe-area][class*=bottom],.data-v-609012d3 [class*=bottom][class*=safe]{display:none!important;height:0!important}.content-scroll.data-v-609012d3{position:absolute;left:0;right:0;top:0;bottom:0;padding:0!important;margin:0!important;box-sizing:border-box}.content-scroll>view.data-v-609012d3{margin-top:0;padding-top:0;margin-bottom:0;padding-bottom:0}.category-section.data-v-609012d3{margin:20rpx 30rpx;background:#fff;border-radius:16rpx;overflow:hidden;box-shadow:0 2rpx 8rpx rgba(0,0,0,.04)}.category-section.data-v-609012d3:first-child{margin-top:0}.category-section.data-v-609012d3:last-child{margin-bottom:0}.category-header.data-v-609012d3{display:flex;align-items:center;padding:30rpx;background:#fff;border-bottom:1rpx solid #F0F0F0}.category-icon.data-v-609012d3{font-size:32rpx;margin-right:20rpx}.category-title.data-v-609012d3{font-size:32rpx;font-weight:500;color:#333}.function-grid.data-v-609012d3{display:flex;flex-wrap:wrap;padding:10rpx}.quick-links-section .function-item.data-v-609012d3{width:calc(33.333% - 10rpx);background:#fff;border-radius:12rpx;padding:24rpx 12rpx;margin:5rpx;text-align:center;box-shadow:0 2rpx 4rpx rgba(0,0,0,.04);transition:all .3s ease;border:1rpx solid #F0F0F0;box-sizing:border-box}.two-column .function-item.data-v-609012d3{flex:1;background:#fff;border-radius:12rpx;padding:24rpx 16rpx;margin:0 5rpx;text-align:center;box-shadow:0 2rpx 4rpx rgba(0,0,0,.04);transition:all .3s ease;border:1rpx solid #F0F0F0}.three-column .function-item.data-v-609012d3{width:31%;background:#fff;border-radius:12rpx;padding:24rpx 12rpx;margin:1%;text-align:center;box-shadow:0 2rpx 4rpx rgba(0,0,0,.04);transition:all .3s ease;border:1rpx solid #F0F0F0}.sales-analysis .function-item.full-row-item.data-v-609012d3{flex:1;width:calc(50% - 10rpx);background:#fff;border-radius:12rpx;padding:24rpx 16rpx;margin:0 5rpx;text-align:center;box-shadow:0 2rpx 4rpx rgba(0,0,0,.04);transition:all .3s ease;border:1rpx solid #F0F0F0}.sales-analysis .function-item.new-line-item.data-v-609012d3{flex-basis:100%;width:calc(50% - 10rpx);margin-top:10rpx}.function-item.data-v-609012d3:active{transform:scale(.95);box-shadow:0 1rpx 2rpx rgba(0,0,0,.1)}.function-icon.data-v-609012d3{font-size:48rpx;margin-bottom:12rpx}.function-name.data-v-609012d3{display:block;font-size:28rpx;font-weight:500;color:#333;margin-bottom:8rpx}.function-desc.data-v-609012d3{display:block;font-size:24rpx;color:#666;line-height:1.4}
+page.data-v-eec594bd{background-color:#f5f5f5}.page.data-v-eec594bd{min-height:100vh;background-color:#f5f5f5}.content.data-v-eec594bd{padding-top:0!important;margin-top:0!important;position:relative;width:100%;min-height:calc(100vh - 200rpx);top:0}.data-v-eec594bd .uni-navbar__placeholder,.data-v-eec594bd .uni-navbar__placeholder-view,.data-v-eec594bd [class*=tabbar][class*=placeholder],.data-v-eec594bd [class*=safe-area][class*=bottom],.data-v-eec594bd [class*=bottom][class*=safe]{display:none!important;height:0!important}
diff --git a/unpackage/dist/build/mp-weixin/pages/furniture_reception/furniture_reception.js b/unpackage/dist/build/mp-weixin/pages/furniture_reception/furniture_reception.js
index 00697bf..43f4a44 100644
--- a/unpackage/dist/build/mp-weixin/pages/furniture_reception/furniture_reception.js
+++ b/unpackage/dist/build/mp-weixin/pages/furniture_reception/furniture_reception.js
@@ -1 +1 @@
-"use strict";const e=require("../../common/vendor.js"),a={components:{FurnitureReceptionImpl:()=>"../../pages-subpackage/furniture_reception/furniture_reception-impl.js"},data:()=>({implReady:!1,incomingTab:"",error:""}),onLoad(){this.loadImpl()},onShow(){try{const a=["status","reception","tag"],o=(e.index.getStorageSync("workbench-reception-tab")||"").toString();a.includes(o)&&(this.incomingTab="",this.$nextTick((()=>{this.incomingTab=o})),e.index.removeStorageSync("workbench-reception-tab"))}catch(a){}},methods:{loadSubPackagePagesSubpackage:()=>new Promise(((a,o)=>{e.index&&e.index.loadSubPackage?e.index.loadSubPackage({name:"pages-subpackage",success:a,fail:()=>{e.index.loadSubPackage({root:"pages-subpackage",success:a,fail:o})}}):a()})),async loadImpl(){try{await this.loadSubPackagePagesSubpackage(),this.implReady=!0}catch(e){console.error("[FurnitureReceptionHost] loadImpl failed:",e),this.error="接待模块加载失败,请重试"}}}};if(!Array){e.resolveComponent("FurnitureReceptionImpl")()}const o=e._export_sfc(a,[["render",function(a,o,r,n,i,t){return e.e({a:i.implReady},i.implReady?{b:e.p({incomingTab:i.incomingTab})}:e.e({c:i.error},i.error?{d:e.t(i.error)}:{}))}]]);wx.createPage(o);
+"use strict";const e=require("../../common/vendor.js"),t={components:{FurnitureReceptionImpl:()=>"../../pages-subpackage/furniture_reception/furniture_reception-impl.js"},data:()=>({implReady:!1,incomingTab:"",error:""}),onLoad(t){const a=t&&t.tab;if(a&&["status","reception","tag"].includes(String(a)))try{e.index.setStorageSync("workbench-reception-tab",String(a))}catch(i){}this.loadImpl()},onShow(){try{const t=["status","reception","tag"],a=(e.index.getStorageSync("workbench-reception-tab")||"").toString();t.includes(a)&&(e.index.removeStorageSync("workbench-reception-tab"),this.implReady?(this.incomingTab="",this.$nextTick((()=>{this.incomingTab=a}))):this.incomingTab=a)}catch(t){}this.refreshImplDataIfReady()},methods:{loadSubPackagePagesSubpackage:()=>new Promise(((t,a)=>{e.index&&e.index.loadSubPackage?e.index.loadSubPackage({name:"pages-subpackage",success:t,fail:()=>{e.index.loadSubPackage({root:"pages-subpackage",success:t,fail:a})}}):t()})),async loadImpl(){try{await this.loadSubPackagePagesSubpackage(),this.implReady=!0,await this.$nextTick(),await this.$nextTick(),this.refreshImplDataIfReady()}catch(e){console.error("[FurnitureReceptionHost] loadImpl failed:",e),this.error="接待模块加载失败,请重试"}},refreshImplDataIfReady(){if(!this.implReady)return;const e=t=>{this.$nextTick((()=>{const a=this.$refs.furnitureReceptionImpl;a&&"function"==typeof a.refreshPageData?a.refreshPageData():t<3&&setTimeout((()=>e(t+1)),50)}))};e(0)}}};if(!Array){e.resolveComponent("FurnitureReceptionImpl")()}const a=e._export_sfc(t,[["render",function(t,a,i,r,n,o){return e.e({a:n.implReady},n.implReady?{b:e.sr("furnitureReceptionImpl","26ff5b0d-0"),c:e.p({incomingTab:n.incomingTab})}:e.e({d:n.error},n.error?{e:e.t(n.error)}:{}))}]]);wx.createPage(a);
diff --git a/unpackage/dist/build/mp-weixin/pages/furniture_reception/furniture_reception.wxml b/unpackage/dist/build/mp-weixin/pages/furniture_reception/furniture_reception.wxml
index ff5a8c7..358b88e 100644
--- a/unpackage/dist/build/mp-weixin/pages/furniture_reception/furniture_reception.wxml
+++ b/unpackage/dist/build/mp-weixin/pages/furniture_reception/furniture_reception.wxml
@@ -1 +1 @@
-{{d}}正在加载接待模块...
\ No newline at end of file
+{{e}}正在加载接待模块...
\ No newline at end of file
diff --git a/unpackage/dist/build/mp-weixin/pages/ucenter/components/DeviceBindPopup.js b/unpackage/dist/build/mp-weixin/pages/ucenter/components/DeviceBindPopup.js
index 52d89e3..9129d4d 100644
--- a/unpackage/dist/build/mp-weixin/pages/ucenter/components/DeviceBindPopup.js
+++ b/unpackage/dist/build/mp-weixin/pages/ucenter/components/DeviceBindPopup.js
@@ -1 +1 @@
-"use strict";const e=require("../../../common/vendor.js"),i=require("../../../common/request.js"),o={name:"DeviceBindPopup",data:()=>({deviceBindForm:{deviceCode:"",salesPhone:"",dealershipName:""},deviceBindSubmitting:!1}),methods:{open(){this.deviceBindForm={deviceCode:"",salesPhone:"",dealershipName:""},this.$refs.deviceBindPopup&&this.$refs.deviceBindPopup.open()},close(){this.$refs.deviceBindPopup&&this.$refs.deviceBindPopup.close()},closeDeviceBindDialog(){this.close()},async submitDeviceBind(){var o,n;if(this.deviceBindSubmitting)return;const{deviceCode:s,salesPhone:d,dealershipName:t}=this.deviceBindForm;if(!s||!s.trim())return e.index.showToast({title:"请输入设备编号",icon:"none"});this.deviceBindSubmitting=!0;try{const n={deviceCode:s.trim(),salesPhone:d?d.trim():"",dealershipName:t?t.trim():"",bindStatus:!0},c=await i.post("/api/deviceManagement/add",n);if(200===c.statusCode&&c.data&&c.data.success)this.close(),e.index.showToast({title:c.data.message||"设备绑定成功",icon:"success"}),this.$emit("success");else{const i=(null==(o=c.data)?void 0:o.message)||"设备绑定失败,请稍后重试";e.index.showToast({title:i,icon:"none"})}}catch(c){console.error("设备绑定失败:",c);const i=(null==(n=null==c?void 0:c.data)?void 0:n.message)||(null==c?void 0:c.message)||"设备绑定失败,请稍后重试";e.index.showToast({title:i,icon:"none"})}finally{this.deviceBindSubmitting=!1}}}};if(!Array){(e.resolveComponent("uni-easyinput")+e.resolveComponent("uni-popup"))()}Math||((()=>"../../../uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js")+(()=>"../../../uni_modules/uni-popup/components/uni-popup/uni-popup.js"))();const n=e._export_sfc(o,[["render",function(i,o,n,s,d,t){return{a:e.o((e=>d.deviceBindForm.deviceCode=e),"1b"),b:e.p({placeholder:"请输入设备编号",modelValue:d.deviceBindForm.deviceCode}),c:e.o((e=>d.deviceBindForm.salesPhone=e),"73"),d:e.p({placeholder:"请输入销售电话",type:"number",modelValue:d.deviceBindForm.salesPhone}),e:e.o((e=>d.deviceBindForm.dealershipName=e),"e7"),f:e.p({placeholder:"请输入所属门店",modelValue:d.deviceBindForm.dealershipName}),g:e.o(((...e)=>t.closeDeviceBindDialog&&t.closeDeviceBindDialog(...e)),"f1"),h:e.t(d.deviceBindSubmitting?"提交中...":"提交"),i:d.deviceBindSubmitting,j:e.o(((...e)=>t.submitDeviceBind&&t.submitDeviceBind(...e)),"03"),k:e.sr("deviceBindPopup","635fc302-0"),l:e.p({type:"dialog"})}}],["__scopeId","data-v-635fc302"]]);wx.createComponent(n);
+"use strict";const e=require("../../../common/vendor.js"),i=require("../../../common/request.js"),o={name:"DeviceBindPopup",data:()=>({deviceBindForm:{deviceCode:"",salesPhone:"",dealershipName:""},deviceBindSubmitting:!1}),methods:{open(){this.deviceBindForm={deviceCode:"",salesPhone:"",dealershipName:""},this.$refs.deviceBindPopup&&this.$refs.deviceBindPopup.open()},close(){this.$refs.deviceBindPopup&&this.$refs.deviceBindPopup.close()},closeDeviceBindDialog(){this.close()},async submitDeviceBind(){var o,n;if(this.deviceBindSubmitting)return;const{deviceCode:s,salesPhone:d,dealershipName:t}=this.deviceBindForm;if(!s||!s.trim())return e.index.showToast({title:"请输入设备编号",icon:"none"});this.deviceBindSubmitting=!0;try{const n={deviceCode:s.trim(),salesPhone:d?d.trim():"",dealershipName:t?t.trim():"",bindStatus:!0},c=await i.post("/api/deviceManagement/add",n);if(200===c.statusCode&&c.data&&c.data.success)this.close(),e.index.showToast({title:c.data.message||"设备绑定成功",icon:"success"}),this.$emit("success");else{const i=(null==(o=c.data)?void 0:o.message)||"设备绑定失败,请稍后重试";e.index.showToast({title:i,icon:"none"})}}catch(c){console.error("设备绑定失败:",c);const i=(null==(n=null==c?void 0:c.data)?void 0:n.message)||(null==c?void 0:c.message)||"设备绑定失败,请稍后重试";e.index.showToast({title:i,icon:"none"})}finally{this.deviceBindSubmitting=!1}}}};if(!Array){(e.resolveComponent("uni-easyinput")+e.resolveComponent("uni-popup"))()}Math||((()=>"../../../uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js")+(()=>"../../../uni_modules/uni-popup/components/uni-popup/uni-popup.js"))();const n=e._export_sfc(o,[["render",function(i,o,n,s,d,t){return{a:e.o((e=>d.deviceBindForm.deviceCode=e),"1b"),b:e.p({placeholder:"请输入设备编号",modelValue:d.deviceBindForm.deviceCode}),c:e.o((e=>d.deviceBindForm.salesPhone=e),"b0"),d:e.p({placeholder:"请输入电话",type:"number",modelValue:d.deviceBindForm.salesPhone}),e:e.o((e=>d.deviceBindForm.dealershipName=e),"9f"),f:e.p({placeholder:"请输入所属门店",modelValue:d.deviceBindForm.dealershipName}),g:e.o(((...e)=>t.closeDeviceBindDialog&&t.closeDeviceBindDialog(...e)),"f8"),h:e.t(d.deviceBindSubmitting?"提交中...":"提交"),i:d.deviceBindSubmitting,j:e.o(((...e)=>t.submitDeviceBind&&t.submitDeviceBind(...e)),"02"),k:e.sr("deviceBindPopup","1b9b472c-0"),l:e.p({type:"dialog"})}}],["__scopeId","data-v-1b9b472c"]]);wx.createComponent(n);
diff --git a/unpackage/dist/build/mp-weixin/pages/ucenter/components/DeviceBindPopup.wxml b/unpackage/dist/build/mp-weixin/pages/ucenter/components/DeviceBindPopup.wxml
index a1ab3f6..d67b22a 100644
--- a/unpackage/dist/build/mp-weixin/pages/ucenter/components/DeviceBindPopup.wxml
+++ b/unpackage/dist/build/mp-weixin/pages/ucenter/components/DeviceBindPopup.wxml
@@ -1 +1 @@
-设备绑定设备编号家长电话所属门店
\ No newline at end of file
+设备绑定设备编号电话所属门店
\ No newline at end of file
diff --git a/unpackage/dist/build/mp-weixin/pages/ucenter/components/DeviceBindPopup.wxss b/unpackage/dist/build/mp-weixin/pages/ucenter/components/DeviceBindPopup.wxss
index c9fbe3c..5f6b464 100644
--- a/unpackage/dist/build/mp-weixin/pages/ucenter/components/DeviceBindPopup.wxss
+++ b/unpackage/dist/build/mp-weixin/pages/ucenter/components/DeviceBindPopup.wxss
@@ -1 +1 @@
-.device-bind-dialog.data-v-635fc302{padding:40rpx 30rpx 30rpx;background-color:#fff;border-radius:16rpx;width:600rpx}.device-bind-title.data-v-635fc302{font-size:34rpx;font-weight:700;text-align:center;margin-bottom:30rpx}.device-bind-field.data-v-635fc302{margin-bottom:20rpx}.device-bind-label.data-v-635fc302{display:block;font-size:26rpx;color:#666;margin-bottom:10rpx}.device-bind-actions.data-v-635fc302{margin-top:20rpx;display:flex;flex-direction:row;justify-content:flex-end}.dialog-btn.data-v-635fc302{min-width:140rpx;height:70rpx;line-height:70rpx;font-size:28rpx;border-radius:8rpx;padding:0 24rpx}.dialog-btn.cancel.data-v-635fc302{background-color:#f5f5f5;color:#333;margin-right:20rpx}.dialog-btn.confirm.data-v-635fc302{background-color:#007aff;color:#fff}.dialog-btn.data-v-635fc302:after{border:none}
+.device-bind-dialog.data-v-1b9b472c{padding:40rpx 30rpx 30rpx;background-color:#fff;border-radius:16rpx;width:600rpx}.device-bind-title.data-v-1b9b472c{font-size:34rpx;font-weight:700;text-align:center;margin-bottom:30rpx}.device-bind-field.data-v-1b9b472c{margin-bottom:20rpx}.device-bind-label.data-v-1b9b472c{display:block;font-size:26rpx;color:#666;margin-bottom:10rpx}.device-bind-actions.data-v-1b9b472c{margin-top:20rpx;display:flex;flex-direction:row;justify-content:flex-end}.dialog-btn.data-v-1b9b472c{min-width:140rpx;height:70rpx;line-height:70rpx;font-size:28rpx;border-radius:8rpx;padding:0 24rpx}.dialog-btn.cancel.data-v-1b9b472c{background-color:#f5f5f5;color:#333;margin-right:20rpx}.dialog-btn.confirm.data-v-1b9b472c{background-color:#007aff;color:#fff}.dialog-btn.data-v-1b9b472c:after{border:none}
diff --git a/unpackage/dist/build/mp-weixin/pages/ucenter/ucenter.js b/unpackage/dist/build/mp-weixin/pages/ucenter/ucenter.js
index 0d0c19e..18f15cb 100644
--- a/unpackage/dist/build/mp-weixin/pages/ucenter/ucenter.js
+++ b/unpackage/dist/build/mp-weixin/pages/ucenter/ucenter.js
@@ -1 +1 @@
-"use strict";const e=require("../../common/vendor.js"),o=require("../../common/store.js"),n=require("../../common/request.js"),t=e._r.database();e._r.importObject("uni-id-co",{customUI:!0});const s={components:{DeviceBindPopup:()=>"./components/DeviceBindPopup.js",DeviceListPopup:()=>"./components/DeviceListPopup.js",CloudImage:()=>"../../uni_modules/uni-id-pages/components/cloud-image/cloud-image.js"},data(){return{tenantId:"",loginUserInfo:{},totalDevices:0,totalSales:0,totalProjects:0,gridList:[{text:"设备总数",icon:"gear"},{text:"人员总数",icon:"person-filled"},{text:"项目总数",icon:"list"},{text:"修改密码",icon:"locked"}],changePwdForm:{oldPassword:"",newPassword:"",confirmPassword:""},changePwdSubmitting:!1,ucenterList:[[{title:"设备绑定",event:"openDeviceBind",icon:"compose"},{title:"设备列表",event:"openDeviceList",icon:"paperplane"}],[{title:this.$t("mine.settings"),to:"/pages-subpackage/ucenter/settings/settings",icon:"gear"}]],listStyles:{height:"150rpx",width:"150rpx",border:{color:"#eee",width:"1px",style:"solid",radius:"100%"}}}},onLoad(){this.loadUserInfo()},onShow(){try{const n=e.index.getStorageSync("uni-id-pages-userInfo")||{};if(Object.keys(n).length>0&&0===Object.keys(o.store.userInfo||{}).length){o.mutations.syncUserInfoFromStorage()||o.mutations.setUserInfo(n,{cover:!0})}}catch(n){}this.loadUserInfo(),this.loadDeviceStatistics(),this.loadSalesStatistics(),this.loadProjectStatistics()},onReady(){this.initUrlHidingAfterPageLoad()},computed:{userInfo:()=>o.store.userInfo||{},hasLogin:()=>o.store.hasLogin||!1,appConfig(){try{const e=getApp({allowDefault:!0});return e&&e.globalData?e.globalData.config:{}}catch(e){return{}}}},methods:{loadUserInfo(){try{this.tenantId=e.index.getStorageSync("backend-tenant-id")||"";const o=e.index.getStorageSync("backend-login-response")||{};this.loginUserInfo={userName:o.userName||"",roleName:o.roleName||"",scenario:o.scenario||e.index.getStorageSync("backend-scenario")||"",phone:o.phone||"",email:o.email||"",userId:o.userId||""}}catch(o){console.error("加载用户信息失败:",o)}},async loadDeviceStatistics(){var e,o;try{const t=await n.get("/api/deviceManagement/statistics");200===t.statusCode&&t.data&&t.data.success?this.totalDevices=(null==(e=t.data.data)?void 0:e.totalDevices)||0:(console.error("获取设备统计信息失败:",(null==(o=t.data)?void 0:o.message)||"未知错误"),this.totalDevices=0)}catch(t){console.error("获取设备统计信息异常:",t),this.totalDevices=0}},async loadSalesStatistics(){var e,o;try{const t=await n.get("/api/salesManagement/statistics");200===t.statusCode&&t.data&&t.data.success?this.totalSales=(null==(e=t.data.data)?void 0:e.totalSales)||0:(console.error("获取销售统计信息失败:",(null==(o=t.data)?void 0:o.message)||"未知错误"),this.totalSales=0)}catch(t){console.error("获取销售统计信息异常:",t),this.totalSales=0}},async loadProjectStatistics(){var e,o;try{const t=await n.get("/api/projectManagement/statistics");200===t.statusCode&&t.data&&t.data.success?this.totalProjects=(null==(e=t.data.data)?void 0:e.totalProjects)||0:(console.error("获取项目统计信息失败:",(null==(o=t.data)?void 0:o.message)||"未知错误"),this.totalProjects=0)}catch(t){console.error("获取项目统计信息异常:",t),this.totalProjects=0}},toSettings(){e.index.navigateTo({url:"/pages-subpackage/ucenter/settings/settings"})},signIn(){this.$refs.signIn.open()},signInByAd(){this.$refs.signIn.showRewardedVideoAd()},ucenterListClick(o){if(!o.to&&o.event)this[o.event]();else if(o.to){["/pages/furniture_reception/furniture_reception","/pages-subpackage/furniture_customer/furniture_customer","/pages/ai_analysis/ai_analysis","/pages/xixi/xixi","/pages/ucenter/ucenter"].includes(o.to)?e.index.switchTab({url:o.to}):e.index.navigateTo({url:o.to})}},async checkVersion(){let o=await callCheckVersion();console.log(o),o.result.code>0?checkUpdate():e.index.showToast({title:o.result.message,icon:"none"})},toUserInfo(){e.index.navigateTo({url:"/uni_modules/uni-id-pages/pages/userinfo/userinfo"})},tapGrid(o){if(3===o){if(!this.hasLogin)return e.index.showToast({title:"请先登录后再修改密码",icon:"none"});this.openChangePasswordDialog()}},gotoMarket(){},getScore(){if(!this.userInfo)return e.index.showToast({title:this.$t("mine.checkScore"),icon:"none"});e.index.showLoading({mask:!0}),t.collection("uni-id-scores").where('"user_id" == $env.uid').field("score,balance").orderBy("create_date","desc").limit(1).get().then((o=>{console.log(o);const n=o.result.data[0];let t="";t=n?this.$t("mine.currentScore")+n.balance:this.$t("mine.noScore"),e.index.showToast({title:t,icon:"none"})})).finally((()=>{e.index.hideLoading()}))},async share(){let{result:o}=await t.collection("uni-id-users").where("'_id' == $cloudEnv_uid").field("my_invite_code").get(),n=o.data[0].my_invite_code;if(!n)return e.index.showToast({title:"请检查uni-config-center中uni-id配置,是否已启用 autoSetInviteCode",icon:"none"});console.log({myInviteCode:n}),this.appConfig.about},openDeviceBind(){this.$refs.deviceBindPopup&&this.$refs.deviceBindPopup.open()},onDeviceBindSuccess(){this.loadDeviceStatistics()},openDeviceList(){this.$refs.deviceListPopup&&this.$refs.deviceListPopup.open()},openChangePasswordDialog(){this.changePwdForm={oldPassword:"",newPassword:"",confirmPassword:""},this.$refs.changePwdPopup&&this.$refs.changePwdPopup.open()},closeChangePasswordDialog(){this.$refs.changePwdPopup&&this.$refs.changePwdPopup.close()},async submitChangePassword(){var o,t;if(this.changePwdSubmitting)return;const{oldPassword:s,newPassword:i,confirmPassword:a}=this.changePwdForm;if(!s)return e.index.showToast({title:"请输入原始密码",icon:"none"});if(!i)return e.index.showToast({title:"请输入新密码",icon:"none"});if(i.length<6||i.length>20)return e.index.showToast({title:"新密码长度需为 6-20 位",icon:"none"});if(i!==a)return e.index.showToast({title:"两次输入的新密码不一致",icon:"none"});this.changePwdSubmitting=!0;try{if(!this.loginUserInfo.userId)return e.index.showToast({title:"用户信息不完整,请重新登录",icon:"none"});const t={password:i,originalPassword:s,userId:this.loginUserInfo.userId,tenantId:this.tenantId};this.loginUserInfo.phone&&(t.phone=this.loginUserInfo.phone);const a=await n.put("/api/sys/user/update",t);if(200===a.statusCode&&a.data&&a.data.success)this.closeChangePasswordDialog(),e.index.showModal({content:a.data.message||"密码修改成功,请重新登录",showCancel:!1,success:()=>{e.index.removeStorageSync("backend-token"),e.index.removeStorageSync("backend-login-response"),e.index.removeStorageSync("backend-user-id"),e.index.removeStorageSync("backend-tenant-id"),e.index.removeStorageSync("uni_id_token"),e.index.setStorageSync("uni_id_token_expired",0),e.index.redirectTo({url:"/uni_modules/uni-id-pages/pages/login/login-withpwd"})}});else{const n=(null==(o=a.data)?void 0:o.message)||"密码修改失败,请稍后重试";e.index.showModal({content:n,showCancel:!1})}}catch(r){console.error("密码修改失败:",r);const o=(null==(t=null==r?void 0:r.data)?void 0:t.message)||(null==r?void 0:r.message)||"密码修改失败,请稍后重试";e.index.showModal({content:o,showCancel:!1})}finally{this.changePwdSubmitting=!1}},initUrlHidingAfterPageLoad(){},setupTabNavigationHiding(){},setupBrowserNavigationHiding(){},attemptUrlHidingForCurrentPage(){}}};if(!Array){(e.resolveComponent("uni-sign-in")+e.resolveComponent("cloud-image")+e.resolveComponent("uni-icons")+e.resolveComponent("uni-grid-item")+e.resolveComponent("uni-grid")+e.resolveComponent("uni-list-item")+e.resolveComponent("uni-list")+e.resolveComponent("device-bind-popup")+e.resolveComponent("device-list-popup")+e.resolveComponent("uni-easyinput")+e.resolveComponent("uni-popup"))()}Math||((()=>"../../uni_modules/uni-sign-in/components/uni-sign-in/uni-sign-in.js")+(()=>"../../uni_modules/uni-id-pages/components/cloud-image/cloud-image.js")+(()=>"../../uni_modules/uni-icons/components/uni-icons/uni-icons.js")+(()=>"../../uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.js")+(()=>"../../uni_modules/uni-grid/components/uni-grid/uni-grid.js")+(()=>"../../uni_modules/uni-list/components/uni-list-item/uni-list-item.js")+(()=>"../../uni_modules/uni-list/components/uni-list/uni-list.js")+(()=>"../../uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js")+(()=>"../../uni_modules/uni-popup/components/uni-popup/uni-popup.js"))();const i=e._export_sfc(s,[["render",function(o,n,t,s,i,a){return e.e({a:e.sr("signIn","3df8f2f5-0"),b:a.hasLogin&&a.userInfo.avatar_file&&a.userInfo.avatar_file.url},a.hasLogin&&a.userInfo.avatar_file&&a.userInfo.avatar_file.url?{c:e.p({width:"150rpx",height:"150rpx",src:a.userInfo.avatar_file.url})}:{d:e.p({color:"#ffffff",size:"50",type:"person-filled"})},{e:a.hasLogin},a.hasLogin?{f:e.t(a.userInfo.nickname||a.userInfo.username||a.userInfo.mobile)}:{g:e.t(o.$t("mine.notLogged"))},{h:e.o(((...e)=>a.toUserInfo&&a.toUserInfo(...e)),"53"),i:a.hasLogin},a.hasLogin?e.e({j:e.t(i.tenantId||"未设置"),k:e.t(i.loginUserInfo.userName||"未设置"),l:e.t(i.loginUserInfo.roleName||"未设置"),m:e.t(i.loginUserInfo.scenario||"未设置"),n:i.loginUserInfo.phone},i.loginUserInfo.phone?{o:e.t(i.loginUserInfo.phone)}:{},{p:i.loginUserInfo.email},i.loginUserInfo.email?{q:e.t(i.loginUserInfo.email)}:{}):{},{r:e.f(i.gridList,((o,n,t)=>e.e({a:"3df8f2f5-5-"+t+",3df8f2f5-4-"+t,b:e.p({color:"#007AFF",type:o.icon,size:"26"}),c:0===n},0===n?{d:e.t(i.totalDevices)}:1===n?{f:e.t(i.totalSales)}:2===n?{h:e.t(i.totalProjects)}:{i:e.t(o.text)},{e:1===n,g:2===n,j:e.o((e=>a.tapGrid(n)),n),k:n,l:"3df8f2f5-4-"+t+",3df8f2f5-3"}))),s:e.p({column:4,showBorder:!1,square:!0}),t:e.f(i.ucenterList,((o,n,t)=>({a:e.f(o,((o,n,s)=>e.e({a:o.showBadge},o.showBadge?{b:e.t(o.rightText)}:{},{c:n,d:e.o((e=>a.ucenterListClick(o)),n),e:"3df8f2f5-7-"+t+"-"+s+",3df8f2f5-6-"+t,f:e.p({title:o.title,link:!0,rightText:o.rightText,clickable:!0,to:o.to,"show-extra-icon":!0,extraIcon:{type:o.icon,color:"#999"}})}))),b:n,c:"3df8f2f5-6-"+t}))),v:e.sr("deviceBindPopup","3df8f2f5-8"),w:e.o(a.onDeviceBindSuccess,"dd"),x:e.sr("deviceListPopup","3df8f2f5-9"),y:e.o((e=>i.changePwdForm.oldPassword=e),"0a"),z:e.p({type:"password",placeholder:"请输入原始密码",modelValue:i.changePwdForm.oldPassword}),A:e.o((e=>i.changePwdForm.newPassword=e),"41"),B:e.p({type:"password",placeholder:"请输入新密码(6-20位)",modelValue:i.changePwdForm.newPassword}),C:e.o((e=>i.changePwdForm.confirmPassword=e),"6e"),D:e.p({type:"password",placeholder:"请再次输入新密码",modelValue:i.changePwdForm.confirmPassword}),E:e.o(((...e)=>a.closeChangePasswordDialog&&a.closeChangePasswordDialog(...e)),"02"),F:e.t(i.changePwdSubmitting?"提交中...":"提交"),G:i.changePwdSubmitting,H:e.o(((...e)=>a.submitChangePassword&&a.submitChangePassword(...e)),"76"),I:e.sr("changePwdPopup","3df8f2f5-10"),J:e.p({type:"dialog"})})}],["__scopeId","data-v-3df8f2f5"]]);wx.createPage(i);
+"use strict";const e=require("../../common/vendor.js"),o=require("../../common/store.js"),n=require("../../common/request.js"),t=e._r.database();e._r.importObject("uni-id-co",{customUI:!0});const i={components:{DeviceBindPopup:()=>"./components/DeviceBindPopup.js",DeviceListPopup:()=>"./components/DeviceListPopup.js",CloudImage:()=>"../../uni_modules/uni-id-pages/components/cloud-image/cloud-image.js"},data(){return{tenantId:"",loginUserInfo:{},totalDevices:0,totalSales:0,totalProjects:0,gridList:[{text:"设备总数",icon:"gear"},{text:"人员总数",icon:"person-filled"},{text:"项目总数",icon:"list"},{text:"修改密码",icon:"locked"}],changePwdForm:{oldPassword:"",newPassword:"",confirmPassword:""},changePwdSubmitting:!1,ucenterList:[[{title:"设备绑定",event:"openDeviceBind",icon:"compose"},{title:"设备列表",event:"openDeviceList",icon:"paperplane"}],[{title:this.$t("mine.settings"),to:"/pages-subpackage/ucenter/settings/settings",icon:"gear"}]],listStyles:{height:"150rpx",width:"150rpx",border:{color:"#eee",width:"1px",style:"solid",radius:"100%"}}}},onLoad(){this.loadUserInfo()},onShow(){try{const n=e.index.getStorageSync("uni-id-pages-userInfo")||{};if(Object.keys(n).length>0&&0===Object.keys(o.store.userInfo||{}).length){o.mutations.syncUserInfoFromStorage()||o.mutations.setUserInfo(n,{cover:!0})}}catch(n){}this.loadUserInfo(),this.loadDeviceStatistics(),this.loadSalesStatistics(),this.loadProjectStatistics()},onReady(){this.initUrlHidingAfterPageLoad()},computed:{userInfo:()=>o.store.userInfo||{},hasLogin:()=>o.store.hasLogin||!1,appConfig(){try{const e=getApp({allowDefault:!0});return e&&e.globalData?e.globalData.config:{}}catch(e){return{}}},headerDisplayName(){const e=this.loginUserInfo&&this.loginUserInfo.userName||"";if(e)return e;const o=this.userInfo||{};return o.username||o.nickname||o.mobile||""}},methods:{loadUserInfo(){try{this.tenantId=e.index.getStorageSync("backend-tenant-id")||"";const o=e.index.getStorageSync("backend-login-response")||{};this.loginUserInfo={userName:o.userName||"",roleName:o.roleName||"",scenario:o.scenario||e.index.getStorageSync("backend-scenario")||"",phone:o.phone||"",email:o.email||"",userId:o.userId||""}}catch(o){console.error("加载用户信息失败:",o)}},async loadDeviceStatistics(){var e,o;try{const t=await n.get("/api/deviceManagement/statistics");200===t.statusCode&&t.data&&t.data.success?this.totalDevices=(null==(e=t.data.data)?void 0:e.totalDevices)||0:(console.error("获取设备统计信息失败:",(null==(o=t.data)?void 0:o.message)||"未知错误"),this.totalDevices=0)}catch(t){console.error("获取设备统计信息异常:",t),this.totalDevices=0}},async loadSalesStatistics(){var e,o;try{const t=await n.get("/api/salesManagement/statistics");200===t.statusCode&&t.data&&t.data.success?this.totalSales=(null==(e=t.data.data)?void 0:e.totalSales)||0:(console.error("获取销售统计信息失败:",(null==(o=t.data)?void 0:o.message)||"未知错误"),this.totalSales=0)}catch(t){console.error("获取销售统计信息异常:",t),this.totalSales=0}},async loadProjectStatistics(){var e,o;try{const t=await n.get("/api/projectManagement/statistics");200===t.statusCode&&t.data&&t.data.success?this.totalProjects=(null==(e=t.data.data)?void 0:e.totalProjects)||0:(console.error("获取项目统计信息失败:",(null==(o=t.data)?void 0:o.message)||"未知错误"),this.totalProjects=0)}catch(t){console.error("获取项目统计信息异常:",t),this.totalProjects=0}},toSettings(){e.index.navigateTo({url:"/pages-subpackage/ucenter/settings/settings"})},signIn(){this.$refs.signIn.open()},signInByAd(){this.$refs.signIn.showRewardedVideoAd()},ucenterListClick(o){if(!o.to&&o.event)this[o.event]();else if(o.to){const n=["/pages-subpackage/furniture_customer/furniture_customer","/pages/workbench/workbench","/pages/xixi/xixi","/pages/ucenter/ucenter"];"/pages/furniture_reception/furniture_reception"===o.to?e.index.navigateTo({url:o.to}):n.includes(o.to)?e.index.switchTab({url:o.to}):e.index.navigateTo({url:o.to})}},async checkVersion(){let o=await callCheckVersion();console.log(o),o.result.code>0?checkUpdate():e.index.showToast({title:o.result.message,icon:"none"})},toUserInfo(){e.index.navigateTo({url:"/uni_modules/uni-id-pages/pages/userinfo/userinfo"})},tapGrid(o){if(3===o){if(!this.hasLogin)return e.index.showToast({title:"请先登录后再修改密码",icon:"none"});this.openChangePasswordDialog()}},gotoMarket(){},getScore(){if(!this.userInfo)return e.index.showToast({title:this.$t("mine.checkScore"),icon:"none"});e.index.showLoading({mask:!0}),t.collection("uni-id-scores").where('"user_id" == $env.uid').field("score,balance").orderBy("create_date","desc").limit(1).get().then((o=>{console.log(o);const n=o.result.data[0];let t="";t=n?this.$t("mine.currentScore")+n.balance:this.$t("mine.noScore"),e.index.showToast({title:t,icon:"none"})})).finally((()=>{e.index.hideLoading()}))},async share(){let{result:o}=await t.collection("uni-id-users").where("'_id' == $cloudEnv_uid").field("my_invite_code").get(),n=o.data[0].my_invite_code;if(!n)return e.index.showToast({title:"请检查uni-config-center中uni-id配置,是否已启用 autoSetInviteCode",icon:"none"});console.log({myInviteCode:n}),this.appConfig.about},openDeviceBind(){this.$refs.deviceBindPopup&&this.$refs.deviceBindPopup.open()},onDeviceBindSuccess(){this.loadDeviceStatistics()},openDeviceList(){this.$refs.deviceListPopup&&this.$refs.deviceListPopup.open()},openChangePasswordDialog(){this.changePwdForm={oldPassword:"",newPassword:"",confirmPassword:""},this.$refs.changePwdPopup&&this.$refs.changePwdPopup.open()},closeChangePasswordDialog(){this.$refs.changePwdPopup&&this.$refs.changePwdPopup.close()},async submitChangePassword(){var o,t;if(this.changePwdSubmitting)return;const{oldPassword:i,newPassword:s,confirmPassword:a}=this.changePwdForm;if(!i)return e.index.showToast({title:"请输入原始密码",icon:"none"});if(!s)return e.index.showToast({title:"请输入新密码",icon:"none"});if(s.length<6||s.length>20)return e.index.showToast({title:"新密码长度需为 6-20 位",icon:"none"});if(s!==a)return e.index.showToast({title:"两次输入的新密码不一致",icon:"none"});this.changePwdSubmitting=!0;try{if(!this.loginUserInfo.userId)return e.index.showToast({title:"用户信息不完整,请重新登录",icon:"none"});const t={password:s,originalPassword:i,userId:this.loginUserInfo.userId,tenantId:this.tenantId};this.loginUserInfo.phone&&(t.phone=this.loginUserInfo.phone);const a=await n.put("/api/sys/user/update",t);if(200===a.statusCode&&a.data&&a.data.success)this.closeChangePasswordDialog(),e.index.showModal({content:a.data.message||"密码修改成功,请重新登录",showCancel:!1,success:()=>{e.index.removeStorageSync("backend-token"),e.index.removeStorageSync("backend-login-response"),e.index.removeStorageSync("backend-user-id"),e.index.removeStorageSync("backend-tenant-id"),e.index.removeStorageSync("uni_id_token"),e.index.setStorageSync("uni_id_token_expired",0),e.index.redirectTo({url:"/uni_modules/uni-id-pages/pages/login/login-withpwd"})}});else{const n=(null==(o=a.data)?void 0:o.message)||"密码修改失败,请稍后重试";e.index.showModal({content:n,showCancel:!1})}}catch(r){console.error("密码修改失败:",r);const o=(null==(t=null==r?void 0:r.data)?void 0:t.message)||(null==r?void 0:r.message)||"密码修改失败,请稍后重试";e.index.showModal({content:o,showCancel:!1})}finally{this.changePwdSubmitting=!1}},initUrlHidingAfterPageLoad(){},setupTabNavigationHiding(){},setupBrowserNavigationHiding(){},attemptUrlHidingForCurrentPage(){}}};if(!Array){(e.resolveComponent("uni-sign-in")+e.resolveComponent("cloud-image")+e.resolveComponent("uni-icons")+e.resolveComponent("uni-grid-item")+e.resolveComponent("uni-grid")+e.resolveComponent("uni-list-item")+e.resolveComponent("uni-list")+e.resolveComponent("device-bind-popup")+e.resolveComponent("device-list-popup")+e.resolveComponent("uni-easyinput")+e.resolveComponent("uni-popup"))()}Math||((()=>"../../uni_modules/uni-sign-in/components/uni-sign-in/uni-sign-in.js")+(()=>"../../uni_modules/uni-id-pages/components/cloud-image/cloud-image.js")+(()=>"../../uni_modules/uni-icons/components/uni-icons/uni-icons.js")+(()=>"../../uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.js")+(()=>"../../uni_modules/uni-grid/components/uni-grid/uni-grid.js")+(()=>"../../uni_modules/uni-list/components/uni-list-item/uni-list-item.js")+(()=>"../../uni_modules/uni-list/components/uni-list/uni-list.js")+(()=>"../../uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js")+(()=>"../../uni_modules/uni-popup/components/uni-popup/uni-popup.js"))();const s=e._export_sfc(i,[["render",function(o,n,t,i,s,a){return e.e({a:e.sr("signIn","4be67795-0"),b:a.hasLogin&&a.userInfo.avatar_file&&a.userInfo.avatar_file.url},a.hasLogin&&a.userInfo.avatar_file&&a.userInfo.avatar_file.url?{c:e.p({width:"150rpx",height:"150rpx",src:a.userInfo.avatar_file.url})}:{d:e.p({color:"#ffffff",size:"50",type:"person-filled"})},{e:a.hasLogin},a.hasLogin?{f:e.t(a.headerDisplayName)}:{g:e.t(o.$t("mine.notLogged"))},{h:e.o(((...e)=>a.toUserInfo&&a.toUserInfo(...e)),"53"),i:a.hasLogin},a.hasLogin?e.e({j:e.t(s.tenantId||"未设置"),k:e.t(s.loginUserInfo.userName||"未设置"),l:e.t(s.loginUserInfo.roleName||"未设置"),m:e.t(s.loginUserInfo.scenario||"未设置"),n:s.loginUserInfo.phone},s.loginUserInfo.phone?{o:e.t(s.loginUserInfo.phone)}:{},{p:s.loginUserInfo.email},s.loginUserInfo.email?{q:e.t(s.loginUserInfo.email)}:{}):{},{r:e.f(s.gridList,((o,n,t)=>e.e({a:"4be67795-5-"+t+",4be67795-4-"+t,b:e.p({color:"#007AFF",type:o.icon,size:"26"}),c:0===n},0===n?{d:e.t(s.totalDevices)}:1===n?{f:e.t(s.totalSales)}:2===n?{h:e.t(s.totalProjects)}:{i:e.t(o.text)},{e:1===n,g:2===n,j:e.o((e=>a.tapGrid(n)),n),k:n,l:"4be67795-4-"+t+",4be67795-3"}))),s:e.p({column:4,showBorder:!1,square:!0}),t:e.f(s.ucenterList,((o,n,t)=>({a:e.f(o,((o,n,i)=>e.e({a:o.showBadge},o.showBadge?{b:e.t(o.rightText)}:{},{c:n,d:e.o((e=>a.ucenterListClick(o)),n),e:"4be67795-7-"+t+"-"+i+",4be67795-6-"+t,f:e.p({title:o.title,link:!0,rightText:o.rightText,clickable:!0,to:o.to,"show-extra-icon":!0,extraIcon:{type:o.icon,color:"#999"}})}))),b:n,c:"4be67795-6-"+t}))),v:e.sr("deviceBindPopup","4be67795-8"),w:e.o(a.onDeviceBindSuccess,"77"),x:e.sr("deviceListPopup","4be67795-9"),y:e.o((e=>s.changePwdForm.oldPassword=e),"90"),z:e.p({type:"password",placeholder:"请输入原始密码",modelValue:s.changePwdForm.oldPassword}),A:e.o((e=>s.changePwdForm.newPassword=e),"c6"),B:e.p({type:"password",placeholder:"请输入新密码(6-20位)",modelValue:s.changePwdForm.newPassword}),C:e.o((e=>s.changePwdForm.confirmPassword=e),"63"),D:e.p({type:"password",placeholder:"请再次输入新密码",modelValue:s.changePwdForm.confirmPassword}),E:e.o(((...e)=>a.closeChangePasswordDialog&&a.closeChangePasswordDialog(...e)),"84"),F:e.t(s.changePwdSubmitting?"提交中...":"提交"),G:s.changePwdSubmitting,H:e.o(((...e)=>a.submitChangePassword&&a.submitChangePassword(...e)),"62"),I:e.sr("changePwdPopup","4be67795-10"),J:e.p({type:"dialog"})})}],["__scopeId","data-v-4be67795"]]);wx.createPage(s);
diff --git a/unpackage/dist/build/mp-weixin/pages/ucenter/ucenter.wxml b/unpackage/dist/build/mp-weixin/pages/ucenter/ucenter.wxml
index 60bebef..1be286e 100644
--- a/unpackage/dist/build/mp-weixin/pages/ucenter/ucenter.wxml
+++ b/unpackage/dist/build/mp-weixin/pages/ucenter/ucenter.wxml
@@ -1 +1 @@
-{{f}}{{g}}租户ID:{{j}}用户名:{{k}}当前角色:{{l}}场景:{{m}}手机号:{{o}}邮箱:{{q}}设备总数{{item.d}}人员总数{{item.f}}项目总数{{item.h}}{{item.i}}修改密码原始密码新密码确认密码
\ No newline at end of file
+{{f}}{{g}}租户ID:{{j}}用户名:{{k}}当前角色:{{l}}场景:{{m}}手机号:{{o}}邮箱:{{q}}设备总数{{item.d}}人员总数{{item.f}}项目总数{{item.h}}{{item.i}}修改密码原始密码新密码确认密码
\ No newline at end of file
diff --git a/unpackage/dist/build/mp-weixin/pages/ucenter/ucenter.wxss b/unpackage/dist/build/mp-weixin/pages/ucenter/ucenter.wxss
index ce73d30..e3636ab 100644
--- a/unpackage/dist/build/mp-weixin/pages/ucenter/ucenter.wxss
+++ b/unpackage/dist/build/mp-weixin/pages/ucenter/ucenter.wxss
@@ -1 +1 @@
-view.data-v-3df8f2f5{display:flex;box-sizing:border-box;flex-direction:column}page.data-v-3df8f2f5{background-color:#f8f8f8}.center.data-v-3df8f2f5{flex:1;flex-direction:column;background-color:#f8f8f8}.userInfo.data-v-3df8f2f5{padding-top:60px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAIAAACRe4S/AAABPGlDQ1BVMzJKNTl4AAAoz2NgYBJILCjIYWFgYMjNKykKcndSiIiMUmB/ysDKwMXAz6DMoJKYXFzgGBDgA1TCAKNRwbdrDIwg+rIuyKxzl+t6+57Yb85J9Vxm3+gxlQE/4EpJLU4G0n+AOCm5oKiEgYExAchWLi8pALFbgGyRIqCjgOwZIHY6hL0GxE6CsA+A1YQEOQPZV4BsgeSMxBQg+wmQrZOEJJ6OxIbaCwIcocZGXqaWFQzUBiWpFSUg2jm/oLIoMz2jRMERGEKpCp55yXo6CkYGRoYMDKDwhqj+fAMcjoxiHAixlikMDNZvgQxbhJhXLAPDZl4GBp6FCDH1pwwMgmwMDMf8ChKLEuEOYPzGUpxmbARhc29nYGCd9v//53AGBnZNBoa/1////739//+/yxgYmG8xMBz4BgA7el7ZKsa31QAAAAlwSFlzAAALiQAAC4kBN8nLrQAACiVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMS0wNS0xMFQxNTo0MDoxNSswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjMtMDEtMjlUMTk6MzI6MjYrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjMtMDEtMjlUMTk6MzI6MjYrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0iVTMySjU5eCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpmOWQ1ODk4ZC04ZThlLTc3NDgtOTVhZS0zZjQ3NmQ1NTFhMjgiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5YjQ3MDdmOC1kZDgwLWExNGMtOTQxMy1kYmM4MDk5ODNhZWMiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0NDMwZGIxOS0xNTg1LTQzOTktOWViMy1jZWY1MTJlNDIyMmMiPiA8cGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8cmRmOkJhZz4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6OWI0NzA3ZjgtZGQ4MC1hMTRjLTk0MTMtZGJjODA5OTgzYWVjPC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NDQzMGRiMTktMTU4NS00Mzk5LTllYjMtY2VmNTEyZTQyMjJjIiBzdEV2dDp3aGVuPSIyMDIxLTA1LTEwVDE1OjQwOjE1KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NjlkOTIxM2MtYjYyNi00MWNlLTlkMDctYjI0Y2JhOTllYzkwIiBzdEV2dDp3aGVuPSIyMDIxLTA1LTEwVDE1OjQzOjE0KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY29udmVydGVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJkZXJpdmVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJjb252ZXJ0ZWQgZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NTMzYTIwOWUtOTA4MS00Nzk2LTk4NmMtNTE4NWZlNjMyMzIwIiBzdEV2dDp3aGVuPSIyMDIxLTA1LTEwVDE1OjQzOjE0KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ZjlkNTg5OGQtOGU4ZS03NzQ4LTk1YWUtM2Y0NzZkNTUxYTI4IiBzdEV2dDp3aGVuPSIyMDIzLTAxLTI5VDE5OjMyOjI2KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rv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);flex-direction:column;align-items:center}.defaultAvatarUrl.data-v-3df8f2f5{width:150rpx;height:150rpx;background-color:#007aff;border-radius:100%;justify-content:center;align-items:center}.logo-title.data-v-3df8f2f5{flex:1;align-items:center;justify-content:space-between;flex-direction:row}.uer-name.data-v-3df8f2f5{height:100rpx;line-height:100rpx;font-size:38rpx;color:#fff}.center-list.data-v-3df8f2f5{margin-bottom:30rpx;background-color:#f9f9f9}.center-list-cell.data-v-3df8f2f5{width:750rpx;background-color:#007aff;height:40rpx}.user-info-panel.data-v-3df8f2f5{background-color:#fff;margin:20rpx 30rpx;padding:30rpx;border-radius:12rpx;box-shadow:0 2rpx 8rpx rgba(0,0,0,.1)}.info-row.data-v-3df8f2f5{display:flex;flex-direction:row;align-items:center;margin-bottom:20rpx}.info-row.data-v-3df8f2f5:last-child{margin-bottom:0}.info-label.data-v-3df8f2f5{font-size:28rpx;color:#666;width:140rpx;flex-shrink:0}.info-value.data-v-3df8f2f5{font-size:28rpx;color:#333;flex:1;word-break:break-all}.grid.data-v-3df8f2f5{background-color:#fff;margin-bottom:6px}.uni-grid .text.data-v-3df8f2f5{font-size:16px;height:25px;line-height:25px;color:#817f82}.uni-grid .item.data-v-3df8f2f5 .uni-grid-item__box{justify-content:center;align-items:center}.device-text-wrapper.data-v-3df8f2f5{display:flex;flex-direction:column;align-items:center;justify-content:center}.device-label.data-v-3df8f2f5{font-size:14px;color:#817f82;line-height:20px;margin-bottom:2px}.device-count.data-v-3df8f2f5{font-size:18px;font-weight:700;color:#007aff;line-height:22px}.center-list.data-v-3df8f2f5 .uni-list--border:after{transform:scaleY(.2);margin-left:80rpx}.center-list.data-v-3df8f2f5 .uni-list--border-top,.center-list.data-v-3df8f2f5 .uni-list--border-bottom{display:none}.item-footer.data-v-3df8f2f5{flex-direction:row;align-items:center}.item-footer-text.data-v-3df8f2f5{color:#999;font-size:24rpx;padding-right:10rpx}.item-footer-badge.data-v-3df8f2f5{width:20rpx;height:20rpx;border-radius:50%;background-color:#dd524d}.change-pwd-dialog.data-v-3df8f2f5{padding:40rpx 30rpx 30rpx;background-color:#fff;border-radius:16rpx;width:600rpx}.change-pwd-title.data-v-3df8f2f5{font-size:34rpx;font-weight:700;text-align:center;margin-bottom:30rpx}.change-pwd-field.data-v-3df8f2f5{margin-bottom:20rpx}.change-pwd-label.data-v-3df8f2f5{display:block;font-size:26rpx;color:#666;margin-bottom:10rpx}.change-pwd-actions.data-v-3df8f2f5{margin-top:20rpx;display:flex;flex-direction:row;justify-content:flex-end}.dialog-btn.data-v-3df8f2f5{min-width:140rpx;height:70rpx;line-height:70rpx;font-size:28rpx;border-radius:8rpx;padding:0 24rpx}.dialog-btn.cancel.data-v-3df8f2f5{background-color:#f5f5f5;color:#333;margin-right:20rpx}.dialog-btn.confirm.data-v-3df8f2f5{background-color:#007aff;color:#fff}.dialog-btn.data-v-3df8f2f5:after{border:none}
+view.data-v-4be67795{display:flex;box-sizing:border-box;flex-direction:column}page.data-v-4be67795{background-color:#f8f8f8}.center.data-v-4be67795{flex:1;flex-direction:column;background-color:#f8f8f8}.userInfo.data-v-4be67795{padding-top:60px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAIAAACRe4S/AAABPGlDQ1BVMzJKNTl4AAAoz2NgYBJILCjIYWFgYMjNKykKcndSiIiMUmB/ysDKwMXAz6DMoJKYXFzgGBDgA1TCAKNRwbdrDIwg+rIuyKxzl+t6+57Yb85J9Vxm3+gxlQE/4EpJLU4G0n+AOCm5oKiEgYExAchWLi8pALFbgGyRIqCjgOwZIHY6hL0GxE6CsA+A1YQEOQPZV4BsgeSMxBQg+wmQrZOEJJ6OxIbaCwIcocZGXqaWFQzUBiWpFSUg2jm/oLIoMz2jRMERGEKpCp55yXo6CkYGRoYMDKDwhqj+fAMcjoxiHAixlikMDNZvgQxbhJhXLAPDZl4GBp6FCDH1pwwMgmwMDMf8ChKLEuEOYPzGUpxmbARhc29nYGCd9v//53AGBnZNBoa/1////739//+/yxgYmG8xMBz4BgA7el7ZKsa31QAAAAlwSFlzAAALiQAAC4kBN8nLrQAACiVpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMS0wNS0xMFQxNTo0MDoxNSswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjMtMDEtMjlUMTk6MzI6MjYrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjMtMDEtMjlUMTk6MzI6MjYrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0iVTMySjU5eCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpmOWQ1ODk4ZC04ZThlLTc3NDgtOTVhZS0zZjQ3NmQ1NTFhMjgiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo5YjQ3MDdmOC1kZDgwLWExNGMtOTQxMy1kYmM4MDk5ODNhZWMiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0NDMwZGIxOS0xNTg1LTQzOTktOWViMy1jZWY1MTJlNDIyMmMiPiA8cGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8cmRmOkJhZz4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6OWI0NzA3ZjgtZGQ4MC1hMTRjLTk0MTMtZGJjODA5OTgzYWVjPC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NDQzMGRiMTktMTU4NS00Mzk5LTllYjMtY2VmNTEyZTQyMjJjIiBzdEV2dDp3aGVuPSIyMDIxLTA1LTEwVDE1OjQwOjE1KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NjlkOTIxM2MtYjYyNi00MWNlLTlkMDctYjI0Y2JhOTllYzkwIiBzdEV2dDp3aGVuPSIyMDIxLTA1LTEwVDE1OjQzOjE0KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY29udmVydGVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJkZXJpdmVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJjb252ZXJ0ZWQgZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NTMzYTIwOWUtOTA4MS00Nzk2LTk4NmMtNTE4NWZlNjMyMzIwIiBzdEV2dDp3aGVuPSIyMDIxLTA1LTEwVDE1OjQzOjE0KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ZjlkNTg5OGQtOGU4ZS03NzQ4LTk1YWUtM2Y0NzZkNTUxYTI4IiBzdEV2dDp3aGVuPSIyMDIzLTAxLTI5VDE5OjMyOjI2KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rv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);flex-direction:column;align-items:center}.defaultAvatarUrl.data-v-4be67795{width:150rpx;height:150rpx;background-color:#007aff;border-radius:100%;justify-content:center;align-items:center}.logo-title.data-v-4be67795{flex:1;align-items:center;justify-content:space-between;flex-direction:row}.uer-name.data-v-4be67795{height:100rpx;line-height:100rpx;font-size:38rpx;color:#fff}.center-list.data-v-4be67795{margin-bottom:30rpx;background-color:#f9f9f9}.center-list-cell.data-v-4be67795{width:750rpx;background-color:#007aff;height:40rpx}.user-info-panel.data-v-4be67795{background-color:#fff;margin:20rpx 30rpx;padding:30rpx;border-radius:12rpx;box-shadow:0 2rpx 8rpx rgba(0,0,0,.1)}.info-row.data-v-4be67795{display:flex;flex-direction:row;align-items:center;margin-bottom:20rpx}.info-row.data-v-4be67795:last-child{margin-bottom:0}.info-label.data-v-4be67795{font-size:28rpx;color:#666;width:140rpx;flex-shrink:0}.info-value.data-v-4be67795{font-size:28rpx;color:#333;flex:1;word-break:break-all}.grid.data-v-4be67795{background-color:#fff;margin-bottom:6px}.uni-grid .text.data-v-4be67795{font-size:16px;height:25px;line-height:25px;color:#817f82}.uni-grid .item.data-v-4be67795 .uni-grid-item__box{justify-content:center;align-items:center}.device-text-wrapper.data-v-4be67795{display:flex;flex-direction:column;align-items:center;justify-content:center}.device-label.data-v-4be67795{font-size:14px;color:#817f82;line-height:20px;margin-bottom:2px}.device-count.data-v-4be67795{font-size:18px;font-weight:700;color:#007aff;line-height:22px}.center-list.data-v-4be67795 .uni-list--border:after{transform:scaleY(.2);margin-left:80rpx}.center-list.data-v-4be67795 .uni-list--border-top,.center-list.data-v-4be67795 .uni-list--border-bottom{display:none}.item-footer.data-v-4be67795{flex-direction:row;align-items:center}.item-footer-text.data-v-4be67795{color:#999;font-size:24rpx;padding-right:10rpx}.item-footer-badge.data-v-4be67795{width:20rpx;height:20rpx;border-radius:50%;background-color:#dd524d}.change-pwd-dialog.data-v-4be67795{padding:40rpx 30rpx 30rpx;background-color:#fff;border-radius:16rpx;width:600rpx}.change-pwd-title.data-v-4be67795{font-size:34rpx;font-weight:700;text-align:center;margin-bottom:30rpx}.change-pwd-field.data-v-4be67795{margin-bottom:20rpx}.change-pwd-label.data-v-4be67795{display:block;font-size:26rpx;color:#666;margin-bottom:10rpx}.change-pwd-actions.data-v-4be67795{margin-top:20rpx;display:flex;flex-direction:row;justify-content:flex-end}.dialog-btn.data-v-4be67795{min-width:140rpx;height:70rpx;line-height:70rpx;font-size:28rpx;border-radius:8rpx;padding:0 24rpx}.dialog-btn.cancel.data-v-4be67795{background-color:#f5f5f5;color:#333;margin-right:20rpx}.dialog-btn.confirm.data-v-4be67795{background-color:#007aff;color:#fff}.dialog-btn.data-v-4be67795:after{border:none}
diff --git a/unpackage/dist/build/mp-weixin/pages/workbench/components/sales_scenario_new.js b/unpackage/dist/build/mp-weixin/pages/workbench/components/sales_scenario_new.js
index f75a334..4f0c638 100644
--- a/unpackage/dist/build/mp-weixin/pages/workbench/components/sales_scenario_new.js
+++ b/unpackage/dist/build/mp-weixin/pages/workbench/components/sales_scenario_new.js
@@ -1 +1 @@
-"use strict";const e=require("../../../common/vendor.js"),t={name:"SalesScenarioNew",props:{contentTop:{type:String,default:"0rpx"},contentBottom:{type:String,default:"0rpx"}},methods:{openReceptionTab(e){this.switchTabWithQuery("/pages/furniture_reception/furniture_reception",e)},openCustomerTab(t){const o=`/pages-subpackage/furniture_customer/furniture_customer?tab=${t}`;e.index.navigateTo({url:o})},switchTabWithQuery(t,o){"/pages/furniture_reception/furniture_reception"===t&&e.index.setStorageSync("workbench-reception-tab",o),e.index.switchTab({url:t,fail:()=>{const n=`${t}?tab=${o}`;e.index.navigateTo({url:n})}})}}};const o=e._export_sfc(t,[["render",function(t,o,n,r,a,c){return{a:e.o((e=>c.openReceptionTab("reception")),"0a"),b:e.o((e=>c.openReceptionTab("status")),"ed"),c:e.o((e=>c.openReceptionTab("tag")),"8b"),d:e.o((e=>c.openCustomerTab("service")),"b5"),e:e.o((e=>c.openCustomerTab("customer")),"cd"),f:n.contentTop,g:n.contentBottom}}],["__scopeId","data-v-08e7a06f"]]);wx.createComponent(o);
+"use strict";const e=require("../../../common/vendor.js"),t={name:"SalesScenarioNew",props:{contentTop:{type:String,default:"0rpx"},contentBottom:{type:String,default:"0rpx"}},methods:{openReceptionTab(t){if(!["status","reception","tag"].includes(t))return;const o=`/pages-subpackage/furniture_reception/furniture_reception_entry?tab=${encodeURIComponent(t)}`;e.index.navigateTo({url:o,fail:()=>{e.index.showToast({title:"跳转接待页失败",icon:"none"})}})},openCustomerTab(t){const o=`/pages-subpackage/furniture_customer/furniture_customer?tab=${t}`;e.index.navigateTo({url:o})}}};const o=e._export_sfc(t,[["render",function(t,o,n,r,a,c){return{a:e.o((e=>c.openReceptionTab("reception")),"28"),b:e.o((e=>c.openReceptionTab("status")),"75"),c:e.o((e=>c.openReceptionTab("tag")),"24"),d:e.o((e=>c.openCustomerTab("service")),"5c"),e:e.o((e=>c.openCustomerTab("customer")),"13"),f:n.contentTop,g:n.contentBottom}}],["__scopeId","data-v-ba0b423c"]]);wx.createComponent(o);
diff --git a/unpackage/dist/build/mp-weixin/pages/workbench/components/sales_scenario_new.wxml b/unpackage/dist/build/mp-weixin/pages/workbench/components/sales_scenario_new.wxml
index 2047ca0..ce53b4a 100644
--- a/unpackage/dist/build/mp-weixin/pages/workbench/components/sales_scenario_new.wxml
+++ b/unpackage/dist/build/mp-weixin/pages/workbench/components/sales_scenario_new.wxml
@@ -1 +1 @@
-🛎️开始接待进入接待页并切到开始接待📌服务中进入接待页并切到服务中🗂️标签管理进入接待页并切到标签管理📝服务记录进入客户页并切到服务记录👥客户进入客户页并切到客户列表
\ No newline at end of file
+🛎️开始接待📌服务中🗂️标签管理📝服务记录👥客户
\ No newline at end of file
diff --git a/unpackage/dist/build/mp-weixin/pages/workbench/components/sales_scenario_new.wxss b/unpackage/dist/build/mp-weixin/pages/workbench/components/sales_scenario_new.wxss
index a1838ee..ab5ad86 100644
--- a/unpackage/dist/build/mp-weixin/pages/workbench/components/sales_scenario_new.wxss
+++ b/unpackage/dist/build/mp-weixin/pages/workbench/components/sales_scenario_new.wxss
@@ -1 +1 @@
-.scenario-wrapper.data-v-08e7a06f{position:absolute;left:0;right:0}.content-scroll.data-v-08e7a06f{height:100%}.category-section.data-v-08e7a06f{margin:20rpx 30rpx;background:#fff;border-radius:16rpx;overflow:hidden;box-shadow:0 2rpx 8rpx rgba(0,0,0,.04)}.category-section.data-v-08e7a06f:first-child{margin-top:0}.category-section.data-v-08e7a06f:last-child{margin-bottom:0}.category-header.data-v-08e7a06f{display:flex;align-items:center;padding:30rpx;background:#fff;border-bottom:1rpx solid #f0f0f0}.category-icon.data-v-08e7a06f{font-size:32rpx;margin-right:20rpx}.category-title.data-v-08e7a06f{font-size:32rpx;font-weight:500;color:#333}.function-grid.data-v-08e7a06f{display:flex;flex-wrap:wrap;padding:10rpx}.two-column .function-item.data-v-08e7a06f{flex:1;background:#fff;border-radius:12rpx;padding:24rpx 16rpx;margin:0 5rpx;text-align:center;box-shadow:0 2rpx 4rpx rgba(0,0,0,.04);transition:all .3s ease;border:1rpx solid #f0f0f0}.function-item.data-v-08e7a06f{min-width:42%}.function-item.data-v-08e7a06f:active{transform:scale(.95);box-shadow:0 1rpx 2rpx rgba(0,0,0,.1)}.function-icon.data-v-08e7a06f{font-size:48rpx;margin-bottom:12rpx}.function-name.data-v-08e7a06f{display:block;font-size:28rpx;font-weight:500;color:#333;margin-bottom:8rpx}.function-desc.data-v-08e7a06f{display:block;font-size:24rpx;color:#666;line-height:1.4}
+.scenario-wrapper.data-v-ba0b423c{position:absolute;left:0;right:0}.content-scroll.data-v-ba0b423c{height:100%}.category-section.data-v-ba0b423c{margin:20rpx 30rpx;background:#fff;border-radius:16rpx;overflow:hidden;box-shadow:0 2rpx 8rpx rgba(0,0,0,.04)}.category-section.data-v-ba0b423c:first-child{margin-top:0}.category-section.data-v-ba0b423c:last-child{margin-bottom:0}.category-header.data-v-ba0b423c{display:flex;align-items:center;padding:30rpx;background:#fff;border-bottom:1rpx solid #f0f0f0}.category-icon.data-v-ba0b423c{font-size:32rpx;margin-right:20rpx}.category-title.data-v-ba0b423c{font-size:32rpx;font-weight:500;color:#333}.function-grid.data-v-ba0b423c{display:flex;flex-wrap:wrap;padding:10rpx}.two-column .function-item.data-v-ba0b423c{flex:1;background:#fff;border-radius:12rpx;padding:24rpx 16rpx;margin:0 5rpx;text-align:center;box-shadow:0 2rpx 4rpx rgba(0,0,0,.04);transition:all .3s ease;border:1rpx solid #f0f0f0}.function-item.data-v-ba0b423c{min-width:42%}.function-item.data-v-ba0b423c:active{transform:scale(.95);box-shadow:0 1rpx 2rpx rgba(0,0,0,.1)}.function-icon.data-v-ba0b423c{font-size:48rpx;margin-bottom:12rpx}.function-name.data-v-ba0b423c{display:block;font-size:28rpx;font-weight:500;color:#333;margin-bottom:8rpx}.function-desc.data-v-ba0b423c{display:block;font-size:24rpx;color:#666;line-height:1.4}
diff --git a/unpackage/dist/build/mp-weixin/pages/workbench/workbench.js b/unpackage/dist/build/mp-weixin/pages/workbench/workbench.js
index 5804e0f..df10ddd 100644
--- a/unpackage/dist/build/mp-weixin/pages/workbench/workbench.js
+++ b/unpackage/dist/build/mp-weixin/pages/workbench/workbench.js
@@ -1 +1 @@
-"use strict";const e=require("../../common/vendor.js");const t={components:{SalesScenarioNew:()=>"./components/sales_scenario_new.js"},data:()=>({contentTop:2*function(){try{return{statusBarHeight:e.index.getSystemInfoSync().statusBarHeight||20}}catch(t){return{statusBarHeight:20}}}().statusBarHeight+88+"rpx",contentBottom:"96rpx",isSalesScenario:!1}),onShow(){this.refreshScenario()},methods:{refreshScenario(){const t=(e.index.getStorageSync("backend-scenario")||"").toString().toLowerCase();this.isSalesScenario="sales"===t,this.isSalesScenario||e.index.switchTab({url:"/pages/ai_analysis/ai_analysis"})}}};if(!Array){(e.resolveComponent("uni-nav-bar")+e.resolveComponent("sales-scenario-new"))()}Math;const n=e._export_sfc(t,[["render",function(t,n,o,s,a,r){return e.e({a:e.p({fixed:!0,statusBar:!0,border:!1,title:"工作台",color:"#333",backgroundColor:"#FFFFFF"}),b:a.isSalesScenario},a.isSalesScenario?{c:e.p({contentTop:a.contentTop,contentBottom:a.contentBottom})}:{})}],["__scopeId","data-v-b6747fba"]]);wx.createPage(n);
+"use strict";const e=require("../../common/vendor.js");const o={components:{SalesScenarioNew:()=>"./components/sales_scenario_new.js",AiAnalysisDashboardBody:()=>"../../components/ai-analysis-dashboard-body.js"},data:()=>({contentTop:2*function(){try{return{statusBarHeight:e.index.getSystemInfoSync().statusBarHeight||20}}catch(o){return{statusBarHeight:20}}}().statusBarHeight+88+"rpx",contentBottom:"96rpx",isSalesScenario:!1,isSoftSalesScenario:!1}),onShow(){this.refreshScenario()},methods:{refreshScenario(){const o=(e.index.getStorageSync("backend-scenario")||"").toString().trim().toLowerCase();this.isSalesScenario="sales"===o,this.isSoftSalesScenario="soft_sales"===o}}};if(!Array){(e.resolveComponent("uni-nav-bar")+e.resolveComponent("sales-scenario-new")+e.resolveComponent("ai-analysis-dashboard-body"))()}Math;const t=e._export_sfc(o,[["render",function(o,t,n,s,a,r){return e.e({a:e.p({fixed:!0,statusBar:!0,border:!1,title:"工作台",color:"#333",backgroundColor:"#FFFFFF"}),b:a.isSalesScenario},a.isSalesScenario?{c:e.p({contentTop:a.contentTop,contentBottom:a.contentBottom})}:a.isSoftSalesScenario?{e:e.p({"content-top":a.contentTop,"content-bottom":a.contentBottom})}:{},{d:a.isSoftSalesScenario})}],["__scopeId","data-v-493fce2d"]]);wx.createPage(t);
diff --git a/unpackage/dist/build/mp-weixin/pages/workbench/workbench.json b/unpackage/dist/build/mp-weixin/pages/workbench/workbench.json
index c188647..cf7630a 100644
--- a/unpackage/dist/build/mp-weixin/pages/workbench/workbench.json
+++ b/unpackage/dist/build/mp-weixin/pages/workbench/workbench.json
@@ -2,6 +2,7 @@
"navigationStyle": "custom",
"usingComponents": {
"sales-scenario-new": "./components/sales_scenario_new",
+ "ai-analysis-dashboard-body": "../../components/ai-analysis-dashboard-body",
"uni-nav-bar": "../../uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar"
}
}
\ No newline at end of file
diff --git a/unpackage/dist/build/mp-weixin/pages/workbench/workbench.wxml b/unpackage/dist/build/mp-weixin/pages/workbench/workbench.wxml
index 545ea44..ca17fc9 100644
--- a/unpackage/dist/build/mp-weixin/pages/workbench/workbench.wxml
+++ b/unpackage/dist/build/mp-weixin/pages/workbench/workbench.wxml
@@ -1 +1 @@
-正在跳转到 AI 分析...
\ No newline at end of file
+当前未配置为销售或轻销场景(backend-scenario 不是 sales / soft_sales),工作台入口已隐藏。
\ No newline at end of file
diff --git a/unpackage/dist/build/mp-weixin/pages/workbench/workbench.wxss b/unpackage/dist/build/mp-weixin/pages/workbench/workbench.wxss
index 22e304c..fe4be87 100644
--- a/unpackage/dist/build/mp-weixin/pages/workbench/workbench.wxss
+++ b/unpackage/dist/build/mp-weixin/pages/workbench/workbench.wxss
@@ -1 +1 @@
-page.data-v-b6747fba{background-color:#f5f5f5}.page.data-v-b6747fba{min-height:100vh;background-color:#f5f5f5}.content.data-v-b6747fba{position:relative;min-height:100vh}.redirecting-text.data-v-b6747fba{padding:40rpx 30rpx;color:#666;font-size:28rpx;text-align:center}
+page.data-v-493fce2d{background-color:#f5f5f5}.page.data-v-493fce2d{min-height:100vh;background-color:#f5f5f5}.content.data-v-493fce2d{position:relative;width:100%;min-height:100vh;box-sizing:border-box}.redirecting-text.data-v-493fce2d{padding:40rpx 30rpx;color:#666;font-size:28rpx;text-align:center}
diff --git a/unpackage/dist/build/mp-weixin/uni_modules/uni-id-pages/components/uni-id-pages-fab-login/uni-id-pages-fab-login.js b/unpackage/dist/build/mp-weixin/uni_modules/uni-id-pages/components/uni-id-pages-fab-login/uni-id-pages-fab-login.js
index 43ef8f9..197b853 100644
--- a/unpackage/dist/build/mp-weixin/uni_modules/uni-id-pages/components/uni-id-pages-fab-login/uni-id-pages-fab-login.js
+++ b/unpackage/dist/build/mp-weixin/uni_modules/uni-id-pages/components/uni-id-pages-fab-login/uni-id-pages-fab-login.js
@@ -1 +1 @@
-"use strict";const e=require("../../../../common/vendor.js"),i=require("../../config.js"),t=require("../../../../common/store.js"),n={computed:{agreements(){if(!i.config.agreements)return[];let{serviceUrl:e,privacyUrl:t}=i.config.agreements;return[{url:e,title:"用户服务协议"},{url:t,title:"隐私政策条款"}]},agree:{get(){return this.getParentComponent().agree},set(e){return this.getParentComponent().agree=e}}},data:()=>({servicesList:[{id:"username",text:"账号登录",logo:"/uni_modules/uni-id-pages/static/login/uni-fab-login/user.png",path:"/uni_modules/uni-id-pages/pages/login/login-withpwd"},{id:"smsCode",text:"短信验证码",logo:"/uni_modules/uni-id-pages/static/login/uni-fab-login/sms.png",path:"/uni_modules/uni-id-pages/pages/login/login-withoutpwd?type=smsCode"},{id:"weixin",text:"微信登录",logo:"/uni_modules/uni-id-pages/static/login/uni-fab-login/weixin.png"},{id:"huawei",text:"华为登录",logo:"/uni_modules/uni-id-pages/static/login/uni-fab-login/huawei.png",path:"/uni_modules/uni-id-pages/pages/login/login-withoutpwd?type=huawei"},{id:"huaweiMobile",text:"华为账号一键登录",logo:"/uni_modules/uni-id-pages/static/login/uni-fab-login/huawei.png",path:"/uni_modules/uni-id-pages/pages/login/login-withoutpwd?type=huaweiMobile"}],univerifyStyle:{fullScreen:!0,backgroundColor:"#ffffff",buttons:{iconWidth:"45px",list:[]},privacyTerms:{defaultCheckBoxState:!1,textColor:"#BBBBBB",termsColor:"#5496E3",prefix:"我已阅读并同意",suffix:"并使用本机号码登录",privacyItems:[]}}}),watch:{agree(e){this.univerifyStyle.privacyTerms.defaultCheckBoxState=e}},async created(){let e=this.servicesList,t=i.config.loginTypes;e=e.filter((e=>"apple"!=e.id&&t.includes(e.id))),t.includes("univerify")&&(this.univerifyStyle.privacyTerms.privacyItems=this.agreements,e.forEach((({id:e,logo:i,path:t})=>{"univerify"!=e&&this.univerifyStyle.buttons.list.push({iconPath:i,provider:e,path:t})}))),this.servicesList=e.filter((e=>(e.path?e.path.split("?")[0]:"")!=this.getRoute(1)))},methods:{getParentComponent(){return this.$parent},setUserInfo(e){console.log("setUserInfo",e)},getRoute(e=0){let i=getCurrentPages();return e>i.length?"":"/"+i[i.length-e].route},toPage(i,t=0){if(console.log("比较",this.getRoute(1),this.getRoute(2),i),this.getRoute(1)==i.split("?")[0]&&"/uni_modules/uni-id-pages/pages/login/login-withoutpwd"==this.getRoute(1)){let t=i.split("?")[1].split("=")[1];e.index.$emit("uni-id-pages-setLoginType",t)}else this.getRoute(2)==i?e.index.navigateBack():this.getRoute(1)!=i?0===t?e.index.navigateTo({url:i,animationType:"slide-in-left",complete(e){}}):e.index.redirectTo({url:i,animationType:"slide-in-left",complete(e){}}):console.log("出乎意料的情况,path:"+i)},async login_before(t,n=!0,o={}){var s,r;if(console.log(t,o),["qq","xiaomi","sinaweibo","taobao","facebook","google","alipay","douyin"].includes(t))return e.index.showToast({title:"该登录方式暂未实现,欢迎提交pr",icon:"none",duration:3e3});if(console.log("检查当前环境是否支持这种登录方式"),["univerify","apple"].includes(t))return e.index.showToast({title:"当前设备不支持此登录,请选择其他登录方式",icon:"none",duration:3e3});let a=((null==(r=null==(s=i.config)?void 0:s.agreements)?void 0:r.scope)||[]).includes("register");if("univerify"!=t&&a&&!this.agree){return this.getParentComponent().$refs.agreements.popup((()=>{this.login_before(t,n,o)}))}if(console.log("login ----"),e.index.showLoading({mask:!0}),"univerify"==t){let i=function(){e.index.hideLoading(),t.close(),t.offButtonsClick(o)},t=e.index.getUniverifyManager(),n=!1,o=async t=>{console.log("点击了第三方登录,provider:",t,t.provider,this.univerifyStyle.buttons.list),n=!0;let o=await e.index.getCheckBoxState();this.agree=o.state;let{path:s}=this.univerifyStyle.buttons.list[t.index];s?(this.getRoute(1).includes("login-withoutpwd")&&s.includes("login-withoutpwd")&&this.getParentComponent().showCurrentWebview(),this.toPage(s,1),i()):this.agree?(i(),setTimeout((()=>{this.login_before(t.provider)}),500)):e.index.showToast({title:"你未同意隐私政策协议",icon:"none",duration:3e3})};return t.onButtonsClick(o),t.login({univerifyStyle:this.univerifyStyle,success:e=>{this.login(e.authResult,"univerify")},fail(i){console.log(i),n||e.index.navigateBack()},complete:async i=>{e.index.hideLoading(),t.offButtonsClick(o)}})}if("weixinMobile"===t||"huaweiMobile"===t)return this.login({phoneCode:o.phoneNumberCode},t);e.index.login({provider:t,onlyAuthorize:!0,success:async i=>{if("apple"==t){let t=await this.getUserInfo({provider:"apple"});Object.assign(i.authResult,t.userInfo),e.index.hideLoading()}this.login(["huawei","weixin"].includes(t)?{code:i.code}:i.authResult,t)},fail:async i=>{console.error(JSON.stringify(i)),e.index.showModal({content:`登录失败; code: ${i.errCode||-1}`,confirmText:"知道了",showCancel:!1}),e.index.hideLoading()}})},login(i,n){console.log({params:i,type:n});let o="loginBy"+n.trim().replace(n[0],n[0].toUpperCase());e._r.importObject("uni-id-co",{customUI:!0})[o](i).then((i=>{if(e.index.showToast({title:"登录成功",icon:"none",duration:2e3}),"weixin"===n)try{const n=e._r.database();n.collection("uni-id-users").doc(i.uid).field("username,nickname,avatar_file,mobile,email").get().then((n=>{const o=n.result.data[0]||{},s={username:o.username||o.nickname||"微信用户",nickname:o.nickname,avatar_file:o.avatar_file,mobile:o.mobile,email:o.email};t.mutations.setUserInfo(s,{cover:!0}),i.newToken&&i.newToken.token&&(e.index.setStorageSync("uni_id_token",i.newToken.token),i.newToken.tokenExpired&&e.index.setStorageSync("uni_id_token_expired",i.newToken.tokenExpired)),setTimeout((()=>{e.index.switchTab({url:"/pages/furniture_reception/furniture_reception"})}),500)})).catch((i=>{console.error("获取用户信息失败:",i),t.mutations.setUserInfo({username:"微信用户",nickname:"微信用户"},{cover:!0}),setTimeout((()=>{e.index.switchTab({url:"/pages/furniture_reception/furniture_reception"})}),500)}))}catch(o){console.error("设置微信登录用户信息失败:",o)}else t.mutations.loginSuccess(i)})).catch((i=>{e.index.showModal({content:i.message,confirmText:"知道了",showCancel:!1})})).finally((i=>{"univerify"==n&&e.index.closeAuthView(),e.index.hideLoading()}))},getUserInfo:async i=>new Promise(((t,n)=>{e.index.getUserInfo({...i,success:e=>{t(e)},fail:i=>{e.index.showModal({content:JSON.stringify(i),showCancel:!1}),n(i)}})}))}};const o=e._export_sfc(n,[["render",function(i,t,n,o,s,r){return{a:e.f(s.servicesList,((i,t,n)=>({a:i.logo,b:e.t(i.text),c:t,d:e.o((e=>i.path?r.toPage(i.path):r.login_before(i.id,!1)),t)})))}}]]);wx.createComponent(o);
+"use strict";const e=require("../../../../common/vendor.js"),i=require("../../config.js"),t=require("../../../../common/store.js"),n={computed:{agreements(){if(!i.config.agreements)return[];let{serviceUrl:e,privacyUrl:t}=i.config.agreements;return[{url:e,title:"用户服务协议"},{url:t,title:"隐私政策条款"}]},agree:{get(){return this.getParentComponent().agree},set(e){return this.getParentComponent().agree=e}}},data:()=>({servicesList:[{id:"username",text:"账号登录",logo:"/uni_modules/uni-id-pages/static/login/uni-fab-login/user.png",path:"/uni_modules/uni-id-pages/pages/login/login-withpwd"},{id:"smsCode",text:"短信验证码",logo:"/uni_modules/uni-id-pages/static/login/uni-fab-login/sms.png",path:"/uni_modules/uni-id-pages/pages/login/login-withoutpwd?type=smsCode"},{id:"weixin",text:"微信登录",logo:"/uni_modules/uni-id-pages/static/login/uni-fab-login/weixin.png"},{id:"huawei",text:"华为登录",logo:"/uni_modules/uni-id-pages/static/login/uni-fab-login/huawei.png",path:"/uni_modules/uni-id-pages/pages/login/login-withoutpwd?type=huawei"},{id:"huaweiMobile",text:"华为账号一键登录",logo:"/uni_modules/uni-id-pages/static/login/uni-fab-login/huawei.png",path:"/uni_modules/uni-id-pages/pages/login/login-withoutpwd?type=huaweiMobile"}],univerifyStyle:{fullScreen:!0,backgroundColor:"#ffffff",buttons:{iconWidth:"45px",list:[]},privacyTerms:{defaultCheckBoxState:!1,textColor:"#BBBBBB",termsColor:"#5496E3",prefix:"我已阅读并同意",suffix:"并使用本机号码登录",privacyItems:[]}}}),watch:{agree(e){this.univerifyStyle.privacyTerms.defaultCheckBoxState=e}},async created(){let e=this.servicesList,t=i.config.loginTypes;e=e.filter((e=>"apple"!=e.id&&t.includes(e.id))),t.includes("univerify")&&(this.univerifyStyle.privacyTerms.privacyItems=this.agreements,e.forEach((({id:e,logo:i,path:t})=>{"univerify"!=e&&this.univerifyStyle.buttons.list.push({iconPath:i,provider:e,path:t})}))),this.servicesList=e.filter((e=>(e.path?e.path.split("?")[0]:"")!=this.getRoute(1)))},methods:{getParentComponent(){return this.$parent},setUserInfo(e){console.log("setUserInfo",e)},getRoute(e=0){let i=getCurrentPages();return e>i.length?"":"/"+i[i.length-e].route},toPage(i,t=0){if(console.log("比较",this.getRoute(1),this.getRoute(2),i),this.getRoute(1)==i.split("?")[0]&&"/uni_modules/uni-id-pages/pages/login/login-withoutpwd"==this.getRoute(1)){let t=i.split("?")[1].split("=")[1];e.index.$emit("uni-id-pages-setLoginType",t)}else this.getRoute(2)==i?e.index.navigateBack():this.getRoute(1)!=i?0===t?e.index.navigateTo({url:i,animationType:"slide-in-left",complete(e){}}):e.index.redirectTo({url:i,animationType:"slide-in-left",complete(e){}}):console.log("出乎意料的情况,path:"+i)},async login_before(t,n=!0,o={}){var s,a;if(console.log(t,o),["qq","xiaomi","sinaweibo","taobao","facebook","google","alipay","douyin"].includes(t))return e.index.showToast({title:"该登录方式暂未实现,欢迎提交pr",icon:"none",duration:3e3});if(console.log("检查当前环境是否支持这种登录方式"),["univerify","apple"].includes(t))return e.index.showToast({title:"当前设备不支持此登录,请选择其他登录方式",icon:"none",duration:3e3});let r=((null==(a=null==(s=i.config)?void 0:s.agreements)?void 0:a.scope)||[]).includes("register");if("univerify"!=t&&r&&!this.agree){return this.getParentComponent().$refs.agreements.popup((()=>{this.login_before(t,n,o)}))}if(console.log("login ----"),e.index.showLoading({mask:!0}),"univerify"==t){let i=function(){e.index.hideLoading(),t.close(),t.offButtonsClick(o)},t=e.index.getUniverifyManager(),n=!1,o=async t=>{console.log("点击了第三方登录,provider:",t,t.provider,this.univerifyStyle.buttons.list),n=!0;let o=await e.index.getCheckBoxState();this.agree=o.state;let{path:s}=this.univerifyStyle.buttons.list[t.index];s?(this.getRoute(1).includes("login-withoutpwd")&&s.includes("login-withoutpwd")&&this.getParentComponent().showCurrentWebview(),this.toPage(s,1),i()):this.agree?(i(),setTimeout((()=>{this.login_before(t.provider)}),500)):e.index.showToast({title:"你未同意隐私政策协议",icon:"none",duration:3e3})};return t.onButtonsClick(o),t.login({univerifyStyle:this.univerifyStyle,success:e=>{this.login(e.authResult,"univerify")},fail(i){console.log(i),n||e.index.navigateBack()},complete:async i=>{e.index.hideLoading(),t.offButtonsClick(o)}})}if("weixinMobile"===t||"huaweiMobile"===t)return this.login({phoneCode:o.phoneNumberCode},t);e.index.login({provider:t,onlyAuthorize:!0,success:async i=>{if("apple"==t){let t=await this.getUserInfo({provider:"apple"});Object.assign(i.authResult,t.userInfo),e.index.hideLoading()}this.login(["huawei","weixin"].includes(t)?{code:i.code}:i.authResult,t)},fail:async i=>{console.error(JSON.stringify(i)),e.index.showModal({content:`登录失败; code: ${i.errCode||-1}`,confirmText:"知道了",showCancel:!1}),e.index.hideLoading()}})},login(i,n){console.log({params:i,type:n});let o="loginBy"+n.trim().replace(n[0],n[0].toUpperCase());e._r.importObject("uni-id-co",{customUI:!0})[o](i).then((i=>{if(e.index.showToast({title:"登录成功",icon:"none",duration:2e3}),"weixin"===n)try{const n=e._r.database();n.collection("uni-id-users").doc(i.uid).field("username,nickname,avatar_file,mobile,email").get().then((n=>{const o=n.result.data[0]||{},s={username:o.username||o.nickname||"微信用户",nickname:o.nickname,avatar_file:o.avatar_file,mobile:o.mobile,email:o.email};t.mutations.setUserInfo(s,{cover:!0}),i.newToken&&i.newToken.token&&(e.index.setStorageSync("uni_id_token",i.newToken.token),i.newToken.tokenExpired&&e.index.setStorageSync("uni_id_token_expired",i.newToken.tokenExpired)),setTimeout((()=>{e.index.switchTab({url:"/pages/workbench/workbench"})}),500)})).catch((i=>{console.error("获取用户信息失败:",i),t.mutations.setUserInfo({username:"微信用户",nickname:"微信用户"},{cover:!0}),setTimeout((()=>{e.index.switchTab({url:"/pages/workbench/workbench"})}),500)}))}catch(o){console.error("设置微信登录用户信息失败:",o)}else t.mutations.loginSuccess(i)})).catch((i=>{e.index.showModal({content:i.message,confirmText:"知道了",showCancel:!1})})).finally((i=>{"univerify"==n&&e.index.closeAuthView(),e.index.hideLoading()}))},getUserInfo:async i=>new Promise(((t,n)=>{e.index.getUserInfo({...i,success:e=>{t(e)},fail:i=>{e.index.showModal({content:JSON.stringify(i),showCancel:!1}),n(i)}})}))}};const o=e._export_sfc(n,[["render",function(i,t,n,o,s,a){return{a:e.f(s.servicesList,((i,t,n)=>({a:i.logo,b:e.t(i.text),c:t,d:e.o((e=>i.path?a.toPage(i.path):a.login_before(i.id,!1)),t)})))}}]]);wx.createComponent(o);
diff --git a/unpackage/dist/build/mp-weixin/uni_modules/uni-id-pages/pages/login/login-withpwd.js b/unpackage/dist/build/mp-weixin/uni_modules/uni-id-pages/pages/login/login-withpwd.js
index cb55196..926a2fa 100644
--- a/unpackage/dist/build/mp-weixin/uni_modules/uni-id-pages/pages/login/login-withpwd.js
+++ b/unpackage/dist/build/mp-weixin/uni_modules/uni-id-pages/pages/login/login-withpwd.js
@@ -1 +1 @@
-"use strict";const e=require("../../../../common/vendor.js"),o=require("../../common/login-page.mixin.js"),n=require("../../../../common/store.js"),s=require("../../../../common/config.js"),a={mixins:[o.mixin],data:()=>({password:"aaa123",username:"15810181776",captcha:"",needCaptcha:!1,focusUsername:!1,focusPassword:!1,logo:"/static/logo.png"}),onShow(){},methods:{toRetrievePwd(){let o="/uni_modules/uni-id-pages/pages/retrieve/retrieve";/^1\d{10}$/.test(this.username)&&(o+=`?phoneNumber=${this.username}`),e.index.navigateTo({url:o})},async pwdLogin(){if(!this.password.length)return this.focusPassword=!0,e.index.showToast({title:"请输入密码",icon:"none",duration:3e3});if(!this.username.length)return this.focusUsername=!0,e.index.showToast({title:"请输入手机号/用户名/邮箱",icon:"none",duration:3e3});if(this.needAgreements&&!this.agree)return this.$refs.agreements.popup(this.pwdLogin);const o={userName:this.username,password:this.password};e.index.showLoading({title:"正在登录...",mask:!0});try{const i=s.getApiUrl("/api/sys/auth/login");console.log("[Login Page] 开始调用登录接口:",{url:i,method:"POST",payload:o});const t=(await new Promise(((n,s)=>{console.log("[Login Page] 发起 uni.request 调用"),e.index.request({url:i,method:"POST",header:{"Content-Type":"application/json"},data:o,success:e=>{console.log("[Login Page] 登录请求成功:",{statusCode:e.statusCode,hasData:!!e.data,dataType:typeof e.data}),n(e)},fail:e=>{console.error("[Login Page] 登录请求失败:",{error:e,errorMessage:e.errMsg||"未知错误"}),s(e)}})}))).data||{};if(!t.success||!t.data)return e.index.showToast({title:t.message||"登录失败",icon:"none",duration:3e3});const r=t.data;console.log("[Login Success] current user role info:",{roleName:r.roleName||"",scenario:r.scenario||""}),r.token?(e.index.setStorageSync("backend-token",r.token),console.log("[Login] token 已保存,后续请求将自动在 header 中携带")):console.warn("[Login] 登录响应中未包含 token");try{e.index.setStorageSync("backend-login-response",r),e.index.setStorageSync("backend-user-id",r.userId),r.tenantId?(e.index.setStorageSync("backend-tenant-id",r.tenantId),console.log("[Login] tenantId 已保存:",r.tenantId)):console.warn("[Login] 登录响应中未包含 tenantId,后续请求可能失败"),r.roleName&&(e.index.setStorageSync("backend-role-name",r.roleName),console.log("[Login] roleName 已保存:",r.roleName)),r.scenario&&(e.index.setStorageSync("backend-scenario",r.scenario),console.log("[Login] scenario 已保存:",r.scenario))}catch(a){console.error("缓存登录信息失败:",a)}try{e.index.$emit("tabbar:refresh")}catch(a){console.warn("触发 tabbar 刷新事件失败:",a)}try{n.mutations.setUserInfo({username:r.userName,mobile:r.phone,email:r.email,avatar_file:r.avatar?{url:r.avatar}:void 0},{cover:!0}),console.log("[Login] Store updated successfully, hasLogin:",n.store.hasLogin,"userInfo:",n.store.userInfo)}catch(a){console.error("更新本地用户信息失败:",a)}e.index.showToast({title:t.message||"登录成功",icon:"none",duration:800});try{const e=getApp({allowDefault:!0});e&&e.setGlobalRoleInfo&&e.setGlobalRoleInfo()}catch(a){console.warn("[Login] Failed to update global role info:",a)}setTimeout((()=>{console.log("[Login] Preparing to navigate after login, hasLogin:",n.store.hasLogin),e.index.switchTab({url:"/pages/furniture_reception/furniture_reception",success:()=>{console.log("[Login] Navigation successful, checking login status after navigation"),setTimeout((()=>{console.log("[Login] Final check - hasLogin:",n.store.hasLogin,"backend-token exists:",!!e.index.getStorageSync("backend-token"))}),500)},fail:e=>{console.error("[Login] Navigation failed:",e)}})}),500)}catch(i){console.error("调用登录接口失败:",i),e.index.showToast({title:"网络异常,登录失败",icon:"none",duration:3e3})}finally{e.index.hideLoading()}},toRegister(){e.index.navigateTo({url:this.config.isAdmin?"/uni_modules/uni-id-pages/pages/register/register-admin":"/uni_modules/uni-id-pages/pages/register/register",fail(e){console.error(e)}})}}};if(!Array){(e.resolveComponent("uni-easyinput")+e.resolveComponent("uni-forms-item")+e.resolveComponent("uni-forms")+e.resolveComponent("uni-captcha")+e.resolveComponent("uni-id-pages-agreements")+e.resolveComponent("uni-id-pages-fab-login"))()}Math||((()=>"../../../uni-easyinput/components/uni-easyinput/uni-easyinput.js")+(()=>"../../../uni-forms/components/uni-forms-item/uni-forms-item.js")+(()=>"../../../uni-forms/components/uni-forms/uni-forms.js")+(()=>"../../../uni-captcha/components/uni-captcha/uni-captcha.js")+(()=>"../../components/uni-id-pages-agreements/uni-id-pages-agreements.js")+(()=>"../../components/uni-id-pages-fab-login/uni-id-pages-fab-login.js"))();const i=e._export_sfc(a,[["render",function(o,n,s,a,i,t){return e.e({a:i.logo,b:e.o((e=>i.focusUsername=!1),"ff"),c:e.o((e=>i.username=e),"c9"),d:e.p({focus:i.focusUsername,inputBorder:!1,placeholder:"请输入手机号/用户名/邮箱",trim:"all",modelValue:i.username}),e:e.p({name:"username"}),f:e.o((e=>i.focusPassword=!1),"27"),g:e.o((e=>i.password=e),"75"),h:e.p({focus:i.focusPassword,clearable:!0,type:"password",inputBorder:!1,placeholder:"请输入密码",trim:"all",modelValue:i.password}),i:e.p({name:"password"}),j:i.needCaptcha},i.needCaptcha?{k:e.sr("captcha","f984cc0a-5"),l:e.o((e=>i.captcha=e),"32"),m:e.p({focus:!0,scene:"login-by-pwd",modelValue:i.captcha})}:{},{n:e.sr("agreements","f984cc0a-6"),o:e.p({scope:"login"}),p:e.o(((...e)=>t.pwdLogin&&t.pwdLogin(...e)),"87"),q:!o.config.isAdmin},o.config.isAdmin?{}:{r:e.o(((...e)=>t.toRetrievePwd&&t.toRetrievePwd(...e)),"b1")},{s:e.t(o.config.isAdmin?"注册管理员账号":"注册账号"),t:e.o(((...e)=>t.toRegister&&t.toRegister(...e)),"7e"),v:e.sr("uniFabLogin","f984cc0a-7")})}],["__scopeId","data-v-f984cc0a"]]);wx.createPage(i);
+"use strict";const e=require("../../../../common/vendor.js"),o=require("../../common/login-page.mixin.js"),n=require("../../../../common/store.js"),s=require("../../../../common/config.js"),a={mixins:[o.mixin],data:()=>({password:"aaa123",username:"15810181776",captcha:"",needCaptcha:!1,focusUsername:!1,focusPassword:!1,logo:"/static/logo.png"}),onShow(){},methods:{toRetrievePwd(){let o="/uni_modules/uni-id-pages/pages/retrieve/retrieve";/^1\d{10}$/.test(this.username)&&(o+=`?phoneNumber=${this.username}`),e.index.navigateTo({url:o})},async pwdLogin(){if(!this.password.length)return this.focusPassword=!0,e.index.showToast({title:"请输入密码",icon:"none",duration:3e3});if(!this.username.length)return this.focusUsername=!0,e.index.showToast({title:"请输入手机号/用户名/邮箱",icon:"none",duration:3e3});if(this.needAgreements&&!this.agree)return this.$refs.agreements.popup(this.pwdLogin);const o={userName:this.username,password:this.password};e.index.showLoading({title:"正在登录...",mask:!0});try{const i=s.getApiUrl("/api/sys/auth/login");console.log("[Login Page] 开始调用登录接口:",{url:i,method:"POST",payload:o});const t=(await new Promise(((n,s)=>{console.log("[Login Page] 发起 uni.request 调用"),e.index.request({url:i,method:"POST",header:{"Content-Type":"application/json"},data:o,success:e=>{console.log("[Login Page] 登录请求成功:",{statusCode:e.statusCode,hasData:!!e.data,dataType:typeof e.data}),n(e)},fail:e=>{console.error("[Login Page] 登录请求失败:",{error:e,errorMessage:e.errMsg||"未知错误"}),s(e)}})}))).data||{};if(!t.success||!t.data)return e.index.showToast({title:t.message||"登录失败",icon:"none",duration:3e3});const r=t.data;console.log("[Login Success] current user role info:",{roleName:r.roleName||"",scenario:r.scenario||""}),r.token?(e.index.setStorageSync("backend-token",r.token),console.log("[Login] token 已保存,后续请求将自动在 header 中携带")):console.warn("[Login] 登录响应中未包含 token");try{e.index.setStorageSync("backend-login-response",r),e.index.setStorageSync("backend-user-id",r.userId),r.tenantId?(e.index.setStorageSync("backend-tenant-id",r.tenantId),console.log("[Login] tenantId 已保存:",r.tenantId)):console.warn("[Login] 登录响应中未包含 tenantId,后续请求可能失败"),r.roleName&&(e.index.setStorageSync("backend-role-name",r.roleName),console.log("[Login] roleName 已保存:",r.roleName)),r.scenario&&(e.index.setStorageSync("backend-scenario",r.scenario),console.log("[Login] scenario 已保存:",r.scenario))}catch(a){console.error("缓存登录信息失败:",a)}try{e.index.$emit("tabbar:refresh")}catch(a){console.warn("触发 tabbar 刷新事件失败:",a)}try{n.mutations.setUserInfo({username:r.userName,mobile:r.phone,email:r.email,avatar_file:r.avatar?{url:r.avatar}:void 0},{cover:!0}),console.log("[Login] Store updated successfully, hasLogin:",n.store.hasLogin,"userInfo:",n.store.userInfo)}catch(a){console.error("更新本地用户信息失败:",a)}e.index.showToast({title:t.message||"登录成功",icon:"none",duration:800});try{const e=getApp({allowDefault:!0});e&&e.setGlobalRoleInfo&&e.setGlobalRoleInfo()}catch(a){console.warn("[Login] Failed to update global role info:",a)}setTimeout((()=>{console.log("[Login] Preparing to navigate after login, hasLogin:",n.store.hasLogin),e.index.switchTab({url:"/pages/workbench/workbench",success:()=>{console.log("[Login] Navigation successful, checking login status after navigation"),setTimeout((()=>{console.log("[Login] Final check - hasLogin:",n.store.hasLogin,"backend-token exists:",!!e.index.getStorageSync("backend-token"))}),500)},fail:e=>{console.error("[Login] Navigation failed:",e)}})}),500)}catch(i){console.error("调用登录接口失败:",i),e.index.showToast({title:"网络异常,登录失败",icon:"none",duration:3e3})}finally{e.index.hideLoading()}},toRegister(){e.index.navigateTo({url:this.config.isAdmin?"/uni_modules/uni-id-pages/pages/register/register-admin":"/uni_modules/uni-id-pages/pages/register/register",fail(e){console.error(e)}})}}};if(!Array){(e.resolveComponent("uni-easyinput")+e.resolveComponent("uni-forms-item")+e.resolveComponent("uni-forms")+e.resolveComponent("uni-captcha")+e.resolveComponent("uni-id-pages-agreements")+e.resolveComponent("uni-id-pages-fab-login"))()}Math||((()=>"../../../uni-easyinput/components/uni-easyinput/uni-easyinput.js")+(()=>"../../../uni-forms/components/uni-forms-item/uni-forms-item.js")+(()=>"../../../uni-forms/components/uni-forms/uni-forms.js")+(()=>"../../../uni-captcha/components/uni-captcha/uni-captcha.js")+(()=>"../../components/uni-id-pages-agreements/uni-id-pages-agreements.js")+(()=>"../../components/uni-id-pages-fab-login/uni-id-pages-fab-login.js"))();const i=e._export_sfc(a,[["render",function(o,n,s,a,i,t){return e.e({a:i.logo,b:e.o((e=>i.focusUsername=!1),"ff"),c:e.o((e=>i.username=e),"c9"),d:e.p({focus:i.focusUsername,inputBorder:!1,placeholder:"请输入手机号/用户名/邮箱",trim:"all",modelValue:i.username}),e:e.p({name:"username"}),f:e.o((e=>i.focusPassword=!1),"27"),g:e.o((e=>i.password=e),"75"),h:e.p({focus:i.focusPassword,clearable:!0,type:"password",inputBorder:!1,placeholder:"请输入密码",trim:"all",modelValue:i.password}),i:e.p({name:"password"}),j:i.needCaptcha},i.needCaptcha?{k:e.sr("captcha","6464e2fa-5"),l:e.o((e=>i.captcha=e),"32"),m:e.p({focus:!0,scene:"login-by-pwd",modelValue:i.captcha})}:{},{n:e.sr("agreements","6464e2fa-6"),o:e.p({scope:"login"}),p:e.o(((...e)=>t.pwdLogin&&t.pwdLogin(...e)),"87"),q:!o.config.isAdmin},o.config.isAdmin?{}:{r:e.o(((...e)=>t.toRetrievePwd&&t.toRetrievePwd(...e)),"b1")},{s:e.t(o.config.isAdmin?"注册管理员账号":"注册账号"),t:e.o(((...e)=>t.toRegister&&t.toRegister(...e)),"7e"),v:e.sr("uniFabLogin","6464e2fa-7")})}],["__scopeId","data-v-6464e2fa"]]);wx.createPage(i);
diff --git a/unpackage/dist/build/mp-weixin/uni_modules/uni-id-pages/pages/login/login-withpwd.wxml b/unpackage/dist/build/mp-weixin/uni_modules/uni-id-pages/pages/login/login-withpwd.wxml
index 5dd7101..7d9ad35 100644
--- a/unpackage/dist/build/mp-weixin/uni_modules/uni-id-pages/pages/login/login-withpwd.wxml
+++ b/unpackage/dist/build/mp-weixin/uni_modules/uni-id-pages/pages/login/login-withpwd.wxml
@@ -1 +1 @@
-账号密码登录忘记了?找回密码{{s}}
\ No newline at end of file
+账号密码登录忘记了?找回密码{{s}}
\ No newline at end of file
diff --git a/unpackage/dist/build/mp-weixin/uni_modules/uni-id-pages/pages/login/login-withpwd.wxss b/unpackage/dist/build/mp-weixin/uni_modules/uni-id-pages/pages/login/login-withpwd.wxss
index be8950d..4f146a2 100644
--- a/unpackage/dist/build/mp-weixin/uni_modules/uni-id-pages/pages/login/login-withpwd.wxss
+++ b/unpackage/dist/build/mp-weixin/uni_modules/uni-id-pages/pages/login/login-withpwd.wxss
@@ -1 +1 @@
-.uni-content.data-v-f984cc0a{padding:0 60rpx}.login-logo.data-v-f984cc0a{display:none}@media screen and (min-width: 690px){.uni-content.data-v-f984cc0a{padding:0;max-width:300px;margin-left:calc(50% - 200px)}}.uni-content view.data-v-f984cc0a{box-sizing:border-box}.title.data-v-f984cc0a{display:flex;padding:18px 0;font-weight:800;flex-direction:column}.tip.data-v-f984cc0a{display:flex;color:#bdbdc0;font-size:11px;margin:6px 0}.uni-content.data-v-f984cc0a .uni-easyinput__content,.input-box.data-v-f984cc0a{height:44px;background-color:#f8f8f8!important;border-radius:0;font-size:14px;display:flex;flex:1}.link.data-v-f984cc0a{color:#04498c;cursor:pointer}.uni-content.data-v-f984cc0a .uni-forms-item__inner{padding-bottom:8px}.uni-btn.data-v-f984cc0a{text-align:center;height:40px;line-height:40px;margin:15px 0 10px;color:#fff!important;border-radius:5px;font-size:16px}.uni-body.uni_modules-uni-id-pages-pages-login-login-withoutpwd.data-v-f984cc0a{height:auto!important}@media screen and (min-width: 690px){.uni-content.data-v-f984cc0a{height:auto}}.forget.data-v-f984cc0a{font-size:12px;color:#8a8f8b}.link-box.data-v-f984cc0a{display:flex;flex-direction:row;justify-content:space-between;margin-top:20px}.link.data-v-f984cc0a{font-size:12px}
+.uni-content.data-v-6464e2fa{padding:0 60rpx}.login-logo.data-v-6464e2fa{display:none}@media screen and (min-width: 690px){.uni-content.data-v-6464e2fa{padding:0;max-width:300px;margin-left:calc(50% - 200px)}}.uni-content view.data-v-6464e2fa{box-sizing:border-box}.title.data-v-6464e2fa{display:flex;padding:18px 0;font-weight:800;flex-direction:column}.tip.data-v-6464e2fa{display:flex;color:#bdbdc0;font-size:11px;margin:6px 0}.uni-content.data-v-6464e2fa .uni-easyinput__content,.input-box.data-v-6464e2fa{height:44px;background-color:#f8f8f8!important;border-radius:0;font-size:14px;display:flex;flex:1}.link.data-v-6464e2fa{color:#04498c;cursor:pointer}.uni-content.data-v-6464e2fa .uni-forms-item__inner{padding-bottom:8px}.uni-btn.data-v-6464e2fa{text-align:center;height:40px;line-height:40px;margin:15px 0 10px;color:#fff!important;border-radius:5px;font-size:16px}.uni-body.uni_modules-uni-id-pages-pages-login-login-withoutpwd.data-v-6464e2fa{height:auto!important}@media screen and (min-width: 690px){.uni-content.data-v-6464e2fa{height:auto}}.forget.data-v-6464e2fa{font-size:12px;color:#8a8f8b}.link-box.data-v-6464e2fa{display:flex;flex-direction:row;justify-content:space-between;margin-top:20px}.link.data-v-6464e2fa{font-size:12px}