zhxy-jsd/dist/build/h5/assets/pages-view-notice-publish.b197cc33.js
2025-05-21 02:44:13 +08:00

2 lines
9.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{d as e,r as a,m as t,n as l,o as s,a1 as o,b as i,e as n,w as c,g as r,y as d,z as u,v as m,a0 as g,Q as p,h as f,_,q as v,af as h,A as y,$ as C,al as b,am as k,V as w,G as T,l as I,j as z,k as V,aq as x,H as j,a6 as N}from"./index-f6e54d8f.js";import{_ as U}from"./uni-icons.7467b650.js";import{_ as q,a as F}from"./uni-datetime-picker.abd2526b.js";import{_ as P}from"./Layout.7385e6f6.js";import{C as S}from"./CustomUpload.126caa48.js";import{_ as $}from"./_plugin-vue_export-helper.1b428a4d.js";import"./uni-popup.1c525271.js";const R=$(e({__name:"publish",setup(e){const $=a(null),R=a(!1),A=t({title:"",content:"",coverImage:null,attachments:[],targetClass:"",targetNames:[],targetStudentIds:[],signatureRequired:!1,startTime:"",endTime:""}),B=["不启用","启用"],H=l((()=>A.signatureRequired?"启用":"不启用")),L=a([{id:"g1c1",name:"一年级1班"},{id:"g1c2",name:"一年级2班"},{id:"g1c3",name:"一年级3班"},{id:"g1c4",name:"一年级4班"},{id:"g1c5",name:"一年级5班"},{id:"g2c1",name:"二年级1班"},{id:"g2c2",name:"二年级2班"},{id:"g2c3",name:"二年级3班"},{id:"g3c1",name:"三年级1班"},{id:"g3c2",name:"三年级2班"},{id:"g3c3",name:"三年级3班"},{id:"g3c4",name:"三年级4班"},{id:"g4c1",name:"四年级1班"},{id:"g4c2",name:"四年级2班"},{id:"g5c1",name:"五年级1班"},{id:"g5c2",name:"五年级2班"},{id:"g5c3",name:"五年级3班"},{id:"g6c1",name:"六年级1班"},{id:"g6c2",name:"六年级2班"}]),M=l((()=>L.value.map((e=>e.name)))),W=l((()=>{const e=L.value.findIndex((e=>e.name===A.targetClass));return e>=0?e:0})),Q=async e=>{console.log(`模拟获取班级 [${e}] 的学生列表...`),R.value=!0,await new Promise((e=>setTimeout(e,400)));return R.value=!1,["施延兴","安苒溪","罗浩晨","康萌","范文昊","丁贺祥","韦运昊","萧润丽","谢林","鲍泽远","杨俊"]};s((e=>{e&&e.id?($.value=e.id,o({title:"编辑通知"}),A.title="关于五一放假的通知 (编辑)",A.content="根据校历安排现将2024年五一劳动节放假安排通知如下...",A.targetClass="二年级1班",A.targetNames=["张三","李四"],A.targetStudentIds=["s201-mock","s202-mock"],A.signatureRequired=!0,A.startTime="2024-04-30 18:00:00",A.endTime="2024-05-05 23:59:59",A.targetClass&&$.value&&Q(A.targetClass).then((e=>{A.targetNames=e}))):o({title:"发布通知"})}));const E=e=>{console.log("选择封面 (CustomUpload):",e),e.tempFilePaths&&e.tempFilePaths.length>0?(A.coverImage=e.tempFilePaths[0],console.log("封面临时路径:",A.coverImage)):console.error("无法从选择事件中获取封面路径:",e)},G=e=>{console.log(`删除封面 (CustomUpload): field=${e}`),"coverImage"===e&&(A.coverImage=null)},D=()=>{h({count:5,type:"all",success:e=>{const a=e.tempFiles;Array.isArray(a)&&a.length>0?a.forEach((e=>{var a;let t="file";const l=e.name||"",s=null==(a=l.split(".").pop())?void 0:a.toLowerCase();["png","jpg","jpeg","gif","bmp","webp"].includes(s||"")?t="image":["mp4","mov","avi","wmv","flv"].includes(s||"")?t="video":["mp3","wav","aac","ogg"].includes(s||"")&&(t="audio"),e.type&&"string"==typeof e.type&&(e.type.startsWith("image/")||e.type.startsWith("video/")||e.type.startsWith("audio/"))&&(t=e.type.split("/")[0]),A.attachments.push({name:l,type:t,url:e.path,size:e.size})})):console.log("未选择任何文件或返回结果异常,或 tempFiles 不是数组")},fail:e=>{console.error("选择附件失败:",e),e.errMsg&&!e.errMsg.includes("cancel")&&y({title:"选择附件失败",icon:"none"})}})},J=async e=>{const a=e.detail.value,t=L.value[a];if(t&&t.name!==A.targetClass){A.targetClass=t.name,A.targetNames=[],A.targetStudentIds=[];try{const e=await Q(A.targetClass);A.targetNames=e}catch(l){console.error("获取学生列表失败:",l),y({title:"获取学生列表失败",icon:"none"})}}},K=()=>{const e=L.value.find((e=>e.name===A.targetClass));if(!e)return void y({title:"请先选择班级",icon:"none"});const a=e.id;C({url:`/pages/view/notice/selectStudents?classId=${a}`})},O=e=>{const a=e.detail.value;A.signatureRequired=1==a},X=()=>A.title.trim()?A.content.trim()?!(A.startTime&&A.endTime&&A.startTime>=A.endTime)||(y({title:"结束时间必须晚于开始时间",icon:"none"}),!1):(y({title:"请输入通知内容",icon:"none"}),!1):(y({title:"请输入通知标题",icon:"none"}),!1),Y=()=>{X()&&(console.log("保存草稿",A),y({title:"草稿保存成功 (模拟)",icon:"success"}))},Z=()=>{X()&&(console.log("预览通知",A),y({title:"预览功能待实现",icon:"none"}))},ee=()=>{X()&&(console.log("发布通知",A),b({title:"发布中..."}),setTimeout((()=>{k(),y({title:"发布成功 (模拟)",icon:"success"}),w()}),1e3))};return(e,a)=>{const t=T,l=I,s=z(V("uni-icons"),U),o=z(V("uni-easyinput"),q),h=x,C=j,b=z(V("uni-datetime-picker"),F),k=N,w=z(V("BasicLayout"),P);return i(),n(w,null,{bottom:c((()=>[r(l,{class:"bottom-actions"},{default:c((()=>[r(C,{class:"action-btn draft-btn",onClick:Y},{default:c((()=>[d("保存草稿")])),_:1}),r(C,{class:"action-btn preview-btn",onClick:Z},{default:c((()=>[d(" 预览 ")])),_:1}),r(C,{class:"action-btn publish-btn",onClick:ee},{default:c((()=>[d(" 立即发布 ")])),_:1})])),_:1})])),default:c((()=>[r(k,{"scroll-y":"",class:"form-scroll-view"},{default:c((()=>[r(l,{class:"form-container"},{default:c((()=>[r(l,{class:"info-card main-content-card"},{default:c((()=>[r(l,{class:"form-item cover-section"},{default:c((()=>[r(l,{class:"cover-header"},{default:c((()=>[r(t,{class:"form-label"},{default:c((()=>[d("封面")])),_:1}),r(t,{class:"cover-hint"},{default:c((()=>[d("建议尺寸xxx")])),_:1}),r(t,{class:"cover-counter"},{default:c((()=>[d(u(A.coverImage?1:0)+"/1",1)])),_:1})])),_:1}),r(l,{class:"cover-upload-wrapper"},{default:c((()=>[r(S,{field:"coverImage",value:A.coverImage,onSelect:E,onClose:G},{default:c((()=>[r(l,{class:"cover-placeholder"},{default:c((()=>[r(s,{type:"image",size:"40",color:"#b0b0b0"}),r(t,null,{default:c((()=>[d("添加封面")])),_:1})])),_:1})])),_:1},8,["value"])])),_:1})])),_:1}),r(l,{class:"form-item"},{default:c((()=>[r(o,{type:"textarea",autoHeight:"",modelValue:A.title,"onUpdate:modelValue":a[0]||(a[0]=e=>A.title=e),placeholder:"请输入通知标题 (必填)",inputBorder:!1,"placeholder-style":"font-weight:bold; font-size: 18px; color: #999;",class:"title-input"},null,8,["modelValue"])])),_:1}),r(l,{class:"form-item"},{default:c((()=>[r(o,{type:"textarea",autoHeight:"",modelValue:A.content,"onUpdate:modelValue":a[1]||(a[1]=e=>A.content=e),placeholder:"请输入通知内容 (必填)",inputBorder:!1,class:"content-input"},null,8,["modelValue"])])),_:1}),r(l,{class:"form-item attachments-section"},{default:c((()=>[r(t,{class:"form-label"},{default:c((()=>[d("附件")])),_:1}),r(l,{class:"attachment-list"},{default:c((()=>[(i(!0),m(p,null,g(A.attachments,((e,a)=>(i(),n(l,{key:a,class:"attachment-item"},{default:c((()=>{return[r(s,{type:(l=e.type,"image"===l?"image":"video"===l?"videocam":"audio"===l?"mic":"paperclip"),size:"20",color:"#666",class:"attachment-icon"},null,8,["type"]),r(t,{class:"attachment-name",onClick:a=>{return t=e,console.log("预览附件:",t),void y({title:`预览 ${t.name} 功能待实现`,icon:"none"});var t}},{default:c((()=>[d(u(e.name),1)])),_:2},1032,["onClick"]),r(s,{type:"closeempty",size:"18",color:"#999",class:"remove-icon",onClick:e=>(e=>{A.attachments.splice(e,1)})(a)},null,8,["onClick"])];var l})),_:2},1024)))),128))])),_:1}),r(l,{class:"add-attachment-placeholder",onClick:D},{default:c((()=>[r(l,{class:"add-icon"},{default:c((()=>[r(s,{type:"plusempty",size:"20",color:"#ccc"})])),_:1}),r(t,{class:"placeholder-text"},{default:c((()=>[d("添加图文/视频/文件/公众号/小程序等")])),_:1})])),_:1})])),_:1})])),_:1}),r(l,{class:"info-card"},{default:c((()=>[r(h,{mode:"selector",range:f(M),value:f(W),onChange:J},{default:c((()=>[r(l,{class:"card-header picker-header"},{default:c((()=>[r(t,{class:"section-title"},{default:c((()=>[d("按名单填写")])),_:1}),r(l,{class:"target-class"},{default:c((()=>[r(t,{class:_({placeholder:!A.targetClass})},{default:c((()=>[d(u(A.targetClass||"请选择班级"),1)])),_:1},8,["class"]),r(s,{type:"right",size:"16",color:"#999"})])),_:1})])),_:1})])),_:1},8,["range","value"]),r(l,{class:"name-tags"},{default:c((()=>[(i(!0),m(p,null,g(A.targetNames,(e=>(i(),n(t,{key:e,class:"name-tag"},{default:c((()=>[d(u(e),1)])),_:2},1024)))),128)),A.targetNames.length>0?(i(),n(C,{key:0,size:"mini",type:"default",class:"modify-btn",onClick:K},{default:c((()=>[d(" 修改 ")])),_:1})):v("v-if",!0)])),_:1})])),_:1}),r(l,{class:"info-card list-item-card"},{default:c((()=>[r(h,{mode:"selector",range:B,onChange:O},{default:c((()=>[r(l,{class:"list-item-row"},{default:c((()=>[r(t,{class:"list-label"},{default:c((()=>[d("按名单签字")])),_:1}),r(l,{class:"list-value"},{default:c((()=>[r(t,null,{default:c((()=>[d(u(f(H)),1)])),_:1}),r(s,{type:"right",size:"16",color:"#999"})])),_:1})])),_:1})])),_:1})])),_:1}),r(l,{class:"info-card list-item-card"},{default:c((()=>[r(b,{type:"datetime",modelValue:A.startTime,"onUpdate:modelValue":a[2]||(a[2]=e=>A.startTime=e)},{default:c((()=>[r(l,{class:"list-item-row"},{default:c((()=>[r(t,{class:"list-label"},{default:c((()=>[d("开始时间")])),_:1}),r(l,{class:"list-value"},{default:c((()=>[r(t,null,{default:c((()=>[d(u(A.startTime||"请选择"),1)])),_:1}),r(s,{type:"right",size:"16",color:"#999"})])),_:1})])),_:1})])),_:1},8,["modelValue"]),r(b,{type:"datetime",modelValue:A.endTime,"onUpdate:modelValue":a[3]||(a[3]=e=>A.endTime=e)},{default:c((()=>[r(l,{class:"list-item-row no-border"},{default:c((()=>[r(t,{class:"list-label"},{default:c((()=>[d("结束时间")])),_:1}),r(l,{class:"list-value"},{default:c((()=>[r(t,null,{default:c((()=>[d(u(A.endTime||"请选择"),1)])),_:1}),r(s,{type:"right",size:"16",color:"#999"})])),_:1})])),_:1})])),_:1},8,["modelValue"])])),_:1})])),_:1})])),_:1})])),_:1})}}}),[["__scopeId","data-v-416aad25"]]);export{R as default};