2 lines
23 KiB
JavaScript
2 lines
23 KiB
JavaScript
import{ad as e,ae as t,af as s,A as l,ag as i,ah as a,b as o,e as r,w as n,v as d,Q as c,a0 as u,N as h,g as p,ai as f,q as m,y,O as g,F as b,l as _,aj as x,_ as v,z as F,ak as k,G as w,H as P,d as I,r as T,o as S,al as $,am as C,j as M,k as L,an as O,a6 as j,ao as E,ap as D}from"./index-f6e54d8f.js";import{_ as V}from"./uni-card.fea6370f.js";import{L as U}from"./uni-cloud.es.9367344b.js";import{_ as A}from"./_plugin-vue_export-helper.1b428a4d.js";const B="chooseAndUploadFile:fail";function z(e,t){return e.tempFiles.forEach(((e,s)=>{e.name||(e.name=e.path.substring(e.path.lastIndexOf("/")+1)),t&&(e.fileType=t),e.cloudPath=Date.now()+"_"+s+e.name.substring(e.name.lastIndexOf("."))})),e.tempFilePaths||(e.tempFilePaths=e.tempFiles.map((e=>e.path))),e}function N(e,t=5,s){const l=(e=JSON.parse(JSON.stringify(e))).length;let i=0,a=this;return new Promise((o=>{for(;i<t;)r();function r(){let t=i++;if(t>=l)return void(!e.find((e=>!e.url&&!e.errMsg))&&o(e));const n=e[t],d=a.files.findIndex((e=>e.uuid===n.uuid));n.url="",delete n.errMsg,U.uploadFile({filePath:n.path,cloudPath:n.cloudPath,fileType:n.fileType,onUploadProgress:e=>{e.index=d,s&&s(e)}}).then((e=>{n.url=e.fileID,n.index=d,t<l&&r()})).catch((e=>{n.errMsg=e.errMsg||e.message,n.index=d,t<l&&r()}))}}))}function R(e,{onChooseFile:t,onUploadProgress:s}){return e.then((e=>{if(t){const s=t(e);if(void 0!==s)return Promise.resolve(s).then((t=>void 0===t?e:t))}return e})).then((e=>!1===e?{errMsg:"chooseAndUploadFile:ok",tempFilePaths:[],tempFiles:[]}:e))}function q(l={type:"all"}){return"image"===l.type?R(function(t){const{count:s,sizeType:l=["original","compressed"],sourceType:i,extension:a}=t;return new Promise(((t,o)=>{e({count:s,sizeType:l,sourceType:i,extension:a,success(e){t(z(e,"image"))},fail(e){o({errMsg:e.errMsg.replace("chooseImage:fail",B)})}})}))}(l),l):"video"===l.type?R(function(e){const{count:s,camera:l,compressed:i,maxDuration:a,sourceType:o,extension:r}=e;return new Promise(((e,s)=>{t({camera:l,compressed:i,maxDuration:a,sourceType:o,extension:r,success(t){const{tempFilePath:s,duration:l,size:i,height:a,width:o}=t;e(z({errMsg:"chooseVideo:ok",tempFilePaths:[s],tempFiles:[{name:t.tempFile&&t.tempFile.name||"",path:s,size:i,type:t.tempFile&&t.tempFile.type||"",width:o,height:a,duration:l,fileType:"video",cloudPath:""}]},"video"))},fail(e){s({errMsg:e.errMsg.replace("chooseVideo:fail",B)})}})}))}(l),l):R(function(e){const{count:t,extension:l}=e;return new Promise(((e,i)=>{let a=s;if("undefined"!=typeof wx&&"function"==typeof wx.chooseMessageFile&&(a=wx.chooseMessageFile),"function"!=typeof a)return i({errMsg:B+" 请指定 type 类型,该平台仅支持选择 image 或 video。"});a({type:"all",count:t,extension:l,success(t){e(z(t))},fail(e){i({errMsg:e.errMsg.replace("chooseFile:fail",B)})}})}))}(l),l)}const H=e=>{const t=e.lastIndexOf("."),s=e.length;return{name:e.substring(0,t),ext:e.substring(t+1,s)}},J=e=>{if(Array.isArray(e))return e;return e.replace(/(\[|\])/g,"").split(",")},X=async(e,t="image")=>{const s=H(e.name).ext.toLowerCase();let l={name:e.name,uuid:e.uuid,extname:s||"",cloudPath:e.cloudPath,fileType:e.fileType,thumbTempFilePath:e.thumbTempFilePath,url:e.path||e.path,size:e.size,image:{},path:e.path,video:{}};if("image"===t){const t=await(a=e.path,new Promise(((e,t)=>{i({src:a,success(t){e(t)},fail(e){t(e)}})})));delete l.video,l.image.width=t.width,l.image.height=t.height,l.image.location=t.path}else delete l.image;var a;return l};const G=A({name:"uniFilePicker",components:{uploadImage:A({name:"uploadImage",emits:["uploadFiles","choose","delFile"],props:{filesList:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1},disablePreview:{type:Boolean,default:!1},limit:{type:[Number,String],default:9},imageStyles:{type:Object,default:()=>({width:"auto",height:"auto",border:{}})},delIcon:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1}},computed:{styles(){return Object.assign({width:"auto",height:"auto",border:{}},this.imageStyles)},boxStyle(){const{width:e="auto",height:t="auto"}=this.styles;let s={};"auto"===t?"auto"!==e?(s.height=this.value2px(e),s["padding-top"]=0):s.height=0:(s.height=this.value2px(t),s["padding-top"]=0),s.width="auto"===e?"auto"!==t?this.value2px(t):"33.3%":this.value2px(e);let l="";for(let i in s)l+=`${i}:${s[i]};`;return l},borderStyle(){let{border:e}=this.styles,t={};if("boolean"==typeof e)t.border=e?"1px #eee solid":"none";else{let s=e&&e.width||1;s=this.value2px(s);let l=e&&e.radius||3;l=this.value2px(l),t={"border-width":s,"border-style":e&&e.style||"solid","border-color":e&&e.color||"#eee","border-radius":l}}let s="";for(let l in t)s+=`${l}:${t[l]};`;return s}},methods:{uploadFiles(e,t){this.$emit("uploadFiles",e)},choose(){this.$emit("choose")},delFile(e){this.$emit("delFile",e)},prviewImage(e,t){let s=[];1===Number(this.limit)&&this.disablePreview&&!this.disabled&&this.$emit("choose"),this.disablePreview||(this.filesList.forEach((e=>{s.push(e.url)})),a({urls:s,current:t}))},value2px:e=>("number"==typeof e?e+="px":-1===e.indexOf("%")&&(e=-1!==e.indexOf("px")?e:e+"px"),e)}},[["render",function(e,t,s,l,i,a){const v=b,F=_,k=x;return o(),r(F,{class:"uni-file-picker__container"},{default:n((()=>[(o(!0),d(c,null,u(s.filesList,((e,t)=>(o(),r(F,{class:"file-picker__box",key:t,style:h(a.boxStyle)},{default:n((()=>[p(F,{class:"file-picker__box-content",style:h(a.borderStyle)},{default:n((()=>[p(v,{class:"file-image",src:e.url,mode:"aspectFill",onClick:f((s=>a.prviewImage(e,t)),["stop"])},null,8,["src","onClick"]),s.delIcon&&!s.readonly?(o(),r(F,{key:0,class:"icon-del-box",onClick:f((e=>a.delFile(t)),["stop"])},{default:n((()=>[p(F,{class:"icon-del"}),p(F,{class:"icon-del rotate"})])),_:2},1032,["onClick"])):m("v-if",!0),e.progress&&100!==e.progress||0===e.progress?(o(),r(F,{key:1,class:"file-picker__progress"},{default:n((()=>[p(k,{class:"file-picker__progress-item",percent:-1===e.progress?0:e.progress,"stroke-width":"4",backgroundColor:e.errMsg?"#ff5a5f":"#EBEBEB"},null,8,["percent","backgroundColor"])])),_:2},1024)):m("v-if",!0),e.errMsg?(o(),r(F,{key:2,class:"file-picker__mask",onClick:f((s=>a.uploadFiles(e,t)),["stop"])},{default:n((()=>[y(" 点击重试 ")])),_:2},1032,["onClick"])):m("v-if",!0)])),_:2},1032,["style"])])),_:2},1032,["style"])))),128)),s.filesList.length<s.limit&&!s.readonly?(o(),r(F,{key:0,class:"file-picker__box",style:h(a.boxStyle)},{default:n((()=>[p(F,{class:"file-picker__box-content is-add",style:h(a.borderStyle),onClick:a.choose},{default:n((()=>[g(e.$slots,"default",{},(()=>[p(F,{class:"icon-add"}),p(F,{class:"icon-add rotate"})]),!0)])),_:3},8,["style","onClick"])])),_:3},8,["style"])):m("v-if",!0)])),_:3})}],["__scopeId","data-v-95b553db"]]),uploadFile:A({name:"uploadFile",emits:["uploadFiles","choose","delFile"],props:{filesList:{type:Array,default:()=>[]},delIcon:{type:Boolean,default:!0},limit:{type:[Number,String],default:9},showType:{type:String,default:""},listStyles:{type:Object,default:()=>({border:!0,dividline:!0,borderStyle:{}})},readonly:{type:Boolean,default:!1}},computed:{list(){let e=[];return this.filesList.forEach((t=>{e.push(t)})),e},styles(){return Object.assign({border:!0,dividline:!0,"border-style":{}},this.listStyles)},borderStyle(){let{borderStyle:e,border:t}=this.styles,s={};if(t){let t=e&&e.width||1;t=this.value2px(t);let l=e&&e.radius||5;l=this.value2px(l),s={"border-width":t,"border-style":e&&e.style||"solid","border-color":e&&e.color||"#eee","border-radius":l}}else s.border="none";let l="";for(let i in s)l+=`${i}:${s[i]};`;return l},borderLineStyle(){let e={},{borderStyle:t}=this.styles;if(t&&t.color&&(e["border-color"]=t.color),t&&t.width){let s=t&&t.width||1,l=t&&t.style||0;"number"==typeof s?s+="px":s=s.indexOf("px")?s:s+"px",e["border-width"]=s,"number"==typeof l?l+="px":l=l.indexOf("px")?l:l+"px",e["border-top-style"]=l}let s="";for(let l in e)s+=`${l}:${e[l]};`;return s}},methods:{uploadFiles(e,t){this.$emit("uploadFiles",{item:e,index:t})},choose(){this.$emit("choose")},delFile(e){this.$emit("delFile",e)},value2px:e=>("number"==typeof e?e+="px":e=-1!==e.indexOf("px")?e:e+"px",e)}},[["render",function(e,t,s,l,i,a){const b=_,k=x;return o(),r(b,{class:"uni-file-picker__files"},{default:n((()=>[s.readonly?m("v-if",!0):(o(),r(b,{key:0,class:"files-button",onClick:a.choose},{default:n((()=>[g(e.$slots,"default",{},void 0,!0)])),_:3},8,["onClick"])),m(" :class=\"{'is-text-box':showType === 'list'}\" "),a.list.length>0?(o(),r(b,{key:1,class:"uni-file-picker__lists is-text-box",style:h(a.borderStyle)},{default:n((()=>[m(" ,'is-list-card':showType === 'list-card' "),(o(!0),d(c,null,u(a.list,((e,t)=>(o(),r(b,{class:v(["uni-file-picker__lists-box",{"files-border":0!==t&&a.styles.dividline}]),key:t,style:h(0!==t&&a.styles.dividline&&a.borderLineStyle)},{default:n((()=>[p(b,{class:"uni-file-picker__item"},{default:n((()=>[m(" :class=\"{'is-text-image':showType === 'list'}\" "),m(' \t<view class="files__image is-text-image">\r\n\t\t\t\t\t\t<image class="header-image" :src="item.logo" mode="aspectFit"></image>\r\n\t\t\t\t\t</view> '),p(b,{class:"files__name"},{default:n((()=>[y(F(e.name),1)])),_:2},1024),s.delIcon&&!s.readonly?(o(),r(b,{key:0,class:"icon-del-box icon-files",onClick:e=>a.delFile(t)},{default:n((()=>[p(b,{class:"icon-del icon-files"}),p(b,{class:"icon-del rotate"})])),_:2},1032,["onClick"])):m("v-if",!0)])),_:2},1024),e.progress&&100!==e.progress||0===e.progress?(o(),r(b,{key:0,class:"file-picker__progress"},{default:n((()=>[p(k,{class:"file-picker__progress-item",percent:-1===e.progress?0:e.progress,"stroke-width":"4",backgroundColor:e.errMsg?"#ff5a5f":"#EBEBEB"},null,8,["percent","backgroundColor"])])),_:2},1024)):m("v-if",!0),"error"===e.status?(o(),r(b,{key:1,class:"file-picker__mask",onClick:f((s=>a.uploadFiles(e,t)),["stop"])},{default:n((()=>[y(" 点击重试 ")])),_:2},1032,["onClick"])):m("v-if",!0)])),_:2},1032,["class","style"])))),128))])),_:1},8,["style"])):m("v-if",!0)])),_:3})}],["__scopeId","data-v-d14b8cae"]])},options:{virtualHost:!0},emits:["select","success","fail","progress","delete","update:modelValue","input"],props:{modelValue:{type:[Array,Object],default:()=>[]},value:{type:[Array,Object],default:()=>[]},disabled:{type:Boolean,default:!1},disablePreview:{type:Boolean,default:!1},delIcon:{type:Boolean,default:!0},autoUpload:{type:Boolean,default:!0},limit:{type:[Number,String],default:9},mode:{type:String,default:"grid"},fileMediatype:{type:String,default:"image"},fileExtname:{type:[Array,String],default:()=>[]},title:{type:String,default:""},listStyles:{type:Object,default:()=>({border:!0,dividline:!0,borderStyle:{}})},imageStyles:{type:Object,default:()=>({width:"auto",height:"auto"})},readonly:{type:Boolean,default:!1},returnType:{type:String,default:"array"},sizeType:{type:Array,default:()=>["original","compressed"]},sourceType:{type:Array,default:()=>["album","camera"]},provider:{type:String,default:""}},data:()=>({files:[],localValue:[]}),watch:{value:{handler(e,t){this.setValue(e,t)},immediate:!0},modelValue:{handler(e,t){this.setValue(e,t)},immediate:!0}},computed:{filesList(){let e=[];return this.files.forEach((t=>{e.push(t)})),e},showType(){return"image"===this.fileMediatype?this.mode:"list"},limitLength(){return"object"===this.returnType?1:this.limit?this.limit>=9?9:this.limit:1}},created(){U.config&&U.config.provider||(this.noSpace=!0,U.chooseAndUploadFile=q),this.form=this.getForm("uniForms"),this.formItem=this.getForm("uniFormsItem"),this.form&&this.formItem&&this.formItem.name&&(this.rename=this.formItem.name,this.form.inputChildrens.push(this))},methods:{clearFiles(e){0===e||e?this.files.splice(e,1):(this.files=[],this.$nextTick((()=>{this.setEmit()}))),this.$nextTick((()=>{this.setEmit()}))},upload(){let e=[];return this.files.forEach(((t,s)=>{"ready"!==t.status&&"error"!==t.status||e.push(Object.assign({},t))})),this.uploadFiles(e)},async setValue(e,t){const s=async e=>{let t="";return t=e.fileID?e.fileID:e.url,/cloud:\/\/([\w.]+\/?)\S*/.test(t)&&(e.fileID=t,e.url=await this.getTempFileURL(t)),e.url&&(e.path=e.url),e};if("object"===this.returnType)e?await s(e):e={};else{e||(e=[]);for(let t=0;t<e.length;t++){let l=e[t];await s(l)}}this.localValue=e,this.form&&this.formItem&&!this.is_reset&&(this.is_reset=!1,this.formItem.setValue(this.localValue));let l=Object.keys(e).length>0?e:[];this.files=[].concat(l)},choose(){this.disabled||(this.files.length>=Number(this.limitLength)&&"grid"!==this.showType&&"array"===this.returnType?l({title:`您最多选择 ${this.limitLength} 个文件`,icon:"none"}):this.chooseFiles())},chooseFiles(){const e=J(this.fileExtname);U.chooseAndUploadFile({type:this.fileMediatype,compressed:!1,sizeType:this.sizeType,sourceType:this.sourceType,extension:e.length>0?e:void 0,count:this.limitLength-this.files.length,onChooseFile:this.chooseFileCallback,onUploadProgress:e=>{this.setProgress(e,e.index)}}).then((e=>{this.setSuccessAndError(e.tempFiles)})).catch((e=>{console.log("选择失败",e)}))},async chooseFileCallback(e){const t=J(this.fileExtname);(1===Number(this.limitLength)&&this.disablePreview&&!this.disabled||"object"===this.returnType)&&(this.files=[]);let{filePaths:s,files:i}=((e,t)=>{let s=[],i=[];return t&&0!==t.length?(e.tempFiles.forEach((e=>{const l=H(e.name).ext.toLowerCase();-1!==t.indexOf(l)&&(i.push(e),s.push(e.path))})),i.length!==e.tempFiles.length&&l({title:`当前选择了${e.tempFiles.length}个文件 ,${e.tempFiles.length-i.length} 个文件格式不正确`,icon:"none",duration:5e3}),{filePaths:s,files:i}):{filePaths:s,files:i}})(e,t);t&&t.length>0||(s=e.tempFilePaths,i=e.tempFiles);let a=[];for(let l=0;l<i.length&&!(this.limitLength-this.files.length<=0);l++){i[l].uuid=Date.now();let e=await X(i[l],this.fileMediatype);e.progress=0,e.status="ready",this.files.push(e),a.push({...e,file:i[l]})}this.$emit("select",{tempFiles:a,tempFilePaths:s}),e.tempFiles=i,this.autoUpload&&!this.noSpace||(e.tempFiles=[]),e.tempFiles.forEach(((e,t)=>{this.provider&&(e.provider=this.provider);const s=e.name.split("."),l=s.pop(),i=s.join(".").replace(/[\s\/\?<>\\:\*\|":]/g,"_");e.cloudPath=i+"_"+Date.now()+"_"+t+"."+l}))},uploadFiles(e){return e=[].concat(e),N.call(this,e,5,(e=>{this.setProgress(e,e.index,!0)})).then((e=>(this.setSuccessAndError(e),e))).catch((e=>{console.log(e)}))},async setSuccessAndError(e,t){let s=[],l=[],i=[],a=[];for(let o=0;o<e.length;o++){const t=e[o],r=t.uuid?this.files.findIndex((e=>e.uuid===t.uuid)):t.index;if(-1===r||!this.files)break;if("request:fail"===t.errMsg)this.files[r].url=t.path,this.files[r].status="error",this.files[r].errMsg=t.errMsg,l.push(this.files[r]),a.push(this.files[r].url);else{this.files[r].errMsg="",this.files[r].fileID=t.url;/cloud:\/\/([\w.]+\/?)\S*/.test(t.url)?this.files[r].url=await this.getTempFileURL(t.url):this.files[r].url=t.url,this.files[r].status="success",this.files[r].progress+=1,s.push(this.files[r]),i.push(this.files[r].fileID)}}s.length>0&&(this.setEmit(),this.$emit("success",{tempFiles:this.backObject(s),tempFilePaths:i})),l.length>0&&this.$emit("fail",{tempFiles:this.backObject(l),tempFilePaths:a})},setProgress(e,t,s){this.files.length;const l=Math.round(100*e.loaded/e.total);let i=t;s||(i=this.files.findIndex((t=>t.uuid===e.tempFile.uuid))),-1!==i&&this.files[i]&&(this.files[i].progress=l-1,this.$emit("progress",{index:i,progress:parseInt(l),tempFile:this.files[i]}))},delFile(e){this.$emit("delete",{index:e,tempFile:this.files[e],tempFilePath:this.files[e].url}),this.files.splice(e,1),this.$nextTick((()=>{this.setEmit()}))},getFileExt(e){const t=e.lastIndexOf("."),s=e.length;return{name:e.substring(0,t),ext:e.substring(t+1,s)}},setEmit(){let e=[];"object"===this.returnType?(e=this.backObject(this.files)[0],this.localValue=e||null):(e=this.backObject(this.files),this.localValue||(this.localValue=[]),this.localValue=[...e]),this.$emit("update:modelValue",this.localValue)},backObject(e){let t=[];return e.forEach((e=>{t.push({extname:e.extname,fileType:e.fileType,image:e.image,name:e.name,path:e.path,size:e.size,fileID:e.fileID,url:e.url,uuid:e.uuid,status:e.status,cloudPath:e.cloudPath})})),t},async getTempFileURL(e){e={fileList:[].concat(e)};return(await U.getTempFileURL(e)).fileList[0].tempFileURL||""},getForm(e="uniForms"){let t=this.$parent,s=t.$options.name;for(;s!==e;){if(t=t.$parent,!t)return!1;s=t.$options.name}return t}}},[["render",function(e,t,s,l,i,a){const d=w,c=_,u=k("upload-image"),h=P,f=k("upload-file");return o(),r(c,{class:"uni-file-picker"},{default:n((()=>[s.title?(o(),r(c,{key:0,class:"uni-file-picker__header"},{default:n((()=>[p(d,{class:"file-title"},{default:n((()=>[y(F(s.title),1)])),_:1}),p(d,{class:"file-count"},{default:n((()=>[y(F(a.filesList.length)+"/"+F(a.limitLength),1)])),_:1})])),_:1})):m("v-if",!0),"image"===s.fileMediatype&&"grid"===a.showType?(o(),r(u,{key:1,readonly:s.readonly,"image-styles":s.imageStyles,"files-list":a.filesList,limit:a.limitLength,disablePreview:s.disablePreview,delIcon:s.delIcon,onUploadFiles:a.uploadFiles,onChoose:a.choose,onDelFile:a.delFile},{default:n((()=>[g(e.$slots,"default",{},(()=>[p(c,{class:"is-add"},{default:n((()=>[p(c,{class:"icon-add"}),p(c,{class:"icon-add rotate"})])),_:1})]),!0)])),_:3},8,["readonly","image-styles","files-list","limit","disablePreview","delIcon","onUploadFiles","onChoose","onDelFile"])):m("v-if",!0),"image"!==s.fileMediatype||"grid"!==a.showType?(o(),r(f,{key:2,readonly:s.readonly,"list-styles":s.listStyles,"files-list":a.filesList,showType:a.showType,delIcon:s.delIcon,onUploadFiles:a.uploadFiles,onChoose:a.choose,onDelFile:a.delFile},{default:n((()=>[g(e.$slots,"default",{},(()=>[p(h,{type:"primary",size:"mini"},{default:n((()=>[y("选择文件")])),_:1})]),!0)])),_:3},8,["readonly","list-styles","files-list","showType","delIcon","onUploadFiles","onChoose","onDelFile"])):m("v-if",!0)])),_:3})}],["__scopeId","data-v-731ea2bd"]]),K=A(I({__name:"KeFuXunChaDetail",setup(e){const t=T(null),s=T(null),i=T([{id:1,text:"未按时上课",deduction:1,checked:!1},{id:2,text:"上课迟到",deduction:2,checked:!1},{id:3,text:"上课内容与教学计划不一致",deduction:1,checked:!1}]),a=T([]);S((e=>{var i;(null==e?void 0:e.id)?(t.value=e.id,console.log("接收到的巡查 ID:",t.value),t.value&&(i=t.value,console.log("模拟请求详情数据,ID:",i),s.value={id:parseInt(i),title:"机器人创客",teacher:"叶老师",location:"教学楼3楼",expected:18,actual:18,leave:0,absent:0,teachingPlan:["第一阶段:了解机器人的组成,知道每个零件的名称及用途,认识机器人的结构。","第二阶段:在老师的引导下,分组搭建机器人,注意引导幼儿理解机器人的数据线连接和遥控器方向的关系。","第三阶段:学会操控机器人的移动方向,并练习把魔方根据要求推到指定位置。","第四阶段:组织幼儿参加创客机器人比赛。"]})):(console.error("未接收到巡查 ID"),l({title:"加载失败,缺少参数",icon:"error"}))}));const h=e=>{console.log("上传成功:",e)},f=()=>{console.log("提交巡查记录");const e=i.value.filter((e=>e.checked));console.log("选中的巡查项目:",e),console.log("上传的文件:",a.value),$({title:"提交中..."}),setTimeout((()=>{C(),l({title:"提交成功",icon:"success"})}),1e3)};return(e,t)=>{const l=_,g=w,b=M(L("uni-card"),V),x=E,v=D,k=O,I=M(L("uni-file-picker"),G),T=j,S=P;return o(),r(l,{class:"detail-page-container"},{default:n((()=>[p(T,{"scroll-y":"",class:"main-content"},{default:n((()=>{var e;return[m(" 1. 顶部课程信息 (复用列表样式) "),s.value?(o(),r(b,{key:0,"is-shadow":!0,margin:"15px"},{default:n((()=>[p(l,{class:"inspection-item"},{default:n((()=>[p(l,{class:"item-top-row"},{default:n((()=>[p(l,{class:"item-image-placeholder"}),m(" 图片占位 "),p(l,{class:"item-content"},{default:n((()=>[p(g,{class:"item-title"},{default:n((()=>[y(F(s.value.title),1)])),_:1}),p(g,{class:"item-detail"},{default:n((()=>[y("开课老师: "+F(s.value.teacher),1)])),_:1}),p(g,{class:"item-detail"},{default:n((()=>[y("上课地点: "+F(s.value.location),1)])),_:1})])),_:1}),m(" 详情页不再需要检查按钮 "),m(' <view class="item-action">\n <text class="action-text">检查</text>\n </view> ')])),_:1}),p(l,{class:"item-stats"},{default:n((()=>[p(l,{class:"stat-item"},{default:n((()=>[p(g,{class:"stat-value"},{default:n((()=>[y(F(s.value.expected),1)])),_:1}),p(g,{class:"stat-label"},{default:n((()=>[y("应到")])),_:1})])),_:1}),p(l,{class:"stat-item"},{default:n((()=>[p(g,{class:"stat-value"},{default:n((()=>[y(F(s.value.actual),1)])),_:1}),p(g,{class:"stat-label"},{default:n((()=>[y("实到")])),_:1})])),_:1}),p(l,{class:"stat-item"},{default:n((()=>[p(g,{class:"stat-value leave"},{default:n((()=>[y(F(s.value.leave),1)])),_:1}),p(g,{class:"stat-label"},{default:n((()=>[y("请假")])),_:1})])),_:1}),p(l,{class:"stat-item"},{default:n((()=>[p(g,{class:"stat-value absent"},{default:n((()=>[y(F(s.value.absent),1)])),_:1}),p(g,{class:"stat-label"},{default:n((()=>[y("缺勤")])),_:1})])),_:1})])),_:1})])),_:1})])),_:1})):m("v-if",!0),m(" 2. 教学计划 "),(null==(e=s.value)?void 0:e.teachingPlan)?(o(),r(l,{key:1,class:"section teaching-plan"},{default:n((()=>[p(l,{class:"section-title-bar"},{default:n((()=>[p(l,{class:"decorator"}),p(g,{class:"title-text"},{default:n((()=>[y("教学计划")])),_:1})])),_:1}),p(b,{"is-shadow":!0,margin:"0 15px"},{default:n((()=>[p(l,{class:"plan-content"},{default:n((()=>[(o(!0),d(c,null,u(s.value.teachingPlan,((e,t)=>(o(),r(g,{key:t,class:"plan-text"},{default:n((()=>[y(F(e),1)])),_:2},1024)))),128))])),_:1})])),_:1})])),_:1})):m("v-if",!0),m(" 3. 巡查项目 "),p(l,{class:"section inspection-check-items"},{default:n((()=>[p(l,{class:"section-title-bar"},{default:n((()=>[p(l,{class:"decorator"}),p(g,{class:"title-text"},{default:n((()=>[y("巡查项目")])),_:1})])),_:1}),p(b,{"is-shadow":!0,margin:"0 15px"},{default:n((()=>[p(k,{class:"check-list"},{default:n((()=>[(o(!0),d(c,null,u(i.value,(e=>(o(),r(v,{key:e.id,class:"check-item"},{default:n((()=>[p(l,{class:"item-info"},{default:n((()=>[p(g,{class:"item-text"},{default:n((()=>[y(F(e.id)+"、"+F(e.text),1)])),_:2},1024),p(g,{class:"item-deduction"},{default:n((()=>[y("扣"+F(e.deduction)+"分",1)])),_:2},1024)])),_:2},1024),p(x,{value:String(e.id),checked:e.checked,onClick:t=>e.checked=!e.checked,color:"#447ade",style:{transform:"scale(0.8)"}},null,8,["value","checked","onClick"])])),_:2},1024)))),128))])),_:1})])),_:1})])),_:1}),m(" 4. 拍照上传 "),p(l,{class:"section photo-upload"},{default:n((()=>[p(l,{class:"section-title-bar"},{default:n((()=>[p(l,{class:"decorator"}),p(g,{class:"title-text"},{default:n((()=>[y("拍照上传")])),_:1})])),_:1}),p(b,{"is-shadow":!0,margin:"0 15px"},{default:n((()=>[p(l,{class:"upload-area"},{default:n((()=>[m(" 这里放置 uni-file-picker 或其他上传组件 "),p(I,{modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=e=>a.value=e),fileMediatype:"image",mode:"grid",limit:3,onSuccess:h},null,8,["modelValue"])])),_:1})])),_:1})])),_:1})]})),_:1}),m(" 底部提交按钮 "),p(l,{class:"footer-submit"},{default:n((()=>[p(S,{class:"submit-button",onClick:f},{default:n((()=>[y("提交")])),_:1})])),_:1})])),_:1})}}}),[["__scopeId","data-v-54cbebfa"]]);export{K as default};
|