微信小程序发布试用版本

This commit is contained in:
zhonghua1
2026-01-31 21:10:40 +08:00
parent 4ebeec45bc
commit 80d6d46182
338 changed files with 5767 additions and 6091 deletions

View File

@@ -11,6 +11,11 @@ const _sfc_main = {
data() {
return {
activeTab: "status",
// 导航栏位置相关
navbarTop: "88rpx",
// 默认值会在onLoad/onShow时动态计算
contentTop: "160rpx",
// 默认值会在onLoad/onShow时动态计算
receptionForm: {
id: "",
customerName: "",
@@ -60,10 +65,128 @@ const _sfc_main = {
showTagActionMenu: false
};
},
computed: {
// 计算导航栏和内容区域的位置(使用计算属性确保响应式)
computedNavbarTop() {
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:334", "[FurnitureReception][computedNavbarTop] 计算导航栏位置");
const systemInfo = common_vendor.index.getSystemInfoSync();
const statusBarHeight = systemInfo.statusBarHeight || 20;
const navbarHeight = 44;
const statusBarHeightRpx = statusBarHeight * 2;
const navbarHeightRpx = navbarHeight * 2;
const totalNavbarHeight = statusBarHeightRpx + navbarHeightRpx;
const result = totalNavbarHeight + "rpx";
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:342", "[FurnitureReception][computedNavbarTop] 计算结果:", {
statusBarHeight,
navbarHeight,
totalNavbarHeight,
result
});
return result;
},
computedContentTop() {
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:351", "[FurnitureReception][computedContentTop] 计算内容区域位置");
const systemInfo = common_vendor.index.getSystemInfoSync();
const statusBarHeight = systemInfo.statusBarHeight || 20;
const navbarHeight = 44;
const statusBarHeightRpx = statusBarHeight * 2;
const navbarHeightRpx = navbarHeight * 2;
const totalNavbarHeight = statusBarHeightRpx + navbarHeightRpx;
const result = totalNavbarHeight + 72 + "rpx";
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:359", "[FurnitureReception][computedContentTop] 计算结果:", {
statusBarHeight,
navbarHeight,
totalNavbarHeight,
result
});
return result;
}
},
onLoad() {
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:369", "[FurnitureReception][onLoad] 页面加载");
this.updateNavbarPosition();
this.loadCurrentUserInfo();
},
onShow() {
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:376", "[FurnitureReception][onShow] 页面显示");
this.$nextTick(() => {
this.updateNavbarPosition();
setTimeout(() => {
this.updateNavbarPosition();
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:384", "[FurnitureReception][onShow] 延迟更新后的位置:", {
navbarTop: this.navbarTop,
contentTop: this.contentTop,
computedNavbarTop: this.computedNavbarTop,
computedContentTop: this.computedContentTop
});
}, 50);
});
},
onReady() {
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:395", "[FurnitureReception][onReady] 页面渲染完成");
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:396", "[FurnitureReception][onReady] activeTab:", this.activeTab);
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:397", "[FurnitureReception][onReady] navbarTop:", this.navbarTop);
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:398", "[FurnitureReception][onReady] contentTop:", this.contentTop);
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:399", "[FurnitureReception][onReady] computedNavbarTop:", this.computedNavbarTop);
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:400", "[FurnitureReception][onReady] computedContentTop:", this.computedContentTop);
this.updateNavbarPosition();
const systemInfo = common_vendor.index.getSystemInfoSync();
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:406", "[FurnitureReception][onReady] 系统信息:", {
statusBarHeight: systemInfo.statusBarHeight,
windowHeight: systemInfo.windowHeight,
screenHeight: systemInfo.screenHeight
});
setTimeout(() => {
const query = common_vendor.index.createSelectorQuery().in(this);
query.select(".tabs").boundingClientRect((data) => {
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:417", "[FurnitureReception][onReady] tab栏元素信息:", data);
if (!data) {
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:419", "[FurnitureReception][onReady] tab栏元素未找到");
} else {
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:421", "[FurnitureReception][onReady] tab栏位置:", {
top: data.top,
left: data.left,
width: data.width,
height: data.height,
expectedTop: this.navbarTop,
computedNavbarTop: this.computedNavbarTop,
isVisible: data.width > 0 && data.height > 0,
isOnScreen: data.top >= 0 && data.top < systemInfo.windowHeight
});
if (data.width === 0 || data.height === 0 || data.top < 0) {
common_vendor.index.__f__("warn", "at pages/furniture_reception/furniture_reception.vue:434", "[FurnitureReception][onReady] tab栏不可见强制更新位置");
this.updateNavbarPosition();
this.$forceUpdate();
}
}
}).exec();
}, 100);
},
methods: {
// 计算并更新导航栏和内容区域的位置
updateNavbarPosition() {
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:446", "[FurnitureReception][updateNavbarPosition] 开始更新导航栏位置");
const systemInfo = common_vendor.index.getSystemInfoSync();
const statusBarHeight = systemInfo.statusBarHeight || 20;
const navbarHeight = 44;
const statusBarHeightRpx = statusBarHeight * 2;
const navbarHeightRpx = navbarHeight * 2;
const totalNavbarHeight = statusBarHeightRpx + navbarHeightRpx;
const navbarTop = totalNavbarHeight + "rpx";
const contentTop = totalNavbarHeight + 72 + "rpx";
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:458", "[FurnitureReception][updateNavbarPosition] 更新导航栏位置:", {
statusBarHeight,
navbarHeight,
totalNavbarHeight,
navbarTop,
contentTop,
currentNavbarTop: this.navbarTop,
currentContentTop: this.contentTop
});
this.$set(this, "navbarTop", navbarTop);
this.$set(this, "contentTop", contentTop);
this.$forceUpdate();
},
/**
* 加载当前登录用户信息,填充销售姓名和电话
*/
@@ -82,11 +205,20 @@ const _sfc_main = {
this.receptionForm.salesId = String(loginResponse.userId);
}
} catch (e) {
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:358", "加载当前登录用户信息失败:", e);
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:503", "加载当前登录用户信息失败:", e);
}
},
goBack() {
common_vendor.index.navigateBack();
const pages = getCurrentPages();
if (pages.length <= 1) {
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:512", "[FurnitureReception][goBack] 当前是第一个页面,无法返回");
return;
}
common_vendor.index.navigateBack({
fail: (err) => {
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:517", "[FurnitureReception][goBack] 返回失败:", err);
}
});
},
switchTab(tab) {
this.activeTab = tab;
@@ -131,11 +263,11 @@ const _sfc_main = {
}
this.resetReceptionForm();
if (action === "start") {
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:416", "开始接待成功", data);
common_vendor.index.__f__("log", "at pages/furniture_reception/furniture_reception.vue:574", "开始接待成功", data);
}
},
onReceptionSaveError({ action, error }) {
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:421", "保存失败:", error);
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:579", "保存失败:", error);
},
// 标签管理相关方法
onTagListSearch() {
@@ -183,7 +315,7 @@ const _sfc_main = {
tenantId = common_vendor.index.getStorageSync("backend-tenant-id") || "";
token = common_vendor.index.getStorageSync("backend-token") || "";
} catch (e) {
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:470", "获取认证信息失败:", e);
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:628", "获取认证信息失败:", e);
}
const headers = {
"Content-Type": "application/json"
@@ -219,7 +351,7 @@ const _sfc_main = {
});
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:509", "获取标签列表失败:", error);
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:667", "获取标签列表失败:", error);
let errorMessage = "获取标签列表失败,请稍后重试";
if (error.errMsg) {
if (error.errMsg.includes("timeout")) {
@@ -305,7 +437,7 @@ const _sfc_main = {
tenantId = common_vendor.index.getStorageSync("backend-tenant-id") || "";
token = common_vendor.index.getStorageSync("backend-token") || "";
} catch (e) {
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:603", "获取认证信息失败:", e);
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:761", "获取认证信息失败:", e);
}
const headers = {};
if (token) {
@@ -337,7 +469,7 @@ const _sfc_main = {
}
} catch (error) {
common_vendor.index.hideLoading();
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:640", "删除标签失败:", error);
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:798", "删除标签失败:", error);
let errorMessage = "删除失败,请重试";
if (error.errMsg) {
if (error.errMsg.includes("timeout")) {
@@ -414,7 +546,7 @@ const _sfc_main = {
tenantId = common_vendor.index.getStorageSync("backend-tenant-id") || "";
token = common_vendor.index.getStorageSync("backend-token") || "";
} catch (e) {
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:729", "获取认证信息失败:", e);
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:887", "获取认证信息失败:", e);
}
const headers = {
"Content-Type": "application/json"
@@ -446,7 +578,7 @@ const _sfc_main = {
throw new Error((data == null ? void 0 : data.message) || (this.tagViewMode === "edit" ? "更新失败" : "保存失败"));
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:765", "保存标签失败:", error);
common_vendor.index.__f__("error", "at pages/furniture_reception/furniture_reception.vue:923", "保存标签失败:", error);
let errorMessage = (error == null ? void 0 : error.message) || (this.tagViewMode === "edit" ? "更新失败,请重试" : "保存失败,请重试");
if (error.errMsg) {
if (error.errMsg.includes("timeout")) {
@@ -496,39 +628,42 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
f: common_vendor.o(($event) => $options.switchTab("reception")),
g: $data.activeTab === "tag" ? 1 : "",
h: common_vendor.o(($event) => $options.switchTab("tag")),
i: $data.activeTab === "status"
}, $data.activeTab === "status" ? {} : {}, {
j: $data.activeTab === "reception"
i: $options.computedNavbarTop || $data.navbarTop,
j: $data.activeTab === "status"
}, $data.activeTab === "status" ? {
k: $options.computedContentTop || $data.contentTop
} : {}, {
l: $data.activeTab === "reception"
}, $data.activeTab === "reception" ? {
k: common_vendor.o($options.onReceptionCancel),
l: common_vendor.o($options.onReceptionSaveSuccess),
m: common_vendor.o($options.onReceptionSaveError),
n: common_vendor.p({
m: common_vendor.o($options.onReceptionCancel),
n: common_vendor.o($options.onReceptionSaveSuccess),
o: common_vendor.o($options.onReceptionSaveError),
p: common_vendor.p({
["initial-data"]: $data.receptionForm
})
} : {}, {
o: $data.activeTab === "tag" && $data.tagViewMode === "list"
q: $data.activeTab === "tag" && $data.tagViewMode === "list"
}, $data.activeTab === "tag" && $data.tagViewMode === "list" ? common_vendor.e({
p: common_vendor.t($data.tagTotal),
q: common_vendor.o((...args) => $options.onTagListSearch && $options.onTagListSearch(...args)),
r: $data.tagQuery.tagType,
s: common_vendor.o(($event) => $data.tagQuery.tagType = $event.detail.value),
t: common_vendor.o((...args) => $options.onTagListSearch && $options.onTagListSearch(...args)),
v: $data.tagQuery.tagName,
w: common_vendor.o(($event) => $data.tagQuery.tagName = $event.detail.value),
x: common_vendor.p({
r: common_vendor.t($data.tagTotal),
s: common_vendor.o((...args) => $options.onTagListSearch && $options.onTagListSearch(...args)),
t: $data.tagQuery.tagType,
v: common_vendor.o(($event) => $data.tagQuery.tagType = $event.detail.value),
w: common_vendor.o((...args) => $options.onTagListSearch && $options.onTagListSearch(...args)),
x: $data.tagQuery.tagName,
y: common_vendor.o(($event) => $data.tagQuery.tagName = $event.detail.value),
z: common_vendor.p({
type: "refresh",
size: "18",
color: "#2A68FF"
}),
y: common_vendor.o((...args) => $options.onTagListRefresh && $options.onTagListRefresh(...args)),
z: common_vendor.p({
A: common_vendor.o((...args) => $options.onTagListRefresh && $options.onTagListRefresh(...args)),
B: common_vendor.p({
type: "plus",
size: "18",
color: "#2A68FF"
}),
A: common_vendor.o((...args) => $options.showAddTag && $options.showAddTag(...args)),
B: common_vendor.f($data.tagList, (item, index, i0) => {
C: common_vendor.o((...args) => $options.showAddTag && $options.showAddTag(...args)),
D: common_vendor.f($data.tagList, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t((item.tagName || item.name || "标").charAt(0)),
b: common_vendor.t(item.tagName || item.name || "未命名标签"),
@@ -563,39 +698,40 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
t: $data.selectedTagItem && $data.selectedTagItem.id === item.id ? 1 : ""
});
}),
C: common_vendor.p({
E: common_vendor.p({
type: "more-filled",
size: "20",
color: "#999"
}),
D: $data.showTagActionMenu
F: $data.showTagActionMenu
}, $data.showTagActionMenu ? {
E: common_vendor.o((...args) => $options.closeTagActionMenu && $options.closeTagActionMenu(...args))
G: common_vendor.o((...args) => $options.closeTagActionMenu && $options.closeTagActionMenu(...args))
} : {}, {
F: !$data.tagLoading && !$data.tagList.length
H: !$data.tagLoading && !$data.tagList.length
}, !$data.tagLoading && !$data.tagList.length ? {} : {}, {
G: $data.tagLoading && $data.tagList.length
I: $data.tagLoading && $data.tagList.length
}, $data.tagLoading && $data.tagList.length ? {} : {}, {
H: common_vendor.o((...args) => $options.onTagListReachBottom && $options.onTagListReachBottom(...args))
J: $options.computedContentTop || $data.contentTop,
K: common_vendor.o((...args) => $options.onTagListReachBottom && $options.onTagListReachBottom(...args))
}) : {}, {
I: $data.activeTab === "tag" && ($data.tagViewMode === "add" || $data.tagViewMode === "edit")
L: $data.activeTab === "tag" && ($data.tagViewMode === "add" || $data.tagViewMode === "edit")
}, $data.activeTab === "tag" && ($data.tagViewMode === "add" || $data.tagViewMode === "edit") ? common_vendor.e({
J: $data.tagViewMode === "add"
M: $data.tagViewMode === "add"
}, $data.tagViewMode === "add" ? {
K: $data.tagForm.industry,
L: common_vendor.o(($event) => $data.tagForm.industry = $event.detail.value)
N: $data.tagForm.industry,
O: common_vendor.o(($event) => $data.tagForm.industry = $event.detail.value)
} : {}, {
M: common_vendor.t($data.tagForm.tagType || "请选择标签分类"),
N: common_vendor.n($data.tagForm.tagType ? "form-item__picker-text" : "form-item__picker-placeholder"),
O: common_vendor.p({
P: common_vendor.t($data.tagForm.tagType || "请选择标签分类"),
Q: common_vendor.n($data.tagForm.tagType ? "form-item__picker-text" : "form-item__picker-placeholder"),
R: common_vendor.p({
type: "bottom",
size: "16",
color: "#9ca3af"
}),
P: common_vendor.o((...args) => $options.toggleTagTypeDropdown && $options.toggleTagTypeDropdown(...args)),
Q: $data.showTagTypeDropdown
S: common_vendor.o((...args) => $options.toggleTagTypeDropdown && $options.toggleTagTypeDropdown(...args)),
T: $data.showTagTypeDropdown
}, $data.showTagTypeDropdown ? {
R: common_vendor.f($data.tagTypeOptions, (option, k0, i0) => {
U: common_vendor.f($data.tagTypeOptions, (option, k0, i0) => {
return {
a: common_vendor.t(option),
b: option === $data.tagForm.tagType ? 1 : "",
@@ -603,24 +739,26 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
d: common_vendor.o(($event) => $options.selectTagType(option), option)
};
}),
S: common_vendor.o(() => {
V: common_vendor.o(() => {
})
} : {}, {
T: $data.tagForm.name,
U: common_vendor.o(($event) => $data.tagForm.name = $event.detail.value),
V: $data.tagForm.detail,
W: common_vendor.o(($event) => $data.tagForm.detail = $event.detail.value),
X: $data.tagForm.remark,
Y: common_vendor.o(($event) => $data.tagForm.remark = $event.detail.value),
Z: $data.tagForm.enabled,
aa: common_vendor.o((...args) => $options.onEnabledChange && $options.onEnabledChange(...args)),
ab: common_vendor.o((...args) => $options.cancelAddTag && $options.cancelAddTag(...args)),
ac: common_vendor.t($data.tagViewMode === "edit" ? "更新" : "保存"),
ad: common_vendor.o((...args) => $options.saveTag && $options.saveTag(...args)),
ae: $data.showTagTypeDropdown
W: $data.tagForm.name,
X: common_vendor.o(($event) => $data.tagForm.name = $event.detail.value),
Y: $data.tagForm.detail,
Z: common_vendor.o(($event) => $data.tagForm.detail = $event.detail.value),
aa: $data.tagForm.remark,
ab: common_vendor.o(($event) => $data.tagForm.remark = $event.detail.value),
ac: $data.tagForm.enabled,
ad: common_vendor.o((...args) => $options.onEnabledChange && $options.onEnabledChange(...args)),
ae: common_vendor.o((...args) => $options.cancelAddTag && $options.cancelAddTag(...args)),
af: common_vendor.t($data.tagViewMode === "edit" ? "更新" : "保存"),
ag: common_vendor.o((...args) => $options.saveTag && $options.saveTag(...args)),
ah: $data.showTagTypeDropdown
}, $data.showTagTypeDropdown ? {
af: common_vendor.o((...args) => $options.closeTagTypeDropdown && $options.closeTagTypeDropdown(...args))
} : {}) : {});
ai: common_vendor.o((...args) => $options.closeTagTypeDropdown && $options.closeTagTypeDropdown(...args))
} : {}, {
aj: $options.computedContentTop || $data.contentTop
}) : {});
}
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createPage(MiniProgramPage);

File diff suppressed because one or more lines are too long

View File

@@ -28,20 +28,26 @@ page {
border-bottom: none !important;
}
/* 标签页 - 使用绝对定位紧贴导航栏,消除红色空白区域 */
/* 标签页 - 使用固定定位,确保显示在导航栏下方 */
.tabs {
display: flex;
display: flex !important; /* 强制显示 */
visibility: visible !important; /* 强制可见 */
opacity: 1 !important; /* 强制不透明 */
background-color: #FFFFFF;
border-bottom: 1px solid #E0E0E0;
padding: 0 16rpx;
margin-top: 0;
position: absolute;
top: 88rpx;
position: fixed; /* 改为fixed定位确保始终可见 */
/* 导航栏高度statusBar + navbar动态计算 */
/* 使用内联样式动态设置top值 */
left: 0;
right: 0;
z-index: 10; /* 确保标签页在最上层 */
z-index: 999; /* 提高z-index确保在最上层 */
height: 72rpx; /* 明确设置标签页高度 */
box-sizing: border-box;
align-items: center;
/* 确保tab栏始终可见 */
will-change: top; /* 优化渲染性能 */
}
.tab-item {
padding: 24rpx 32rpx;
@@ -68,9 +74,9 @@ page {
/* 服务状态列表容器 */
.service-status-container {
/* 使用绝对定位从tab页底部开始高度计算100vh - 导航栏(88rpx) - tab页(72rpx) - 底部导航栏(96rpx) */
/* 使用绝对定位从tab页底部开始高度计算100vh - 导航栏 - tab页 - 底部导航栏(96rpx) */
position: absolute;
top: 160rpx; /* 导航栏(88rpx) + tab页(72rpx) = 160rpx */
/* top值通过内联样式动态设置 */
left: 0;
right: 0;
bottom: 96rpx; /* 底部导航栏高度 */
@@ -78,9 +84,9 @@ page {
/* 标签管理列表区:使用绝对定位,与服务状态列表保持一致 */
.tag-list {
/* 使用绝对定位从tab页底部开始高度计算100vh - 导航栏(88rpx) - tab页(72rpx) - 底部导航栏(96rpx) */
/* 使用绝对定位从tab页底部开始高度计算100vh - 导航栏 - tab页 - 底部导航栏(96rpx) */
position: absolute;
top: 160rpx; /* 导航栏(88rpx) + tab页(72rpx) = 160rpx */
/* top值通过内联样式动态设置 */
left: 0;
right: 0;
bottom: 96rpx; /* 底部导航栏高度 */
@@ -262,9 +268,9 @@ page {
/* 标签管理样式 - 添加表单 */
.tag-management {
/* 使用绝对定位从tab页底部开始高度计算100vh - 导航栏(88rpx) - tab页(72rpx) - 底部导航栏(96rpx) */
/* 使用绝对定位从tab页底部开始高度计算100vh - 导航栏 - tab页 - 底部导航栏(96rpx) */
position: absolute;
top: 160rpx; /* 导航栏(88rpx) + tab页(72rpx) = 160rpx */
/* top值通过内联样式动态设置 */
left: 0;
right: 0;
bottom: 96rpx; /* 底部导航栏高度 */