Files
smartDriveEEUniApp/pages/furniture_reception/furniture_reception.vue
2026-04-15 08:32:13 +08:00

72 lines
1.4 KiB
Vue

<template>
<view class="subpackage-host">
<component v-if="Impl" :is="Impl" />
<view v-else class="loading">
<text v-if="error">{{ error }}</text>
<text v-else>正在加载接待模块...</text>
</view>
</view>
</template>
<script>
export default {
data() {
return {
Impl: null,
error: ''
};
},
onLoad() {
this.loadImpl();
},
methods: {
loadSubPackagePagesSubpackage() {
return new Promise((resolve, reject) => {
if (!uni || !uni.loadSubPackage) {
resolve();
return;
}
uni.loadSubPackage({
name: 'pages-subpackage',
success: resolve,
fail: () => {
// 兼容部分平台参数名差异
uni.loadSubPackage({
root: 'pages-subpackage',
success: resolve,
fail: reject
});
}
});
});
},
async loadImpl() {
try {
await this.loadSubPackagePagesSubpackage();
const mod = await import('@/pages-subpackage/furniture_reception/furniture_reception-impl.vue');
this.Impl = mod && (mod.default || mod);
} catch (e) {
console.error('[FurnitureReceptionHost] loadImpl failed:', e);
this.error = '接待模块加载失败,请重试';
}
}
}
};
</script>
<style>
.subpackage-host {
min-height: 100vh;
background-color: #F5F5F5;
}
.loading {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
color: #666;
font-size: 28rpx;
}
</style>