解决问题接待中有空白区域
This commit is contained in:
@@ -22,6 +22,11 @@
|
||||
<text class="function-name">服务中</text>
|
||||
<text class="function-desc"></text>
|
||||
</view>
|
||||
<view class="function-item" @click="quickJumpReceptionInProgress">
|
||||
<view class="function-icon">⏳</view>
|
||||
<text class="function-name">接待中</text>
|
||||
<text class="function-desc"></text>
|
||||
</view>
|
||||
<view class="function-item" @click="quickJumpReceptionTab('tag')">
|
||||
<view class="function-icon">🏷️</view>
|
||||
<text class="function-name">标签管理</text>
|
||||
@@ -211,6 +216,18 @@ export default {
|
||||
},
|
||||
});
|
||||
},
|
||||
quickJumpReceptionInProgress() {
|
||||
uni.navigateTo({
|
||||
url: '/pages-subpackage/furniture_reception/reception_in_progress',
|
||||
fail: (err) => {
|
||||
console.error('[AiAnalysisDashboardBody] 快捷跳转接待中页失败:', err);
|
||||
uni.showToast({
|
||||
title: '跳转失败,请稍后重试',
|
||||
icon: 'none',
|
||||
});
|
||||
},
|
||||
});
|
||||
},
|
||||
quickJumpCustomerTab(tabKey) {
|
||||
const allowedTabs = ['service', 'customer'];
|
||||
if (!allowedTabs.includes(tabKey)) {
|
||||
|
||||
347
pages-subpackage/furniture_reception/reception_in_progress.vue
Normal file
347
pages-subpackage/furniture_reception/reception_in_progress.vue
Normal file
@@ -0,0 +1,347 @@
|
||||
<template>
|
||||
<view class="page">
|
||||
<!-- #ifdef APP -->
|
||||
<statusBar></statusBar>
|
||||
<!-- #endif -->
|
||||
<uni-nav-bar
|
||||
:fixed="true"
|
||||
:statusBar="true"
|
||||
:border="false"
|
||||
title="接待中"
|
||||
leftIcon="left"
|
||||
@clickLeft="goBack"
|
||||
color="#333"
|
||||
backgroundColor="#FFFFFF"
|
||||
/>
|
||||
<view class="content">
|
||||
<view class="tabs" :style="{ top: computedNavbarTop || navbarTop }">
|
||||
<view
|
||||
class="tab-item"
|
||||
:class="{ active: activeTab === 'reception' }"
|
||||
@click="switchTab('reception')">
|
||||
<text>开始接待</text>
|
||||
</view>
|
||||
<view
|
||||
class="tab-item"
|
||||
:class="{ active: activeTab === 'status' }"
|
||||
@click="switchTab('status')">
|
||||
<text>接待中</text>
|
||||
</view>
|
||||
</view>
|
||||
<common-begin-reception
|
||||
v-if="activeTab === 'reception'"
|
||||
class="reception-form-container"
|
||||
:style="{ top: computedContentTop || contentTop }"
|
||||
:initial-data="receptionForm"
|
||||
@cancel="onReceptionCancel"
|
||||
@save-success="onReceptionSaveSuccess"
|
||||
@save-error="onReceptionSaveError"
|
||||
/>
|
||||
<service-list-furniture
|
||||
v-if="activeTab === 'status'"
|
||||
ref="serviceListRef"
|
||||
class="service-status-container"
|
||||
:style="{ top: computedContentTop || contentTop }"
|
||||
record-state-label="接待中"
|
||||
empty-list-hint="暂无接待中记录"
|
||||
:show-reception-entry-shortcut="true"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// #ifdef APP
|
||||
import statusBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar';
|
||||
// #endif
|
||||
import CommonBeginReception from './common_begin_reception.vue';
|
||||
import ServiceListFurniture from './serviceListFurniture.vue';
|
||||
|
||||
export default {
|
||||
name: '接待中',
|
||||
// #ifdef APP
|
||||
components: {
|
||||
statusBar,
|
||||
CommonBeginReception,
|
||||
ServiceListFurniture,
|
||||
},
|
||||
// #endif
|
||||
// #ifndef APP
|
||||
components: {
|
||||
CommonBeginReception,
|
||||
ServiceListFurniture,
|
||||
},
|
||||
// #endif
|
||||
data() {
|
||||
return {
|
||||
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,
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
computedNavbarTop() {
|
||||
const systemInfo = uni.getSystemInfoSync();
|
||||
const statusBarHeight = systemInfo.statusBarHeight || 20;
|
||||
const navbarHeight = 44;
|
||||
const windowWidth = systemInfo.windowWidth || systemInfo.screenWidth || 375;
|
||||
const pxToRpx = 750 / windowWidth;
|
||||
const totalNavbarHeightRpx = (statusBarHeight + navbarHeight) * pxToRpx;
|
||||
return totalNavbarHeightRpx + 'rpx';
|
||||
},
|
||||
computedContentTop() {
|
||||
const systemInfo = uni.getSystemInfoSync();
|
||||
const statusBarHeight = systemInfo.statusBarHeight || 20;
|
||||
const navbarHeight = 44;
|
||||
const windowWidth = systemInfo.windowWidth || systemInfo.screenWidth || 375;
|
||||
const pxToRpx = 750 / windowWidth;
|
||||
const totalNavbarHeightRpx = (statusBarHeight + navbarHeight) * pxToRpx;
|
||||
return totalNavbarHeightRpx + 72 + 'rpx';
|
||||
},
|
||||
},
|
||||
onLoad() {
|
||||
this.updateNavbarPosition();
|
||||
this.loadCurrentUserInfo();
|
||||
},
|
||||
onShow() {
|
||||
this.$nextTick(() => {
|
||||
this.updateNavbarPosition();
|
||||
setTimeout(() => this.updateNavbarPosition(), 50);
|
||||
if (this.activeTab === 'status') {
|
||||
this.$nextTick(() => {
|
||||
const list = this.$refs.serviceListRef;
|
||||
if (list && typeof list.onServiceStatusRefresh === 'function') {
|
||||
list.onServiceStatusRefresh();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
updateNavbarPosition() {
|
||||
const systemInfo = uni.getSystemInfoSync();
|
||||
const statusBarHeight = systemInfo.statusBarHeight || 20;
|
||||
const navbarHeight = 44;
|
||||
const statusBarHeightRpx = statusBarHeight * 2;
|
||||
const navbarHeightRpx = navbarHeight * 2;
|
||||
const totalNavbarHeight = statusBarHeightRpx + navbarHeightRpx;
|
||||
this.$set(this, 'navbarTop', totalNavbarHeight + 'rpx');
|
||||
this.$set(this, 'contentTop', totalNavbarHeight + 72 + 'rpx');
|
||||
// #ifdef MP-WEIXIN
|
||||
this.$forceUpdate();
|
||||
// #endif
|
||||
},
|
||||
loadCurrentUserInfo() {
|
||||
try {
|
||||
const loginResponse = uni.getStorageSync('backend-login-response') || {};
|
||||
if (loginResponse.userName) {
|
||||
this.receptionForm.salesName = loginResponse.userName;
|
||||
}
|
||||
if (loginResponse.phone) {
|
||||
this.receptionForm.salesPhone = loginResponse.phone;
|
||||
} else if (loginResponse.userName) {
|
||||
this.receptionForm.salesPhone = loginResponse.userName;
|
||||
}
|
||||
if (loginResponse.userId) {
|
||||
this.receptionForm.salesId = String(loginResponse.userId);
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('[ReceptionInProgress] 加载当前登录用户信息失败:', e);
|
||||
}
|
||||
},
|
||||
goBack() {
|
||||
const pages = getCurrentPages();
|
||||
if (pages.length <= 1) {
|
||||
uni.switchTab({
|
||||
url: '/pages/workbench/workbench',
|
||||
fail: (err) => {
|
||||
console.error('[ReceptionInProgress] 切回工作台失败:', err);
|
||||
},
|
||||
});
|
||||
return;
|
||||
}
|
||||
uni.navigateBack({
|
||||
fail: (err) => {
|
||||
console.error('[ReceptionInProgress] 返回失败:', err);
|
||||
},
|
||||
});
|
||||
},
|
||||
switchTab(tab) {
|
||||
if (tab !== 'reception' && tab !== 'status') {
|
||||
return;
|
||||
}
|
||||
this.activeTab = tab;
|
||||
if (tab === 'reception') {
|
||||
this.resetReceptionForm();
|
||||
}
|
||||
},
|
||||
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, data }) {
|
||||
if (data) {
|
||||
this.receptionForm = { ...this.receptionForm, ...data };
|
||||
}
|
||||
this.resetReceptionForm();
|
||||
if (action === 'start') {
|
||||
this.activeTab = 'status';
|
||||
this.$nextTick(() => {
|
||||
const list = this.$refs.serviceListRef;
|
||||
if (list && typeof list.onServiceStatusRefresh === 'function') {
|
||||
list.onServiceStatusRefresh();
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
onReceptionSaveError({ action, error }) {
|
||||
console.error('[ReceptionInProgress] 保存失败:', action, error);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
page {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.page {
|
||||
/* #ifndef MP-WEIXIN */
|
||||
min-height: 100vh;
|
||||
/* #endif */
|
||||
/* #ifdef MP-WEIXIN */
|
||||
height: 100vh !important;
|
||||
min-height: 100vh !important;
|
||||
/* #endif */
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding-top: 0;
|
||||
margin-top: 0;
|
||||
position: relative;
|
||||
/* #ifndef MP-WEIXIN */
|
||||
min-height: 100vh;
|
||||
/* #endif */
|
||||
/* #ifdef MP-WEIXIN */
|
||||
height: 100vh !important;
|
||||
min-height: 100vh !important;
|
||||
max-height: 100vh !important;
|
||||
/* #endif */
|
||||
}
|
||||
|
||||
::v-deep .uni-navbar__placeholder {
|
||||
display: none !important;
|
||||
height: 0 !important;
|
||||
}
|
||||
|
||||
::v-deep .uni-navbar__placeholder-view {
|
||||
display: none !important;
|
||||
height: 0 !important;
|
||||
}
|
||||
|
||||
::v-deep .uni-navbar--border {
|
||||
border-bottom: none !important;
|
||||
}
|
||||
|
||||
.tabs {
|
||||
display: flex !important;
|
||||
visibility: visible !important;
|
||||
opacity: 1 !important;
|
||||
background-color: #ffffff;
|
||||
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,
|
||||
.reception-form-container {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
/* #ifdef MP-WEIXIN */
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-height: 0;
|
||||
bottom: 0 !important;
|
||||
/* #endif */
|
||||
/* #ifndef MP-WEIXIN */
|
||||
bottom: 96rpx;
|
||||
/* #endif */
|
||||
}
|
||||
</style>
|
||||
@@ -29,6 +29,14 @@
|
||||
@confirm="onServiceStatusSearch"
|
||||
/>
|
||||
<view class="toolbar-actions">
|
||||
<view
|
||||
v-if="showReceptionEntryShortcut"
|
||||
class="toolbar-btn toolbar-btn--reception"
|
||||
@click="goReceptionEntry"
|
||||
>
|
||||
<uni-icons type="home" size="18" color="#2A68FF"></uni-icons>
|
||||
<text>接待</text>
|
||||
</view>
|
||||
<view class="toolbar-btn toolbar-btn--refresh" @click="onServiceStatusRefresh">
|
||||
<uni-icons type="refresh" size="18" color="#2A68FF"></uni-icons>
|
||||
<text>刷新</text>
|
||||
@@ -79,7 +87,7 @@
|
||||
<text>结束</text>
|
||||
</view>
|
||||
<uni-icons type="bars" size="16" color="#007AFF"></uni-icons>
|
||||
<text>服务中</text>
|
||||
<text>{{ recordStateLabel }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -125,7 +133,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="service-status-empty" v-if="!serviceStatusLoading && !serviceStatusList.length">
|
||||
<text>暂无服务中记录</text>
|
||||
<text>{{ emptyListHint }}</text>
|
||||
</view>
|
||||
<view class="service-status-loading-more" v-if="serviceStatusLoading && serviceStatusList.length">
|
||||
<text>正在加载更多...</text>
|
||||
@@ -208,6 +216,22 @@ function firstNonEmptyString(...parts) {
|
||||
}
|
||||
|
||||
export default {
|
||||
props: {
|
||||
/** 卡片右侧状态文案,默认与接待页「服务中」Tab 一致 */
|
||||
recordStateLabel: {
|
||||
type: String,
|
||||
default: '服务中',
|
||||
},
|
||||
emptyListHint: {
|
||||
type: String,
|
||||
default: '暂无服务中记录',
|
||||
},
|
||||
/** 是否在工具栏显示进入完整「接待」页的快捷入口 */
|
||||
showReceptionEntryShortcut: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
serviceStatusLoading: false,
|
||||
@@ -394,6 +418,15 @@ export default {
|
||||
this.serviceStatusPage.current = 1;
|
||||
this.fetchServiceStatusList({ force: true });
|
||||
},
|
||||
goReceptionEntry() {
|
||||
const url = '/pages-subpackage/furniture_reception/furniture_reception_entry?tab=reception';
|
||||
uni.navigateTo({
|
||||
url,
|
||||
fail: () => {
|
||||
uni.showToast({ title: '跳转接待失败', icon: 'none' });
|
||||
},
|
||||
});
|
||||
},
|
||||
onServiceStatusReachBottom() {
|
||||
// 已在加载中或全部加载完成则不再触发
|
||||
if (this.serviceStatusLoading) return;
|
||||
|
||||
@@ -259,6 +259,12 @@
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "furniture_reception/reception_in_progress",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "bluetooth-recorder/bluetooth-recorder",
|
||||
"style": {
|
||||
|
||||
@@ -17,7 +17,11 @@
|
||||
<text class="function-name">服务中</text>
|
||||
<text class="function-desc"></text>
|
||||
</view>
|
||||
|
||||
<view class="function-item" @click="openReceptionInProgress">
|
||||
<view class="function-icon">⏳</view>
|
||||
<text class="function-name">接待中</text>
|
||||
<text class="function-desc"></text>
|
||||
</view>
|
||||
<view class="function-item" @click="openReceptionTab('tag')">
|
||||
<view class="function-icon">🗂️</view>
|
||||
<text class="function-name">标签管理</text>
|
||||
@@ -76,6 +80,15 @@ export default {
|
||||
},
|
||||
});
|
||||
},
|
||||
/** 独立「接待中」列表页(与接待页内「服务中」列表同源逻辑) */
|
||||
openReceptionInProgress() {
|
||||
uni.navigateTo({
|
||||
url: '/pages-subpackage/furniture_reception/reception_in_progress',
|
||||
fail: () => {
|
||||
uni.showToast({ title: '跳转接待中失败', icon: 'none' });
|
||||
},
|
||||
});
|
||||
},
|
||||
openCustomerTab(tab) {
|
||||
const url = `/pages-subpackage/furniture_customer/furniture_customer?tab=${tab}`;
|
||||
uni.navigateTo({ url });
|
||||
|
||||
1
unpackage/dist/build/mp-weixin/app.json
vendored
1
unpackage/dist/build/mp-weixin/app.json
vendored
@@ -47,6 +47,7 @@
|
||||
"workspace/scene-detail",
|
||||
"furniture_customer/furniture_customer",
|
||||
"furniture_reception/furniture_reception_entry",
|
||||
"furniture_reception/reception_in_progress",
|
||||
"bluetooth-recorder/bluetooth-recorder",
|
||||
"uni-agree/uni-agree",
|
||||
"ucenter/settings/settings",
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +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);
|
||||
"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"})}})}},quickJumpReceptionInProgress(){e.index.navigateTo({url:"/pages-subpackage/furniture_reception/reception_in_progress",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")),"80"),b:e.o((e=>r.quickJumpReceptionTab("status")),"3c"),c:e.o(((...e)=>r.quickJumpReceptionInProgress&&r.quickJumpReceptionInProgress(...e)),"e2"),d:e.o((e=>r.quickJumpReceptionTab("tag")),"e5"),e:e.o((e=>r.quickJumpCustomerTab("customer")),"95"),f:e.o((e=>r.quickJumpCustomerTab("service")),"0e"),g:e.o((e=>r.navigateToPage("recording_duration")),"ff"),h:e.o((e=>r.navigateToPage("customer_count")),"79"),i:e.o(((...e)=>r.showQualityCoveragePopup&&r.showQualityCoveragePopup(...e)),"2c"),j:e.o((e=>r.navigateToPage("speech_rating")),"6a"),k:e.o((e=>r.navigateToPage("intent_level")),"76"),l:e.o((e=>r.navigateToPage("deal_attribution")),"96"),m:e.o((e=>r.navigateToPage("opening_rate")),"94"),n:e.o((e=>r.navigateToPage("over_commitment")),"43"),o:e.o((e=>r.navigateToPage("red_line_touch")),"01"),p:r.scrollTop,q:r.scrollBottom,r:n.showQualityCoverage},n.showQualityCoverage?{s:e.o(r.onQualityCoveragePopupClose,"14"),t:e.p({"open-trigger":n.openQualityCoverageTrigger})}:{})}],["__scopeId","data-v-e2fd5293"]]);wx.createComponent(t);
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +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}
|
||||
.ai-dashboard-body.data-v-e2fd5293{position:relative;width:100%}.content.data-v-e2fd5293{padding-top:0!important;margin-top:0!important;position:relative;top:0;min-height:calc(100vh - 200rpx)}.content-scroll.data-v-e2fd5293{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-e2fd5293{margin-top:0;padding-top:0;margin-bottom:0;padding-bottom:0}.category-section.data-v-e2fd5293{margin:20rpx 30rpx;background:#fff;border-radius:16rpx;overflow:hidden;box-shadow:0 2rpx 8rpx rgba(0,0,0,.04)}.category-section.data-v-e2fd5293:first-child{margin-top:0}.category-section.data-v-e2fd5293:last-child{margin-bottom:0}.category-header.data-v-e2fd5293{display:flex;align-items:center;padding:30rpx;background:#fff;border-bottom:1rpx solid #f0f0f0}.category-icon.data-v-e2fd5293{font-size:32rpx;margin-right:20rpx}.category-title.data-v-e2fd5293{font-size:32rpx;font-weight:500;color:#333}.function-grid.data-v-e2fd5293{display:flex;flex-wrap:wrap;padding:10rpx}.quick-links-section .function-item.data-v-e2fd5293{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-e2fd5293{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-e2fd5293{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-e2fd5293{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-e2fd5293{flex-basis:100%;width:calc(50% - 10rpx);margin-top:10rpx}.function-item.data-v-e2fd5293:active{transform:scale(.95);box-shadow:0 1rpx 2rpx rgba(0,0,0,.1)}.function-icon.data-v-e2fd5293{font-size:48rpx;margin-bottom:12rpx}.function-name.data-v-e2fd5293{display:block;font-size:28rpx;font-weight:500;color:#333;margin-bottom:8rpx}.function-desc.data-v-e2fd5293{display:block;font-size:24rpx;color:#666;line-height:1.4}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/reception_in_progress.js
vendored
Normal file
1
unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/reception_in_progress.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";const e=require("../../common/vendor.js"),t={name:"接待中",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}}),computed:{computedNavbarTop(){const t=e.index.getSystemInfoSync();return((t.statusBarHeight||20)+44)*(750/(t.windowWidth||t.screenWidth||375))+"rpx"},computedContentTop(){const t=e.index.getSystemInfoSync();return((t.statusBarHeight||20)+44)*(750/(t.windowWidth||t.screenWidth||375))+72+"rpx"}},onLoad(){this.updateNavbarPosition(),this.loadCurrentUserInfo()},onShow(){this.$nextTick((()=>{this.updateNavbarPosition(),setTimeout((()=>this.updateNavbarPosition()),50),"status"===this.activeTab&&this.$nextTick((()=>{const e=this.$refs.serviceListRef;e&&"function"==typeof e.onServiceStatusRefresh&&e.onServiceStatusRefresh()}))}))},methods:{updateNavbarPosition(){const t=2*(e.index.getSystemInfoSync().statusBarHeight||20)+88;this.$set(this,"navbarTop",t+"rpx"),this.$set(this,"contentTop",t+72+"rpx"),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("[ReceptionInProgress] 加载当前登录用户信息失败:",t)}},goBack(){getCurrentPages().length<=1?e.index.switchTab({url:"/pages/workbench/workbench",fail:e=>{console.error("[ReceptionInProgress] 切回工作台失败:",e)}}):e.index.navigateBack({fail:e=>{console.error("[ReceptionInProgress] 返回失败:",e)}})},switchTab(e){"reception"!==e&&"status"!==e||(this.activeTab=e,"reception"===e&&this.resetReceptionForm())},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&&(this.activeTab="status",this.$nextTick((()=>{const e=this.$refs.serviceListRef;e&&"function"==typeof e.onServiceStatusRefresh&&e.onServiceStatusRefresh()})))},onReceptionSaveError({action:e,error:t}){console.error("[ReceptionInProgress] 保存失败:",e,t)}}};if(!Array){(e.resolveComponent("uni-nav-bar")+e.resolveComponent("common-begin-reception")+e.resolveComponent("service-list-furniture"))()}Math;const o=e._export_sfc(t,[["render",function(t,o,r,n,s,i){return e.e({a:e.o(i.goBack,"42"),b:e.p({fixed:!0,statusBar:!0,border:!1,title:"接待中",leftIcon:"left",color:"#333",backgroundColor:"#FFFFFF"}),c:"reception"===s.activeTab?1:"",d:e.o((e=>i.switchTab("reception")),"3d"),e:"status"===s.activeTab?1:"",f:e.o((e=>i.switchTab("status")),"30"),g:i.computedNavbarTop||s.navbarTop,h:"reception"===s.activeTab},"reception"===s.activeTab?{i:i.computedContentTop||s.contentTop,j:e.o(i.onReceptionCancel,"06"),k:e.o(i.onReceptionSaveSuccess,"f9"),l:e.o(i.onReceptionSaveError,"4b"),m:e.p({"initial-data":s.receptionForm})}:{},{n:"status"===s.activeTab},"status"===s.activeTab?{o:e.sr("serviceListRef","199fff57-2"),p:i.computedContentTop||s.contentTop,q:e.p({"record-state-label":"接待中","empty-list-hint":"暂无接待中记录","show-reception-entry-shortcut":!0})}:{})}]]);wx.createPage(o);
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"navigationStyle": "custom",
|
||||
"usingComponents": {
|
||||
"common-begin-reception": "./common_begin_reception",
|
||||
"service-list-furniture": "./serviceListFurniture",
|
||||
"uni-nav-bar": "../../uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<view class="page"><uni-nav-bar wx:if="{{b}}" bindclickLeft="{{a}}" u-i="199fff57-0" bind:__l="__l" u-p="{{b}}"/><view class="content"><view class="tabs" style="{{'top:' + g}}"><view class="{{['tab-item', c && 'active']}}" bindtap="{{d}}"><text>开始接待</text></view><view class="{{['tab-item', e && 'active']}}" bindtap="{{f}}"><text>接待中</text></view></view><common-begin-reception wx:if="{{h}}" class="reception-form-container" style="{{'top:' + i}}" bindcancel="{{j}}" bindsaveSuccess="{{k}}" bindsaveError="{{l}}" u-i="199fff57-1" bind:__l="__l" u-p="{{m}}"/><service-list-furniture wx:if="{{n}}" u-r="serviceListRef" class="service-status-container r" style="{{'top:' + p}}" u-i="199fff57-2" bind:__l="__l" u-p="{{q}}"/></view></view>
|
||||
@@ -0,0 +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,.reception-form-container{position:absolute;left:0;right:0;display:flex;flex-direction:column;min-height:0;bottom:0!important}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -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(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);
|
||||
"use strict";const e=require("../../../common/vendor.js"),o={name:"SalesScenarioNew",props:{contentTop:{type:String,default:"0rpx"},contentBottom:{type:String,default:"0rpx"}},methods:{openReceptionTab(o){if(!["status","reception","tag"].includes(o))return;const n=`/pages-subpackage/furniture_reception/furniture_reception_entry?tab=${encodeURIComponent(o)}`;e.index.navigateTo({url:n,fail:()=>{e.index.showToast({title:"跳转接待页失败",icon:"none"})}})},openReceptionInProgress(){e.index.navigateTo({url:"/pages-subpackage/furniture_reception/reception_in_progress",fail:()=>{e.index.showToast({title:"跳转接待中失败",icon:"none"})}})},openCustomerTab(o){const n=`/pages-subpackage/furniture_customer/furniture_customer?tab=${o}`;e.index.navigateTo({url:n})}}};const n=e._export_sfc(o,[["render",function(o,n,t,r,a,i){return{a:e.o((e=>i.openReceptionTab("reception")),"04"),b:e.o((e=>i.openReceptionTab("status")),"8d"),c:e.o(((...e)=>i.openReceptionInProgress&&i.openReceptionInProgress(...e)),"f7"),d:e.o((e=>i.openReceptionTab("tag")),"07"),e:e.o((e=>i.openCustomerTab("service")),"6e"),f:e.o((e=>i.openCustomerTab("customer")),"4a"),g:t.contentTop,h:t.contentBottom}}],["__scopeId","data-v-101b35ee"]]);wx.createComponent(n);
|
||||
|
||||
@@ -1 +1 @@
|
||||
<view class="scenario-wrapper data-v-ba0b423c" style="{{'top:' + f + ';' + ('bottom:' + g)}}"><scroll-view class="content-scroll data-v-ba0b423c" scroll-y="true"><view class="category-section two-column data-v-ba0b423c"><view class="category-header data-v-ba0b423c"><text class="category-icon data-v-ba0b423c">🏷️</text><text class="category-title data-v-ba0b423c">接待</text></view><view class="function-grid data-v-ba0b423c"><view class="function-item data-v-ba0b423c" bindtap="{{a}}"><view class="function-icon data-v-ba0b423c">🛎️</view><text class="function-name data-v-ba0b423c">开始接待</text><text class="function-desc data-v-ba0b423c"></text></view><view class="function-item data-v-ba0b423c" bindtap="{{b}}"><view class="function-icon data-v-ba0b423c">📌</view><text class="function-name data-v-ba0b423c">服务中</text><text class="function-desc data-v-ba0b423c"></text></view><view class="function-item data-v-ba0b423c" bindtap="{{c}}"><view class="function-icon data-v-ba0b423c">🗂️</view><text class="function-name data-v-ba0b423c">标签管理</text><text class="function-desc data-v-ba0b423c"></text></view></view></view><view class="category-section two-column data-v-ba0b423c"><view class="category-header data-v-ba0b423c"><text class="category-icon data-v-ba0b423c">👤</text><text class="category-title data-v-ba0b423c">客户</text></view><view class="function-grid data-v-ba0b423c"><view class="function-item data-v-ba0b423c" bindtap="{{d}}"><view class="function-icon data-v-ba0b423c">📝</view><text class="function-name data-v-ba0b423c">服务记录</text><text class="function-desc data-v-ba0b423c"></text></view><view class="function-item data-v-ba0b423c" bindtap="{{e}}"><view class="function-icon data-v-ba0b423c">👥</view><text class="function-name data-v-ba0b423c">客户</text><text class="function-desc data-v-ba0b423c"></text></view></view></view></scroll-view></view>
|
||||
<view class="scenario-wrapper data-v-101b35ee" style="{{'top:' + g + ';' + ('bottom:' + h)}}"><scroll-view class="content-scroll data-v-101b35ee" scroll-y="true"><view class="category-section two-column data-v-101b35ee"><view class="category-header data-v-101b35ee"><text class="category-icon data-v-101b35ee">🏷️</text><text class="category-title data-v-101b35ee">接待</text></view><view class="function-grid data-v-101b35ee"><view class="function-item data-v-101b35ee" bindtap="{{a}}"><view class="function-icon data-v-101b35ee">🛎️</view><text class="function-name data-v-101b35ee">开始接待</text><text class="function-desc data-v-101b35ee"></text></view><view class="function-item data-v-101b35ee" bindtap="{{b}}"><view class="function-icon data-v-101b35ee">📌</view><text class="function-name data-v-101b35ee">服务中</text><text class="function-desc data-v-101b35ee"></text></view><view class="function-item data-v-101b35ee" bindtap="{{c}}"><view class="function-icon data-v-101b35ee">⏳</view><text class="function-name data-v-101b35ee">接待中</text><text class="function-desc data-v-101b35ee"></text></view><view class="function-item data-v-101b35ee" bindtap="{{d}}"><view class="function-icon data-v-101b35ee">🗂️</view><text class="function-name data-v-101b35ee">标签管理</text><text class="function-desc data-v-101b35ee"></text></view></view></view><view class="category-section two-column data-v-101b35ee"><view class="category-header data-v-101b35ee"><text class="category-icon data-v-101b35ee">👤</text><text class="category-title data-v-101b35ee">客户</text></view><view class="function-grid data-v-101b35ee"><view class="function-item data-v-101b35ee" bindtap="{{e}}"><view class="function-icon data-v-101b35ee">📝</view><text class="function-name data-v-101b35ee">服务记录</text><text class="function-desc data-v-101b35ee"></text></view><view class="function-item data-v-101b35ee" bindtap="{{f}}"><view class="function-icon data-v-101b35ee">👥</view><text class="function-name data-v-101b35ee">客户</text><text class="function-desc data-v-101b35ee"></text></view></view></view></scroll-view></view>
|
||||
@@ -1 +1 @@
|
||||
.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}
|
||||
.scenario-wrapper.data-v-101b35ee{position:absolute;left:0;right:0}.content-scroll.data-v-101b35ee{height:100%}.category-section.data-v-101b35ee{margin:20rpx 30rpx;background:#fff;border-radius:16rpx;overflow:hidden;box-shadow:0 2rpx 8rpx rgba(0,0,0,.04)}.category-section.data-v-101b35ee:first-child{margin-top:0}.category-section.data-v-101b35ee:last-child{margin-bottom:0}.category-header.data-v-101b35ee{display:flex;align-items:center;padding:30rpx;background:#fff;border-bottom:1rpx solid #f0f0f0}.category-icon.data-v-101b35ee{font-size:32rpx;margin-right:20rpx}.category-title.data-v-101b35ee{font-size:32rpx;font-weight:500;color:#333}.function-grid.data-v-101b35ee{display:flex;flex-wrap:wrap;padding:10rpx}.two-column .function-item.data-v-101b35ee{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-101b35ee{min-width:42%}.function-item.data-v-101b35ee:active{transform:scale(.95);box-shadow:0 1rpx 2rpx rgba(0,0,0,.1)}.function-icon.data-v-101b35ee{font-size:48rpx;margin-bottom:12rpx}.function-name.data-v-101b35ee{display:block;font-size:28rpx;font-weight:500;color:#333;margin-bottom:8rpx}.function-desc.data-v-101b35ee{display:block;font-size:24rpx;color:#666;line-height:1.4}
|
||||
|
||||
Reference in New Issue
Block a user