diff --git a/pages-subpackage/furniture_reception/serviceListFurniture.vue b/pages-subpackage/furniture_reception/serviceListFurniture.vue index 6cf2a52..f4dc1f1 100644 --- a/pages-subpackage/furniture_reception/serviceListFurniture.vue +++ b/pages-subpackage/furniture_reception/serviceListFurniture.vue @@ -62,46 +62,9 @@ {{ item.staffName || '未分配销售' }} - - - - 结束服务 - - - - - - - - - {{ isRecordingItem(item.id) ? '停止录音' : '开始录音' }} - - - 补录客户 - - - {{ isUploading(item.id) ? '上传中' : '上传录音' }} - - - - + + + {{ recordStateLabel }} @@ -145,6 +108,31 @@ {{ item.durationText }} + + + 录音 + + + 停止录音 + + + 补录客户 + + + {{ isUploading(item.id) ? '上传中' : '上传录音' }} + + + 结束服务 + + {{ emptyListHint }} @@ -154,12 +142,6 @@ - - @@ -286,8 +268,7 @@ export default { recorderSupported: false, recorderManager: null, recordingServiceId: null, - recordingContext: null, - actionMenuForId: null + recordingContext: null } }, mounted() { @@ -308,51 +289,6 @@ 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) { @@ -820,7 +756,6 @@ export default { }, async uploadFileForRecord(item, selectedFile) { const recordId = String(item.id); - this.closeActionMenu(); this.uploadingIds = [...this.uploadingIds, recordId]; try { uni.showLoading({ @@ -878,8 +813,6 @@ export default { }); return; } - this.closeActionMenu(); - uni.showModal({ title: '确认结束', content: `确定要结束这条服务记录吗?`, @@ -1285,92 +1218,65 @@ export default { font-weight: 500; color: #333; } - - .service-status { - display: flex; - align-items: center; - gap: 8rpx; - } - .action-trigger { + .service-status-indicator { display: inline-flex; align-items: center; gap: 6rpx; - padding: 0; - border-radius: 10rpx; - background-color: #EEF4FF; - overflow: hidden; + flex-shrink: 0; } - .action-trigger__primary { - padding: 6rpx 12rpx; - display: inline-flex; - align-items: center; - justify-content: center; - background-color: transparent; - } - - .action-trigger__primary-text { + .service-status-indicator__text { font-size: 26rpx; color: #007AFF; white-space: nowrap; } + + .service-actions-row { + display: flex; + align-items: center; + justify-content: flex-end; + flex-wrap: wrap; + gap: 12rpx; + margin-top: 18rpx; + } - .action-trigger__more { - padding: 6rpx 10rpx 6rpx 6rpx; + .service-action-btn { + padding: 8rpx 18rpx; + border-radius: 10rpx; + font-size: 24rpx; + line-height: 1.2; display: inline-flex; align-items: center; justify-content: center; - border-left: 1px solid rgba(0, 122, 255, 0.15); - background-color: transparent; + border: 1px solid transparent; + background-color: #F8FAFF; } - .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; + .service-action-btn--record { color: #007AFF; + border-color: rgba(0, 122, 255, 0.22); + } + + .service-action-btn--recording { + color: #FF3B30; + border-color: rgba(255, 59, 48, 0.25); + } + + .service-action-btn--supplement { + color: #10B981; + border-color: rgba(16, 185, 129, 0.25); + } + + .service-action-btn--upload { + color: #7C3AED; + border-color: rgba(124, 58, 237, 0.25); + } + + .service-action-btn--finish { + color: #EF4444; + border-color: rgba(239, 68, 68, 0.28); + background-color: #FFF7F7; } .customer-tags { diff --git a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.js b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.js index 431de2d..b80aa89 100644 --- a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.js +++ b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.js @@ -1 +1 @@ -"use strict";const e=require("../../common/vendor.js"),t=require("../../common/config.js"),i=require("../../common/store.js");function o(...e){for(const t of e){if(null==t)continue;const e=String(t).trim();if(e)return e}return""}const n={props:{recordStateLabel:{type:String,default:"服务中"},emptyListHint:{type:String,default:"暂无服务中记录"},showReceptionEntryShortcut:{type:Boolean,default:!1},showRecordStateIndicator:{type:Boolean,default:!0}},data:()=>({serviceStatusLoading:!1,serviceStatusTotal:0,serviceStatusPage:{current:1,size:10},serviceStatusQuery:{salesName:"",customerName:"",salesPhone:""},isAdmin:!1,currentUserPhone:"",serviceStatusList:[],showSupplementModal:!1,currentSupplementItem:null,uploadingIds:[],supplementForm:{customerName:"",contact:"",recordingName:"",remarks:""},recorderSupported:!1,recorderManager:null,recordingServiceId:null,recordingContext:null,actionMenuForId:null}),mounted(){this.checkUserRole(),this.loadCurrentUserPhone(),this.initServiceRecorder(),this.fetchServiceStatusList()},beforeUnmount(){if(this.recorderManager&&this.recordingServiceId)try{this.recorderManager.stop()}catch(e){}},methods:{toggleActionMenu(e){const t=null==e?null:String(e);this.actionMenuForId=t?this.actionMenuForId===t?null:t:null},closeActionMenu(){this.actionMenuForId=null},onActionMenuSelect(e,t){if(!t||!t.id)return void this.closeActionMenu();const i=String(t.id);if(this.actionMenuForId&&String(this.actionMenuForId)!==i&&(this.actionMenuForId=i),"record"===e)return this.isRecordingItem(t.id)?this.stopPhoneRecordAndUpload(t):this.startPhoneRecord(t),void this.closeActionMenu();if("supplement"===e)return this.showSupplementDialog(t),void this.closeActionMenu();if("upload"===e){if(this.isUploading(t.id))return;return this.chooseAndUploadFile(t),void this.closeActionMenu()}if("finish"===e)return this.finishService(t),void this.closeActionMenu();this.closeActionMenu()},initServiceRecorder(){this.recorderSupported="function"==typeof e.index.getRecorderManager,this.recorderSupported&&(this.recorderManager=e.index.getRecorderManager(),this.recorderManager.onStop((t=>{const i=this.recordingContext;this.recordingServiceId=null,this.recordingContext=null;const o=t.tempFilePath||"";if(!i||!i.id)return;if(!o)return void e.index.showToast({title:"未获取到录音文件",icon:"none"});const n=`service_record_${i.id}_${Date.now()}.mp3`;this.uploadFileForRecord(i,{path:o,name:n})})),this.recorderManager.onError((()=>{this.recordingServiceId=null,this.recordingContext=null,e.index.showToast({title:"录音出错",icon:"none"})})))},isRecordingItem(e){return!(!e||!this.recordingServiceId)&&String(e)===this.recordingServiceId},startPhoneRecord(t){if(this.recorderSupported&&this.recorderManager)if(t&&t.id)if(this.recordingServiceId)e.index.showToast({title:"请先停止当前录音",icon:"none"});else if(this.isUploading(t.id))e.index.showToast({title:"正在上传,请稍候",icon:"none"});else{this.recordingContext={...t},this.recordingServiceId=String(t.id);try{this.recorderManager.start({duration:6e5,sampleRate:44100,numberOfChannels:1,encodeBitRate:96e3,format:"mp3"})}catch(i){this.recordingServiceId=null,this.recordingContext=null,e.index.showToast({title:"无法开始录音",icon:"none"})}}else e.index.showToast({title:"无法获取服务记录ID",icon:"none"});else e.index.showToast({title:"当前环境不支持录音,请使用微信小程序或 App",icon:"none"})},stopPhoneRecordAndUpload(e){this.recorderManager&&(null==e?void 0:e.id)&&String(e.id)===this.recordingServiceId&&this.recorderManager.stop()},checkUserRole(){try{const t=e=>"string"==typeof e?e.split(",").map((e=>e.trim().toLowerCase())).filter(Boolean):[],i=e.index.getStorageSync("backend-role-name")||"",o=(e.index.getStorageSync("backend-login-response")||{}).roleName||"",n=[...t(i),...t(o)];this.isAdmin=n.some((e=>e.includes("admin"))),console.log("用户角色检查:",{storedRole:i,respRole:o,roles:n,isAdmin:this.isAdmin})}catch(t){console.error("检查用户角色失败:",t),this.isAdmin=!1}},loadCurrentUserPhone(){try{const t=e.index.getStorageSync("backend-login-response")||{};t.phone?this.currentUserPhone=t.phone:t.userName?this.currentUserPhone=t.userName:this.currentUserPhone=""}catch(t){console.error("加载当前用户手机号或登录账户失败:",t),this.currentUserPhone=""}},onServiceStatusSearch(){this.serviceStatusPage.current=1,this.fetchServiceStatusList({force:!0})},onServiceStatusRefresh(){this.serviceStatusPage.current=1,this.fetchServiceStatusList({force:!0})},goReceptionEntry(){e.index.navigateTo({url:"/pages-subpackage/furniture_reception/furniture_reception_entry?tab=reception",fail:()=>{e.index.showToast({title:"跳转接待失败",icon:"none"})}})},onServiceStatusReachBottom(){this.serviceStatusLoading||this.serviceStatusList.length>=this.serviceStatusTotal||(this.serviceStatusPage.current+=1,this.fetchServiceStatusList())},async fetchServiceStatusList({force:i=!1}={}){var o,n,r,s,a,c,l;if(!this.serviceStatusLoading||i){this.serviceStatusLoading=!0;try{const u={current:this.serviceStatusPage.current,size:this.serviceStatusPage.size,serviceStatus:"服务中"},h=null==(n=null==(o=this.serviceStatusQuery)?void 0:o.salesName)?void 0:n.trim(),m=null==(s=null==(r=this.serviceStatusQuery)?void 0:r.customerName)?void 0:s.trim();if(h&&(u.salesName=h),m&&(u.customerName=m),this.isAdmin){const e=null==(c=null==(a=this.serviceStatusQuery)?void 0:a.salesPhone)?void 0:c.trim();e&&(u.salesPhone=e)}else this.currentUserPhone&&(u.salesPhone=this.currentUserPhone);u.serviceStatus="服务中";const p=Object.keys(u).filter((e=>null!==u[e]&&void 0!==u[e]&&""!==u[e])).map((e=>`${encodeURIComponent(e)}=${encodeURIComponent(u[e])}`)).join("&");console.log("服务状态查询参数:",JSON.stringify(u)),console.log("查询字符串:",p);const S=t.getApiUrl("/api/audioManagement/list"),g=p?`${S}?${p}`:S;let v="",f="";try{v=e.index.getStorageSync("backend-tenant-id")||"",f=e.index.getStorageSync("backend-token")||""}catch(d){console.error("获取认证信息失败:",d)}const y={"Content-Type":"application/json"};f&&(y.Authorization=`Bearer ${f}`),v&&(y["X-Tenant-Id"]=v);const x=await e.index.request({url:g,method:"POST",data:{},header:y,timeout:3e4});if(200===x.statusCode&&x.data&&x.data.success){const e=Array.isArray(x.data.data)?x.data.data:[];if(0===e.length)return this.serviceStatusList=[],void(this.serviceStatusTotal=0);const t=e.map((e=>this.buildServiceStatusItem(e))).filter((e=>null!==e));1===this.serviceStatusPage.current||i?this.serviceStatusList=[...t]:this.serviceStatusList=[...this.serviceStatusList,...t],this.serviceStatusTotal=Number(x.data.total)||0}else this.serviceStatusList=[],this.serviceStatusTotal=0,e.index.showToast({title:(null==(l=x.data)?void 0:l.message)||"获取服务中列表失败",icon:"none"})}catch(u){console.error("获取服务中列表失败:",u);let t="获取服务状态失败,请稍后重试";u.errMsg&&(u.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":u.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}finally{this.serviceStatusLoading=!1}}},buildServiceStatusItem(e={}){if(!e||"object"!=typeof e)return null;const t=this.formatDateTime(e.createTime),i=[];e.recordingName&&i.push({text:`录音:${e.recordingName}`,color:"blue"}),e.intentionLevel&&i.push({text:`意向:${e.intentionLevel}`,color:"orange"}),e.projectName&&i.push({text:`项目:${e.projectName}`,color:"blue"});const n=o(e.recordingName)||(o(e.customerName)?`${String(e.customerName).trim()}的接待记录`:"")||"";return{id:e.id||"",staffName:e.salesName||"未分配销售",status:e.syncStatus||"服务中",customerName:e.customerName||"",customerPhone:e.customerPhone||"",customerId:e.customerId||"",recordingName:e.recordingName||"",title:n,remarks:e.remarks||"",tags:i,durationText:t?`开始时间:${t}`:"暂无开始时间"}},formatDateTime(e){if(!e)return"";const t=new Date(e);if(Number.isNaN(t.getTime()))return"";return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}`},viewServiceDetail(e){console.log("查看服务详情",e)},isUploading(e){return!!e&&this.uploadingIds.includes(String(e))},isMp3UploadFile(e){if(!e||!e.path)return!1;const t=e=>{if(!e||"string"!=typeof e)return"";return(e.split("/").pop()||e.split("\\").pop()||e).trim()},i=[t(e.name),t(e.path)].filter(Boolean);for(const o of i)if(o.toLowerCase().endsWith(".mp3"))return!0;return!1},async chooseAndUploadFile(t){if(!t||!t.id)return void e.index.showToast({title:"无法获取服务记录ID",icon:"none"});if(this.isUploading(t.id))return;const i=await this.selectUploadFile();i&&i.path&&await this.uploadFileForRecord(t,i)},selectUploadFile(){return new Promise((t=>{const i=i=>{const o=(e=>{const t=Array.isArray(null==e?void 0:e.tempFiles)?e.tempFiles:[];if(!t.length)return null;const i=t[0]||{},o=i.path||i.tempFilePath||i.url||"",n=i.name||o.split("/").pop()||`service_file_${Date.now()}`;return o?{path:o,name:n}:null})(i);return o?this.isMp3UploadFile(o)?void t(o):(e.index.showToast({title:"仅支持上传 MP3 文件",icon:"none"}),void t(null)):(e.index.showToast({title:"未选择有效文件",icon:"none"}),void t(null))},o=i=>{((null==i?void 0:i.errMsg)||"").includes("cancel")||(console.error("选择文件失败:",i),e.index.showToast({title:"选择文件失败",icon:"none"})),t(null)};"function"!=typeof e.index.chooseMessageFile?"function"!=typeof e.index.chooseFile?e.index.chooseImage({count:1,success:i,fail:o}):e.index.chooseFile({count:1,extension:[".mp3"],success:i,fail:o}):e.index.chooseMessageFile({count:1,type:"file",success:i,fail:o})}))},getAuthHeaders(){let t="",i="";try{t=e.index.getStorageSync("backend-tenant-id")||"",i=e.index.getStorageSync("backend-token")||""}catch(n){console.error("获取认证信息失败:",n)}const o={};return i&&(o.Authorization=`Bearer ${i}`),t&&(o["X-Tenant-Id"]=t),o},async uploadFileForRecord(i,o){const n=String(i.id);this.closeActionMenu(),this.uploadingIds=[...this.uploadingIds,n];try{e.index.showLoading({title:"上传中..."});const s=await e.index.uploadFile({url:t.getApiUrl("/api/audio/upload"),filePath:o.path,name:"file",formData:{id:i.id,audioId:i.id,customerId:i.customerId||"",customerName:i.customerName||"",fileName:o.name||`service_file_${Date.now()}`},header:this.getAuthHeaders(),timeout:6e4});let a={};try{a="string"==typeof(null==s?void 0:s.data)?JSON.parse(s.data):(null==s?void 0:s.data)||{}}catch(r){a=(null==s?void 0:s.data)||{}}if(200===(null==s?void 0:s.statusCode)&&!1!==(null==a?void 0:a.success))return e.index.showToast({title:"上传成功",icon:"success"}),this.serviceStatusPage.current=1,void this.fetchServiceStatusList({force:!0});e.index.showToast({title:(null==a?void 0:a.message)||"上传失败",icon:"none"})}catch(s){console.error("上传文件失败:",s),e.index.showToast({title:(null==s?void 0:s.errMsg)||(null==s?void 0:s.message)||"上传失败",icon:"none"})}finally{e.index.hideLoading(),this.uploadingIds=this.uploadingIds.filter((e=>e!==n))}},async finishService(i){i&&i.id?(this.closeActionMenu(),e.index.showModal({title:"确认结束",content:"确定要结束这条服务记录吗?",success:async o=>{var n,r;if(o.confirm)try{e.index.showLoading({title:"结束中..."});const o=t.getApiUrl("/api/audioManagement/finishServiceById");let a="",c="";try{a=e.index.getStorageSync("backend-tenant-id")||"",c=e.index.getStorageSync("backend-token")||""}catch(s){console.error("获取认证信息失败:",s)}const l={"Content-Type":"application/json"};c&&(l.Authorization=`Bearer ${c}`),a&&(l["X-Tenant-Id"]=a);const d={id:i.id},u=await e.index.request({url:o,method:"POST",data:d,header:l,timeout:3e4});if(e.index.hideLoading(),200===u.statusCode&&u.data&&u.data.success){const t=((null==(n=u.data)?void 0:n.message)||"结束服务成功").replace(/[A-Za-z]+/g,"").split(/\n/).map((e=>e.trim())).filter(Boolean).join("\n")||"结束服务成功";e.index.showToast({title:t,icon:"success"}),this.serviceStatusPage.current=1,this.fetchServiceStatusList({force:!0})}else e.index.showToast({title:(null==(r=u.data)?void 0:r.message)||"结束服务失败",icon:"none"})}catch(a){e.index.hideLoading(),console.error("结束服务失败:",a);let t="结束服务失败,请重试";a.errMsg&&(a.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":a.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}}})):e.index.showToast({title:"无法获取服务记录ID",icon:"none"})},showSupplementDialog(e){this.currentSupplementItem=e,this.supplementForm={customerName:e.customerName||"",contact:e.customerPhone||"",recordingName:e.recordingName||"",remarks:e.remarks||""},this.showSupplementModal=!0},closeSupplementDialog(){this.showSupplementModal=!1,this.currentSupplementItem=null,this.supplementForm={customerName:"",contact:"",recordingName:"",remarks:""}},async saveSupplement(){var n,r,s,a,c;const l=null==(n=this.supplementForm.contact)?void 0:n.trim();if(!l||this.isValidPhoneNumber(l))if(this.currentSupplementItem&&this.currentSupplementItem.id)try{e.index.showLoading({title:"保存中..."});let n="",u="";try{n=e.index.getStorageSync("backend-tenant-id")||"",u=e.index.getStorageSync("backend-token")||""}catch(d){console.error("获取认证信息失败:",d)}const h={"Content-Type":"application/json"};u&&(h.Authorization=`Bearer ${u}`),n&&(h["X-Tenant-Id"]=n);let m={};try{m=e.index.getStorageSync("backend-login-response")||{}}catch(d){console.error("读取登录信息失败:",d)}const p=i.store.userInfo||{},S=o(m.phone,m.userName,p.username),g=o(m.realName,m.name,m.nickName,p.nickname,m.userName,p.username),v={id:this.currentSupplementItem.id,customerId:this.currentSupplementItem.customerId||"",customerName:(null==(r=this.supplementForm.customerName)?void 0:r.trim())||"",customerPhone:l||"",recordingName:(null==(s=this.supplementForm.recordingName)?void 0:s.trim())||"",remarks:(null==(a=this.supplementForm.remarks)?void 0:a.trim())||"",salesPhone:S,salesName:g},f=await e.index.request({url:t.getApiUrl("/api/audioManagement/updateForCustomerInfo"),method:"PUT",data:v,header:h,timeout:3e4});e.index.hideLoading(),200===f.statusCode&&f.data&&f.data.success?(e.index.showToast({title:"补录成功",icon:"success"}),this.closeSupplementDialog(),this.serviceStatusPage.current=1,this.fetchServiceStatusList({force:!0})):e.index.showToast({title:(null==(c=f.data)?void 0:c.message)||"补录失败",icon:"none"})}catch(u){e.index.hideLoading(),console.error("补录失败:",u);let t="补录失败,请重试";u.errMsg&&(u.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":u.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}else e.index.showToast({title:"无法获取服务记录ID",icon:"none"});else e.index.showToast({title:"请输入有效的客户电话",icon:"none"})},isValidPhoneNumber(e){const t=null==e?void 0:e.trim();return!!t&&/^1[3-9]\d{9}$/.test(t)}}};if(!Array){e.resolveComponent("uni-icons")()}Math;const r=e._export_sfc(n,[["render",function(t,i,o,n,r,s){return e.e({a:e.t(r.serviceStatusTotal),b:e.o(((...e)=>s.onServiceStatusSearch&&s.onServiceStatusSearch(...e)),"1e"),c:r.serviceStatusQuery.salesName,d:e.o((e=>r.serviceStatusQuery.salesName=e.detail.value),"5b"),e:e.o(((...e)=>s.onServiceStatusSearch&&s.onServiceStatusSearch(...e)),"4f"),f:r.serviceStatusQuery.customerName,g:e.o((e=>r.serviceStatusQuery.customerName=e.detail.value),"ff"),h:r.isAdmin},r.isAdmin?{i:e.o(((...e)=>s.onServiceStatusSearch&&s.onServiceStatusSearch(...e)),"91"),j:r.serviceStatusQuery.salesPhone,k:e.o((e=>r.serviceStatusQuery.salesPhone=e.detail.value),"86")}:{},{l:o.showReceptionEntryShortcut},o.showReceptionEntryShortcut?{m:e.p({type:"home",size:"18",color:"#2A68FF"}),n:e.o(((...e)=>s.goReceptionEntry&&s.goReceptionEntry(...e)),"5d")}:{},{o:e.p({type:"refresh",size:"18",color:"#2A68FF"}),p:e.o(((...e)=>s.onServiceStatusRefresh&&s.onServiceStatusRefresh(...e)),"84"),q:e.f(r.serviceStatusList,((t,i,n)=>e.e({a:e.t(t.staffName?t.staffName.charAt(0):"未"),b:e.t(t.staffName||"未分配销售"),c:"6f0c59d0-2-"+n,d:e.o((e=>s.toggleActionMenu(t.id)),t.id||i),e:r.actionMenuForId&&String(r.actionMenuForId)===String(t.id)},r.actionMenuForId&&String(r.actionMenuForId)===String(t.id)?{f:e.t(s.isRecordingItem(t.id)?"停止录音":"开始录音"),g:e.o((e=>s.onActionMenuSelect("record",t)),t.id||i),h:e.o((e=>s.onActionMenuSelect("supplement",t)),t.id||i),i:e.t(s.isUploading(t.id)?"上传中":"上传录音"),j:s.isUploading(t.id)?1:"",k:e.o((e=>s.onActionMenuSelect("upload",t)),t.id||i),l:e.o((e=>s.onActionMenuSelect("finish",t)),t.id||i),m:e.o((()=>{}),t.id||i)}:{},o.showRecordStateIndicator?{n:"6f0c59d0-3-"+n,o:e.p({type:"bars",size:"16",color:"#007AFF"}),p:e.t(o.recordStateLabel)}:{},{q:t.title},t.title?{r:e.t(t.title)}:{},{s:e.t(t.customerName||"未知客户"),t:t.customerPhone},t.customerPhone?{v:e.t(t.customerPhone)}:{},{w:e.f(t.tags,((t,i,o)=>({a:e.t(t.text),b:e.n("tag-"+t.color),c:i}))),x:t.alert},t.alert?e.e({y:e.t(t.alert.title),z:"risk"===t.alert.type},"risk"===t.alert.type?{A:e.t(t.alert.message)}:{B:e.f(t.alert.messages,((t,i,o)=>({a:e.t(t),b:i})))},{C:e.n("risk"===t.alert.type?"alert-risk-text":"alert-reminder-text"),D:e.n("risk"===t.alert.type?"alert-risk-box":"alert-reminder-box")}):{},{E:e.t(t.durationText),F:t.id||i,G:e.o((e=>s.viewServiceDetail(t)),t.id||i)}))),r:e.p({type:"bottom",size:"16",color:"#007AFF"}),s:o.showRecordStateIndicator,t:!r.serviceStatusLoading&&!r.serviceStatusList.length},r.serviceStatusLoading||r.serviceStatusList.length?{}:{v:e.t(o.emptyListHint)},{w:r.serviceStatusLoading&&r.serviceStatusList.length},(r.serviceStatusLoading&&r.serviceStatusList.length,{}),{x:e.o(((...e)=>s.onServiceStatusReachBottom&&s.onServiceStatusReachBottom(...e)),"d2"),y:r.actionMenuForId},r.actionMenuForId?{z:e.o(((...e)=>s.closeActionMenu&&s.closeActionMenu(...e)),"8e")}:{},{A:r.showSupplementModal},r.showSupplementModal?{B:e.p({type:"close",size:"20",color:"#999"}),C:e.o(((...e)=>s.closeSupplementDialog&&s.closeSupplementDialog(...e)),"00"),D:r.supplementForm.customerName,E:e.o((e=>r.supplementForm.customerName=e.detail.value),"1c"),F:r.supplementForm.contact,G:e.o((e=>r.supplementForm.contact=e.detail.value),"26"),H:r.supplementForm.recordingName,I:e.o((e=>r.supplementForm.recordingName=e.detail.value),"bd"),J:r.supplementForm.remarks,K:e.o((e=>r.supplementForm.remarks=e.detail.value),"5c"),L:e.o(((...e)=>s.closeSupplementDialog&&s.closeSupplementDialog(...e)),"b1"),M:e.o(((...e)=>s.saveSupplement&&s.saveSupplement(...e)),"77"),N:e.o((()=>{}),"70"),O:e.o(((...e)=>s.closeSupplementDialog&&s.closeSupplementDialog(...e)),"d6")}:{})}],["__scopeId","data-v-6f0c59d0"]]);wx.createComponent(r); +"use strict";const e=require("../../common/vendor.js"),t=require("../../common/config.js"),i=require("../../common/store.js");function o(...e){for(const t of e){if(null==t)continue;const e=String(t).trim();if(e)return e}return""}const r={props:{recordStateLabel:{type:String,default:"服务中"},emptyListHint:{type:String,default:"暂无服务中记录"},showReceptionEntryShortcut:{type:Boolean,default:!1},showRecordStateIndicator:{type:Boolean,default:!0}},data:()=>({serviceStatusLoading:!1,serviceStatusTotal:0,serviceStatusPage:{current:1,size:10},serviceStatusQuery:{salesName:"",customerName:"",salesPhone:""},isAdmin:!1,currentUserPhone:"",serviceStatusList:[],showSupplementModal:!1,currentSupplementItem:null,uploadingIds:[],supplementForm:{customerName:"",contact:"",recordingName:"",remarks:""},recorderSupported:!1,recorderManager:null,recordingServiceId:null,recordingContext:null}),mounted(){this.checkUserRole(),this.loadCurrentUserPhone(),this.initServiceRecorder(),this.fetchServiceStatusList()},beforeUnmount(){if(this.recorderManager&&this.recordingServiceId)try{this.recorderManager.stop()}catch(e){}},methods:{initServiceRecorder(){this.recorderSupported="function"==typeof e.index.getRecorderManager,this.recorderSupported&&(this.recorderManager=e.index.getRecorderManager(),this.recorderManager.onStop((t=>{const i=this.recordingContext;this.recordingServiceId=null,this.recordingContext=null;const o=t.tempFilePath||"";if(!i||!i.id)return;if(!o)return void e.index.showToast({title:"未获取到录音文件",icon:"none"});const r=`service_record_${i.id}_${Date.now()}.mp3`;this.uploadFileForRecord(i,{path:o,name:r})})),this.recorderManager.onError((()=>{this.recordingServiceId=null,this.recordingContext=null,e.index.showToast({title:"录音出错",icon:"none"})})))},isRecordingItem(e){return!(!e||!this.recordingServiceId)&&String(e)===this.recordingServiceId},startPhoneRecord(t){if(this.recorderSupported&&this.recorderManager)if(t&&t.id)if(this.recordingServiceId)e.index.showToast({title:"请先停止当前录音",icon:"none"});else if(this.isUploading(t.id))e.index.showToast({title:"正在上传,请稍候",icon:"none"});else{this.recordingContext={...t},this.recordingServiceId=String(t.id);try{this.recorderManager.start({duration:6e5,sampleRate:44100,numberOfChannels:1,encodeBitRate:96e3,format:"mp3"})}catch(i){this.recordingServiceId=null,this.recordingContext=null,e.index.showToast({title:"无法开始录音",icon:"none"})}}else e.index.showToast({title:"无法获取服务记录ID",icon:"none"});else e.index.showToast({title:"当前环境不支持录音,请使用微信小程序或 App",icon:"none"})},stopPhoneRecordAndUpload(e){this.recorderManager&&(null==e?void 0:e.id)&&String(e.id)===this.recordingServiceId&&this.recorderManager.stop()},checkUserRole(){try{const t=e=>"string"==typeof e?e.split(",").map((e=>e.trim().toLowerCase())).filter(Boolean):[],i=e.index.getStorageSync("backend-role-name")||"",o=(e.index.getStorageSync("backend-login-response")||{}).roleName||"",r=[...t(i),...t(o)];this.isAdmin=r.some((e=>e.includes("admin"))),console.log("用户角色检查:",{storedRole:i,respRole:o,roles:r,isAdmin:this.isAdmin})}catch(t){console.error("检查用户角色失败:",t),this.isAdmin=!1}},loadCurrentUserPhone(){try{const t=e.index.getStorageSync("backend-login-response")||{};t.phone?this.currentUserPhone=t.phone:t.userName?this.currentUserPhone=t.userName:this.currentUserPhone=""}catch(t){console.error("加载当前用户手机号或登录账户失败:",t),this.currentUserPhone=""}},onServiceStatusSearch(){this.serviceStatusPage.current=1,this.fetchServiceStatusList({force:!0})},onServiceStatusRefresh(){this.serviceStatusPage.current=1,this.fetchServiceStatusList({force:!0})},goReceptionEntry(){e.index.navigateTo({url:"/pages-subpackage/furniture_reception/furniture_reception_entry?tab=reception",fail:()=>{e.index.showToast({title:"跳转接待失败",icon:"none"})}})},onServiceStatusReachBottom(){this.serviceStatusLoading||this.serviceStatusList.length>=this.serviceStatusTotal||(this.serviceStatusPage.current+=1,this.fetchServiceStatusList())},async fetchServiceStatusList({force:i=!1}={}){var o,r,s,n,a,c,l;if(!this.serviceStatusLoading||i){this.serviceStatusLoading=!0;try{const u={current:this.serviceStatusPage.current,size:this.serviceStatusPage.size,serviceStatus:"服务中"},h=null==(r=null==(o=this.serviceStatusQuery)?void 0:o.salesName)?void 0:r.trim(),m=null==(n=null==(s=this.serviceStatusQuery)?void 0:s.customerName)?void 0:n.trim();if(h&&(u.salesName=h),m&&(u.customerName=m),this.isAdmin){const e=null==(c=null==(a=this.serviceStatusQuery)?void 0:a.salesPhone)?void 0:c.trim();e&&(u.salesPhone=e)}else this.currentUserPhone&&(u.salesPhone=this.currentUserPhone);u.serviceStatus="服务中";const p=Object.keys(u).filter((e=>null!==u[e]&&void 0!==u[e]&&""!==u[e])).map((e=>`${encodeURIComponent(e)}=${encodeURIComponent(u[e])}`)).join("&");console.log("服务状态查询参数:",JSON.stringify(u)),console.log("查询字符串:",p);const S=t.getApiUrl("/api/audioManagement/list"),g=p?`${S}?${p}`:S;let v="",f="";try{v=e.index.getStorageSync("backend-tenant-id")||"",f=e.index.getStorageSync("backend-token")||""}catch(d){console.error("获取认证信息失败:",d)}const y={"Content-Type":"application/json"};f&&(y.Authorization=`Bearer ${f}`),v&&(y["X-Tenant-Id"]=v);const x=await e.index.request({url:g,method:"POST",data:{},header:y,timeout:3e4});if(200===x.statusCode&&x.data&&x.data.success){const e=Array.isArray(x.data.data)?x.data.data:[];if(0===e.length)return this.serviceStatusList=[],void(this.serviceStatusTotal=0);const t=e.map((e=>this.buildServiceStatusItem(e))).filter((e=>null!==e));1===this.serviceStatusPage.current||i?this.serviceStatusList=[...t]:this.serviceStatusList=[...this.serviceStatusList,...t],this.serviceStatusTotal=Number(x.data.total)||0}else this.serviceStatusList=[],this.serviceStatusTotal=0,e.index.showToast({title:(null==(l=x.data)?void 0:l.message)||"获取服务中列表失败",icon:"none"})}catch(u){console.error("获取服务中列表失败:",u);let t="获取服务状态失败,请稍后重试";u.errMsg&&(u.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":u.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}finally{this.serviceStatusLoading=!1}}},buildServiceStatusItem(e={}){if(!e||"object"!=typeof e)return null;const t=this.formatDateTime(e.createTime),i=[];e.recordingName&&i.push({text:`录音:${e.recordingName}`,color:"blue"}),e.intentionLevel&&i.push({text:`意向:${e.intentionLevel}`,color:"orange"}),e.projectName&&i.push({text:`项目:${e.projectName}`,color:"blue"});const r=o(e.recordingName)||(o(e.customerName)?`${String(e.customerName).trim()}的接待记录`:"")||"";return{id:e.id||"",staffName:e.salesName||"未分配销售",status:e.syncStatus||"服务中",customerName:e.customerName||"",customerPhone:e.customerPhone||"",customerId:e.customerId||"",recordingName:e.recordingName||"",title:r,remarks:e.remarks||"",tags:i,durationText:t?`开始时间:${t}`:"暂无开始时间"}},formatDateTime(e){if(!e)return"";const t=new Date(e);if(Number.isNaN(t.getTime()))return"";return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}`},viewServiceDetail(e){console.log("查看服务详情",e)},isUploading(e){return!!e&&this.uploadingIds.includes(String(e))},isMp3UploadFile(e){if(!e||!e.path)return!1;const t=e=>{if(!e||"string"!=typeof e)return"";return(e.split("/").pop()||e.split("\\").pop()||e).trim()},i=[t(e.name),t(e.path)].filter(Boolean);for(const o of i)if(o.toLowerCase().endsWith(".mp3"))return!0;return!1},async chooseAndUploadFile(t){if(!t||!t.id)return void e.index.showToast({title:"无法获取服务记录ID",icon:"none"});if(this.isUploading(t.id))return;const i=await this.selectUploadFile();i&&i.path&&await this.uploadFileForRecord(t,i)},selectUploadFile(){return new Promise((t=>{const i=i=>{const o=(e=>{const t=Array.isArray(null==e?void 0:e.tempFiles)?e.tempFiles:[];if(!t.length)return null;const i=t[0]||{},o=i.path||i.tempFilePath||i.url||"",r=i.name||o.split("/").pop()||`service_file_${Date.now()}`;return o?{path:o,name:r}:null})(i);return o?this.isMp3UploadFile(o)?void t(o):(e.index.showToast({title:"仅支持上传 MP3 文件",icon:"none"}),void t(null)):(e.index.showToast({title:"未选择有效文件",icon:"none"}),void t(null))},o=i=>{((null==i?void 0:i.errMsg)||"").includes("cancel")||(console.error("选择文件失败:",i),e.index.showToast({title:"选择文件失败",icon:"none"})),t(null)};"function"!=typeof e.index.chooseMessageFile?"function"!=typeof e.index.chooseFile?e.index.chooseImage({count:1,success:i,fail:o}):e.index.chooseFile({count:1,extension:[".mp3"],success:i,fail:o}):e.index.chooseMessageFile({count:1,type:"file",success:i,fail:o})}))},getAuthHeaders(){let t="",i="";try{t=e.index.getStorageSync("backend-tenant-id")||"",i=e.index.getStorageSync("backend-token")||""}catch(r){console.error("获取认证信息失败:",r)}const o={};return i&&(o.Authorization=`Bearer ${i}`),t&&(o["X-Tenant-Id"]=t),o},async uploadFileForRecord(i,o){const r=String(i.id);this.uploadingIds=[...this.uploadingIds,r];try{e.index.showLoading({title:"上传中..."});const n=await e.index.uploadFile({url:t.getApiUrl("/api/audio/upload"),filePath:o.path,name:"file",formData:{id:i.id,audioId:i.id,customerId:i.customerId||"",customerName:i.customerName||"",fileName:o.name||`service_file_${Date.now()}`},header:this.getAuthHeaders(),timeout:6e4});let a={};try{a="string"==typeof(null==n?void 0:n.data)?JSON.parse(n.data):(null==n?void 0:n.data)||{}}catch(s){a=(null==n?void 0:n.data)||{}}if(200===(null==n?void 0:n.statusCode)&&!1!==(null==a?void 0:a.success))return e.index.showToast({title:"上传成功",icon:"success"}),this.serviceStatusPage.current=1,void this.fetchServiceStatusList({force:!0});e.index.showToast({title:(null==a?void 0:a.message)||"上传失败",icon:"none"})}catch(n){console.error("上传文件失败:",n),e.index.showToast({title:(null==n?void 0:n.errMsg)||(null==n?void 0:n.message)||"上传失败",icon:"none"})}finally{e.index.hideLoading(),this.uploadingIds=this.uploadingIds.filter((e=>e!==r))}},async finishService(i){i&&i.id?e.index.showModal({title:"确认结束",content:"确定要结束这条服务记录吗?",success:async o=>{var r,s;if(o.confirm)try{e.index.showLoading({title:"结束中..."});const o=t.getApiUrl("/api/audioManagement/finishServiceById");let a="",c="";try{a=e.index.getStorageSync("backend-tenant-id")||"",c=e.index.getStorageSync("backend-token")||""}catch(n){console.error("获取认证信息失败:",n)}const l={"Content-Type":"application/json"};c&&(l.Authorization=`Bearer ${c}`),a&&(l["X-Tenant-Id"]=a);const d={id:i.id},u=await e.index.request({url:o,method:"POST",data:d,header:l,timeout:3e4});if(e.index.hideLoading(),200===u.statusCode&&u.data&&u.data.success){const t=((null==(r=u.data)?void 0:r.message)||"结束服务成功").replace(/[A-Za-z]+/g,"").split(/\n/).map((e=>e.trim())).filter(Boolean).join("\n")||"结束服务成功";e.index.showToast({title:t,icon:"success"}),this.serviceStatusPage.current=1,this.fetchServiceStatusList({force:!0})}else e.index.showToast({title:(null==(s=u.data)?void 0:s.message)||"结束服务失败",icon:"none"})}catch(a){e.index.hideLoading(),console.error("结束服务失败:",a);let t="结束服务失败,请重试";a.errMsg&&(a.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":a.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}}}):e.index.showToast({title:"无法获取服务记录ID",icon:"none"})},showSupplementDialog(e){this.currentSupplementItem=e,this.supplementForm={customerName:e.customerName||"",contact:e.customerPhone||"",recordingName:e.recordingName||"",remarks:e.remarks||""},this.showSupplementModal=!0},closeSupplementDialog(){this.showSupplementModal=!1,this.currentSupplementItem=null,this.supplementForm={customerName:"",contact:"",recordingName:"",remarks:""}},async saveSupplement(){var r,s,n,a,c;const l=null==(r=this.supplementForm.contact)?void 0:r.trim();if(!l||this.isValidPhoneNumber(l))if(this.currentSupplementItem&&this.currentSupplementItem.id)try{e.index.showLoading({title:"保存中..."});let r="",u="";try{r=e.index.getStorageSync("backend-tenant-id")||"",u=e.index.getStorageSync("backend-token")||""}catch(d){console.error("获取认证信息失败:",d)}const h={"Content-Type":"application/json"};u&&(h.Authorization=`Bearer ${u}`),r&&(h["X-Tenant-Id"]=r);let m={};try{m=e.index.getStorageSync("backend-login-response")||{}}catch(d){console.error("读取登录信息失败:",d)}const p=i.store.userInfo||{},S=o(m.phone,m.userName,p.username),g=o(m.realName,m.name,m.nickName,p.nickname,m.userName,p.username),v={id:this.currentSupplementItem.id,customerId:this.currentSupplementItem.customerId||"",customerName:(null==(s=this.supplementForm.customerName)?void 0:s.trim())||"",customerPhone:l||"",recordingName:(null==(n=this.supplementForm.recordingName)?void 0:n.trim())||"",remarks:(null==(a=this.supplementForm.remarks)?void 0:a.trim())||"",salesPhone:S,salesName:g},f=await e.index.request({url:t.getApiUrl("/api/audioManagement/updateForCustomerInfo"),method:"PUT",data:v,header:h,timeout:3e4});e.index.hideLoading(),200===f.statusCode&&f.data&&f.data.success?(e.index.showToast({title:"补录成功",icon:"success"}),this.closeSupplementDialog(),this.serviceStatusPage.current=1,this.fetchServiceStatusList({force:!0})):e.index.showToast({title:(null==(c=f.data)?void 0:c.message)||"补录失败",icon:"none"})}catch(u){e.index.hideLoading(),console.error("补录失败:",u);let t="补录失败,请重试";u.errMsg&&(u.errMsg.includes("timeout")?t="请求超时,请检查网络连接后重试":u.errMsg.includes("fail")&&(t="网络请求失败,请检查网络连接")),e.index.showToast({title:t,icon:"none",duration:3e3})}else e.index.showToast({title:"无法获取服务记录ID",icon:"none"});else e.index.showToast({title:"请输入有效的客户电话",icon:"none"})},isValidPhoneNumber(e){const t=null==e?void 0:e.trim();return!!t&&/^1[3-9]\d{9}$/.test(t)}}};if(!Array){e.resolveComponent("uni-icons")()}Math;const s=e._export_sfc(r,[["render",function(t,i,o,r,s,n){return e.e({a:e.t(s.serviceStatusTotal),b:e.o(((...e)=>n.onServiceStatusSearch&&n.onServiceStatusSearch(...e)),"1e"),c:s.serviceStatusQuery.salesName,d:e.o((e=>s.serviceStatusQuery.salesName=e.detail.value),"5b"),e:e.o(((...e)=>n.onServiceStatusSearch&&n.onServiceStatusSearch(...e)),"4f"),f:s.serviceStatusQuery.customerName,g:e.o((e=>s.serviceStatusQuery.customerName=e.detail.value),"ff"),h:s.isAdmin},s.isAdmin?{i:e.o(((...e)=>n.onServiceStatusSearch&&n.onServiceStatusSearch(...e)),"91"),j:s.serviceStatusQuery.salesPhone,k:e.o((e=>s.serviceStatusQuery.salesPhone=e.detail.value),"86")}:{},{l:o.showReceptionEntryShortcut},o.showReceptionEntryShortcut?{m:e.p({type:"home",size:"18",color:"#2A68FF"}),n:e.o(((...e)=>n.goReceptionEntry&&n.goReceptionEntry(...e)),"5d")}:{},{o:e.p({type:"refresh",size:"18",color:"#2A68FF"}),p:e.o(((...e)=>n.onServiceStatusRefresh&&n.onServiceStatusRefresh(...e)),"84"),q:e.f(s.serviceStatusList,((t,i,o)=>e.e({a:e.t(t.staffName?t.staffName.charAt(0):"未"),b:e.t(t.staffName||"未分配销售"),c:"58afef94-2-"+o,d:t.title},t.title?{e:e.t(t.title)}:{},{f:e.t(t.customerName||"未知客户"),g:t.customerPhone},t.customerPhone?{h:e.t(t.customerPhone)}:{},{i:e.f(t.tags,((t,i,o)=>({a:e.t(t.text),b:e.n("tag-"+t.color),c:i}))),j:t.alert},t.alert?e.e({k:e.t(t.alert.title),l:"risk"===t.alert.type},"risk"===t.alert.type?{m:e.t(t.alert.message)}:{n:e.f(t.alert.messages,((t,i,o)=>({a:e.t(t),b:i})))},{o:e.n("risk"===t.alert.type?"alert-risk-text":"alert-reminder-text"),p:e.n("risk"===t.alert.type?"alert-risk-box":"alert-reminder-box")}):{},{q:e.t(t.durationText),r:!n.isRecordingItem(t.id)},n.isRecordingItem(t.id)?{t:e.o((e=>n.stopPhoneRecordAndUpload(t)),t.id||i)}:{s:e.o((e=>n.startPhoneRecord(t)),t.id||i)},{v:e.o((e=>n.showSupplementDialog(t)),t.id||i),w:e.t(n.isUploading(t.id)?"上传中":"上传录音"),x:e.o((e=>n.chooseAndUploadFile(t)),t.id||i),y:e.o((e=>n.finishService(t)),t.id||i),z:t.id||i,A:e.o((e=>n.viewServiceDetail(t)),t.id||i)}))),r:e.p({type:"bars",size:"16",color:"#007AFF"}),s:e.t(o.recordStateLabel),t:!s.serviceStatusLoading&&!s.serviceStatusList.length},s.serviceStatusLoading||s.serviceStatusList.length?{}:{v:e.t(o.emptyListHint)},{w:s.serviceStatusLoading&&s.serviceStatusList.length},(s.serviceStatusLoading&&s.serviceStatusList.length,{}),{x:e.o(((...e)=>n.onServiceStatusReachBottom&&n.onServiceStatusReachBottom(...e)),"d2"),y:s.showSupplementModal},s.showSupplementModal?{z:e.p({type:"close",size:"20",color:"#999"}),A:e.o(((...e)=>n.closeSupplementDialog&&n.closeSupplementDialog(...e)),"ef"),B:s.supplementForm.customerName,C:e.o((e=>s.supplementForm.customerName=e.detail.value),"bd"),D:s.supplementForm.contact,E:e.o((e=>s.supplementForm.contact=e.detail.value),"05"),F:s.supplementForm.recordingName,G:e.o((e=>s.supplementForm.recordingName=e.detail.value),"98"),H:s.supplementForm.remarks,I:e.o((e=>s.supplementForm.remarks=e.detail.value),"de"),J:e.o(((...e)=>n.closeSupplementDialog&&n.closeSupplementDialog(...e)),"4e"),K:e.o(((...e)=>n.saveSupplement&&n.saveSupplement(...e)),"9b"),L:e.o((()=>{}),"61"),M:e.o(((...e)=>n.closeSupplementDialog&&n.closeSupplementDialog(...e)),"3a")}:{})}],["__scopeId","data-v-58afef94"]]);wx.createComponent(s); diff --git a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.wxml b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.wxml index 5a27107..62b95b1 100644 --- a/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.wxml +++ b/unpackage/dist/build/mp-weixin/pages-subpackage/furniture_reception/serviceListFurniture.wxml @@ -1 +1 @@ -共{{a}}条接待刷新{{item.a}}{{item.b}}操作{{item.f}}补录客户{{item.i}}结束服务{{item.p}}{{item.r}}客户:{{item.s}}电话:{{item.v}}{{tag.a}}{{item.y}}{{item.A}}{{msg.a}}{{item.E}}{{v}}正在加载更多...补录信息客户姓名客户电话录音名客户详细地址