微信小程序联调

This commit is contained in:
zhonghua.li
2026-04-17 07:35:37 +08:00
parent c62622dc90
commit d74bc2ad1f
484 changed files with 3312 additions and 9 deletions

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"uni-icons": "../../../uni_modules/uni-icons/components/uni-icons/uni-icons"
}
}

View File

@@ -0,0 +1 @@
<scroll-view class="detail-content data-v-f91a70d9" scroll-y><view wx:if="{{a}}" class="loading-container data-v-f91a70d9"><text class="loading-text data-v-f91a70d9">加载中...</text></view><view wx:elif="{{b}}" class="empty-container data-v-f91a70d9"><text class="empty-text data-v-f91a70d9">暂无会话总结数据</text></view><view wx:for="{{c}}" wx:for-item="item" wx:key="d" class="summary-item data-v-f91a70d9" bindtap="{{item.e}}"><view class="summary-label data-v-f91a70d9"><text class="data-v-f91a70d9">{{item.a}}</text></view><view class="summary-value data-v-f91a70d9"><text class="data-v-f91a70d9">{{item.b}}</text></view><uni-icons wx:if="{{d}}" class="data-v-f91a70d9" u-i="{{item.c}}" bind:__l="__l" u-p="{{d}}"></uni-icons></view><view wx:if="{{e}}" class="summary-item data-v-f91a70d9"><view class="summary-label data-v-f91a70d9"><text class="data-v-f91a70d9">意向产品清单</text></view><view class="summary-value data-v-f91a70d9"><text class="data-v-f91a70d9">{{f}}</text></view></view><view wx:if="{{g}}" class="summary-item data-v-f91a70d9"><view class="summary-label data-v-f91a70d9"><text class="data-v-f91a70d9">一句话总结</text></view><view class="summary-value data-v-f91a70d9"><text class="data-v-f91a70d9">{{h}}</text></view></view><view wx:if="{{i}}" class="summary-item data-v-f91a70d9"><view class="summary-label data-v-f91a70d9"><text class="data-v-f91a70d9">成交关键点</text></view><view class="summary-value data-v-f91a70d9"><text class="data-v-f91a70d9">{{j}}</text></view></view><view wx:if="{{k}}" class="product-category-tabs data-v-f91a70d9"><scroll-view class="category-tabs-scroll data-v-f91a70d9" scroll-x><view class="category-tabs-wrapper data-v-f91a70d9"><view wx:for="{{l}}" wx:for-item="category" wx:key="c" class="{{['category-tab-item', 'data-v-f91a70d9', category.b && 'active']}}" bindtap="{{category.d}}"><text class="data-v-f91a70d9">{{category.a}}</text></view></view></scroll-view></view><view wx:if="{{m}}" class="product-requirement-table data-v-f91a70d9"><view class="requirement-title data-v-f91a70d9"><text class="data-v-f91a70d9">{{n}}</text></view><view class="requirement-table data-v-f91a70d9"><view wx:for="{{o}}" wx:for-item="row" wx:key="c" class="requirement-row data-v-f91a70d9"><view class="requirement-label data-v-f91a70d9"><text class="data-v-f91a70d9">{{row.a}}</text></view><view class="requirement-content data-v-f91a70d9"><text class="data-v-f91a70d9">{{row.b}}</text></view></view></view></view><view wx:elif="{{p}}" class="product-requirement-table data-v-f91a70d9"><view class="requirement-title data-v-f91a70d9"><text class="data-v-f91a70d9">产品需求</text></view><view class="requirement-table data-v-f91a70d9"><view class="requirement-row data-v-f91a70d9"><view class="requirement-label data-v-f91a70d9"><text class="data-v-f91a70d9">提示</text></view><view class="requirement-content data-v-f91a70d9"><text class="data-v-f91a70d9">暂无产品需求信息</text></view></view></view></view></scroll-view>

View File

