Files
smartDriveEEUniApp/unpackage/dist/build/mp-weixin/pages-subpackage/champion/components/training-tab.js
2026-04-17 07:35:37 +08:00

2 lines
12 KiB
JavaScript

"use strict";const i=require("../../../common/vendor.js"),t=require("../../../common/config.js");function n(){try{return i.index.getStorageSync("backend-tenant-id")||""}catch(t){return console.error("获取 tenantId 失败:",t),""}}const e={name:"TrainingTab",data:()=>({trainingList:[],trainingLoading:!1,trainingTotal:0,trainingPage:{current:1,size:10},trainingQuery:{participantName:"",participantPhone:"",finishStatus:""},finishStatusOptions:[{value:"init",label:"初始状态"},{value:"finished",label:"完成状态"}],finishStatusIndex:-1,selectedTrainingItem:null,showTrainingActionMenu:!1,showTrainingItemListPopup:!1,trainingItemList:[],trainingItemLoading:!1,trainingItemTotal:0,trainingItemPage:{current:1,size:10},currentTrainingParentId:"",trainingItemAnswers:{}}),mounted(){this.fetchTrainingList()},methods:{onFinishStatusChange(i){const t=parseInt(i.detail.value);this.finishStatusIndex=t,t>=0&&t<this.finishStatusOptions.length?this.trainingQuery.finishStatus=this.finishStatusOptions[t].value:(this.trainingQuery.finishStatus="",this.finishStatusIndex=0),this.onTrainingSearch()},getFinishStatusLabel:i=>"init"===i?"初始状态":"finished"===i?"完成状态":i||"",onTrainingSearch(){this.trainingPage.current=1,this.fetchTrainingList({force:!0})},onTrainingRefresh(){this.trainingPage.current=1,this.fetchTrainingList({force:!0})},onTrainingReachBottom(){this.trainingLoading||this.trainingList.length>=this.trainingTotal||(this.trainingPage.current+=1,this.fetchTrainingList())},async fetchTrainingList({force:e=!1}={}){var a,s,r,o,g,d;if(!this.trainingLoading||e){this.trainingLoading=!0;try{const h={current:this.trainingPage.current,size:this.trainingPage.size},c=null==(s=null==(a=this.trainingQuery)?void 0:a.participantName)?void 0:s.trim(),l=null==(o=null==(r=this.trainingQuery)?void 0:r.participantPhone)?void 0:o.trim(),u=null==(g=this.trainingQuery)?void 0:g.finishStatus;c&&(h.participantName=c),l&&(h.participantPhone=l),u&&(h.finishStatus=u);const m=Object.keys(h).map((i=>`${i}=${encodeURIComponent(h[i])}`)).join("&"),I=(t.getApiUrl("/api/trainingMain/list"),n()),T={};I&&(T["X-Tenant-Id"]=I,h.tenantId=I);const p=Object.keys(h).map((i=>`${i}=${encodeURIComponent(h[i])}`)).join("&"),L=`${t.getApiUrl("/api/trainingMain/list")}?${p}`,f=await i.index.request({url:L,method:"POST",header:T,timeout:1e4});if(200===f.statusCode&&f.data&&f.data.success){const i=Array.isArray(f.data.data)?f.data.data:[];1===this.trainingPage.current||e?this.trainingList=i:this.trainingList=this.trainingList.concat(i),this.trainingTotal=Number(f.data.total)||0}else this.trainingList=[],this.trainingTotal=0,i.index.showToast({title:(null==(d=f.data)?void 0:d.message)||"获取陪练列表失败",icon:"none"})}catch(h){console.error("获取陪练列表失败:",h),i.index.showToast({title:"获取陪练列表失败,请稍后重试",icon:"none"})}finally{this.trainingLoading=!1}}},onTrainingActionBtnClick(i){this.selectedTrainingItem&&this.selectedTrainingItem.id===i.id&&this.showTrainingActionMenu?this.closeTrainingActionMenu():(this.selectedTrainingItem=i,this.showTrainingActionMenu=!0)},closeTrainingActionMenu(){this.showTrainingActionMenu=!1,this.selectedTrainingItem=null},async startTraining(i){this.closeTrainingActionMenu(),this.currentTrainingParentId=i.id||"",this.trainingItemList=[],this.showTrainingItemListPopup=!0,await this.fetchTrainingItemListAll(i.id||"")},closeTrainingItemListPopup(){this.showTrainingItemListPopup=!1,this.currentTrainingParentId="",this.trainingItemPage.current=1,this.trainingItemList=[],this.trainingItemAnswers={}},onTrainingItemListReachBottom(){this.trainingItemLoading||this.trainingItemList.length>=this.trainingItemTotal||(this.trainingItemPage.current+=1,this.fetchTrainingItemList())},async fetchTrainingItemListAll(e){var a;if(e){this.trainingItemLoading=!0;try{const s=n(),r={parentId:e};s&&(r.tenantId=s);const o=Object.keys(r).filter((i=>null!==r[i]&&void 0!==r[i]&&""!==r[i])).map((i=>`${encodeURIComponent(i)}=${encodeURIComponent(r[i])}`)).join("&"),g=`${t.getApiUrl("/api/trainingItem/listAll")}?${o}`,d={"Content-Type":"application/json"};s&&(d["X-Tenant-Id"]=s);const h=await i.index.request({url:g,method:"POST",header:d,timeout:3e4});if(200===h.statusCode&&h.data&&h.data.success){const i=Array.isArray(h.data.data)?h.data.data:[];this.trainingItemList=i,this.trainingItemTotal=Number(h.data.count)||i.length,this.initTrainingItemAnswers(i)}else this.trainingItemList=[],this.trainingItemTotal=0,i.index.showToast({title:(null==(a=h.data)?void 0:a.message)||"获取陪练中列表失败",icon:"none"})}catch(s){console.error("获取陪练中列表失败:",s),i.index.showToast({title:"获取陪练中列表失败,请稍后重试",icon:"none"})}finally{this.trainingItemLoading=!1}}else i.index.showToast({title:"缺少父ID参数",icon:"none"})},async fetchTrainingItemList({force:e=!1}={}){var a;if((!this.trainingItemLoading||e)&&this.currentTrainingParentId){this.trainingItemLoading=!0;try{const s={current:this.trainingItemPage.current,size:this.trainingItemPage.size,parentId:this.currentTrainingParentId},r=n();r&&(s.tenantId=r);const o=Object.keys(s).filter((i=>null!==s[i]&&void 0!==s[i]&&""!==s[i])).map((i=>`${encodeURIComponent(i)}=${encodeURIComponent(s[i])}`)).join("&"),g=`${t.getApiUrl("/api/trainingItem/list")}?${o}`,d={};r&&(d["X-Tenant-Id"]=r);const h=await i.index.request({url:g,method:"GET",header:d,timeout:3e4});if(200===h.statusCode&&h.data&&h.data.success){const i=Array.isArray(h.data.data)?h.data.data:[];1===this.trainingItemPage.current||e?(this.trainingItemList=i,this.initTrainingItemAnswers(i)):(this.trainingItemList=this.trainingItemList.concat(i),this.initTrainingItemAnswers(i)),this.trainingItemTotal=Number(h.data.total)||0}else this.trainingItemList=[],this.trainingItemTotal=0,i.index.showToast({title:(null==(a=h.data)?void 0:a.message)||"获取陪练中列表失败",icon:"none"})}catch(s){console.error("获取陪练中列表失败:",s),i.index.showToast({title:"获取陪练中列表失败,请稍后重试",icon:"none"})}finally{this.trainingItemLoading=!1}}},formatDateTime(i){if(!i)return"";const t=new Date(i);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")}`},initTrainingItemAnswers(i){Array.isArray(i)&&i.forEach((i=>{i.id&&(this.trainingItemAnswers.hasOwnProperty(i.id)||this.$set(this.trainingItemAnswers,i.id,i.answer||""))}))},async handleContinue(e){var a,s;if(e&&e.id)if(this.currentTrainingParentId)try{i.index.showLoading({title:"提交中..."});const r=n(),o=this.trainingItemAnswers[e.id]||"",g={id:e.id,parentId:this.currentTrainingParentId,answer:o};r&&(g.tenantId=r);const d={"Content-Type":"application/json"};r&&(d["X-Tenant-Id"]=r);const h=await i.index.request({url:t.getApiUrl("/api/trainingItem/traningNext"),method:"POST",data:g,header:d,timeout:15e3});if(i.index.hideLoading(),200===h.statusCode&&h.data&&(h.data.success||200===h.data.code)){const t=Array.isArray(h.data.data)?h.data.data:[];if(t.length>0){const i=t[0],n=this.trainingItemList.findIndex((i=>i.id===e.id));if(-1!==n){const t=e.id;if(void 0!==i.question&&this.$set(this.trainingItemList[n],"question",i.question),void 0!==i.id&&this.$set(this.trainingItemList[n],"id",i.id),void 0!==i.parentId&&this.$set(this.trainingItemList[n],"parentId",i.parentId),i.id&&i.id!==t){const n=this.trainingItemAnswers[t]||"";this.$delete(this.trainingItemAnswers,t),this.$set(this.trainingItemAnswers,i.id,n)}else this.$set(this.trainingItemAnswers,e.id,"")}}i.index.showToast({title:(null==(a=h.data)?void 0:a.message)||"提交成功",icon:"success"})}else i.index.showToast({title:(null==(s=h.data)?void 0:s.message)||"提交失败",icon:"none"})}catch(r){i.index.hideLoading(),console.error("提交失败:",r),i.index.showToast({title:(null==r?void 0:r.message)||"提交失败,请重试",icon:"none"})}else i.index.showToast({title:"缺少父ID参数",icon:"none"});else i.index.showToast({title:"记录ID不能为空",icon:"none"})},async handleEnd(e){var a,s;if(this.currentTrainingParentId)try{i.index.showLoading({title:"提交中..."});const e=n(),r={parentId:this.currentTrainingParentId};e&&(r.tenantId=e);const o={"Content-Type":"application/json"};e&&(o["X-Tenant-Id"]=e);const g=await i.index.request({url:t.getApiUrl("/api/trainingItem/traningFinish"),method:"POST",data:r,header:o,timeout:15e3});i.index.hideLoading(),200===g.statusCode&&g.data&&(g.data.success||200===g.data.code)?(i.index.showToast({title:(null==(a=g.data)?void 0:a.message)||"提交成功",icon:"success"}),this.closeTrainingItemListPopup(),this.trainingPage.current=1,this.fetchTrainingList({force:!0}),this.$emit("refresh-training-list")):i.index.showToast({title:(null==(s=g.data)?void 0:s.message)||"提交失败",icon:"none"})}catch(r){i.index.hideLoading(),console.error("提交失败:",r),i.index.showToast({title:(null==r?void 0:r.message)||"提交失败,请重试",icon:"none"})}else i.index.showToast({title:"父ID不能为空",icon:"none"})}}};if(!Array){i.resolveComponent("uni-icons")()}Math;const a=i._export_sfc(e,[["render",function(t,n,e,a,s,r){return i.e({a:i.t(s.trainingTotal),b:i.t(-1===s.finishStatusIndex?"状态":s.finishStatusOptions[s.finishStatusIndex].label),c:i.n(-1===s.finishStatusIndex?"toolbar-picker-placeholder":"toolbar-picker-text"),d:i.p({type:"bottom",size:"14",color:"#999"}),e:s.finishStatusOptions,f:s.finishStatusIndex>=0?s.finishStatusIndex:0,g:i.o(((...i)=>r.onFinishStatusChange&&r.onFinishStatusChange(...i)),"d8"),h:i.o(((...i)=>r.onTrainingSearch&&r.onTrainingSearch(...i)),"3c"),i:s.trainingQuery.participantName,j:i.o((i=>s.trainingQuery.participantName=i.detail.value),"5c"),k:i.o(((...i)=>r.onTrainingSearch&&r.onTrainingSearch(...i)),"55"),l:s.trainingQuery.participantPhone,m:i.o((i=>s.trainingQuery.participantPhone=i.detail.value),"09"),n:i.p({type:"refresh",size:"18",color:"#2A68FF"}),o:i.o(((...i)=>r.onTrainingRefresh&&r.onTrainingRefresh(...i)),"e2"),p:i.f(s.trainingList,((t,n,e)=>i.e({a:i.t((t.title||"陪").charAt(0)),b:i.t(t.title||"未命名陪练"),c:"bc9c1527-2-"+e,d:i.o((i=>r.onTrainingActionBtnClick(t)),t.id||n),e:s.selectedTrainingItem&&s.selectedTrainingItem.id===t.id&&s.showTrainingActionMenu},s.selectedTrainingItem&&s.selectedTrainingItem.id===t.id&&s.showTrainingActionMenu?{f:i.o((i=>r.startTraining(t)),t.id||n),g:i.o((()=>{}),t.id||n)}:{},{h:t.scenario},t.scenario?{i:i.t(t.scenario)}:{},{j:t.participantName},t.participantName?{k:i.t(t.participantName)}:{},{l:t.participantPhone},t.participantPhone?{m:i.t(t.participantPhone)}:{},{n:t.finishStatus},t.finishStatus?{o:i.t(r.getFinishStatusLabel(t.finishStatus))}:{},{p:t.endTime},t.endTime?{q:i.t(r.formatDateTime(t.endTime))}:{},{r:t.id||n,s:s.selectedTrainingItem&&s.selectedTrainingItem.id===t.id?1:""}))),q:i.p({type:"more-filled",size:"20",color:"#999"}),r:!s.trainingLoading&&!s.trainingList.length},(s.trainingLoading||s.trainingList.length,{}),{s:s.trainingLoading&&s.trainingList.length},(s.trainingLoading&&s.trainingList.length,{}),{t:s.showTrainingActionMenu},s.showTrainingActionMenu?{v:i.o(((...i)=>r.closeTrainingActionMenu&&r.closeTrainingActionMenu(...i)),"ce")}:{},{w:i.o(((...i)=>r.onTrainingReachBottom&&r.onTrainingReachBottom(...i)),"c2"),x:s.showTrainingItemListPopup},s.showTrainingItemListPopup?{y:i.o(((...i)=>r.closeTrainingItemListPopup&&r.closeTrainingItemListPopup(...i)),"63")}:{},{z:s.showTrainingItemListPopup},s.showTrainingItemListPopup?i.e({A:i.p({type:"close",size:"20",color:"#999"}),B:i.o(((...i)=>r.closeTrainingItemListPopup&&r.closeTrainingItemListPopup(...i)),"8a"),C:i.f(s.trainingItemList,((t,n,e)=>i.e({a:i.t((t.question||"题").charAt(0)),b:i.t(t.question||"未命名题目"),c:t.answer},t.answer?{d:i.t(t.answer)}:{},{e:s.trainingItemAnswers[t.id],f:i.o((i=>s.trainingItemAnswers[t.id]=i.detail.value),t.id||n),g:i.o((i=>r.handleContinue(t)),t.id||n),h:i.o((i=>r.handleEnd(t)),t.id||n),i:t.id||n}))),D:!s.trainingItemLoading&&!s.trainingItemList.length},(s.trainingItemLoading||s.trainingItemList.length,{}),{E:s.trainingItemLoading&&s.trainingItemList.length},(s.trainingItemLoading&&s.trainingItemList.length,{}),{F:i.o(((...i)=>r.onTrainingItemListReachBottom&&r.onTrainingItemListReachBottom(...i)),"e4"),G:i.o((()=>{}),"1d")}):{})}],["__scopeId","data-v-bc9c1527"]]);wx.createComponent(a);