Compare commits
2 Commits
b5f3a1b2f7
...
f373f591dd
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f373f591dd | ||
|
|
453b6e8841 |
File diff suppressed because it is too large
Load Diff
@@ -19,7 +19,7 @@
|
||||
class="tab-item"
|
||||
:class="{ active: activeTab === 'reception' }"
|
||||
@click="switchTab('reception')">
|
||||
<text>开始接待</text>
|
||||
<text>客户接待</text>
|
||||
</view>
|
||||
<view
|
||||
class="tab-item"
|
||||
@@ -27,6 +27,12 @@
|
||||
@click="switchTab('status')">
|
||||
<text>接待中</text>
|
||||
</view>
|
||||
<view
|
||||
class="tab-item"
|
||||
:class="{ active: activeTab === 'tag' }"
|
||||
@click="switchTab('tag')">
|
||||
<text>标签管理</text>
|
||||
</view>
|
||||
</view>
|
||||
<common-begin-reception
|
||||
v-if="activeTab === 'reception'"
|
||||
@@ -42,10 +48,15 @@
|
||||
ref="serviceListRef"
|
||||
class="service-status-container"
|
||||
:style="{ top: computedContentTop || contentTop }"
|
||||
record-state-label="接待中"
|
||||
:show-record-state-indicator="false"
|
||||
empty-list-hint="暂无接待中记录"
|
||||
:show-reception-entry-shortcut="true"
|
||||
/>
|
||||
<tag-management-panel
|
||||
v-if="activeTab === 'tag'"
|
||||
ref="tagPanelRef"
|
||||
:content-top="computedContentTop || contentTop"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
@@ -56,6 +67,7 @@ import statusBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-stat
|
||||
// #endif
|
||||
import CommonBeginReception from './common_begin_reception.vue';
|
||||
import ServiceListFurniture from './serviceListFurniture.vue';
|
||||
import TagManagementPanel from './tag_management_panel.vue';
|
||||
|
||||
export default {
|
||||
name: '接待中',
|
||||
@@ -64,12 +76,14 @@ export default {
|
||||
statusBar,
|
||||
CommonBeginReception,
|
||||
ServiceListFurniture,
|
||||
TagManagementPanel,
|
||||
},
|
||||
// #endif
|
||||
// #ifndef APP
|
||||
components: {
|
||||
CommonBeginReception,
|
||||
ServiceListFurniture,
|
||||
TagManagementPanel,
|
||||
},
|
||||
// #endif
|
||||
data() {
|
||||
@@ -133,6 +147,13 @@ export default {
|
||||
list.onServiceStatusRefresh();
|
||||
}
|
||||
});
|
||||
} else if (this.activeTab === 'tag') {
|
||||
this.$nextTick(() => {
|
||||
const tagPanel = this.$refs.tagPanelRef;
|
||||
if (tagPanel && typeof tagPanel.refreshTagList === 'function') {
|
||||
tagPanel.refreshTagList();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
@@ -186,12 +207,21 @@ export default {
|
||||
});
|
||||
},
|
||||
switchTab(tab) {
|
||||
if (tab !== 'reception' && tab !== 'status') {
|
||||
if (tab !== 'reception' && tab !== 'status' && tab !== 'tag') {
|
||||
return;
|
||||
}
|
||||
this.activeTab = tab;
|
||||
if (tab === 'reception') {
|
||||
this.resetReceptionForm();
|
||||
} else if (tab === 'tag') {
|
||||
this.$nextTick(() => {
|
||||
this.$nextTick(() => {
|
||||
const p = this.$refs.tagPanelRef;
|
||||
if (p && typeof p.refreshTagList === 'function') {
|
||||
p.refreshTagList();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
resetReceptionForm() {
|
||||
|
||||
@@ -63,31 +63,45 @@
|
||||
<text class="staff-name">{{ item.staffName || '未分配销售' }}</text>
|
||||
</view>
|
||||
<view class="service-status">
|
||||
<view class="action-trigger">
|
||||
<view class="action-trigger__primary" @click.stop="finishService(item)">
|
||||
<text class="action-trigger__primary-text">结束服务</text>
|
||||
</view>
|
||||
<view class="action-trigger__more" @click.stop="toggleActionMenu(item.id)">
|
||||
<uni-icons type="bottom" size="16" color="#007AFF"></uni-icons>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view
|
||||
v-if="!isRecordingItem(item.id)"
|
||||
class="service-action-btn service-action-btn--record"
|
||||
@click.stop="startPhoneRecord(item)"
|
||||
v-if="actionMenuForId && String(actionMenuForId) === String(item.id)"
|
||||
class="action-menu"
|
||||
@click.stop
|
||||
>
|
||||
<text>录音</text>
|
||||
<view
|
||||
class="action-menu-item"
|
||||
@click.stop="onActionMenuSelect('record', item)"
|
||||
>
|
||||
<text>{{ isRecordingItem(item.id) ? '停止录音' : '开始录音' }}</text>
|
||||
</view>
|
||||
<view
|
||||
class="action-menu-item"
|
||||
@click.stop="onActionMenuSelect('supplement', item)"
|
||||
>
|
||||
<text>补录客户</text>
|
||||
</view>
|
||||
<view
|
||||
class="action-menu-item"
|
||||
:class="{ 'action-menu-item--disabled': isUploading(item.id) }"
|
||||
@click.stop="onActionMenuSelect('upload', item)"
|
||||
>
|
||||
<text>{{ isUploading(item.id) ? '上传中' : '上传录音' }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
v-else
|
||||
class="service-action-btn service-action-btn--record service-action-btn--recording"
|
||||
@click.stop="stopPhoneRecordAndUpload(item)"
|
||||
>
|
||||
<text>停止</text>
|
||||
</view>
|
||||
<view class="service-action-btn service-action-btn--supplement" @click.stop="showSupplementDialog(item)">
|
||||
<text>补录</text>
|
||||
</view>
|
||||
<view class="service-action-btn service-action-btn--upload" @click.stop="chooseAndUploadFile(item)">
|
||||
<text>{{ isUploading(item.id) ? '上传中' : '上传' }}</text>
|
||||
</view>
|
||||
<view class="service-action-btn service-action-btn--finish" @click.stop="finishService(item)">
|
||||
<text>结束</text>
|
||||
</view>
|
||||
<uni-icons type="bars" size="16" color="#007AFF"></uni-icons>
|
||||
<text>{{ recordStateLabel }}</text>
|
||||
|
||||
<template v-if="showRecordStateIndicator">
|
||||
<uni-icons type="bars" size="16" color="#007AFF"></uni-icons>
|
||||
<text>{{ recordStateLabel }}</text>
|
||||
</template>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -139,6 +153,12 @@
|
||||
<text>正在加载更多...</text>
|
||||
</view>
|
||||
</scroll-view>
|
||||
|
||||
<view
|
||||
v-if="actionMenuForId"
|
||||
class="action-menu-mask"
|
||||
@click="closeActionMenu"
|
||||
/>
|
||||
|
||||
<!-- 补录弹窗 -->
|
||||
<view class="supplement-dialog-mask" v-if="showSupplementModal" @click="closeSupplementDialog">
|
||||
@@ -231,6 +251,11 @@ export default {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
/** 卡片右侧是否显示状态横杠图标与 recordStateLabel 文案 */
|
||||
showRecordStateIndicator: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -261,7 +286,8 @@ export default {
|
||||
recorderSupported: false,
|
||||
recorderManager: null,
|
||||
recordingServiceId: null,
|
||||
recordingContext: null
|
||||
recordingContext: null,
|
||||
actionMenuForId: null
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -282,6 +308,51 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
toggleActionMenu(recordId) {
|
||||
const id = recordId === undefined || recordId === null ? null : String(recordId);
|
||||
if (!id) {
|
||||
this.actionMenuForId = null;
|
||||
return;
|
||||
}
|
||||
this.actionMenuForId = this.actionMenuForId === id ? null : id;
|
||||
},
|
||||
closeActionMenu() {
|
||||
this.actionMenuForId = null;
|
||||
},
|
||||
onActionMenuSelect(action, item) {
|
||||
if (!item || !item.id) {
|
||||
this.closeActionMenu();
|
||||
return;
|
||||
}
|
||||
const id = String(item.id);
|
||||
if (this.actionMenuForId && String(this.actionMenuForId) !== id) {
|
||||
// 避免列表复用导致错点
|
||||
this.actionMenuForId = id;
|
||||
}
|
||||
if (action === 'record') {
|
||||
if (this.isRecordingItem(item.id)) {
|
||||
this.stopPhoneRecordAndUpload(item);
|
||||
} else {
|
||||
this.startPhoneRecord(item);
|
||||
}
|
||||
this.closeActionMenu();
|
||||
return;
|
||||
}
|
||||
if (action === 'supplement') {
|
||||
this.showSupplementDialog(item);
|
||||
this.closeActionMenu();
|
||||
return;
|
||||
}
|
||||
if (action === 'upload') {
|
||||
if (this.isUploading(item.id)) {
|
||||
return;
|
||||
}
|
||||
this.chooseAndUploadFile(item);
|
||||
this.closeActionMenu();
|
||||
return;
|
||||
}
|
||||
this.closeActionMenu();
|
||||
},
|
||||
initServiceRecorder() {
|
||||
this.recorderSupported = typeof uni.getRecorderManager === 'function';
|
||||
if (!this.recorderSupported) {
|
||||
@@ -749,6 +820,7 @@ export default {
|
||||
},
|
||||
async uploadFileForRecord(item, selectedFile) {
|
||||
const recordId = String(item.id);
|
||||
this.closeActionMenu();
|
||||
this.uploadingIds = [...this.uploadingIds, recordId];
|
||||
try {
|
||||
uni.showLoading({
|
||||
@@ -806,6 +878,7 @@ export default {
|
||||
});
|
||||
return;
|
||||
}
|
||||
this.closeActionMenu();
|
||||
|
||||
uni.showModal({
|
||||
title: '确认结束',
|
||||
@@ -1148,6 +1221,7 @@ export default {
|
||||
margin-bottom: 24rpx;
|
||||
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04);
|
||||
overflow: visible;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.card-header {
|
||||
@@ -1217,6 +1291,82 @@ export default {
|
||||
align-items: center;
|
||||
gap: 8rpx;
|
||||
}
|
||||
|
||||
.action-trigger {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6rpx;
|
||||
padding: 0;
|
||||
border-radius: 10rpx;
|
||||
background-color: #EEF4FF;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.action-trigger__primary {
|
||||
padding: 6rpx 12rpx;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.action-trigger__primary-text {
|
||||
font-size: 26rpx;
|
||||
color: #007AFF;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.action-trigger__more {
|
||||
padding: 6rpx 10rpx 6rpx 6rpx;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-left: 1px solid rgba(0, 122, 255, 0.15);
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.action-menu {
|
||||
position: absolute;
|
||||
right: 24rpx;
|
||||
top: 96rpx;
|
||||
min-width: 220rpx;
|
||||
background-color: #FFFFFF;
|
||||
border-radius: 16rpx;
|
||||
box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.12);
|
||||
border: 1px solid #EEF0F3;
|
||||
z-index: 50;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.action-menu-item {
|
||||
padding: 22rpx 24rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.action-menu-item text {
|
||||
font-size: 28rpx;
|
||||
color: #111827;
|
||||
}
|
||||
|
||||
.action-menu-item:active {
|
||||
background-color: #F5F7FA;
|
||||
}
|
||||
|
||||
.action-menu-item--disabled {
|
||||
opacity: 0.55;
|
||||
}
|
||||
|
||||
.action-menu-mask {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: transparent;
|
||||
z-index: 40;
|
||||
}
|
||||
|
||||
.service-status text {
|
||||
font-size: 26rpx;
|
||||
@@ -1379,58 +1529,6 @@ export default {
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.service-action-btn {
|
||||
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 {
|
||||
color: #007AFF;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.service-action-btn--finish:active {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.service-action-btn--supplement {
|
||||
color: #10B981;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.service-action-btn--supplement:active {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.service-action-btn--upload {
|
||||
color: #7C3AED;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.service-action-btn--upload:active {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.service-action-btn--record {
|
||||
color: #007AFF;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.service-action-btn--record:active {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.service-action-btn--recording {
|
||||
color: #FF3B30;
|
||||
}
|
||||
|
||||
.service-status-empty {
|
||||
padding: 48rpx 0;
|
||||
|
||||
1088
pages-subpackage/furniture_reception/tag_management_panel.vue
Normal file
1088
pages-subpackage/furniture_reception/tag_management_panel.vue
Normal file
File diff suppressed because it is too large
Load Diff
@@ -12,16 +12,11 @@
|
||||
<text class="function-name">开始接待</text>
|
||||
<text class="function-desc"></text>
|
||||
</view>
|
||||
<view class="function-item" @click="openReceptionTab('status')">
|
||||
<view class="function-item" @click="goReceptionInProgressPage('跳转服务中失败')">
|
||||
<view class="function-icon">📌</view>
|
||||
<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>
|
||||
@@ -80,15 +75,18 @@ export default {
|
||||
},
|
||||
});
|
||||
},
|
||||
/** 独立「接待中」列表页(与接待页内「服务中」列表同源逻辑) */
|
||||
openReceptionInProgress() {
|
||||
/** 独立「接待中 / 服务中」列表页:`/pages-subpackage/furniture_reception/reception_in_progress` */
|
||||
goReceptionInProgressPage(failTitle) {
|
||||
uni.navigateTo({
|
||||
url: '/pages-subpackage/furniture_reception/reception_in_progress',
|
||||
fail: () => {
|
||||
uni.showToast({ title: '跳转接待中失败', icon: 'none' });
|
||||
uni.showToast({ title: failTitle || '页面打开失败', icon: 'none' });
|
||||
},
|
||||
});
|
||||
},
|
||||
openReceptionInProgress() {
|
||||
this.goReceptionInProgressPage('跳转接待中失败');
|
||||
},
|
||||
openCustomerTab(tab) {
|
||||
const url = `/pages-subpackage/furniture_customer/furniture_customer?tab=${tab}`;
|
||||
uni.navigateTo({ url });
|
||||
|
||||
@@ -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"})}})}},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);
|
||||
"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")),"9a"),b:e.o((e=>r.quickJumpReceptionTab("status")),"18"),c:e.o(((...e)=>r.quickJumpReceptionInProgress&&r.quickJumpReceptionInProgress(...e)),"fb"),d:e.o((e=>r.quickJumpReceptionTab("tag")),"c6"),e:e.o((e=>r.quickJumpCustomerTab("customer")),"14"),f:e.o((e=>r.quickJumpCustomerTab("service")),"a1"),g:e.o((e=>r.navigateToPage("recording_duration")),"84"),h:e.o((e=>r.navigateToPage("customer_count")),"1e"),i:e.o(((...e)=>r.showQualityCoveragePopup&&r.showQualityCoveragePopup(...e)),"7c"),j:e.o((e=>r.navigateToPage("speech_rating")),"41"),k:e.o((e=>r.navigateToPage("intent_level")),"b6"),l:e.o((e=>r.navigateToPage("deal_attribution")),"e5"),m:e.o((e=>r.navigateToPage("opening_rate")),"ef"),n:e.o((e=>r.navigateToPage("over_commitment")),"00"),o:e.o((e=>r.navigateToPage("red_line_touch")),"92"),p:r.scrollTop,q:r.scrollBottom,r:n.showQualityCoverage},n.showQualityCoverage?{s:e.o(r.onQualityCoveragePopupClose,"e9"),t:e.p({"open-trigger":n.openQualityCoverageTrigger})}:{})}],["__scopeId","data-v-28d86573"]]);wx.createComponent(t);
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
.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}
|
||||
.ai-dashboard-body.data-v-28d86573{position:relative;width:100%}.content.data-v-28d86573{padding-top:0!important;margin-top:0!important;position:relative;top:0;min-height:calc(100vh - 200rpx)}.content-scroll.data-v-28d86573{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-28d86573{margin-top:0;padding-top:0;margin-bottom:0;padding-bottom:0}.category-section.data-v-28d86573{margin:20rpx 30rpx;background:#fff;border-radius:16rpx;overflow:hidden;box-shadow:0 2rpx 8rpx rgba(0,0,0,.04)}.category-section.data-v-28d86573:first-child{margin-top:0}.category-section.data-v-28d86573:last-child{margin-bottom:0}.category-header.data-v-28d86573{display:flex;align-items:center;padding:30rpx;background:#fff;border-bottom:1rpx solid #f0f0f0}.category-icon.data-v-28d86573{font-size:32rpx;margin-right:20rpx}.category-title.data-v-28d86573{font-size:32rpx;font-weight:500;color:#333}.function-grid.data-v-28d86573{display:flex;flex-wrap:wrap;padding:10rpx}.quick-links-section .function-item.data-v-28d86573{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-28d86573{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-28d86573{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-28d86573{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-28d86573{flex-basis:100%;width:calc(50% - 10rpx);margin-top:10rpx}.function-item.data-v-28d86573:active{transform:scale(.95);box-shadow:0 1rpx 2rpx rgba(0,0,0,.1)}.function-icon.data-v-28d86573{font-size:48rpx;margin-bottom:12rpx}.function-name.data-v-28d86573{display:block;font-size:28rpx;font-weight:500;color:#333;margin-bottom:8rpx}.function-desc.data-v-28d86573{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
@@ -3,7 +3,7 @@
|
||||
"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",
|
||||
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
|
||||
"tag-management-panel": "./tag_management_panel",
|
||||
"uni-nav-bar": "../../uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar"
|
||||
}
|
||||
}
|
||||
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:"接待中",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);
|
||||
"use strict";const e=require("../../common/vendor.js"),t={name:"接待中",components:{CommonBeginReception:()=>"./common_begin_reception.js",ServiceListFurniture:()=>"./serviceListFurniture.js",TagManagementPanel:()=>"./tag_management_panel.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()})):"tag"===this.activeTab&&this.$nextTick((()=>{const e=this.$refs.tagPanelRef;e&&"function"==typeof e.refreshTagList&&e.refreshTagList()}))}))},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&&"tag"!==e||(this.activeTab=e,"reception"===e?this.resetReceptionForm():"tag"===e&&this.$nextTick((()=>{this.$nextTick((()=>{const e=this.$refs.tagPanelRef;e&&"function"==typeof e.refreshTagList&&e.refreshTagList()}))})))},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")+e.resolveComponent("tag-management-panel"))()}Math;const o=e._export_sfc(t,[["render",function(t,o,n,s,r,a){return e.e({a:e.o(a.goBack,"42"),b:e.p({fixed:!0,statusBar:!0,border:!1,title:"接待中",leftIcon:"left",color:"#333",backgroundColor:"#FFFFFF"}),c:"reception"===r.activeTab?1:"",d:e.o((e=>a.switchTab("reception")),"3d"),e:"status"===r.activeTab?1:"",f:e.o((e=>a.switchTab("status")),"30"),g:"tag"===r.activeTab?1:"",h:e.o((e=>a.switchTab("tag")),"70"),i:a.computedNavbarTop||r.navbarTop,j:"reception"===r.activeTab},"reception"===r.activeTab?{k:a.computedContentTop||r.contentTop,l:e.o(a.onReceptionCancel,"c8"),m:e.o(a.onReceptionSaveSuccess,"98"),n:e.o(a.onReceptionSaveError,"09"),o:e.p({"initial-data":r.receptionForm})}:{},{p:"status"===r.activeTab},"status"===r.activeTab?{q:e.sr("serviceListRef","199fff57-2"),r:a.computedContentTop||r.contentTop,s:e.p({"show-record-state-indicator":!1,"empty-list-hint":"暂无接待中记录","show-reception-entry-shortcut":!0})}:{},{t:"tag"===r.activeTab},"tag"===r.activeTab?{v:e.sr("tagPanelRef","199fff57-3"),w:e.p({"content-top":a.computedContentTop||r.contentTop})}:{})}]]);wx.createPage(o);
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"usingComponents": {
|
||||
"common-begin-reception": "./common_begin_reception",
|
||||
"service-list-furniture": "./serviceListFurniture",
|
||||
"tag-management-panel": "./tag_management_panel",
|
||||
"uni-nav-bar": "../../uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar"
|
||||
}
|
||||
}
|
||||
@@ -1 +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>
|
||||
<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:' + i}}"><view class="{{['tab-item', c && 'active']}}" bindtap="{{d}}"><text>客户接待</text></view><view class="{{['tab-item', e && 'active']}}" bindtap="{{f}}"><text>接待中</text></view><view class="{{['tab-item', g && 'active']}}" bindtap="{{h}}"><text>标签管理</text></view></view><common-begin-reception wx:if="{{j}}" class="reception-form-container" style="{{'top:' + k}}" bindcancel="{{l}}" bindsaveSuccess="{{m}}" bindsaveError="{{n}}" u-i="199fff57-1" bind:__l="__l" u-p="{{o}}"/><service-list-furniture wx:if="{{p}}" u-r="serviceListRef" class="service-status-container r" style="{{'top:' + r}}" u-i="199fff57-2" bind:__l="__l" u-p="{{s}}"/><tag-management-panel wx:if="{{t}}" class="r" u-r="tagPanelRef" u-i="199fff57-3" bind:__l="__l" u-p="{{w}}"/></view></view>
|
||||
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
unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/tag_management_panel.js
vendored
Normal file
1
unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/tag_management_panel.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<view class="tag-mgmt-host" style="{{'top:' + S}}"><scroll-view wx:if="{{a}}" class="tag-mgmt-scroll tag-list" scroll-y bindscrolltolower="{{s}}"><view class="service-status-toolbar"><text class="toolbar-total">共{{b}}条</text><input class="toolbar-input" placeholder="标签分类" placeholder-style="color: #b0b0b0" confirm-type="search" bindconfirm="{{c}}" value="{{d}}" bindinput="{{e}}"/><input class="toolbar-input" placeholder="标签名称" placeholder-style="color: #b0b0b0" confirm-type="search" bindconfirm="{{f}}" value="{{g}}" bindinput="{{h}}"/><view class="toolbar-actions"><view class="toolbar-btn toolbar-btn--refresh" bindtap="{{j}}"><uni-icons wx:if="{{i}}" u-i="0806a306-0" bind:__l="__l" u-p="{{i}}"></uni-icons></view><view class="toolbar-btn toolbar-btn--add" bindtap="{{l}}"><uni-icons wx:if="{{k}}" u-i="0806a306-1" bind:__l="__l" u-p="{{k}}"></uni-icons></view></view></view><view wx:for="{{m}}" wx:for-item="item" wx:key="s" class="{{['service-card', 'tag-card-item', item.t && 'tag-card-item--active']}}"><view class="card-header"><view class="staff-info" catchtap="{{item.c}}"><view class="staff-avatar"><text class="avatar-text">{{item.a}}</text></view><text class="staff-name">{{item.b}}</text></view><view class="tag-card-action-btn" catchtap="{{item.e}}"><uni-icons wx:if="{{n}}" u-i="{{item.d}}" bind:__l="__l" u-p="{{n}}"></uni-icons></view></view><view class="customer-info" catchtap="{{item.h}}"><text wx:if="{{item.f}}" class="customer-name">所属行业:{{item.g}}</text></view><view wx:if="{{item.i}}" class="customer-tags" catchtap="{{item.n}}"><view wx:if="{{item.j}}" class="tag-item tag-blue"><text>详情:{{item.k}}</text></view><view wx:if="{{item.l}}" class="tag-item tag-orange"><text>备注:{{item.m}}</text></view></view><view wx:if="{{item.o}}" class="tag-action-menu" catchtap="{{item.r}}"><view class="tag-action-menu-item" bindtap="{{item.p}}"><text>编辑</text></view><view class="tag-action-menu-divider"></view><view class="tag-action-menu-item tag-action-menu-item--danger" bindtap="{{item.q}}"><text>删除</text></view></view></view><view wx:if="{{o}}" class="tag-action-menu-mask" bindtap="{{p}}"></view><view wx:if="{{q}}" class="service-status-empty"><text>暂无标签</text></view><view wx:if="{{r}}" class="service-status-loading-more"><text>正在加载更多...</text></view></scroll-view><view wx:if="{{t}}" class="tag-management"><scroll-view class="tag-form" scroll-y><view class="form-card"><view wx:if="{{v}}" class="form-item"><text class="form-item__label">所属行业</text><input class="form-item__input" placeholder="请输入所属行业" placeholder-style="color: #9ca3af" value="{{w}}" bindinput="{{x}}"/></view><view class="form-item tag-select-wrapper"><text class="form-item__label">标签分类</text><view ref="tagTypeSelect" class="tag-select" catchtap="{{B}}"><text class="{{z}}">{{y}}</text><uni-icons wx:if="{{A}}" u-i="0806a306-3" bind:__l="__l" u-p="{{A}}"></uni-icons></view><view wx:if="{{C}}" ref="tagTypeDropdown" class="tag-select-dropdown" catchtap="{{E}}"><view wx:for="{{D}}" wx:for-item="option" wx:key="c" class="tag-select-dropdown__item" bindtap="{{option.d}}"><text class="{{[option.b && 'active']}}">{{option.a}}</text></view></view></view><view class="form-item"><text class="form-item__label">标签名</text><input class="form-item__input" placeholder="请输入标签名" placeholder-style="color: #9ca3af" value="{{F}}" bindinput="{{G}}"/></view><view class="form-item form-item--textarea"><text class="form-item__label">详情</text><block wx:if="{{r0}}"><textarea class="form-item__textarea" placeholder="请输入详情" placeholder-style="color: #9ca3af" maxlength="{{500}}" auto-height value="{{H}}" bindinput="{{I}}"/></block></view><view class="form-item form-item--textarea"><text class="form-item__label">备注</text><block wx:if="{{r0}}"><textarea class="form-item__textarea" placeholder="请输入备注" placeholder-style="color: #9ca3af" maxlength="{{500}}" auto-height value="{{J}}" bindinput="{{K}}"/></block></view><view class="form-item form-item--switch"><text class="form-item__label">是否启用</text><switch checked="{{L}}" bindchange="{{M}}" color="#007AFF"/></view></view><view class="form-actions"><view class="form-btn form-btn--cancel" bindtap="{{N}}"><text class="form-btn__text">取消</text></view><view class="form-btn form-btn--save" bindtap="{{P}}"><text class="form-btn__text">{{O}}</text></view></view></scroll-view><view wx:if="{{Q}}" class="tag-select-mask" bindtap="{{R}}"></view></view></view>
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
"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);
|
||||
"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"})}})},goReceptionInProgressPage(o){e.index.navigateTo({url:"/pages-subpackage/furniture_reception/reception_in_progress",fail:()=>{e.index.showToast({title:o||"页面打开失败",icon:"none"})}})},openReceptionInProgress(){this.goReceptionInProgressPage("跳转接待中失败")},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")),"28"),b:e.o((e=>i.goReceptionInProgressPage("跳转服务中失败")),"e9"),c:e.o((e=>i.openReceptionTab("tag")),"2f"),d:e.o((e=>i.openCustomerTab("service")),"74"),e:e.o((e=>i.openCustomerTab("customer")),"34"),f:t.contentTop,g:t.contentBottom}}],["__scopeId","data-v-fecda258"]]);wx.createComponent(n);
|
||||
|
||||
@@ -1 +1 @@
|
||||
<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>
|
||||
<view class="scenario-wrapper data-v-fecda258" style="{{'top:' + f + ';' + ('bottom:' + g)}}"><scroll-view class="content-scroll data-v-fecda258" scroll-y="true"><view class="category-section two-column data-v-fecda258"><view class="category-header data-v-fecda258"><text class="category-icon data-v-fecda258">🏷️</text><text class="category-title data-v-fecda258">接待</text></view><view class="function-grid data-v-fecda258"><view class="function-item data-v-fecda258" bindtap="{{a}}"><view class="function-icon data-v-fecda258">🛎️</view><text class="function-name data-v-fecda258">开始接待</text><text class="function-desc data-v-fecda258"></text></view><view class="function-item data-v-fecda258" bindtap="{{b}}"><view class="function-icon data-v-fecda258">📌</view><text class="function-name data-v-fecda258">服务中</text><text class="function-desc data-v-fecda258"></text></view><view class="function-item data-v-fecda258" bindtap="{{c}}"><view class="function-icon data-v-fecda258">🗂️</view><text class="function-name data-v-fecda258">标签管理</text><text class="function-desc data-v-fecda258"></text></view></view></view><view class="category-section two-column data-v-fecda258"><view class="category-header data-v-fecda258"><text class="category-icon data-v-fecda258">👤</text><text class="category-title data-v-fecda258">客户</text></view><view class="function-grid data-v-fecda258"><view class="function-item data-v-fecda258" bindtap="{{d}}"><view class="function-icon data-v-fecda258">📝</view><text class="function-name data-v-fecda258">服务记录</text><text class="function-desc data-v-fecda258"></text></view><view class="function-item data-v-fecda258" bindtap="{{e}}"><view class="function-icon data-v-fecda258">👥</view><text class="function-name data-v-fecda258">客户</text><text class="function-desc data-v-fecda258"></text></view></view></view></scroll-view></view>
|
||||
@@ -1 +1 @@
|
||||
.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}
|
||||
.scenario-wrapper.data-v-fecda258{position:absolute;left:0;right:0}.content-scroll.data-v-fecda258{height:100%}.category-section.data-v-fecda258{margin:20rpx 30rpx;background:#fff;border-radius:16rpx;overflow:hidden;box-shadow:0 2rpx 8rpx rgba(0,0,0,.04)}.category-section.data-v-fecda258:first-child{margin-top:0}.category-section.data-v-fecda258:last-child{margin-bottom:0}.category-header.data-v-fecda258{display:flex;align-items:center;padding:30rpx;background:#fff;border-bottom:1rpx solid #f0f0f0}.category-icon.data-v-fecda258{font-size:32rpx;margin-right:20rpx}.category-title.data-v-fecda258{font-size:32rpx;font-weight:500;color:#333}.function-grid.data-v-fecda258{display:flex;flex-wrap:wrap;padding:10rpx}.two-column .function-item.data-v-fecda258{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-fecda258{min-width:42%}.function-item.data-v-fecda258:active{transform:scale(.95);box-shadow:0 1rpx 2rpx rgba(0,0,0,.1)}.function-icon.data-v-fecda258{font-size:48rpx;margin-bottom:12rpx}.function-name.data-v-fecda258{display:block;font-size:28rpx;font-weight:500;color:#333;margin-bottom:8rpx}.function-desc.data-v-fecda258{display:block;font-size:24rpx;color:#666;line-height:1.4}
|
||||
|
||||
Reference in New Issue
Block a user