zxl
4 天以前 874e9cce3b2f9b6649ab72047d98e4244a345b3c
1
2
"use strict";const e=require("../../common/vendor.js"),d=require("../../api/report/report.js"),m=require("../../api/index/index.js"),u=require("../../utils/date.js"),h=()=>"../../components/BottomTabBar.js",_={components:{BottomTabBar:h},data(){return{showPopup:!1,projectIndex:-1,selectedDate:u.formatCalendarDate(new Date),reportTitle:"提交上报",reports:[],allProjects:[],reportForm:{id:"",projectId:"",content:"",fileUrl:[]},reportRules:{projectId:{rules:[{required:!0,errorMessage:"请选择项目"}]},content:{rules:[{required:!0,errorMessage:"请输入上报内容"}]}}}},computed:{projectOptions(){return this.allProjects.map(t=>({value:t.id,text:t.name}))},isViewOnly(){return this.reportTitle==="查看上报"}},onLoad(){this.initData()},methods:{async initData(){try{const t=await m.getProjectSelectList();t.statusCode===200&&(this.allProjects=Object.entries(t.data.data).map(([i,s])=>({id:i,name:s}))),this.getReportList()}catch(t){e.index.__f__("error","at subpackage/manager/report.vue:175",t),this.allProjects=[]}},async getReportList(){try{const{startTime:t,endTime:i}=u.getDayStartAndEnd(this.selectedDate),s={startTime:t,endTime:i,projectId:"all"},a=await d.reportByDate(s);a.statusCode===200&&(this.reports=a.data.data||[])}catch(t){e.index.__f__("error","at subpackage/manager/report.vue:192",t),this.reports=[]}},onDateChange(t){this.selectedDate=t,this.getReportList()},getProjectName(t){const i=this.allProjects.find(s=>s.id==t);return i?i.name:"未知项目"},getStatusText(t){return{PendingReview:"待审核",Approved:"已通过",Rejected:"已拒绝"}[t]||t||"待审核"},onProjectChange(t){this.projectIndex=t.detail.value,this.reportForm.projectId=this.allProjects[this.projectIndex].id},handleUpload(){e.index.chooseMessageFile({count:1,type:"all",success:async t=>{const i=t.tempFiles[0].path;e.index.__f__("log","at subpackage/manager/report.vue:223","选择文件成功:",i),e.index.showLoading({title:"上传中..."});try{const a=(await d.uploadFile(i)).data;a.code===200?(this.reportForm.fileUrl.push(a.url),e.index.showToast({title:"上传成功"})):e.index.showToast({title:a.msg||"上传失败",icon:"none"})}catch(s){e.index.__f__("error","at subpackage/manager/report.vue:235","上传失败详情:",s),e.index.showToast({title:"上传失败",icon:"none"})}finally{e.index.hideLoading()}},fail:t=>{e.index.__f__("error","at subpackage/manager/report.vue:242","选择文件失败:",t)}})},removeFile(t){this.reportForm.fileUrl.splice(t,1)},isImage(t){if(!t)return!1;const i=t.split(".").pop().toLowerCase();return["jpg","jpeg","png","gif","webp"].includes(i)},previewImage(t){const i=this.reportForm.fileUrl.filter(s=>this.isImage(s));e.index.previewImage({current:t,urls:i})},downloadFile(t){e.index.showLoading({title:"文件打开中..."});const i=t.split(".").pop().toLowerCase();e.index.downloadFile({url:t,success:s=>{if(s.statusCode===200){const a=s.tempFilePath;e.index.openDocument({filePath:a,fileType:i,showMenu:!0,success:()=>{e.index.__f__("log","at subpackage/manager/report.vue:277","打开文档成功")},fail:n=>{e.index.showToast({title:"打开失败,请检查手机是否安装相关应用",icon:"none"}),e.index.__f__("error","at subpackage/manager/report.vue:281","打开文档失败:",n)}})}},fail:s=>{e.index.showToast({title:"下载失败",icon:"none"}),e.index.__f__("error","at subpackage/manager/report.vue:288","下载文件失败:",s)},complete:()=>{e.index.hideLoading()}})},handleAddReport(){this.reportTitle="提交上报",this.resetReportForm(),this.showPopup=!0},handleEditReport(t){this.reportTitle="查看上报",this.reportForm={id:t.id,projectId:t.projectId,content:t.title,fileUrl:t.fileUrl||[]},this.projectIndex=this.allProjects.findIndex(i=>i.id==t.projectId),typeof t.fileUrl=="string"&&t.fileUrl?this.reportForm.fileUrl=t.fileUrl.split(","):this.reportForm.fileUrl=Array.isArray(t.fileUrl)?t.fileUrl:[],this.showPopup=!0},async handleReturn(t){e.index.showModal({title:"提示",content:"确定要撤回该上报吗?",success:async i=>{if(i.confirm)try{(await d.delReport(t.id)).statusCode===200&&(e.index.showToast({title:"撤回成功"}),this.getReportList())}catch(s){e.index.__f__("error","at subpackage/manager/report.vue:333",s)}}})},closePopup(){this.showPopup=!1},resetReportForm(){this.reportForm={id:"",projectId:"",content:"",fileUrl:[]},this.projectIndex=-1},async submitReport(){if(!this.reportForm.projectId){e.index.showToast({title:"请选择项目",icon:"none"});return}if(!this.reportForm.content){e.index.showToast({title:"请输入上报内容",icon:"none"});return}try{const t=this.allProjects.find(a=>a.id==this.reportForm.projectId),i={projectId:Number(this.reportForm.projectId),content:this.reportForm.content,projectName:t.name,fileUrl:this.reportForm.fileUrl};e.index.__f__("log","at subpackage/manager/report.vue:369",i),(await d.addReport(i)).statusCode===200&&(e.index.showToast({title:"上报成功"}),this.closePopup(),this.getReportList())}catch(t){e.index.__f__("error","at subpackage/manager/report.vue:377",t)}}}};if(!Array){const t=e.resolveComponent("uni-datetime-picker"),i=e.resolveComponent("uni-icons"),s=e.resolveComponent("BottomTabBar");(t+i+s)()}const f=()=>"../../uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.js",g=()=>"../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";Math||(f+g)();function y(t,i,s,a,n,r){return e.e({a:e.o(r.onDateChange),b:e.o(o=>n.selectedDate=o),c:e.p({type:"date",modelValue:n.selectedDate}),d:e.o(o=>r.handleAddReport()),e:n.reports.length===0},n.reports.length===0?{}:{},{f:e.f(n.reports,(o,l,p)=>({a:e.t(r.getProjectName(o.projectId)),b:e.t(o.time),c:e.t(o.title),d:e.t(r.getStatusText(o.status)),e:e.n(o.status),f:e.o(c=>r.handleEditReport(o),o.id),g:e.o(c=>r.handleReturn(o),o.id),h:o.status!=="PendingReview",i:o.id})),g:n.showPopup},n.showPopup?e.e({h:e.t(n.reportTitle),i:e.o(r.closePopup),j:e.p({type:"closeempty",size:"24"}),k:!r.isViewOnly},r.isViewOnly?{}:{},{l:e.t(n.projectIndex>-1?n.allProjects[n.projectIndex].name:"请选择项目"),m:r.isViewOnly?1:"",n:e.o((...o)=>r.onProjectChange&&r.onProjectChange(...o)),o:n.projectIndex,p:n.allProjects,q:r.isViewOnly,r:!r.isViewOnly},r.isViewOnly?{}:{},{s:r.isViewOnly?1:"",t:r.isViewOnly,v:n.reportForm.content,w:e.o(o=>n.reportForm.content=o.detail.value),x:n.reportForm.fileUrl&&n.reportForm.fileUrl.length>0},n.reportForm.fileUrl&&n.reportForm.fileUrl.length>0?e.e({y:e.f(n.reportForm.fileUrl,(o,l,p)=>e.e({a:r.isImage(o)},r.isImage(o)?e.e({b:o,c:e.o(c=>r.previewImage(o),l),d:!r.isViewOnly},r.isViewOnly?{}:{e:"a5b43171-2-"+p,f:e.p({type:"closeempty",size:"14",color:"#fff"}),g:e.o(c=>r.removeFile(l),l)}):e.e({h:"a5b43171-3-"+p,i:e.p({type:"images",size:"40",color:"#999"}),j:e.o(c=>r.downloadFile(o),l),k:!r.isViewOnly},r.isViewOnly?{}:{l:"a5b43171-4-"+p,m:e.p({type:"closeempty",size:"14",color:"#fff"}),n:e.o(c=>r.removeFile(l),l)}),{o:l})),z:!r.isViewOnly},r.isViewOnly?{}:{A:e.p({type:"plusempty",size:"24",color:"#999"}),B:e.o((...o)=>r.handleUpload&&r.handleUpload(...o))}):r.isViewOnly?{}:{D:e.p({type:"plusempty",size:"20",color:"#999"}),E:e.o((...o)=>r.handleUpload&&r.handleUpload(...o))},{C:!r.isViewOnly,F:!r.isViewOnly},r.isViewOnly?{}:{G:e.o((...o)=>r.submitReport&&r.submitReport(...o))},{H:e.o(()=>{}),I:e.o((...o)=>r.closePopup&&r.closePopup(...o))}):{},{J:e.p({active:"report"})})}const j=e._export_sfc(_,[["render",y],["__scopeId","data-v-a5b43171"]]);wx.createPage(j);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/subpackage/manager/report.js.map