@@ -0,0 +1 @@
.detail-content.data-v-f91a70d9{flex:1;padding:24rpx 32rpx;background-color:#fff;overflow-y:auto;min-height:0}.summary-item.data-v-f91a70d9{padding:24rpx 40rpx 24rpx 0;border-bottom:1px solid #F0F0F0;display:flex;flex-direction:column;position:relative}.summary-item.data-v-f91a70d9:last-child{border-bottom:none}.summary-label.data-v-f91a70d9{margin-bottom:12rpx}.summary-label text.data-v-f91a70d9{font-size:28rpx;color:#666;font-weight:500}.summary-value.data-v-f91a70d9{flex:1}.summary-value text.data-v-f91a70d9{font-size:28rpx;color:#333;line-height:1.6}.summary-item uni-icons.data-v-f91a70d9{position:absolute;right:0;top:50%;transform:translateY(-50%)}.product-category-tabs.data-v-f91a70d9{background-color:#fff;border-bottom:1px solid #E0E0E0;margin-bottom:24rpx;padding:0}.category-tabs-scroll.data-v-f91a70d9{white-space:nowrap;width:100%}.category-tabs-wrapper.data-v-f91a70d9{display:inline-flex;padding:0 32rpx}.category-tab-item.data-v-f91a70d9{padding:24rpx 16rpx;position:relative;margin-right:32rpx;white-space:nowrap}.category-tab-item text.data-v-f91a70d9{font-size:28rpx;color:#666}.category-tab-item.active text.data-v-f91a70d9{color:#333;font-weight:500}.category-tab-item.active.data-v-f91a70d9:after{content:"";position:absolute;bottom:0;left:16rpx;right:16rpx;height:4rpx;background-color:#007aff;border-radius:2rpx}.product-requirement-table.data-v-f91a70d9{background-color:#fff;padding:0}.requirement-title.data-v-f91a70d9{padding:24rpx 32rpx;font-size:32rpx;font-weight:600;color:#333;border-bottom:1px solid #F0F0F0}.requirement-table.data-v-f91a70d9{padding:0 32rpx 24rpx}.requirement-row.data-v-f91a70d9{display:flex;padding:24rpx 0;border-bottom:1px solid #F0F0F0}.requirement-row.data-v-f91a70d9:last-child{border-bottom:none}.requirement-label.data-v-f91a70d9{min-width:200rpx;width:200rpx;padding-right:24rpx}.requirement-label text.data-v-f91a70d9{font-size:28rpx;color:#666;font-weight:500}.requirement-content.data-v-f91a70d9{flex:1}.requirement-content text.data-v-f91a70d9{font-size:28rpx;color:#333;line-height:1.6}.loading-container.data-v-f91a70d9,.empty-container.data-v-f91a70d9{padding:80rpx 0;text-align:center}.loading-text.data-v-f91a70d9,.empty-text.data-v-f91a70d9{font-size:28rpx;color:#999}

View File

@@ -0,0 +1 @@
"use strict";const e=require("../../../common/vendor.js"),t=require("../../../common/config.js"),s={name:"CustomerList",props:{},data:()=>({salesName:"",customerName:"",customerList:[],customerListTotal:0,customerListPage:{current:1,size:10}}),computed:{list(){return this.customerList}},mounted(){this.loadCustomerList()},methods:{onInputChange(){},handleRefresh(){this.refreshCustomerList({salesName:this.salesName.trim(),customerName:this.customerName.trim()})},refreshCustomerList(e={}){this.customerListPage.current=1,this.loadCustomerList(e)},async loadCustomerList(s={}){var n,o,a,r;try{const c={current:this.customerListPage.current,size:this.customerListPage.size},m=null==(n=s.customerName)?void 0:n.trim(),u=null==(o=s.salesName)?void 0:o.trim(),l=null==(a=s.salesPhone)?void 0:a.trim(),d=null==(r=s.contact)?void 0:r.trim();m&&(c.customerName=m),u&&(c.salesName=u),l&&(c.salesPhone=l),d&&(c.contact=d);const h=Object.keys(c).filter((e=>null!==c[e]&&void 0!==c[e]&&""!==c[e])).map((e=>`${encodeURIComponent(e)}=${encodeURIComponent(c[e])}`)).join("&");console.log("客户列表查询参数:",JSON.stringify(c)),console.log("查询字符串:",h);const g=t.getApiUrl("/api/customerManagement/list"),p=h?`${g}?${h}`:g;let f="",C="";try{f=e.index.getStorageSync("backend-tenant-id")||"",C=e.index.getStorageSync("backend-token")||""}catch(i){console.error("获取认证信息失败:",i)}const v={"Content-Type":"application/json"};C&&(v.Authorization=`Bearer ${C}`),f&&(v["X-Tenant-Id"]=f);const L=await e.index.request({url:p,method:"GET",header:v,timeout:1e4});if(200===L.statusCode&&L.data&&L.data.success){const e=(L.data.data||[]).map((e=>{let t="";const s=e.updateTime||e.update_time||e.createTime;if(s){const e=new Date(s);t=`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}const n=[];e.remark&&((e.remark.includes("优惠")||e.remark.includes("活动"))&&n.push({text:"关注优惠活动",color:"orange"}),(e.remark.includes("颜色")||e.remark.includes("搭配"))&&n.push({text:"关注颜色搭配",color:"orange"}));let o="中";const a=e.recordingCount||0,r=e.contactCount||0;return(a>3||r>5)&&(o="高"),{name:e.customerName||"",intent:o,serviceStaff:e.salesName||"",serviceCount:e.contactCount||e.recordingCount||0,lastService:t,lastServiceTime:e.updateTime||e.update_time||e.createTime,tags:n,phone:e.contact||e.salesPhone||"",budget:e.intendedModel||"",rawData:e}}));e.sort(((e,t)=>e.lastServiceTime?t.lastServiceTime?new Date(t.lastServiceTime)-new Date(e.lastServiceTime):-1:1)),1===this.customerListPage.current?this.customerList=e:this.customerList=this.customerList.concat(e),this.customerListTotal=L.data.total||e.length}else e.index.showToast({title:L.data.message||"获取客户列表失败",icon:"none"})}catch(c){console.error("获取客户列表失败:",c),e.index.showToast({title:`获取客户列表失败: ${c.errMsg||c.message||"未知错误"}`,icon:"none",duration:3e3})}}}};if(!Array){e.resolveComponent("uni-icons")()}Math;const n=e._export_sfc(s,[["render",function(t,s,n,o,a,r){return{a:e.t(a.customerListTotal||r.list.length),b:e.o(((...e)=>r.handleRefresh&&r.handleRefresh(...e)),"ba"),c:e.o([e=>a.salesName=e.detail.value,(...e)=>r.onInputChange&&r.onInputChange(...e)],"4b"),d:a.salesName,e:e.o(((...e)=>r.handleRefresh&&r.handleRefresh(...e)),"f3"),f:e.o([e=>a.customerName=e.detail.value,(...e)=>r.onInputChange&&r.onInputChange(...e)],"cc"),g:a.customerName,h:e.p({type:"refresh",size:"18",color:"#2A68FF"}),i:e.o(((...e)=>r.handleRefresh&&r.handleRefresh(...e)),"16"),j:e.f(r.list,((s,n,o)=>e.e({a:e.t(s.name),b:e.t(s.intent),c:e.n("高"===s.intent?"intent-high":"intent-medium"),d:e.t(s.serviceStaff),e:e.t(s.serviceCount),f:e.t(s.lastService),g:e.f(s.tags,((t,s,n)=>({a:e.t(t.text),b:e.n("tag-"+t.color),c:s}))),h:s.phone||s.budget},s.phone||s.budget?e.e({i:s.phone},s.phone?{j:e.t(s.phone)}:{},{k:s.budget},s.budget?{l:e.t(s.budget)}:{}):{},{m:n,n:e.o((e=>t.$emit("itemClick",s)),n)})))}}],["__scopeId","data-v-65da8801"]]);wx.createComponent(n);

View File

@@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"uni-icons": "../../../uni_modules/uni-icons/components/uni-icons/uni-icons"
}
}

View File

@@ -0,0 +1 @@
<view class="customer-list-container data-v-65da8801"><view class="service-status-toolbar data-v-65da8801"><text class="toolbar-total data-v-65da8801">共{{a}}条</text><input class="toolbar-input data-v-65da8801" placeholder="所属销售姓名" placeholder-style="color: #b0b0b0" confirm-type="search" bindconfirm="{{b}}" bindinput="{{c}}" value="{{d}}"/><input class="toolbar-input data-v-65da8801" placeholder="客户姓名" placeholder-style="color: #b0b0b0" confirm-type="search" bindconfirm="{{e}}" bindinput="{{f}}" value="{{g}}"/><view class="toolbar-actions data-v-65da8801"><view class="toolbar-btn toolbar-btn--refresh data-v-65da8801" bindtap="{{i}}"><uni-icons wx:if="{{h}}" class="data-v-65da8801" u-i="65da8801-0" bind:__l="__l" u-p="{{h}}"></uni-icons><text class="data-v-65da8801">刷新</text></view></view></view><scroll-view class="customer-list data-v-65da8801" scroll-y><view wx:for="{{j}}" wx:for-item="item" wx:key="m" class="customer-card data-v-65da8801" catchtap="{{item.n}}"><view class="customer-header data-v-65da8801"><text class="customer-name-text data-v-65da8801">{{item.a}}</text><view class="{{['intent-badge', 'data-v-65da8801', item.c]}}"><text class="data-v-65da8801">意向{{item.b}}</text></view></view><view class="customer-service-info data-v-65da8801"><text class="data-v-65da8801">服务人员:{{item.d}} 服务{{item.e}}次 上次服务:{{item.f}}</text></view><view class="customer-tags data-v-65da8801"><view wx:for="{{item.g}}" wx:for-item="tag" wx:key="c" class="{{['tag-item', 'data-v-65da8801', tag.b]}}"><text class="data-v-65da8801">{{tag.a}}</text></view></view><view wx:if="{{item.h}}" class="customer-footer data-v-65da8801"><text wx:if="{{item.i}}" class="customer-phone data-v-65da8801">{{item.j}}</text><text wx:if="{{item.k}}" class="customer-budget data-v-65da8801">{{item.l}}</text></view></view></scroll-view></view>

View File

@@ -0,0 +1 @@
.customer-list-container.data-v-65da8801{position:absolute;top:0;left:0;right:0;bottom:96rpx;display:flex;flex-direction:column;background-color:#f5f5f5;padding:0 16rpx;box-sizing:border-box}.service-status-toolbar.data-v-65da8801{display:flex;flex-wrap:nowrap;align-items:center;gap:8rpx;padding:12rpx 8rpx;margin-bottom:24rpx;background-color:#f8f8fa;border-radius:8rpx;border:1px solid #EFEFF2;overflow-x:auto;min-height:64rpx;box-sizing:border-box;flex-shrink:0}.toolbar-total.data-v-65da8801{font-size:24rpx;color:#666;white-space:nowrap;flex-shrink:0;margin-right:8rpx;line-height:1.2;padding:0 4rpx}.toolbar-input.data-v-65da8801{flex:1;min-width:120rpx;max-width:200rpx;height:56rpx;line-height:56rpx;background-color:#f5f6fa;border-radius:8rpx;padding:0 12rpx;font-size:24rpx;border:1px solid transparent;box-sizing:border-box;flex-shrink:1}.toolbar-actions.data-v-65da8801{display:flex;align-items:center;margin-left:auto;flex-shrink:0;gap:8rpx}.toolbar-btn.data-v-65da8801{padding:0 12rpx;height:56rpx;min-width:56rpx;color:#2a68ff;display:flex;align-items:center;justify-content:center;gap:4rpx;font-size:24rpx;font-weight:400;line-height:1;box-sizing:border-box}.toolbar-btn text.data-v-65da8801{color:#2a68ff}.customer-list.data-v-65da8801{flex:1;background-color:transparent;box-sizing:border-box;overflow-y:auto}.customer-card.data-v-65da8801{width:100%;box-sizing:border-box;background-color:#fff;border-radius:16rpx;padding:32rpx;margin-bottom:24rpx;box-shadow:0 2rpx 8rpx rgba(0,0,0,.04)}.customer-header.data-v-65da8801{display:flex;justify-content:space-between;align-items:center;margin-bottom:16rpx}.customer-name-text.data-v-65da8801{font-size:32rpx;font-weight:600;color:#333}.intent-badge.data-v-65da8801{padding:6rpx 16rpx;border-radius:8rpx}.intent-high.data-v-65da8801{background-color:#e3f2fd}.intent-high text.data-v-65da8801{font-size:24rpx;color:#1976d2;font-weight:500}.intent-medium.data-v-65da8801{background-color:#fff3e0}.intent-medium text.data-v-65da8801{font-size:24rpx;color:#f57c00;font-weight:500}.customer-service-info.data-v-65da8801{margin-bottom:20rpx}.customer-service-info text.data-v-65da8801{font-size:24rpx;color:#999}.customer-tags.data-v-65da8801{display:flex;flex-wrap:wrap;margin-bottom:20rpx;gap:12rpx}.tag-item.data-v-65da8801{padding:8rpx 16rpx;border-radius:8rpx}.tag-orange.data-v-65da8801{background-color:#fff3e0}.tag-orange text.data-v-65da8801{font-size:24rpx;color:#f57c00}.tag-blue.data-v-65da8801{background-color:#e3f2fd}.tag-blue text.data-v-65da8801{font-size:24rpx;color:#1976d2}.customer-footer.data-v-65da8801{display:flex;justify-content:space-between;align-items:center;padding-top:16rpx;border-top:1px solid #F0F0F0}.customer-phone.data-v-65da8801{font-size:28rpx;color:#333}.customer-budget.data-v-65da8801{font-size:26rpx;color:#1976d2}

View File

@@ -0,0 +1 @@
"use strict";const e=require("../../../common/vendor.js"),o={name:"CustomerProfileModal",props:{profile:{type:Object,default:()=>({})}},data:()=>({collapsed:!1}),methods:{open(){this.$refs.popup.open()},close(){this.$refs.popup.close(),this.$emit("close")},toggleCollapse(){this.collapsed=!this.collapsed}}};if(!Array){(e.resolveComponent("uni-icons")+e.resolveComponent("uni-popup"))()}Math||((()=>"../../../uni_modules/uni-icons/components/uni-icons/uni-icons.js")+(()=>"../../../uni_modules/uni-popup/components/uni-popup/uni-popup.js"))();const t=e._export_sfc(o,[["render",function(o,t,s,p,l,i){return e.e({a:e.p({type:"close",size:"24",color:"#333"}),b:e.o(((...e)=>i.close&&i.close(...e)),"da"),c:e.t(s.profile.name),d:e.t(s.profile.intent),e:e.n("高"===s.profile.intent?"intent-high":"intent-medium"),f:e.t(s.profile.serviceCount),g:e.t(s.profile.lastService),h:e.t(s.profile.phone),i:e.t(s.profile.serviceStaff),j:e.t(s.profile.wechatStatus),k:e.t(s.profile.address),l:e.t(s.profile.source),m:e.t(l.collapsed?"展开":"收起"),n:e.p({type:l.collapsed?"down":"up",size:"14",color:"#666"}),o:e.o(((...e)=>i.toggleCollapse&&i.toggleCollapse(...e)),"71"),p:!l.collapsed},l.collapsed?{}:{q:e.t(s.profile.followStage),r:e.p({type:"right",size:"16",color:"#999"})},{s:!l.collapsed},l.collapsed?{}:e.e({t:e.p({type:"person",size:"20",color:"#007AFF"}),v:e.f(s.profile.systemTags,((o,t,s)=>({a:e.t(o),b:"system-"+t}))),w:s.profile.customTags&&s.profile.customTags.length>0},(s.profile.customTags&&s.profile.customTags.length,{}),{x:s.profile.customTags&&s.profile.customTags.length>0},s.profile.customTags&&s.profile.customTags.length>0?{y:e.f(s.profile.customTags,((o,t,s)=>({a:e.t(o),b:"custom-"+t})))}:{}),{z:!l.collapsed},l.collapsed?{}:{A:e.p({type:"star",size:"20",color:"#007AFF"}),B:e.t(s.profile.intent),C:e.t(s.profile.intentDescription)},{D:e.sr("popup","88901f46-0"),E:e.p({type:"bottom","mask-click":!1})})}],["__scopeId","data-v-88901f46"]]);wx.createComponent(t);

View File

@@ -0,0 +1,7 @@
{
"component": true,
"usingComponents": {
"uni-icons": "../../../uni_modules/uni-icons/components/uni-icons/uni-icons",
"uni-popup": "../../../uni_modules/uni-popup/components/uni-popup/uni-popup"
}
}

View File

@@ -0,0 +1 @@
<uni-popup wx:if="{{E}}" class="r data-v-88901f46" u-s="{{['d']}}" u-r="popup" u-i="88901f46-0" bind:__l="__l" u-p="{{E}}"><view class="customer-profile-modal data-v-88901f46"><view class="profile-header data-v-88901f46"><view class="profile-close data-v-88901f46" bindtap="{{b}}"><uni-icons wx:if="{{a}}" class="data-v-88901f46" u-i="88901f46-1,88901f46-0" bind:__l="__l" u-p="{{a}}"></uni-icons></view><text class="profile-title data-v-88901f46">客户档案</text></view><scroll-view class="profile-content data-v-88901f46" scroll-y><view class="profile-section data-v-88901f46"><view class="profile-name-row data-v-88901f46"><text class="profile-name data-v-88901f46">{{c}}</text><view class="{{['profile-intent-badge', 'data-v-88901f46', e]}}"><text class="data-v-88901f46">意向{{d}}</text></view></view><view class="profile-service-info data-v-88901f46"><text class="data-v-88901f46">服务{{f}}次 {{g}}</text></view><view class="profile-details data-v-88901f46"><view class="detail-row data-v-88901f46"><text class="detail-label data-v-88901f46">电话:</text><text class="detail-value data-v-88901f46">{{h}}</text></view><view class="detail-row data-v-88901f46"><text class="detail-label data-v-88901f46">服务人员:</text><text class="detail-value data-v-88901f46">{{i}}</text></view><view class="detail-row data-v-88901f46"><text class="detail-label data-v-88901f46">微信状态:</text><text class="detail-value data-v-88901f46">{{j}}</text></view><view class="detail-row data-v-88901f46"><text class="detail-label data-v-88901f46">客户地址:</text><text class="detail-value data-v-88901f46">{{k}}</text></view><view class="detail-row data-v-88901f46"><text class="detail-label data-v-88901f46">客户来源:</text><text class="detail-value data-v-88901f46">{{l}}</text><view class="collapse-btn data-v-88901f46" bindtap="{{o}}"><text class="data-v-88901f46">{{m}}</text><uni-icons wx:if="{{n}}" class="data-v-88901f46" u-i="88901f46-2,88901f46-0" bind:__l="__l" u-p="{{n}}"></uni-icons></view></view></view></view><view wx:if="{{p}}" class="profile-section data-v-88901f46"><view class="section-header data-v-88901f46"><text class="section-title data-v-88901f46">跟进阶段</text><view class="stage-info data-v-88901f46"><text class="data-v-88901f46">当前: {{q}}</text><uni-icons wx:if="{{r}}" class="data-v-88901f46" u-i="88901f46-3,88901f46-0" bind:__l="__l" u-p="{{r}}"></uni-icons></view></view></view><view wx:if="{{s}}" class="profile-section data-v-88901f46"><view class="section-header data-v-88901f46"><view class="section-icon data-v-88901f46"><uni-icons wx:if="{{t}}" class="data-v-88901f46" u-i="88901f46-4,88901f46-0" bind:__l="__l" u-p="{{t}}"></uni-icons></view><text class="section-title data-v-88901f46">客户画像</text></view><view class="profile-tags data-v-88901f46"><view wx:for="{{v}}" wx:for-item="tag" wx:key="b" class="profile-tag tag-blue data-v-88901f46"><text class="data-v-88901f46">{{tag.a}}</text></view></view><view wx:if="{{w}}" class="custom-label data-v-88901f46"><text class="data-v-88901f46">自定义</text></view><view wx:if="{{x}}" class="profile-tags data-v-88901f46"><view wx:for="{{y}}" wx:for-item="tag" wx:key="b" class="profile-tag tag-yellow data-v-88901f46"><text class="data-v-88901f46">{{tag.a}}</text></view></view></view><view wx:if="{{z}}" class="profile-section data-v-88901f46"><view class="section-header data-v-88901f46"><view class="section-icon data-v-88901f46"><uni-icons wx:if="{{A}}" class="data-v-88901f46" u-i="88901f46-5,88901f46-0" bind:__l="__l" u-p="{{A}}"></uni-icons></view><text class="section-title data-v-88901f46">客户意向</text><view class="intent-level data-v-88901f46"><text class="data-v-88901f46">意向{{B}}</text></view></view><view class="intent-description data-v-88901f46"><text class="data-v-88901f46">{{C}}</text></view></view></scroll-view></view></uni-popup>

View File

@@ -0,0 +1 @@
.customer-profile-modal.data-v-88901f46{background-color:#fff;border-radius:32rpx 32rpx 0 0;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.profile-header.data-v-88901f46{display:flex;justify-content:space-between;align-items:center;padding:32rpx;border-bottom:1px solid #F0F0F0;position:relative}.profile-close.data-v-88901f46{width:48rpx;height:48rpx;display:flex;align-items:center;justify-content:center}.profile-title.data-v-88901f46{position:absolute;left:50%;transform:translate(-50%);font-size:36rpx;font-weight:600;color:#333}.profile-content.data-v-88901f46{flex:1;padding:32rpx;background-color:#fff}.profile-section.data-v-88901f46{margin-bottom:32rpx}.profile-name-row.data-v-88901f46{display:flex;align-items:center;margin-bottom:16rpx}.profile-name.data-v-88901f46{font-size:36rpx;font-weight:600;color:#333;margin-right:16rpx}.profile-intent-badge.data-v-88901f46{padding:6rpx 16rpx;border-radius:8rpx}.profile-intent-badge.intent-high.data-v-88901f46{background-color:#e3f2fd}.profile-intent-badge.intent-high text.data-v-88901f46{font-size:24rpx;color:#1976d2;font-weight:500}.profile-intent-badge.intent-medium.data-v-88901f46{background-color:#fff3e0}.profile-intent-badge.intent-medium text.data-v-88901f46{font-size:24rpx;color:#f57c00;font-weight:500}.profile-service-info.data-v-88901f46{margin-bottom:24rpx}.profile-service-info text.data-v-88901f46{font-size:26rpx;color:#999}.profile-details.data-v-88901f46{background-color:#f5f5f5;border-radius:16rpx;padding:24rpx}.detail-row.data-v-88901f46{display:flex;align-items:center;margin-bottom:16rpx;position:relative}.detail-row.data-v-88901f46:last-child{margin-bottom:0}.detail-label.data-v-88901f46{font-size:28rpx;color:#666;width:160rpx;flex-shrink:0}.detail-value.data-v-88901f46{font-size:28rpx;color:#333;flex:1}.collapse-btn.data-v-88901f46{display:flex;align-items:center;margin-left:16rpx;padding:4rpx 8rpx}.collapse-btn text.data-v-88901f46{font-size:24rpx;color:#666;margin-right:4rpx}.section-header.data-v-88901f46{display:flex;align-items:center;margin-bottom:24rpx}.section-icon.data-v-88901f46{margin-right:8rpx}.section-title.data-v-88901f46{font-size:30rpx;font-weight:500;color:#333;flex:1}.stage-info.data-v-88901f46{display:flex;align-items:center}.stage-info text.data-v-88901f46{font-size:28rpx;color:#333;margin-right:8rpx}.profile-tags.data-v-88901f46{display:flex;flex-wrap:wrap;gap:12rpx;margin-bottom:24rpx}.profile-tag.data-v-88901f46{padding:8rpx 16rpx;border-radius:8rpx}.profile-tag.tag-blue.data-v-88901f46{background-color:#e3f2fd}.profile-tag.tag-blue text.data-v-88901f46{font-size:24rpx;color:#1976d2}.profile-tag.tag-yellow.data-v-88901f46{background-color:#fff3e0}.profile-tag.tag-yellow text.data-v-88901f46{font-size:24rpx;color:#f57c00}.custom-label.data-v-88901f46{margin-bottom:16rpx}.custom-label text.data-v-88901f46{font-size:26rpx;color:#666}.intent-level.data-v-88901f46{padding:6rpx 16rpx;background-color:#e3f2fd;border-radius:8rpx}.intent-level text.data-v-88901f46{font-size:24rpx;color:#1976d2;font-weight:500}.intent-description.data-v-88901f46{background-color:#f5f5f5;border-radius:16rpx;padding:24rpx}.intent-description text.data-v-88901f46{font-size:28rpx;color:#333;line-height:1.8}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"uni-icons": "../../../uni_modules/uni-icons/components/uni-icons/uni-icons"
}
}

View File

@@ -0,0 +1 @@
<view class="service-list-container data-v-8ee8abb3"><view class="service-status-toolbar data-v-8ee8abb3"><text class="toolbar-total data-v-8ee8abb3">共{{a}}条</text><input class="toolbar-input data-v-8ee8abb3" placeholder="所属销售姓名" placeholder-style="color: #b0b0b0" confirm-type="search" bindconfirm="{{b}}" bindinput="{{c}}" value="{{d}}"/><input class="toolbar-input data-v-8ee8abb3" placeholder="客户姓名" placeholder-style="color: #b0b0b0" confirm-type="search" bindconfirm="{{e}}" bindinput="{{f}}" value="{{g}}"/><view class="toolbar-actions data-v-8ee8abb3"><view class="toolbar-btn toolbar-btn--refresh data-v-8ee8abb3" bindtap="{{i}}"><uni-icons wx:if="{{h}}" class="data-v-8ee8abb3" u-i="8ee8abb3-0" bind:__l="__l" u-p="{{h}}"></uni-icons><text class="data-v-8ee8abb3">刷新</text></view></view></view><scroll-view class="service-list data-v-8ee8abb3" scroll-y bindscrolltolower="{{l}}"><view wx:for="{{j}}" wx:for-item="item" wx:key="w" class="{{['service-item', 'data-v-8ee8abb3', item.x && 'service-item--active']}}" bindtap="{{item.y}}"><view class="service-header data-v-8ee8abb3"><text class="service-title data-v-8ee8abb3">{{item.a}}</text><view class="service-menu-button data-v-8ee8abb3" catchtap="{{item.c}}"><uni-icons wx:if="{{k}}" class="data-v-8ee8abb3" u-i="{{item.b}}" bind:__l="__l" u-p="{{k}}"></uni-icons></view></view><view class="service-meta data-v-8ee8abb3"><text class="service-date data-v-8ee8abb3">{{item.d}}</text><text wx:if="{{item.e}}" class="service-duration data-v-8ee8abb3"> 录音时长:{{item.f}} 分钟 </text><text wx:if="{{item.g}}" class="service-duration data-v-8ee8abb3"> 格式:{{item.h}}</text></view><view wx:if="{{item.i}}" class="service-recording-name data-v-8ee8abb3"><text class="recording-name-label data-v-8ee8abb3">记录名称:</text><text class="recording-name-value data-v-8ee8abb3">{{item.j}}</text></view><view wx:if="{{item.k}}" class="service-recording-text data-v-8ee8abb3"><text class="recording-text-label data-v-8ee8abb3">录音文本:</text><view class="recording-text-body data-v-8ee8abb3">{{item.l}}</view></view><view class="service-content data-v-8ee8abb3"><text class="service-desc data-v-8ee8abb3">{{item.m}}</text></view><view class="service-customer data-v-8ee8abb3"><view class="customer-avatar data-v-8ee8abb3"><text class="avatar-text data-v-8ee8abb3">{{item.n}}</text></view><text class="customer-name data-v-8ee8abb3">{{item.o}}</text></view><view wx:if="{{item.p}}" class="service-action-menu data-v-8ee8abb3" catchtap="{{item.v}}"><view class="service-action-menu-item service-action-menu-item--danger data-v-8ee8abb3" bindtap="{{item.q}}"><text class="data-v-8ee8abb3">删除</text></view><view class="service-action-menu-divider data-v-8ee8abb3"></view><view class="service-action-menu-item data-v-8ee8abb3" bindtap="{{item.r}}"><text class="data-v-8ee8abb3">查看</text></view><view class="service-action-menu-divider data-v-8ee8abb3"></view><view class="service-action-menu-item data-v-8ee8abb3" bindtap="{{item.s}}"><text class="data-v-8ee8abb3">AI分析</text></view><view class="service-action-menu-divider data-v-8ee8abb3"></view><view class="service-action-menu-item data-v-8ee8abb3" bindtap="{{item.t}}"><text class="data-v-8ee8abb3">录音</text></view></view></view></scroll-view><view wx:if="{{m}}" class="service-action-menu-mask data-v-8ee8abb3" bindtap="{{n}}"></view></view>

View File

@@ -0,0 +1 @@
.service-list-container.data-v-8ee8abb3{position:absolute;top:0;left:0;right:0;bottom:96rpx;display:flex;flex-direction:column;background-color:#f5f5f5;padding:0 16rpx;box-sizing:border-box}.service-status-toolbar.data-v-8ee8abb3{display:flex;flex-wrap:nowrap;align-items:center;gap:8rpx;padding:12rpx 8rpx;margin-bottom:24rpx;background-color:#f8f8fa;border-radius:8rpx;border:1px solid #EFEFF2;overflow-x:auto;min-height:64rpx;box-sizing:border-box;flex-shrink:0}.toolbar-total.data-v-8ee8abb3{font-size:24rpx;color:#666;white-space:nowrap;flex-shrink:0;margin-right:8rpx;line-height:1.2;padding:0 4rpx}.toolbar-input.data-v-8ee8abb3{flex:1;min-width:120rpx;max-width:200rpx;height:56rpx;line-height:56rpx;background-color:#f5f6fa;border-radius:8rpx;padding:0 12rpx;font-size:24rpx;border:1px solid transparent;box-sizing:border-box;flex-shrink:1}.toolbar-actions.data-v-8ee8abb3{display:flex;align-items:center;margin-left:auto;flex-shrink:0;gap:8rpx}.toolbar-btn.data-v-8ee8abb3{padding:0 12rpx;height:56rpx;min-width:56rpx;color:#2a68ff;display:flex;align-items:center;justify-content:center;gap:4rpx;font-size:24rpx;font-weight:400;line-height:1;box-sizing:border-box}.toolbar-btn text.data-v-8ee8abb3{color:#2a68ff}.service-list.data-v-8ee8abb3{flex:1;background-color:transparent;box-sizing:border-box;overflow-y:auto}.service-item.data-v-8ee8abb3{width:100%;box-sizing:border-box;background-color:#fff;border-radius:16rpx;padding:32rpx;margin-bottom:24rpx;box-shadow:0 2rpx 8rpx rgba(0,0,0,.04);position:relative}.service-header.data-v-8ee8abb3{display:flex;justify-content:space-between;align-items:center;margin-bottom:16rpx;position:relative}.service-title.data-v-8ee8abb3{font-size:32rpx;font-weight:500;color:#333}.service-menu-button.data-v-8ee8abb3{width:48rpx;height:48rpx;display:flex;align-items:center;justify-content:center;cursor:pointer}.service-action-menu.data-v-8ee8abb3{position:absolute;top:60rpx;right:32rpx;width:160rpx;background-color:#fff;border-radius:12rpx;box-shadow:0 4rpx 12rpx rgba(0,0,0,.15);z-index:100;overflow:hidden;margin-right:0}.service-action-menu-item.data-v-8ee8abb3{padding:24rpx 32rpx;font-size:28rpx;color:#333;text-align:center;background-color:#fff}.service-action-menu-item.data-v-8ee8abb3:active{background-color:#f5f5f5}.service-action-menu-item--danger.data-v-8ee8abb3{color:#ff5722}.service-action-menu-divider.data-v-8ee8abb3{height:1rpx;background-color:#e0e0e0;margin:0 16rpx}.service-action-menu-mask.data-v-8ee8abb3{position:fixed;top:0;left:0;right:0;bottom:0;background-color:transparent;z-index:99}.service-meta.data-v-8ee8abb3{display:flex;align-items:center;flex-wrap:wrap;margin-bottom:16rpx;gap:16rpx}.service-date.data-v-8ee8abb3,.service-duration.data-v-8ee8abb3{font-size:24rpx;color:#999}.service-recording-name.data-v-8ee8abb3{display:flex;align-items:center;margin-bottom:16rpx;font-size:24rpx;color:#666}.recording-name-label.data-v-8ee8abb3{color:#999;margin-right:8rpx}.recording-name-value.data-v-8ee8abb3{color:#333}.service-recording-text.data-v-8ee8abb3{margin-bottom:16rpx;font-size:24rpx}.recording-text-label.data-v-8ee8abb3{color:#999;display:block;margin-bottom:8rpx}.recording-text-body.data-v-8ee8abb3{color:#333;line-height:1.5;word-break:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.service-content.data-v-8ee8abb3{margin-bottom:24rpx}.service-desc.data-v-8ee8abb3{font-size:28rpx;color:#666;line-height:1.6}.service-customer.data-v-8ee8abb3{display:flex;align-items:center;margin-bottom:16rpx}.customer-avatar.data-v-8ee8abb3{width:64rpx;height:64rpx;background-color:#2196f3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:16rpx}.avatar-text.data-v-8ee8abb3{font-size:32rpx;color:#fff;font-weight:500}.customer-name.data-v-8ee8abb3{font-size:28rpx;color:#333}.ai-tag.data-v-8ee8abb3{padding-top:16rpx;border-top:1px solid #F0F0F0}.ai-tag text.data-v-8ee8abb3{font-size:24rpx;color:#999}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,12 @@
{
"navigationStyle": "custom",
"usingComponents": {
"customer-list": "./components/CustomerList",
"service-list": "./components/ServiceList",
"customer-profile-modal": "./components/CustomerProfileModal",
"conversation-summary-furniture": "./components/ConversationSummaryFurniture",
"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",
"uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long